Skip to content

☘Linguagem de programação baseada em musgo☘

License

Notifications You must be signed in to change notification settings

numnes/Musgo-Lang

Repository files navigation

                             __  __                       _
                            |  \/  |_   _ ___  __ _  ___ | |    __ _ _ __   __ _
                            | |\/| | | | / __|/ _` |/ _ \| |   / _` | '_ \ / _` |
                            | |  | | |_| \__ \ (_| | (_) | |__| (_| | | | | (_| |
                            |_|  |_|\__,_|___/\__, |\___/|_____\__,_|_| |_|\__, |
                                              |___/                        |___/

Musgo_lang é uma linguagem criada para disciplina de compiladores no curso de Ciência da Computação da Unioeste. É fortemente tipada e estática, imperativa. Tem sua sintaxe inspirada em C/C++ e Rust.

Mais detalhes sobre a linguagem podem ser encontrados neste documento de especificação.

Compilação do compilador

O compilador da linguagem foi escrito em C++. A geração do executável do compilador pode ser feita rápidamente, utilizando o CMake será gerado o arquino Makefile mais adequado para seu sistema, assim basta acessar a pasta raiz do repositório e executar:

$# cmake .

Com o arquivo Makefile gerado basta executar o utilitário make para gerar o executável:

$# make

Assim o executável do compilador chamado MUSGO será gerado na pasta raiz do repositório e estará pronto para ser usado 😊.

Utilização

Para compilar um script em Musgo_lang basta executar o compilador passando como parâmetro o caminho para o arquivo do script, este repositório possúi dois arquivos de exemplo na pasta data.

$# ./MUSGO data/main.mg

Features implementadas

  • Análise léxica
  • Análise sintática
  • Análise semântica
  • Geração de código intermediário
  • Geração de executável

🚧 Mais informaçõs serão adicionadas futuramente 🚧

Contrubuidores


Matheus Nunes

📖 💻

Mateus Edival

📖 💻

About

☘Linguagem de programação baseada em musgo☘

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published