Outras funcionalidades

Mais sobre acções

Já vimos que é possível acrescentar directamente na gramática acções (expressas na linguagem destino) que são executadas durante a fase de análise sintáctica (na ordem expressa na gramática).

Podemos também associar a cada regra dois blocos especiais de código – @init e @after – cuja execução, respectivamente, precede ou sucede ao reconhecimento da regra.

O bloco @init pode ser útil, por exemplo, para inicializar variáveis.

O bloco @after é uma alternativa a colocar a acção no fim da regra.

Last updated