UNIDAD 1 AUTOMATAS 2
Enviado por Johnny1508 • 26 de Noviembre de 2014 • 2.990 Palabras (12 Páginas) • 2.881 Visitas
UNIDAD 1
1.1 ÁRBOLES DE EXPRESIONES…………………………………………………4
1.2 ACCIONES SEMÁNTICAS DE UN ANALIZADOR SINTÁCTICO…………4
1.3 COMPROBACIONES DE TIPOS DE EXPRESIONES………………………5
1.4 PILAS SEMÁNTICAS EN UN ANALIZADOR SINTÁCTICO……………….7
1.5 ESQUEMA DE TRADUCCIÓN………………………………………………….7
1.6 GENERACIÓN DE LA TABLA DE SÍMBOLOS Y DE DIRECCIONES…….8
1.7 MANEJO DE ERRORES SEMÁNTICOS……………………………………11
BIBILIOGRAFIA……………………………………………………..................14
3
UNIDAD 1
Análisis semántico
Bueno se refiere a los aspectos del significado, sentido o interpretación del
mismo de un determinado elemento, símbolo, palabra, expresión o
representación formal determina el tipo de resultados intermedios y que si
los argumentos que tiene un operador pertenecen al conjunto de los
operadores posibles.
Revisa si el significado de lo que se va leyendo es válido. el resultado de la
fase de análisis semántico viene siendo lo que se conoce como "árbol
semántico"
La semántica corresponde al significado asociado a las estructuras formales
(sintaxis) del lenguaje. Como las gramáticas (E)BNF —además
normalmente limitadas a LR o LL— no pueden describir todos los elementos
sintácticos del lenguaje, se hace preciso algún análisis adicional... Así, se
denomina tradicionalmente “análisis semántico” a todo aquello que forma
parte del frontal [front-end] más allá de lo que la gramática utilizada nos
permite: Tabla de símbolos Chequeos de tipos (y otros) Generación de
representación interna
El analizador semántico es la fase que sigue al análisis sintáctico. En esta
fase se explora el AST (árbol de sintaxis abstracta) con el fin de detectar los
errores semánticos. Al analizador semántico también se conoce como tree -parser.
4
1.1 ÁRBOLES DE EXPRESIONES
Es una estructura jerárquica en la cual se registran las operaciones que
realiza el programa fuente, en cada una de las ramas del árbol se registra el
valor o significado que este debe tener y el análisis analiza cuál de los
valores registrado en las ramas es aplicable.
Los árboles de expresiones representan el código de nivel del lenguaje en
forma de datos. Los datos se almacenan en una estructura con forma de
árbol. Cada nodo del árbol de expresión representa una expresión, por
ejemplo, una llamada al método o una operación binaria, como x < y.
1.2 ACCIONES SEMÁNTICAS DE UN ANALIZADOR SINTÁCTICO
Dependiendo del tipo de sentencias, las acciones semánticas pueden
agruparse en:
Sentencias de Declaración: completar la sección de tipos de la Tabla de
Símbolos.
5
Sentencias “ejecutables”: realizar comprobaciones de tipos entre los
operandos implicados.
Funciones y procedimientos: comprobar el número, orden y tipo de los
parámetros actuales en cada llamada a una función o procedimiento.
Identificación de variables: comprobar si un identificador ha sido declarado
antes de utilizarlo.
Etiquetas: comprobar si hay etiquetas repetidas y validación.
Constantes: comprobar que no se utilicen en la parte izquierda de una
asignación.
Conversiones y equivalencias de tipo: verificación.
Sobrecarga de operadores y funciones: detectar y solventar.
1.3 COMPROBACIONES DE TIPOS DE EXPRESIONES
E à literal {E.tipo = char}
E à num {E.tipo = entero}
E à id {E.tipo = Consultar_TS(id.entrada)}
E à id [E1] {id.tipo = Consultar_TS(id.entrada)}
La labor de comprobación de tipos consiste en conferir a las construcciones
sintácticas del lenguaje la semántica de tipificación y en realizar todo tipo de
comprobaciones de dicha índole. Por su naturaleza, sin embargo, ésta se
encuentra repartida entre la fase de análisis semántico y la generación de
código intermedio.
Tipos de comprobaciones semánticas
Comprobaciones estáticas
Las comprobaciones estáticas recogen el compendio de todas aquellas
tareas de carácter semántico que, por su naturaleza, pueden ser realizadas
directamente
...