XU XUv0.8.8
中文

Docs / Language

EBNF

Planning grammar (for review, not a byte-for-byte parser table):

File         = "@" PackagePath { CompileTag } { Import } { Decl } .
Import       = [ Ident ] "#" Path  .
ReturnStmt   = "<<" [ Expr ] .
ThrowStmt    = ">>" Expr .
ExitStmt     = "<<<" Expr .
BreakStmt    = "<-" .
ContinueStmt = "->" .
RangeOp      = ":" . // [start, end)
XuStmt       = "xu" QualifiedName "(" [ Args ] ")" .
Expr         = … | Expr "or" "(" Ident ")" Block | Expr "or" ">>" .

PackagePath is a slash path, optionally quoted for domain-based identities. Dots in domain names are preserved. An import alias precedes #; external paths require an alias.