C/C++用ラインカウンタ

プログラムを書く人なら誰だって自分が書いたソースのライン数を知りたくてしょうがないはずだ。それもコメント抜きで。

ということで、C/C++で使える気がするラインカウンタを作りました。

でも文字列の中でコメントが始まるような文字を書いちゃってたりするとうまくいかない気がする。

#!/usr/bin/env python
import sys, re
total = 0
for f in sys.argv[1:]:
  v = re.sub("//.*?\n", "\n", re.sub("/\*[.\n]*?\*/", " ", open(f).read()))
  n = len([l for l in re.split("\n", v) if l.strip() != ''])
  print "  " + str(n) + "\t" +  f
  total += n
print "  " + str(total) + "\t-- total --"