Module: l0_ast
Source: compiler/stage1_py/l0_ast.py Language: Python
Symbols
Namespace l0_ast
Class l0_ast::Span
Represents a range of text in a source file.
Member Data l0_ast.Span.start_line
Member Data l0_ast.Span.start_column
Member Data l0_ast.Span.end_line
Member Data l0_ast.Span.end_column
Class l0_ast::Node
Base class for all AST nodes.
Member Data l0_ast.Node.span
Class l0_ast::TypeRef
Reference to a type in the source code.
Member Data l0_ast.TypeRef.name
Member Data l0_ast.TypeRef.pointer_depth
Member Data l0_ast.TypeRef.is_nullable
Member Data l0_ast.TypeRef.module_path
Member Data l0_ast.TypeRef.name_qualifier
1
| Optional name_qualifier
|
Class l0_ast::Import
An import declaration.
Member Data l0_ast.Import.name
Class l0_ast::TopLevelDecl
Base class for top-level declarations (functions, structs, etc.).
Class l0_ast::Param
A function parameter declaration.
Member Data l0_ast.Param.name
Member Data l0_ast.Param.type
Class l0_ast::FuncDecl
A function declaration.
Member Data l0_ast.FuncDecl.name
Member Data l0_ast.FuncDecl.params
Member Data l0_ast.FuncDecl.return_type
Member Data l0_ast.FuncDecl.body
Member Data l0_ast.FuncDecl.is_extern
Class l0_ast::FieldDecl
A field declaration within a struct.
Member Data l0_ast.FieldDecl.name
Member Data l0_ast.FieldDecl.type
Class l0_ast::StructDecl
A struct declaration.
Member Data l0_ast.StructDecl.name
Member Data l0_ast.StructDecl.fields
Class l0_ast::EnumVariant
A variant declaration within an enum.
Member Data l0_ast.EnumVariant.name
Member Data l0_ast.EnumVariant.fields
Class l0_ast::EnumDecl
An enum declaration.
Member Data l0_ast.EnumDecl.name
Member Data l0_ast.EnumDecl.variants
Class l0_ast::TypeAliasDecl
A type alias declaration.
Member Data l0_ast.TypeAliasDecl.name
Member Data l0_ast.TypeAliasDecl.target
Class l0_ast::LetDecl
A top-level ‘let’ declaration.
Member Data l0_ast.LetDecl.name
Member Data l0_ast.LetDecl.type
Member Data l0_ast.LetDecl.value
Class l0_ast::Module
A complete L0 module.
Member Data l0_ast.Module.name
Member Data l0_ast.Module.imports
Member Data l0_ast.Module.decls
Member Data l0_ast.Module.filename
Class l0_ast::Stmt
Base class for all statements.
Class l0_ast::Block
A block containing a sequence of statements.
Member Data l0_ast.Block.stmts
Class l0_ast::LetStmt
A local variable declaration statement.
Member Data l0_ast.LetStmt.name
Member Data l0_ast.LetStmt.type
Member Data l0_ast.LetStmt.value
Class l0_ast::AssignStmt
An assignment statement.
Member Data l0_ast.AssignStmt.target
Member Data l0_ast.AssignStmt.value
Class l0_ast::ExprStmt
A statement consisting of a single expression.
Member Data l0_ast.ExprStmt.expr
Class l0_ast::IfStmt
An if-else statement.
Member Data l0_ast.IfStmt.cond
Member Data l0_ast.IfStmt.then_stmt
Member Data l0_ast.IfStmt.else_stmt
Class l0_ast::WhileStmt
A while loop statement.
Member Data l0_ast.WhileStmt.cond
Member Data l0_ast.WhileStmt.body
Class l0_ast::ForStmt
A for loop statement.
Member Data l0_ast.ForStmt.init
Member Data l0_ast.ForStmt.cond
Member Data l0_ast.ForStmt.update
Member Data l0_ast.ForStmt.body
Class l0_ast::ReturnStmt
A return statement.
Member Data l0_ast.ReturnStmt.value
Class l0_ast::DropStmt
An explicit drop statement for manual memory/resource release.
Member Data l0_ast.DropStmt.name
Class l0_ast::MatchArm
A single arm in a match statement.
Member Data l0_ast.MatchArm.pattern
Member Data l0_ast.MatchArm.body
Class l0_ast::MatchStmt
A match statement for pattern matching.
Member Data l0_ast.MatchStmt.expr
Member Data l0_ast.MatchStmt.arms
Class l0_ast::WithItem
An item in a with statement.
Member Data l0_ast.WithItem.init
Member Data l0_ast.WithItem.cleanup
Class l0_ast::WithStmt
A with statement for RAII-style resource management.
Member Data l0_ast.WithStmt.items
Member Data l0_ast.WithStmt.body
Member Data l0_ast.WithStmt.cleanup_body
Class l0_ast::CaseArm
A single arm in a case statement.
Member Data l0_ast.CaseArm.literal
Member Data l0_ast.CaseArm.body
Class l0_ast::CaseElse
The else arm of a case statement.
Member Data l0_ast.CaseElse.body
Class l0_ast::CaseStmt
A case statement (switch-like).
Member Data l0_ast.CaseStmt.expr
Member Data l0_ast.CaseStmt.arms
Member Data l0_ast.CaseStmt.else_arm
Class l0_ast::BreakStmt
A break statement.
Class l0_ast::ContinueStmt
A continue statement.
Class l0_ast::Pattern
Base class for match patterns.
Class l0_ast::WildcardPattern
A wildcard pattern (‘_’) that matches anything.
Class l0_ast::VariantPattern
A pattern that matches an enum variant.
Member Data l0_ast.VariantPattern.name
Member Data l0_ast.VariantPattern.vars
Member Data l0_ast.VariantPattern.module_path
Member Data l0_ast.VariantPattern.name_qualifier
1
| Optional name_qualifier
|
Class l0_ast::Expr
Base class for all expressions.
Class l0_ast::IntLiteral
An integer literal expression.
Member Data l0_ast.IntLiteral.value
Class l0_ast::ByteLiteral
A byte literal expression.
Member Data l0_ast.ByteLiteral.value
Class l0_ast::StringLiteral
A string literal expression.
Member Data l0_ast.StringLiteral.value
Class l0_ast::BoolLiteral
A boolean literal expression.
Member Data l0_ast.BoolLiteral.value
Class l0_ast::NullLiteral
A null literal expression.
Class l0_ast::VarRef
A variable reference expression.
Member Data l0_ast.VarRef.name
Member Data l0_ast.VarRef.module_path
Member Data l0_ast.VarRef.name_qualifier
1
| Optional name_qualifier
|
Class l0_ast::NewExpr
A heap allocation or constructor expression.
Member Data l0_ast.NewExpr.type_ref
Member Data l0_ast.NewExpr.args
Class l0_ast::UnaryOp
A unary operator expression.
Member Data l0_ast.UnaryOp.op
Member Data l0_ast.UnaryOp.operand
Class l0_ast::BinaryOp
A binary operator expression.
Member Data l0_ast.BinaryOp.op
Member Data l0_ast.BinaryOp.left
Member Data l0_ast.BinaryOp.right
Class l0_ast::CallExpr
A function or method call expression.
Member Data l0_ast.CallExpr.callee
Member Data l0_ast.CallExpr.args
Class l0_ast::IndexExpr
An array indexing expression.
Member Data l0_ast.IndexExpr.array
Member Data l0_ast.IndexExpr.index
Class l0_ast::FieldAccessExpr
A field access expression.
Member Data l0_ast.FieldAccessExpr.obj
Member Data l0_ast.FieldAccessExpr.field
Class l0_ast::ParenExpr
A parenthesized expression.
Member Data l0_ast.ParenExpr.inner
Class l0_ast::CastExpr
A type cast expression.
Member Data l0_ast.CastExpr.expr
Member Data l0_ast.CastExpr.target_type
Class l0_ast::TryExpr
A try expression for error handling.
Member Data l0_ast.TryExpr.expr
Class l0_ast::TypeExpr
A type used in an expression position.
Member Data l0_ast.TypeExpr.type_ref