強力なマクロ

Lispのような構文定義可能なマクロを実現させたい。 しかし大量にあるマクロを扱うとなると線形探索でのパターンマッチングではとても遅くなってしまいます。幅優先探索にしてツリー状にマクロのデータを保存して、範囲をしぼるとかいう手もあるでしょうし、最適化手法は色々あると思います。が、難しいです。
そこで、あきらめて、マクロ呼び出し用のマーク(#)を付けて対応します。#があったら、マクロなので起動するようにするのです。これで大幅に処理速度がUPします。

#def ($a #+ $b) { add($a, $b) }

と定義しておいて、

a #+ b

と使う訳です。マクロの検索は基本しないけど、#が見つかったらその時点で発動するのです。この例では#+がキーとしてマクロを発動するので、#+に関連するマクロだけ、マッチすれば良くなります。発動するかしないかわからないのに、色んなパターンにマッチするか調べるより遥かに楽です。若干複雑な構造を持ったマクロも#を発見してからある程度さかのぼって調べれば良いだけです。

このように、いろいろな事をやれるような仕組みを持った言語ではPHPとかがあって、PHPプリプロセッサとして使うのも手だよなぁと思ってます。ただ、PHPを出力するPHPを出力するPHPを書くのが大変だと思うのでその点でLispのマクロに負けるわけなので、PHPタグをネストしたり、アンクオートできるとうれしいのかなと。アンクオートがPHPタグを閉じる操作で実現出来るかもしれないですけど。

等と言う事を考えているわけです。私には今の所、C言語をパースする技術はありません。でも、headmasterを作る能力があるなら、そのようなマクロシステムを作る能力は十分にあるのです。
なので、羨ましいですし、本当にすごいなぁと思う訳です。