Domanda

Voglio analizzare alcuni dati e ho una grammatica BNF per analizzarli. Qualcuno può raccomandare qualche compilatore di grammatica in grado di generare codice che può essere utilizzato su un dispositivo mobile?

Poiché questo è per JavaME, il codice generato deve essere:

  • Speriamo piuttosto piccolo
  • Piccole dipendenze da librerie Java esotiche
  • Non dipende da alcun file jar di runtime.
È stato utile?

Soluzione

Ho già usato JFlex e so che soddisfa i tuoi secondi e terzi requisiti. Ma non so quanto sia grande il codice generato. Secondo il manuale , per impostazione predefinita genera una tabella DFA compresso, quindi potrebbe non essere troppo male.

Altri suggerimenti

La prima domanda è: hai una definizione grammaticale esistente? Quando ho portato una grammatica LALR su Java, ho usato JFlex / CUP.

Se inizi da zero, ti suggerisco di usare JavaCC / FreeCC, che è un parser LL (k). È abbastanza ben documentato e non ci sono dipendenze di runtime.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top