AI简介
这是一本深入探讨编程语言设计和实现的专著。书中将介绍编程语言设计方面的主题,并重点介绍编程语言实现。本书的新颖之处在于将传统的编译器-编译器工具(Flex和BYACC)与两种更高级的实现语言融合。一种非常高级的语言(Unicon)可以像黄油一样穿透编译器的数据结构和算法,而另一种主流的现代语言(Java)则展示了如何在更典型的生产环境中实现相同的代码。
本书主要面向对发明编程语言或开发领域特定语言感兴趣的软件开发人员。学习编译器构建课程的计算机科学相关专业学生也会发现这本书非常适合作为语言实现的实用指南,可以为理论教材提供有益补充。
本书的内容主要分为三部分。第一部分主要介绍了编程语言导论,包括编程语言设计的动机、编程语言与库的差别、编程语言的需求、编程语言设计的实例等。第二部分主要介绍了语法树遍历,包括符号表的作用与实现、基本类型检查、检查数组、方法调用和结构访问的类型、中间代码生成等。第三部分主要介绍了代码生成与运行时系统,包括字节码解释器的原理、生成字节码、生成本机代码、运算符和内置函数的实现、域控制结构、垃圾收集等。
在书中,作者详细讲解了编程语言设计的实际案例,比如Un