¿Qué es el proceso de analizar un lenguaje de programación interpretado?
-
20-09-2019 - |
Pregunta
Me gustaría saber cómo es la mejor manera de crear el árbol de sintaxis.
Otros consejos
Aquí hay alguna explicación sobre árbol de sintaxis abstracta (AST) del proyecto LLVM .
Teaser:
El AST para un programa captura su comportamiento de tal manera que es fácil para las etapas posteriores del compilador (por ejemplo, la generación de código) para interpretar. Básicamente, queremos un objeto para cada constructo en el lenguaje, y la AST deben modelar estrechamente al texto.
No es diferente de cualquier otro idioma, de verdad. La diferencia entre los lenguajes interpretados y compilados es principalmente en el back-end, no el frontend. lenguajes específicos pueden tener requisitos específicos de análisis, pero no se puede hacer una comparación significativa en el análisis de las tecnologías entre las dos clases de idiomas.
no incluye un requisito de idioma para su analizador, así que si C o C ++ es una posibilidad, usted debe comenzar por mirar yacc: http://en.wikipedia.org/wiki/Yacc
Yacc genera un analizador C para su sintaxis específica. Primeros pasos con que podría ser un poco de trabajo extra, pero una vez que la cosa esté configurado y funcionando, debería ser más fácil de mantener.
exención de responsabilidad:. Sólo he utilizado yacc en un proyecto y que era 10+ años atrás, por lo que su kilometraje puede variar