5.8 KiB
5.8 KiB
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