标签: parse-forest

用于C或C++的GLL分析器组合器或生成器

是否有任何现有的GLL算法实现,无论是以解析器组合器(首选)的形式,还是作为C或C++的解析器生成器?

我的要求是输出是一个共享打包解析林(SPPF),我以后可以使用语义和/或上下文规则消除歧义.还有其他解析算法,如GLR,它们能够处理一般的无上下文语法,但是,我可以找到的所有GLR解析器生成器要么返回第一个成功的解析树,要么在最后仍有任何歧义时失败.

c c++ parsing parser-combinators parse-forest

16
推荐指数
1
解决办法
1552
查看次数

Scala Parser Combinator,Ambiguous Grammar&Parse Forest

我试图让解析器从一个模糊的语法中返回所有可能的解析结果(解析林),并通过根据用户上下文/历史和知识库评估它们来从解析林中进行选择.出于性能原因,这可能应该使用packrat解析器和搜索限制/上限参数来限制递归调用的数量,以应用生产规则以避免无限循环.

作为Scala及其Parser Combinators的新手,我无法弄清楚如何做到这一点或者是否可以完成.有人可以帮忙吗?非常感激.

此致,Thomas Juan

performance grammar parsing scala parse-forest

8
推荐指数
1
解决办法
891
查看次数