import ast import os from pathlib import Path symbols = [] for root in ['src', 'simulation']: for p in Path(root).rglob('*.py'): try: code = p.read_text(encoding='utf-8') tree = ast.parse(code) for node in tree.body: if isinstance(node, (ast.FunctionDef, ast.AsyncFunctionDef, ast.ClassDef)): if not node.name.startswith('_'): symbols.append((node.name, str(p))) except Exception: continue print(f"TOTAL_SYMBOLS:{len(symbols)}") for name, path in symbols: print(f"SYMBOL:{name}|PATH:{path}")