我想用Perl编写简单的解析器,主要是在现有语言之上提供一个附加层。我在看Parse::Yapp,Parse::Lex,甚至Marpa::R2,但是唯一的具体例子总是相同的:一个做43 * 8 + 1的简单计算器。我很难找到其他的例子,所以我想知道这些包是否仍然是实现解析器的好选择。
Parse::Yapp、Parse::Lex或Marpa::R2仍然是hand-rolled方法的好解决方案吗?
在哪里可以找到关于这些模块的更多示例和文档?CPAN页面通常是非常空的。
发布于 2015-07-01 09:25:51
对于类似这样的小型简单解析器作业,我编写了Parser::MGC。数值表达式计算的特殊情况很可能是其中一个示例的变体,即
https://metacpan.org/source/PEVANS/Parser-MGC-0.13/examples/eval-expr.pl
发布于 2015-07-01 16:13:19
R2正在大量使用,而且越来越多。IBM宣传他们对它的使用:audit?lang=en Metacpan列出了30个直接依赖项,其中有间接依赖项。有开放源码的C,ECMAScript解析器.网站上还有更多的东西:http://savage.net.au/Marpa.html#Applications
https://stackoverflow.com/questions/31156514
复制相似问题