• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Ejercicio De Analisis Semantico
 

Ejercicio De Analisis Semantico

on

  • 3,477 views

Ejercio de análisis semántico

Ejercio de análisis semántico

Statistics

Views

Total Views
3,477
Views on SlideShare
3,441
Embed Views
36

Actions

Likes
0
Downloads
62
Comments
0

2 Embeds 36

http://www.slideshare.net 30
http://scbea.wordpress.com 6

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Ejercicio De Analisis Semantico Ejercicio De Analisis Semantico Presentation Transcript

    • UNIVERSIDAD NACIONAL DE LOJA
      ÁREA DE LA ENERGÍA, LAS INDUSTRIAS Y LOS RECURSOS NATURALES NO RENOVABLES.
      CARRERA DE INGENIERIA EN SISTEMAS
      MODULO IX
      “PROYECTOS FINAL”
      TEMA:
      Análisis semántico
      INTEGRANTES:
      • Catalina Cobos
      • Carla Espinosa
      LOJA 2010
    • GRAMATICAS CON ATRIBUTOS
    • Antes de empezar a desarrollar el ejercicio debemos tener bien claro lo siguiente
      Debido a que nuestro ejercicio es de tipo heredado debemos saber que:
      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.
      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.
    • EXPLICACIÓN
      Determinar para que vamos a utilizar la gramática. Declaración de variables de tipo C
      Identificar el tipo de dato del atributo o el valor de la expresión.
      Determinar las ecuaciones con respecto a los atributos.
      Analizar bien el enunciado que nos presenta este ejercicio
    • TABLA CON LAS REGLAS
      A continuación presentamos el formato que debe tener la tabla para resolver el ejercicio:
    • Ejercicio : Considere la siguiente gramática simple para declaraciones de variable en una sintaxis tipo C:
      Gramática
      Gramáticas con atributos
    • Enunciado del Ejercicio
      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).
    • 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.
    • Desarrollo del Ejercicio
      Para una mejor comprensión y elaboración de las reglas semánticas comenzaremos construyendo un árbol a partir de una cadena valida.
      Cadena Float x , y
      Para irnos ayudando podemos ir realizando las derivaciones como se muestra a continuación
    • CONSTRUIMOS EL ARBOL ….
    • 1. Partimos de la gramática
      2. Construimos el árbol a partir de la cadena:
      Float x , y
      decl
      var-list
      type
      Decla
      Var-List
      Type
      Dtype =real
    • var-list
      id, var-list
      type
      decl
      type
      ,
      float
      id
      var-list
      type = int  Integer
      type = float Real
      dtype
      Decla
      Type
      Var-List
      Dtype =real
      Float
    • var-list
      id, var-list
      type
      decl
      type
      ,
      float
      id
      var-list
      Decla
      Necesita encontrar este valor
      Type
      Var-List
      Dtype =real
      Dtype =real
      Tomamos el
      valor del
      hermano  Type
      Float
    • var-list
      id, var-list
      type
      decl
      type
      ,
      float
      id
      var-list
      float
      id
      id
      ,
      Decla
      Necesita encontrar este valor
      Type
      Var-List
      Dtype =real
      Dtype =real
      Tomamos el
      valor del
      hermano  Type
      Float
    • var-list
      id, var-list
      type
      decl
      type
      ,
      float
      id
      var-list
      Decla
      float
      id
      id
      ,
      Type
      Var-List
      Dtype =real
      Dtype =real
      Float
    • Decla
      Type
      Var-List1
      Dtype =real
      Dtype =real
      Float
      Var-list2
      id
      ,
      Necesita encontrar estos valores
      Heredamos del atributo padre  Var-list
    • Decla
      Type
      Var-List1
      Dtype =real
      Dtype =real
      Dtype =real
      Dtype =real
      Float
      Var-list2
      id
      ,
    • var-list
      id, var-list
      type
      decl
      type
      ,
      float
      id
      var-list
      Decla
      float
      id
      id
      ,
      X
      Y
      float
      ,
      Type
      Var-List1
      Dtype =real
      Dtype =real
      Float
      Var-list2
      id
      ,
    • Decla
      Var-List1
      Type
      Dtype =real
      Dtype =real
      Var-list2
      Float
      id
      ,
      Dtype =real
      Dtype =real
      id
      Dtype =real
    • Decla
      Var-List1
      Type
      Dtype =real
      Dtype =real
      Var-list2
      Float
      id
      ,
      Dtype =real
      Dtype =real
      Float x , y
      id
      Dtype =real
    • Finalmentela tabla nos quedaría así:
    • Gracias