Interpretador Python - Documentação Completa
📋 Visão Geral
Este projeto consiste na implementação de um interpretador de Python, desenvolvido como trabalho acadêmico para a disciplina de Compiladores. O objetivo principal é aplicar os conceitos estudados ao longo da disciplina, como análise léxica, análise sintática e execução de comandos, utilizando as ferramentas Flex (para o analisador léxico) e Bison (para o analisador sintático).
Integrantes
🎯 Objetivos
- Implementar um analisador léxico completo usando Flex
- Desenvolver um analisador sintático robusto usando Bison
- Criar uma árvore sintática abstrata (AST) para representação do código
- Implementar um interpretador que executa o código Python
- Demonstrar tratamento de erros e debugging
- Fornecer uma suite completa de testes
🏗️ Fluxo do Sistema
🚀 Funcionalidades Implementadas
✅ Tipos de Dados Suportados
- Inteiros:
42
,-10
,+5
- Ponto flutuante:
3.14
,-2.5
,1e-10
- Strings:
"Hello"
,'World'
- Booleanos:
True
,False
✅ Operadores
- Aritméticos:
+
,-
,*
,/
,%
,**
- Comparação:
==
,!=
,<
,>
,<=
,>=
- Lógicos:
and
,or
,not
✅ Estruturas de Controle
- Condicionais:
if
/else
- Loops:
while
- Controle de fluxo:
break
,continue
✅ Funções Built-in
print()
: Exibe valores no console
✅ Recursos Avançados
- Indentação: Suporte completo à indentação Python
- Comentários: Linhas começando com
#
- Tratamento de erros: Mensagens detalhadas de erro
- Debugging: Suporte a GDB para debugging
📁 Estrutura do Projeto
🛠️ Tecnologias Utilizadas
- Flex: Gerador de analisadores léxicos
- Bison: Gerador de analisadores sintáticos
- GCC: Compilador C
- Make: Sistema de build
- Python 3: Pré-processamento e scripts de teste
- MkDocs: Geração de documentação
📖 Próximos Passos
- Instalação: Configure o ambiente de desenvolvimento
- Uso Básico: Aprenda a compilar e executar o interpretador
- Testes: Execute e entenda a suite de testes
- Desenvolvimento: Contribua para o projeto
Histórico de Versão
Versão | Data | Descrição | Autor(es) |
---|---|---|---|
1.0 |
27/04/2025 | Criação do GitPages do grupo | Jefferson |
1.1 |
27/04/2025 | Criação da Home do grupo | Jefferson |
1.2 |
28/04/2025 | Atualização da Home no GitPages | Arthur Evangelista |
1.3 |
27/06/2025 | Adição do fluxo do sistema e funcionalidades implementadas | Arthur Evangelista |
Esta documentação foi criada para o trabalho de Compiladores, demonstrando a implementação completa de um interpretador Python usando as ferramentas Flex e Bison.