北航计算机学院编译原理,1 北航本科编译原理课件课本 张莉.pdf
1 北航本科编译原理课件课本 张莉
第一章 概 论
• 编译的起源:程序设计语言的发展
• 编译的起源:程序设计语言的发展
• 基本概念
• 基本概念
• 编译过程和编译程序构造
• 编译过程和编译程序构造
• 编译技术的应用
• 编译技术的应用
北京航空航天大学计算机学院 1
1.1 程序设计语言的发展
1.1 程序设计语言的发展
机器语言 汇编语言 面向用户 面向问题
(机器指令) 的语言 的语言
低级语言 高级语言
北京航空航天大学计算机学院 2
• 低级语言 (Low level Language)
– 字位码、机器语言、汇编语言
– 特点:与特定的机器有关,效率高、灵活,但使用复
杂、繁琐、编写费时、易出错
• 高级语言
-- Fortran、Pascal 、C 语言等
– 特点:不依赖具体机器,移植性好、便于描述问题处
理过程和算法、易使用、易维护等。
用高级语言编制的程序,计算机不能立即执行,
必须通过一个“翻译程序”加工,转化为与其等价的
机器语言程序,机器才能执行。
这种翻译程序,称之为“编译程序”。
北京航空航天大学计算机学院 3
1.2 基本概念
1.2 基本概念
• 源程序
用汇编语言或高级语言编写的程序称为源程序。
• 目标程序
用目标语言所表示的程序。
目标语言:可以是某种机器的机器语言或汇编语言,
也可以是介于源语言和机器语言之间的“ 中间语言” ,
甚至可以是另一种高级语言。
• 翻译程序
将源程序转换为 目标程序的程序称为翻译程序。
它是指各种语言的翻译器,包括汇编程序和编译程序,
是汇编程序、编译程序以及各种变换程序的总称。
北京航空航天大学计算机学院 4
源程序、翻译程序、目标程序 三者关系:
源程序 翻译程序 目标程序
SOURCE TRANSLATER OBJECT
PROGRAM PROGRAM
即源程序是翻译程序的输入,目标程序是翻译程序的输出
北京航空航天大学计算机学院 5
• 汇编程序
若源程序用汇编语言书写,经过翻译程序得到用机器语言
表示的程序,这时的翻译程序就称之为汇编程序,这种翻译过
程称为“汇编”(Assemble )
• 编译程序
若源程序是用高级语言书写,经加工后得到目标程序,
这种翻译过程称“编译” (Compile)
汇编程序与编译程序都是翻译程序,主要区别是加工对象的
不同。
北京航空航天大学计算机学院 6
源程序的编译和运行
源程序的编译和运行
北航计算机学院编译原理,1 北航本科编译原理课件课本 张莉.pdf相关推荐
- 北航计算机学院教授马帅,北航离散数学大一课件(马帅)指南.pdf
数理逻辑-(2)命题逻辑 马殿富 北航计算机学院 马 帅 dfma@buaa.edu.cn 计算机学院 2012-9 mashuai@buaa.edu.cn 提纲 基本概念:集合.函数.归纳.数理 ...
- 北航计算机学院 张炯导师,北航计算机学院2011研究生招生复试规定与安排_跨考网...
北京航空航天大学计算机学院关于2011年学历硕士研究生招生复试录取的规定与安排 为了做好2011年硕士研究生统考生源招生复试工作,保证硕士研究生的生源质量,促进硕士研究生招生复试工作的规范化和制度化, ...
- 北航 计算机学院 加试两门,北航强军计划考研计算机学院招生.pdf
北航强军计划考研计算机学院招生.pdf 2015北航强军计划考研(计算机学院)参考书.历年真题.报录比.研究生招生专业目录. 复试分数线 一.招生简章 一.拟招生人数 2015 年我校拟计划招收约33 ...
- 北航 计算机学院 2011级学生会,北航学生会主席在2011级新生开学典礼发言稿.doc...
北航学生会主席在2011级新生开学典礼发言稿 北航校学生会主席赵罡同学 在2011级新生开学典礼上的发言 尊敬的各位领导.老师,亲爱的新同学们: 大家好! 又是一年金秋至,巍峨学府育新枝.我很荣幸在新 ...
- 北航计算机学院的博士待遇,北航博士毕业留校让人寒心的工资
岗位工资/薪级工资 845 教护龄0 奖励25 行业0 岗贴1000 提租70 职务687 副书35 交卫10 校补200 应发工资2872 交税 房租 水费 电费 清闭 三险9.6 公积364: 实 ...
- 北航计算机学院硕士培养方案,北航硕士研究生培养方案.doc
北航硕士研究生培养方案 自动化科学与电气工程学院 理学院 宇航学院 控制科学与工程(0811) 硕士研究生培养方案 适用学科 控制科学与工程(0811) 控制理论与控制工程(081101) 检测技术与 ...
- 北航计算机学院硕士培养方案,北航硕士研究生培养方案
北航,大家都知道,想考它研究生的就看一下吧 自动化科学与电气工程学院 理学院 宇航学院 控制科学与工程(0811) 硕士研究生培养方案 一. 适用学科 控制科学与工程(0811) 控制理论与控制工程( ...
- 北航计算机学院有河南的,北航计划在豫招生165人 河南多所高职公布预录名单...
今年河南省39所高职院校计划单独招生22452人,报名参加2013年高考的考生都可以参加.参加高职单招并被录取的考生,再参加高考.昨日,河南省多所院校已公布拟录取或录取名单. 高职单招是授权高职院校独 ...
- 北航计算机学院2017年博导,北航机械工程及自动化学院2017博士生导师:乔立红...
乔立红,考书婷,杨志兵,三维数字化工艺模型及其表达框架,机械工程学报,已录用. 乔立红,朱怡心,Nabil Anwer,几何增强的装配工艺本体建模,机械工程学报,已录用. 陈圣杰,乔立红,基于约束矩阵 ...
最新文章
- 普中28335开发攻略_TMS320F28335项目开发记录1_CCS的使用介绍
- freertos 定时器 不启动_FreeRTOS 从入门到精通8--软件定时器应用
- 程序员的光荣与梦想——论侠客梦的延续与幻灭
- C++实现一个栈(使用类模板)
- 《剑指offer》删除链表中重复的节点
- C++ 右值引用 | 左值、右值、move、移动语义、引用限定符
- winform 统计大量数据重复的元素个数_DAY10——推断统计之概率与概率分布:常见的离散型概率分布...
- java小球游戏项目实战
- nginx 常用优化
- 跟我一起考PMP---项目的管理过程
- 小白入,告诉你.ssh新建config文件究竟是哪种文件!
- PDF文档转换成mobi格式(for kindle),并解决排版问题
- 物联网建设,智慧城市道路智能交通解决方案
- 解决xftp6 要继续使用此程序您必须应用最新的更新或使用新版本
- 【JavaP6大纲】MySQL篇:为什么要分库分表(设计高并发系统的时候,数据库层面该如何设计)?用过哪些分库分表中间件?不同的分库分表中间件都有什么优点和缺点?你们具体是如何对数据库如何进行垂直拆分
- 国企程序员可以干多久
- 网络协议之Netflow与sFlow协议
- 台式计算机强制关机,台式电脑强制关机按什么键
- JS中alert和alter
- flex:0 flex:1 flex:auto flex:none之间的区别
热门文章
- 提供MapXtreme 2004 6.2 NCP破解文件及安装方法(已经不能提供了,等待破解最新的吧)...
- Win10如何远程连接Windows Server 2008,以及提示“您的凭证不工作”问题解决
- Linux系统下使用桥接模式,无法ping通外网解决问题方案!
- ImportError: No module named _ssl解决方法
- python关于解决‘\u‘开头的字符串转中文的方法
- 数据库连接池连接异常com.alibaba.druid.pool.GetConnectionTimeoutException
- mysql出现ERROR1698(28000):Access denied for user root@localhost错误解决方法
- 多少线程太多? [关闭]
- 删除或卸载以前添加的库:cocoapods
- Android - 启动器图标大小