
编译程序是重要的计算机系统软件。编译程序原理是最主要的计算机专业课程之一,讲授的主要内容是编译程序的设计技术和编译程序构造原理。本辅导教材针对课程重点内容,即词法分析程序和语法分析程序的设计及自动构造理论、语义分析基础、目标代码运行时的存储组织策略以及代码优化来选择例题进行分析,讲述解题思路,并给出一些习题答案,以帮助学生理解和掌握相关知识的重点和难点。
本书是计算机科学和技术专业的本科生学习“编译原理”课程的辅导教材。旨在帮助学生正确理解编译程序的有关概念和原理,更好地掌握主要的编译技术和方法,提高分析和求解问题的能力。
作者根据多年的教学经验,针对编译程序构造的一般原理、基本设计方法、主要实现技术和一些自动构造工具等重点内容,选择一些典型问题予以详尽讨论,分析问题涉及的知识点、求解的思路及参考答案。全书分为8章,每章的开头都先将本章的要点进行概括,然后复习重要理论和方法,接着是一些典型问题的解析及练习。这8章的内容依次为概述、词法分析、文法和语言、自顶向下语法分析、自底向上语法分析、语法制导翻译和中间代码生成、目标程序运行时的存储组织及代码优化和目标代码生成。
第1、2、6、7章由张素琴编写,第4、5、8章由吕映芝编写,第3章由王生原编写。书中如有不妥之处,请读者批评指正。
编者2006.6
第1章概述1
11重点知识回顾1
111编译程序的概念1
112编译过程和编译程序的结构1
12典型例题解1
13习题及解答3
第2章词法分析6
21重点知识回顾6
211正规表达式6
212有穷自动机6
213确定的有穷自动机(DFA)6
214不确定的有穷自动机(NFA)7
215一个输入符号串t (t∈Σ*) 被NFA N接受7
216不确定的有穷自动机的确定化8
217确定的有穷自动机的化简8
218正规式和有穷自动机的等价性9
22典型例题解9
23习题及解答18
第3章文法和语言23
31重点知识回顾23
311语言的基本概念23
312上下文无关文法和上下文无关语言25
313文法和语言的Chomsky层次27
314文法和语言的二义性28
315上下文无关文法的变换29
316上下文无关文法和语法分析35
32典型例题解36
33习题及解答49
第4章自顶向下语法分析58
41重点知识回顾58
411First集 和Follow集58
412LL(1)文法58
413非LL(1)文法的改造59
42典型例题解59
43习题及解答66
第5章自底向上语法分析方法80
51重点知识回顾80
511句型分析80
512算符优先分析法81
513LR分析法81
52典型例题解82
53习题及解答105
第6章语法制导翻译和中间代码生成136
61重点知识回顾136
611中间代码136
612属性文法136
613语法制导翻译137
62典型例题解137
63习题及解答140
第7章目标程序运行时的存储组织144
71重点知识回顾144
711数据空间的存储分配策略144
712过程活动记录145
713栈式存储分配方案的实现145
714静态存取链和display(嵌套层次显示表)145
715参数传递145
72典型例题解146
73习题及解答150
第8章代码优化和目标代码生成154
81重点知识回顾154
811中间代码优化154
812目标代码生成157
82典型例题解158
83习题及解答164
参考文献174