3、上下文无关语言练习
《编译原理》课后习题答案第三章第3章文法和语言第1

《编译原理》课后习题答案第三章第3 章文法和语言第1 题文法G=({A,B,S},{a,b,c},P,S)其中P 为:S→Ac|aBA→abB→bc写出L(G[S])的全部元素。
答案:L(G[S])={abc}第2 题文法G[N]为:N→D|NDD→0|1|2|3|4|5|6|7|8|9G[N]的语言是什么?答案:G[N]的语言是V+。
V={0,1,2,3,4,5,6,7,8,9}N=>ND=>NDD.... =>NDDDD...D=>D......D或者:允许0 开头的非负整数?第3题为只包含数字、加号和减号的表达式,例如9-2+5,3-1,7等构造一个文法。
答案:G[S]:S->S+D|S-D|DD->0|1|2|3|4|5|6|7|8|9第4 题已知文法G[Z]:Z→aZb|ab写出L(G[Z])的全部元素。
盛威网()专业的计算机学习网站 1《编译原理》课后习题答案第三章答案:Z=>aZb=>aaZbb=>aaa..Z...bbb=> aaa..ab...bbbL(G[Z])={anbn|n>=1}第5 题写一文法,使其语言是偶正整数的集合。
要求:(1) 允许0 打头;(2)不允许0 打头。
答案:(1)允许0 开头的偶正整数集合的文法E→NT|DT→NT|DN→D|1|3|5|7|9D→0|2|4|6|8(2)不允许0 开头的偶正整数集合的文法E→NT|DT→FT|GN→D|1|3|5|7|9D→2|4|6|8F→N|0G→D|0第6 题已知文法G:<表达式>::=<项>|<表达式>+<项><项>::=<因子>|<项>*<因子><因子>::=(<表达式>)|i试给出下述表达式的推导及语法树。
(5)i+(i+i)(6)i+i*i盛威网()专业的计算机学习网站 2 《编译原理》课后习题答案第三章答案:<表达式><表达式> + <项><因子><表达式><表达式> + <项><因子>i<项><因子>i<项><因子>i( )(5) <表达式>=><表达式>+<项>=><表达式>+<因子>=><表达式>+(<表达式>)=><表达式>+(<表达式>+<项>)=><表达式>+(<表达式>+<因子>)=><表达式>+(<表达式>+i)=><表达式>+(<项>+i)=><表达式>+(<因子>+i)=><表达式>+(i+i)=><项>+(i+i)=><因子>+(i+i)=>i+(i+i)<表达式><表达式> + <项><项> * <因子><因子> i<项><因子>ii(6) <表达式>=><表达式>+<项>=><表达式>+<项>*<因子>=><表达式>+<项>*i=><表达式>+<因子>*i=><表达式>+i*i=><项>+i*i=><因子>+i*i=>i+i*i盛威网()专业的计算机学习网站 3《编译原理》课后习题答案第三章第7 题证明下述文法G[〈表达式〉]是二义的。
形式语言自动机——上下文无关文法与下推自动机(四)

无论 Xi 为终结符,还是非终结符,都有 Xi w i .
因此 ,A X1X2…Xm , w 1 w 2… w m = w
所以: 对任何 wT*, if (q,w,S)├*(q, , ), then S w.
即, wL(M) wL(G).
College of Computer Science & Technology, BUPT
(q,w,A)├ (q,w, X1X2…Xm ) ├* (q, w2…wm , X2…Xm) ├* (q, w3…wm , X3…Xm)├* …├* (q, , ).
所以: if S w, then (q,w,S)├*(q, , ).
即, wL(G) wL(M).
College of Computer Science & Technology, BUPT
13
a, z0/Az0 a, A/AA
q0 b, A/ε
b, A/ε ε, A/ε
q1 ε, z0/ε
解:(1)∵ q0,q1∈Q, ∴ 构造 S→[q0,z0,q0];
(2)对③④⑤⑥式,可构造
S→[q0,z0,q1]
由δ(q0,b,A)={( q1,ε)} 得 [q0,A,q1]→b
由δ(q1,b,A)={( q1,ε)} 得[q1,A,q1]→b
7
例3: 从文法构造等价的下推自动机
例:构造一个PDA M,使Lφ(M)= L(G)。其中G是我们常用来生 成算术表达式的文法:
G=(N,T,P,E) N={ E,T,F }, T ={ +,*,(,),a }, S = { E } P: E→E+T∣T ; T→T*F∣F; F→( E )∣a
解:构造M=({q},T,Γ,δ,q,E,φ)
形式语言与自动机理论--第六章 上下文无关语言2(第十五周)

