Attribute Grammars/Exercise 2: Numbers

From Wiki**3

< Attribute Grammars
Revision as of 17:14, 18 April 2009 by Root (talk | contribs) (New page: Considere a seguinte gramática atributiva: s -> symbol 1 # symbol 2 { s. val = symbol 1. val + symbol 2. val symbol 1. x = 1 symbol 2. x = 1 ...)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Considere a seguinte gramática atributiva:

s -> symbol 1 # symbol 2 {

 	  	  	  	s. val = symbol 1. val + symbol 2. val
 	  	  	  	symbol 1. x = 1
 	  	  	  	symbol 2. x = 1
 	  	  	} 	 

symbol 1 -> symbol 2 dig {

 	  	  	  	symbol 2. x = symbol 1. x * 5
 	  	  	  	symbol 1.val = symbol 2.val + dig.val * symbol 1.x
 	  	  	} 	 

symbol -> dig {

 	  	  	  	symbol.val = dig.val * symbol.x
 	  	  	} 	 


O elemento lexical dig representa um dígito de 0 a 9, e o seu atributo val representa o valor numérico correspondente.

  1. Represente a àrvore semântica para a entrada 328#37.
  2. Apresente uma gramática atributiva equivalente que apenas contenha atributos sintetizados.

Solution