编译原理课程第1讲.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译原理课程第1讲.ppt

中国科大 编译原理和技术 大连理工大学软件学院 贾棋 jiaqi7166@编译原理课程在计算机科学技术中的地位: 课 程 简 介 编译理论与方法 计算机科学与技术中理论和实践相结合的最好典范 ACM 图灵奖,授予在计算机技术领域作出突出贡献的科学家 程序设计语言、编译理论与方法约占1/3 课 程 简 介 教材和参考书 陈意云、张昱,编译原理,高等教育出版社, 2008年第二版 Alfred V.Aho, Ravi Sethi, Jeffrey D.Ullman, .《编译原理 技术与工具(英文版)》 人民邮电出版社. 中文版:机械工业出版社 课 程 简 介 成绩评定 学期总评 = 考试成绩占70%,作业占15%,上机实验15% 课 程 简 介 课程要求 目标:师生共同努力,帮助大家学有所得 讲课进度较快,平时不复习并加深理解,后面将听不懂 作业较多,要求独立完成 上机实验,不要轻视 阅读PL/0编译器,会有很大收获 课 程 简 介 课程内容 介绍编译器构造的一般原理和基本实现方法 介绍的理论知识:形式语言和自动机理论、语法制导的定义和属性文法、类型论等 课程特点 强调形式化描述技术 强调对编译原理和技术的宏观理解,不把注意力分散到枝节算法,不偏向于某种源语言或目标机器 课 程 简 介 学习的意义 它是计算机专业的核心课程。对编程语言的设计和实现有深刻的理解,有利于学习编程语言,知其然知其所以然。 课 程 简 介 学习的意义 从软件工程看,编译器是一个很好的实例(基本设计、模块划分等), 所介绍的概念和技术能应用到一般的软件设计之中。编译器也许是大家在本科阶段分析最透彻的实例了。从本课程的学习也能了解到软件工程中的一些技术(如基于事件驱动的编程)。本课程所介绍的概念和技术能应用到一般的软件设计之中。 大多数程序员同时是语言的设计者,虽然是一些简单的语言(如输入输出),本课程的学习有助于提高对这些语言的设计水平。 课 程 简 介 学习的意义 可以肯定地说,你们中的95%以上的人在一辈子的生涯中都没有机会去实现一个真正的复杂语言的编译器。但是每一个人都绝对遇到需要使用编译技术的项目。 以下就是一些小的“编译器”. 课 程 简 介 学习的意义 课 程 简 介 学习的意义 课 程 简 介 学习的意义 课 程 简 介 学习的意义 在计算机专业考研或者各大公司招聘时,必考内容。 vc结果vs Linux下gcc的结果 vc6中的编译选项有 /Zp[1|2|4|8|16] ,/Zp1表示以1字节边界对齐,相应的,/Zpn表示以n字节边界对齐。n字节边界对齐的意思是说,一个成员的地址必须安排在成员的尺寸的整数倍地址上或者是n的整数倍地址上,取它们中的最小值。 要使用这个选项,可以在vc6中打开工程属性页,c/c++页,选择Code Generation分类,在Struct member alignment可以选择。 课 程 简 介 编译技术研究对象:编译器的构造与分析 BASIC年代的解释器 功能:它将高级语言的源程序翻译成一种中间语言程序,然后对中间语言程序进行解释执行 在那个年代,编译和解释两个功能是合在一个程序中,该程序被称为解释器 Java年代的解释器 解释器的上述两个功能分在两个程序中 前一个叫做编译器,它把源程序翻译成一种叫做字节码的中间语言程序 后一个叫做解释器,它对字节码程序进行解释执行 编译器和解释器的区别 三种奶牛三种嗜好 编译器和解释器的区别 改进后的方案 编译器和解释器的区别 牧草 = 我们的各种编程语言,C/C++/C#, Java, Pascal, PHP, Perl, Java Script等 切割机 = 各种编译器 奶牛 = 各种CPU,比如x86,ARM,MIPS等 奶牛会有吃不同形状牧草的嗜好,这个奇怪的比喻是为了表示不同的CPU接受的不同的机器语言。 编译器和解释器的区别 编译器和解释器的区别 编译器与解释器的区别 编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快; 而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的. 第一章 引 论 翻译器:把一种语言变换到另外一种语言的软件。这两种语言分别称为源语言和目标语言。 编译器:一种翻译器,它的目标语言比源语言低级。 第一章 引 论 编译器从逻辑上可以分成若干阶段,每个阶段把源程序从一种表示变换成另一种表示 第一章 引 论 FORTRAN (FORmula TRANslation) 第一个实用的高级语言 擅长于数学函数运算 常

文档评论(0)

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

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

1亿VIP精品文档

相关文档