Attribute Grammars/Exercise 2: Numbers
From Wiki**3
< Attribute Grammars
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.