Difference between revisions of "Attribute Grammars/Exercise 4: Expressions with bases (1)"

From Wiki**3

< Attribute Grammars
(New page: == Problem (in Portuguese) == Pretende-se criar uma gramática atributiva que some uma sequência de inteiros separados por '''+'''. Os inteiros podem estar codificados sob o formato deci...)
 
(Problem (in Portuguese))
Line 1: Line 1:
 
== Problem (in Portuguese) ==
 
== Problem (in Portuguese) ==
  
Pretende-se criar uma gramática atributiva que some uma sequência de inteiros separados por '''+'''. Os inteiros podem estar codificados sob o formato decimal (sequência de dígitos entre 0 e 9, representados pelo elemento lexical '''DIG'''), ou em qualquer base entre 2 e 36 (sequências de dígitos de 0 a 9 e, acima de 10, também contendo as letras de A a Z que forem necessárias para representar todos os valores da base). Quando a base não é decimal, a representação do inteiro é precedida pelo valor decimal da base e pelo símbolo '''#'''. O exemplo seguinte tem como resultado 241+33=274.
+
Pretende-se criar uma gramática atributiva que some uma sequência de inteiros separados por '''+'''. Os inteiros podem estar codificados sob o formato decimal (sequência de dígitos entre 0 e 9, representados pelo elemento lexical '''DIG'''), ou em qualquer base entre 2 e 36 (sequências de dígitos de 0 a 9 e, acima de 10, também contendo as letras de A a Z que forem necessárias para representar todos os valores da base). Quando a base não é decimal, a representação do inteiro é precedida pelo valor decimal da base e pelo símbolo '''#'''.  
 +
 
 +
O exemplo seguinte tem como resultado 241+33=274.
  
 
  2 4 1 + 1 7 # 1 G
 
  2 4 1 + 1 7 # 1 G

Revision as of 17:51, 25 April 2010

Problem (in Portuguese)

Pretende-se criar uma gramática atributiva que some uma sequência de inteiros separados por +. Os inteiros podem estar codificados sob o formato decimal (sequência de dígitos entre 0 e 9, representados pelo elemento lexical DIG), ou em qualquer base entre 2 e 36 (sequências de dígitos de 0 a 9 e, acima de 10, também contendo as letras de A a Z que forem necessárias para representar todos os valores da base). Quando a base não é decimal, a representação do inteiro é precedida pelo valor decimal da base e pelo símbolo #.

O exemplo seguinte tem como resultado 241+33=274.

2 4 1 + 1 7 # 1 G

Crie a gramática para realizar a função descrita e construa a árvore semântica anotada para a entrada acima.

Solution