2009-07-14 10 views
25

Ich habe kürzlich auf Boost.Spirit (die Version in Boost 1.39 enthalten), aber ich bin ziemlich verwirrt von der Docs allein. Was ich suche, ist ein Beispiel für eine Spielzeugsprache, die mit Boost.Spirit implementiert wurde - etwas in der Art eines winzigen Javascript oder Lua oder so, wo Sie im Grunde eine AST erstellen und bearbeiten. Ich würde mich freuen, wenn es nur Funktion/Variable-Definitionen und die grundlegenden Operatoren unterstützt, ich möchte nur sehen, wie Sie eine normale AST mit Boost.Spirit erstellen würden, und wie Sie grundlegende Regeln wie Bezeichner, Deklarationen usw. implementieren.Erste Schritte für Boost.Spirit?

Bis jetzt habe ich das Taschenrechnerbeispiel ausprobiert, aber es ist unklar für mich, wie man eine größere Grammatik mit Spirit implementiert. Das gebündelte mini_c-Beispiel sieht dagegen schon recht kompliziert aus und ist nicht allzu gut dokumentiert. Gibt es eine leicht verständliche Anleitung zu Boost.Spirit oder ein Buch?

+0

Wenn Sie etwas über den neuen Boost Spirit X3 erfahren möchten, empfehle ich [dieses Video] (https://www.youtube.com/watch?v=xSBWklPLRvw). Die PowerPoint-Folien finden Sie [hier] (http://ciere.com/cppnow15/using_x3.pdf). –

Antwort

10
+2

Hier ist meine eigene Aufnahme bei JSON mit Spirit V2 https://github.com/sehe/spirit-v2-json zum Vergleich – sehe

+0

Hier ist eine nette Zuschreibung auf Dr. Dobbs: [http://www.drdobbs.com/ cpp/the-spirit-parser-bibliothek-inline-parsing/184401692] (http://www.drdobbs.com/cpp/the-spirit-parser-library-inline-parsing/184401692?pgno=1) – evilspacepirate

5

bitte denken Sie daran, es ist eine neue Schub Geist-Version mit dem völlig neuen Ansatz in Richtung AST erzeugen.

+3

Dokumentation für Spirit2: http://www.boost.org/doc/libs/1_40_0/libs/spirit/doc/html/index.html –