Marpa可以用来加速Perl解释器的解析吗?

DVK*_*DVK 10 perl parsing marpa

可以根据现有的马尔巴解析器可以用来改善的Perl 5的解析(例如,取代现有的Perl解释器的解析器的全部或块)?

我在理论层面上提出要求,例如忽视实际考虑因素,例如"如果能够,则需要花费10,000个工时".

如果没有,阻止使用Marpa的具体问题是什么?(再次,最好是理论上的).

有关为什么这很有趣的背景,Jeffrey Kegler(Marpa的作者)于2008年在PerlMonks 上发表了一篇有着名的文章"Perl Can not Parsed:A Formal Proof",这篇文章受到当时他对Marpa的影响.

Jef*_*ler 10

谢谢你的询问.perlmonks post和我目前的解析工作解决了两个不同的相关问题.问题1:Perl解析,完全通用,是否可以通过图灵机进行解析?问题2:作为一个实际问题,Marpa可以解析Perl 5吗?

您可以比较两个问题:"每个C程序的行为是否可判定?" 和"可以机器X运行用C编译的程序吗?" 答案分别是"否"和"是对所有实际目的和X的合理选择".所以我的perlmonks帖子(在这里更新)是关于Perl程序的语法是否完全通用,可判定的理论问题.请注意,在该上下文中Perl解析的可判定性与Marpa,递归下降,野牛等无关 - 它与图灵机有关.

问题2是"Marpa可以驱动一个实用的Perl 5解析器吗?" 当前的Perl 5解析器是LALR,具有单独的词法分析器和许多程序辅助.Marpa比LALR更强大,允许单独的词法分析器,并且比LALR提供更多的程序代码帮助.我在最近的博客文章中谈到了速度问题:"Earley解析得足够快吗?" 我刚才所说的是电报 - 但我希望它能够概述我如何证明我对问题2的"是"答案.

没有深层的架构问题阻碍了Marpa驱动的Perl 5解析器.在这一点上,这真的是一个舒适程度的问题.