我试图理解一个关于语法和生产规则的概念。
根据有关此主题的大多数材料:
1) Epsilon 产生式规则仅在它们没有出现在任何其他产生式规则的 RHS 上时才被允许。
但是,采用语法:
G = { T,N,P,S }
在哪里:
T = {a,b}
N = {S,S1}
S = {S}
P {
S -> aSb
S -> ab
S1 -> SS1
S1 -> E //Please note, using E to represent Epsilon.
}
其中,语法的语言是:
L(G) = { a^n, b^n | n >= 1 }
在这种情况下,存在包含 Epsilon 的产生式规则(从 S1 派生),但 S1 也构成另一个产生式规则 (S1 -> SS1) 的 RHS 的一部分。
这不违反第1点吗?