Subsecciones


Práctica: Construcción del AST para el Lenguaje Simple C

Utilice Parse-Eyapp. para construir un árbol de análisis sintáctico abstracto para la gramática descrita en la sección 35.27. Su analizador deberá seguir los consejos explícitados en la sección 35.28.

Analizador Léxico

Además del tipo de terminal y su valor el analizador léxico deberá devolver el número de línea. El analizador léxico deberá aceptar comentarios C. En la gramática, el terminal CHARACTER se refiere a caracteres entre comillas simples (por ejemplo 'a'). El terminal STRING se refiere a caracteres entre comillas dobles (por ejemplo "hola").

Se aconseja que las palabras reservadas del lenguaje no se traten con expresiones regulares específicas sino que se capturen en el patrón de identificador [a-z_]\w+. Se mantiene para ello un hash con las palabras reservadas que es inicializado al comienzo del programa. Cuando el analizador léxico encuentra un identificador mira en primer lugar en dicho hash para ver si es una palabra reservada y, si lo es, devuelve el terminal correspondiente. En caso contrario se trata de un identificador.

Casiano Rodríguez León
2013-04-23