Este projeto implementa um compilador simples com análise léxica e sintática para uma linguagem de programação fictícia, utilizando ferramentas como Flex e Bison. Realizou-se o projeto no segundo semestre de 2022 como parte da avaliação da disciplina “Compiladores” do curso de Engenharia de Computação da Universidade Federal de Itajubá (UNIFEI - campus Itajubá).
Antes de tudo, é necessário realizar a instalação de algumas ferramentas:
Após as instalações, faça o download dos arquivos gfs.l
gfs.y
main.gfs
e certifique-se de que estão em um diretório comum para a execução do projeto.
Abra o Prompt de Comando do Windows, acesse o diretório em que os arquivos estão localizados, como por exemplo pelo comando cd C:\Users\guilh\OneDrive\Desktop\GFS
e insira os seguintes comandos:
bison -d gfs.y
flex gfs.l
O primeiro comando executa o Analisador Léxico e o segundo comando executa o Analisador Sintático. Com os dois comandos executados, surgirão três arquivos no diretório de trabalho: gfs.tab.h
gfs.tab.c
lex.yy.c
.
Em seguida, insira o seguinte comando: g++ lex.yy.c gfs.tab.c -o gfs.exe
. O arquivo executável gerado é o compilador.
Agora, execute o compilador passando o arquivo do programa criado com a linguagem GFS como parâmetro. Segue o código de exemplo:
inicio
inteiro i1 = 0;
enquanto(i1 <= 5)
{
mostre(i1) pula;
i1 = i1 + 1;
}
fim
Comando: gfs.exe main.gfs
O passo anterior produzirá dois arquivos file1.txt
(código traduzido para a linguagem C++
) e file2.txt
(reconhecimento dos tokens). Abra o arquivo gerado file1.txt
, copie o seu texto e crie um arquivo .cpp
contendo o texto copiado.
No Prompt de Comando, insira o seguinte comando para compilar o programa .cpp
: g++ main.cpp -o main.exe
.
Por fim, execute o arquivo main.exe
gerado pelo próprio Terminal e verifique a sua execução. 👨💻