Summary
The editor grammar rejects a bare return (a return arrow with no value/label), which the
renderer accepts. Found in the grammar-gap hunt.
Repro
Type return (or return inside a method block). Lezer emits an error node; ANTLR parses cleanly.
Location
web/src/editor/grammar/zenuml.grammar — Return rule required ReturnKeyword Expression.
Fix
Add a ReturnKeyword !statement alternative (bare return). Verified: return, A.b() { return }
parse with 0 error nodes; return x / @Return B->A: done unchanged; conformance subset holds.
Known minor gap (not fixed): A:B — the renderer yields participant {A}; obscure instance
syntax, deferred.
Found via the editor-improvement campaign (grammar-gap hunt).
Summary
The editor grammar rejects a bare
return(a return arrow with no value/label), which therenderer accepts. Found in the grammar-gap hunt.
Repro
Type
return(orreturninside a method block). Lezer emits an error node; ANTLR parses cleanly.Location
web/src/editor/grammar/zenuml.grammar—Returnrule requiredReturnKeyword Expression.Fix
Add a
ReturnKeyword !statementalternative (bare return). Verified:return,A.b() { return }parse with 0 error nodes;
return x/@Return B->A: doneunchanged; conformance subset holds.Known minor gap (not fixed):
A:B— the renderer yields participant{A}; obscure instancesyntax, deferred.
Found via the editor-improvement campaign (grammar-gap hunt).