该书共有19章,加上最后的名词索引表部分
第一章
第二章
该章描述组织该编译器和解释器的总体框架。它用来设计和测试它的结构化建立端,以便于所有章节的代码都能成功地基于它建立起来。
第三章
第四章
第三章和第四章来对付处理一些基础的翻译任务,即第三章来扫描源程序,第四章建立一个符号表。
接下来的章节来建立工作的Pascal解释器。为使用逐渐增加的发展方法,本书采用个个章节进行多次迭代的语法分析和解释。
第五章
该章来语法分析表达式和赋值语句。
第六章
该章将第五章的部分进行解释。
第七章
该章语法分析控制语句。
第八章
该章来解释第七章的部分。
第九章
该章来语法分析声明语句。
第十章
该章来处理类型检查。
第十一章
该章来语法分析过程语句、方法部分和整个Pascal程序。
第十二章
该章完成解释器并执行整个Pascal程序。
接下来的两章会基于工作的解释器来建立。当你是第一次读该书的话,你可以选择跳过接下来的两章节,但是一定要确定来回头好好看一下,毕竟它对你还是很有帮助的。
第十三章
该章增加了一个交互式的源级别的debugger,通过它你可以通过在命令行敲打命令来跟它进行交流。
第十四章
该章为这个基于命令行的debugger包装了一个图形交互页面来建一个集成开发环境IDE。
该书的最后部分通过重用早些章节的代码来形成这个编译器。
第十五章
该章介绍了Java虚拟机(JVM)和Jasmin的构造结构,其中Jasmin是一个帮助java虚拟机生成汇编语言的工具。
第十六章
该章编译程序、赋值语句和表达式。(迭代早些章节的实现)
第十七章
该章编译过程部分、方法部分回调,和string的操作。
第十八章
该章通过编译控制语句、arrays和记录来完成这个编译器。
第十九章
该最后一章是一个对许多对于编写编译器方面但没有在其他章节中提及到简短的介绍,例如代码优化和基于表格驱动的源码扫描器和语法分析器。