3

我想解析一些数据,我有一个 BNF 语法来解析它。谁能推荐任何能够生成可在移动设备上使用的代码的语法编译器?

由于这是针对 JavaME 的,因此生成的代码必须是:

  • 希望很小
  • 对外来 Java 库的低依赖
  • 不依赖于任何运行时 jar 文件。
4

2 回答 2

1

我以前用过JFlex,我知道它可以满足您的第二和第三个要求。但我不知道生成的代码有多大。根据手册,它默认生成一个打包的 DFA 表,所以它可能不会太糟糕。

于 2009-03-18T15:00:39.073 回答
1

第一个问题是你有现有的语法定义吗?当我将 LALR 语法移植到 Java 时,我使用了 JFlex/CUP。

如果您从头开始,我建议您使用 JavaCC/FreeCC,它是一个 LL(k) 解析器。它有很好的文档记录,并且没有运行时依赖项。

于 2009-06-04T01:19:00.370 回答