





定价:49元
印次:2-13
ISBN:9787302265849
出版日期:2011.11.01
印刷日期:2023.08.02
图书责编:谢琛
图书分类:教材
本书中介绍的程序语言文法以C语言文法为雏形,讲述几种典型的词法分析、语法分析方法以及语义处理和目标代码生成技术。并针对典型的语法成分,深入讲解如何具体编程用C语言实现词法分析、语法分析方法以及语义处理和目标代码,使学习者摆脱以往编译教材的抽象和理论与实际的脱节,通过具体实现来轻松掌握编译原理。
1984.12~1996.3 东北大学教师;1996.4~ 至今 北京工商大学教师。主讲编译原理、面向对象程序设计、人工智能、多媒体技术、面向用户的软件界面设计等课程。主编“编译原理及实现”,2005年4月,40万字,清华大学出版社,2006被评为北京市精品教材。2009年,出版了十一五规划教材《面向用户的软件界面设计》。
前 言 编译原理是高等学校计算机专业的必修专业课之一,是一门理论与实践并重的课程。编译原理介绍程序设计语言翻译的原理、技术及实现,对引导学生进行科学思维、提高学生解决实际问题的能力有重要作用。 在我国高等教育逐步实现大众化后,越来越多的高等学校将会面向国民经济发展的第一线,为行业、企业培养各类高级应用型专门人才。而受我国传统历史文化思想的影响,重理论、轻实践的观念在高教界仍较普遍,使我们培养的很多人才不适应社会需求,造成毕业生的结构性就业困难,这也迫使很多高等学校走向应用型教育,培养应用型人才。目前国内的编译原理教材大多偏重于理论,对实现技术介绍得较少,使学习者感到抽象、难以理解;而且教材篇幅厚重,由于授课时数的限制,以及学生接受能力的差异,教科书的内容往往不能充分发挥作用。根据这种现状,我们编写了本书,目的在于加强对学生应用能力的培养,使学生不仅具备理论知识,更要具备应用能力,使所学能为所用,以适应新经济时代对人才的需要,满足就业要求。 本书以通俗易懂的语言介绍编译原理,包括词法分析、语法分析、语义分析及代码生成、符号表管理、运行时的存储分配、代码优化等,并着重介绍各种编译方法的实现途径。考虑到目前计算机专业的学生对C语言比较了解,书中以C语言为基础设计了一种TEST语言,建立该语言的词法、语法、语义文法规则,系统介绍编译过程的各个部分。包括词法分析、语法分析、语义分析及代码生成、符号表的建立及存储分配、错误处理都用具体的实例进行分析与实现。并针对TEST语言中的典型语句,深入讲解如何具体用C语言编程实现词法分析、语法分析以及语义分析和代码生成,摆...
目 录
第1章 编译概述1
1.1 程序设计语言1
1.2 翻译程序2
1.3 编译程序的组成3
1.3.1 词法分析4
1.3.2 语法分析4
1.3.3 语义分析及中间代码生成5
1.3.4 代码优化5
1.3.5 目标代码生成6
1.3.6 符号表管理6
1.3.7 错误处理7
1.4 编译程序的结构7
1.4.1 单遍编译程序7
1.4.2 多遍编译程序7
1.4.3 编译程序分遍的优缺点8
1.4.4 “端”的概念 8
1.5 编译程序的前后处理器9
1.5.1 预处理器9
1.5.2 汇编程序9
1.5.3 连接加载程序10
1.6 TEST语言与编译器10
1.6.1 TEST语言10
1.6.2 TEST编译器11
1.6.3 TEST机11
习题11
第2章 文法和语言12
2.1 字母表和符号串12
2.1.1 字母表12
2.1.2 符号串13
2.1.3 符号串及其集合的运算13
2.2 文法14
2.2.1 文法形式定义14
2.2.2 文法的EBNF表示16
2.3 推导17
2.3.1 直接推导定义17
2.3.2 推导定义18
2.3.3 规范推导18
2.4 句型和句子18
2.5 语言19
2.6 递归规则与递归文法20
2.6.1 递归规则20
2.6.2 递归文法20
2.7 短语、简单短语和句柄21
2.8 语法树22
2.9 子树与短语22
2.10 由树构造推导过程23
2.11 文法的二义性23
2.12 有关文法...