¿Cómo construyo un analizador de máquina de estado LR?
-
08-07-2019 - |
Pregunta
Quiero jugar con la creación de un generador de analizadores LR. ¿Alguien sabe de un buen recurso (gratuito) que describa cómo crear una tabla de máquina de estado a partir de una gramática?
Solución
Para obtener un recurso gratuito, considere el código fuente de Python para PLY , una implementación completa de Lex y Yacc en Python.
Sin embargo, recomendaría un libro, y difícilmente puede hacerlo mejor que obtener El Libro del Dragón .
Otros consejos
El mejor recurso que he encontrado es:
La respuesta obvia es el texto del compilador estándar de Aho / Ullman / Ravi, Compiladores: Principios, técnicas y herramientas
Tiene capítulos completos sobre análisis. No es gratis, pero vale hasta el último centavo, y si vas a construir analizadores u otras herramientas similares a compiladores, simplemente estás loco si no tienes este libro.
Quizás encuentres útil Grammatica. Es un generador de analizador gratuito para .NET. Tengo algo de experiencia y fue bueno. Puedes probarlo y estudiar su código. http://grammatica.percederberg.net/