IM的算法从grammar.It左递归消除以下称取出小量生产,如果有任何
我有以下的语法
S-->Aa/b
A-->Ac/Sd/∈
取出小量生产的语法变得之后我可以看到
1) S-->Aa/a/b
2)A-->Ac/Sd/c/d
林困惑,其中A / B进来1)和c / d进来2)有人能解释一下吗?
IM的算法从grammar.It左递归消除以下称取出小量生产,如果有任何
我有以下的语法
S-->Aa/b
A-->Ac/Sd/∈
取出小量生产的语法变得之后我可以看到
1) S-->Aa/a/b
2)A-->Ac/Sd/c/d
林困惑,其中A / B进来1)和c / d进来2)有人能解释一下吗?
让我们来看看规则S->Aa
,如果A->∈
则S->∈a
给刚刚S->a
,所以连同之前的规则,我们得到S->Aa|a|b
现在让我们检查规则A->Ac
和A->∈c
这让我们A->c
。
怎么样A->Sd
? 我看不出你是如何得到A->d
作为一项规则。 如果这是一个规则,则字符串“DA”是由这个语法接受( S->Aa & A->d --> "da"
),而是试图建立此字符串与原来的语法-如果你开始S
和字符串以完成a
,这意味着你必须使用S->Aa
,但后来为了有一个"d"
你必须使用A->Sd
,这迫使我们有另一个"a"
或"b"
,这意味着我们无法建造这个字符串,以及规则A->d
是不正确的。