Frage

Ich würde gerne wissen, wie der beste Weg ist, den Syntaxbaum zu erstellen.

War es hilfreich?

Lösung 2

Die Standard -Stack -Überlaufressource für das Erlernen des Schreibens von Compilern und Dolmetschern ist Lernen, einen Compiler zu schreiben

Andere Tipps

Hier ist eine Erklärung zu Abstrakte Syntaxbäume (AST) aus dem LLVM -Projekt.

Teaser:

Das AST für ein Programm erfasst sein Verhalten so, dass es für spätere Phasen des Compiler (z. B. Code -Generierung) leicht zu interpretieren ist. Wir wollen im Grunde genommen ein Objekt für jedes Konstrukt in der Sprache, und das AST sollte die Sprache genau modellieren.

Wirklich nicht anders als eine andere Sprache. Der Unterschied zwischen interpretierten und kompilierten Sprachen liegt in erster Linie im Backend, nicht im Frontend. Spezifische Sprachen haben möglicherweise spezifische Anforderungen an die Parsen, Sie können jedoch keinen aussagekräftigen Vergleich bei den Parsing -Technologien zwischen den beiden Sprachenklassen machen.

Sie listen keine Sprachanforderung für Ihren Parser auf. Wenn C oder C ++ also eine Möglichkeit ist, sollten Sie sich zunächst YACC ansehen: http://en.wikipedia.org/wiki/yacc

YACC generiert einen C -Parser für Ihre spezifische Syntax. Wenn Sie mit dem beginnen, ist dies möglicherweise ein wenig zusätzliche Arbeit, aber wenn Sie das Ding und das Rollen aufgebaut haben, sollte es einfacher sein, aufrechtzuerhalten.

Haftungsausschluss: Ich habe YACC nur in einem Projekt verwendet und es war vor mehr als 10 Jahren, daher kann Ihre Milchung variieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top