DEFINICIÓN DIRIGIDA POR LA SINTAXIS

CONCEPTOS:

  • Es una generalización de una gramática independiente de contexto en la que cada símbolo gramatical tiene asociado un conjunto de atributos
  • El significado de una frase está directamente relacionado con su estructura sintáctica según se representa en su árbol de análisis sintáctico.
􀂄 Se realizan en paralelo
􀂄 Análisis semántico
􀂄 Traducción
En una definición dirigida por la sintáxis una gramática se aumenta con nuevas características:
  • A cada símbolo non terminal de la gramática se le asocian cero o mas atributos.
  • Un atributo queda caracterizado por un identificador o nombre y un tipo o clase.
  • A este nivel son atributos formales, en el sentido de que su realización se produce cuando el nodo del árbol es creado.
A cada regla de producción A -> X1 X2 .. Xn se le asocian un conjunto de reglas de evaluación de los atributoso reglas semánticasque indican que el atributo en la parte izquierda de la regla semántica depende de los atributos que aparecen en la parte derecha de la regla.
– El atributo que aparece en la parte izquierda de la regla semántica puede estar asociado con un símbolo en la parte derecha de la regla de producción.

Una dds es una gramática independiente de contexto.Cada símbolo tiene un conjunto de atributos asociados
– Atributo: una cadena, número, tipo, posición de memoria, etc
– NombredeSímbolo.NombredeAtributo

  • Cada producción A=a tiene asociada un conjunto de acciones semánticas que se representan como una función:

X.atr=f (Y1 .atr, …, Yn .atr)
Dos tipos de atributos
Heredados:
El valor de un nodo se pasa a un nivel inferior o igual en el árbol.
Su valor depende del valor de los  hermanos y del padre.
Sintetizados (locales): El valor a asignar a un nodo depende del valor de los nodos hijos

Ejemplo. En el siguiente ejemplo, un atributo heredado distribuye la información sobre los tipos a los distintos identificadores de una declaración.

  • Gramática con atributos
± Cada símbolo de la gramática tiene atributos.
± Cada regla de producción tiene reglas semánticas
S -> L puntocoma{
Write(Las variables declaradas son, Lo.val, del tipo,Lo.tipo);
}
L -> L coma id{ Lo.tipo= L.tipo; Lo.val=concat(L.val,,,val(id));
Write( Lo.tipo, variable , val(id));
}
| TIP O id {Lo.tipo= TIP O .val; Lo.val=Val(id);
Write( Lo.tipo, variable ,id);
}
TIP O -> integer { TIP O .val=Integer;}
| string {TIP O .val=String; }
| char {TIP O .val=char; }
| float {TIP O .val=float; }
| double {TIP O .val=double; }
  • Atributos
Propiedades de los símbolos del lenguaje que almacenan contenidos relacionados con el significado de los símbolos a los que pertenecen.
– Se utiliza la notación símbolo.atributo
– id.lexema
±Var.valor
±Var.direccion
±Exp.codigo
  • Atributos sintetizados
Se calculan a partir de atributos de nodos hijos.
±Se refieren a atributos del antecedente de la regla.
±La información asciende por el árbol.
Los atributos sintetizados lo son durante toda la gramática.
Los atributos de terminales son sintetizados
S -> L { write(Cadena encontrada, L.val);}
L -> L , id {: Lo=concat(L.val,,, val(id); :}
| id {: Lo.val=val(id); :}
  • Atributos Heredados:
Calculados con atributos en nodos padre y hermanos.
Información descendente o de tránsito horizontal. Se utilizan para transferir información entre reglas.
􀂄 Gramática con atributos
􀂄 Toda gramática con atributos es una DDS
􀂄 Las reglas semánticas sólo manipulan atributos
􀂄 No existen otras acciones semánticas􀂄 No existen efectos laterales
􀂄 DDS
􀂄 Son una generalización de las gramáticas con atributos
􀂄 Las reglas semánticas manipulan atributos
􀂄 Existen otras acciones semánticas
􀂄 Escritura de valores
􀂄 Condicionales
􀂄 Modificación de variables globales
􀂄 Existen efectos laterales
+ LINKS: dds, semantico
Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s