「コンパイラ・スクリプトエンジン」相談室 3
■ このスレッドは過去ログ倉庫に格納されています
0704デフォルトの名無しさん
NGNGMYMACRO(a,b,c) { ... } // a,b,c,..は可変個引数
から
int a=0;
int b=1;
int c=2;
...
my_macro_end(a,b,c);
を生成するようなのは書けないでしょ? Lispのマクロはできます。
C++やJavaだとデザインパターンなどで似たようなコードをクラス毎にあちこち
で書かないといけない(が、C++のテンプレートでは表現できない)ことがある。
そういう場合にパラメータを与えて雛形からコードを生成するスクリプトをRuby
などで書くことを考えましょう。
Lispのマクロなら全部Lispだけでできます。
■ このスレッドは過去ログ倉庫に格納されています