编译原理及其习题解答(武汉大学出版社)课件chap1

编译原理及其习题解答(武汉大学出版社)课件chap1

ID:45738297

大小:395.00 KB

页数:77页

时间:2019-11-17

编译原理及其习题解答(武汉大学出版社)课件chap1_第1页
编译原理及其习题解答(武汉大学出版社)课件chap1_第2页
编译原理及其习题解答(武汉大学出版社)课件chap1_第3页
编译原理及其习题解答(武汉大学出版社)课件chap1_第4页
编译原理及其习题解答(武汉大学出版社)课件chap1_第5页
资源描述:

《编译原理及其习题解答(武汉大学出版社)课件chap1》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、课程内容第一章引论第二章形式语言概论第三章有穷自动机第四章词法分析第五章自上而下语法分析第六章自下而上分析和优先分析方法第七章自下而上的LR(k)分析方法第八章语法制导翻译代码优化……1与课程有关的问题:本课程的性质、目的和任务:本课程是计算机类专业的专业课,目的是使学生了解并掌握编译程序的基本理论和方法,具有分析和实现编译程序的初步能力。本课程的基本要求:通过对本课程的学习,对形式语言有初步了解,并能对编译程序的整个结构有较清楚地了解,熟悉和掌握几种主要编译方法。课程内容的重点、深度与广度:文法和

2、形式语言、词法分析和有穷自动机、语法分析、语义分析、目标代码的生成,此外还要求掌握和了解符号表的构造、存储分配与管理、代码优化和错误校正。2参考书:《编译原理教程》胡元义等 西安电子科大《程序设计语言编译原理》 陈火旺、刘春林等国防工业出版社《编译原理》 吕映芝等清华出版社KennethCLoudenCompilerConstructionPrinciplesandPractice编译原理与实践,PWSPublishingCompany,1997。中译本机械工业出版社AlfredV.Aho,Moni

3、caS.Lam,RaviSethi,JeffreyD.UllmanCompilers:Principles,Techniques,andTools(2ndEdition),AddisonWesley,2006(Dragonbook,龙书)AndrewW.AppelModernCompilerImplementationinJava,CambridgeUniversityPress,2002.2ndEd.(TigerBook,虎书)MichaelL.ScottProgrammingLanguagePr

4、agmatics,SecondEdition,MorganKaufmann,2005.(中译本:《程序设计语言:实践之路》裘宗燕,电子工业出版社)3第一章引论本节内容:程序的翻译编译程序的工作过程编译程序的结构编译程序的组织方式编译程序的构造4编译程序在计算机系统中的位置分类软件系统软件语言处理系统操作系统编译系统裸机51.1程序的翻译1.1.1程序设计语言机器语言001110010010汇编语言addR12高级语言beginx:=9+2end问题:计算机只能识别二进制数0、1表示的指令和数构成的本

5、计算机系统的机器语言。如何让计算机执行高级语言程序呢?61.1程序的翻译1.1.2翻译程序所谓翻译程序,是指这样一种程序,它能将用甲语言(源语言)编写的程序翻译成与之等价的用乙语言(目标语言)书写的程序。程序的翻译通常有两种方式:一是“编译”方式,二是“解释”方式。71.1程序的翻译1.1.3编译方式一种分阶段进行的方式1.翻译阶段:高级语言或汇编语言源程序机器语言目标程序2.运行阶段目标程序、运行子程序、数据运行结果81.1程序的翻译3.编译方式的特点在编译方式下,源程序的执行需要分阶段。·如

6、果目标程序是机器语言程序,则源程序的执行分为两大阶段:编译阶段和运行阶段。·如果目标程序是汇编语言程序,则源程序的执行分为三大阶段:编译阶段、汇编阶段和运行阶段。编译方式下,生成了目标代码,且可多次执行。91.1程序的翻译4.关于编译程序的几点说明⑴编译程序生成的目标程序不一定是机器语言的程序,也有可能是汇编语言程序;⑵编译程序与具体的机器和语言有关,即任何一个具体的编译程序都是某一特定类型的计算机系统中关于某一特定语言的编译程序;⑶对编译程序而言,源程序是输入数据,目标程序是输出结果。10预处理器

7、编译器汇编器装配连接编辑骨架程序源程序目标汇编程序可重定位机器代码绝对机器码可重定位目标文件库一个语言处理系统11不同的语言有不同的编译程序语言转换系统C++编译器C++CJavaBytecodeJava编译器121.1程序的翻译1.1.4解释方式完成解释工作的解释程序将按源程序中语句的动态顺序,逐句地进行分析解释,并立即予以执行。执行历程为:131.1程序的翻译源程序解释执行的历程源程序(高级语言)、初始数据↓解释程序↓计算结果在解释方式下,并不生成目标代码,而是直接执行源程序本身。这是编译方式与

8、解释方式的根本区别。141.1程序的翻译1.1.5程序设计语言的分类汇编语言命令式语言:Fortran,Algol,Pascal,Basic,C,Modula,Ada,…面向对象语言:Simula,Smalltalk,C++,Java,C#,…说明式语言:函数式语言:Lisp,Scheme,ML,Haskell,…逻辑程序设计语言:Prolog脚本语言:Shell,Awk,Perl,Tcl,Python,Javascript,PHP,…文字处理语言:TEX,LATEX

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。