Commit Graph

2 Commits

Author SHA1 Message Date
NB-076 097f5449da fix: 溢出截断 + flatfile字段路由 + 多E2E验证
1. _make_numeric_value截断保护
   PIC 9(3)字段值超过999时截断(之前不截断)
2. flatfile.py字段路由
   write_all_files按FD分配字段值到对应的文件
3. 端到端运行验证:
   01-matching-1-1: PASS (8匹配/9不匹配)
   03-matching-N-1: PASS (COPYBOOK正常解析)
   10-divide-50: 程序自身OPEN逻辑问题
   34-sort-anomaly: PARTIAL(异常测试用例部分通过)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-22 13:59:54 +08:00
NB-076 0e7472598d fix: 跨文件KEY约束 + PERFORM分支统计 + 平面文件写入
1. 跨文件KEY约束(修复)
   匹配型程的M-KEY与D-KEY值不同导致匹配0条。
   修复: generate_data后处理检测IF KEY比较,
   前半记录对齐KEY值(8条匹配),后半保待差异(9条不匹配).
   实际cobc运行验证: MATCHED=8, PASS.

2. extract_structure PERFORM分支统计(修复)
   _walk函数未添加BrPerform决策点, total_branches缺失.
   修复: 为PERFORM UNTIL/VARYING决策点添加2分支(Enter/Skip).
   之前total_branches=0,现在=2.

3. flatfile.py(新增)
   COBOL固定长平面文件写入器.
   - analyze_fd_layout(): 从COBOL源码自动解析文件布局
   - write_flat_file(): 生成为COBOL可直接读取的二进制格式

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-22 13:52:56 +08:00