- 1、本文档共61页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
李波 教授西安交通大学
编译原理
课程简介
为什么学习?
课程知识体系
课程安排
核高基重大专项
核心1级课时
核心2级课时
是否选修
面向对象程序设计
4
6
否
函数式程序设计
3
4
否
事件驱动和反应性程序设计
2
否
基本类型系统
1
4
否
程序表示
1
否
语言翻译与执行
3
否
语法分析
是
编译语义分析
是
代码生成
是
运行时系统
是
静态分析
是
高级程序构造
是
并发与并行
是
类型系统
是
正则语义
是
语言语用学
是
逻辑式程序设计
是
Programming Languages (PL)知识体
涉及程序设计与程序处理两部分内容
面向对象程序设计
函数式程序设计
逻辑式程序设计
事件驱动和反应式程序设计
高级程序构造
并发与并行
语言语用学
基本类型系统
程序表示
语言翻译与执行
语法分析
编译语义分析
代码生成
运行时系统
静态分析
类型系统
正则语义
课程说明
课程内容
介绍把高级语言程序转换为低级语言程序的原理和实现技术。
课程目的
系统地介绍程序分析、变换、运行管理及优化等技术。
提高程序构造能力
训练编译技术的应用能力
编译器设计实现、程序分析与验证、程序转换和优化。
教学安排
总学时64
课内学时56,主要讲授大纲中的知识点
上机实验8,将安排具体题目,提交结果
综合成绩:
平时成绩20%,包括上机、作业
上机:词法分析、语法分析
作业:指定时间提交,过后不补
期末考试 80%
教材及参考书
陈火旺等. 程序设计语言编译原理(第3版). 国防工业出版社.
Kenneth C. Louden. Compiler Construction: Principles and Practice (英文版1997). 机械工业出版社, 2002
Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman. Compilers :principles, techniques, and tools(2001) 有翻译本:南大赵建华等译. 编译原理. 机械工业,2009.
主要教学内容
第一章, 1.1-1.5
第二章, 2.1-2.3
第三章, 3.1-3.3, 3.4①
第四章, 4.1-4.6
第五章, 5.1, 5.2*, 5.3,5.4①
第六章, 6.1-6.2, -*
第七章, 7.1-7.7
第八章, 8.1-8.4
第九章, 9.1-9.5, 9.6*
第十章, 10.1-10.3, 11.4*
引论
形式语言简介
词法分析
自顶向下语法分析
自底向上语法分析
属性文法
中间代码生成
符号表
运行时存储空间组织
代码优化、寄存器分配
注意:讲课内容与教材内容不是严格一致,对于一些内容,课件中讲得更深入细致,另一些内容则相比教材更简略,总体服从大纲要求。
几点说明
先修课程:离散数学、数据结构、程序设计语言。形式语言与自动机
学习本课程的目标:理解编译过程;能够编写简单的编译程序;有进行程序分析、变换、评价的基础。
学习的途径:
原理入手(掌握知识点)
掌握相关理论方法和技术方法
多做练习。
本课程的编程实验推荐采用C或Java编程进行。
编译理论
自动机和形式语言
离散数学
数据结构
机器、操作系统
支撑工具
基础
控制对象
编译理论与其他课程关系
课堂讨论:学习的意义和课程特点
意义:
学习编译程序构造原理,技术
更好地理解高级语言
编译的原理和方法可用于构造一些实用的工具
课程特点:
理解性原理
技术性实现
因为编译程序极其复杂,故讨论中将其肢解,学习中应注意前后联系,多做联系
编译技术的应用
第一章 引论
李波 boblee@
计算机教学实验中心 高效能建模与仿真研究小组
西安交通大学
第一章 引论
什么叫编译程序
编译过程概述
编译程序的结构及生成
1.1 什么叫编译程序?
错误及警告
输入
输出
编译程序
源程序
目标程序
源语言
目标语言
实现语言
if(a==b){
a=2;
b=4;
}
...
mov a, R1
mov b, R2
...
词法分析
语法分析
语义处理
代码生成
代码优化
功能上等价
几个注意的问题
源语言是高级语言,目标语言是低级语言时? 源语言和目标语言任意时?
书写编译器的语言可以是高级语言也可以是低级语言.
运行编译器的机器跟运行目标程序的机器可以相同也可以不同.
编译器/翻译程序
用什么语言编写编译器无关紧要
编译器/交叉编译器
宿主机/目标机
语言的抽象层次
机器语言: 能够被计算机的硬件直接
执行的指令程序
汇编语言: 将硬件指令用一些助记符表
您可能关注的文档
最近下载
- 2023届高考数学一轮复习专题:三角函数有关w的值及w取值范围的求法题型总结.docx
- 2024新湘艺版音乐七年级上册第二单元 汉族民歌 课件.pptx
- 教师资格证小学科目二默写本《教育知识与能力》.pdf VIP
- 江苏省淮安市淮安区2022-2023学年统考八年级上学期期中数学试卷 .docx
- GB-T17167-1997企业能源计量器具配备和管理导则.pdf
- 【优质】某地区一级水电站建设项目可行性研究报告-优秀甲级资质可研报告180页.doc
- 灶具成品检测标准.pdf
- 腹股沟疝(共27张PPT).pptx
- 部编版小学语文五年级上册第四单元整体解读与教学建议.doc
- 幼儿园 中班数学《10以内的倒数》.ppt VIP
文档评论(0)