UNIVERSIDAD NACIONAL DE    LOJA<br />ÁREA DE LA ENERGÍA, LAS INDUSTRIAS Y LOS RECURSOS NATURALES NO RENOVABLES.<br />CARRE...
Carla Espinosa</li></ul>LOJA 2010<br />
GRAMATICAS CON ATRIBUTOS<br />
Antes de empezar a desarrollar el ejercicio debemos tener bien claro lo siguiente<br />Debido a que nuestro ejercicio es d...
EXPLICACIÓN<br />Determinar para que vamos a utilizar la gramática. Declaración de variables de tipo  C<br />Identificar ...
TABLA CON LAS REGLAS<br />A continuación presentamos el formato que debe tener la tabla para resolver el ejercicio:<br />
Ejercicio : Considere la siguiente gramática simple para declaraciones de variable en una sintaxis tipo C:<br />Gramática<...
Enunciado del Ejercicio<br />Queremos definir un atributo de tipo de datos para las variables dadas por los identificadore...
En primer lugar, los valores de dtype son del conjunto (integer, real) que corresponde a los tokens int y float. El no ter...
Desarrollo del Ejercicio <br />Para una mejor comprensión y elaboración de las reglas semánticas comenzaremos construyendo...
CONSTRUIMOS EL ARBOL ….<br />
1. Partimos de la gramática<br />2. Construimos el árbol a partir de la cadena:<br />                                     ...
var-list<br />id, var-list<br />type<br />decl<br />type<br />,<br />float <br />id <br />var-list<br />type = int   Inte...
var-list<br />id, var-list<br />type<br />decl<br />type<br />,<br />float <br />id <br />var-list<br />Decla<br />Necesit...
var-list<br />id, var-list<br />type<br />decl<br />type<br />,<br />float <br />id <br />var-list<br />float <br />id <br...
var-list<br />id, var-list<br />type<br />decl<br />type<br />,<br />float <br />id <br />var-list<br />Decla<br />float <...
Decla<br />Type<br />Var-List1<br />Dtype =real<br />Dtype =real<br />Float<br />Var-list2<br />id<br />,<br />Necesita en...
Decla<br />Type<br />Var-List1<br />Dtype =real<br />Dtype =real<br />Dtype =real<br />Dtype =real<br />Float<br />Var-lis...
var-list<br />id, var-list<br />type<br />decl<br />type<br />,<br />float <br />id <br />var-list<br />Decla<br />float <...
Decla<br />Var-List1<br />Type<br />Dtype =real<br />Dtype =real<br />Var-list2<br />Float<br />id<br />,<br />Dtype =real...
Decla<br />Var-List1<br />Type<br />Dtype =real<br />Dtype =real<br />Var-list2<br />Float<br />id<br />,<br />Dtype =real...
Finalmentela tabla nos quedaría así:<br />
Upcoming SlideShare
Loading in …5
×

Ejercicio De Analisis Semantico

4,499 views

Published on

Ejercio de análisis semántico

Published in: Business
  • Be the first to comment

  • Be the first to like this

