Compiladores - Atividade 13

Leia com atenção as instruções abaixo.

Formato da Entrega:

Valor: 2,5 pontos na 4ª Nota.

Data da Entrega:20/10/2020

Questão 01 - 2,5 Pontos - exercício 6.21, página 345

Atenção: esta atividade ainda é do tema das aulas anteriores. Deixei para a 4ª nota para ficar mais equilibrado.

Considere a seguinte extensão da gramática da Figura 6.22 (página 332), para incluir declarações de funções e ativações:

programa -> var-decls ; fun-decls ; decls var-decls -> var-decls ; var-decl | var-decl var-decl -> id : tipo-exp tipo-exp -> int | bool | array [num] of tipo-exp fun-decls -> fun id( var-decls ) : tipo-exp ; corpo corpo -> exp decls -> decls ; decl | decl decl -> if exp then decl | id := exp exp -> exp + exp | exp or exp | exp [ exp ] | id (exps) | num | true | false | id exps -> exps, exp | exp