2010-06-05 34 views
6

¿Qué herramientas están disponibles en Python para ayudar a analizar una gramática sin contexto?Analizando una gramática sin contexto en Python

Por supuesto, es posible rodar el mío, pero estoy buscando una herramienta genérica que pueda generar un analizador sintáctico para un CFG dado.

+1

¿Desea * analizar la gramática * o analizar la entrada de una manera definida por la gramática? – Dario

+1

Entrada de análisis definida por la gramática, lo siento, no lo dejé claro. –

Respuesta

7

Recomiendo encarecidamente PLY - es un clon Lex/Yacc en Python que utiliza las funciones de introspección del lenguaje de una manera sofisticada para permitir una especificación muy natural de la gramática. Yacc, si lo recuerdas, es la encarnación misma de los CFG en una DSL comprensible que define cómo se los analiza.

Lo usé para implementar mi parser for ANSI C y la interacción con PLY fue casi sin esfuerzo.

+0

¡Maravilloso! Gracias, Eli. –