"""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")