有适合JavaME的语法编译器推荐吗?
我想解析一些数据,并且我有一个 BNF 语法来解析它。 谁能推荐任何能够生成可在移动设备上使用的代码的语法编译器?
由于这是针对 JavaME 的,因此生成的代码必须:
- 希望非常小
- 对外来 Java 库的依赖性低
- 不依赖于任何运行时 jar 文件。
I want to parse some data, and I have a BNF grammar to parse it with. Can anyone recommend any grammar compilers capable of generating code that can be used on a mobile device?
Since this is for JavaME, the generated code must be:
- Hopefully pretty small
- Low dependencies on exotic Java libraries
- Not dependant on any runtime jar files.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我以前使用过JFlex,我知道它满足您的第二个和第三个要求。 但我不知道生成的代码可能有多大。 根据手册,它默认生成一个打包的DFA表,所以可能不会太坏的。
I have used JFlex before, and I know it satisfies your second and third requirements. But I don't know how big the generated code might be. According to the manual, it generates a packed DFA table by default, so it might not be too bad.
第一个问题是你有现有的语法定义吗? 当我将 LALR 语法移植到 Java 时,我使用了 JFlex/CUP。
如果您从头开始,我建议您使用 JavaCC/FreeCC,它是一个 LL(k) 解析器。 它有很好的文档记录,并且不存在运行时依赖性。
The first question is do you have an existing grammar definition? When I've ported a LALR grammar to Java, I've used JFlex/CUP.
If your starting from scratch, I'd suggest you use JavaCC/FreeCC, which is an LL(k) parser. It's quite well documented and there are not runtime dependencies.