A função do compilador é algo muito simples: ler um arquivo ".java", verificar se tudo o que o arquivo está "falando" é correto, em caso afirmativo gerar o ".class" que será executado futuramente pela JVM. Apesar do objetivo simples, tem muita coisa para se divertir no desenvolvimento de um compilador, mas deixo esta parte divertida para um futuro tutorial "Eu quero o meu compilador".

Outra coisa que me deixou muito feliz, é que a estrutura do compilador é muito parecida com que eu usei no SnailDB, inclusive com os mesmos tipos de padrões, principalmente Visitor. Ou seja, desenvolvedores do javac também entenderão tranqüilamente o meu código.
Use padrões, é legal !!!
2 comentários:
O Visitor foi o padrão que mais demorei pra entender, mas quando consegui montar meu próprio exemplo e o vi funcionando pensei: "Mágica!".
Concordo com o que disse e digo ainda que Design Pattern é mais documentação pra software do que qualquer outro meio inventado, incluindo UML.
Realmente o Visitor é muito aplicado em árvores sintáticas, estrutura básica em compiladores.
Ao invés de você ir inchando a estrutura com um monte métodos (ações) que você deseja, implemente o Visitor. Novas funcionalidades poderão ser adicionadas a sua árvore, sem precisar inserir novos métodos na mesma.
Postar um comentário