Este repositório contém um projeto acadêmico de compiladores, desenvolvido como parte de um estudo sobre design e implementação de compiladores. O projeto foca na construção de um interpretador e um verificador de tipos para uma pequena linguagem funcional, incorporando conceitos essenciais como árvores sintáticas abstratas (AST), inferência de tipos e avaliação de expressões.
- Sintaxe de Linguagem Personalizada: Suporte a expressões básicas, definição de funções e chamadas recursivas.
- Árvore Sintática Abstrata (AST): Representação estruturada do programa para análise e execução.
- Verificação de Tipos: Garante a correção das expressões por meio da verificação estática de tipos.
- Interpretador: Executa programas analisados, respeitando escopo e regras de avaliação.
- Tratamento de Erros: Exibe mensagens claras para erros de tipo e variáveis indefinidas.
- ANTLR para análise léxica e sintática
- Java para implementação do interpretador e do sistema de tipos
Este projeto está sob a licença MIT. Consulte o arquivo LICENSE para mais informações.