Zum Inhalt springen

Diskussion:Bytecode

Seiteninhalte werden in anderen Sprachen nicht unterstützt.
aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 6. Januar 2006 um 22:46 Uhr durch Daniel Bovensiepen (Diskussion | Beiträge) (typo). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Bytecode meint immer VM-Code?

Hey leute, seid Ihr euch sicher, dass mit dem Begriff Bytecode immer Code für eine VM gemeint ist? Wie heißt dann die Mischform in ausführbaren Dateien, die Maschinencode und Code, der Betriebssystemfunktionen aufruft, enthält? --Supaari bla!bla! 20:30, 10. Sep 2004 (CEST)

Die Angaben sind jetzt deutlich Präziser. Ein Gute Schritt, für eine Einleitung wird das ganze aber jetzt schon etwas lang.--tstrauss 22:33, 18. Okt 2004 (CEST)

__________________________________________________________________

Wie es zu dem Begriff Beyte-Code kam, und wo er herkommt, wäre zu belegen. Die Vermutung, daß der Token-Interpreter einer VM mit einem Beyte vollständig Adressierbar ist, dürfte von der jeweiligen VM abhängen. Aber die üblichen VMs sind keine Tokeninterpreter und ihre Befehle, nicht nur beyte-groß. So daß der Begriff, Beyte-Code bestenfalls historisch begründet, aber nicht zutreffend ist.

Nach den abgegebenen Erklärungen im Artikel BeyteCode, wäre es besser von VM-Code, oder auch virtuelen Code zu sprechen.

Noch ein anderer Aspekt: Einen Interpreter kann ich, abstrakt betrachtet, zu einen "Bedingten indirekten Sprung" vereinfachen. Wobei moderne Interpretersprachen erst durch mehrfach indirekte Verknüpfungen implementierbar sind. Es sind also vergleichsweise zum Mehrpass-Compiler, Mehrpass-Interpreter.

Wenn man nun einen Teil der indirekten Verknüpfungen, nicht erst zur Laufzeit auflöst, sondern schon vorher, findet definitionsgemäß eine Compilation statt. Der so entstandene Code, ist kein Quellcode mehr, aber auch noch kein Maschinencode. Er muß noch von einer, nun einfacheren und damit auch schnelleren virtuellen Maschine zur Laufzeit interpretiert werden. Ich denke, das ist es, was Ihr BeyteCode nennt. Und ich lieber VM-Code, oder auch virtuellen Maschienencode heiße.

       py_thom@yahoo.de

Bytecode in Assembler

Ist es auch möglich Bytecode in eine beliebige Assemblersprache zu übersetzen?

Da eine VM Intern den Bytecode interpretiert und Ihn auf einer Maschine ausführt ist dieser Schritt unumgänglich. Alles was auf einer Maschine läuft, muss in Maschinensprache (vereinfacht Assembler) übersetzt werden können --Daniel Bovensiepen 21:45, 6. Jan 2006 (CET)