1.4 KiB
1.4 KiB
高级用法
重构策略
优先级规则
- 传递未实现=0: 可立即开始,无依赖
- 传递未实现=1~3: 需先完成少数依赖
- 传递未实现>3: 依赖链长,最后处理
- 有IO: 最后处理(可能需要 I/O 抽象层)
筛选命令
# 最佳候选:无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:
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(): 打印依赖树