本书系统而简洁地介绍编译程序的构造原理,内容主要包括:概论、编译程序构造的基础知识、词法分析、语法分析、语义分析与目标代码生成、中间表示代码与代码优化、程序错误的检查与校正、目标代码的运行,以及虚拟机目标程序的解释程序的编制。各章开始于本章导读,各章末有本章小结、复习思考题以及习题。本书突出实践性,在编译程序构造的各个环节中,提供了具体可行的实现方法和技巧,供读者参考。
本书可作为计算机及相关专业的编译原理课程教材,也可作为计算机软件技术人员、研究生及广大计算机爱好者的参考用书。
《编译原理:编译程序构造与实践教程》:牢牢掌握编译程序构造的基本原理深入理解C程序设计语言的特性实践中领悟、实践中提升编译原理课程讨论的对象是编译程序。编译程序是符号处理的工具,只要是与符号处理相关的领域,都将可能需要应用编译程序构造的基本原理。仅讨论编译原理*基本的内容,突出从源程序读入到目标程序生成这一主线。紧密结合C语言。以C语言相关内容为例进行讨论,更具针对性。突出实践性。对编译过程的每个关键部分都有计算机实现的讨论,提供具体而切实可行的实现方法和技巧,读者将对概念与计算机实现之间的差异有深刻的体会,对C语言的应用能力将有较大的提升,并能积累程序编写和软件开发的经验。《编译原理:编译程序构造与实践教程》不是单纯地给出问题的解答,注重对重点问题进行分析,阐述思路。结合各种方法以实例说明,使学生在理解的基础上掌握问题的求解方法。概括地说,《编译原理:编译程序构造与实践教程》力图以简洁易懂的文字阐述主要的基本概念,用朴实的实例展示实用的方法,按直观的思维方法启发寻找问题的解答。
《编译原理:编译程序构造与实践教程》系统而简洁地介绍编译程序的构造原理,内容主要包括:概论、编译程序构造的基础知识、词法分析、语法分析、语义分析与目标代码生成、中间表示代码与代码优化、程序错误的检查与校正、目标代码的运行,以及虚拟机目标程序的解释程序的编制。各章开始于本章导读,各章末有本章小结、复习思考题以及习题。《编译原理:编译程序构造实践教程》突出实践性,在编译程序构造的各个环节中,提供了具体可行的实现方法和技巧,供读者参考。《编译原理:编译程序构造与实践教程》可作为计算机及相关专业的编译原理课程教材,也可作为计算机软件技术人员、研究生及广大计算机爱好者的参考用书。
插图:②语法分析。词法分析时识别开各个符号之后,由语法分析部分根据程序设计语言的语法规则,识别出各个语法成分,最终识别出完整的程序。在识别各类语法成分的同时,也就检查了语法的正确性。当识别出是语法上正确的程序时,生成相应的内部中间表示(通常是语法分析树或其他内部中间表示),如果存在错误,则给出相应的报错信息。完成语法分析的部分称为语法分析程序,或称为识别程序。概括起来,语法分析程序的功能是识别出各个语法成分,生成相应的内部中间表示,同时进行语法正确性的检查。③语义分析。编译程序继语法分析之后进行语义分析,即基于语法分析时输出的内部中间表示,依据各个语法成分的含义进行语义分析。由于一个程序通常由数据结构和控制结构两部分组成,必然对这两部分进行语义分析。对于数据结构,语义分析部分进行的语义分析工作是确定类型和类型检查,确切地说,检查标识符是否有定义,确定标识符所对应数据对象的数据类型等属性,检查运算的合法性及运算分量数据类型的一致性;对于控制结构,根据程序设计语言所规定的语义,对它们进行相应的语义处理,这时可以生成相应的目标代码。例如,对于一个加法运算,当检查了两个运算分量都有定义,它们都能进行加法运算(运算是合法的),且两个运算分量的类型一致(相容)时,可以生成进行加法的目标代码。不言而喻,执行语义分析的同时,还进行一些语义检查,当然这只是静态语义检查,即在编译时刻所能进行的语义检查,例如,检查是否从循环外通过控制转移语句把控制转入循环体。在运行时刻才能进行的语义检查称为动态语义检查,如检查数组元素下标是否越界,以及指针变量是否有初值等,自然不在语义分析时刻进行。为了改进目标程序质量,语义分析时可能不生成目标代码,而是生成另外一种内部中间表示,或称中间表示代码。代码优化阶段就是基于这种中间表示代码进行优化,然后再从优化了的中间表示代码生成目标代码。语义分析工作通常由语义子程序完成。完成语义分析的部分称为语义分析程序。概括起来,语义分析程序的功能是确定类型、类型检查、识别含义与相应语义处理,以及其他一些静态语义检查等。④代码优化。代码优化指的是为改进目标程序质量而在编译时刻进行的各项优化工作。代码优化通常基于语义分析部分生成的中间表示代码进行,把它变换成功能相同、但功效更高的优化了
张幸儿,南京大学计算机科学与技术系教授,长期从事教学和科研工作,参与多个编译程序和软件项目的研制,长期从事编译原理、程序设计等课程的教学。有丰富的教学经验和计算机软件开发经验。多次获得省部级科研与优秀教材奖,其中《计算机编译理论》和《计算机编译原理》分别获得教育部普通高校优秀教材二等奖。
戴新宇,南京大学计算机科学与技术系副教授,博士,研究方向是自然语言处理,多次讲授计算机编译原理课程。
☆大数据领域公认权威、百万级畅销书《大数据时代》作者维克托•迈尔-舍恩伯格教授最新力作☆“终身学习”时代的必读书,开启全新
网站设计与网页制作项目教程 本书特色 《网站设计与网页制作项目教程》:国家人力资源和社会保障部、国家工业和信息化部信息专业技术人才知识更新工程指定教材全国软件专...
NowavailablefromAbrams,thispopularbookoffersarare,close-uplookattheexquisite,lab...
《快速自学钢琴弹奏.简易肖邦》内容简介:本书适合教初级水平的钢琴弹奏者,演奏贝多芬、肖邦、古典名曲和中外民歌、影视金曲以及中
《汪曾祺诗歌全编(全集版)》内容简介:本书是汪曾祺自1941年起创作的、迄今为止最全的诗歌集,包括作者曾经发表过的和陆续搜集的
《20几岁,你为什么害怕来不及》内容简介:2015年6月,林夏萨摩,在简书上写下了一篇《你才20多岁,为什么总怕来不及》,一时间引爆
数字图像水印算法及应用 内容简介 数字技术的发展使得人们在享受数字化带来便利的同时,也深陷安全隐患之中。数字图像,作为多媒体形式的主要内容,其获取、修改、传输越...
Needtoovercomeinformationoverloadandgetyourmessageacross?Infographicsareyoursecr...
本书意在用这些最优秀的软件开发类文章来激励程序员们编写出更优秀的软件。我的目的很简单,就是好好编写软件。编程工作充满魅力
从设计到印刷Photoshop CS5平面设计师必读-配1张DVD光盘 内容简介 魏薇等编著的《从设计到印刷(photoshopcs5平面设计师必读)》以通俗的...
新编中文版AutoCAD 2008入门与提高 本书特色 精选常用软件,紧跟版本更新,连续推出配套图书通俗易懂,简洁实用,由“入门”起步,注重“提高”,使新手老手...
《我望着你来(经典悦读)》内容简介:本诗集选编了诗人一生的诗歌创作中具有代表性的作品。这些诗描写了初恋时的情感,对人生和现
你想要在互联网上赚钱吗?想要做好电子商务吗?那么你一定不能忽视社交媒体的力量。不管你想要营销的是实物商品、电子类产品还是
《知识产权中国化应用研究》内容简介:本书系知识产权法权威学者吴汉东教授对知识产权基本问题的独到见解,浓缩了作者几十年学术研
《长三角文化产业发展蓝皮书》内容简介:本书分为五个部分,主要包括总报告、行业报告篇、专题报告篇、区域报告篇和长三角文化产业
《说服力·工作型PPT该这样做(第3版)》内容简介:工作型PPT,唯“快”不破!作为日常工作中的PPT,不能为了追求完美设计而无限度
Chapter1.IntroductionSection1.1.TheHighPerformanceBuzz-wordChapter2.TheTheoryofC...
《引爆品牌卖点》内容简介:新产品上市能否寻找到恰当的卖点,是能否使产品畅销,能否建立品牌的重要因素。所谓卖点无非是指商品具
《从零开始学K线(实战操练图解版)》内容简介:在股市如此繁荣的今天,你是否想进入股市大展身手?作为股市新手,你是否因为无法读
《去台北》内容简介:一本极具实用性、权威性、审美性和文化性的台北旅游导览。一本令人充分领略台北文艺之美、美食之美、茶道之美