Iter 4a: ail check --json mit strukturierten Diagnostics

Neue Top-Level-API check_module(&Module) -> Vec<Diagnostic> in
ailang-check, plus stabile Codes (unbound-var, type-mismatch,
arity-mismatch, non-exhaustive-match, unknown-ctor-in-pattern,
duplicate-def, …). CLI bekommt --json-Flag für maschinenlesbares
Output, Exit 1 bei Errors. Text-Modus unverändert. E2E-Test
check_json_unbound_var sichert das Format ab.
This commit is contained in:
2026-05-07 11:07:36 +02:00
parent 44243a515e
commit 93fe7237e3
7 changed files with 334 additions and 11 deletions
+20
View File
@@ -0,0 +1,20 @@
{
"schema": "ailang/v0",
"name": "broken_unbound",
"imports": [],
"defs": [
{
"kind": "fn",
"name": "main",
"type": {
"k": "fn",
"params": [],
"ret": { "k": "con", "name": "Int" },
"effects": []
},
"params": [],
"doc": "Referenziert eine nicht-existente Variable -> unbound-var.",
"body": { "t": "var", "name": "does_not_exist" }
}
]
}