#!/usr/bin/python

import glob
import re

TODO_PATTERN = re.compile(r'\s*// TODO\(')
DOC_PATTERN = re.compile(r'\s*//')

num_files = 0
num_docs = 0
num_code = 0
num_empty = 0
num_todos = 0

for source_path in glob.iglob("src/*.[ch]"):
  num_files += 1
  with open(source_path, "r") as input:
    for line in input:
      match = TODO_PATTERN.match(line)
      if match:
        num_todos += 1
        continue

      match = DOC_PATTERN.match(line)
      if match:
        num_docs += 1
        continue

      if (line.strip() == ""):
        num_empty += 1
        continue

      num_code += 1

print num_files, "files"
print num_todos, "TODOs"
print num_docs, "comment lines"
print num_code, "code lines"
print num_empty, "empty lines"
