leodcs / esmeralda

A made up compiler for a fictional language

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Esmeralda

Um compilador para a matéria de Compiladores (8ᵒ período, 2020.2)
no curso de Ciência da Computação, FACAPE.

Fases da compilação

esmeralda.png

Como usar

  1. Clique aqui para baixar o executável da versão mais atualizada do compilador.
  2. Abra o executável no Windows siga a instruções exibidas na tela.
    2.1. (Opcional) Nas configurações do Terminal, desmarque a "Opção de edição" > "Modo de Edição Rápida". Isso vai impedir um problema comum no Windows onde o script requer que alguma tecla seja pressionada para continuar a execução.

Para ver as gramáticas válidas na linguagem veja o arquivo: gramaticas.txt

Observação importante ⚠️

A depender do tamanho do algoritmo sendo compilado, é possível que a compilação demore proporcionalmente.
Isso é devido a usarmos um arquivo (ao invés da memória RAM) para salvar a tabela léxica.
Para visualizá-la, veja o arquivo tabela-lexica.yaml que será gerado na mesma pasta onde está o executável.

Estrutura do projeto

  • lib/: Pasta principal do projeto.
    • config/: Configurações globais do Ruby
    • exceptions/: Classes de erro
    • nodes/: Classes usadas pelo Parser (lib/parser.rb)
  • spec/: Pasta usada para escrever testes automatizados de código com a biblioteca Rspec. Essa pasta não interfere no código do compilador.

About

A made up compiler for a fictional language


Languages

Language:Ruby 98.8%Language:Pascal 1.2%