先用算法6-1,文法被化简成:
Sa,Aa,C b
再用算法6-2,可得到文法:
S a
14
2.1去无用符号
例 6-2-1 设有如下文法
SAB|a|BB,Aa,Cb|ABa
先用算法6-2,文法被化简成:
SAB|a|BB,Aa
再用算法6-1,可得到文法:
S a,Aa
11
2.1去无用符号
定理 6-5 算法6-2是正确的。
证明要点: (1) 施归纳于派生步数n,证明如果Sn αXβ,则
当 X∈V 时 , X 在 算 法 中 被 语 句 (3) 或 者 语 句 (8) 放入NEWV;当X∈T时,它在算法中被语句(4) 或者语句(9)放入NEWT。 (2) 对 循环 次 数 n施 归 纳, 证 明如 果 X被放 入 NEWT 或 者 NEWV 中 , 则 必 定 存 在 α , β∈(NEWV∪NEWT)*,使得Sn αXβ。 (3) 证明L(G′)=L(G) 。
26
2.3 去单一产生式
(3)删除G2中的无用符号。 由于在删除单一产生式后,文法中可能出现新的 无用符号,因此,我们还需要再次删除新出现的无 用符号。 此外,在去ε-产生式后可能会产生新的单一产生式, 也可能会引进新的无用符号。这是值得注意的。
27
2.3 去单一产生式
例:
SA|B Aa BbB|b
G4:S0|0A A0|1|0A|1A| _C
C0用符号、 ε产生式和 单一产生式。
3
2.1 去无用符号
定义6-8:无用符号(useless symbol)
对于任意X∈V ∪ T,如果存在w∈L(G), X出现在w的派生过程中,即存在α, β∈(V∪T)*,使得S*αXβ*w,则称X 是有用的,否则,称X是无用符号。
上下文无关文法

第三部分上下文无关语言和下推自动机前面介绍的有限自动机是计算的初级模型,它所接受的正规语言不太关心字符串自身的结构。
上下文无关文法(CFL)是一种简单的描述语法规则的递归方法,语言中的字符串由这些规则产生。
所有的正规语言都能用上下文无关文法描述,它也可以描述非正规语言。
上下文无关文法描述的语法规则更复杂多变,可以在相当大的程度上,描述高级程序设计语言的语法和其他一些形式语言。
类似正则语言对应的抽象机模型是有限自动机,CFL也有对应的抽象机模型。
CFL对应的计算模型是在有限自动机的基础上增加存储空间得到,并被设想成无限空间(对应有限自动机的有限空间),采用了一种简单的管理模式,栈(stack),这种新的计算模型(或抽象机)称为下推自动机(pushdown automata),下推是栈最典型的操作。
有必要在下推自动机中保留非确定性,确定型下推自动机不能接受所有的CFL,但给定一个CFG,容易构造一个相应的非确定型下推自动机,它在识别字符串过程中的移动模拟了文法的推导过程,这个过程称为分析(parse)。
分析不是一定需要下推自动机来完成。
CFL仍然不够通用,不能包括所有有意义的、或有用的形式语言。
采用类似第五章的技术,我们将给出一些不是CFL的简单例子,这些技术也用于解决与CFL相关的判定问题。
6 上下文无关文法6.1 上下文无关文法的定义为了描述我们在第二部分考察的各种语言,包括一些非正则语言,我们引入一种语言的递归定义方法,称为文法。
文法与我们熟悉的语言的语法描述相近,是描述语言和分析语言的有力工具。
问题:文法的形式化定义似乎可以模仿有限自动机,比如5元组或6元组之类。
例子6.1 正如我们在例子2.16中所见,字母表{a, b}上的回文语言pal可以用下面的递归方法描述:1.Λ, a, b∈pal2.对每个S∈pal,aSa和bSb也属于pal3.pal中不包含其他字符串如果将上面的符号S看成一个变量,代表了所有我们希望计算(比如某种递归算法)的pal 的元素,那么上面的规则1和规则2可以非正式地重新表述如下:1.S的值可以是Λ, a, b2.每个S可以写成aSa或bSb的形式如果我们用→表示“可以取值为”,则可以写出下面的式子:S→aSa→abSba→abΛba=abba上面的产生过程可以总结成下面的两组产生式(或称规则):S→a | b | ΛS→aSa | bSb符号“|”表示“或”的含义。
编译原理教程课后习题答案——第三章

