1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Produção vazia em JAVACC

Discussão em 'Programação' iniciada por ^ricardo^, 30 de Agosto de 2007. (Respostas: 3; Visualizações: 971)

  1. ^ricardo^

    ^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.

    :)
     
  2. HecKel

    HecKel The WORM

    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
     
  3. ^ricardo^

    ^ricardo^ Power Member

    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
     
  4. ^ricardo^

    ^ricardo^ Power Member

    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
     

Partilhar esta Página