- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译程序总复习_例题概要
编译程序总复习——例题 1. 编译程序的功能和组织结构 2. 编译和解释程序 3. 正则表达式 NFA → DFA → DFA 最小化 句型→推导的语法树→短语→简单短语→句柄 6.文法←→语言←→句子 7.语法分析——自顶向下和自底向上 (LL法、 LR法) 8.语法制导翻译 9.中间代码 10.中间代码优化 11.目标代码 2. 编译和解释程序 3. 正则表达式 设文法G[A]: A → [B B → X] | BA X → Xa | Xb | a | b 试求出文法G[A]产生的语言对应的正则式。 3. 设文法G[A]:A→[BB →X] | BAX →Xa | Xb | a | b试求出文法G[A]产生的语言对应的正则式。 解: [(a|b)(a|b)*] ([(a|b)(a|b)*])* 4.请构造与正则式R=(a*b)*ba(a|b)* 等价的状态最少的DFA(确定有限自动机)。 解: (1) NFA (2) NFA → DFA (3) DFA 最小化 5.有文法G[E]:E?T|E+T|E-T T?F|T*F|T/F F?i/(E) 请判断(E+T)*i+F是G的一句型吗? 如果是,请画出它的推导的语法树。 并写出语法树的短语、简单短语、句柄。 6.(1)设有文法G[S]=({b},{S,B},S, {S →b|bB,B→bS}),该文法所描述的语言是_________。(2)已知语言L={anbbn|n ≥1},则_______文法可以产生语言L。(3)设有文法G[I]:I→I1 | I0 | Ic | a | b | c 该文法的句子有________ ①ab0 ②a0c01 ③aaa ④bc10 6.(1)设有文法G[S]=({b},{S,B},S, {S →b|bB,B→bS}),该文法所描述的语言是 L(G[S]={b2i+1|i ≥0} (2)已知语言L={anbbn|n ≥1},则 Z → aAb A → aAb | b 上述文法可以产生语言L。 (3)设有文法G[I]: I→I1 | I0 | Ic | a | b | c 该文法的句子有 ②③④ 。 ①ab0 ②a0c01 ③aaa ④bc10 7.????? 设有文法G[S]:S→EE→Aa | bBA→cA|dB→cB|d构造其LR(0)分析表并利用分析表判断acccd是否为文法G[S]的句子。? 7.????? 设有文法G[S]:S→EE→Aa | bBA→cA|dB→cB|d构造其LR(0)分析表并利用分析表判断acccd是否为文法G[S]的句子。? 解: (1)识别活前缀的自动机 (2)LR分析表 (3)LR分析过程——即判断acccd是否为文法G[S]的句子 8 .在一个移入-规约的分析中采用以下的语法制导的翻译模式,在按一产生式规约时,立即执行括号中的动作。A → aB {print “0”}A → c {print “”}B → Ab {print “2”}当分析器的输入为aacbb时,打印的字符串是什么? 分析器输入为aacbb,打印的字符为 12020 9. (1)表达式a*b-c-d$e$f-g-h*I中,运算符的优先级由高到低依次为-、*、$,且均右结合,且相应的后缀式为______。(2)表达式-a+b*c+d+(e*f)/d*e,如果运算符的优先级由高到低依次为-、+、*、/,且均左结合,则其后缀式为______。 9. (1)表达式a*b-c-d$e$f-g-h*I中,运算符的优先级由高到低依次为-、*、$,且相应的后缀式为abcd - - *efgh - -I*$$。 (2)表达式-a+b*c+d+(e*f)/d*e,如果运算符的优先级由高到低依次为-、+、*、/,且均左结合,则其后缀式为 a-b+cd+ef*+*de*/。 10.试写出算术表达式a+b*c-(c*b+a-e)/(b*c+d)优化后的四元式序列。 11.目标代码 写出下列表达式的目标代码 T := C*(A+B)+(A+B) C := A+B A :=(C*D)+(E-F) 写出下列表达式的目标代码 T := C*(A+B)+(A+B) C := A+B A :=(C*D)+(E-F) 解答: LOAD A,R1 ADD B,R1 LOAD C,R2 MULT R1,R2 ADD R1,R2 STORE G,R2 编译器设计方案 ? C -惯用的词法 ? C -语言的Tiny Mach
您可能关注的文档
- 绿地规划概论.ppt
- 绿城产品标准化研究.ppt
- 绿化养护机具.ppt
- 绿油培训教材.ppt
- 绿城景观施工标准汇总.doc
- 绿松石介绍.ppt
- 绿色施工、节能减排措施.doc
- 绿色施工导则2007年09月10日.doc
- 绿色施工导则.doc
- 绿色新能源_海洋能.ppt
- 企业进销存管理系统操作手册样本.doc
- 防水工程施工方案.doc
- 2023—2024学年度学校德育工作计划 .pdf
- 2021年苏教版四年级数学(下册)二单元真题试卷及答案 .pdf
- 2024三方房屋租赁协议合同模版 .pdf
- 2023实用的教学设计方案合集8篇完整版 .pdf
- 2023-2024学年第一学期学校德育工作计划 .pdf
- 2023-2024学年全国全部商务星球版初中地理单元测试(真题及答案).pdf
- 2020年全国计算机二级等级考试模拟试卷及答案(第九套)(20210112231732.pdf
- 2023_2024学年福建省莆田市七年级上册数册中考模拟测试卷(附答案)完整版720740464.pdf
文档评论(0)