Expand description
Abstract Syntax Tree node definitions for the Nova language.
All nodes carry Spanned<T> wrappers so the parser, type checker, and
diagnostics always have precise source locations.
Major node categories live in sub-modules re-exported here:
item— top-level items (functions, records, traits, …)expr— expressionspattern— match patternsty— type expressions
Re-exports§
pub use expr::BinOp;pub use expr::Expr;pub use expr::FieldInit;pub use expr::Literal;pub use expr::MatchArm;pub use expr::StringPart;pub use expr::UnOp;pub use item::AssignOp;pub use item::AssocTypeBinding;pub use item::ConstDecl;pub use item::ExternBlock;pub use item::Function;pub use item::ImplBlock;pub use item::Import;pub use item::Module as ModuleDecl;pub use item::Param;pub use item::Record;pub use item::RecordField;pub use item::TraitDecl;pub use item::TraitItem;pub use item::TypeDecl;pub use item::Visibility;pub use item::WhereBound;pub use pattern::Pattern;pub use ty::Type;pub use ty::TypeParam;
Modules§
- expr
- Expression AST nodes.
- item
- Top-level item AST nodes.
- pattern
- Pattern AST nodes (used in
let,matcharms,forloops). - ty
- Type expression AST nodes.
Structs§
- Block
- A
{ ... }block — a sequence of statements with an optional trailing expression. - File
- The top-level compilation unit — one
.novasource file. - Path
- A
path::to::itemreference.