Computer science 特定语言的语境语法

Computer science 特定语言的语境语法,computer-science,grammar,context-free-grammar,Computer Science,Grammar,Context Free Grammar,我不能理解这个简单的问题。我必须指出以下的语法 言语 a) (ab)^2ic,i>=1 对于i=1ababc对于i=2ababababc S -> abA A -> ab | abc | c b) a^(m-1)b^(m+1)a^nb^n,m>=1n>=1 对于i=1bbab对于i=2abbbabab S -> AbbAaAb A -> ba | ab | a 有人能检查一下这些练习并给我反馈吗。我做错了什么?第一个将生成(ab)^I,您只需要

我不能理解这个简单的问题。我必须指出以下的语法 言语

a)
(ab)^2ic,i>=1

对于i=1
ababc
对于i=2
ababababc

   S -> abA
   A -> ab | abc | c
b)
a^(m-1)b^(m+1)a^nb^n,m>=1n>=1

对于i=1
bbab
对于i=2
abbbabab

   S -> AbbAaAb
   A -> ba | ab | a

有人能检查一下这些练习并给我反馈吗。我做错了什么?

第一个将生成
(ab)^I
,您只需要在单词中包含偶数个
ab
对,因此您必须将其定义为

S -> ababA
A -> ababA | c
在第二条规则中,您还必须在右侧使用
A
,因为您的规则将创建一个最大长度为5的单词

第二个

S -> AbbB
A -> aAb | epsilon (empty string)
B -> aAb
对于单词的第一部分,您始终需要在右侧显示
bb
。您可以从它的左边生成
a^nb^n

对于单词的第二部分,我们重用非终结符
A
,但我们确保单词部分中至少有一个
ab
——这就是
B
的原因