Expand description

The Rune compiler.

Phases

The compilation process is split into several phases which build on each other, with user-injectable hooks called after each phase finishes.

The phases are:

  1. parse
  2. lowering
  3. type_check
  4. codegen

Stability

This crate contains the internal types used by the Rune compiler so they can be used externally. While this can give you a lot of flexibility and let you extract a lot of information about a Rune, the compiler is a continually evolving codebase.

This API should be considered unstable and subject to change.

Modules

The code generation phase.

Callbacks that allow users to hook into the build process.

The lowering phase.

The parsing phase.

The type checking phase.

Structs

Inputs used during the compilation process.

A collection of Diagnostics.

Feature flags and other knobs that can be used during development.

A group of operations which make up a single “phase” in the build process.

Enums

Functions

Execute the rune build process.

Execute the rune build process, passing in custom Hooks which will be fired after each phase.