0

 我想知道是否可以使用完全没有回溯的确定性解析器来解析 ruby​​ 语言?

4

2 回答 2

0

无需实际编写解析器,您总是可以利用现有的解释器来做您想做的事。

例如:ruby2ruby

http://seattlerb.rubyforge.org/ruby2ruby/ruby2ruby _

于 2009-06-15T21:07:28.447 回答
0

我不知道有关解析 Ruby 的任何具体细节,也不知道您为什么坚持“不回溯”。我的猜测是您认为 Ruby 语法不是 LALR(1),例如,YACC 或等价物无法处理。

无论如何,如果问题是解析一种语法是上下文无关的语言,可以使用 GLR 解析器来完成,它不会回溯:

http://en.wikipedia.org/wiki/GLR_parser

我已经用它为许多真实语言构建了生产解析器。

于 2009-07-20T08:27:19.583 回答