关于语法二义性的2个问题,我的猜想对吗?
自学中遇到的问题:文法G=({A,B,S},{a,b,c}P,S}
其中P为
S->Ac|aB
A->ab
B->bc
那么这个句子其实只有一个接受的句子abc,那么,G是二义的吗? 我觉得是的,因为有两个不同的语法树都可以得到abc
S
/ \
Ac
/ \
ab
S
/\
aB
/ \
bc
对吗?
-------------------------------
如果这是二义的,那么另一个文法:
S->S(S)S|ε
其中ε是空串
它生成的语言应该是{()}*,那么()()有不止一种生成方式,它也是二义的文法,对吗?
请问S->SS*|SS+|a文法如何得到aa+a*句子?
从文法我看到,加号+似乎只能出现在句子的最后。那么如何能得到aa+a*这样的句子呢?
回复 1# cdsfiui
S -> SS* -> SS+S* -> aa+a*,这个+号应该表示重复前一个的意思吧,不是实际的'+',*也是重复0或多个前一个,不是实际的'*'
页:
[1]