网站大量收购闲置独家精品文档,联系QQ:2885784924

编译原理第讲.pptVIP

  1. 1、本文档共122页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CompilerPrinciples 第一讲 引论 课程信息 编译程序概述 高级语言的语法描述 §1.课程信息 一、课程名称:编译原理 基本内容是介绍编译程序构造的基本原理、方法和技术,包括词法分析、语法分析、语义分析与中间代码产生、代码优化及目标代码产生等。简言之,就是介绍如何将源程序翻译成目标代码程序。 二、课程性质:专业基础课,必修 编译程序(器)出现于上世纪50年代后期(第一个高级语言1958年) 60年代~70年代是研究高峰期 60年代中期开始在高校中开设课程 80年代开始作为计算机科学与技术专业的必修基础课程 三、课程特点: 充分体现了计算学科中抽象、理论和设计三个学科形态 该课程涉及多门课程的内容综合运用,涉及面广,内容庞杂,学习艰难 程序设计语言、计算机体系结构、语言理论及算法等 数据结构、离散数学 该课程涉及的原理、方法和技术具有十分普遍的意义 每一个计算机科学与技术工作者的职业生涯中反复用到,“享用一辈子” 这儿接受的训练很难在其他地方获得,如:抽象与形式化方法、局部与全局优化方法、构造技术、证明方法等 四、学习该课程的意义 编译程序是计算机系统不可缺少的重要组成部分 对程序设计语言的设计与实现能有更深刻的理解 对程序设计语言有关理论有所了解 从宏观上把握程序设计语言——掌握了编译原理后,就不能再说:“某语言未学过,所以不会” 有助于快速理解、定位和解决程序调试与运行中出现的问题 编译方法与技术有着广泛应用 安全技术、程序理解、软件逆向工程、应用软件与软件工具开发、软件测试与验证等 编译课程蕴含着计算学科中解决问题的思路、抽象和方法,这些与高等数学一样,使你“享用一辈子” 课程所涉及的内容至今非常活跃 自然语言的翻译 软件移植 网络安全 形式化方法 形式语义学等 五、学习方法 编译程序的构造是一个庞大而复杂的系统工程,无论是概念还是理论、方法,对初学者来说许多都是新的,学习起来会感到困难大一些,这一点必须有充分认识,为此建议学习方法上注意以下几点: 课前预习,课堂认真听讲,课后复习加深理解,特别要经常有意识地将前后内容联系起来融会贯通。 因为编译程序是一个庞大的程序系统,讲解过程必须“分而治之”(这也是人们处理复杂问题的基本方法),这就要求大家在学习过程中,始终以处理过程为主线,把前后联系起来考虑。 理论联系实际——亲自动手,构造一个演示性编译程序,至少要完成扫描器和语法分析器,以及语法制导翻译产生中间代码(课程设计) 认真完成作业,进一步巩固并加深理解所学知识 特别要下功夫认真学习如何从实际问题进行抽象并形式化,最终建立实际问题的模型(上升为理性认识),并借助模型进一步设计实现,这将对你能力的提高大有益处 六、教材 《程序设计语言编译原理》(第3版) 国防工业出版社 陈火旺等 内容详实丰富,理论与技术相结合 较为全面介绍了编译程序构造的基本原理、方法与技术 厚度适中 大多数院校一直采用,硕士入学考试参考书 所谓教材,实为第一参考书而已 七、参考书目 1.《编译原理》 李建中、姜守旭译, Compilers: Principles, Techniques,and Tools A.V.Aho, RavSethi, J.D.Ullman著,机械工业出版社; 2.《现代编译原理C语言描述》 赵克佳等译, Modern Compiler Implementation in C Andrew W. Appel 著,人民邮电出版社 八、考试 平时成绩:10% 课程设计:20% 期终考试:70% §2.编译程序概述 一、翻译程序(Translator) 能够把一种语言程序(称为源语言程序)转换成逻辑上等价的另一种语言程序(称为目标语言程序)的程序 任何非机器语言程序都需要翻译程序 翻译程序的工作就是进行等价变换(映射) 两个程序逻辑上等价是指对相同输入得到相同的输出 汇编程序(Assembler) 把汇编语言程序转变为机器语言程序的翻译程序 解释程序(Interpreter) 把源程序作为输入接收,边解释边执行的翻译程序 编译程序 将高级语言程序转变为低级语言程序的翻译程序 编译程序又可根据用途和侧重点的不同,进一步分类为: ①诊断编译程序(Diagnostic Compiler) 专门用于帮助程序开发和调试的编译程序 ②优化编译程序(Optimizing Compiler) 着重于提高目标代码效率的编译程序 ③交叉编译程序(Cross Compiler) 能够产生不同于其宿主机机器代码的编译程序 ④可变目标编译程序(Retargetable complier) 无须重写与机器无关部分就能改变目标机的

文档评论(0)

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

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

1亿VIP精品文档

相关文档