# DIVERGENCES — where the two parsers disagree Each entry is a minimized program that one parser accepts and the other rejects (JS = the parse phase of `js/mpl.js`; ANTLR = the grammar via `./gradlew parseCheck`). Divergences are recorded, never auto-fixed — which parser is right is a ratification question for Stage 3. Rulings happen in `JUDGMENT_CALLS.md`. Entries below are appended by `conformance/harness/fuzz.mjs` (deterministic: seed and index reproduce the original program), except where a different source is noted. ## Divergence (found during C3 corpus construction) ``` ✎ "drop\qme"; ``` - JS interpreter: accepts (prints `dropqme` — an unknown string escape drops the backslash silently) - ANTLR grammar: rejects (token recognition error at: '"drop\q') - RESOLVED by ruling 12 at ad01bbd ## Divergence (fuzz seed 20260709, index 49) ``` ``` - JS interpreter: rejects (err_unexpected at 1:1) - ANTLR grammar: accepts (parses) - RESOLVED by ruling 20 at ad01bbd ## Divergence (fuzz seed 20260709, index 11) ``` "a\zb" ``` - JS interpreter: accepts (runs) - ANTLR grammar: rejects (1:0: token recognition error at: '"a\z') - RESOLVED by ruling 12 at ad01bbd ## Divergence (fuzz seed 20260709, index 86) ``` ((f);) ``` - JS interpreter: rejects (err_expect at 1:5) - ANTLR grammar: accepts (parses) - RESOLVED by ruling 21 at ad01bbd ## Divergence (fuzz seed 20260709, index 247) ``` (42;) ``` - JS interpreter: rejects (err_expect at 1:4) - ANTLR grammar: accepts (parses) - RESOLVED by ruling 21 at ad01bbd ## Divergence (fuzz seed 20260709, index 119) ``` (a;) ``` - JS interpreter: rejects (err_expect at 1:3) - ANTLR grammar: accepts (parses) - RESOLVED by ruling 21 at ad01bbd ## Divergence (fuzz seed 20260709, index 9) ``` (f∘g) ``` - JS interpreter: rejects (err_expect at 1:3) - ANTLR grammar: accepts (parses) - RESOLVED by ruling 22 at cd59791 ## Divergence (fuzz seed 20260709, index 144) ``` ({"",(a)}) ``` - JS interpreter: rejects (err_expect at 1:5) - ANTLR grammar: accepts (parses) - RESOLVED by ruling 23 at ad01bbd ## Divergence (fuzz seed 20260709, index 456) ``` ({"a b",2}) ``` - JS interpreter: rejects (err_expect at 1:8) - ANTLR grammar: accepts (parses) - RESOLVED by ruling 23 at ad01bbd ## Divergence (fuzz seed 20260709, index 182) ``` ({(007),true}) ``` - JS interpreter: rejects (err_expect at 1:8) - ANTLR grammar: accepts (parses) - RESOLVED by ruling 23 at ad01bbd ## Divergence (fuzz seed 20260709, index 284) ``` ({(1),⊥}) ``` - JS interpreter: rejects (err_expect at 1:6) - ANTLR grammar: accepts (parses) - RESOLVED by ruling 23 at ad01bbd ## Divergence (fuzz seed 20260709, index 276) ``` ({5,"a b"}) ``` - JS interpreter: rejects (err_expect at 1:4) - ANTLR grammar: accepts (parses) - RESOLVED by ruling 23 at ad01bbd ## Divergence (fuzz seed 20260709, index 427) ``` ({b:y}) ``` - JS interpreter: rejects (err_expect at 1:4) - ANTLR grammar: accepts (parses) - RESOLVED by ruling 24 at ad01bbd ## Divergence (fuzz seed 20260709, index 101) ``` ({c,0.5}) ``` - JS interpreter: rejects (err_expect at 1:4) - ANTLR grammar: accepts (parses) - RESOLVED by ruling 23 at ad01bbd ## Divergence (fuzz seed 20260709, index 425) ``` ({g:⊥}) ``` - JS interpreter: rejects (err_expect at 1:4) - ANTLR grammar: accepts (parses) - RESOLVED by ruling 24 at ad01bbd ## Divergence (fuzz seed 20260709, index 194) ``` ({x,(5)}) ``` - JS interpreter: rejects (err_expect at 1:4) - ANTLR grammar: accepts (parses) - RESOLVED by ruling 23 at ad01bbd ## Divergence (fuzz seed 20260709, index 212) ``` ({y:"hi"}) ``` - JS interpreter: rejects (err_expect at 1:4) - ANTLR grammar: accepts (parses) - RESOLVED by ruling 24 at ad01bbd ## Divergence (fuzz seed 20260709, index 25) ``` ({y:0}) ``` - JS interpreter: rejects (err_expect at 1:4) - ANTLR grammar: accepts (parses) - RESOLVED by ruling 24 at ad01bbd ## Divergence (fuzz seed 20260709, index 347) ``` ({{},{}}) ``` - JS interpreter: rejects (err_expect at 1:5) - ANTLR grammar: accepts (parses) - RESOLVED by ruling 21 at ad01bbd ## Divergence (fuzz seed 20260709, index 52) ``` ({λ}) ``` - JS interpreter: rejects (err_expect at 1:4) - ANTLR grammar: accepts (parses) - RESOLVED by ruling 26 at c447eb7 ## Divergence (fuzz seed 20260709, index 76) ``` λ(b):(42) ``` - JS interpreter: accepts (runs) - ANTLR grammar: rejects (1:4: mismatched input ':' expecting {, ';', PARALLEL, LEFTARROW, IMPLIES, OR, AND, '=', NEQ, '<', '>', LEQ, GEQ, APPROX, SIM, '+', '-', TIMES, DIV, AST, COMPOSE, DEFINITION, HANDLE, ALLOC, RELEASE, '(', '|', MIDDOT}) - RESOLVED by ruling 25 at ad01bbd ## Divergence (fuzz seed 20260709, index 13) ``` λ(f):42 ``` - JS interpreter: accepts (runs) - ANTLR grammar: rejects (1:4: mismatched input ':' expecting {, ';', PARALLEL, LEFTARROW, IMPLIES, OR, AND, '=', NEQ, '<', '>', LEQ, GEQ, APPROX, SIM, '+', '-', TIMES, DIV, AST, COMPOSE, DEFINITION, HANDLE, ALLOC, RELEASE, '(', '|', MIDDOT}) - RESOLVED by ruling 25 at ad01bbd ## Divergence (fuzz seed 20260709, index 29) ``` λ(y):f ``` - JS interpreter: accepts (runs) - ANTLR grammar: rejects (1:4: mismatched input ':' expecting {, ';', PARALLEL, LEFTARROW, IMPLIES, OR, AND, '=', NEQ, '<', '>', LEQ, GEQ, APPROX, SIM, '+', '-', TIMES, DIV, AST, COMPOSE, DEFINITION, HANDLE, ALLOC, RELEASE, '(', '|', MIDDOT}) - RESOLVED by ruling 25 at ad01bbd ## Divergence (fuzz seed 20260710, index 178 — found during Stage 3 A7) ``` ({-42}) ``` - JS interpreter: rejected (err_comment — the lexer committed '{-' to a comment even without a terminator) - ANTLR grammar: accepts (MULTILINE_COMMENT requires its '-}'; '{' lexes as a brace, so this is a block containing -42) - RESOLVED by grammar alignment (decision: the grammar is the syntax truth) at f5e8407 — no ruling needed; found by the fresh fuzz seed and fixed before commit