fix: code review issues #1-#9

1. cond.py: 删除重复裸字段代码块 (dedup bare field)
2. coverage.py: 移除_mark_perform无条件fallback (虚假覆盖)
3. pipeline_bridge.py: except:pass加日志记录异常
4. __init__.py: generate_data文档更新 (copybook_dirs等)
5. cond.py: is_field贪婪→非贪婪.*→.*?
6. coverage.py: 移除残留无条件Enter+Skip标记

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
NB-076
2026-06-25 10:20:18 +08:00
parent 94400d50d4
commit 874b16f48c
4 changed files with 16 additions and 8 deletions
+7 -2
View File
@@ -4,7 +4,10 @@ Primary: new procedure_parser (fast, deterministic, no path explosion).
Fallback: old BrParser (timeout-guarded for programs new parser can't handle).
"""
import logging
from .models import BrSeq, BrIf, BrEval, BrPerform, BrSearch, GoTo
logger = logging.getLogger(__name__)
from .procedure_parser import extract_branch_tree as new_parse, BranchNode
@@ -18,7 +21,8 @@ def build_branch_tree_fallback(proc_text, fields=None):
root, assigns_list = new_parse(proc_text, fields)
new_tree = _convert_to_model(root)
new_assigns = _assigns_list_to_dict(assigns_list)
except Exception:
except Exception as e:
logger.warning(f"New parser failed: {e}")
pass
# New parser generates O(N) paths (not O(2^N)), so no cap needed.
@@ -42,7 +46,8 @@ def build_branch_tree_fallback(proc_text, fields=None):
if d[0] and not e[0] and r[0]:
ot, oa = r[0]
old_tree, old_assigns = ot, oa
except Exception:
except Exception as e:
logger.warning(f"Old parser fallback failed: {e}")
pass
if old_tree is not None: