这个语法代表什么语言?

时间:2011-12-12 20:59:26

标签: context-free-grammar

我认为这是一种以a开头并以b结尾的语言,但我不确定。

G = (V,∑,P,S) where V={A,B,S,T}, ∑={a,b},  
P = { S → ε | T | AB, T → aTb | ε, A → aA | Aaa | ε, B → bB | ε }

1 个答案:

答案 0 :(得分:0)

看一下开始。对于第一次替换,有三种可能性。如果它是S -> ε,那么你已经完成了。因此语言包含空字ε。如果第一次替换为S -> TT会发生什么?很简单,T可以成为εaTb,其他任何非终结者都不会参与其中,因此制作会产生子语言(我会留给你解决这个问题,这是家庭作业)。最后,如果第一次替换是S -> AB怎么办?观看以A resp开头的作品。 B,右边的con只包含一个非终结符,你开始使用的那个替换A可能会添加一个或两个a,替换B两端({ {1}})或添加另一个ε。那么ba的哪些组合是可以到达的? b是否属于该语言?为什么resp。为什么不呢?

提示:ba有效,因此非空字不必以S -> AB -> Aε = A -> aA -> aε = a结尾。