第三章语法分析3.1 完成下列选择题:(1) 文法G:S→xSx|y所识别的语言是。
a. xyxb. (xyx)*c. xnyxn(n≥0)d. x*yx*(2) 如果文法G是无二义的,则它的任何句子α。
a. 最左推导和最右推导对应的语法树必定相同b. 最左推导和最右推导对应的语法树可能不同c. 最左推导和最右推导必定相同d. 可能存在两个不同的最左推导,但它们对应的语法树相同(3) 采用自上而下分析,必须。
a. 消除左递 a. 必有ac归b. 消除右递归c. 消除回溯d. 提取公共左因子(4) 设a、b、c是文法的终结符,且满足优先关系ab和bc,则。
b. 必有cac. 必有bad. a~c都不一定成立(5) 在规范归约中,用来刻画可归约串。
a. 直接短语b. 句柄c. 最左素短语d. 素短语(6) 若a为终结符,则A→α·aβ为项目。
a. 归约b. 移进c. 接受d. 待约(7) 若项目集Ik含有A→α· ,则在状态k时,仅当面临的输入符号a∈FOLLOW(A)时,才采取“A→α· ”动作的一定是。
a. LALR文法b. LR(0)文法c. LR(1)文法d. SLR(1)文法(8) 同心集合并有可能产生新的冲突。
a. 归约b. “移进”/“移进”c.“移进”/“归约”d. “归约”/“归约”【解答】(1) c (2) a (3) c (4) d (5) b (6) b (7) d (8) d3.2 令文法G[N]为G[N]: N→D|NDD→0|1|2|3|4|5|6|7|8|9(1) G[N]的语言L(G[N])是什么?(2) 给出句子0127、34和568的最左推导和最右推导。
【解答】(1) G[N]的语言L(G[N])是非负整数。
(2) 最左推导:NNDNDDNDDDDDDD0DDD01DD012D0127NNDDD3D34NNDNDDDDD5DD56D568最右推导:NNDN7ND7N27ND27N127D1270127NNDN4D434NNDN8ND8N68D685683.3 已知文法G[S]为S→aSb|Sb|b,试证明文法G[S]为二义文法。
上下文无关文法例题

