- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
教学内容与体系 145
语义处理的典型过程是采用语法制导的处理,或称为语法制导的翻译。目前的编译原理
教学中,语法制导的翻译是语义处理部分的主体。
语法制导翻译的理论基础是属性文法。在上下文无关文法中,为每个文法符号关联特定
的属性(综合属性或继承属性),同时为每个产生式关联—个用于属性求值的恰当的语义规则
集,就得到—个属性文法。基于属性文法的语法制导翻译,就是在语法分析基础上,根据语
义规则对于属性值进行计算。
根据属性文法进行属性值的计算,—般要介绍两种方法,—种是在先生成语法树的基础
上对语法树进行标注,有典型的算法;另—种是在语法分析的同时进行属性值的计算,称为
单遍的方法。
在E述两类方法中,单遍处理的方法涉及的内容较多,在教学中所占的比重也较多。两
类特殊的属性文法,即$属性文法和k属性文法,是贯穿其中的主线。s-属性文法适合于自
下而上处理,可以在LR分析的基础上实现翻译程序;而L.属性文法财适合于自上而下处理,
可以在U1)分析的基础上实现翻译程序。
在实践中,语法制导翻译的描述往往不是直接采用属性文法,而是采用翻译模式。它的
实质就是^工干预语义处理的过程,规定属性计算的次序,因此适合于作为自动翻译工具的
输入,用作语法制导翻译的描述。
翻译模式主要服务于单遍的处理方式,即在语法分析的同时来进行语义处理。通常,要
对翻译模式的形式进行限定才能够适合单遍处理的要求。限定要求类似于S.属性文法和【厂
属性文法中的限定规则。
翻译模式自上而下的翻译可以基于U彳1)方法,构造出预测翻译程序。翻译模式的自下
而上处理可以采用基于LR分析的自动构造工具(如Yaec/Bision)。
静态语义分析和中间代码生成的工作实际上是相当技术性的,大多数内容对于我们的同
学来说是容易理解的。所需要讲解的只是针对什么样的语言成分可以进行如何处理的—般方
法,通过举例就可介绍清楚。当然,一些特殊技术,如拉链与代码回填等是需要作为重点讲
解的内容。
静态语义分析和中间代码生成过程需要符号表作为语义处理的环境。符号表的内容包括
它的使用和组织,大部分内容可以独立讲解。这—部分具体什么时候讲,是代课教师需要考
虑的—个问题。
运行时存储组织也是和中间代码生成有关的内容。有些书将这部分内容先于中间代码生
成来讲,有些则放在中间代码生成之后。实际上只要在目标代码生成之前进行介绍都不会什
么问题。
从匕述j挫讨论中可知,要组织好、讲好语义处理部分的内容是具有一定挑战性的。
3—种可选的教学内容组织
语义处理这部分的教学内容—般都结合静态语义检查、中间代码生成等实际语言实现中
的具体技术直接讲解,给出个别的编译器的具体实现的语义规则片断,而放松了对基本原理
的透彻讲解。这样做的结果,虽然学生就个别语义分析技术、中间代码生成技术是可以理解
的,但自己设计时就不知所措。虽然组织好基本知识的讲解有—定的难度,多数教材在这方
面存在着不足,但我ff】认为必须下工夫打好这个基础。
程序设计语言及其教学探索
语义处理教学内容的·种可选组织是;
(1)基础集中于—节。
(2)语言实现中的常用技术作为—节。
(3)语义分析环境作为一节:符号表与运行时存储组织(当然也是目标代码生成所需的
环境,实为承上启下的载体)。
首先将语义处理部分的基本原理集中系统的概述出来。然后,是具体实现技术。学好基
础原理,心里就会有底,就能在学f董原理的基础上进行自己的设计。在知识结构上也能和语
法分析,中间代码生成的基本原理连贯起来,前端、后端联系起来。
4基础知识的讲解要透彻
对于基本原理的讲解,我们认为除了要解释其基本内容外,非常关键的一点就是要举出
恰当的例子,给出完整的过程,教会学生具体如何做。
例如,在讲翻译模式的自上而下的翻译时,最好能给学生讲解如何具体做到这—步(这
在目前的参考教材中很难找到),否则学生不易掌握的透彻。我们设计下述例子,构造完整的
翻译模式的基于U』1)预测分析程序。
例I:翻译模式的自上而下的翻译。
翻译模式如下:
f
N一.(S.f:=l}Sprint(S.v))
S—} B Sl:f--S.f+ll Sl(S.v:=S1.v+B.v)
您可能关注的文档
最近下载
- 陕2022TJ 073《逆作法钢筋混凝土顶管工作井标准图集》.pdf VIP
- 【行业标准】SYT 6696-2014 储罐机械清洗作业规范.pdf VIP
- 湖北省部分重点中学2025届高三第一次联考语文试卷(含答案).docx
- 《分式方程》PPT课件下载(第2课时解分式方程)一等奖新优质课比赛公开课获奖.ppt VIP
- 房屋裂缝检测与处理技术规程 CECS 293:2011.pdf VIP
- 药物警戒体系文件目录.docx VIP
- 【2025-09-24】移动式升降工作平台安全管理丨64页.pptx VIP
- 2025年教科版(2024)小学科学三年级上册(全册)教学设计(附目录P171)_可搜索.pdf VIP
- 中国地震断裂带分布图.pdf VIP
- 管理运筹学(第五版)韩伯棠课后习题解答.docx VIP
原创力文档


文档评论(0)