Skip to content

renercrisostomo/Trabalho-Final-Compiladores

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Trabalho Final Compiladores

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.

Estrutura do Projeto

/
├── 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)

Requisitos

  • Python 3.10+
  • pytest
  • matplotlib

Instale:

pip install pytest matplotlib

Como Usar

  1. Coloque seus arquivos .c na pasta sources/.

  2. Execute o analisador:

    python main.py
  3. Verifique os resultados na pasta generated_data/.

Executando Testes

python -m pytest

About

Analisador Léxico e Sintático em python para a disciplina Compiladores do curso Ciências da Computação 8º semestre do IFCE Maracanaú.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors