×

什么时候可能还不够好。 (英语) Zbl 1276.68046号

在为语言构造解析器时,可以选择两种不同的方法来处理其输出:返回no或单个结果(即,可能基于),或者更一般地,返回结果列表(基于列表)。在某些情况下,出于性能原因,首选基于maybe的解析器:由于其回溯功能,基于列表的解析程序可能会变得指数级缓慢。基于可能的解析器可以处理LL(1)文法,但也可以处理一些非LL(1)的文法。
然后出现了一个问题,即哪些语法能够正确地用于基于maybe的解析器。这个问题最终被证明是不可判定的,通过将Post的对应问题简化为这个问题,给出了证明(基于类似的结构,以表明判定语法模糊的问题通常是不可确定的)。这个函数珍珠在一个新的设置中重新生成这些已知的结果(由Knuth),即Haskell中的解析器组合子。

MSC公司:

68甲18 函数编程和lambda演算
68N20型 编译与解释理论
第68季度第42季度 语法和重写系统

软件:

哈斯克尔
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] J.功能。程序。第1页,共18页–(2008年)
[2] 计算理论导论。(2005)
[3] 内政部:10.1007/BF00289517·Zbl 0233.68022号 ·doi:10.1007/BF00289517
[4] 计算机语言论文选(2003)·Zbl 1046.68003号
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。