Esiste un parser LISP esistente scritto in C++? Voglio solo il parser, non un interprete completo, ma un interprete per farlo sarebbe un vantaggio.LISP Parser C++
risposta
Lisp è solo una struttura ad albero, qualsiasi analizzatore di alberi analizzerà facilmente la focalizzazione ... puoi provare con this one che Google mi ha dato.
In effetti, la scrittura Common Lisp I sembra quasi esattamente come gli alberi di analisi che ho creato nella classe dei compilatori. –
È possibile analizzare facilmente un sottoinsieme di esso. Ma la cosa reale coinvolge più strutture dati che semplici simboli e liste. –
Ha detto che voleva un parser, non un'interprete completo – dsm
schema di pollo è scritto in C, abbastanza vicino? http://www.call-with-current-continuation.org/
Bigloo potrebbe essere utile qui.
XCL è un'implementazione di Common Lisp il cui runtime è scritto in C++. Il compilatore è scritto in Lisp ma ha un interprete scritto in C++ che viene usato per il bootstrap.
vuoi un parser per le espressioni S o per Lisp? Quale Lisp? Schema? Lisp comune? –
Sto cercando un parser per una sintassi simile a LISP, quindi suppongo che un parser per le espressioni S sia davvero quello che sto cercando. – Imagist
A destra, le espressioni s sono la sintassi per i dati Lisp. I programmi Lisp sono scritti usando le espressioni s. Ma non tutte le espressioni S sono un valido programma Lisp. Quindi Lisp ha più sintassi sulle espressioni s. Vedere le definizioni di sintassi negli standard Common Lisp e Scheme. –