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相关推荐

  1. 北航计算机学院教授马帅,北航离散数学大一课件(马帅)指南.pdf

    数理逻辑-(2)命题逻辑 马殿富 北航计算机学院 马 帅 dfma@buaa.edu.cn 计算机学院 2012-9 mashuai@buaa.edu.cn 提纲  基本概念:集合.函数.归纳.数理 ...

  2. 北航计算机学院 张炯导师,北航计算机学院2011研究生招生复试规定与安排_跨考网...

    北京航空航天大学计算机学院关于2011年学历硕士研究生招生复试录取的规定与安排 为了做好2011年硕士研究生统考生源招生复试工作,保证硕士研究生的生源质量,促进硕士研究生招生复试工作的规范化和制度化, ...

  3. 北航 计算机学院 加试两门,北航强军计划考研计算机学院招生.pdf

    北航强军计划考研计算机学院招生.pdf 2015北航强军计划考研(计算机学院)参考书.历年真题.报录比.研究生招生专业目录. 复试分数线 一.招生简章 一.拟招生人数 2015 年我校拟计划招收约33 ...

  4. 北航 计算机学院 2011级学生会,北航学生会主席在2011级新生开学典礼发言稿.doc...

    北航学生会主席在2011级新生开学典礼发言稿 北航校学生会主席赵罡同学 在2011级新生开学典礼上的发言 尊敬的各位领导.老师,亲爱的新同学们: 大家好! 又是一年金秋至,巍峨学府育新枝.我很荣幸在新 ...

  5. 北航计算机学院的博士待遇,北航博士毕业留校让人寒心的工资

    岗位工资/薪级工资 845 教护龄0 奖励25 行业0 岗贴1000 提租70 职务687 副书35 交卫10 校补200 应发工资2872 交税 房租 水费 电费 清闭 三险9.6 公积364: 实 ...

  6. 北航计算机学院硕士培养方案,北航硕士研究生培养方案.doc

    北航硕士研究生培养方案 自动化科学与电气工程学院 理学院 宇航学院 控制科学与工程(0811) 硕士研究生培养方案 适用学科 控制科学与工程(0811) 控制理论与控制工程(081101) 检测技术与 ...

  7. 北航计算机学院硕士培养方案,北航硕士研究生培养方案

    北航,大家都知道,想考它研究生的就看一下吧 自动化科学与电气工程学院 理学院 宇航学院 控制科学与工程(0811) 硕士研究生培养方案 一. 适用学科 控制科学与工程(0811) 控制理论与控制工程( ...

  8. 北航计算机学院有河南的,北航计划在豫招生165人 河南多所高职公布预录名单...

    今年河南省39所高职院校计划单独招生22452人,报名参加2013年高考的考生都可以参加.参加高职单招并被录取的考生,再参加高考.昨日,河南省多所院校已公布拟录取或录取名单. 高职单招是授权高职院校独 ...

  9. 北航计算机学院2017年博导,北航机械工程及自动化学院2017博士生导师:乔立红...

    乔立红,考书婷,杨志兵,三维数字化工艺模型及其表达框架,机械工程学报,已录用. 乔立红,朱怡心,Nabil Anwer,几何增强的装配工艺本体建模,机械工程学报,已录用. 陈圣杰,乔立红,基于约束矩阵 ...

最新文章

  1. 普中28335开发攻略_TMS320F28335项目开发记录1_CCS的使用介绍
  2. freertos 定时器 不启动_FreeRTOS 从入门到精通8--软件定时器应用
  3. 程序员的光荣与梦想——论侠客梦的延续与幻灭
  4. C++实现一个栈(使用类模板)
  5. 《剑指offer》删除链表中重复的节点
  6. C++ 右值引用 | 左值、右值、move、移动语义、引用限定符
  7. winform 统计大量数据重复的元素个数_DAY10——推断统计之概率与概率分布:常见的离散型概率分布...
  8. java小球游戏项目实战
  9. nginx 常用优化
  10. 跟我一起考PMP---项目的管理过程
  11. 小白入,告诉你.ssh新建config文件究竟是哪种文件!
  12. PDF文档转换成mobi格式(for kindle),并解决排版问题
  13. 物联网建设,智慧城市道路智能交通解决方案
  14. 解决xftp6 要继续使用此程序您必须应用最新的更新或使用新版本
  15. 【JavaP6大纲】MySQL篇:为什么要分库分表(设计高并发系统的时候,数据库层面该如何设计)?用过哪些分库分表中间件?不同的分库分表中间件都有什么优点和缺点?你们具体是如何对数据库如何进行垂直拆分
  16. 国企程序员可以干多久
  17. 网络协议之Netflow与sFlow协议
  18. 台式计算机强制关机,台式电脑强制关机按什么键
  19. JS中alert和alter
  20. flex:0 flex:1 flex:auto flex:none之间的区别

热门文章

  1. 提供MapXtreme 2004 6.2 NCP破解文件及安装方法(已经不能提供了,等待破解最新的吧)...
  2. Win10如何远程连接Windows Server 2008,以及提示“您的凭证不工作”问题解决
  3. Linux系统下使用桥接模式,无法ping通外网解决问题方案!
  4. ImportError: No module named _ssl解决方法
  5. python关于解决‘\u‘开头的字符串转中文的方法
  6. 数据库连接池连接异常com.alibaba.druid.pool.GetConnectionTimeoutException
  7. mysql出现ERROR1698(28000):Access denied for user root@localhost错误解决方法
  8. 多少线程太多? [关闭]
  9. 删除或卸载以前添加的库:cocoapods
  10. Android - 启动器图标大小