Este repositório contém o trabalho da disciplina de Compiladores, de 2017-2, do curso de Ciência da Computação, da Universidade Federal Rural do Rio de Janeiro, feito pelos bacharelandos Hosana Gomes, Lívia de Azevedo e William Anderson.
O objetivo do trabalho é implementar um analisador léxico e sintático, usando as ferramentas Lex e Bison, a fim de compilar uma linguagem criada pelos integrantes do grupo.
Na pasta "arquivos_diversos" encontram-se arquivos de testes para o compilador, arquivo-texto para teste da funcionalidade de string dinâmica, e alguns esboços de código intermediário.
Na pasta "exemplos" encontram-se os exemplos de código apresentados na entrega do trabalho.
As bibliotecas e os demais arquivos-fonte da aplicação estão no diretório principal.
É necessário ter o Lex e o Bison instalados na máquina para a aplicação funcionar. Caso o Lex e o Bison não estejam instalados, digitar os seguintes comandos num terminal Linux baseado em Ubuntu/Debian :
sudo apt-get install lex
sudo apt-get install bison
Esta aplicação precisa da libboost para funcionar. Para instalá-la, digite o seguinte comando no terminal:
sudo apt-get install libboost-dev -y
Para poder executar o arquivo bash, não esqueça de dar as devidas permissões com o comando:
chmod 777 runTeste.sh
Obs: É necessário estar dentro do repositório para executar o comando acima.
No terminal, digite o seguinte comando:
make all
Ou se preferir, utilize ao arquivo de bash runTeste.sh
para informar o arquivo a ser compilado e uma opção
( t - exibir o código no terminal; run - executar o código ou c -enviar o código compilado para codigo.cpp
).
Ex :
./runTeste.sh hexemplo01.tns t
O exemplo acima irá imprimir no terminal o código fonte do arquivo fornecido.
Obs: É necessário estar dentro do repositório para executar os comandos acima.