上下文无关文法例题在学习自然语言处理(NLP)时,上下文无关文法(CFG)是一个重要的概念。
CFG是一种形式文法,用于描述自然语言中的句子结构。
在CFG中,句子的结构由一系列规则定义,这些规则表示如何将句子分解成更小的成分,直到最终得到最基本的句子成分为止。
举个例子,考虑一个简单的CFG规则:“句子 -> 主语谓语宾语”。
这个规则表示一个句子可以分解成一个主语、一个谓语和一个宾语。
例如,句子“我看见你”符合这个规则,其中“我”是主语,“看见”是谓语,“你”是宾语。
在自然语言处理中,CFG经常用于句法分析。
句法分析是分析句子结构的过程,通过识别句子中的成分和它们之间的关系来理解句子的含义。
CFG可以帮助我们理解句子的结构,从而更好地进行句法分析。
除了句法分析,CFG还在其他领域有着广泛的应用。
例如,在编译器设计中,CFG用于描述编程语言的语法规则。
编译器可以根据这些规则来解析、分析和转换源代码。
此外,在自然语言生成、机器翻译和问答系统等领域,CFG也被广泛应用。
尽管CFG在许多领域具有重要作用,但它也有一些局限性。
最显著的局限性之一是无法处理上下文相关的语言现象。
在自然语言中,许多语言现象依赖于上下文信息,例如代词的指代关系、动词的不确定性等。
CFG无法很好地处理这些现象,因此在一些复杂的自然语言任务中,需要使用更高级的文法模型。
为了解决CFG的局限性,研究人员提出了许多扩展和改进的文法模型,如上下文无关文法(PCFG)、依存文法(DG)和转换文法(TG)等。
这些文法模型在不同程度上克服了CFG的局限性,使得对自然语言的分析和处理更加精确和有效。
总的来说,上下文无关文法在自然语言处理中扮演着重要的角色,它是理解句子结构和进行句法分析的基础。
尽管存在一些局限性,但通过结合其他文法模型和技术,我们可以更好地理解和处理自然语言,为人工智能技术的发展和应用提供更有力的支持。
上下文无关文法与语言

第 5 章上下文无关文法及语言现在我们把注意力从正则语言转移到另外一大类语言上来,它们叫做“上下文无关语言”。
这个语言类有着自然、递归的表示方法,这种表示方法叫做“上下文无关文法”。
从1960年以来,上下文无关文法一直在编译技术中扮演着重要的角色。
它们能够把分析器(一类用来在编译过程中发掘源程序结构的程序)的实现从一种费时的、不通用方式的设计工作转变成为一种能够很快完成的工作。
近年来,上下文无关文法也被用来描述文档格式:XML(eXtensible Markup Language 可扩展标记语言)中使用的DTD(Document-Type Definition 文档类型定义)就是用来描述Web上的信息交换格式的。
在本章中,我们将首先介绍上下文无关文法的表示方法,然后将介绍怎样用文法来定义语言。
我们将会讨论到“语法分析树”──对一个文法处在它所表示的语言的字符串中结构的图形描述。
语法分析树是对一个编程语言的语法分析器的产物,也是通常用来获得程序结构的途径。
上下文无关语言还有另外一种等价的自动机表示叫做“下推自动机”。
我们将在第6章介绍下推自动机。
虽然它不如有穷自动机重要,但仍然要介绍它,原因是作为一种语言的定义机制来说,它跟上下文无关文法具有等价性,后面在第7章研究如何判定上下文无关语言以及研究上下文无关语言的封闭性时,这种等价性是非常有用的。
5.1 上下文无关文法这一章的内容将从非形式化地介绍上下文无关文法的表示法开始。
形式化的定义会在读者了解到这些文法的一些重要的能力之后给出。
届时我们将会说明怎样形式地定义一个文法,并将介绍一种叫作“推导”的过程:它能够决定在一个文法的语言中到底有哪些串。
5.1.1一个非形式化的例子下面来考虑一个“回文(palindrome)”的语言。
“回文”是指正向和反向读起来都一样的串,比如otto或者madamimadam(“Madam, I’m Adam,”引自Eve在Eden的花园里听到的第一句话)。
3、上下文无关语言练习

