Tema4 Semantico
A. SEMÁNTICO Y G.C.I. - Diap. 1
TEMA 5.
Análisis semántico y
generación de código intermedio
• Traducción dirigida por la sintaxis.
• Comprobación de tipos.
• Lenguajes Intermedios.
Universidad Rey Juan Carlos, Área de Lenguajes y Sistemas.
Jaime Urquiza Fuentes. Curso 2010-2011
PROCESADORES DEL LENGUAJE
A. SEMÁNTICO Y G.C.I.- Diap. 2
Traducción dirigida porsintaxis
Autómata a pila
o
Gramática independiente
del contexto
+
Traductor
dirigido por
sintaxis
Acciones semánticas
Universidad Rey Juan Carlos, Área de Lenguajes y Sistemas.
Jaime Urquiza Fuentes. Curso 2010-2011
PROCESADORES DEL LENGUAJE
A. SEMÁNTICO Y G.C.I.- Diap. 3
Traducción dirigida por sintaxis
Notaciones:
• Definición dirigida por la sintaxis (DDS).
• Esquema de traducción (EDT).Evaluación de una acción:
• Generación de código.
• Guardar/Consultar información en la TS.
• Notificación de mensajes de error.
Universidad Rey Juan Carlos, Área de Lenguajes y Sistemas.
Jaime Urquiza Fuentes. Curso 2010-2011
PROCESADORES DEL LENGUAJE
A. SEMÁNTICO Y G.C.I.- Diap. 4
Traducción dirigida por sintaxis
• Cada símbolo tiene un conjunto de atributos
asociados. Referencia a un atributode un símbolo:
NombreSímbolo.NombreAtributo
• Cada producción A::= α tiene asociadas un
conjunto de acciones semánticas.
X.atr = f(Y1.atr, ..., Yn.atr)
Universidad Rey Juan Carlos, Área de Lenguajes y Sistemas.
Jaime Urquiza Fuentes. Curso 2010-2011
PROCESADORES DEL LENGUAJE
A. SEMÁNTICO Y G.C.I.- Diap. 5
Traducción dirigida por sintaxis
Tipos de atributos:
• Sintetizados. Su valor secalcula en función de
atributos de nodos hijos
Ejemplo:
L ::= E’\n’
E ::= E+T | T
T ::= T*F | F
F ::= (E) | cte
Universidad Rey Juan Carlos, Área de Lenguajes y Sistemas.
Jaime Urquiza Fuentes. Curso 2010-2011
PROCESADORES DEL LENGUAJE
A. SEMÁNTICO Y G.C.I.- Diap. 6
Traducción dirigida por sintaxis
Tipos de atributos:
• Heredados. Su valor se calcula en función de
atributos de nodos hermanos y/opadre
Ejemplo:
D ::= TL
T ::= entero | real | bool
L ::= L , id | id
Universidad Rey Juan Carlos, Área de Lenguajes y Sistemas.
Jaime Urquiza Fuentes. Curso 2010-2011
PROCESADORES DEL LENGUAJE
A. SEMÁNTICO Y G.C.I.- Diap. 7
Traducción dirigida por sintaxis
Orden de evaluación:
Para cualquier acción semántica de la forma:
X.atr = f(Y1.atr, ..., Yn.atr)
Los valores de los atributos Y1.atr, ...,Yn.atr
deben estar disponibles antes de ejecutarla
Métodos de ordenación:
• Con árbol sintáctico: compilación
• Basados en reglas: desarrollo
Universidad Rey Juan Carlos, Área de Lenguajes y Sistemas.
Jaime Urquiza Fuentes. Curso 2010-2011
PROCESADORES DEL LENGUAJE
A. SEMÁNTICO Y G.C.I.- Diap. 8
Traducción dirigida por sintaxis
Definición dirigida por la sintaxis
Evaluación ascendente de DDScon atributos
sintetizados:
• Sólo existen atributos sintetizados
• Utiliza analizadores LR
• Valores de atributos sintetizados ¿dónde?
Universidad Rey Juan Carlos, Área de Lenguajes y Sistemas.
Jaime Urquiza Fuentes. Curso 2010-2011
PROCESADORES DEL LENGUAJE
A. SEMÁNTICO Y G.C.I.- Diap. 9
Traducción dirigida por sintaxis
Esquemas de traducción
• Cada símbolo tiene un conjunto de atributosasociados. Referencia a un atributo de un símbolo:
NombreSímbolo.NombreAtributo
• Las acciones semánticas se encuentran
intercaladas con los símbolos del consecuente
X ::= ab{accion();}b
• Orden de evaluación fijo: profundidad
Universidad Rey Juan Carlos, Área de Lenguajes y Sistemas.
Jaime Urquiza Fuentes. Curso 2010-2011
PROCESADORES DEL LENGUAJE
A. SEMÁNTICO Y G.C.I.- Diap. 10
Traduccióndirigida por sintaxis
Esquemas de traducción
• EDT sólo con atributos sintetizados
→ Acciones al final de la producción
• EDT con atributos sintetizados y heredados
→ Atributos heredados de un símbolo del
consecuente
→ Atributos sintetizados utilizados en acciones
→ Atributos sintetizados del antecedente
Universidad Rey Juan Carlos, Área de Lenguajes y Sistemas.
Jaime Urquiza Fuentes. Curso...
Regístrate para leer el documento completo.