diff options
Diffstat (limited to 'tests/iii/multiple-errors')
| -rw-r--r-- | tests/iii/multiple-errors/case.json | 12 | ||||
| -rw-r--r-- | tests/iii/multiple-errors/notes.md | 5 | ||||
| -rw-r--r-- | tests/iii/multiple-errors/program.cps | 3 |
3 files changed, 20 insertions, 0 deletions
diff --git a/tests/iii/multiple-errors/case.json b/tests/iii/multiple-errors/case.json new file mode 100644 index 0000000..32ec325 --- /dev/null +++ b/tests/iii/multiple-errors/case.json @@ -0,0 +1,12 @@ +{ + "errors": [ + { + "reason": "Unterminated\\ string\\ literal", + "line": 1 + }, + { + "reason": "Expected\\ ':'\\ after\\ variable\\ name", + "line": 2 + } + ] +} diff --git a/tests/iii/multiple-errors/notes.md b/tests/iii/multiple-errors/notes.md new file mode 100644 index 0000000..257f882 --- /dev/null +++ b/tests/iii/multiple-errors/notes.md @@ -0,0 +1,5 @@ +# multiple-errors + +Lexer and parser must both diagnose independent errors and recover to subsequent statements without hanging or producing output. + +Require exit 1, the stated cause and source line on the same diagnostic, exactly one compilation termination line, and preservation of absent/existing outputs for both native and IR requests. Missing block delimiters are located at EOF (the line after the final newline). diff --git a/tests/iii/multiple-errors/program.cps b/tests/iii/multiple-errors/program.cps new file mode 100644 index 0000000..ed85208 --- /dev/null +++ b/tests/iii/multiple-errors/program.cps @@ -0,0 +1,3 @@ +OUTPUT "unterminated +DECLARE Number INTEGER +OUTPUT "after errors" |
