首页 > 图书中心 >图书详情
编译原理及实现(第2版)
作者:孙悦红
丛书名:21世纪计算机科学与技术实践型教程
定价:49元
印次:2-13
ISBN:9787302265849
出版日期:2011.11.01
印刷日期:2023.08.02
本书中介绍的程序语言文法以C语言文法为雏形,讲述几种典型的词法分析、语法分析方法以及语义处理和目标代码生成技术。并针对典型的语法成分,深入讲解如何具体编程用C语言实现词法分析、语法分析方法以及语义处理和目标代码,使学习者摆脱以往编译教材的抽象和理论与实际的脱节,通过具体实现来轻松掌握编译原理。
more >前 言 编译原理是高等学校计算机专业的必修专业课之一,是一门理论与实践并重的课程。编译原理介绍程序设计语言翻译的原理、技术及实现,对引导学生进行科学思维、提高学生解决实际问题的能力有重要作用。 在我国高等教育逐步实现大众化后,越来越多的高等学校将会面向国民经济发展的第一线,为行业、企业培养各类高级应用型专门人才。而受我国传统历史文化思想的影响,重理论、轻实践的观念在高教界仍较普遍,使我们培养的很多人才不适应社会需求,造成毕业生的结构性就业困难,这也迫使很多高等学校走向应用型教育,培养应用型人才。目前国内的编译原理教材大多偏重于理论,对实现技术介绍得较少,使学习者感到抽象、难以理解;而且教材篇幅厚重,由于授课时数的限制,以及学生接受能力的差异,教科书的内容往往不能充分发挥作用。根据这种现状,我们编写了本书,目的在于加强对学生应用能力的培养,使学生不仅具备理论知识,更要具备应用能力,使所学能为所用,以适应新经济时代对人才的需要,满足就业要求。 本书以通俗易懂的语言介绍编译原理,包括词法分析、语法分析、语义分析及代码生成、符号表管理、运行时的存储分配、代码优化等,并着重介绍各种编译方法的实现途径。考虑到目前计算机专业的学生对C语言比较了解,书中以C语言为基础设计了一种TEST语言,建立该语言的词法、语法、语义文法规则,系统介绍编译过程的各个部分。包括词法分析、语法分析、语义分析及代码生成、符号表的建立及存储分配、错误处理都用具体的实例进行分析与实现。并针对TEST语言中的典型语句,深入讲解如何具体用C语言编程实现词法分析、语法分析以及语义分析和代码生成,摆脱以往编译教材的抽象性以及理论与实际的脱节,使编译原理的抽象性通过TEST语言的编译器实现而具体化,从而使学习者轻松掌握编译原理。 全书共分10章,大约需要70课时,其中包括20课时的上机。第1章对编译过程、编译程序的逻辑结构以及编译程序各组成部分的功能进行概述;第2章介绍文法和语言,它为后面各章的学习奠定了理论基础;第3章介绍词法分析程序的设计原理,包括适合手工设计和自动生成词法分析程序的方法,以及TEST语言的词法分析程序的具体编程实现;第4章、第5章分别介绍自顶向下和自底向上的语法分析方法,主要介绍递归下降分析法、LL (1)分析法以及LR分析法,同时介绍TEST语言的递归下降分析实现;第6章介绍语法制导翻译的概念以及属性翻译文法;第7章介绍符号表的组织与管理;第8章介绍存储组织与分配技术;第9章介绍语义分析及代码生成的概念和技术,并以TEST语言为范例,实现语义分析并同时生成抽象机汇编目标代码;第10章主要介绍局部优化和循环优化常采用的方法。另外,附录中列出了TEST语言的文法规则、词法分析程序、语法分析程序、语义及代码生成程序以及TEST抽象机模拟器的完整程序。每章后都提供适量的习题,使学习者通过适量的练习掌握书中的内容。 本书是作者多年教学实践的汇集和提炼,同时也参考了许多国内外的参考书,第2版除了修改第1版的部分内容外,还增加了实例。在第2版的编写中,司慧琳、曹建、陈红倩参与了本书第3、4、6、9章的部分内容的编写和示例程序的设计与调试,陈谊参加了本书的内容编排和资料收集工作,并提出了许多宝贵意见。本书还配有相应的教学辅助课件,以及词法分析、语法分析和语义分析方法的演示程序(包括递归下降、LL (1) 、LR分析法和可在DOS环境下运行的LEX与YACC) ,有需要者可与作者联系,E-mail地址为: sun_yh@tom.com. 鉴于作者水平有限,书中难免有错误和不妥之处,恳请读者批评指正。 作 者
more >