Tutorial: Implemente o Compilador Lexical

Bem-vindo! Este é um tutorial prático e progressivo onde você aprende implementando.

Novo aqui? Comece em COMECE_AQUI.md — guia de orientação completo (15 min).

🎯 O que você vai construir

Um compilador lexical funcional para Minerês em 4 fases:

  1. Automato.py (60-90 min) - Reconhecer tokens individuais
  2. Lexer.py (60-90 min) - Tokenizar fluxos de entrada
  3. Main.py (30 min) - Interface de linha de comando
  4. Testes (30 min) - Validação completa

📈 Progresso

 0% ════════════════════════════════════ 100%
 │
 ├─ Fase 1: Automato ✅ → test_automato.py passa
 ├─ Fase 2: Lexer ✅ → test_lexer.py passa
 ├─ Fase 3: Main.py ⏳ → CLI pendente
 └─ Fase 4: Testes ⏳ → expandir integracao/qualidade

📚 Fases do tutorial

Fase 1: Automato.py →

  • Entender AFD (Autômato Finito Determinístico)
  • Carregar arquivo automatos/automato.txt
  • Implementar reconhecimento de tokens
  • Resultado: Reconhecer entrada individual ✅

Fase 2: Lexer.py →

  • Usar Automato para tokenizar fluxos
  • Rastreamento linha/coluna
  • Palavras-chave vs identificadores
  • Resultado: Analisador léxico funcional ✅

Fase 3: Main.py →

  • CLI para testar seu compilador
  • Aceitar arquivo ou string
  • Exibição formatada de tokens
  • Resultado esperado: python main.py programa.txt

Fase 4: Testes →

  • Testes unitários
  • Testes de integração
  • Validação completa
  • Resultado atual: validação parcial concluída (automato + lexer)

⏱️ Tempo total

  • Leitura + Planejamento: 15 min
  • Implementação: 3-4 horas
  • Debugging + Testes: 45 min
  • Total: 4-6 horas dedicadas

🚀 Comece agora

Opção 1 - Guiado completo (recomendado para primeiro estudo): → COMECE_AQUI.md

Opção 2 - Direto ao código: → Fase 1: Automato.py

📖 Recursos


Table of contents