Skip to content

Repositório para a Disciplina de Compiladores da UnB. Compilador para a linguagem TINY

Notifications You must be signed in to change notification settings

StrawHat972/JoaoCompilacao

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Comandos para Geração do Arquivo

Esse repositório diz respeito a um compilador da linguagem teórica TINY para Assembly RISC-V.

Para compilar o código do projeto, digite no seu terminal o seguinte comando:

make all

Uma vez gerado o executável, para realizar a compilação é preciso passar o nome do arquivo de entrada por linha de comando, por exemplo:

./compiler tests/fatorial.tiny

Pode-se também utilizar diretivas de compilação como por exemplo:

./compiler -a tests/fatorial.tiny

As diretivas válidas são -t para mostrar a Árvore Sintática gerada, -s para a Tabela de Símbolos, -p para o Código Intermediário (P-Code) ou -a para mostrar todos os três.

Com o código compilado para Assembly RISC-V, utilize o seguinte comando para então executá-lo (caso alguma janela seja aberta, apenas a ignore):

./fpgrars tests/fatorial.s

Utilize o comando a seguir para excluir arquivos gerados pela compilação (só funciona no Linux ou no WSL):

make clean

Caso não possa utilizar a diretiva make, o seguinte passo a passo é necessário para realizar a compilação.

Primeiro, gere o código C do analisador sintático por meio do seguinte comando:

bison -d analysis/parser.y

A diretiva -d fará que o gerador do analisador sintático gere o .c e o .h da BNF. Uma vez gerado o .h é necessário incluí-lo no código .l das definições dos tokens.

Em seguida, gere o código C do analisador léxico com o seguinte comando:

flex analysis/scanner.l

Uma vez gerados os dois códigos, basta compilá-los usando o comando a seguir:

g++ -o compiler main.cpp parser.tab.c lex.yy.c analysis/*.cpp synthesis/*.cpp

Depois disso é só seguir o mesmo passo a passo apresentado anteriormente para o make.

Observação: O executável fpgrars.exe só funciona em Windows.

About

Repositório para a Disciplina de Compiladores da UnB. Compilador para a linguagem TINY

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •