Domanda

Ho cercato di recente al Boost.Spirit (la versione inclusa in Boost 1.39), tuttavia sono abbastanza confuso da solo la documentazione. Quello che sto cercando è un esempio di un linguaggio giocattolo realizzato con Boost.Spirit - qualcosa lungo le linee di un piccolo Javascript o Lua o giù di lì, in cui si crea fondamentalmente un AST e il processo è. Sarei felice se supporta solo la funzione / definizioni di variabili e gli operatori di base, voglio solo vedere come si dovrebbe creare un AST normale utilizzando Boost.Spirit, e come implementare le regole di base come identificatori, dichiarazioni, ecc.

Finora, ho provato l'esempio calcolatrice, ma non è chiaro per me come implementare una grammatica più grande con lo Spirito. L'esempio mini_c che è in bundle d'altra parte sembra abbastanza complicato già, e non è troppo ben documentato. C'è qualche facile da capire guida Boost.Spirit là fuori, o forse un libro?

Altri suggerimenti

La documentazione Spirit include esempi e tutorial. Un esempio per generare un AST per un mini-XML come linguaggio è incluso. Un presentazione generale da Joel de Guzman e Hartmut Kaiser è disponibile anche.

Si prega di tenere a mente c'è una versione più recente dello spirito impulso con l'approccio completamente nuovo verso la generazione di AST.

Il libro Il Boost C ++ Libraries ha un capitolo riguardante Spirito che personalmente ho trovato molto utile. E 'disponibile on-line, ecco un link diretto:

Capitolo 11. Boost.Spirit

Utilizzando Spirit 2.3: Qi e Karma

Credo che questo pdf è abbastanza buono per i principianti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top