Linguagens de Programação - Atividade 05

Nesta atividade, vamos tratar da Gramática de Atributos.

Questão 01

Escreva uma gramática de atributos para o valor inteiro de um número dado pela gramática a seguir:

<número> → <dígito> <número> | <dígito>
<dígito> →  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
                        

Lembre que você precisa definir os atributos e as regras semânticas para serem aplicadas a cada derivação e, se necessário, os predicados. Para finalizar, crie a árvore para 345 e mostre o cálculo dos atributos.

Questão 02

Escreva uma gramática de atributos para o valor em ponto flutuante de um número dado pela gramática a seguir:

<dnum> → <num>.<num>
<num> → <num> <dígito>  | <dígito>
<dígito> →  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
                        

Lembre que você precisa definir os atributos e as regras semânticas para serem aplicadas a cada derivação e, se necessário, os predicados. Para finalizar, crie a árvore para 72.351 e mostre o cálculo dos atributos.

Dica: use um atributo contagem para contar o número de dígitos à direita do ponto decimal.