simple-stacked-vm-0.1: Simple stacked virtual machine: assembler, disassembler, bytecode interpreter

Language.SSVM.Types

Synopsis

Documentation

showType :: StackItem -> StringSource

Show type of item

data Code Source

VM code

Constructors

Code 

Fields

cMarks :: [Marks]

marks stack

cCode :: [StackItem]
 

data Definition Source

Word definition

Constructors

Definition Int Stack 

data VMState Source

VM state

Constructors

VMState 

Fields

vmStack :: Stack

current VM stack

vmCurrentDefinition :: Stack

current definition

vmDefinitions :: Map String Definition

already defined words

vmVariables :: Map Int StackItem

variables values

vmNextVariable :: Int

next variable number

vmPC :: Int

program counter

vmTraceMode :: Bool

trace mode

Instances

emptyVMState :: VMStateSource

Starting VM state

type VM a = StateT VMState IO aSource

VM monad