プログラミングユーティリティ

組み込み m4 マクロの一覧

表 6-1 組み込み m4 マクロの一覧

組み込み m4 マクロ 

説明 

changequote(L, R)

左の引用符を L、右の引用符を R に変更します。

changecom

左と右のコメントマーカーをデフォルトの # と復帰改行から変更します。 

decr

1 ずつ減分された引数の値を返します。 

define(name, stuff)

namestuff として定義します。

defn('name')

引用符で囲まれた引数の定義を返します。 

divert(number)

出力を number 個に分割します。

divnum

現在アクティブな分割出力の番号を返します。 

dnl

復帰改行までを削除します (復帰改行も含む)。 

dumpdef(`name', `name', . . .)

指定された定義を出力します。 

errprint(s, s, . . .)

引数を標準エラーに書き込みます。 

eval(numeric expression)

数式 numeric expression を評価します。

ifdef(`name', true string, false string)

name が定義されている場合は true string を返し、定義されていない場合は false string を返します。

ifelse(a, b, c, d)

ab が等しい場合は c を返し、等しくない場合は d を返します。

include(file)

ファイルの内容を取り込みます。 

incr(number)

number を 1 ずつ増分します。 

index(s1, s2)

s2 が現われる s1 中の位置を返します。s2 が含まれていない場合は -1 を返します。

len(string)

文字列 string の長さを返します。

maketemp(. . .XXXXX. . .)

一時ファイルを作成します。 

m4 exit

m4 を直ちに終了します。

m4 wrap

最後の EOF で、引数 1 が入力ストリームに返されます。

popdef

引数の現在の定義を削除します。 

pushdef

以前の定義をすべて保存します (define() の機能と同等)。

shift

1 つ目の引数以外のすべての引数を返します。 

sinclude(file)

ファイルの内容を取り込みます。ファイルが見つからない場合は、無視して継続します。 

substr(string, position, number)

文字列 stringposition 番目の位置から始まる文字数が number の部分文字列を返します。

syscmd(command)

システムのコマンドを実行します。 

sysval

syscmd() への最後の呼び出しのコードを返します。

traceoff

広域的にも、指定されたマクロに対しても、トレースをオフにします。 

traceon

すべてのマクロに対してトレースをオンにします。また、引数を使用して、指定したマクロに対するトレースだけをオンにします。 

translit(string, from, to)

from で指定された文字を to で指定された文字に、文字列 string 中の文字を置換します。

undefine(`name')

定義のリストから名前を削除します。 

undivert(number, number, ...)

number 番目の分割出力を現在の分割出力の後に追加します。