# 高级用法 ## 重构策略 ### 优先级规则 1. **传递未实现=0**: 可立即开始,无依赖 2. **传递未实现=1~3**: 需先完成少数依赖 3. **传递未实现>3**: 依赖链长,最后处理 4. **有IO**: 最后处理(可能需要 I/O 抽象层) ### 筛选命令 ```bash # 最佳候选:无IO + 无未实现依赖 python3 .claude/skills/fortran-analyzer/scripts/analyze_fortran.py --priority | grep "○$" | head -10 # 查看特定函数依赖树 python3 .claude/skills/fortran-analyzer/scripts/analyze_fortran.py --tree ALIFR1 # 统计进度 echo "已完成: $(awk -F, '$11=="done"' fortran_analysis.csv | wc -l)" echo "待处理: $(awk -F, '$11=="pending"' fortran_analysis.csv | wc -l)" # 生成完整 CSV(含传递依赖) python3 .claude/skills/fortran-analyzer/scripts/analyze_fortran.py --full > fortran_analysis.csv ``` ## SPECIAL_MAPPINGS 一个 Rust 文件实现多个 Fortran 函数时,需更新 `.claude/skills/fortran-analyzer/scripts/analyze_fortran.py`: ```python SPECIAL_MAPPINGS = { 'gfree': ['gfree0', 'gfreed', 'gfree1'], 'interpolate': ['yint', 'lagran'], 'sgmer': ['sgmer0', 'sgmer1', 'sgmerd'], # 添加新映射... } ``` ## 脚本内部函数 - `extract_calls()`: 提取 CALL 和 FUNCTION 调用 - `get_transitive_deps()`: 计算传递依赖 - `get_pending_deps()`: 获取未实现依赖 - `print_dependency_tree()`: 打印依赖树