Skip to content

Migrar para o ANTLR4 #1

@marcelometal

Description

@marcelometal

Contexto

Atualmente o projeto utiliza ANTLR2, que está obsoleto e sem manutenção ativa. O ANTLR4 é a versão moderna, com melhor suporte, ecossistema ativo e recursos mais robustos para análise sintática.

Esta migração visa modernizar o parser, facilitar manutenção futura e reduzir problemas de compatibilidade com ferramentas e ambientes atuais.

Objetivos da migração

  • Atualizar o parser para ANTLR4
  • Remover dependências legadas do ANTLR2
  • Melhorar a manutenibilidade e evolução da gramática
  • Garantir compatibilidade com o código existente
  • Manter o comportamento da linguagem o mais próximo possível do atual

Principais diferenças entre ANTLR2 e ANTLR4

  • ANTLR4 não utiliza mais ASTs manuais (#(...))
  • Separação clara entre lexer e parser
  • Uso de listeners e visitors no lugar de ações embutidas na gramática
  • Regras de parser são sempre LL(*), sem backtracking explícito
  • Sintaxe de gramática diferente e não retrocompatível

Escopo do trabalho

  • Revisar a gramática atual do ANTLR2
  • Reescrever a gramática no formato ANTLR4 (.g4)
  • Separar corretamente regras de lexer e parser
  • Migrar ações semânticas para listeners ou visitors
  • Atualizar a geração de código no build
  • Ajustar código que consome o parser
  • Criar testes para validar compatibilidade de comportamento
  • Documentar diferenças conhecidas após a migração

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions