2009-03-18 6 views
3

Je veux analyser certaines données, et j'ai une grammaire BNF pour l'analyser. Quelqu'un peut-il recommander des compilateurs de grammaire capables de générer du code pouvant être utilisé sur un appareil mobile?Recommandations de compilateur de grammaire JavaME-appropriées?

Depuis c'est pour JavaME, le code généré doit être:

  • Espérons assez petits
  • dépendances basses sur les bibliothèques Java exotiques
  • Ne dépend pas des fichiers jar d'exécution.

Répondre

1

J'ai utilisé JFlex auparavant, et je sais qu'il répond à vos deuxième et troisième exigences. Mais je ne sais pas quelle pourrait être la taille du code généré. Selon le manual, il génère une table DFA emballée par défaut, il n'est donc peut-être pas trop mauvais.

1

La première question est de savoir si vous avez une définition de grammaire existante? Quand j'ai porté une grammaire LALR vers Java, j'ai utilisé JFlex/CUP.

Si vous partez de zéro, je vous suggère d'utiliser JavaCC/FreeCC, qui est un analyseur LL (k). C'est assez bien documenté et il n'y a pas de dépendances d'exécution.