Acciones semanticas de un analizador sintactico
Manejo de errores sintácticos
Más complicado desde el punto de vista de la creación de compiladores.
Nos interesa que cuando el compilador encuentre un error, se recupere y siga buscando errores.
Objetivos
Indicar los errores de forma clara y precisa. Aclarar el tipo de error y su localización.
Recuperarse del error, para poder seguir examinando la entrada.
No ralentizar significativamente la compilación
Estrategias para recuperarse de errores sintácticos
Recuperación en modo de pánico
Recuperación a nivel de frase
Producción de errores
Corrección global
Acciones de un analizador sintáctico
Acceder a la tabla de símbolos.
Chequeo de tipos.
Generar código intermedio.
Generar errores cuando se producen
Controla el flujo de tokens reconocidos por parte del analizador léxico.
Analizador Sintáctico
Acciones Semánticas
Se encargan de que los tipos que intervienen en las expresiones sean compatibles o que los parámetros reales de una función sean coherentes con los parámetros formales.
Fase del analizador que se encarga de revisar el texto de entrada en base a una gramática dada
Analizador Sintáctico
Obtiene una cadena de tokens del analizador léxico, y verifica que la cadena de nombres de los tokens pueda generarse mediante la gramática para el lenguaje fuente.
Gramática que acepta:
G (N, T, P, S)
N = No terminales.
T = Terminales.
P = Reglas de Producción.
S = Axioma Inicial.
1.2. Acciones semánticas de un analizador sintáctico
Pueden Agruparse En:
• Sentencias de Declaración.
• Sentencias “ejecutables”.
• Funciones y procedimientos.
• Identificación de variables.
Por diseño cada lenguaje de programación tiene reglas precisas a las cuales obedece y prescriben la estructura sintáctica de un programa bien formado.
Gramática
Reglas que definen un lenguaje
Una gramática genera o describe un lenguaje, define la estructura de las frases y las palabras de un lenguaje.
La gramática proporciona una especificación sintáctica precisa, pero fácil de entender del lenguaje de programación.
Analizador Semántico
Extensión del analizador sintáctico, finaliza la fase de análisis del compilador y comienza la fase de Síntesis, en la cual se comienza a generar el código objeto
Tabla de símbolos
Chequeos de tipos (y otros)
Generación de representación interna
Comentarios
Publicar un comentario