与其使用扩展宏的外部过滤器,一种方法是编写程序来编写其他程序的部分或全部。
例如,你可以使用输出源代码的程序
来生成正弦/余弦/任何查找表,
来提取二进制文件的源形式表示,
来将你的位图编译成快速显示例程,
来从相同的源文件中提取文档、初始化/终止代码、描述表以及普通代码,
来拥有定制的汇编代码,从执行任意处理的 perl/shell/scheme 脚本生成,
来将仅在一个点定义的数据传播到多个交叉引用表和代码块中。
等等。
好好想想!
像 GCC、SML/NJ、Objective CAML、MIT-Scheme、CMUCL 等编译器,都有它们自己的通用汇编器后端,如果你打算从相应的语言或你修改的语言中半自动地生成代码,你可以选择使用它们:与其编写出色的汇编代码,不如修改编译器,使其转储出色的汇编代码!