Ruby 解析器

发布于 2024-07-24 04:20:45 字数 51 浏览 6 评论 0原文

 我想知道是否可以仅使用解析 ruby​​ 语言 确定性解析器根本没有回溯?

 I want to know whether it is possible to parse ruby language using just
deterministic parser having no backtracking at all ??

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

往日情怀 2024-07-31 04:20:45

您始终可以利用现有的解释器来完成您想要的操作,而不必实际编写解析器。

例如: ruby​​2ruby

http://seattlerb.rubyforge.org/ruby2ruby/ ruby​​2ruby

Instead of actually having to write a parser, you can always leverage the existing interpreter to do what you want.

For example: ruby2ruby

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

忘年祭陌 2024-07-31 04:20:45

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

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

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

我用它来为许多实际语言构建生产解析器。

I don't know any specific details about parsing Ruby, or why you insist on "no backtracking". My guess is that you believe the Ruby grammar isn't LALR(1), e.g., isn't processable by YACC or equivalents.

Regardless, if the problem is to parse a language whose grammar is context-free, one can do this using a GLR parser, which does not backtrack:

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

I've used this to build production parsers for many real languages.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文