本书是“关键计算技术核心课程系列教材”之一。本书系统地介绍了编译器从0到1的基本构造技术,以及与LoongArch自主指令集的适配,包括前—中—后三段式的先进设计思想、开发管理和支撑工具,涵盖语言形式化描述、中间代码理解、面向体系结构的后端编程等,重点关注学生创新意识、系统能力和工程化思维的培养。
全书分为四部分,共9章。第一部分准备篇(第1、2章),介绍编译技术的基本概念和思想、开发环境的配置与准备。第二部分前篇(第3章),介绍源语言的形式化描述、语言解释器的前端设计、Bison和Flex等解析器生成工具的使用方法。第三部分中篇(第4、7、8章),介绍兼容LLVM的自研中间代码框架LightIR的架构与编程接口、中间代码生成器的设计方法、机器无关的中间代码优化种类与实现。第四部分后篇(第5、6、9章),介绍LoongArch指令集的架构与编程方式、基于栈式内存分配的汇编代码生成器的设计与实现、寄存器的分配方法、后端代码优化等。本书引入工业界编译工具链LLVM、国产自主指令集LoongArch、代码管理软件Git、调试工具GDB等先进的系统软件,以常规实验为主体,以创新开放实验为延伸,帮助学生深入理解编译原理基础理论知识和核心技术,系统性地培养学生的工程实践能力和创新能力,进而为国产芯片生态建设、国产编译技术发展储备更多人才。
本书可作为高等学校计算机类相关专业编译原理课程的实践教材或独立教材,也可作为计算机类专业研究生相关课程的教材和软件工程师的参考用书。