ninguno

Páginas: 14 (3380 palabras) Publicado: 10 de diciembre de 2013
Análisis Semántico. Procesadores de Lenguaje I

Análisis Semántico
Introducción
Semántica dirigida por sintaxis
Gramáticas de Atributos
Ejemplos

Evaluación de gramáticas
Grafo de Dependencias
Métodos de evaluación con análisis sintáctico
Gramáticas SA y LA
TDS y ETD
Evaluación Descendente con Analizador LL
Evaluación Ascendente con Analizador LR
1

Análisis Semántico.Procesadores de Lenguaje I

Análisis Semántico
Extensión del análisis sintáctico para la
comprensión del programa
Comprobar que tiene sentido
Previo a su traducción

Las gramáticas independientes del contexto (G2) no
son suficientes para realizar el análisis semántico.
Comprobaciones de “larga distancia” en el árbol (contexto)
Es necesario definir un tipo de gramática más rica como lasgramáticas de atributo: modelo de flujo de datos

Esta fase modifica la tabla de símbolos y suele estar
mezclada con la generación de código (traducción)
Destaca la verificación de tipos
2

1

Análisis Semántico. Procesadores de Lenguaje I

Análisis Semántico
Comprobaciones adicionales (estáticas)
Comprobación de tipos
La aplicación de los operadores y operandos deben ser
compatiblesComprobaciones de unicidad
Hay situaciones en los que un objeto solo puede definirse una
vez exclusivamente. Las etiquetas de una sentencia case no
deben repetirse, declaraciones de objetos,…

Comprobaciones relacionadas con nombres
El mismo nombre debe aparecer dos o más veces. Ej.:
variables en funciones, …

Comprobaciones del flujo del control
Las proposiciones que hacen que se abandoneel flujo del
control de una construcción debe transferirse a otro punto.
(break, exit ...)
3

Análisis Semántico. Procesadores de Lenguaje I

El Analizador Semántico
Semántica dirigida por sintaxis
Autómata a pila
(Gramática independiente
del contexto)
+
Acciones Semánticas

Cadena
De entrada

Árbol de Análisis
Sintáctico

Grafo de
Dependencias

Semántica
Dirigida porSintaxis

Orden de Evaluación
de las reglas Semánticas
4

2

Análisis Semántico. Procesadores de Lenguaje I

Semántica dirigida por sintaxis
Definición
Las gramáticas de atributo son gramáticas G2 a las que se añaden
atributos y reglas de evaluación de atributos (reglas semánticas)
Cada atributo es una variable que representa una propiedad de un
elemento del lenguaje
Habitualmentepara cada símbolo X (terminal o no terminal)
Ej: X.Tipo, X.Valor, ...
Puede ser una cadena, número, tipo, posición de memoria, etc

Reglas semánticas
Se asocian a las producciones sintácticas.
Ecuaciones de atributo (caso particular): sólo función de atributos
de símbolos en la producción
Además existen condiciones semánticas que se ejecutan sobre
estos atributos

5

Análisis Semántico.Procesadores de Lenguaje I

Semántica dirigida por sintaxis
Efectos de las acciones semánticas
Cálculo de valores de atributos
Guardar/Consultar información de la Tabla de Símbolos (variable
global)
Generación de código
Notificación de mensajes de error


No es un proceso estándar como el análisis sintáctico
Varía de un lenguaje a otro

Valores de atributos:
cada producción A=α seasocia con un conjunto de acciones
semánticas representadas como una función:

X.atr=f (Y1.atr, ..., Yn.atr)
También se conocen estas acciones como “ecuaciones de atributos”
6

3

Análisis Semántico. Procesadores de Lenguaje I

Gramáticas de Atributos
Unión de gramática con atributos y reglas semánticas
Generar y transportar info: árboles “anotados” (o “adornados”)
Las relacionesentre atributos de cada acción semántica solo entre
símbolos de la producción
error
S
A1

A2

Notaciones

A3

B1

Definición dirigida por la sintaxis (DDS)

B2
error

B3
C1

Acciones asociadas a cada producción (sin orden especificado)

C2

Esquema de Traducción (ETDS)
Acciones intercaladas en cada momento. Notación para implementar un
traductor

7

Análisis...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Ninguno
  • Ninguno
  • Ninguno
  • Ninguno
  • Ninguno
  • Ninguno
  • Ninguno
  • Ninguno

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS