编程语言实用主义的主要前提的语言设计和实现是紧密相关的,分离开是难以学习的。

Part II 和 Part III 的组织是围绕语言设计的,但是很多问题是通过实现来描述。

第一部分覆盖了设计和实现的基本概念。第一章激发编程语言学习的热情,介绍了主流语言家族,提供了编译过程的概述。第三章覆盖了高层次语言结构,重点是 names, binding of names to objects, 和 scope rules。在这个过程中涉及到了存储管理,subroutines,模块,类,多态和分离编译。

第2,4,5章更侧重实现。它们提供了 Part II 和 Part III 提到的背景和实现问题。第二章讨论程序的语法(句法 syntax),文本结构。介绍了正则表达式和上下文无关语法,设计师用来描述程序语法,并结合编译器或者解释器的扫描和解析算法来识别句法。给定了对于句法的理解,第4章解释编译器(或解释器)如何确定程序的语义。这个讨论围绕属性语法概念进行,用来将程序映射成具有意义的内容,比如数学或者其他存在的语言。最后,第5章(完全站在同伴的角度)提供了汇编级别计算的架构,重点介绍了与编译器最相关的现代微处理器的特性。理解这些的开发者不仅会对语言为什么这样设计有更好的理解,而且可以充分利用语言。