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

Entradas populares de este blog