This library is in flux. APIs may change without notice. Generated from source with koruc 0.1.7 on 8/19/2026.
Compiler Context
~import std/compiler_contextCompiler Context Module
compiler_context.kz · 11 tors · ~[compiler]
Compiler Context Module
Provides threading state and operations for compiler passes
All operations are Koru events - composable, observable, overridable!
DATA STRUCTURES (Pure Zig, no methods)
// CONTEXT OPERATIONS (Koru Events - composable & observable!)
//
// Create a new compiler context
~pub tor init {
ast: Program,
allocator: std.mem.Allocator,
error_policy: ErrorPolicy
} -> CompilerContextbegin-pass
koru_std/compiler_context.kz:75// Begin a compilation pass (increments metrics, emits CCP events)
~pub tor begin-pass { ctx: CompilerContext, name: string } -> CompilerContextend-pass
koru_std/compiler_context.kz:90// End a compilation pass (increments pass counter, emits CCP events)
~pub tor end-pass { ctx: CompilerContext } -> CompilerContextreport-error
koru_std/compiler_context.kz:112// Report a compilation error
~pub tor report-error {
ctx: CompilerContext,
message: string,
location: SourceLocation
} -> CompilerContextreport-warning
koru_std/compiler_context.kz:149// Report a compilation warning
~pub tor report-warning {
ctx: CompilerContext,
message: string,
location: SourceLocation
} -> CompilerContext// Report an informational message
~pub tor info { ctx: CompilerContext, message: string } -> CompilerContextshould-abort
koru_std/compiler_context.kz:198// Check if compilation should abort due to errors
~pub tor should-abort { ctx: CompilerContext }
| yes CompilerContext
| no CompilerContextpass-count
koru_std/compiler_context.kz:215// Query: Get current pass count
~pub tor pass-count { ctx: CompilerContext } -> { ctx: CompilerContext, value: u32 }error-count
koru_std/compiler_context.kz:225// Query: Get error count
~pub tor error-count { ctx: CompilerContext } -> { ctx: CompilerContext, value: u32 }warning-count
koru_std/compiler_context.kz:236// Query: Get warning count
~pub tor warning-count { ctx: CompilerContext } -> { ctx: CompilerContext, value: u32 }update-ast
koru_std/compiler_context.kz:247// Update AST in context (used by transformation passes)
~pub tor update-ast { ctx: CompilerContext, ast: Program } -> CompilerContext