Zitat von
mgero:
oder Pascal Script von remobjects
Nein. Alle gelisteten Interpreter erzeugen (meines Wissens nach, hab mir nicht alle angesehen - DWS fehlt mir noch
) keinen Maschinencode. Sie
interpretieren lediglich einen Pascal-Code, der ihnen zugeworfen wird. Dazu wandeln sie den Code in Bytecode um, der abgearbeitet wird - von ganz normalen Methoden. .NET macht das ähnlich, allerdings hängt dort hinter dem Bytecode ein JIT-Compiler, der wirklich Maschinencode erzeugt.
Das einzig Maschinencodige(^^) am ROPS zum Beispiel ist der Stackaufbau für Funktionsaufrufe. Allein deswegen kann man aus ROPS Funktionen aufrufen, die kein festgelegtes Parameterformat haben - man übergibt ROPS die Parameter und entsprechend baut der Interpreter den Stack auf.
Beim JvInterpreter zum Beispiel hat eine Funktion, die in den Interpreter geklinkt wird, einen Arrayparameter, in dem alle Parameter drin sind, die im Interpreter in die Funktion geworfen werden.
Ist jetzt zwar bisschen Eigenlob und Promotion, aber seis drum
:
HAM mit dem Assembler-Plugin und der
ECQP erzeugen wirklich Maschinencode
lg, Dax
PS: haut mich bitte nicht, falls ich damit falsch liege, es ist schon ne Weile her, das ich mit die Interpreter angekuckt hab. Korrigieren ist viel netter ^^