Crate joule_ast

Crate joule_ast 

Source
Expand description

Abstract Syntax Tree (AST) definitions for Joule

This module defines the AST structures that represent parsed Joule code. The AST is an untyped, structural representation of the source code.

Re-exports§

pub use generics::*;
pub use energy::*;

Modules§

energy
Energy budget AST representation for Joule
generics
Generic type parameters for Joule AST

Structs§

Block
Block expression
ClosureParam
Closure parameter (type is optional — can be inferred)
Const
Const declaration
EffectDecl
Algebraic effect declaration: effect IO { fn read() -> String; fn write(s: String); }
EffectHandler
An effect handler clause in a handle ... with { ... } expression
EffectOperation
A single operation within an effect declaration
Enum
Enum definition
Extend
Extension methods: extend Type { fn method(&self) -> T { ... } }
Field
Struct field
FieldInit
Struct field initialization
FieldPattern
File
A complete Joule source file
Function
Function definition
Ident
Identifier
Impl
Impl block
MatchArm
Match arm
ModuleDecl
Module declaration: mod name; or mod name { ... }
OpaqueType
Opaque type definition: opaque type UserId = i64;
Param
Function parameter
Path
Path (e.g., std::io::File)
SelectArm
Select arm for channel selection
Static
Static declaration
Struct
Struct definition
SupervisorChild
A child process specification in a supervisor tree
SupervisorDecl
Supervisor tree declaration: supervisor MySup { strategy: one_for_one, ... }
ThermalArm
Thermal adaptation arm
Trait
Trait definition
TraitFunction
TypeAlias
Type alias definition: type Name = Type;
Use
Use statement
Variant
Enum variant

Enums§

BinOp
Binary operators
ChildRestart
Restart policy for a supervised child
Expr
Expression
ImplItem
IndexComponent
A single component of a multi-dimensional index expression.
Item
Top-level items (functions, structs, etc.)
Literal
Literal values
Pattern
Pattern (for destructuring)
ProcMacroKind
Procedural macro kind
SelectOperation
Channel operation in a select arm
Statement
Statement
SupervisorStrategy
Restart strategy for supervisor trees
TraitItem
Type
Type annotations
UnOp
Unary operators
UseTree
Use tree for imports
VariantFields
Visibility
Visibility of an item