Skip to content

compilers-uff/fun-gabriel-de-souza-e-luiza-rodrigues

Repository files navigation

Trabalho de conclusão do curso de Compiladores 2021.1

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

Objetivo

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.

Etapas

  1. Modifique a gramática de Fun para dar suporte a declaração de funções com vários paraâmetros.

  2. Modifique o compilador de Fun para Π IR de forma que declarações e expressões apropriadas sejam geradas a partir do código Fun.

  3. Teste sua estensão implementando versões que utilizem recursão de cauda (tail recursion) das funções fat e fib. Modifique também o exemplo da função apply.

##Relatorio

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.

About

fun-gabriel-de-souza-e-luiza-rodrigues created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published