77 lines
2.3 KiB
Python
77 lines
2.3 KiB
Python
"""Debug script to understand comment counting differences."""
|
|
|
|
from pathlib import Path
|
|
import re
|
|
|
|
test_file = Path(
|
|
r"C:\__temp\Metrics\_25_10\REP\Projects\DSP\ChimeraMCK\dev\mck_c66\mck_c66_boot_multicore.c"
|
|
)
|
|
|
|
if not test_file.exists():
|
|
print("File not found")
|
|
exit(1)
|
|
|
|
with open(test_file, "r", encoding="utf-8", errors="ignore") as f:
|
|
lines = f.readlines()
|
|
|
|
print("Analyzing comment patterns...")
|
|
print("=" * 80)
|
|
|
|
in_block = False
|
|
comment_whole = 0
|
|
comment_embedded = 0
|
|
blank = 0
|
|
|
|
for i, line in enumerate(lines, 1):
|
|
stripped = line.strip()
|
|
|
|
if not stripped:
|
|
blank += 1
|
|
continue
|
|
|
|
# Check for whole line comments
|
|
if stripped.startswith("//"):
|
|
comment_whole += 1
|
|
if i <= 50:
|
|
print(f"Line {i:3d} (WHOLE //): {line.rstrip()}")
|
|
elif stripped.startswith("/*"):
|
|
# Check if ends on same line
|
|
if "*/" in stripped:
|
|
if stripped == "/*" + stripped[2 : stripped.index("*/")].strip() + "*/":
|
|
comment_whole += 1
|
|
if i <= 50:
|
|
print(f"Line {i:3d} (WHOLE /*): {line.rstrip()}")
|
|
else:
|
|
comment_embedded += 1
|
|
if i <= 50:
|
|
print(f"Line {i:3d} (EMBED /*): {line.rstrip()}")
|
|
else:
|
|
comment_whole += 1
|
|
in_block = True
|
|
if i <= 50:
|
|
print(f"Line {i:3d} (WHOLE /* START): {line.rstrip()}")
|
|
elif in_block:
|
|
if "*/" in line:
|
|
in_block = False
|
|
after = line[line.index("*/") + 2 :].strip()
|
|
if after:
|
|
comment_embedded += 1
|
|
if i <= 50:
|
|
print(f"Line {i:3d} (EMBED */ END): {line.rstrip()}")
|
|
# Don't count this line - was already counted at block start
|
|
# else: don't count continuation lines
|
|
elif "//" in stripped or "/*" in stripped:
|
|
comment_embedded += 1
|
|
if i <= 50:
|
|
print(f"Line {i:3d} (EMBED INLINE): {line.rstrip()}")
|
|
|
|
print("\n" + "=" * 80)
|
|
print(f"Manual count:")
|
|
print(f" Blank: {blank}")
|
|
print(f" Comment Whole: {comment_whole}")
|
|
print(f" Comment Embedded: {comment_embedded}")
|
|
print(f"\nUCC Expected:")
|
|
print(f" Blank: 86")
|
|
print(f" Comment Whole: 45")
|
|
print(f" Comment Embedded: 13")
|