- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理习题全北工大
语言和文法
重点与难点
重点与难点
重点:文法、推导与归约、短语与句柄。
难点:文法、推导、归约、短语、句柄、文法的二义性、用文法表示语言。
基本要求
基本要求
掌握语言的描述、形式定义、文法、文法分类的概念以及形式文法的应用,了解二义性
文法,熟练掌握推导与规约、短语与句柄及用文法描述语言、正则语言、上下文无关文法、
语法分析树。
例题解析
例题解析
例1 设有文法G[S]:
S→a| (T)|ε
T→T,S|S
(1)试给出句子(a,a,a)的最左推导。
(2)试给出句子(a,a,a)的分析树
(3)试给出句子(a,a,a)的最右推导和最右推导的逆过程(即最左规约)的每一步的句柄。
【解】(1) (a,a,a)的最左推导
S= (T) = (T,S) = ( T,S,S) = ( S,S,S) = (a,S,S) = (a,a,S) = (a,a,a)
(2)(a,a,a)的分析树
S
( T )
T S
,
T S
, a
S a
a
(3) (a,a,a)最右推导 最左规约每一步的句柄
S= (T) 句柄为:(T)
= (T,S) 句柄为:T,S
= (T,a) 句柄为:a
= (T,S,a) 句柄为:T,S
= (T,a,a) 句柄为:第一个a
= (S,a,a) 句柄为:S
= (a,a,a) 句柄为:第一个a
例2 已知文法G[Z]:
1
Z→0U|1V
U→1Z|1
V→0Z|0
(1)请写出此文法描述的只含有4个符号的全部句子。
(2)G[Z]产生的语言是什么?
(3)该文法在Chomsky 文法分类中属于几型文法?
【解】(1)0101,0110,1010, 1001
(2)分析G[Z]所推导出的句子的特点:由Z 开始的推导不外乎图1 所示的四种情形。
Z Z Z Z
0 U 0 U 1 V 1 V
1 Z 1 0 Z 0
图 1 文法G[Z]可能的几种推导
由Z推导出10 或01 后就终止或进入递归,而Z的每次递归将推导出相同的符号串:10 或01。
+
所以G[Z]产生的语言L(G[Z])={x|x∈(10|01) }
(3)该文法属于3 型文法。
例3 已知文法G=({A,B,C},{a,b,c},P,A), P 由以下产生式组成:
A→abc
A→aBbc
Bb→bB
Bc→Cbcc
bC→Cb
aC→aaB
aC→aa
此文法所表示的语言是什么?
【解】
分析文法的规则:
每使用一次Bc→Cbcc,b、c 的个数各增加一个;
每使用一次aC→aaB 或aC→aa, a 的个数就增加一个;
产生式Bb→bB、 bC→Cb 起连接转换作用。
由于A是开始符号,由产生式A→abc推导得到终结符号串abc;由产生式A→aBbc推导得到B
后,每当使用产生式Bb→bB、Bc→Cbcc、bC→Cb、aC→aaB就会递归调用B一次,所产生的a、
b、
文档评论(0)