【发布时间】:2013-05-01 21:55:11
【问题描述】:
现有的Marpa 解析器能否用于改进 Perl 5 的解析(例如,替换现有 Perl 解释器的全部或部分解析器)?
我在理论上问,例如忽略诸如“如果可以,将花费 10,000 工时”等实际考虑因素。
如果不是,阻碍使用 Marpa 的具体问题是什么? (同样,最好是理论上的)。
关于为什么这很有趣的背景,Jeffrey Kegler(Marpa 的作者)在 2008 年在 PerlMonks 上发表了一篇颇有名气的文章 "Perl Cannot Be Parsed: A Formal Proof",这篇文章受到了他当时在 Marpa 上的工作的影响。
【问题讨论】:
-
作为警告,如果可能的话,我更喜欢超越琐碎的“no parser can parse Perl code because you can execute BEGIN code blocks during compile phase”的答案。例如。展示 Marpa 如何以及为什么不能像 perl 的当前解析器似乎基于我的外行理解那样与词法分析器纠缠在一起;或者为什么 - 即使它可以 - Marpa 会不如现有的解析器。
-
我已将此问题的链接发送到 Jeffrey Kegler 的 Marpa Google 群组,希望他有兴趣根据他的 PerlMonks 旧文章“Perl Cannot Be Parsed: A Formal Proof”进行回答
-
不试怎么知道?
-
@ikegami - 大概是熟悉 Marpa 和 Perl 解析器的人(理想情况下是 Kegler 先生)可以对适用性做出判断。我感兴趣的是是否存在阻止这种情况的深层架构问题,而不是需要进行一些小的黑客攻击来对齐边缘。
-
我在评论标题中的问题。