- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 语法制导翻译与中间代码生成典型习题第五章 语法制导翻译与中间代码生成1、为文法: S→(L)| a L →L,S| S (a)写一个翻译方案,它输出配对括号的个数。如对于句子(a,(a,a)),输出结果为2。 (b)写一个翻译方案,它输出配对括号的最大嵌套深度。如对于句子(a,(a,a)),输出结果为2。 (c) 写一个翻译方案,它输出每个a的嵌套深度。例如:对于句子(a,(a,a)),输出的结果是1 2 2。 (d) 写一个翻译方案,它打印出每个a在句子中是第几个字符。例如:当句子是(a,(a,(a,a),(a))时,打印的结果是2 5 8 10 14。第五章 语法制导翻译与中间代码生成 S→(L)| a L →L,S| S (a)写一个翻译方案,它输出配对括号的个数。如对于句子(a,(a,a)),输出结果为2。根据输出配对括号个数的要求,从下到上分析每条规则可知: 当采用规则L→S进行归约时,L中的括号对数等于S中的括号对数; 当采用规则L→L1,S进行归约时,L1与S用“,”连接,因此L中的括号对数等于S中的括号对数与L1中的括号对数之和; 当采用规则S→a进行归约时,S中的括号对数等于0; 当采用规则S→(L)进行归约时,S中的括号对数等于L中的括号对数加1; 为输出总的括号对数,需对原文法进行拓广,增加一条文法规则: S’→S,对应的语义规则为输出总的括号对数。 根据上述分析,为S和L引入属性num(表示括号对数),可写出每条规则的语义动作如下:第五章 语法制导翻译与中间代码生成 S→(L)| a L →L,S| S (a)写一个翻译方案,它输出配对括号的个数。如对于句子(a,(a,a)),输出结果为2。S’ →S {print(S.num)}S→(L){S.num=L.num+1} S→ a {S.num=0} L →L1,S {L.num=L1.num+S.num}L → S {L.num=S.num}第五章 语法制导翻译与中间代码生成 S→(L)| a L →L,S| S (b)写一个翻译方案,它输出配对括号的最大嵌套深度。如对于句子(a,(a,a)),输出结果为2。S’ →S {print(S.num)}S→(L){S.num=L.num+1} S→ a {S.num=0} L →L1,S{L.num=max(L1.num,S.num)}L → S {L.num=S.num}第五章 语法制导翻译与中间代码生成 S→(L)| a L →L,S| S (c) 写一个翻译方案,它输出每个a的嵌套深度。例如:对于句子(a,(a,a)),输出的结果是1 2 2。由于a的嵌套深度不是由a本身能决定的,所以一定要用继承属性。用继承属性depth表示嵌套深度,所求的翻译方案如下:S’ → {S.depth=0} SS→ {L.depth=S.depth+1} (L)S→ a {print (S.depth)} L → {L1.depth=L.depth} L1, {S.depth=L.depth} SL → {S.depth=L.depth} S第五章 语法制导翻译与中间代码生成 (d) 写一个翻译方案,它打印出每个a在句子中是第几个字符。例如:当句子是(a,(a,(a,a),(a))时,打印的结果是2 5 8 10 14。 S→(L)| a L →L,S| S为文法符号S和L分别定义一个继承属性in和一个综合属性out,分别表示在句子中,该文法符号推出的字符序列的前面有多少个字符,和该文法符号推出的字符序列的最后一个字符在句子中是第几个字符。所求的翻译方案如下:S’ → {S.in=0} SS→ {L.in=S.in+1} (L){S.out=L.out+1} S→ a {S.out=S.in+1;print (S.out)} L → {L1.in=L.in} L1, {S.in=L1.out+1} S {L.out=S.out}L → {S.in=L.in} S {L.out=S.out} 第五章 语法制导翻译与中间代码生成 (d) 写一个翻译方案,它打印出每个a在句子中是第几个字符。例如:当句子是(a,(a,(a,a),(a))时,打印的结果是2 5 8 10 14。 S→(L)| a L →L,S| S为文法符号S和L分别定义一个继承属性in和一个综合属性total,分别表示在句子中,该文法符号推出的字符序列的前面有多少个字符,和该文法符号推出的字符总
您可能关注的文档
- 船用造水机常见故障原因及对策.docx
- 《工程项目管理》习题三.doc
- 材料力学第九章习题.doc
- 墩柱质量检验评定表.docx
- 思想政治课教学案例.doc
- NX6机械自由形状建模4内部教材.ppt
- 读奥苏贝尔《教育心理学:认知观点》.doc
- 停止等待协议的实现.doc
- 交大仿真实验实验报告.doc
- XXX台背碎石土回填施工方案.doc
- 江苏省扬中市重点达标名校2025届中考冲刺卷生物试题含解析.doc
- 2025届黑龙江省哈尔滨市光华中学中考历史四模试卷含解析.doc
- 2025届山东省菏泽市东明县毕业升学考试模拟卷历史卷含解析.doc
- 江西省上饶市广信区重点达标名校2025届中考生物五模试卷含解析.doc
- 2025届天津市和平区汇文中学中考试题猜想历史试卷含解析.doc
- 2025届宁夏银川市宁夏大附属中学中考历史模试卷含解析.doc
- 江苏省吴江市青云中学2025届中考历史最后冲刺卷含解析.doc
- 山东省青岛市局属四校2025届中考历史全真模拟试题含解析2.doc
- 郑州市重点名校2025届中考历史对点突破模拟试卷含解析.doc
- 新疆维吾尔自治区乌鲁木齐市第七十中学2025届毕业升学考试模拟卷历史卷含解析.doc
最近下载
- 维修电工高级实操题库.pdf VIP
- 桥梁工程墩柱、盖梁模板支架专项施工方案.doc
- 2024-2025学年苏科版七年级数学下册 第9章 图形的变换 综合素质评价(含答案).pdf VIP
- 移动厕所投标方案(技术标 310页).doc
- 2023年江苏省普通高校单独招生统一考试电子电工单招试卷-B卷.docx
- 2025年成都市公共交通集团有限公司人员招聘笔试备考试题及答案解析.docx
- GB+30871-2022国家新标准规范.pdf
- 学生处处长述职报告范文.pdf VIP
- 国电乐东发电公司配煤掺烧全流程动态优化系统介绍(罗荣).pdf
- GB50433-2018 生产建设项目水土保持技术标准.docx
文档评论(0)