Uncategorized

DEFINICIONES DIRIGIDAS POR LA SINTAXIS

Una definición dirigida por la sintaxis carga los valores de los atributos asociando reglas semánticas a las producciones de la gramática.

Una DDS es una gramática con atributos y reglas.

– Los atributos están asociados a símbolos de la gramática.

– Las reglas están asociadas a producciones

Si X es un símbolo y a un atributo, se define X.a como el valor del atributo A en un nodo X del árbol de análisis sintáctico. Los atributos pueden ser de cualquier tipo

– Números

– Tipos estructurados

– Referencias a la tabla de símbolos

– Strings, que pueden representar secuencias largas de código generado por la DDS. Este código puede ser el código intermedio          usado por el compilador

Los atributos de un nodo del árbol de análisis sintáctico, reciben valor mediante las reglas semánticas asociadas a la producción usada en ese nodo propietario del atributo.

Tenemos dos tipos de atributos:

– Sintetizados.- Se calculan a partir de los valores de los atributos de los nodos hijos del nodo actual, en el árbol de análisis                 sintáctico.

Ejemplo:

L ::= E’\n’

E ::= E+T | T

T ::= T*F | F

F ::= (E) | cte

– Heredados.- Los atributos heredados, se calculan a partir de los valores de los atributos del nodo padre y/o sus nodos                         hermanos

Ejemplo:

D ::= TL

T ::= entero | real | bool

L ::= L , id | id

Los terminales pueden tener atributos sintetizados, pero no atributos heredados.Los valores de los atributos de un símbolo terminal, son provistos por el analizador léxico, por lo que no hay reglas para su cálculo en la DDS.

EJEMPLO:

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