Este projeto faz parte da disciplina de Compiladores 2 e envolve a construção de um compilador completo.
O projeto está organizado nos seguintes diretórios:
AnalisadorLexico/
: Contém o scriptanalisador_lexico.py
responsável pela análise léxica.AnalisadorSintatico/
: Contém o scriptAnalisador_sintatico.py
e módulos relacionados à análise sintática.AnalisadorSemantico/
: Contém o scriptmain_semantico.py
responsável pela análise semântica.CodigoObjeto/
: Contém o scriptmain_gerador.py
para geração do código objeto eexecutor.py
para executar o código gerado.Dados/
: Pasta que armazena os arquivos intermediários e o código-fonte:codigo.txt
: Contém o código-fonte que será analisado.tokens.txt
: Arquivo gerado pelo analisador léxico contendo a lista de tokens.ast_output.pickle
: Arquivo gerado pelo analisador sintático contendo a Árvore Sintática Abstrata (AST).codigo_objeto.txt
: Arquivo gerado pelo gerador de código contendo o código objeto.
Para executar este projeto, você precisa ter o Python instalado em sua máquina. A versão mínima recomendada é Python 3.6 ou superior.
- Certifique-se de que o arquivo
Dados/codigo.txt
contém o código-fonte que você deseja compilar.
-
Clone o repositório:
git clone https://github.com/Parron01/Compilador.git cd seu_repositorio
-
Verifique a versão do Python:
Certifique-se de que você está usando Python 3.6 ou superior:
python --version
Para executar todas as etapas do compilador de uma só vez, utilize o script main_compilador.py
na raiz do projeto:
python main_compilador.py
Este script executa as etapas de análise léxica, sintática, semântica, geração de código objeto.
Para executar o código objeto voce precisará executar o script executor.py
Execute o analisador léxico para ler o código-fonte em Dados/codigo.txt
e gerar o arquivo tokens.txt
com os tokens encontrados:
python AnalisadorLexico/analisador_lexico.py
Execute o analisador sintático para verificar a estrutura sintática do código com base nos tokens gerados e criar a AST:
python AnalisadorSintatico/Analisador_sintatico.py
Execute o analisador semântico para verificar a coerência semântica do código:
python AnalisadorSemantico/main_semantico.py
Gere o código objeto a partir da AST gerada nas etapas anteriores:
python CodigoObjeto/main_gerador.py
Nota: Para executar o código objeto, é necessário estar no diretório raiz do projeto.
Execute o código objeto gerado utilizando o script executor.py
:
python CodigoObjeto/executor.py
- Certifique-se de que o arquivo
Dados/codigo.txt
contém o código-fonte que você deseja compilar. - Os arquivos intermediários (
tokens.txt
,ast_output.pickle
,codigo_objeto.txt
) são armazenados na pastaDados/
. - Em caso de erros durante alguma das etapas, o processo será interrompido e uma mensagem de erro será exibida.