编译原理套卷11.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一、单项选择题。(10分) 1. 一般程序设计语言的定义都涉及 B 三个方面。 ①语法 ②语义 ③语用 ④程序基本符号的确定 A、①②③ B、①②④ C、②③④ D、 ①③④ 2. 下面说法正确的是 B 。 A、一个正规式只能对应一个确定的有限状态自动机; B、一个正规语言可能对应多个正规文法; 3. 程序基本块是指 D 。 A、一个子程序 B、一个仅有一个入口和一个出口的语句 C、一个没有嵌套的程序段 D、一组顺序执行的程序段,仅有一个入口和一个出口。 4. 词法分析的常用方法有 A 。 A、有穷自动机理论 B、图灵机 C、图论 D、无穷自动机理论 5. 编译方法中自顶向下的语法分析算法有 D 。 ①简单优先分析方法②算符优先分析方法 ③递归子程序法 ④LL(K)分析法 ⑤SLR分析法 ⑥LR(K)方法 ⑦LALR(K)方法 ⑧预测分析方法 A、①②③⑧ B、④⑤⑥⑦ C、①②⑤⑥⑦ D、 ③④⑧ E、①②③⑤⑥二、填空题 (15分) 编译程序的工作过程一般可以划分为 词法分析_、_语法分析_、_语义分析、_中间代码生成、_代码优化_等几个基本阶段,同时还会伴有表格处理 和 出错处理(6分)。 2. 在目标代码生成阶段,符号表是 地址分配 的依据。(2分)。 3. 符号表的数据结构可以是无序符号表、有序符号表 、栈式符号表 。 4. 词法分析阶段的错误主要是 单词拼写错误 ,可通过最小距离匹配的办法纠正错误。 5. 在大部分现有编译中采用的方案主要有两种: 动态 分配方案和 静态 分配方案。 三、简答题。(30分) 1、什么是规范推导?每个句型都有规范推导吗? 规范推导就是最右推导 每一个句子都有一个规范推导,而每一个句型则不一定都有规范推导,比如说采用非规范推导得到的句型。 2、已知文法G[E]: E→ET+|T T→TF* | F F→F^ | a 试证:FF^^*是文法的句型,指出该句型的短语、简单短语和句柄。 该句型对应的语法树如下: 该句型相对于E的短语有FF^^*;相对于T的短语有FF^^*,F;相对于F的短语有F^;F^^;简单短语有F;F^;句柄为F. 3、写出表达式w+(a+b)*(c+d/(e-10)+8)的逆波兰表示及三元式序列。 (1)(+,a,b) (2) (-,e,10) (3) (/,d,(2)) (4) (+,c,(3)) (5) (+,(4),8) (6) (*,(1),(5)) (7) (+,w,(6)) 4、何谓优化?按所涉及的程序范围可分为哪几级优化? 所谓优化,一般是指为提高目标程序的质量而进行的各项工作,即对程序或中间代码进行各种等价变换,使得从变换后的程序出发,能生成更有效的目标代码。 在源程序级 在语义动作的设计上 在中间代码级 在目标代码级 5、简述自顶向下分析法。 从识别符号出发,不断建立直接推导,试图构造一个推导序列,最终由它推导出与输入符号串相同的符号串。从语法树角度看,自顶向下分析过程是以识别符号为根结点,试图向下构造一棵语法树,使其末端结点符号串正好与输入符号串相同。 四、已知: (15分) 正规式(1)((a|b)* |aa)*b 正规式(2)(a|b)*b 试用有限自动机的等价性证明正规式(1)和(2)是等价的。 两者化简后的DFA都为: a b b a 五、设文法G(S):(15分)   S à A A à BA | ε B à aB | b (1)证明它是LR(1)文法; (2)构造它的LR(1)分析表; (3)给出输入符号串abab的分析过程。 1)拓广文法G’: (0) S à S (1) S à A (2) A à BA (3) A àε (4) B à aB (5) B à b FIRST(A) = {ε, a, b} FIRST(B) = {a, b} 构造的DFA如下:   由项目集规范族看出,不存在冲突动作。 ∴该文法是LR(1)文法。 (2) LR(1)分析表 状态 Action Goto a B # S A B 0 S4 S5 r3 1 2 3 1 ? ? acc ? ? ? 2

文档评论(0)

damoyihao + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档