Module timi::machine [] [src]

The machine state is formed out of 4 components: (Stack, Heap, Dump, Globals)

Structs

Heap

maps Address to Heap nodes.

Machine

the core machine that runs our program.

MachineOptions

Options used to configure the machine

Stack

Stack is a stack of Addr.

Enums

DataTag

Used to tag data in HeapNode::Data.

HeapNode

an element on the Heap of the machine.

MachinePrimOp

Primitive operations that are implemented directly in the machine

Functions

is_addr_phantom

let bindings first bind to "phantom" addresses, after which they relink addresses to their correct locations. This lets us check if an address is phantom to prevent us from trying to access these TODO: create an alegbraic data type for Addr to represent this, and not just using negative numbers. This is a hack.

Type Definitions

Dump

Dump is a stack of machine Stack.

Environment

Mapping from variable names to addresses.

MachineError

represents an error during the execution of the machine