编译技术 授课:胡静.

Slides:



Advertisements
Similar presentations
模板的使用 教育学 江西教育学院教育系 冯芳 2012 - 10. 第二章 教育学的产生和发展 第一节 教育学的研究对象和任务 第二节 教育学的产生与发展 第三节 学习教育学的意义与方法.
Advertisements

第七組古文閱讀報告 組長:秀惠 組員:孟筑、雅曼、雅文、盈蓁. 《朱買臣苦學有成》之原文翻譯 朱買臣,字翁子,吳人也。 朱買臣,字翁子,吳國人。 家貧,好讀書,不治產業,常刈(一ˋ)薪 樵,賣以給 (ㄐㄧ ˇ ) 食。 家裡雖然很窮困,但是他還是很喜歡讀書,因 不懂得如何治理產業,只能靠著上山砍材去城.
用 藥 安 全 用 藥 安 全 護 理 師 張 嘉 芬. 前 言 前 言 正確用藥的方法 藥袋上的秘辛 為了減少重大疾病或是醫療處理、 用藥不當的相關事件發生。
阿尔伯特亲王 阿尔伯特亲王纪念碑 维多利亚女王夫妇 维多利亚女王一家 建造水晶宫 水晶宫初建时的照片.
昆明机场. 目录  机场历史 机场历史  建设状况 建设状况  运行状况 运行状况  航线 航线.
第十四章 人口(二) 高中地理(一). 第一節 人口成長 第二節 人口組成 第三節 人口問題 第十四章 人口(二)
中國歷史 社會主義文化大革命 我們的報告是關於中國著名的革命 —— 文化大革命。你可會立即想到它何時發 生、怎麼會發生等等。我們將會介紹文 化大革命,希望你細心欣賞。
苏宁易购 Suning. com 双十一营销策略
证券市场基础知识真题.
党课讲座 入党的条件与程序.
中國大陸教育 督導制度探究 凌林煌教授/博士 講授 國立中山大學共同科歷史學程
梦想启航 ——大学生活与职业规划专题讲座.
河北保定外国语学校 高三家长会.
第四章 教育制度.
温故知新 犬 戎 公元前 770年 周平王 公元前771年 东周 洛邑 西周 镐京.
社會福利績效實地考核結果檢討 性侵害加害人處遇業務
党的十八届四中全会 依法治国精神解读. 党的十八届四中全会 依法治国精神解读 一、十八届四中全会概况 中国共产党第十八届中央委员会第四次全体会议,于2014年10月20日至23日在北京举行。 全会审议通过了《中共中央关于全面推进依法治国若干重大问题的决定》。
三國演義之赤壁之戰 By 溫雅婷 胡翊軒 王蓉蓉 高渝涵 鄭巧芳.
2011工作总结 ——345人点亮我的365天 汪颖.
让我们走进秋天.
以信息化带动教育现代化,打造教育的“南山质量”
证券市场法律制度与监督管理 作者:张学亮.
个体税收征管政策讲解 浏阳市地方税务局.
封面 2015易驾考最新分享: 科目二考试方法秘诀 文章来源:易驾考官网.
第一章 教育与教育学 讲授提纲 教育与教育学 思考题目 主讲: 白彦茹(教授) 阅读文献 教学目的与要求 教学重点与难点 退出.
基于行业的 企业技术创新信息保障体系研究 刘 华 博士 中国科学技术信息研究所.
我国政府受人民的监督 权力的行使:需要监督.
雷 曼 的 滑 铁 卢 ——雷曼兄弟破产案例分析.
鹽酥蝦 蝦子先處理好 蝦頭剪至眼睛處,鬚及蝦頭的小腳也都剪乾淨 2 再用廚房用剪刀開背去腸泥
我怀念的乡村记忆 陈秀华 社会工作0841.
第四节 K线图研判技巧.
沟通技巧 主讲:涂育俊.
何谓学龄期 学龄期是指6~7岁入小学起至12~14岁进入青春期为止的一个年龄段。期小儿体格生长仍稳步增长,除生殖系统外其他器官的发育到本期末已接近成人水平。 这个时期发病率较前为低,但要注意预防近视眼和龋齿,矫治慢性病灶,端正坐、立、行姿势,安排有规律的生活、学习和锻炼,保证充足的营养和休息,注意情绪和行为变化,避免思想过度紧张。
鞘翅目 生科四乙 蘇俊融.
旅游资源赏析.
972學期性平教育輔導活動 『我的性平宣言』 兩性交往價值觀澄清活動.
山东省水生态文明城市创建工作联席会议办公室
道路交通事故處理.
身心障礙學生之升學與就業 人發 郭峻如 科技 吳心昀
居住住宅正義與台灣不動產未來.
認識食品標示 營養師 李曼瑄 定緁食品有限公司
第7章 行政监督.
103年度雙和分區總務實務研討會 經費申撥 與 核銷流程說明 永續環境教育科-馮紹華 103年4月30日.
高中地理(一) 第十六章 產業(二)林、漁、礦業.
班級:2年2班 座號:33 姓名:羅子惠 指導老師:黃源弘 資料來源:
第七章 人 口 第一節 種族的分布與現況 第二節 人口結構與成長 第三節 人口問題 總目錄.
《汽车底盘构造与维修》 项目三气压制动系统 任务 气压制动系统.
我的心得報告 經過篩選,挑中我們 十多位學生由學校推薦進入公司,開始他們的學習之旅 學習的過程中有想像不到的意外驚喜
核心价值观记心中 主题班会
第三章 文学作为活动.
宗教故事 Back >> 【被逐出樂園】米開朗基羅1508~12年.壁畫
中国-北京 2010年6月-11月
2.4 民主监督—— 守望公共家园.
抗菌药物临床应用管理 仁爱 和谐 敬业 进取.
台展三少年-郭雪湖 學生:林雨錞 老師:袁淑芬.
立體圖形、圖形變換、空間 第十一組 廖芳苓 葉玟孝 林佩君.
視野死角與內輪差 埔心國小交通安全團隊.
世界看遍 终归回到纯水岸 波托菲诺08年终总结. 世界看遍 终归回到纯水岸 波托菲诺08年终总结.
台展三少年-郭雪湖 學生:林雨錞 老師:袁淑芬.
薪水與人生.
LOGO 缅怀先烈 雷锋.
第十讲 刘少奇与中国革命和建设.
科 系:休閒事業管理系. 指導老師:許興家老師. 組 員:游海欽.周書豪.林季蓁.
喜雨亭記 國二甲 S 陳姿婷.
醫學美學期末報告 醫學美學之我見---- 談單眼皮變雙眼皮
餐旅籌備與規劃 授課老師: 陳怡慈.
佛山房地产市场周报 2019/4/6-2019/4/12 合富研究院(佛山) 佛山市禅城区祖庙路33号百花广场30楼 室
技專校院多元入學管道 國立臺北科技大學 教務處 涂雅筑.
景文科技大學學生校外實習訪視暨差旅費核銷說明
Presentation transcript:

