- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章语法分析3.1完成下列选择题:文法G :
第三章语法分析
3.1完成下列选择题:
文法G : StxSx|y所识别的语言是
a. xyx b. (xyx)*
c. xnyxn(n 0) d. x*yx*
如果文法G是无二义的,则它的任何句子a _
最左推导和最右推导对应的语法树必定相同
最左推导和最右推导对应的语法树可能不同
最左推导和最右推导必定相同
可能存在两个不同的最左推导,但它们对应的语法树相同
(3)采用自上而下分析,必须 。
a.消除左递 a.必有ac归 b.消除右递归
c.消除回溯 d.提取公共左因子
(4)设a、b、c是文法的终结符,且满足优先关系 ab和be,则
b.必有ca
c.必有ba
在规范归约中,用
a.直接短语
c.最左素短语
(6)
a.
c.
⑺
a
.r曰
定是 。
b. LR(0)文法
d. SLR(1)文法
冲突。
b.移进”移进”
d.归约”归约”
⑵ a (3) c ⑷ d (5) b (6) b
时,
a€ FOLLOW(A)
⑺ d (8) d
d. a?c都不一定成立
来刻画可归约串。
b.句柄
d.素短语
若a为终结符,则A Ta aB为 项目。
归约 b.移进
接受 d.待约
若项目集Ik含有A Ta ?,则在状态k时,仅当面临的输入符号 才采取A Ta ?动作的一
a. LALR文法
c. LR(1)文法 (
(8)同心集合并有可能产生新的
(8)
a.归约
c.移进”归约” 【解答】 ⑴c
3.2令文法G[N]为 G[N]: N tD|ND
D t 0|1|2|3|4|5|6|7|8|9
G[N]的语言L(G[N])是什么?
给出句子0127、34和568的最左推导和最右推导。
【解答】
G[N]的语言L(G[N])是非负整数。
最左推导: NNDNDDNDDDDDDD0DDD01DD012D0127
NNDDD3D34
NNDNDDDDD5DD56D568
NNDN7ND7N27ND27N127D1270127最右推导:
NNDN7ND7N27ND27N127D1270127
NNDN4D434
NNDN8ND8N68D68568
3.3 已知文法 G[S]为St aSb|Sb|b,试证明文法 G[S]为二义文法。
【解答】
语法树。
由文法G[S] : St aSb|Sb|b对句子aabbbb可对应如图3-1所示的两棵
S /N aSb /T\ aSb
A S b
I
S
A
S b /T\ aSb /N aSb
I
1 b
1 b
图3-1 句子aabbbb对应的两棵不同语法树
因此,文法G[S]为二义文法(对句子abbb也可画出两棵不同语法树 )。
3.4 已知文法 G[S]为St SaS|£,试证明文法 G[S]为二义文法。
【解答】
由文法G[S] : St SaS,句子aa的语法树如图3-2所示。
S
/T\
S a S
/1\
S a S
S
/1\
S a S
S a S
(a) (b)
图3-2句子aa对应的两棵不同的语法树
由图3-2可知,文法 G[S]为二义文法。
3.5按指定类型,给出语言的文法。
L={aibj|j i 0}的上下文无关文法;
字母表》={a,b}上的同时只有奇数个 a和奇数个b的所有串的集合的正规文法;
由相同个数a和b组成句子的无二义文法。
【解答】(1)由L={aibj|j i 0}知,所求该语言对应的上下文无关文法首先应有
St aSb型产生式,以保证b的个数不少于a的个数;其次,还需有St Sb或St b型的产生 式,用以保证b的个数多于a的个数。因此,所求上下文无关文法 G[S]为
G[S]: St aSb|Sb|b
⑵ 为了构造字母表》={a,b}上同时只有奇数个 a和奇数个b的所有串集合的正规式,我们 画出如图3-3所示的DFA,即由开始符S出发,经过奇数个 a到达状态A,或经过奇数个b 到达状态B ;而由状态A出发,经过奇数个b到达状态C(终态);同样,由状态B出发经过 奇数个a到达终态C。
由图3-3可直接得到正规文法
G[S] : St aA|bB
A t aS|bC|b
B t bS|aC|a
Ct bA|aB|
G[S]如下:图3-3 习题3.5的DFA
G[S]如下:
我们用一个非终结符 A代表一个a(即有Ata),用一个非终结符 B代表一个b(即有B宀 b);为了保证a和b的个数相同,则在出现一个 a时应相应地出现一个 B,出现一个b时则
相应出现一个 A。假定已推导出bA,如果下一步要推导出连续两个 b时,则应有bAbbAA。
也即为了保证b和A的个数一致,应有 At bAA ;同理有Bt aBB。此外,为了保证递归地 推出所要求的ab串,应有StaBS和St bA
文档评论(0)