第3章、上下文无关语言习题解答 - 练习3.1 回忆一下例3.3中给出的CFG G 4。
为方便起见,用一个字母重新命名它的变元如下:E →E +T|TT →T ×E|FF →(E )|a 给出下述字符串的语法分析树和派生。
a. ab. a+ac. a+a+ad. ((a))答:a.E TF a ⇒⇒⇒ b.E E T TF F a a a ⇒+⇒+⇒+⇒+ c.E E T E TF T F a F a a a a a ⇒+⇒++⇒++⇒++⇒++ d. ()()()(())(())(())(())E T F E T F E T F a ⇒⇒⇒⇒⇒⇒⇒⇒⇒3.2 a. 利用语言A={a m b n c n | m,n ≥0}和B={a n b n c m | m,n ≥0}以及例3.20(语言B={a n b n c n | n ≥0}不是上下文无关的),证明上下文无关语言在交的运算下不封闭。
b. 利用(a)和DeMorgan 律(定理1.10),证明上下文无关语言在补运算下不封闭。
证明:a.先说明A,B 均为上下文无关文法,对A 构造CFG C 1S →aS|T|εT →bTc|ε//生成b n c n对B,构造CFG C 2S →Sc|R|εR →aRb |ε //生成a n b n 由此知 A,B 均为上下文无关语言。
由例3.20, A ∩B={a n b n c n |n ≥0}(假设m ≤n )不是上下文无关语言,所以上下文无关语言在交的运算下不封闭。
b. 用反证法。
假设CFL在补运算下封闭,则对于(a)中上下文无关语言A,B,A,B也为CFL。
因为CFL对并运算封闭,所以A B也为CFL,进而知道A B为CFL。
由DeMorgan定律A B A B=,得出A B是CFL。
这与(a)的结论矛盾,所以CFL对补运算不封闭。
3.3 设上下文无关文法G:R→XRX|SS→aTb|bTaT→XTX|X|εX→a|b回答下述问题:a.G的变元和终结符是什么?起始变元是哪个?答:变元是:R,X,S,T;起始变元是R。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章、上下文无关语言习题解答 - 练习3.1 回忆一下例3.3中给出的CFG G 4。
为方便起见,用一个字母重新命名它的变元如下:E →E +T|TT →T ×E|FF →(E )|a 给出下述字符串的语法分析树和派生。
a. ab. a+ac. a+a+ad. ((a))答:a.E TF a ⇒⇒⇒ b.E E T TF F a a a ⇒+⇒+⇒+⇒+ c.E E T E TF T F a F a a a a a ⇒+⇒++⇒++⇒++⇒++ d. ()()()(())(())(())(())E T F E T F E T F a ⇒⇒⇒⇒⇒⇒⇒⇒⇒3.2 a. 利用语言A={a m b n c n | m,n ≥0}和B={a n b n c m | m,n ≥0}以及例3.20(语言B={a n b n c n | n ≥0}不是上下文无关的),证明上下文无关语言在交的运算下不封闭。
b. 利用(a)和DeMorgan 律(定理1.10),证明上下文无关语言在补运算下不封闭。
证明:a.先说明A,B 均为上下文无关文法,对A 构造CFG C 1S →aS|T|εT →bTc|ε//生成b n c n对B,构造CFG C 2S →Sc|R|εR →aRb |ε //生成a n b n 由此知 A,B 均为上下文无关语言。
由例3.20, A ∩B={a n b n c n |n ≥0}(假设m ≤n )不是上下文无关语言,所以上下文无关语言在交的运算下不封闭。
b. 用反证法。
假设CFL在补运算下封闭,则对于(a)中上下文无关语言A,B,A,B也为CFL。
因为CFL对并运算封闭,所以A B也为CFL,进而知道A B为CFL。
由DeMorgan定律A B A B=,得出A B是CFL。
这与(a)的结论矛盾,所以CFL对补运算不封闭。
3.3 设上下文无关文法G:R→XRX|SS→aTb|bTaT→XTX|X|εX→a|b回答下述问题:a.G的变元和终结符是什么?起始变元是哪个?答:变元是:R,X,S,T;起始变元是R。
终结符是:a,b,εb.给出L(G)中的三个字符串。
答:ab,ba,aab。
c.给出不在L(G)中的三个字符串。
答:a,b,ε。
d.是真是假:T aba⇒。
答:假e.是真是假:*T aba⇒。
答:真f.是真是假:T T⇒。
答:假g.是真是假:*T T⇒。
答:假h.是真是假:*XXX aba⇒。
答:真i.是真是假:*X aba⇒。
答:假j.是真是假:*T XX⇒。
答:真k.是真是假:*T XXX⇒。
答:真l.是真是假:*Xε⇒。
答:假m.用普通的语言描述L(G):3.4和3.5 给出产生下述语言的上下文无关文法和PDA ,其中字母表∑={0,1}。
a. {w | w 至少含有3个1}S →A1A1A1AA →0A|1A|ε读输入中的符号。
每读一个1,把一个1推入栈,每读1个0,不读栈也不写栈。
同时非确定性地转移,并把1个1弹出栈。
如果能转移三次,共弹出三个1,则接受这个输入,并继续读输入符号直至结束。
否则拒绝这个输入。
b. {w | w 以相同的符号开始和结束,w 的长大于1}S →0A0|1A1A →0A|1A|ε读输入中的第一个符号并将其推入栈。
继续读后面的符号,同时非确定性地猜想输入符号和栈符号是否相同,如果相同则转移到接受状态,如果此时输入结束,则接受这个输入,否则继续输入。
c. {w | w 的长度为奇数}S →ASA|0|1A →0|1读输入中的1个符号,转移到接受状态,再读一个符号,转移到非接受状态,如此循环。
可见接受长度为奇数的字符串。
d. {w | w 的长度为奇数且正中间的符号为0}S →ASA|00,ε→ε 1,ε→ε0,ε→ε0, ε→ε0, ε→ε 0,ε→εA →0|1读输入中的1个符号,推入1个0 。
每当读到0时就非确定性地猜想已经到达字符串的中点,然后变成读输入中的1个符号,就把栈中的0弹出。
当输入结束的同时栈被排空,则接受,否则拒绝。
e. {w | w 中1比0多}答:S →T1T | T1S// T1T 可以产生1比0多1个的所有字符串。
// T1S 可以产生1比0多2个以上的所有字符串。
T →0T1T | 1T0T | ε // T 可以产生0和1数目相等的所有字符串。
如果输入0时,栈顶元素是1,则弹出1;否则将0推入堆栈。
如果输入1时,栈顶元素是0,则弹出0;否则将1推入堆栈。
非确定地猜想栈顶元素是1,且栈中都是1,如果是,则接受;否则拒绝。
f. {w | w=w R ,即w 是一个回文,回文是顺读和倒读都一样的字符串}S →0S0|1S1|1|0|ε如果W 是回文,那么它的中点有三种可能:1) 字符个数是奇数,中点的字符是1。
2) 字符个数是奇数,中点的字符是0。
3) 字符个数是偶数,中点的字符是ε。
开始时,把读到的字符推入栈中,在每一步非确定性地猜想已经到达字符串的中点。
然后变成把读到的每一个字符弹出栈,检查在输入中和在栈顶读到的字符是否一样。
0,ε→0 0,0→ε0,ε→0 1,0→ε 0,1→ε0,ε→0 0,0→ε如果它们总是一样的,并且当输入结束时栈是空的,则接受;否则拒绝。
g. 空集S →S3.6 给出产生下述语言的上下文无关文法:a . 字母表{a,b}上a 的个数是b 的个数的两倍的所有字符串组成的集合。
答:S →bSaSaS|aSbSaS|aSaSbS|εb . 语言{a n b n |n ≥0}的补集。
见问题3.25中的CFG:答:分析问题:{a n b n |n ≥0}语言的CFG 为:S →aSb|ε。
违反条件的情况可能有两种:1. 一种是在连续的a 中间插入了字符b ,或者在连续的b 中间插入了字符a 。
2. a 和b 的数目不相等。
所以可以设计文法如下:S →aSb|bT|Ta// 只能生成错序的或者a 和b 个数不相等的字符串。
T →aT|bT|ε // 生成所有由a,b 组成的字符串。
c .{w#x | w, x ∈{0,1}*且w R 是x 的子串}。
答: 分析问题:根据题义,语言w#x 可以分解成为:#R w Tw T T U其中T 是所有由0,1组成的字符串。
所以可以设计文法如下:S →UTU →0U0|1U1|#T// 生成w#Tw R T →0T|1T|ε // 生成所有由0,1组成的字符串d .{x 1#x 2#⋯#x k |k ≥1, 每一个x i ∈{a,b}* , 且存在i 和j 使得x i =x j R }。
答: 分析问题:根据题义,语言x 1#x 2#⋯#x k 可以分解成为:111#...###...###...#R i j j j kUV Wx x x x x x -+ 所以可以设计文法如下:S →UVWU→A#U|εW→#AW|εA→aA|bA|ε// 生成所有由a,b组成的字符串x iV→aVa|bVb|#U3.7 略。
3.8 证明在3.1节开始部分给出的文法G2中,字符串the girl touches the boy with the flower 有两个不同的最左派生,叙述这句话的两个不同意思。
G2如下:<句子>→<名词短语><动词短语><名词短语>→<复合名词>|<复合名词><介词短语><动词短语>→<复合动词>|<复合动词><介词短语><介词短语>→<介词><复合名词><复合名词>→<冠词><名词><复合动词>→<动词>|<动词><名词短语><冠词>→a_|the_<名词>→boy_|girl_|flower_<动词>→touch_|1ikes_|Sees_<介词>→with_答:1.第一种最左派生<句子>⇒<名词短语><动词短语>⇒<复合名词><动词短语>⇒<冠词><名词><动词短语>⇒a_<名词><动词短语>⇒a_girl_<动词短语>⇒a_girl_<复合动词>⇒a_girl_<动词>< 名词短语>⇒a_girl_touches_< 名词短语>⇒ a_girl_touches_<复合名词><介词短语>⇒a_girl_touches_<冠词><名词><介词短语>⇒a_girl_touches_the_<名词><介词名词>⇒a_girl_touches_the_boy_<介词短语>⇒a_girl_touches_the_boy_<介词><复合名词>⇒a_girl_touches_the_boy_with_<复合名词>⇒a_girl_touches_the_boy_with_<冠词><名词>⇒a_girl_touches_the_boy_with_the_<名词>⇒a_girl_touches_the_boy_with_the_flower含义是:女孩碰这个带着花的男孩2.第二种最左派生<句子>⇒<名词短语><动词短语>⇒<复合名词><动词短语>⇒<冠词><名词><动词短语>⇒a_<名词><动词短语>⇒a_girl_<动词短语>⇒a_girl_<复合动词><介词短语>⇒a_girl_<动词>< 名词短语><介词短语>⇒a_girl_touches_< 名词短语><介词短语>⇒a_girl_touches_<冠词><名词><介词短语>⇒a_girl_touches_the_< 名词><介词短语>⇒a_girl_touches_the_boy_<介词短语>⇒a_girl_touches_the_boy_<介词><复合名词>⇒a_girl_touches_the_boy_with_<复合名词>⇒a_girl_touches_the_boy_with_<冠词><名词>⇒a_girl_touches_the_boy_with_the_<名词>⇒a_girl_touches_the_boy_with_the_flower含义是:女孩用花碰这个男孩3.9 给出产生语言A={a i b j c k| i,j,k≥0且或者i=j或者j=k}的上下文无关文法。