写成，并且按需求由两者之一进行程式优化类似地，一些OCaml语言写成的程式借由新运算符的增加来自定化语言的语法。
扩充语言.对于从巨集扩充语言最好的范例可在LISP语言家族里找到。这种语言本身就是简单的动态类型核心模块，Scheme或Common Lisp的标准分配允许了命令或物件导向的程式编辑，静态类型亦如此。几乎所有这些特性都由语法预处理执行，虽然它的「巨集扩充」编译阶段由LISP的编译器处理这点很值得一提就是。这仍然可以视为预处理的一种形式，因为它在编译阶段前就进行了。