Compiler
48 modules, 1748 exports.
- vader/bootstrap build-only compiler entrypoint (the seed source).
- vader/core/bytecode
- vader/core/mono the specialised-decl entry shape.
- vader/core/symbol symbol table primitives.
- vader/core/types the Type IR.
- vader/emit/bytecode
- vader/emit/c
- vader/emit/c/ast the tree a C function is built as.
- vader/emit/virt
- vader/front/comptime
- vader/front/dead_code name-reachability lints, W0007 (dead private decls, per-module, on every build) and W0012 (dead exported fns, project-wide,
vader lintonly). - vader/front/effects what each function does with what it is lent.
- vader/front/lexer the Vader-in-Vader lexer.
- vader/front/parser recursive-descent parser + Pratt expression parser. Public entry:
parse_source(source, file), which gives aParsedSource. Errors flow into the parser'serrorsarray ; after an error the parser synchronises on}/ top-level keywords / NEWLINE so it can keep going. - vader/front/resolver
- vader/front/typecheck
- vader/front/virt
- vader/lower project-level lowerer orchestrator.
- vader/lower/dce whole-program dead-function elimination.
- vader/lower/dump
# Lowersnapshot dump. - vader/lower/ir
- vader/lower/optimise
- vader/midir
- vader/midir/optimise
- vader/midir/pipeline the CFG passes, in the order the bytecode emitter needs.
- vader/midir/ranges
- vader/midir/select
- vader/midir/value_return return a small composite in registers, not on the heap.
- vader/pipeline
- vader/pipeline/check the typecheck of a project, and the checks that need it settled.
- vader/pipeline/comptime_vm
- vader/support/diagnostics
- vader/support/fixpoint the fixed point of a property over a call graph.
- vader/support/integer fixed-width integer arithmetic, exact or refused.
- vader/support/opt_report the
$VADER_OPT_REPORTswitch, and what every stage that reports to it shares. - vader/support/profile per-pass profiler for the self-compile.
- vader/support/target the compilation target as a pair, and the
<os>-<arch>form the command line speaks. - vader/support/text low-level byte/text helpers shared across the compiler.
- vader/tools/cli
- vader/tools/dap
- vader/tools/doc
- vader/tools/fmt
- vader/tools/lsp
- vader/tools/lsp/actions
- vader/tools/lsp/analysis
- vader/tools/lsp/handlers
- vader/tools/lsp/protocol
- vader/vm