Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想解析一些数据,我有一个 BNF 语法来解析它。谁能推荐任何能够生成可在移动设备上使用的代码的语法编译器?
由于这是针对 JavaME 的,因此生成的代码必须是:
我以前用过JFlex,我知道它可以满足您的第二和第三个要求。但我不知道生成的代码有多大。根据手册,它默认生成一个打包的 DFA 表,所以它可能不会太糟糕。
第一个问题是你有现有的语法定义吗?当我将 LALR 语法移植到 Java 时,我使用了 JFlex/CUP。
如果您从头开始,我建议您使用 JavaCC/FreeCC,它是一个 LL(k) 解析器。它有很好的文档记录,并且没有运行时依赖项。