- 1、本文档共66页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中国石油大学,编译原理第01章、编译程序概论-3课件
1
《编译原理》
主讲: 马 力
单位: 计通学院 计算机科学系
Email: mali@upc.edu.cn
电话: 2
前 言
课程内容
课程特点
课程性质
学习章节
参考书
教学安排
考试安排
课程内容
基本内容是介绍编译程序构造的基本原 理、方法和技术,包括词法分析、语法分析、语义分析与中间代码产生、代码优化及目标代码产生等。
简言之,就是介绍如何将源程序翻译成目标代码程序。
3
课程性质
专业基础课,原理性课程,限选。
上世纪50年代,FORTRAN语言及编译系统产生标志着编译技术开始形成。
60年代~70年代是研究高峰期。
60年代中期开始在高校中开设课程。
80年代开始作为计算机科学与技术专业的必修基础课程。
4
课程特点
理论与实践的结合
理论:编译基础理论
实践:自己编写编译器
涉及的知识面广泛
程序设计语言、计算机体系结构、语言理论及算法、离散数学、数据结构等。
涉及的原理、方法和技术具有十分普遍的意义
编译课程蕴含着计算学科中解决问题的思路、抽象和方法,这些与高等数学一样,使你“享用一辈子”。
5
6
学 习 章 节
第一章 编译程序概论(一般了解)
第二章 PL/0编译程序的实现(自学)
第三章 文法和语言
第四章 词法分析
第五章 自顶向下语法分析 - LL(1)文法
第六章 自底向上语法分析 -优先分析法
第七章 自底向上语法分析 -LR分析法
第八章 语法制导翻译及代码生成
7
参考书
1.《编译原理(第二版)》,张素琴、吕映芝、蒋维杜、戴桂兰编著,清华大学出版社,2013年版 (教材)
2.《程序设计语言编译原理》(第三版),陈火旺、刘春林等编著,国防工业出版社,2000年
3.《编译原理与编译程序构造》,高仲仪等编著,北京航空航天大学出版社,2001年
4.《编译原理》,胡伦骏、徐兰芳、刘建农编,电子工业出版社,2002年
8
5 .龙书(Dragon book)英文名:Compilers: Principles,Techniques,and Tools作者:Alfred V.Aho,Ravi Sethi,Jeffrey D.Ullman中文名:编译原理技术和工具6 .虎书(Tiger book)英文名:Modern Compiler Implementation in C作者:Andrew W.Appel,with Jens Palsberg中文名:现代编译原理-C语言描述7 .鲸书(Whale book)英文名:Advanced Compiler Design and Implementation作者:Steven S.Muchnick中文名:高级编译器设计与实现
9
教学安排
教学: 48课时
幻灯片+板书教学
课后作业:从第3章起一般每章交1次,大约5次
课终复习、串讲一次
要求:课后复习、认真作业
10
考试安排
考核范围:重点考察编译原理中的基本概念,编译基础理论以及编译过程的各个阶段的功能和实现方法。
考核方式:期末考核与平时成绩相结合的方式。
1)期末考核:
笔试、闭卷,答题时限120分钟,占70%;
2)平时成绩:
视平时考勤、表现、课堂提问、作业完成情况等给分,占30%。
以上成绩累计60分以上(包括60分)算考核通过。
11
第一章 编译程序概论
1.1 什么是编译程序
1.2 编译过程概述
1.3 编译程序的结构
1.4 编译阶段的组合
1.5 编译技术的发展和应用
12
1.1 什么是编译程序(compiler)
一、基本概念
1. 编译程序
编译程序是现代计算机系统的基本组成部分。
从功能上看,一个编译程序就是一个语言翻译程序,它把一种语言(称作源语言)书写的程序翻译成另一种语言(称作目标语言)的等价的程序。
13
程序设
计语言
低级语言
高级语言
汇编语言
机器语言
翻译
程序
翻译
程序
2.程序设计语言及其翻译
源程序
目标程序
翻译程序
14
翻译程序Translator
汇编程序
Assembler
编译程序
Compiler
解释程序
Interpreter
高级语言
3.翻译程序
15
4. 高级语言程序处理的两种方法
(1) 编译途径
方法一:
源程序
运行程序
目标程序
编译程序
结果
初始数据
编译阶段
运行阶段
16
4.高级语言程序处理的两种方法
(1) 编译途径 方法二:
源程
序
运行程序
目标
文档评论(0)