




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2.1 考虑文法GS,其产生式如下: S(L)|a LL,S|S(1) 试指出此文法的终结符号、非终结符号。终结符号为:(,),a,非终结符号为:S,L开始符号为:S(2)给出下列各句子的分析树: (a,a) (a,(a,a) (a,(a,a),(a,a) (3)构造下列各句子的一个最左推导: (a,a) S (L) (L,S) (S,S) (a,S) (a,a) (a,(a,a)S (L) (L,S) (S,S) (a,S) (a,(L) (a,(L,S) (
2、a,(S,S) (a,(a,S) (a,(a,a) (a,(a,a),(a,a)S (L) (L,S) (S,S) (a,S) (a,(L) (a,(L,S) (a,(S,S) (a,(L),S) (a,(L,S),S) (a,(S,S),S) (a,(a,S),S) (a,(a,a),S) (a,(a,a),(L) (a,(a,a),(L,S) (a,(a,a),(S,S) (a,(a,a),(a,S) (a,(a,a),(a,a)(4)构造下列各句子的一个最右推导:(a,a)S (L) (L,S) (L,a) (S,a) (a,a)(a,(a,a)S (L)
3、(L,S) (L,(L) (L,(L,S) (L,(L,a) (L,(S,a) (L,(a,a) (S,(a,a) (a,(a,a)(a,(a,a),(a,a) S (L) (L,S) (L,(L) (L,(L,S) (L,(L,(L)(L,(L,(L,S) (L,(L,(L,a) (L,(L,(S,a)(L,(L,(a,a) (L,(S,(a,a) (L,(L),(a,a)(L,(L,S),(a,a) (L,(L,a),(a,a) (L,(S,a),(a,a)(L,(a,a),(a,a) (S,(a,a),(a,a) (a,(a,a),(a,a
4、)(5)这个文法生成的语言是什么?L(GS) = (1,2,.,n)或a其中i(1in),即L(GS)是一个以a为原子的纯表,但不包括空表。2.2 考虑文法GS SaSbS|bSaS|(1)试说明此文法是二义性的。可以从对于句子abab有两个不同的最左推导来说明。 S aSbS abS abaSbS ababS abab S aSbS abSaSbS abaSbS ababS abab 所以此文法是二义性的。(2)对于句子abab构造两个不同的最右推导。 S aSbS aSbaSbS aSbaSb aSbab abab
5、; S aSbS aSb abSaSb abSab abab(3)对于句子abab构造两棵不同的分析树。 (一) (二) (4)此文法所产生的语言是什么?此文法产生的语言是:所有a的个数与b的个数相等的由a和b组成的字符串。2.4 已知文法GS的产生式如下:S (L)|a L L,S|S属于L(GS)的句子是 A ,(a,a)是L(GS)的句子,这个句子的最左推导是 B ,最右推导是 C ,分析树是 D ,句柄是 E 。A: a a,a (L) (L,a)B,C: S (L) (L,
6、S) (L,a) (S,a) (a,a) S (L) (L,S) (S,S) (S,a) (a,a) S (L) (L,S) (S,S) (a,S) (a,a)D: E: (a,a) a,a (a) a解答: A: B: C: D: E:3.1 有限状态自动机可用五元组(VT,Q,q0,Qf)来描述,设有一有限状态自动机M的定义如下: VT=0,
7、1,Q=q0,q1,q2,Qf=q2,的定义为:(q0,0)=q1 (q1,0)=q2(q2,1)=q2 (q2,0)=q2 M是一个 A 有限状态自动机,它所对应的状态转换图为 B ,它所能接受的语言可以用正则表达式表示为 C 。其含义为 D 。 A: 歧义的 非歧义的 确定的 非确定的B:C: (0|1)* 00(0|1)*
8、; (0|1)*00 0(0|1)*0D:由0和1所组成的符号串的集合; 以0为头符号和尾符号、由0和1所组成的符号串的集合; 以两个0结束的,由0和1所组成的符号串的集合; 以两个0开始的,由0和1所组成的符号串的集合。答案 A: B: C: D: 3.2 (1)有穷自动机接受的语言是正则语言。()(2)若r1和r2是上的正规式,则r1|r2也是。()
9、(3)设M是一个NFA,并且L(M)x,y,z,则M的状态数至少为4个。(4)令a,b,则上所有以b为首的字构成的正规集的正规式为b*(a|b)*。(5)对任何一个NFA M,都存在一个DFA M',使得L(M')=L(M)。()(6)对一个右线性文法G,必存在一个左线性文法G',使得L(G)=L(G'),反之亦然。() 答案 (1) T (2) T (3) F (4) F
10、(5) T 3.3 描述下列各正规表达式所表示的语言。(1) 0(0|1)*0(2) (|0)1*)*(3) (0|1)*0(0|1)(0|1)(4) 0*10*10*10*(5) (00|11)*(01|10)(00|11)*(01|10)(00|11)*)*答案 (1) 以0开头并且以0结尾的,由0和1组成的所有符号串(2) |0,1*即由0和1组成的所有符号串。(3) 由0和1组成的符号串,且从右边开始数第3位为0。(4) 含3个1的由0和1组成的所有符号串。
11、0; |0,1+,且中含有3个1 (5) |0,1*,中含0和1的数目为偶数。 4.10 已知文法GS,其产生式如下:S(L)|a LL,S|S 文法GS的算符优先关系由下表给出。建立与下表相应的算符优先函数并用算符优先分析法分析句子(a,(a,a)。文法GS的算符优先关系表: 解:对每个终结符或建立符号f与g,把f(和g)分成一组。根据GS的算符优先关系表,画出如下的有向图:优先函数如下: 用算符优先分析法分析句子(a,(a,a) 4.19 (1) 存在有左递归规则的文法是LL(1)的。
12、0; (2) 任何算符优先文法的句型中不会有两个相邻的非终结符号。 (3) 算符优先文法中任何两个相邻的终结符号之间至少满足三种 关系(·,·,)之一。 (4) 任何LL(1)文法都是无二义性的。 (5) 每一个SLR(1)文法也都是LR(1)文法。 (6) 存在一种算法,能判定任何上下文无关文法是否是LL(1)的。 (7) 任
13、何一个LL(1)文法都是一个LR(1)文法,反之亦然。 (8)' LR(1)'括号中的1是指,在选用产生式A进行分析,看当前读入符号是否在FIRST()中。答案:(1)× (2) (3)× (4) (5) (6) (7)× (8)× 4.20 在编译程序中,语法分析分为自顶向下分析和自底向上分析两类。_A_和LL(1)分析法属于自顶向下分析;_B_和LR分析法属于自底向上分析。自顶向下分析试图为输入符号串构造一个_C_;自底向上分析试图为输入符号串构造一个_D_。采用自顶向下分析方法时,
14、要求文法中不含有_E_。A、B:深度分析法宽度优先分析法算符优先分析法预测递归分析法C、D:语法树有向无环图最左推导最右推导E:右递归左递归直接右递归直接左递归A: B: C: D: E: 4.21 自底向上语法分析采用_A_分析法,常用的是自底向上语法分析有算符优先分析法和LR分析法。LR分析是寻找右句型的 _B_;而算符优先分析是寻找右句型的_C_。LR分析法中分析能力最强的是_D_;分析能力最弱的是_E_。A:递归回溯枚举移进规约B、C:短语素短语最左素短语句柄D、E:SLR(1)LR(0)LR(1)LALR(1)A: B: C: D: E:5.5 用S的综合属性val给出在下面的文法中
15、的S产生的二进制数的值(例如,对于输入 101.101,S.val=5.625): SL.L|L LLB|B B0|1 (1)试用各有关综合属性决定S.val。 (2)试用一个语法制导定义来决定S.val,在这个定义中仅有B的综合属性,设为c,它给出由B 生成的位对于最后的数值的贡献。例如,在101.101中的第一位和最后一位对于值5.625的贡献分别为4和0.125。解答:(1)用综合属性决定s.val的语法制导定义:产生式语义规则 S -&
16、gt; L S.val:=L.val; S -> L1.L2 S.val:=L1.val+L2.val*L2.p; L -> B L.val:=B.val; L.p:=2-1; L -> L1B L.val:=L1.val*2+B.val; L.p:=L.p*2-1; B -> 0 B.val:=0; B -> 1
17、 B.val:=1; 注:L.p表示恢复L.val的因子。(2)分析:设B.c是B的综合属性,是B产生的位对最终值的贡献。要求出B.c,必须求出B产生位的权,设B.i。B.i的求法请参看下面的图示:另外,设L.fi为继承因子,L.fs为综合因子,语法制导定义如下:产生式语义规则 S -> L L.i:=1; L.fi:=2; L.fs:=1; S.val:=L.val; S -> L1.L2 L1.i=1; L1.fi=2; L1.fs:=1; L2.i=2-1; L2.fi=
18、1; L2.fs:=2-1;S.val:=L1.val+L2.val; L -> B L.s:=L.i; B.i:=L.s; L.val:=B.c; L -> L1B L1.i:=L.i*L1.fi; L.s:=L1.s*L1.fs;B.i:=L.s;L.val:=L1.val+B.c; B -> 0 B.c:=0; B -> 1 B.c:=B.i; 5.15描述文法符号语义的属性有两种,一种称为( A
19、 ),另一种称为( B )。( A )值的计算依赖于分析树中它的( C )的属性值;( B )的值的计算依赖于分析树中它的( D )的属性值。 A,B: L-属性 R-属性 综合属性 继承属性 C,D: 父结点 子结点 兄弟结点 父结点与子结点 父结点与兄弟结点 解答: A B C D 5.16(1) 语法制导定义中某文法符号的一个属性,既可以是综合属性,又可以是继承属性。(2) 只使用综合属性的语法制导定义称为S-属性定义。(3) 把L-属性定义变换成翻译模式,在构造翻译程序的过程中前进了一大步。
20、(4)一个特定的翻译模式既适于自顶向下分析,又适于自底向上分析。(5) 用于自顶向下分析的翻译模式,其基础文法中不能含有左递归。(6) 在基础文法中增加标记非终结符不会导致新的语法分析冲突。解答:(1) FALSE (2) TRUE (3) TRUE (4) FALSE (5) TRUE (6) FALSE6.7 (1) 对于允许递归调用的程序语言,程序运行时的存储分配策略不能采用静态的存储分配策略。( ) (2) 若一个程序语言的任何变量的存储空间大小
21、和相互位置都能在编译时确定,则可采用静态分配策略。( ) (3) 在不含嵌套过程的词法作用域中,若一个过程中有对名字a的非局部引用,则a必须在任何过程(或函数)外被说明。( )(4) 在允许嵌套的词法作用域的语言中,过程不能作为参数,原因时不能建立其运行环境的存取链。( )(5) 在堆式存储分配中,一个堆中存活的活动记录不一定是邻接的。( )(6) 如果源程序正文中过程p直接嵌入在过程q中,那么,p的一个活动记录中的存取链接指向q的最近的活动记录。( ) 解答:(1)(TRUE) (2)(FALSE) (3)(TRUE) (4)(FALSE) (5)(TRUE) (6)(
22、TRUE) 6.8 运行时的存储分配策略分( A )和( B )两类。( B )又分( C )和( D )。一个语言中不同种类的变量根据定义域和生存期的不同往往采用不同的存储分配策略,C语言中的静态变量往往采用( A ),而自动(out)类变量往往采用( C )。使用mallac中申请的内存单元采用( D )。A,B,C,D: 栈式分配 最佳分配
23、 堆式分配 静态分配 随机分配 动态分配 解答: A: B: C: D: 7.2 翻译算术表达式一(ab)*(cd)(abc)为 (1)四元式, (2)三元式 (3)间接三元式解答:(1)四元式序列为: op arg1 arg2 result (1)+abt1
24、(2)+cd t2(3)*t1t2t3(4)uminust3t4(5)+abt5(6)+t5ct6(7)+t4t6t7(2)三元式序列为: op arg1 arg2 (1)+ab(2)+cd(3)*(1)(2)(4)uminus(3)(5)+ab(6)+(5)c(7)+(4)(6)(3)间接三元式表示: statement op arg1 arg2 (1)(11)(11)+ab(2)(12)(12)+cd(3)(13)(13)*(11)(12)(4)(14)(14)uminus(13)(5)(11)(15)+(11)c(6)(15
25、)(16)+(14)(15)(7)(16) 9.1 试构造下面的程序的流图,并找出其中所有回边及循环。 read P x := 1 c := P * P
26、; if c < 100 goto L1 B := P * P x := x + 1 B := B + x write x
27、160; halt L1: B:= 10 x := x + 2 B := B + x write B if B < 100 goto L2 halt L2: x := x + 1 goto L1解:程序的流图如下9.2 对本题中所示的流图,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业粉碎机设备使用说明书详解
- 2025年沼气专用发电装置项目提案报告模板
- 物业费用收缴管理制度条例
- 小学四年级学科重点难点解析
- 企业绿色生产管理标准
- 煤炭资源综合勘探技术操作指南
- 混凝土基础知识培训内容
- 分割协议书集合15篇
- (2025年标准)法律农村分家协议书
- (2025年标准)多方设立公司协议书
- 拆除重建工程施工方案
- 油田突发污染事件应急预案
- Codesys培训课件教学课件
- 甲方业主项目管理手册
- 句法 课件-初升高衔接英语课程
- 安装聚氨酯冷库板施工方案
- 医院培训课件:《黄帝内针临床运用》
- 峥嵘岁月 课件-2024-2025学年高中音乐人音版(2019) 必修 音乐鉴赏
- 《医院医疗技术临床应用管理制度》
- 建筑装饰工程涂料施工技术考核试卷
- 2024年人社法律法规知识竞赛考试题库及答案
评论
0/150
提交评论