Produção vazia em JAVACC

^ricardo^

Power Member
Já dei voltas por tudo o que é site e ainda não descobri como representar uma produção vazia em JAVACC.


Em YACC uma produção é:

cao : animal 4_patas

Uma produção vazia será:

cao :


Em JAVACC fica:

void Cao() :
{
}
{
animal() 4Patas()
}


Se alguem souber representar a produção vazia em JAVACC e puder esplicar fico muito agradecido.

:)
 
Qual é o objectivo mesmo?

Já há uns meses que não mexo no JavaCC, mas aprendi bastante com a documentação que o mesmo trazia, principalmente os exemplos..., isso está algures numa das pastas e foram os melhores conteúdos que encontrei sobre javaCC, pena que só os descobri quase no final do meu trabalho :x

HecKel
 
O objectivo é fazer um parser de MATLAB em JAVACC para testar se um dado codigo respeita as caracteristicas da dita linguagem.

Dado que a gramatica de que disponho tem algumas produções vazias dava geito saber como se faz em JAVACC.

Cumprimentos
 
Já descobri.


Use {}. Usually you can use optional clauses to avoid the need. E.g. the production
void A() : {} { B() | {} }

is the same as the production
void A() : {} { [ B() ] }

Sometimes I'll write the former rather than the latter because I know that in the future there will be some semantic action associated with the empty alternative.

Cumprimentos
 
Back
Topo