欢迎来到天天文库
浏览记录
ID:39632140
大小:325.32 KB
页数:48页
时间:2019-07-07
《编译原理及其习题解答(武汉大学出版社)课件cha》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、编译原理compilersprinciples学时安排上课:48学时(1~12周)实验:12学时(5~10周周一下午)1课程内容第一章引论第二章形式语言概论第三章有穷自动机第四章词法分析第五章自上而下语法分析第六章自下而上分析和优先分析方法第七章自下而上的LR(k)分析方法第八章语法制导翻译代码优化……2成绩:平时实验期中考查期末考试3与课程有关的问题:本课程的性质、目的和任务:本课程是计算机类专业的专业课,目的是使学生了解并掌握编译程序的基本理论和方法,具有分析和实现编译程序的初步能力。本课程的基本要求:通过对本课程的学习,对形式语言有初步了解,对编译程序的整个结构有较清楚的了
2、解,熟悉和掌握几种主要编译方法。课程内容的重点、深度与广度:文法和形式语言、词法分析和有穷自动机、语法分析语义分析、目标代码的生成,了解符号表的构造、存储分配与管理、代码优化和错误校正(学时所限。。)41.课前预习,课后复习2.实践出真知3.力求两境界,克服一状态境界一:原理理解马马乎乎、做题顺手境界二:基本掌握编译原理的设计、做题讲究技巧一状态:听课稀里糊涂、课后与己无关5参考书:《编译原理教程》胡元义等 西安电子科大《程序设计语言编译原理》 陈火旺、刘春林等国防工业出版社《编译原理》 吕映芝等清华出版社KennethCLoudenCompilerConstructionPri
3、nciplesandPractice编译原理与实践,PWSPublishingCompany,1997。中译本机械工业出版社AlfredV.Aho,MonicaS.Lam,RaviSethi,JeffreyD.UllmanCompilers:Principles,Techniques,andTools(2ndEdition),AddisonWesley,2006(Dragonbook,龙书)AndrewW.AppelModernCompilerImplementationinJava,CambridgeUniversityPress,2002.2ndEd.(TigerBook,虎
4、书)MichaelL.ScottProgrammingLanguagePragmatics,SecondEdition,MorganKaufmann,2005.(中译本:《程序设计语言:实践之路》裘宗燕,电子工业出版社)6第一章引论本节内容:程序的翻译编译程序的工作过程编译程序的结构编译程序的组织方式编译程序的构造7编译程序在计算机系统中的位置分类软件系统软件语言处理系统操作系统编译系统裸机81.1程序的翻译1.1.1程序设计语言机器语言001110010010汇编语言addR12高级语言beginx:=9+2end问题:计算机只能识别二进制数0、1表示的指令和数构成的本计算机系
5、统的机器语言。如何让计算机执行高级语言程序呢?91.1程序的翻译1.1.2翻译程序所谓翻译程序,是指这样一种程序,它能将用甲语言(源语言)编写的程序翻译成与之等价的用乙语言(目标语言)书写的程序。程序的翻译通常有两种方式:一是“编译”方式,二是“解释”方式。101.1程序的翻译1.1.3编译方式一种分阶段进行的方式1.翻译阶段:高级语言或汇编语言源程序机器语言目标程序2.运行阶段目标程序、运行子程序、数据运行结果111.1程序的翻译3.编译方式的特点在编译方式下,源程序的执行需要分阶段。·如果目标程序是机器语言程序,则源程序的执行分为两大阶段:编译阶段和运行阶段。·如果目标程
6、序是汇编语言程序,则源程序的执行分为三大阶段:编译阶段、汇编阶段和运行阶段。编译方式下,生成了目标代码,且可多次执行。121.1程序的翻译4.关于编译程序的几点说明⑴编译程序生成的目标程序不一定是机器语言的程序,也有可能是汇编语言程序;⑵编译程序与具体的机器和语言有关,即任何一个具体的编译程序都是某一特定类型的计算机系统中关于某一特定语言的编译程序;⑶对编译程序而言,源程序是输入数据,目标程序是输出结果。131.1程序的翻译1.1.4解释方式完成解释工作的解释程序将按源程序中语句的动态顺序,逐句地进行分析解释,并立即予以执行。执行历程为:141.1程序的翻译源程序解释执行的历程源
7、程序(高级语言)、初始数据↓解释程序↓计算结果在解释方式下,并不生成目标代码,而是直接执行源程序本身。这是编译方式与解释方式的根本区别。151.2编译程序的工作过程词法分析语法分析语义分析和中间代码生成中间代码优化目标代码生成161.2编译程序的工作过程1.2.1词法分析依据语言词法规则,分析由字符组成的源程序,把它识别为一个一个具有独立意义的最小语法单位,即“单词”,并识别出与其相关的属性(如是标识符,是界限符,还是数,等等),再转换成长度上统一的标准形式(这种统一的标准形式既
此文档下载收益归作者所有