Alunos: Gabriel de Souza Candido e Luiza Rodrigues de Souza
Christiano Braga
Instituto de Computação
Universidade Federal Fluminense
- Data de entrega: 24/09/2021
Estender a linguagem Fun e seu interpretador com suporte a definição de uma função com um número indefinido de parâmetros e sua chamada.
-
Modifique a gramática de Fun para dar suporte a declaração de funções com vários paraâmetros.
-
Modifique o compilador de Fun para Π IR de forma que declarações e expressões apropriadas sejam geradas a partir do código Fun.
-
Teste sua estensão implementando versões que utilizem recursão de cauda (tail recursion) das funções
fat
efib
. Modifique também o exemplo da funçãoapply
.
##Relatorio
Escolhemos como separador de parâmetros o operador @
Para essa etapa foram modificados a parte de operadores (Keywords)
no arquivo fun2.maude
para dar espaço ao nosso operador
eq keywords = ('fun '`( '`) '= '`, '~ '+ '- '* '/ '>= '> '<= '< '== 'or 'and 'if 'then 'else '@) .
Para concluir a alteração no fun2
terminamos com as demais alterações para permitir que o compilador aceite os parâmetros em suas devidas colocações.