Files
wren/metrics
T
Bob Nystrom 769e604dd1 feat: restructure compiler to bottom-up order removing forward declarations
Eliminate all forward declarations and reorder functions so each is defined before its first use, making recursion points explicit. Add semicolon counting to metrics script and include boolean equality test file.
2013-11-07 15:04:25 +00:00

43 lines
834 B
Python
Executable File

#!/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
num_semicolons = 0
for source_path in glob.iglob("src/*.[ch]"):
num_files += 1
with open(source_path, "r") as input:
for line in input:
num_semicolons += line.count(';')
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"
print num_semicolons, "semicolons"