Documente Academic
Documente Profesional
Documente Cultură
Facultad de Ingeniera
ANLISIS SEMNTICO
Grupo 4: CARI, Jonatan Maximiliano
LAMAS, Daniel Alberto
GUERRERO, Matas
GUZMAN, Ariel Palomino
LD A, t1
INC A
STA t1,
A
Cdigo Final
Cdigo Intermedio
<a, ID>
Analizador Semntico
;1+
a := a
Analizador Lxico
a:=a+1
;
Analizador Sintctico
0000
0110
0110
1100
1110
0110
0001
0111
1111
1101
QU ES UN ANALIZADOR
SEMNTICO?
QU ES UN ANALIZADOR
SEMNTICO?
Por ejemplo
Supongamos que tenemos una lnea de cdigo en C#
atributos
reglas semnticas
TABLA DE SMBOLOS
Estructura ms importante para el anlisis
semntico.
Optimizacin
Generacin
de cdigo final
TABLA DE SMBOLOS
Qu almacena?
Almacena informacin sobre:
- Identificadores
- Palabras reservadas (opcional)
- Constantes (opcional)
Para cada entrada en la TS se debe guardar:
- Lexema
- Tipo (depende de la implementacin)
- mbito (depende de la implementacin)
- Direccin de memoria
TABLA DE SMBOLOS
Ejemplo
PRINCIPALES OPERACIONES DE LA
TS
Insercin
Bsqueda
Eliminacin
Analizador
Lxico.
Analizador Semntico.
IMPLEMENTACIN DE LA TABLA DE
SMBOLOS
La Implementacin de la TS debe ser eficiente:
Lista:
Lista ordenada:
La bsqueda es sencilla
La insercin es muy costosa
Tabla Hash:
TABLA DE SMBOLOS
Ejemplo
Valor
Lnea
Declaraci
n
Lneas
Referenciada
9,14,25
12,14
Formal
36,37,38
48
10,11,13,23
Resp
52
11,23,25
56
17,21
Primero
64
28,29,30,38
Nmero
Nombre de
Variable
Direccin
Tipo
Empresa
X3
ATRIBUTOS
Un atributo es un espacio de informacin que sirve para albergar
una caracterstica propia del proceso de traduccin y que puede
ser transferida a otras producciones gramaticales para que
pueda ser usada desde all por sus reglas semnticas.
Tambin se puede definir atributo como a las propiedades de los
smbolos del lenguaje que almacenan contenidos relacionados
con el significado de los smbolos a los que pertenecen.
Se utiliza la notacin
Ejemplos
Atributos Heredados
del
de
lo
terminales
son
Los atributos heredados lo son durante
toda la gramtica.
son
ATRIBUTOS: EJEMPLOS
Atributos Heredados
Atributos Sintetizados
REGLAS SEMNTICAS
Una regla semntica es una expresin formal
asociada a una regla de produccin que
permite definir la semntica de la construccin
gramatical asociada a la misma en trminos de
los smbolos de la regla de produccin.
REGLAS SEMNTICAS
Contamos con 2 tipos de Reglas Semnticas:
ECUACIONES DE ATRIBUTOS
Los valores de los atributos, de cada smbolo gramatical,
donde:
ECUACIONES DE ATRIBUTOS
Ahora
ECUACIONES DE ATRIBUTOS
Asociada a la gramtica tendremos
gramtica con atributos dtype.
Regla Gramatical
Reglas Semnticas
la
siguiente
ECUACIONES DE ATRIBUTOS
Las ecuaciones de atributo se pueden exhibir en un rbol
de anlisis gramatical.
Regla Gramatical
Reglas Semnticas
GRAFOS DE DEPENDENCIAS
Un grafo de dependencias describe el flujo de
informacin entre las instancias de atributos
en un rbol de anlisis sintctico especfico;
una flecha de una instancia de atributo a otra
significa que el valor de la primera se necesita
para calcular la segunda.
GRAFOS DE DEPENDENCIAS
Algoritmo
para su construccin:
GRAFOS DE DEPENDENCIAS
Ahora
veremos un ejemplo para ello utilizaremos la
ACCIONES SEMNTICAS
Define solo el valor de los atributos de los smbolos que
aparecen en la produccin.
Una accin semntica se ejecuta justo cuando se han
reconocido los smbolos que se encuentran a su
izquierda en el cuerpo de la produccin.
La accin semntica se puede ver como una regla
semntica asociada a un nuevo smbolo no terminal
cuya nica produccin asociada es ejecutada
ESQUEMAS DE TRADUCCIN
Esquema de
traduccin
postfijo
Esquema de
traduccin con
acciones en medio
de la produccin
ESQUEMAS DE TRADUCCIN
Esquema de traduccin postfijo
Definicin: un esquema de traduccin postfijo es aquel en el cual
las acciones semnticas se encuentran al final del cuerpo de
produccin
Ejemplo
ESQUEMAS DE TRADUCCIN
Esquema de traduccin con acciones en medio de la
produccin (infijo)
Para aplicar estas acciones se deben realizar los siguientes
pasos:
ESQUEMAS DE TRADUCCIN
Ejemplo de INFIJO
Si en la regla insertamos un fragmento de cdigo:
La accinse ejecutar despus de todas las acciones asociadas con el recorrido del
subrbol de y antes que todas las acciones asociadas con el recorrido del subrbol.
Otro ejemplo con el rbol de anlisis sintctico
{actio
n}
CONCLUSIN
Concluimos que el analizador semntico es tan
importante como vital para un compilador,
debido a que este analiza cada estructura
sintctica verificando la coherencia de la
misma.
Para esto emplea las estructuras:
rbol sintctico
Tabla de Smbolos
Que son las ms primordiales para este