本书是作者从教材上的习题以及作者15年来所设计的各种试题中,精选出近150道题目,将作者多年讲授这门课程的一些经验和体会写到习题解答中。按照编译原理教学大纲,把这些习题分成九章,以便在课程学习的同时使用本书。这九章是词法分析、语法分析、语法制导翻译、静态检查、运行环境、中间代码生成、代码生成、代码优化以及和编译有联系的一些问题。本书的习题涉及面广、灵活性强、机械性和重复性少,对学习编译原理课程很有帮助。 \r\n\r\n 本书是本科生、自学考试考生和其他人员学习编译原理和技术的参考书,也是报考研究生的考生的一本复习参考书。\r\n
\r\n
第一章 词法分析 \r\n\r\n 第二章 语法分析 \r\n\r\n 第三章 语法制导的翻译 \r\n\r\n 第四章 静态检查 \r\n\r\n 第五章 运行环境 \r\n\r\n 第六章 中间代码生成 \r\n\r\n 第七章 代码生成 \r\n\r\n 第八章 代码优化 \r\n\r\n 第九章 和编译有联系的一些问题 \r\n
\r\n
程序设计语言编译原理是计算机专业的一门核心课程, 是一门非常有用而难学的课程. 学生都期盼有一本好的习题集, 能帮助掌握课程内容, 并能指导解题.
我们从教材上的习题和作者15年来所设计的各种试题中, 精选出近150道题目, 将作者多年讲授这门课程的一些经验和体会写到习题解答中. 按照编译原理教学大纲, 我们将这些习题分成九章, 以便在课程学习的同时使用本书.
对于习题的挑选, 我们有如下的原则.
·我们强调的是对概念和方法的理解, 因此书中灵活运用所学知识的题目较多, 以检查和帮助学生加深对概念的理解.
·我们反对学生只会按照教材上的算法, 机械地求解(例如按教材上的算法从正规式构造不确定的有限自动机), 因此书中这样的习题很少, 以免浪费学生的时间.
·我们担心学生通过课程学习, 仅对编译的各个逻辑阶段有局部的理解, 而难以形成对编译器的整体概念. 虽然动手构造一个小编译器是较好的解决办法, 我们仍试图选择. 分析实际编译器中的一些例子, 来提高学生对编译器的整体认识.
·我们鼓励学生用所学的知识去分析. 解决. 理解实际编程中遇到的问题和发生的现象, 因此书中有不少题目是从实际碰到的问题中抽象出来的.
·我们相信一本好的习题集应敢于适度突破大纲的限制, 让学生通过习题掌握更多一点的知识, 因此本书有些习题是让学生了解一些和编译相关但教材上又没有的知识.
·我们希望学生有本书作为参考, 增强学好编译原理课程的信心, 深切感受这些知识在构造各种软件工具. 编写和调试程序等方面的用处.
本书第1. 2. 3和5章主要由陈意云完成, 第4. 6. 7. 8和9章主要由张昱完成. 由于作者水平有限, 书中难免还存在一些缺点和错误, 恳请广大读者批评指正.
作者
于中国科学技术大学
2002年2月
无封面