6

我已经使用 antlr 和 javacc/freecc 有一段时间了。现在我需要使用 antlr 语法编写一堆解析器,但是这样的解析器需要用 ruby​​ lang 编写。

我用谷歌搜索但没有找到。是否有任何使用 antlr 语法并创建解析器的 ruby​​ 解析器生成器?如果有很多,你认为哪个是最好的?

蒂亚保罗

4

3 回答 3

9
  1. 通过使用JRuby并将 ANTLR 解析器保留在 java 中,您可能会轻松摆脱困境。
  2. 如果PEG足以胜任您的工作,那么treetop和较新的柑橘是红宝石学家常用的工具。
  3. 我在研究项目时挖掘的其他解析器是:peggyKanoccRacc

对于我的项目,我选择了树梢(柑橘尚未诞生)。

于 2010-06-15T08:21:28.373 回答
3

为什么不使用 ANTLR Ruby:http ://www.antlr.org/wiki/display/ANTLR3/Antlr3RubyTarget ( http://split-s.blogspot.com/2005/12/antlr-for-ruby.html )

这里还有一些测试版:http ://rubyforge.org/projects/antlr3/

于 2010-06-15T08:15:17.683 回答
1

您还可以使用 ANTLR for Java 或 C 生成解析器,并使用 JRuby 或FFI从您的 Ruby 程序中调用它。

这也应该会给你带来性能提升,如果你有很多输入要解析,这可能是一个很大的优势。

于 2010-06-15T08:25:47.027 回答