Manpages

名 前

compile_et − エ ラ ー 表 の コ ン パ イ ラ ー

書 式

compile_et file

説 明

compile_et は 、 エ ラ ー コ ー ド の 名 前 と 対 応 す る メ ッ セ ー ジ を リ ス ト し た 表 を 、 com_err(3) ラ イ ブ ラ リ で 扱 い や す い C ソ ー ス 形 式 に 変 換 す る 。 ソ ー ス フ ァ イ ル の 名 前 は ’’.et’’ と い う 拡 張 子 で 終 わ っ て い る 必 要 が あ る 。 フ ァ イ ル の 先 頭 で 、 ま ず エ ラ ー コ ー ド 表 の 名 前 (名 前 は 4 文 字 ま で )。 を 与 え る 宣 言 を 行 う 。

error_table name 続 い て 、 エ ン ト リ を 次 の 形 式 で 与 え る (256 エ ン ト リ ま で )。

error_code name, そ し て 最 後 に 表 の 末 尾 を

end に よ っ て 示 す 。 表 の 名 前 は 、 サ ブ ル ー チ ン の 名 前 を つ く る と き に initialize_XXXX_error_table の 様 に 用 い ら れ る 。 com_err ラ イ ブ ラ リ に こ の エ ラ ー 表 を 認 識 さ せ る に は 、 こ の サ ブ ル ー チ ン を 呼 び 出 す 必 要 が あ る 。 各 種 エ ラ ー コ ー ド の 定 義 は 、 ひ と つ ず つ 増 え る 数 値 に 割 り 当 て ら れ る (先 頭 の 数 値 は 、 表 の 名 前 を ハ ッ シ ュ 関 数 に 与 え て 計 算 さ れ た 値 に な る )。 し た が っ て 互 換 性 を 保 つ た め に は 、 新 し い コ ー ド の 追 加 は 既 存 の 表 の 末 尾 に 行 い 、 表 か ら コ ー ド の 削 除 を 行 わ な い こ と で あ る 。 表 で 定 義 さ れ て い る 名 前 は 、 C の ヘ ッ ダ フ ァ イ ル に お い て 、 そ れ ら の 名 前 を 32 ビ ッ ト ま で の 整 数 定 数 と し て 定 義 す る プ リ プ ロ セ ッ サ 指 定 に な る 。

C ソ ー ス フ ァ イ ル も 生 成 さ れ る の で 、 こ れ を コ ン パ イ ル し て 、 エ ラ ー コ ー ド を 参 照 す る オ ブ ジ ェ ク ト フ ァ イ ル に リ ン ク す る 。 C ソ ー ス フ ァ イ ル に は 、 メ ッ セ ー ジ の テ キ ス ト と 初 期 化 サ ブ ル ー チ ン と が 含 ま れ る 。 C の ヘ ッ ダ フ ァ イ ル ・ ソ ー ス フ ァ イ ル 両 者 の 名 前 は 、 オ リ ジ ナ ル の ソ ー ス フ ァ イ ル の 名 前 の ’’.et’’ 拡 張 子 を 、 そ れ ぞ れ ’’.h’’, ’’.c’’ に 置 き 換 え た も の に な る 。 ソ ー ス フ ァ イ ル 中 の ’’#’’ は コ メ ン ト 文 字 と し て 扱 わ れ 、 そ の 行 の 末 尾 ま で の 残 り の テ キ ス ト は 無 視 さ れ る 。

バ グ

オ リ ジ ナ ル の compile_etyacc(1) を 用 い た 非 常 に 簡 単 な パ ー サ ー を 使 っ て い た し 、 現 在 の バ ー ジ ョ ン の compile_et は awk と sed ス ク リ プ ト を 組 み 合 わ せ て 用 い て い る の で 、 エ ラ ー リ カ バ リ は 望 ま し い 水 準 か ら は ほ ど 遠 い 。

関 連 項 目

com_err (3)

Ken Raeburn, "A Common Error Description Library for UNIX".