2009-09-01 4 views
7

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++

+3

vuoi un parser per le espressioni S o per Lisp? Quale Lisp? Schema? Lisp comune? –

+0

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

+0

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. –

risposta

6

Lisp è solo una struttura ad albero, qualsiasi analizzatore di alberi analizzerà facilmente la focalizzazione ... puoi provare con this one che Google mi ha dato.

+1

In effetti, la scrittura Common Lisp I sembra quasi esattamente come gli alberi di analisi che ho creato nella classe dei compilatori. –

+0

È possibile analizzare facilmente un sottoinsieme di esso. Ma la cosa reale coinvolge più strutture dati che semplici simboli e liste. –

+1

Ha detto che voleva un parser, non un'interprete completo – dsm

1

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.