Skip to content
/ rinhac Public

Um compilador simples usando LLVM feito durante a Rinha de Compiladores

Notifications You must be signed in to change notification settings

sixels/rinhac

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rinhac

Compilador AOT para a Rinha de Compiladores.

Instruções de uso [TODO: criar uma imagem docker]

Este compilador ainda está em desenvolvimento inicial, para testar algum programa instale as dependências e rode o executável do programa. O compilador espera como argumento o caminho para um arquivo de AST em JSON e gera de objeto .o, que precisa ser linkado com a runtime da linguagem.

Exemplo

cargo run -- ./files/print.rinha.json
gcc -c print.o target/debug/librinha_core.a -o ./print
chmod u+x ./print
./print

Dependências

  • llvm-15.0 (TODO: linkar estático)
  • libpolly-15
  • rinha (apenas para desenvolvimento) - gera uma AST JSON a partir de um source .rinha.

Instalando as dependências

Ubuntu

sudo apt install llvm-15-dev libpolly-15-dev
cd core
cargo build

About

Um compilador simples usando LLVM feito durante a Rinha de Compiladores

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages