"本书以简单的算法、清晰的架构,讲述了把高级语言转化成Linux程序的全过程,以及其中蕴含的数学原理。
本书共11章,按照源码编译的顺序分为入门篇和进阶篇。入门篇(第1~4章)详细介绍了词法分析、语法分析、语义分析,涵盖了编译器前端的所有内容。进阶篇(第5~11章)进一步说明了怎么把抽象语法树转化成可执行程序的全过程,包含了三地址码的生成、中间代码优化、寄存器分配、机器码的生成、ELF文件格式、连接器和虚拟机的实现。第12章记录了作者对泛编译器问题的进一步思考。
本书适合初学者入门编译原理,也可用于资深程序员在发明一门新语言时的技术资料,并可用作高等院校和培训机构的教学参考书。
"