Module lovm2::gen[][src]

Tools for generating bytecode

Modules

hir

Highlevel Intermediate Representation

lir

Lowlevel Intermediate Representation

opt

Optimization on LIR

prelude

Structs

Access

Consecutive read on a List or Dict

Assign

Storing data in various locations

Block

List of statements forming a code block

Branch

Conditional execution

Break

Highlevel break statement

Call

Execute a CodeObject by name using the given arguments

CompileOptions

Settings for lowering to bytecode

Continue

Highlevel continue statement

Conv

Do type conversion on a lowered Expr at runtime

Hir

Highlevel representation of a function

HirLoweringRuntime

Information for the process of lowering HIR to LIR

Include

Loads a module by name into the VM

Initialize

Initialize complex objects (Dict and List), supports Expr as arguments

Interrupt

Trigger a VM interrupt

ModuleBuilder

Representation of modules before lowering.

ModuleMeta

Meta information required on native and shared object modules.

Return

Return value from a CodeObject

Slice

Create a new List containing references to values on the target List

Enums

Expr

Expressions and operations that produce Values

HirElement

Sum type for every HIR element

Iter

Iterator expressions and operations.

Operator1

Operator with one operand

Operator2

Operator with two operands

Repeat

Runs a Block forever or until a condition is met

Constants

DEFAULT_MODULE_NAME

If a module was not assigned a name, take this instead.

Traits

HasBlock

Supplying functionality for all structures containing a Block

HirLowering

Structures supporting transformation into LIR

Jumpable

Structures supporting custom jump targets