对不同类型计算机语言的需求正在迅速增长,开发人员更喜欢创建领域特定语言来解决特定的应用程序领域问题。虽然构建自己的编程语言可以解决软件不断增长的规模和复杂性问题,但这并不容易。
本书融合作者构建Unicon编程语言的经验,全面系统地阐述了编程语言的设计与实现。书中既涵盖语法树的一系列遍历、字节码虚拟机的代码生成,又介绍了如何通过内置于语言中的操作符和函数而不是库函数来很好地表示领域特定语言的特性,而且展示了如何实现垃圾收集,包括引用计数和标记-清理垃圾收集。在整本书中,作者提供了基于Unicon和Java的相关示例,以帮助读者更好地理解概念的上下文并掌握相关技术和方法。
学完本书,读者将能够构建和部署自己的领域特定语言,并编译和运行程序。
阅读完本书,读者将能够:
·对新语言进行需求分析,并设计语言语法和语义;
·为常用表达式和控制结构编写词法和上下文无关的文法规则;
·开发一个读取源代码的扫描器,并生成一个检查语法的解析器;
·在编译器中构建关键数据结构,并使用编译器构建语法着色代码编辑器;
·实现一个字节码解释器,并运行由编译器生成的字节码;
·编写将信息插入语法树的树遍历;
·用自己的语言实现垃圾收集。
展开