小型编译器设计实践

苏孟晋
内容简介 作为计算机技术核心软件之一的编译器是业内人士关心的课题和日常工作中的重要工具,编译器的设计及其理论是大专院校相关专业的必修内容。本书以Microchip公司设计生产的PIC16F系列处理器为目标对象,使用实战的形式叙述编译器设计的步骤和细节,并提供了全部设计源代码。 本书内容着眼于编译器设计的具体实现过程而非理论,以计算机行业中对编译器设计感兴趣的爱好者为主要阅读对象,也可作为大专院校相关专业师生的参考资料。 前言 大多数书籍都会有前言部分,作为一本书的铺垫或介绍。读者往往会忽略这部分文字,或者一掠而过,并不细细阅读。本书的前言虽有点啰唆,却希望读者在阅读正文之前费点工夫读一读。其原因和目的是希望读者了解本书的特点,更重要的是让读者明白本书的某种局限性和讨论的范畴。 在信息技术行业,编译器(compiler)是编程人员在工作中不可或缺的一种软件工具。这种软件工具的出现,使得编程人员能使用更适合阅读、理解的高级语言进行程序设计。它的存在,极大地提高了编程效率,降低了操作和设计的门槛,使软件维护和修改调试变得更容易。这一切,或许将成为计算机应用得到迅猛发展的原因。 也正是如此,很多人对编译器的设计感到好奇:编译器究竟是如何将编程人员编写的高级语言(源程序)“翻译”成计算机能直接运行的机器语言(目标程序)的。自然,各类计算机编程语言的制定、语法规范等细节设计都需要考虑编译器的设计因素,避免在编译过程中因为出现诸如语法的多义性而无法正确应对的情况。编译器的设计过程是复杂和艰难的。其中的困难不仅是语言的“翻译”不得“走样”(不遗失指定的操作细节,不增添额外的运算),而且要保证源程序指定的运算顺序。此外,这种“翻译”其实是将源程序中二维(甚至更多维)的数据结构、算法概念等转换成一维的二进制形式的计算机指令编码,供目标处理器直接运行。 编译器是一种基本软件工具,也是设计、…