- 1、本文档共58页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第01讲-编译原理-课程简介课件
编译原理
Principles of Compiling
大连理工大学软件学院
什么是编译器?
2017-5-31
2
2017-5-31
3
2017-5-31
4
空调设为25度
词法分析
语法分析
语义分析
可执行代码
中间代码生成
5
编译原理课程在计算机科学技术中的地位:
程序设计语言
离散数学
数据结构
编译原理
操作系统
系统软件
应用软件
软件工程
信息系统
电子商务
6
编译理论与方法
计算机科学与技术中理论和实践相结合的最好典范
ACM 图灵奖,授予在计算机技术领域作出突出贡献的科学家
程序设计语言、编译理论与方法约占1/3
7
课程内容
介绍编译器构造的一般原理和基本实现方法
介绍的理论知识:形式语言和自动机理论、语法制导的定义和属性文法、类型论等
课程特点
强调形式化描述技术
强调对编译原理和技术的宏观理解,不把注意力分散到枝节算法,不偏向于某种源语言或目标机器
8
if (c == 5) then …
if (c = 5) then…
编译器不报错,但实际上错了
学习的意义
计算机专业的核心课程。
深刻的理解编程语言的设计和实现,有利于学习编程语言,知其然知其所以然。
9
学习的意义
从软件工程看,编译器是一个很好的实例(基本设计、模块划分等), 所介绍的概念和技术能应用到一般的软件设计之中。
编译器也许是在本科阶段分析最透彻的实例。
能了解到软件工程中的一些技术(如基于事件驱动的编程)。
大多数程序员同时是语言的设计者,虽然是一些简单的语言(如输入输出),本课程的学习有助于提高对这些语言的设计水平。
10
学习的意义
可以肯定地说,你们中的95%以上的人在一辈子的生涯中都没有机会去实现一个真正的复杂语言的编译器。但是每一个人都绝对遇到需要使用编译技术的项目。
以下就是一些小的“编译器”.
11
普通计算器
可编程计算器
学习的意义
12
自动聊天机器人
学习的意义
13
各种数据库查询语言及专家系统
select 课程
from table 课程表
where 任课老师=陈意云
学习的意义
14
本讲纲要
课程简介
编译技术概述
15
编辑器
源程序
编译器
操作系统
可执行程序
.exe
解释器
中间代码
可执行程序
.exe
Edit, Word, Notepad, Vi
gcc, vc, bc31
虚拟机
集成开发环境
编译技术研究对象:编译器的构造与分析
16
BASIC年代的解释器
功能:它将高级语言的源程序翻译成一种中间语言程序,然后对中间语言程序进行解释执行
在那个年代,编译和解释两个功能是合在一个程序中,该程序被称为解释器
Java年代的解释器
解释器的上述两个功能分在两个程序中
前一个叫做编译器,它把源程序翻译成一种叫做字节码的中间语言程序
后一个叫做解释器,它对字节码程序进行解释执行
17
第一章 引论
翻译器:把一种语言变换到另外一种语言的软件。这两种语言分别称为源语言和目标语言。
编译器:一种翻译器,它的目标语言比源语言低级。
编译器处理的对象:编程语言
18
编程语言演义
编程语言
机器语言
汇编语言
高级语言(Fortran, C, Java, …)
19
编程语言演义
机器语言特点
0,1串
打卡输入
c7 06 0000 0002
mov x, c 其中符号x的地址是0000,c=2
计算机可以直接理解机器语言程序
机器语言缺点
可读性差
可维护性差
机器语言
汇编语言
高级语言
20
编程语言演义
汇编语言形式
mov x,2
c7 06 0000 0002
变量x的地址可以由汇编器维护,而不需要固定到某个绝对地址
机器语言
汇编语言
高级语言
21
编程语言演义
高级语言形式
赋值语句:x=2
贴近人类思维方式,贴近实际问题描述形式
计算机无法直接理解
需要编译器辅助,将其转换为机器语言形式
机器语言
汇编语言
高级语言
22
编译器功能
完成从源语言到目标语言的转换
源语言:通常是高级语言(C,Java,…)
目标语言:汇编语言,或者其他形式的低级语言(如Java字节码)
编译器实现技术已经发展成熟,并且划分为功能相对明确的多个功能模块
23
编译器
编译器从逻辑上可以分成若干阶段,每个阶段把源程序从一种表示变换成另一种表示
翻译家
第一章 引 论
24
第一章 引 论
FORTRAN (FORmula TRANslation)
第一个实用的高级语言
擅长于数学函数运算
常用于科学计算中
第一个编译器
历史上第一个实用的编译器(John Backus):
Fortran compiler for the IBM 704/709/7090/7094
John Backus,引入了编译器的“阶段”或
您可能关注的文档
- Ch7-4微观粒子的波粒二象性.ppt
- CH6-5ed应用层.ppt
- 笔记本电池保养方法电池校正修复方法.doc
- 笔记本换屏.pptx
- 竹节桩学习资料.pptx
- 笔记本电脑型号、参数、及价格1103.docx
- CH4钢的过冷奥氏体转变及热处理PPT(10级).ppt
- 笔记本电脑壳上壳冲压模设计.doc
- 笔记本电脑的选配.pptx
- CH7L5SurfaceMeshing-2c.pptx
- 毕马威-银行业可持续相关信息披露:2024年报告周期基准分析结果.pdf
- 国信证券-金属行业中期投资策略:供给收缩需求稳增,逆全球化下金属价值重估.pdf
- 方正证券-基础化工行业-25Q2化工景气底部延续,关注业绩增量具备确定性的板块及个股.pdf
- 西部证券-京东物流-2618.HK-首次覆盖报告-开放创新、稳健成长的一体化供应链龙头.pdf
- 东北证券-机械设备行业机器人轻量化-材料与技术的革新之路.pdf
- 西部证券-康农种业-837403-首次覆盖报告:种业后起之秀大单品快速放量打开成长空间.pdf
- 平安证券-社会服务行业2025年中期策略报告:新世代、新需求、新消费.pdf
- 长城证券-Robotaxi正式推出量子计算迎来最新突破看好智驾、量子产业链长期发展.pdf
- 国盛证券-容知日新-688768-蓝海市场渗透率提升,预测性维护让工业更美好.pdf
- 广发证券-金融-银行行业:如何理解外币存款增量回升?.pdf
最近下载
- 电力设备公司产品制造车间生产定额计件工资实施办法.docx VIP
- 2023国有企业“三重一大”决策制度实施细则办法.pdf VIP
- 安徽大学《地球科学概论》课件-第4讲大气圈、冰冻圈、岩石圈.pptx VIP
- 国家开放大学(电大)《农业生态基础.》2020年09月春季期末考试真题及答案(试卷代号2794).pdf VIP
- 餐饮行业员工职业规划.pptx VIP
- 《数学数学期望》课件.ppt VIP
- 肾病内科专业疾病临床诊疗规范2025版.docx VIP
- 质量信得过班组培训课件.pptx VIP
- 《高级英语FacetoFacewithHurricaneCamille》-精选课件(公开).ppt VIP
- 高中化学课件:芳环上的亲核取代反应.pptx VIP
文档评论(0)