ctagsを使用すると、関数、変数、構造体、およびコードに含まれないものを検索できますfor e.g.。コードですべての条件付きループが呼び出される行番号を取得したかったのです。例えばのためにコード内の条件付きループを検索できます
:例のコードスニペットで
1 #include <stdio.h>
2
3 void funcA() {}
4 void funcB(int a){}
5
6 int main() {
7 int a = 0;
8
9 if(a == 1)
10 {
11 funcA();
12 }
13 else
14 {
15 funcB(a);
16 }
17
18 while(1);
19
20 return 0;
21 }
22
、ctagsのコマンドオプションで、1は
てfuncA @ライン#3
funcBのの@ライン#4
を見つけることができますctagsに、行番号9、 'else' @ line#13で 'if'ループを呼び出すオプションがありますか?同様に、 'while' @ line#18?
ctagsでなければ、コードを解析してそのような条件ループを見つける他のツールはありますか?自分のパーサーを書くことも別の選択肢ですが、コメントの中で挑戦的になるかどうかをキーワードで判断します。