PUC-Rio - 2014.1 - INF1715 - Compiladores
Professor: Hisham Muhammad
Aluno: Otávio Junqueira C. Leão (otaviojcl@me.com)
Criação de um compilador capaz de transformar um código escrito em linguagem Mini-0 em código assembly.
A linguagem Mini-0 é uma linguagem bastante pequena, mas com um conjunto razoável de recursos para manipulação básica de inteiros, caracteres, booleanos e vetores. Ela oferece estruturas de controle if/else/end e while/loop; variáveis; funções com parâmetros e retorno de valores.
Além disso, nossa implementação gerará código objeto compatível com C, o que permitirá que programas Mini-0 possam chamar funções das bibliotecas padrão de C.
Trabalho 1 - Análise Léxica
Trabalho 2 - Análise Sintática
Trabalho 3 - Árvore Sintática Abstrata
Trabalho 4 - Tabela de Símbolos e Verificação de Tipos
Trabalho 5 - Código Intermediário
Trabalho 6 - Geração de Assembly Nativo
O compilador foi escrito em linguagem Lua (http://www.lua.org/), utilizando a biblioteca Perl Compatible Regular Expression - PCRE (http://www.pcre.org/). A instalação é indicada com o uso do gerenciador de pacotes LuaRocks (http://luarocks.org/br).