Forum: Programmieren allgemein
Delphi
by 3_of_8,
25. Jan 2007
Das Programm selbst ist nicht das Problem, ein LR-Parser ist relativ leicht zu implementieren. Ich überlege mir gerade das wirklich Schwere an der Sache: Die Aktions- und GoTo-Tabelle.
Forum: Programmieren allgemein
Delphi
by 3_of_8,
23. Jan 2007
Vor dem Motivationsverlust. ;)
Wie genau gehe ich denn jetzt an diesen LALR-Parser ran? Was soll ich zuerst erstellen und wie soll ich ihn implementieren?
Forum: Programmieren allgemein
Delphi
by 3_of_8,
22. Jan 2007
Ich habs nicht so eilig, ich sehe aber gerne kleinere Ergebnisse, um nicht völlig die Motivation zu verlieren... momentan stehe ich kurz davor.
Ich habe an einen... *kratz* wie hieß das? An einen LR-Parser gedacht, dieser Stackautomat mit GoTo-Tabelle...
Kein Semikolon? Hab ich bei Wikipedia aber anders gesehen.
Top-Level-Symbol an den Anfang? Gute Idee, wird vielleicht...
Forum: Programmieren allgemein
Delphi
by 3_of_8,
22. Jan 2007
Ich hab mal so eine Grammatik gebastelt. Sehr einfach bis jetzt.
Forum: Programmieren allgemein
Delphi
by 3_of_8,
21. Jan 2007
Gut.
Wenn sie das nicht schon hat. :lol:
Liste mir bitte mal alle wichtigen Typen von Tokens auf. Ich habe das so eingeteilt:
TXeLexerTokenType=(ttInvalid, ttIdentifier, ttSeparator, ttNumericLiteral,
ttCharacterLiteral, ttStringLiteral, ttBinDataLiteral, ttComment);
Forum: Programmieren allgemein
Delphi
by 3_of_8,
21. Jan 2007
Meinst du eine formale Grammatik?
Nun, die Einteilung habe ich rein intuitiv gemacht.
Separator war für mich alles das, was irgendein Zeichen war, das irgendwas getrennt hat. Dass := ein Token ist, war mir eigentlich klar, nur hatte ich ein Problem, das meinem Lexer beizubringen. Darum kümmere ich mich noch.
Dass io.* ein Token ist, wundert mich. Ist dann (z.B. in Delphi) Memo1.Lines.Add...
Forum: Programmieren allgemein
Delphi
by 3_of_8,
21. Jan 2007
Morgen.
Ich habe gestern mal einen Lexer für eine ganz ganz kleine Skriptsprache fertiggestellt.
Das heißt: Ich habe eine schöne Tokenkette, also ich "weiß", was ein Bezeichner ist, was ein Schlüsselwort ist, was ein numerisches/String/Charliteral usw. ist.
Jetzt würde ich das ganze gerne in einen Baum kriegen, wobei man die "Kinder" eines Knotens immer aus diesem ableiten kann.
Also...