Die Scriptengine und das Parsen
2 verfasser
Seite 1 von 1
Die Scriptengine und das Parsen
Mir sind zwei unschöne Sachen beim Script-Parsing aufgefallen :/ (Eig. beim Debugging):
- Fehlt ein Semikolon bei einer Anweisung, meldet die Engine in der nächsten Zeile ungültige Symbole
- Schließt man zu wenig Blöcke (if{} innerhalb einer Methode, wird sie gar nicht erst ausgeführt (!!). Schließt man zuviele, gibt es eine nicht abgefangene Zugriffsverletzung. Ersteres hat mich mindestens ne halbe Stunde vergebliches Rumprobieren gekostet.
- Fehlt ein Semikolon bei einer Anweisung, meldet die Engine in der nächsten Zeile ungültige Symbole
- Schließt man zu wenig Blöcke (if{} innerhalb einer Methode, wird sie gar nicht erst ausgeführt (!!). Schließt man zuviele, gibt es eine nicht abgefangene Zugriffsverletzung. Ersteres hat mich mindestens ne halbe Stunde vergebliches Rumprobieren gekostet.
Re: Die Scriptengine und das Parsen
ich arbeite grad an 'ner komplett neuen Sprache, aber mit dem alten gwX-Script Compiler kannst du dich vlt. mal befassen. Im Prinzip ist nur der Parser etwas unausgereift. Dieser Speichert sein Ergebnis in folgende Klasse:
- Code:
Tknoten = class (Tcomponent)
public
typ:Ttyp;
index,line:integer;
token:string;
elements:array of Tknoten;
above:Tknoten;
procedure parse(s:pchar);
procedure ordne(a:Tknoten);
procedure ordne_;
function compile(fn:Tfunktion;r:reg;rr:regs):string; cdecl;
destructor destroy; override;
end;
Carli- Admin
- Anzahl der Beiträge : 1001
Anmeldedatum : 02.01.09
Seite 1 von 1
Befugnisse in diesem Forum
Sie können in diesem Forum nicht antworten
|
|