已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
编译原理试题及答案一、对于文法 GS : S 1A | 0B | A 0S | 1AA B 1S | 0BB (3 分 ) 请写出三个关于 GS 的句子; (4 分 ) 符号串 11A0S 是否为 G S 的句型?试证明你的结论。 (3 分 ) 试画出 001B 关于 G S 的语法树。 二、请构造一个文法,使其产生这样的表达式 E :表达式中只含有双目运算符 + 、 * ,且 + 的优先级高于 * , + 采用右结合, * 采用左结合,运算对象只有标识符 i ,可以用括号改变运算符优先级。要求给出该文法的形式化描述。 三、设有语言 L= | 0,1 + ,且不以 0 开头,但以 00 结尾 。 试写出描述 L 的正规表达式; 构造识别 L 的 DFA (要求给出详细过程,并画出构造过程中的 NDFA 、 DFA 的状态转换图,以及 DFA 的形式化描述 ) 。 四、给定文法 GS : S AB A aB | bS | c B AS | d (6 分 ) 请给出每一个产生式右部的 First 集; (3 分 ) 请给出每一个非终结符号的 Follow 集; (8 分 ) 请构造该文法的 LL(1) 分析表; (8 分 ) 什么是 LL(1) 文法?该文法是 LL(1) 文法吗?为什么? 五、给定文法 GS : S SaA|a A AbS|b 请构造该文法的以 LR(0) 项目集为状态的识别规范句型活前缀的 DFA 。 请构造该文法的 LR(0) 分析表。 什么是 LR(0) 文法?该文法是 LR(0) 文法吗?为什么? 什么是 SLR(1) 文法?该文法是 SLR(1) 文法吗?为什么? 六、给定下列语句: if a+bc then x := a*(b-c) + (b*c-d)/e 写出其等价的逆波兰表示; 写出其等价的四元式序列。 七、已知下列 C 语言程序:int * f() int a = 100; return &a; main() int * i = f(); char a = “compiler”; printf(“the result is %dn”, *i); 程序运行结果为: the result is 26157, 请解释为什么程序运行的结果不是期望的“ the result is 100 ”?1.1 三个 0 和 1 数量相等的串 1.2 S = 1A = 11AA = 11A 0S 1.3 第二题 构造文法如下 : GE=(+,*,(,),i, E,F,T, P, E) , 其中 P 为: EE*F|F FT+F|T T(E)|i第三题 ( 1 )正规表达式: 1(0|1) * 00 ( 2 )第一步:将正规表达式转换为 NDFA 第二步:将 NDFA 确定化为 DFA : 造表法确定化( 3 分) 确定化后 DFA M 的状态转换表 (2 分 ) 状态 输入 I 0 I 1 t 0 1 S A,D,B q 0 q 1 A,D,B D,B,C D,B 重新命名 q 1 q 2 q 3 D,B,C D,B,C,Z D,B q 2 q 4 q 3 D,B D,B,C D,B q 3 q 2 q 3 D,B,C,Z D,B,C,Z D,B q 4 q 4 q 3 DFA 的状态转换图( 3 分) 第三步:给出 DFA 的形式化描述 DFA M = ( q 0 , q 1 , q 2 , q 3 , q 4 , 0,1, t, q 0 , q 4 ) t 的定义见 M 的状态转换表。第四题 ( 1 ) First(AB) = a, b, c First(aB) = a First(bS) = b First(c) = c First(AS) = a, b, c First(d) = d ( 2 ) Follow(S) = #, a, b, c, d Follow(A) = a, b, c, d Follow(B) = #, a, b, c, d ( 3 ) LL(1) 分析表( 8 分) V N V T a b c d # S S ? AB S ? AB S ? AB A A ? aB A ? bS A ? C B B ? AS B ? AS B ? AS B ? d ( 4 )对于文法 G 的每一个非终结符 U 的产生式 U ? 1 | 2 | n , 如果 SELECT(U ? i ) ? SELECT(U ? j ) = ? ( ij, i,j=1, 2, , n ), 则文法 G 是一个 LL(1) 文法。 该文法是 LL(1) 文法。 因为 SELECT(A ? aB) ? SELECT(A ? bS) ? SELECT(A ? C) = ? SELECT(B ? AS) ? SELECT(B ? d) = ?第五题 拓广文法 1 分 GS : S S S SaA S a A AbS A b 该文法的以 LR(0) 项目集为状态的识别规范句型活前缀的 DFA : 该文法的 LR(0) 分析表: 状态 ACTION GOTO a b # S A 0 S 2 1 1 S 3 acc 2 r 3 r 3 r 3 3 S 5 4 4 r 2 r 2 /S 6 r 2 5 r 5 r 5 r 5 6 S 2 7 7 r 4 /S 3 r 4 r 4 LR(0) 文法:该文法的以 LR(0) 项目集为状态的识别规范句型活前缀的 DFA 中没有冲突状态。 该文法不是 LR(0) 文法 因为存在冲突状态: I 4 和 I 7 SLR(1) 文法:该文法的以 LR(0) 项目集为状态的识别规范句型活前缀的 DFA 中有冲突状态,冲突可用 FOLLOW 集解决。 该文法不是 SLR(1) 文法。 因为 FOLLOW(S)=a,b,# ,所以无法解决冲突 第六题 ( 1 ) (1) ab+c (23) jumpf (8) xabc-*bc*d-e/+:= (23) . ( 2 ) 第七题C 语言采用栈式存储分配方法作为其运行环境; f() 返回的是指向其活动记录某一位置的指针;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026江苏银行秋季校园招聘备考题库(广东有岗)含答案详解(轻巧夺冠)
- 2026中国邮政储蓄银行山西省分行校园招聘备考题库附答案详解(b卷)
- 2025河南安阳市文峰区(高新区)招聘社区工作者65人备考题库附答案详解(典型题)
- 2025黑龙江七台河茄子河区招聘农垦、森工社区工作者7人备考题库含答案详解(黄金题型)
- 2025北京交响乐团第二次招聘3人考试笔试备考题库及答案解析
- 2025城发环保能源有限公司巩义分公司招聘13人(河南)笔试考试参考题库及答案解析
- 2026年国网安徽省电力有限公司高校毕业生招聘考试备考题库(第一批)及答案详解1套
- 2025年滁州市琅琊区区属国有企业招聘招聘14人备考题库附答案详解(研优卷)
- 2025四川雅安汉源县财政局汉源县属国有企业招聘工作人员20人备考题库及答案详解(基础+提升)
- 2025共青团张家口经开区工委招聘就业见习岗位8人考试笔试模拟试题及答案解析
- 论文答辩上海财经大学论文答辩开题报告PPT模板
- DB32-T 2888.1-2016江苏省国家教育考试标准化考点建设技术标准 第1部分-总则-(高清现行)
- 苏教版科学五年级上册全册教案(含反思)
- 专业医院03.培训lovo介绍中文版
- 汽动给水泵.pptx
- CTO病变治疗策略PPT课件
- 格拉斯哥昏迷评分法(GCS)PPT课件
- (高清正版)T-CAGHP 031—2018 地质灾害危险性评估及咨询评估预算标准(试行)
- 吉林省高中学生登记表模板
- 薪酬理论的新发展——总报酬模型
- Mapmatrix教学参考模板
评论
0/150
提交评论