Files
cobol-java-v3/hina
NB-076 875c593d85 fix: 構造検知の根本的改善 — 変数名に依存しないマッチング検出
COBOL技術者による徹底検証で発見された根本問題と修正:

問題1: 構造検知の信号が変数名の命名規則に依存しすぎていた
- EOF 固定 → WS-E1/WS-END-1/FE-1 も検知
- INTO ありのみ → READ AT END のみも検知
- IF 比較が WS- またはハイフン必須 → どんな名前でも検知
- OPEN 1行複数ファイルのみ → 複数行も検知

問題2: mn_output_mode が2ファイル4分岐でも M:N と誤判定
- しきい値を select>=3 or (select>=2 and 分岐>=4) に引き上げ
- 標準的な2ファイルマッチングプログラムを誤判定しない

問題3: has_cross_file_cmp が欠落していた
- ルールエンジンに IF K1 = K2 のような比較情報を注入
- 数字リテラルとの比較は除外(IF WS-COUNT > 0 など)

効果: 6種類の異なるコーディングスタイルすべてが一貫してマッチング判定
回帰: 767 passed (0 new)
2026-06-21 16:27:17 +08:00
..