Parsing 歧义语法分析器
是否有一个解析器可以解析不明确的语法(最好是在Haskell中) Parsec的论文()陈述了以下内容: “对于语言中的一个句子,歧义语法有多个解析树。只有能够返回多个值的解析器组合符才能处理歧义语法。此类组合符使用列表作为其答复类型。”Parsing 歧义语法分析器,parsing,haskell,parsec,Parsing,Haskell,Parsec,是否有一个解析器可以解析不明确的语法(最好是在Haskell中) Parsec的论文()陈述了以下内容: “对于语言中的一个句子,歧义语法有多个解析树。只有能够返回多个值的解析器组合符才能处理歧义语法。此类组合符使用列表作为其答复类型。” 但我还没有找到任何这样的解析器组合器。它们存在吗?存在。在我的脑海中,有一个这样的例子。在这里找到了类似的答案:@mba12 MetaS似乎正是我要寻找的,但我似乎找不到任何这样的软件包。AlexisKing回答了我的问题,谢谢@RahulManne对不起,我
但我还没有找到任何这样的解析器组合器。它们存在吗?存在。在我的脑海中,有一个这样的例子。在这里找到了类似的答案:@mba12 MetaS似乎正是我要寻找的,但我似乎找不到任何这样的软件包。AlexisKing回答了我的问题,谢谢@RahulManne对不起,我对MetaS一无所知。您还可以在Antlr中编写一个解析器,使用自定义代码处理歧义。这可能比您希望做的工作要多,但可能是一个合理的解决方案。标准库中的
ReadP
也可以做到这一点,尽管它在解析多树的深度上可能是指数级的(earley只是立方)。