2009-09-01 20 views
7

¿Existe un analizador LISP existente escrito en C++? Solo quiero que el analizador sintáctico, no un intérprete completo, sino un intérprete que lo acepte sea una ventaja.LISP Parser C++

+3

¿quieres un analizador para s-expressions o para Lisp? ¿Qué Lisp? ¿Esquema? Common Lisp? –

+0

Estoy buscando un analizador para una sintaxis similar a LISP, así que supongo que un analizador para s-expressions es realmente lo que estoy buscando. – Imagist

+0

Derecha, las expresiones s son la sintaxis de los datos de Lisp. Los programas Lisp se escriben usando s-expressions. Pero no todas las expresiones s son un programa Lisp válido. Entonces, Lisp tiene más sintaxis además de s-expressions. Consulte las definiciones de sintaxis en los estándares Common Lisp y Scheme. –

Respuesta

6

Lisp es solo una estructura de árbol, cualquier analizador de árbol analizará lisp fácilmente ... puedes probar this one que google me dio.

+1

De hecho, el Common Lisp que escribo se ve casi exactamente como los árboles de análisis que construí en la clase de compiladores. –

+0

Puede analizar un subconjunto de él fácilmente. Pero lo real involucra más estructuras de datos que solo símbolos y listas. –

+1

Mencionó que quería un analizador sintáctico, no un intérprete completo – dsm

1

es una implementación de Common Lisp cuyo tiempo de ejecución está escrito en C++. El compilador está escrito en Lisp pero tiene un intérprete escrito en C++ que se usa para el arranque.