Compiladores - Atividade 07

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

Formato da Entrega:

Valor: 2,5 pontos na 2ª Nota.

Data da Entrega:31/08/2020

Questão 01 - 2,5 Pontos

A gramática a seguir representa expressões aritméticas simples em notação prefixa similar a de LISP:

lexp -> número | (op lexp-seq) op -> +|-|* lexp-seq -> lexp-seq lexp | lexp

Por exemplo, a expressão (*(- 2) 3 4) tem como valor -24. Escreva uma especificação Yacc para um programa que compute e imprima o valor das expressões nessa sintaxe. (Dica: Isso requer que a gramática seja reescrita, bem como seja utilizado um mecanismo para passar o operador para lexp-seq.)

Observação: Existe um pacote chamado clisp no Ubuntu e derivados que instala um interpretador LISP. Ele é meio arcaico e complicado de usar, mas serve para verificar os valores que vocês possam ter dúvida para as sentenças. Ao utilizá-los, lembre de usar espaços em branco para separar o operador dos operandos.