Erste Schritte für Boost.Spirit?
Habe ich vor kurzem bei Boost.Geist (die mitgelieferte version in Boost 1.39), aber ich bin ziemlich verwirrt von den docs allein. Was ich Suche ist ein Beispiel für ein Spielzeug Sprache implementiert werden, mit Boost.Geist-etwas entlang der Linien von einem kleinen Javascript oder Lua oder so, wo Sie im Grunde erstellen Sie eine AST-und verarbeiten ist. Ich wäre froh, wenn es nur unterstützt Funktions - /Variablen-Definitionen und die basic-Operatoren, ich will nur sehen, wie Sie würde einen normalen AST mit Boost.Geist, und wie die Umsetzung Grundregeln wie Bezeichner, Deklarationen, etc.
So weit, ich habe versucht den Rechner-Beispiel, aber es ist unklar für mich, wie die Umsetzung einer größeren Grammatik mit Geist. Die mini_c Beispiel, das ist gebündelt auf der anderen Seite sieht ziemlich kompliziert schon, und es ist nicht allzu gut dokumentiert. Gibt es eine leicht verständliche Anleitung zu Steigern.Geist gibt, oder ein Buch vielleicht?
InformationsquelleAutor der Frage Anteru | 2009-07-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ein einführender Artikel von CP
Ein JSON-parser implementiert, mit Boost.Geist von CodeProject
Geist Application Repository
InformationsquelleAutor der Antwort Modicom
Geist-Dokumentation enthält Beispiele und tutorials.
Ein Beispiel für die Erzeugung eines AST für eine mini-XML-ähnlichen Sprache enthalten ist.
Eine sehr nützliche übersicht über die Präsentation von Joel de Guzman und Hartmut Kaiser ist auch verfügbar.
InformationsquelleAutor der Antwort peter rautek
bitte Bedenken Sie, da ist eine neuere boost-spirit-version mit der völlig neuen Ansatz zur Erzeugung von AST.
InformationsquelleAutor der Antwort varnie
Buch Die Boost C++ Bibliotheken hat ein Kapitel über Geist, die fand ich persönlich ziemlich nützlich. Es ist online verfügbar, hier ist ein direkter link:
Kapitel 11. Boost.Geist
InformationsquelleAutor der Antwort ChristophK
Mit Spiritus 2.3: Qi und Karma
Ich denke, das pdf ist ganz gut für Anfänger.
InformationsquelleAutor der Antwort huron