Ejercicio De Analisis Semantico

  1. 1. UNIVERSIDAD NACIONAL DE LOJA<br />ÁREA DE LA ENERGÍA, LAS INDUSTRIAS Y LOS RECURSOS NATURALES NO RENOVABLES.<br />CARRERA DE INGENIERIA EN SISTEMAS<br />MODULO IX<br />“PROYECTOS FINAL”<br />TEMA:<br />Análisis semántico <br />INTEGRANTES:<br /><ul><li>Catalina Cobos
  2. 2. Carla Espinosa</li></ul>LOJA 2010<br />
  3. 3. GRAMATICAS CON ATRIBUTOS<br />
  4. 4. Antes de empezar a desarrollar el ejercicio debemos tener bien claro lo siguiente<br />Debido a que nuestro ejercicio es de tipo heredado debemos saber que:<br />Los atributos heredados tienen dependencias que fluyen ya sea de padre a hijos en el árbol de análisis gramatical (a lo que deben su nombre) o de hermano a hermano.<br />La razón para que él atributo seaheredadoes su algoritmo, la herencia entre hermanos a menudo se implementa de tal manera que los valores de atributo se pasen de hermano a hermano u a través del padre. <br />
  5. 5. EXPLICACIÓN<br />Determinar para que vamos a utilizar la gramática. Declaración de variables de tipo C<br />Identificar el tipo de dato del atributo o el valor de la expresión.<br />Determinar las ecuaciones con respecto a los atributos.<br />Analizar bien el enunciado que nos presenta este ejercicio<br />
  6. 6. TABLA CON LAS REGLAS<br />A continuación presentamos el formato que debe tener la tabla para resolver el ejercicio:<br />
  7. 7. Ejercicio : Considere la siguiente gramática simple para declaraciones de variable en una sintaxis tipo C:<br />Gramática<br />Gramáticas con atributos <br />
  8. 8. Enunciado del Ejercicio<br />Queremos definir un atributo de tipo de datos para las variables dadas por los identificadores en una declaración y escribir ecuaciones que expresen cómo está relacionado el atributo de tipo de datos con el tipo de la declaración. Hacemos esto construyendo una gramática con atributos para un atributo dtype (utilizamos el nombre dtype para distinguir el atributo del no terminal type).<br />
  9. 9. En primer lugar, los valores de dtype son del conjunto (integer, real) que corresponde a los tokens int y float. El no terminal type tiene un dtype dado por el token que representa. Este dtype corresponde al dtype de la var-list entera, por la ecuación asociada con la regla gramatical para decl. Cada id en la lista tiene este mismo dtype, por las ecuaciones asociadas con var-list. Advierta que no hay ecuación que involucre el dtype del no terminal decl. En realidad, una decl no necesita tener un dtype: no es necesario especificar el valor de un atributo para todos los símbolos gramaticales.<br />
  10. 10. Desarrollo del Ejercicio <br />Para una mejor comprensión y elaboración de las reglas semánticas comenzaremos construyendo un árbol a partir de una cadena valida. <br />Cadena Float x , y<br />Para irnos ayudando podemos ir realizando las derivaciones como se muestra a continuación <br />
  11. 11. CONSTRUIMOS EL ARBOL ….<br />
  12. 12. 1. Partimos de la gramática<br />2. Construimos el árbol a partir de la cadena:<br /> Float x , y <br />decl<br />var-list<br />type<br />Decla<br />Var-List<br />Type<br />Dtype =real<br />
  13. 13. var-list<br />id, var-list<br />type<br />decl<br />type<br />,<br />float <br />id <br />var-list<br />type = int  Integer<br />type = float Real<br />dtype <br />Decla<br />Type<br />Var-List<br />Dtype =real<br />Float<br />
  14. 14. var-list<br />id, var-list<br />type<br />decl<br />type<br />,<br />float <br />id <br />var-list<br />Decla<br />Necesita encontrar este valor<br />Type<br />Var-List<br />Dtype =real<br />Dtype =real<br />Tomamos el <br />valor del <br />hermano  Type<br />Float<br />
  15. 15. var-list<br />id, var-list<br />type<br />decl<br />type<br />,<br />float <br />id <br />var-list<br />float <br />id <br />id <br />,<br />Decla<br />Necesita encontrar este valor<br />Type<br />Var-List<br />Dtype =real<br />Dtype =real<br />Tomamos el <br />valor del <br />hermano  Type<br />Float<br />
  16. 16. var-list<br />id, var-list<br />type<br />decl<br />type<br />,<br />float <br />id <br />var-list<br />Decla<br />float <br />id <br />id <br />,<br />Type<br />Var-List<br />Dtype =real<br />Dtype =real<br />Float<br />
  17. 17. Decla<br />Type<br />Var-List1<br />Dtype =real<br />Dtype =real<br />Float<br />Var-list2<br />id<br />,<br />Necesita encontrar estos valores<br />Heredamos del atributo padre  Var-list<br />
  18. 18. Decla<br />Type<br />Var-List1<br />Dtype =real<br />Dtype =real<br />Dtype =real<br />Dtype =real<br />Float<br />Var-list2<br />id<br />,<br />
  19. 19. var-list<br />id, var-list<br />type<br />decl<br />type<br />,<br />float <br />id <br />var-list<br />Decla<br />float <br />id <br />id <br />,<br />X <br />Y <br />float <br />,<br />Type<br />Var-List1<br />Dtype =real<br />Dtype =real<br />Float<br />Var-list2<br />id<br />,<br />
  20. 20. Decla<br />Var-List1<br />Type<br />Dtype =real<br />Dtype =real<br />Var-list2<br />Float<br />id<br />,<br />Dtype =real<br />Dtype =real<br />id<br />Dtype =real<br />
  21. 21. Decla<br />Var-List1<br />Type<br />Dtype =real<br />Dtype =real<br />Var-list2<br />Float<br />id<br />,<br />Dtype =real<br />Dtype =real<br /> Float x , y<br />id<br />Dtype =real<br />
  22. 22. Finalmentela tabla nos quedaría así:<br />
  23. 23. Gracias<br />

×