我想解析一些数据,我有一个BNF语法来解析它。任何人都可以推荐任何能够生成可在移动设备上使用的代码的语法编译器吗?
由于这是针对JavaME的,因此生成的代码必须是:
答案 0 :(得分:1)
之前我使用过JFlex,我知道它满足你的第二和第三个要求。但我不知道生成的代码有多大。根据{{3}},它默认生成一个打包的DFA表,所以它可能不会太糟糕。
答案 1 :(得分:1)
第一个问题是你有一个现有的语法定义吗?当我将LALR语法移植到Java时,我使用了JFlex / CUP。
如果你从头开始,我建议你使用JavaCC / FreeCC,这是一个LL(k)解析器。它有很好的文档记录,并且没有运行时依赖性。