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.
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
- Rust
- Clang
- Bison
- Flex
Caso ache erros, use a aba de issues para relatá-los.
A licença usada para o compilador é a licença permissiva MIT.