• ベストアンサー

ステップカウントについて・・・

C言語でステップカウントツールを作成しているんですが、コメント行、空白行の検索がうまくいきません。色々試しているんですが、どなたか教えてくださいm(__)m

質問者が選んだベストアンサー

  • ベストアンサー
  • shige_70
  • ベストアンサー率17% (168/946)
回答No.1

この質問文では答えられません。 ツールで何を数えたいのか。 数える対象の言語は何か。 どんなことを試して、どういう結果になったのか。 そのへんを補足してください。 ちなみに、『オートマトン』『yacc/lex』あたりで検索するとなにかわかるかもしれません。

inouchi
質問者

補足

すみません、補足します。 拡張子が.cのファイルのステップカウントをしたいのですが、全体行はカウントできても、コメント、空白行が検索、カウントできません。 for文を使ってみようとしたのですが・・・

その他の回答 (1)

  • shige_70
  • ベストアンサー率17% (168/946)
回答No.2

補足ありがとうございます。 うーん、、、できればもうちょっと詳しく書いて欲しかったんですが、、、 考え方はいくつかあると思いますが、一例をあげますと 『状態』を示す変数をひとつ作ります。 状態はevalで定義しておくと良いでしょう。 たとえば、初期状態を0として、1バイトずつ読みます。 状態0で'/'が来たら状態1へ 状態1で'*'が来たらコメント数+1して状態2へ 状態1で'*'以外が来たら状態0へ 状態2で'*'が来たら状態3へ 状態3で'/'が来たら状態0へ 状態3で'/'以外が来たら状態2へ これだけだと、"/*xxx*/"なんて文字列があったときもコメントとして数えてしまうので、 状態0,1で'"'が来たら状態4へ 状態4で'"'が来たら状態0へ 他にも考慮しなければならないことがあると思いますが、こんな感じで考えてみてください。