Skip to content

pauloh-fm/compilador-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

compilador-java

Projeto open source da disciplina de Compiladores.

Equipe

  • Ariel Fernando
  • Paulo Henrique de Farias Martins
  • Nivaldo

Stack do Projeto

  • Linguagem: Java 21
  • Build e dependências: Maven
  • Testes: JUnit 5
  • Execução local: terminal (CLI)

Estrutura Base

  • src/main/java/br/edu/compiladorjava: código-fonte principal
  • src/test/java/br/edu/compiladorjava: testes automatizados
  • linguagem.txt: gramática/base da linguagem
  • ETAPAS.md: checklist de evolução por etapas

Pré-requisitos

  1. Java 21 instalado
  2. Maven instalado

O projeto está configurado para Java 21 em pom.xml com maven.compiler.release igual a 21.

Verificação rápida:

java -version
mvn -v

Se o Maven estiver usando Java diferente do 21, execute os comandos com:

JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64 mvn test

Ou defina no terminal para a sessao atual:

export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64
export PATH="$JAVA_HOME/bin:$PATH"

Como rodar o projeto

Executar testes:

mvn test

Gerar build:

mvn clean package

Executar aplicação base:

mvn -q exec:java

Procedimento para construir uma nova feature (atividade)

Use este fluxo para qualquer nova atividade do compilador (lexer, parser, AST, contexto, geração de código).

  1. Escolher a atividade no checklist
  • Abrir ETAPAS.md e selecionar um item não concluído.
  1. Criar branch da atividade
git checkout -b feat/nome-da-atividade
  1. Implementar em camadas
  • Criar/alterar código em src/main/java/....
  • Se necessário, incluir novas classes por responsabilidade (exemplo: lexer, parser, ast, semantic, codegen).
  1. Criar ou atualizar testes
  • Adicionar testes em src/test/java/... cobrindo casos válidos e inválidos.
  1. Executar validações locais
mvn test
mvn clean package
  1. Atualizar documentação
  • Marcar progresso em ETAPAS.md.
  • Atualizar README.md se mudar fluxo, comandos ou estrutura.
  1. Commit e revisão
git add .
git commit -m "feat: descricao da atividade"
git push -u origin feat/nome-da-atividade

Convenções recomendadas

  • Commits curtos e descritivos.
  • Sempre entregar com teste passando.
  • Preferir uma atividade por branch para facilitar revisão.

About

Projeto Compiladores

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages