Está en la página 1de 15

ANÁLISIS SEMÁNTICO

Construcción de compila dores principios y


pra ctica - Kenneth C Louden -Interna tiona l
Thomson Editores – 2004 pá g. 261
INTRODUCCIÓN
 Esta fase se conoce como análisis
semántico debido a que involucra el
cálculo de información que rebasa las
capacidades de las gramáticas libres de
contexto y los algoritmos de análisis
sintáctico estándar.
 También se conoce como análisis
semántico estático.
¿QUÉ REALIZA?
 el análisis semántico involucra la construcción de
una tabla de símbolos para mantenerse al tanto
de los significados de nombres establecidos en
declaraciones e inferir tipos y verificarlos en
expresiones y sentencias con el fin de determinar
su exactitud dentro de las reglas de tipos del
lenguaje.
PRIMERA CATEGORÍA
 Es el análisis de un programa que requiere las
reglas del lenguaje de programación para
establecer su exactitud y garantizar una
ejecución adecuada.
 La complejidad de un análisis de esta clase varía
enormemente de lenguaje a lenguaje
SEGUNDA CATEGORÍA
 Es el análisis realizado por un compilador para
mejorar la eficiencia de ejecución del programa
traducido.
 Esta clase de análisis por lo regular se incluye en
el análisis de "optimización", o técnicas de
mejoramiento de código.
 El análisis semántico estático involucra tanto la
descripción de los análisis a realizar, como la
implementación de los análisis utilizando
algoritmos apropiados.
 Aquí no existe un método que permita especificar
la semántica estática de un lenguaje.
 Lo que se utiliza común mente son las gramáticas
con atributos.
 Estas son más útiles para lenguajes que obedecen
el principio de la semántica dirigida por sintaxis,
la cual asegura que el contenido semántico de un
programa se encuentre estrechamente
relacionado con su sintaxis.
 Por desgracia, el escritor de compiladores casi
siempre debe construir una gramática con
atributos a mano a partir del manual del
lenguaje
ATRIBUTOS Y GRAMATICAS CON
ATRIBUTOS
 Un atributo es cualquier propiedad de una
construcción del lenguaje de programación. Los
atributos pueden variar ampliamente en cuanto a
la información que contienen.
 Ejemplos:

 El tipo de datos de una variable

 El valor de una expresión


TIPOS DE ATRIBUTOS
 Los atributos que pueden fijarse antes de la
ejecución se denominan está ticos.
 otras que los atributos que sólo se pueden fijar
durante la ejecución son diná micos
G RAMÁTICAS CON ATRIBUTOS

 En la semántica dirigida por sintaxis los


atributos están directamente asociados con los
símbolos gramaticales del lenguaje (los
terminales y no terminales)
 Una gramática con atributos para los atributos
a1…ak es la colección de todas esas ecuaciones
para todas las reglas gramaticales del lenguaje.
 Las gramáticas con atributos se describen en
forma tabular, con cada regla gramatical
enumerada con el conjunto de ecuaciones de
atributo, o reglas semánticas asociadas con esa
regla.
NÚMERO NÚMERO DIGITO| DIGITO
DÍGITO 0|1|2|3|4|5|6|7|8|9
 Atributo más importante de un número su valor : val
 Cada número tiene un valor basado en el digito
 Estas ecuaciones expresan la relación entre la
sintaxis de las expresiones y la semántica de los
cálculos aritméticos que se realizarán. Observe,
por ejemplo, la diferencia entre el símbolo
sintáctico + (un token) en la regla gramatical.
 Exp1 exp2 + term
 Y la operación de suma aritmética + que se
realiza en la ecuación:
 exp1 .val= exp2.val + term.val

También podría gustarte