GNU macro processor

次: , 前: (dir), 上: (dir)


GNU m4

GNU m4はUNIXに古くからあるマクロプロセッサの実装です。 SVR4版とほぼ互換性がありますが、いくつかの機能が拡張がされています (たとえば、9個を超える位置パラメータをマクロで扱うことができます)。 m4にはマクロの展開機能に加え、ファイルのインクルード、 シェルコマンドの実行、計算、その他のための関数も組み込まれています。 Autoconfでconfigureスクリプトを生成するにはGNU m4が 必要ですが、そのスクリプトを実行するときには必要ありません。

René SeindalがGNU m4を最初に書きました。 続いて、{`Francois' の値がない} Pinardやその他のインターネット上のボランティアたちが 変更を行ないました。これらの人たちの氏名および電子メールアドレスは、 GNU m4の配布用アーカイブファイルに含まれているTHANKSファイルに すべて記載されています。

本GNU m4はリリース1.4です。 現在すでに安定していることを考えると、 今後のリリースではバグの修正や速度の向上、ドキュメントの改善だけを するべきでしょう。しかし...

m4の実用性をさらに増す思われる、試験的なある機能(see Changeword) を使うと、m4において何が単語(word)として 認識されるかを決めている規則を変更できるようになります。 この機能を試してみたい人は、

     ./configure --enable-changeword

としてコンパイル時にこの機能が組み込まれるようにしてください。 現在の実装ではm4の動作がかなり遅くなってしまうので、 これをそのまま採用するには抵抗があります。 したがって将来この機能が削除されるということも考えられるので、 まだこの機能に依存した使い方はしないでください。

--- The Detailed Node Listing ---

序論

字句・構文解析の規則

マクロを呼び出す方法

新たにマクロを定義する方法

条件分岐、ループ、再帰

マクロや入力をデバッグする方法

入力制御

ファイルのインクルード

出力の切替え(divert)と逆切替え(undivert)

テキスト操作用の組み込みマクロ

計算用の組み込みマクロ

UNIXコマンド実行用の組み込みマクロ

その他の組み込みマクロ

他の版のm4との互換性