汇编语言/编译原理
-
编译原理及其习题解答何炎祥 等编编译程序是计算机的重要系统软件,是高级程序设计语言的支撑基础。全书共14章,分别介绍了:形式语言、解法分析,自上而下语法分析,存储组织与管理等。本书第一章讲述编译程序的功能、结构、工作过程、组织方式、编译程序高级语言的关系以及编译自动化方面的基本知识。第二章介绍语言理论,本书给出了使于理解、有助于研究各种分析方法和设计构造编译程序的形式语言理论,并着重介绍了上下文元关方法。有穷自动机是描述词法的有效工具,也是进行词法分析的主要理论基础。因此,第三章专门讨论有穷自动机,它与正规方法、正规表达式之间的对应关系以及它的确定化和最小化方面的知识,略去了像Turing机及可计算性理论方面的内容。第四章讨论词法分析的功能和词法分析程序的设计方法。上下文无关方法可用于描述现今大多数高级程序设计语言的语法,也是语法分析的主要理论支柱。为此,在接下来的几章里,主要讨论了与上下文无关方法相关的各类语法分析方法。第五章介绍自上而下分析方法。第六章讨论自下而上分析方法的一般原理和优先分析方法,包括简单优先分析技术和算符优先分析方法。第七章专门讨论自下而上的分析方法。第八章介绍语法制导翻译方法,主要讨论了SDTS的基本原理、属性翻译方法以及它们在中间代码生成中的应用。第九章讨论运行时的存储组织与管理,其中考虑了一些重要的语言特征。第十章讨论符号表的组织和存取符号表的各种方法。第十一章介绍常用的优化方法。第十二章简单讨论代码生成的原理。第十三章、第十四章分别介绍词法分析器生成工具LEX和语法分析器生成工具YACC,以便于课程的教学实习和课程设计。
-
十五规划计算机系列教材刘念暂缺简介...
-
编译方法学习指导与实践贺汛编著本书是编译原理课程的辅导教材。书中对该课程的各部分内容进行了整理、归纳和总结,并指出其重点。同时,选取了一些具有一定难度和代表性的例题,进行了深入细致的分析和解答,为读者提供了解题思路和解题方法。书中还精选了一些与历届研究生入学试题相类似、难度相当的题目作为习题,并给出了参考答案。另外,本书还设计了一个简单的程序设计语言的编译程序,并将其作为实验内容,通过该实验可使读者加深对编译理论的理解,提高程序设计水平。本书可作为编译原理课程的考研复习用书、教学辅导用书和实验指导书,也可作为计算机软件人员的参考资料??前言编译技术是计算机语言发展的支柱,也是计算机科学中发展最迅速、最成熟的一个分支。编译原理作为计算机专业的一门核心课程,在教学中占有十分重要的地位。由于其内容具有较强的理论性和实践性,学生在学习过程中普遍感到内容抽象、难于理解、题目难做。为此特编写本书,希望本书能够成为学生学习编译原理的好帮手,能使读者更全面、更透彻地理解和掌握编译的原理和方法,不再感到这门课程难学。本书作为编译原理课程的学习辅导用书,内容包括了编译各阶段的基本理论与方法,以及在编译过程中涉及到的一些问题。全书共分9章:第1章简单介绍了编译程序的功能、编译阶段的划分及编译程序的结构;第2章对语言与它的描述工具——文法进行了叙述;第3章为词法分析,涉及的主要技术是正规式与有限自动机:第4章为语法分析,主要包括自顶向下分析法中的预测分析法(LL(1)分析法)和递归下降分析法、自底向上分析法中的算符优先分析法和LR分析法:第5章为语法制导翻译与中间代码生成的相关内容;第6章介绍了编译过程中大量使用的符号表,包括它的作用及组织方法和管理方式;第7章从编译的角度介绍了程序运行时如何分配、管理好存储空间:第8章为代码优化,主要介绍了局部优化、循环优化的方法;第9章为目标代码生成,主要介绍了基本块的优化算法。书中每章的结构都相同,包括四部分:(1)主要内容。介绍这一章应掌握的概念、技术和相关算法,并点出这一章的重点;(2)例题解析。精选了一些典型题目,给出了解题思路、解题方法和要注意的问题,题目不多,但具有代表性:(3)习题。要学好编译的方法,就必须亲自动手做题目,这里给出了一些与例题相对应的作业:(4)习题参考答案。对习题中的每一道题目都给出了参考答案,大部分题目还给出了解题过程。本书还给出了一个简单的程序设计语言(S语言)的编译程序,将其作为实验。该实验将编译程序划分为三遍,分别实现词法分析、语法分析并生成中间代码、生成目标代码。书的最后附上了C语言程序清单。本书实验程序由戴跃发、刘继臣、王继刚等同学编程、调试,在此表示衷心感谢。由于作者水平有限,书中不妥之处,敬请读者批评指正。编者
-
编译原理何炎祥编著内容提要本书主要介绍设计和构造编译程序的基本原理和方法。内容包括形式语言理论和自动机理论、常用的词法分析方法、各种经典的语法分析方法、语法制导翻译方法、存储器的组织与管理方法、符号表的组织与造查表方法、代码优化和代码生成方法、并行编译程序及编译自动化技术等。本书注重理论与实践、原理与方法的互通,基本概念阐述清晰,讲授深入浅出,循序渐进,系统性强。各章之后还附有难度不一的习题供复习、思考和探索之用。本书既可作为高等院校计算机专业的教材,也可供相关专业师生和科技工作者及软件研发人员学习和参考。
-
80X86汇编语言程序设计廖智主编本书以当前广泛使用的8X86系列微型计算机为背景,系统介绍了汇编语言程序设计的基本理论和方法,以大量实例讲述了如何用汇编语言开发应用程序,以及上机调试和运用汇编语言程序的方法,同时详细介绍了8386后继机型的增强功能。本书共分八章,内容由浅人深,循序渐进,力求遵循面向应用、重视实践的原则,着重培养学生动手能力和思维方法。本书是应用型本科计算机科学与技术专业规划教材,适用于一般工科院校计算机及相关专业的本科教学使用,也可作为计算机工作者学习汇编语言的自学参考书。"汇编语言程序设计"是计算机专业的重要专业基础课,是从事计算机研究与应用,特别是软件研究的基础,是计算机专业必修的核心课程之一。该课程从系统软件和应用软件设计的角度出发,以目前使用最为广泛的8X86系列微型计算机为例,系统地介绍了汇编语言的基本概念、基本原理和程序设计的常用方法与技术,并通过具体实例,叙述了用计算机解决实际问题的全过程,同时还介绍了在8X86机上调试运行汇编语言程序的方法及其最新集成软件CmasmW的使用。本书作为应用型本科计算机科学与技术专业规划教材之一,是以着重培养学生动手能力和思维方法为目的编写的。全书在内容的选取、概念的引入、文字的叙述以及例题和习题的选择等方面,都遵循面向应用、重视实践的原则。全书共分九章。第一章介绍了学习8X86汇编语言程序设计所需的基础知识;第二章详细介绍了七种寻址方式及指令系统的格式、功能及使用方法;第三章主要介绍了伪指令、汇编语言程序结构和汇编语言程序的上机过程;第四章先介绍了常用的DOS功能调用,然后,系统地介绍了顺序、分支和循环程序设计的基本方法及技巧;第五章重点介绍了子程序设计的基本方法及技巧;第六章主要介绍了输A-/输出的程序设计和中断程序设计的概念和方法,以及ROMBIOS和DOS中断调用的调用方法,其中还特别介绍了"鼠标中断调用";第七章全面介绍了高级汇编语言技术:宏汇编、重复汇编、条件汇编、多模块程序设计以及汇编语言与高级语言的连接;第八章简介了8386后继机型的增强功能。第九章的实验部分具体规定了各次实验的目的要求、实验内容以及实验思考题,以方便读者自学和加强实践环节。汇编语言程序设计是一门实践性很强的课程,它需要复杂的脑力劳动,还可以培养学生的创造性和动手能力。为了帮助读者更好地掌握汇编语言程序设计的技巧,书中结合应用安排了丰富的例题和习题。读者可以通过这些例题学习一些规律,并且要认真完成习题,同时做到多编程序,多上机实践,这样,才能真正掌握程序设计的方法与技巧。本书由廖智担任主编,负责全书的总体规划和统稿工作。其中,赵鸿宇编写第一、二章;廖智编写第三~五章,第六章的部分,第九章的部分(实验一~四)和附录;徐爱芸编写第七、八章,第六章的部分和第九章的部分(实验五-八)。中南大学的杨路明教授在百忙中审阅了全部书稿,并提出了宝贵的修改意见,在此表示衷心的感谢。由于编者水平有限,书中不妥或错误之处在所难免,殷切希望广大读者批评指正。
-
80x86汇编语言程序设计沈美明,温冬婵编著《80x86汇编语言程序设计》由基础理论、编程工具、编程方法和实际应用4部分组成,共13章。第1、2章为基础理论部分,包括数制、码制等基础知识,计算机组成及基本原理;第3、4章介绍编程工具,包括指令系统、寻址方式、伪操作和汇编语言格式;第5~9章和第13章讲述编程方法,包括循环、分支、子程序等基本程序结构,定汇编技术,中断等输入输出程序设计方法,BIOS和DOS系统功能调用方法,以及多个模块的连接技术;第10~12章为实际应用部分,包括图形显示、发声和磁盘文件存取技术。《80x86汇编语言程序设计》不仅可以作为高等院校“汇编语言程序设计”课程的教材,也可以供需用汇编语言的工程技术人员和科研人员使用。
-
GCC技术参考大全(美)Arthur Griffith著;胡恩华译;胡恩华译本书内容特色:·在各种UNIX平台(包括Linux和BSD)上开发和部署软件·安装并使用自己的编译器编译C、C++、Objectivec、Fortran、Java和Ada·为众多平台生成本地可执行代码虽然在当今的计算机界中,正在进行的自由软件运动不一定是最重要的,但我们确实正处于一个巨大的变革的中心。软件的所有权正在由公司专有变为可根据任何目的自由获取和使用。目前,自由软件不仅包括程序语言编译程序和连接程序,而且还有大量的工具,图形化的用户界面环境,甚至包括整个操作系统。除此之外,还有一个事实就是所有的自由软件都是由GCC编译的,因此可否将GCC称作软件世界中最重要的一部分也就值得探讨了。当然,有很多种语言可用于编写程序,这些语言也都有很多编译程序,但这些编译程序中的绝大部分都是由GCC编写成并编译的。从某些方面来看,所有的自由软件都源起于GCC。有些计算机公司已经开始放弃自己的编译程序而选择简单安装GCC编译程序了。使用GCC是免费的,而且还能得到持续的功能扩展和维护。伴随着最近加入GCC家族的两种语言:Java和Ada:GCC编译程序的羽翼扩展得更大更广了。这使得GCC可用的语言达到6种:C、C++、Objective-C、Fortran、Java和Ada。而且它还在不断地开发其他语言,例如COBOL,如果有足够支持就会将这些语言也加入GCC。
-
现代体系结构的优化编译器(美)Randy Allen,(美)Ken Kennedy著;张兆庆等译;张兆庆译本书介绍对现代体系结构的编译器进行优化的方法,理论基础是基于循环依赖的。分析基于依赖的变换的正确性论述和依赖测试的详细过程。剖析怎样扩展依赖去处理循环嵌套中的控制流以及跨越整个程序的过程。本书还讨论怎样能用依赖来回答现代计算机系统编译中的众多重要问题,包括支持不同类型体系结构(例如,向量、多处理器、超标量)的并行化,存储层次结构的编译器管理,带指令级并行性的机器的指令调度。最后,介绍一些不大为人熟知的应用,如硬件设计、数组语言实现以及消息传递系统的编译。设计具有高性能微处理器的现代计算机体系结构,能够极大地提高计算机在性能方面的潜在优势。然而其高度的复杂性使得产生有效代码和实现其全部优势变得愈加困难。这本出自两位学术权威的具有里程碑意义的教科书,重点阐述了编译器对于解决这个至关重要问题所起到的关键作用。数据依赖是在高性能微处理器和并行体系结构上优化程序的基本编译器分析工具。它能使所编写的编译器自动地将简单的串行程序转换成具有现代体系结构特征的程序。数据依赖支持许多变换策略,也应用于一些重要的优化问题,本书对此做了全面介绍,并对基于数据依赖的编译器优化的重要性和广泛应用性进行了论证,给出了理解和实现它们所需要的基础,同时还为手工转换程序提供了详细说明。书中介绍的方法是基于过去二十多年的研究成果.取材于在美国Rice大学的研究原型和几个有关的商业系统中实现的策略。致力于现代计算机体系结构设计和优化编译器的研究人员、业界专家和研究生都可以从本书中获益。本书特点:●提供一种简单实用的算法和方法的指南,在高性能微处理器和并行系统中是最有效的●用处理过的例子示范每个变换●用实例分析编译器如何实现每一章中描述的理论和实践●介绍存储层次结构问题的最完善的处理方法●全书用依赖图来阐明排序关系●涉及各种语言。包括Fortran77、C、硬件定义语言、Fortran 90和High Performance Fortran
-
图书报刊编审校手册江建名编著这是一本关于如何撰写和编辑教材、专著、期刊、文艺作品、学术论文和科技报告的专著和工具书。它的内容主要包括:数理公式、化学式、插图和表格等的编排,编辑加工、校对、成本核算等。该书有三个显著特点:一是以国家最新颁布的标准中有关文献标准化、量和单位以及信息处理等技术标准作为规范;二是全面地介绍了与写作和编辑有关的理论和技术问题;三是解决了书刊计算机排版中的难点,对电脑排版规范化进行了具体的阐述。本书内容丰富、资料翔实、方便实用,是一本编辑工作的百科全书。本书可作为新编辑上岗的培训教材,也可供从事创作、翻译和编审工作的人员日常使用。<
-
编译程序设计原理杜淑敏、王永宁本书系统的介绍了编译程序设计的基本原理和方法,较详细的论述了当前各种语法分析技术。书中采用语法制导翻译方法。在文法符号的综合属性和继承属性等概念的基础上,给出了语法制导定义的形式,使得语义分析颇为清晰。在书的编写方式上,着重问题的提出,分析与解决。在内容的选取上,注意深入浅出。本书可作为高等学校计算机系各专业“编译原理”或“编译方法”课程的教材或参考书,也可供其他专业学生及从事计算机工作的有关人员阅读参考。