Parsing

warning: Creating default object from empty value in /home/bughunter/bughunter.tecland.com.br/modules/taxonomy/taxonomy.module on line 1390.

Simples exemplo de uso do re2c

Para quem não conhece, o re2c é um tool para escrever rápidos e flexíveis scanners. Um adepto desse tool não tão recentemente, é o PHP em sua versão 5.3, vindo assim a substituir o velho Flex, o qual já demostrei em posts anteriores envolvendo parsers. Em questão de atualizações, o re2c vem se mantendo mais ativo, visto que o Flex não atualiza desde fevereiro de 2008.

A forma de utilização do re2c é diferente do Flex, vendo o código abaixo percebemos que as declarações ficam dentro de uma espécie de comentário, que no fim de tudo tornar-se-á naquele conhecido código cheio de GOTOs. Enfim, veja como é simples!

Conflitos de Shift/Reduce

O material a seguir é uma tradução da documentação do Bison 2.3.
Desta vez, vamos começar com uma parte do glossário, necessário para entender o resto do texto, eu acho. :D