Skip to content
This repository has been archived by the owner on Sep 10, 2023. It is now read-only.
/ cmc Public archive

Um compilador para a linguagem C- derivada de C.

License

Notifications You must be signed in to change notification settings

mtaciano/cmc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Compilador para C-

Sobre

Nesse repositório está o compilador para um subset da linguagem C, conhecido como C-.

Todas as etapas foram implementadas, sendo elas:

  • Lexer
  • Parser
  • Analyser
  • Gerador de código intermediário
  • Gerador de código assembly
  • Gerador de código binário

Pode-se melhorar diversas partes do código. No entanto, para o propósito desejado, a implementação atual é o suficiente.

Instalação

Após clonar o repositório, entre nele e crie a pasta para onde os arquivos de compilação serão armazenados:

cd cmc
mkdir build

Para realizar o desenvolvimento do compilador cmc é recomendado usar seguinte comando:

make debug # Gera código ideal para o desenvolvimento

Para utilizar o compilador cmc como um produto final é recomendado usar o seguinte comando:

make release # Gera código otimizado em tanto tamanho e velocidade

Dependências

  • Rust
  • Clang
  • Bison
  • Flex

Contribuição

Caso ache erros, use a aba de issues para relatá-los.

Licença

A licença usada para o compilador é a licença permissiva MIT.