Introducción
Todo
lenguaje de programación tiene reglas que describen la estructura sintáctica de
programas bien formados. En Pascal, por ejemplo, un programa se compone de
bloques, un bloque d proposiciones, una proposición de expresiones, una
expresión de componentes léxicos, y así sucesivamente.
¿Qué
es el analizador sintáctico?
Es
la fase del analizador que se encarga de chequear el texto de entrada en base a
una gramática dada. Y en caso de que el programa de entrada sea válido,
suministra el árbol sintáctico que lo reconoce. En teoría, se supone que la
salida del analizador sintáctico es alguna representación del árbol sintáctico
que reconoce la secuencia de tokens suministrada por el analizador léxico. En
la práctica, el analizador sintáctico también hace:
•
Acceder a la tabla de símbolos (para hacer parte del trabajo del analizador semántico).
•
Chequeo de tipos ( del analizador semántico).
•
Generar código intermedio.
•
Generar errores cuando se producen.
En
definitiva, realiza casi todas las operaciones de la compilación. Este método
de trabajo da lugar a los métodos de compilación dirigidos por sintaxis.