10000 GitHub - leodcs/esmeralda: A made up compiler for a fictional language
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

leodcs/esmeralda

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Resources

Stars

Watchers

Forks

Packages

No packages published
0