出入タグ解析コマンド nestcheck -------------------------------------------------------------------------------- ●はじめに 本コマンドのご利用ありがとうございます。本コマンドは、プログラミング時の出入タグ となる記号(C言語であれば括弧や#ifdef-#endifなど、HTMLであればやなど 開始、終了タグが定義されているもの)の対応をチェックする目的で作成しました。 DOS(コマンド)プロンプトから実行します。 作成にあたっては、「Microsoft Visual C++(R) 6.0」を使用しました。 ●動作環境 Microsoft Windows2000/95での動作を確認しています。 ●インストール チェックしたいソースファイルがあるカレントフォルダに適切な開始タグファイル・ 終了タグファイル(後述)を配置し、DOS(コマンド)プロンプトから「nestcheck.exe」 を直接実行してください。 ●概要 作成したソースファイル中の括弧やタグなどの出入タグの正当性をチェックするための お助けコマンドです。タグは専用の開始タグファイル・終了タグファイルに記述します。 用途に応じて複数の開始タグファイル・終了タグファイルのセットを用意しておくと 便利かもしれません。 ●タグファイルフォーマット いずれのタグファイルもそれぞれタグとなる記号を1行にひとつづつ羅列するだけです。 開始タグファイルと終了タグファイルで同じ行に出てくるタグが対応しているタグである とみなされますので注意して記述してください。 開始タグファイル名:_nestcheck_opn.txt 終了タグファイル名:_nestcheck_cls.txt サンプルのタグファイルが1セット同梱されていますのでご確認ください。 ●書式 nestcheck ファイル名 ファイル名 :ファイル名を指定します。 ●実行イメージ 同梱している「sample.c」をチェックした場合の結果をもとに説明します。 [正常時] > nestcheck sample.c ★コマンド実行(sample.cを指定) ***** TAG STRUCTURE ***** 1 ( : 3 ▼3行目にレベル(※)1の開始タグ(() 1 ) : 3 ▲3行目にレベル1の終了タグ()) 1 { : 4 ▼4行目にレベル1の開始タグ({) 2 ( : 5  ▼5行目にレベル2の開始タグ(() 2 ) : 5  ▲5行目にレベル2の終了タグ()) 2 #ifdef : 6  ▼6行目にレベル2の開始タグ(#ifdef) 3 ( : 7   ▼7行目にレベル3の開始タグ(() 3 ) : 7   ▲7行目にレベル3の終了タグ()) 2 #endif : 8  ▲8行目にレベル2の終了タグ(#endif) 2 ( : 9  ▼9行目にレベル2の開始タグ(() 2 ) : 9  ▲9行目にレベル2の終了タグ()) 2 ( : 11  ▼11行目にレベル2の開始タグ(() 2 ) : 11  ▲11行目にレベル2の終了タグ()) 1 } : 12 ▲12行目にレベル1の終了タグ(}) ***** TAG NUMBERS ***** ( (5) - ) (5) ★開始タグ(()は5、終了タグ())は5 { (1) - } (1) ★開始タグ({)は1、終了タグ(})は1 #ifdef (1) - #endif (1) ★開始タグ(#ifdef)は1、終了タグ(#endif)は1 Judged OK. ★チェック結果→OK [異常時] sample.cの最後に1行(内容は}のみ)追加した例 > nestcheck sample.c ***** TAG STRUCTURE ***** 1 ( : 3  : : : (中略) : : : 1 } : 12 * } : 13 ★13行目に余分な終了タグ(}) ***** TAG NUMBERS ***** ( (5) - ) (5) * { (1) - } (2) ★開始タグ({)は1、終了タグ(})は2 #ifdef (1) - #endif (1) Errors may exist. ★チェック結果→ERROR 以上のような感じで、異常検出時はアスタリスクマーク(*)が出力されます。 -------------------------------------------------------------------------------- 本コマンドはフリーウェアです。著作権は、高恭(kohku/takkan@yellow.plala.or.jp) が所有しますが、本ソフトを使用することで発生した、いかなる事故、トラブル等の責任 も負わないものとします。 2003. 5. 7 takkan@yellow.plala.or.jp http://www4.plala.or.jp/takkan/