Epsilon或Lambda语法

时间:2018-11-20 15:38:25

标签: parsing grammar context-free-grammar parse-tree

所以我有一套语法

S -> X Y
X -> a X
X -> 
Y -> b
Z -> a Z
Z -> a

我对此语法唯一的困惑是X的第二次生产

那里什么都没有。等于使用Epsilonε或Lamdaλ

我假设这只是语法上的区别,但是我想确定一下,因为我正在尝试构建第一套和第二套

1 个答案:

答案 0 :(得分:3)

不同的作者使用ε和λ(有时还用Λ)表示空字符串。在现代写作中,ε更为常见,但您会经常在较早的教科书中找到λ,甚至在较早的教科书中也会看到Λ。

使用这些符号的目的是使空序列可见。无论是书面形式,还是空序列,都应该像在产品X ⇒ 中那样将其视为空序列。


如果您很难理解符号无意义的想法,那么您可能会喜欢阅读查尔斯·塞菲(Charles Seife)的《零:一个危险想法的传记》或罗伯特·卡普兰(Robert Kaplan)的《无》那就是:《零自然史》,都发表在标志性的2K年,并且都探讨了漫长而艰辛的努力,以理解虚无的概念。 (“没有人出去买零条鱼”-阿尔弗雷德·北·怀特海德)。


已建议Λ/λ来自德语单词“ leer”,表示为空,而ε来自英语单词“ empty”。曾经有一段时间德语在数学逻辑的学术讨论中更为普遍,因此该理论似乎是合理的。