Heat é um compilador para a linguagem Ruby, feito em C++, como projeto da disciplina de Compiladores da Professora Roberta Lopes e desenvolvido por:
- Hélder Lima
- Jonathan Yuri
- Rui Fernandes
- Vinícius Maia
Foi criado um diagrama próximo a um autômato finito determinístico, que pode ser acessado clicando aqui.
A BNF da linguagem Ruby (modificada) utilizada pelo Heat pode ser acessada clicando aqui.
A execução pode ser feita de duas formas.
# Limpar cache
make clean
# Compilar
make main
# Executar
./dist/main.out ./src/mocks/hello-world.rb
./compile.sh
./run.sh ./src/mocks/hello-world.rb
O projeto possui testes automatizados, que podem ser rodados de duas formas.
make clean
make test
./dist/test.out
./test.sh