Skip to main content

Module ast

Module ast 

Source
Expand description

AST for the Allium specification language.

The parse tree uses a uniform block-item representation for declaration bodies: every name: value, keyword: value and let name = value within braces is a BlockItem. Semantic classification into entity fields vs relationships vs derived values, or trigger types, happens in a later pass.

Expressions are fully typed — the parser produces the rich Expr tree directly.

Structs§

BlockDecl
A named or anonymous block: entity User { ... }, config { ... }, etc.
BlockItem
CondBranch
DefaultDecl
default [Type] name = value
DeferredDecl
deferred path.expression
Ident
JoinField
Module
A parsed .allium file.
ModuleDecl
module name
NamedArg
OpenQuestionDecl
open question "text"
QualifiedName
StringLiteral
UseDecl
use "path" as alias
VariantDecl
variant Name : Type { ... }

Enums§

BinaryOp
BlockItemKind
BlockKind
CallArg
ComparisonOp
Decl
Expr
LogicalOp
StringPart