编译技术 授课:胡静

课程目标 掌握编译的基本理论、常用编译技术。 一个完整的例子: 编译前端使用已有工具:LEX和YACC 能运用所学技术解决实际问题,独立编写编译后端 一个完整的例子: 基于语言:简单的PASCAL语言(SPL) SPL相关资料(程序) http://cs.tju.edu.cn/faculty/hujing/编译原理/2011 虎书各种参考 http://www.cs.princeton.edu/~appel/modern/c/ 2019/1/2 编译原理

课程的考核 最终成绩=卷面成绩*0.8+平时成绩*0.2 平时成绩的计算方法 小组考核、组内考核 2019/1/2 编译原理

计算机课程间的拓扑关系 2019/1/2 编译原理

教学要求 掌握编译程序总体结构 在系统级上认识算法、系统的设计 学习有关的原理、实现方法和技术,了解计算学科的基本方法、思想 具有把握系统的能力 学习有关的原理、实现方法和技术,了解计算学科的基本方法、思想 掌握典型方法。 兼顾语言的描述方法、设计、应用——形式化 能形式化就能自动化 进一步培养“计算机思维能力” 软件系统的非物理性质 2019/1/2 编译原理

编译器构造法 好的编译器是计算机科学的缩影 包含大量的技术:贪婪算法(寄存器分配)、启发式搜索技术(列表调度)、图形算法(死码消除)、动态规划(指令筛选)、有穷自动机和下推自动机(扫描和语法分析)、不动点算法(数据流分析) 处理复杂的问题:动态分配、同步、命名、局部化、存储器分层管理、管道调度 提供完整的解决方案:有机的结合算法、软件体系结构和软件工程的各种理论,对棘手问题给出综合性的解答方案。 2019/1/2 编译原理

