R13: final sweep — EXEC stripping + INSPECT bugfix + more EQ assertions
1. Lark: preprocess strips EXEC CICS/SQL...END-EXEC blocks -> CI01_CICS/DB01_SELECT_UPDATE now parse, 75/75 samples pass 2. propagate_assignments INSPECT TALLYING bugfix: was reading source from count_var (wrong field) instead of asgn['tgt']. Now CNT='005' instead of '003' for len(HELLO)=5. 3. 26 new EQ/falsifiable assertions added (propagate chains, orchestrator state, data_writer, report generator) 4. Hardened: ACCEPT DATE string len check, DataWriter JSON format 16 suites / 0 FAIL. Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -31,6 +31,13 @@ def preprocess(source: str) -> str:
|
||||
# Lark 语法不支持 COPY(这是预处理指令),必须在解析前处理
|
||||
source = resolve_copybooks(source, '.')
|
||||
|
||||
# Strip EXEC ... END-EXEC blocks (CICS/SQL) before Lark parsing
|
||||
source = re.sub(
|
||||
r'EXEC\s+(?:CICS|SQL)\b.*?END-EXEC\.?',
|
||||
'',
|
||||
source, flags=re.IGNORECASE | re.DOTALL
|
||||
)
|
||||
|
||||
fixed = _is_fixed_format(source)
|
||||
lines = []
|
||||
for raw_line in source.splitlines():
|
||||
|
||||
Reference in New Issue
Block a user