Ver.2.00 2016.05.05 Sorry,This page is Japanese Language Only....

かぞえチャオ!技術情報のページです。

かぞえチャオ!システムデータ
拡張子個別データ←New
自動実行オプション
ラインカウント方法
ステップ比較方法
ここみチャオ!システムデータ
推奨コーディング規約
比較対象決定方法について
プリプロセッサ指定について
ステップ比較の種類について
静的解析連携機能について
集計しチャオ!の使い方
かぞえチャオ!を使うにあたって
かぞえチャオ!CSV出力フォーマット
かぞえチャオ!でコードレビュー
かぞえチャオ!Ver.1.63の新機能

技術情報は、今後どんどん増やす予定です!

戻る


ラインカウント方法について

「かぞえチャオ!」では、ステップ数をカウントする前に、全ファイルについてモジュール切り出し処理を行い、モジュール情報テーブルを作成しています。
このモジュール切り出し処理では、特定の文字列をカウントして、モジュールヘッダの条件となる文字列が見つかったときに、特定の文字列カウンタが決められた条件を満たせば、モジュールヘッダとするよう処理を行っています。
モジュールヘッダの切り出し方は、いくつかのパターンから選択できるようになっています。

モジュール切り出しの後、以下の手順で各モジュールのステップ数をカウントしています。

  • ファイルから指定モジュールのコメントを含むソースコードだけをメモリに展開
  • 行区切りコードをカウントして、総ステップ数を算出
  • 先頭の数値を削除する場合は、先頭数値を削除
  • コメントを削除
    ここでは、””や’’で囲まれた文字列内のコメント文字は無視する処理を行っています。
    他のステップカウンタでは、この処理がないため、printf("/*"); などがあると実ステップ数がおかしくなるものがあります。
    かぞえチャオ!では、正しくステップ数が数えられるように、この他にもいろいろ工夫しています。
  • 制御コード、空白文字を削除
    行先頭の制御コードや空白文字を削除します。(削除指定ありの場合)
    コメントを削除した後に残ったスペース、タブだけの行も、ここで削除されます。
  • 連続する行区切りコードを削除
    これにより、行区切りコードだけの行をすべて削除します。
  • 行区切りコードをカウントして、実ステップ数を算出
  • マルチステートメントを行区切りとしてカウントする場合、マルチステートメント数を算出
    行区切りを数えない場合は、マルチステートメント数を実ステップ数にしています。
    行区切りを数える場合は、マルチステートメント数を実ステップ数に加算します。

「かぞえチャオ!」では、ファイルから1行ずつデータを読み出しながら処理をするのではなく、メモリにすべてのコードを展開した後、メモリ上のデータに対していろいろな処理を順番に行うことでステップ数を算出しています。
これにより、従来のステップカウンタに比べて処理速度が速く、精度の高いステップカウントができるようになりました。


▲TOP

戻る

Copyright(C) Ciao-ware. All rights reserved.