学习成果 理解编译过程各个阶段的工作原理 理解标准编译器各个组成部分的任务 熟悉编译过程各阶段所要解决的问题及其采用的方法和技术 应用所学的技术解决编译器构造过程中所产生的相关问题 理解编译器在生成代码时如何充分利用特定处理器的特征 2019/1/2 编译原理

编译技术课程研究什么 什么是编译程序 2019/1/2 编译原理

基本概念 用汇编语言或高级语言编写的程序称为源程序。 用目标语言所表示的程序。 目标程序 用目标语言所表示的程序。 目标语言:可以是介于源语言和机器语言之间的“中间语言”,可以是某种机器的机器语言,也可以是某机器的汇编语言。 翻译程序 将源程序转换为目标程序的程序称为翻译程序。它是指各种语言的翻译器,包括汇编程序和编译程序,是汇编程序、编译程序以及各种变换程序的总称。 2019/1/2 编译原理

2019/1/2 编译原理

源程序的编译执行 2019/1/2 编译原理

源程序的解释执行 2019/1/2 编译原理

源程序的编译-解释执行 2019/1/2 编译原理

什么是编译器 什么是编译程序 预处理器 编译器 汇编器 装配连接编辑 骨架程序 可重定位目标文件库 源程序 目标汇编程序 可重定位机器代码 绝对机器码 可重定位目标文件库 2019/1/2 编译原理

源代码 符合人类阅读习惯 符合人类语法定义 使用被命名的结构,例如变量和过程 2019/1/2 编译原理

装配语言机器代码 符合硬件需求 包含机器指令,使用寄存器和没有命名的内存地址 对人类来说很难理解 2019/1/2 编译原理

例子:输出的装配代码 没有优化的代码 优化后的代码 2019/1/2 编译原理

如何转换 转换是一个很复杂的过程 我们需要结构化这个转换过程 源程序语言和目标程序语言是截然不同的 定义中间阶段 每个阶段完成特定的功能 2019/1/2 编译原理

一个简单的编译器的结构 2019/1/2 编译原理

简单的前端结构 2019/1/2 编译原理

词法分析 词法分析也叫线性分析。 任务:分析和识别单词。源程序是由字符序列构成的,此法分析扫描源程序(字符串),根据语言的词法规则分析并识别单词,并以某种编码形式输出。 单词:是语言的基本语法单位,一般语言有四大类单词 首先说明,我们要用一个简单的表达式position := initial+rate*60来说明编译器整个的工作过程。 2019/1/2 编译原理

语法分析 语法分析也成为层次分析。 任务:根据语法规则(即语言的文法),分析并识别出各种语法成分,如表达式,各种说明,各种语句,过程,函数,并进行语法正确性检查。 2019/1/2 编译原理

语法分析(续) 2019/1/2 编译原理

语义分析、生成中间代码 语义分析、生成中间代码。 任务:对识别出的各种语法成分进行语义分析,并产生相应的中间代码。 2019/1/2 编译原理

语义分析、生成中间代码(续) 2019/1/2 编译原理

语义分析、生成中间代码(续) 2019/1/2 编译原理

代码优化 代码优化 任务:目的是为了得到高质量的目标程序 2019/1/2 编译原理

生成目标程序 由中间代码很容易生成目标程序(地址指令序列)。这部分工作与机器关系密切,所以需要根据机器进行。在做这部分工作时(要注意充分利用累加器),也可以进行优化处理。 2019/1/2 编译原理

全景图 2019/1/2 编译原理

编译器的概念模型 表 格 管 理 词法分析程序 出 错 处 理 语法分析程序 语义分析程序 编译的前端 (Front End) 分析部分 与源语言有关 中间代码生成程序 代码优化程序 编译的后端 (Back End) 综合部分 与目标机有关 目标代码生成程序 2019/1/2 编译原理

中间表示的重要性 2019/1/2 编译原理

遍 2019/1/2 编译原理

一遍扫描编译程序 2019/1/2 编译原理

Thanks for your time! Questions & Answers 2019/1/2 编译原理