Catyのテンプレート処理について再度考えてみたのですが、ある程度一般論っぽい書き方で述べます。関数呼び出しの記法を全面的に使います。 内容: トップレベルのテンプレート処理 サブテンプレートの処理 サブテンプレートに渡す情報 サブテンプレートに入力とパラメータを渡す テンプレート処理を一元化したかった理由 それで何ができるか トップレベルのテンプレート処理 テンプレートテキストtemplがあるとき、コンテキスト(名前-値ペアの集まり)contextを使ってテンプレートテキストを展開することを expand(context, templ) と書きましょう。この関数呼び出しの値がテンプレート展開結果です。contextが単なるデータではつまらないので、プログラムの実行結果だとします。ここでは、式exprを評価した値 eval(expr) がコンテキストになるとします。そうすると、次がテンプレ