Documentation

Language: VL

VL / Backend crates

Reference

Backend crates

A resolved tree in, backend output out.

vl-hir → vl-typecheck → vl-lir → vl-codegen

Topics

vl-hir

The desugared tree, with node ids and DefId links. Stub: the node catalogue.

vl-typecheck

Types and their rules. VL has u64, i64, f64, bool, u8, and byte-string values. String literals reach target-neutral LIR and the Naravm backend can emit them for std.print. Stub: the full judgments.

vl-lir

Target-agnostic three-address code. Stub: the instruction set.

vl-codegen

Backends implement Target and register in lookup and all_targets. NaraVmTarget serializes Naravm 0.2 vmfiles and emits source main as the special <entrypoint> function required by the VM. DummyTarget and StackVmTarget remain inspection backends.

Backends also publish the target module catalog. The current catalog includes std (print, print_u64), std.fs (open, read), and std.string (new, len). Frontend imports are checked against this catalog, while LIR retains dotted source names for backend placement. Naravm uses double-colon names internally; the backend performs that target-specific mapping.

VL 0.1+