Attribute Grammars/Exercise 2: Numbers: Difference between revisions

From Wiki**3

< Attribute Grammars
(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 ...)
 
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
Considere a seguinte gramática atributiva:
#REDIRECT [[ist:Attribute Grammars/Exercise 2: Numbers]]
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 ==
 
[[category:Compilers]]
[[category:Teaching]]

Latest revision as of 23:13, 5 December 2018