《编译原理实践与指导教程》——导读


《编译原理实践与指导教程》——导读_第1张图片


**
前言
**
本书与机械工业出版社于2009年出版的南京大学赵建华、郑滔和戴新宇所译的《编译原理》课本配合使用。该课本对应的英文版教材是美国哥伦比亚大学、斯坦福大学和Avaya实验室的Alfred V. Aho、Monica S. Lam、Ravi Sethi和Jeffrey D. Ullman所著的《Compilers: Principles, Techiques and Tools》,由于该书封面配有骑士和恐龙的图案,也被称为龙书。在下文中,如无特殊说明,课本均指该书(无论是中文翻译版还是英文原版)。
需要指出的是,虽然本书配合课本使用,但其内容已经包括所有相关的资料,因而它是内在完整的。这意味着,即使教学时使用其他编译原理相关的教材,本书仍能作为实践课程的教材,而不会出现所需资料不完整的情况。
设计思想
通常而言,编译原理实践课程较难设计,原因是其对应的理论教材以传授知识为主,离具体实践有较大的距离。而常规的实践课程大多会给出一门简易语言的语法,要求学生实现对应于该语言的编译器。由于缺乏规范化的指导,时常导致要么降低教学要求,允许学生较为随意地实现编译器;要么要求过高,致使学生们无从下手,从而对编译原理实践课程产生较大的抵触心理。针对这些问题,本书面向开设计算机学科的大专院校,提供一门接近实际C/C++的C––语言语法,给出了详细的实验步骤和指导过程,引导性地完成一个实际可用的编译器,并提供了充分的测试样例来验证编译器实现的正确性。
本书共分为四章,分别关注编译器设计的四个重要阶段—词法分析与语法分析、语义分析、中间代码生成以及目标代码生成。每章都给出具体的实验要求、实验指导以及测试样例等,它们共同覆盖了一个实用编译器的设计与实现的全过程。
本书的实验设计具有四个特点:一是接近实际,所采用的语言是C––,接近现实中常用的C/C++,这使得所设计的编译器非常实用,甚至在特定的领域可以直接或经过少量修改后使用;二是配有指导教程,引导性地完成整个编译器的设计与实现,不会出现面对实验要求无从下手或不得不求助第三方资料的情况;三是具备验证帮助,提供大量的测试样例来验证编译器实现的正确性,而无需自行特别设计测试用例;四是难度可调,提供多种实验执行方案,既可统一难度要求,也可区分必做内容和选做内容,更可实现分组方案,使得每个组队实现不同的功能组合,激发学生的思考和锻炼协作能力。

目录

第1章 词法分析与语法分析
1.1 实验内容
1.2 实验指导

你可能感兴趣的:(《编译原理实践与指导教程》——导读)