Skip to content

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 tip

Notifications You must be signed in to change notification settings

MarcosMateusOS/academic-compilers-project

Repository files navigation

Compilador

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.

Funcionalidades

  • 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.

Tecnologias Utilizadas

  • ANTLR para análise léxica e sintática
  • Java para implementação do interpretador e do sistema de tipos

Licença

Este projeto está sob a licença MIT. Consulte o arquivo LICENSE para mais informações.

About

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 tip

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages