- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章语法制导的翻译6
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 本 章 要 点 语义规则的两种描述方法:语法制导的定义和翻译方案 设计简单问题的语法制导定义和翻译方案,这是本章的重点和难点 语法制导定义和翻译方案的实现 S属性的自下而上计算(边分析边计算) L属性的自上而下计算(边分析边计算) L属性的自下而上计算(边分析边计算) 不再介绍先分析后计算的方法 不能边分析边计算的情况是存在的,见5.6节 例 题 1 下面是产生字母表? = {0, 1, 2}上数字串的一个 文法: S ? D S D | 2 D ? 0 | 1 写一个语法制导定义,判断它接受的句子是否为回文 数 S? ? S print(S.val) S ? D1 S1 D2 S.val = (D1.val == D2.val) and S1.val S ? 2 S.val = true D ? 0 D.val = 0 D ? 1 D.val = 1 例 题 2 为下面文法写一个语法制导的定义,用S的综合属性val 给出下面文法中S产生的二进制数的值。例如,输入 101.101时,S.val = 5.625(可以修改文法) 若按22+ 0 + 20 + 2-1 + 0 + 2-3来计算,该文法对小数点 左边部分的计算不利,因为需要继承属性来确定每个B 离开小数点的距离 S ? L . L | L L ? L B | B B ? 0 | 1 S . L L B L B B L L B L B B 例 题 2 为下面文法写一个语法制导的定义,用S的综合属性val 给出下面文法中S产生的二进制数的值。例如,输入 101.101时,S.val = 5.625(可以修改文法) 若小数点左边按(1 ? 2 + 0) ? 2 + 1计算。该办法不能 直接用于小数点右边,需改成((1 ? 2 + 0) ? 2 + 1)/23, 这时需要综合属性来统计B的个数 S ? L . L | L L ? L B | B B ? 0 | 1 S . L L B L B B L L B L B B 例 题 2 为下面文法写一个语法制导的定义,用S的综合属性val 给出下面文法中S产生的二进制数的值。例如,输入 101.101时,S.val = 5.625(可以修改文法) 更清楚的办法是将文法改成下面的形式 S ? L . R | L L ? L B | B R ? B R | B B ? 0 | 1 S . L L B L B B R R B R B B 例 题 2 S ? L . R S. val = L. val + R. val S ? L S. val = L. val L ? L1 B L. val = L1. val ?2 + B. val L ? B L. val = B. val R ? B R1 R. val = R1. val / 2 + B. val / 2 R ? B R. val = B. val / 2 B ? 0 B. val = 0 B ? 1 B. val = 1 例 题 3 给出把中缀表达式翻译成没有冗余括号的中 缀表达式的语法制导定义。例如,因为?和?是 左结合, ((a ? (b + c )) ? (d ))可以重写成a ? (b + c ) ? d 两种方法: 先把表达式的括号都去掉,然后在必要的地方再加括号 去掉表达式中的冗余括号,保留必要的括号 例 题 3 第一种方法 S? ? E print ( E. code ) E ? E1 + T if T. op == plus then E.code =E1.code||“+”||“(”||T.code||“)” else E. code = E1. code || “+” || T. code; E. op = plus E ? T E. code
您可能关注的文档
- 第十二章 平衡增长和不平衡增长战略(发展经济学-马春文、张东辉编著 )..ppt
- 第十二章 房地产估价实务6.ppt
- 第十二章产品成本计算4.ppt
- 第十二章几种主要地众传播效果理论.ppt
- 第十二章国际贸易货款地收付.ppt
- 第十二章强制措施和诉讼费用.ppt
- 第十二章 机械的平衡6.ppt
- 第十二章国际财管理和汇率平价关系.ppt
- 第十二章生产要素市场作者颜荣祥南台科技大学管理和资.ppt
- 第十二章机器的运转与其速度波动的调节.ppt
- 2026年度秋季中国工商银行北京市分行校园招聘400人备考题库附答案详解(轻巧夺冠).docx
- 2026年度秋季中国工商银行青海省分行校园招聘230人备考题库参考答案详解.docx
- 2026年度秋季中国工商银行软件开发中心校园招聘200人备考题库及一套参考答案详解.docx
- 2026年度中国建设银行黑龙江省分行校园招聘430人备考题库附答案详解(名师推荐).docx
- 2026成都银行秋季校园招聘(第一批次)备考题库附答案详解(夺分金卷).docx
- 2026广州农商银行校园招聘备考题库附答案详解(培优b卷).docx
- 2026建信期货有限责任公司秋季校园招聘9人备考题库(福建有岗)附答案详解(基础题).docx
- 2026年秋季成都银行校园招聘(第一批次)22人备考题库含答案详解(黄金题型).docx
- 2026年成都银行秋季校园招聘备考题库(120人)及答案详解(夺冠).docx
- 2026年度秋季中国工商银行厦门市分行校园招聘195人备考题库及参考答案详解.docx
最近下载
- 中国铁矿选矿新技术和新工艺.ppt VIP
- 2025年中国全自动振荡仪行业市场全景评估及投资前景展望报告.docx
- AI可信数据空间白皮书-.pptx VIP
- 票管员的年度总结.pptx VIP
- 5篇中心医院医德医风谈话谈心记录(系列完整版).pdf
- T_ZZXJX 18-2021 现浇混凝土空心楼盖结构工程施工及验收技术规程.docx VIP
- 全国大学生职业规划大赛《医学美容技术》专业生涯发展展示PPT【高职(专科)】 .pptx
- 21 小圣施威降大圣 课件(共34张PPT).ppt VIP
- 新时代教育强国的根本遵循知到智慧树期末考试答案题库2025年喀什大学.docx VIP
- 混凝土冬季施工质量控制培训课件.pptx VIP
原创力文档


文档评论(0)