Pregunta

Me gustaría saber cómo es la mejor manera de crear el árbol de sintaxis.

¿Fue útil?

Solución 2

El recurso estándar de desbordamiento de pila para aprender a escribir compiladores e intérpretes es aprendizaje href="https://stackoverflow.com/questions/1669/learning-to-write-a-compiler">

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top