Analisador Léxico e Sintático em python para a disciplina Compiladores do curso Ciências da Computação 8º semestre do IFCE Maracanaú.
Analisa léxica e sintaticamente códigos em C, gerando tokens, erros e árvores sintáticas abstratas (AST). Ou seja, implementa as duas primeiras fases da compilação de código. Um compilador completo tem as fases:
Análise Léxica -> Análise Sintática -> Análise Semântica -> Geração de Código Intermediário -> Otimização -> Geração de Código de Máquina.
/
├── ast_nodes.py # Definições dos nós da AST
├── generate_trees.py # Gera as árvores como png
├── lexer.py # Analisador Léxico
├── main.py # Arquivo principal
├── parcer.py # Analisador Sintático
├── sources/ # Arquivos .c de entrada
├── tests/
│ ├── test_compiler.py # Testes automatizados
│ └── test_sources/ # Códigos .c para teste
└── generated_data/ # Resultados gerados
├── tokens/ # Listas de tokens
├── errors/ # Logs de erros
└── trees/ # Imagens da AST (.png)- Python 3.10+
pytestmatplotlib
Instale:
pip install pytest matplotlib-
Coloque seus arquivos
.cna pastasources/. -
Execute o analisador:
python main.py
-
Verifique os resultados na pasta
generated_data/.
python -m pytest