4.2. 元编程

与其使用扩展宏的外部过滤器,一种方法是编写程序来编写其他程序的部分或全部。

例如,你可以使用输出源代码的程序

好好想想!

4.2.1. 来自编译器的后端

像 GCC、SML/NJ、Objective CAML、MIT-Scheme、CMUCL 等编译器,都有它们自己的通用汇编器后端,如果你打算从相应的语言或你修改的语言中半自动地生成代码,你可以选择使用它们:与其编写出色的汇编代码,不如修改编译器,使其转储出色的汇编代码!

4.2.2. 新泽西机器码工具包

有一个项目,使用编程语言 Icon(以及一个实验性的 ML 版本),旨在构建一个用于生成汇编操作代码的基础。请访问 http://www.eecs.harvard.edu/~nr/toolkit/ 了解更多信息

4.2.3. TUNES

自由反射计算系统 TUNES 项目正在开发自己的汇编器,作为 Scheme 语言的扩展,这是其开发过程的一部分。它目前还完全不能运行,但欢迎提供帮助。

该汇编器操作抽象语法树,因此它也可以作为汇编语法翻译器、反汇编器、通用汇编器/编译器后端等的基础。此外,Scheme 这种真正语言的全部力量使其在宏处理/元编程方面无可匹敌。