256 lines
5.8 KiB
Markdown
256 lines
5.8 KiB
Markdown
# 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 {<EOF>, ';', 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 {<EOF>, ';', 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 {<EOF>, ';', 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
|