Module Eval__Vm

Virtual machine

type vm_atom = string * link array
and vm_atom_elt = vm_atom Util.DList.element
val null_atom_elt : vm_atom_elt

レジスタを初期化するためだけのアドレス(本来はいらない)

リンクを初期化するためだけのアドレス(本来はいらない)

type registers = vm_atom_elt array

レジスタ

val init_register : int -> registers

初期状態のレジスタを確保する

NormalLink コンストラクタを剥がす

val get_functor : ('a * 'b array) Util.DList.element array -> int -> 'a * int

ファンクタを取得する

val free_atom : (string * 'a) Util.DList.element -> (string * 'a) Util.DList.element

Free memory fragment of the given address. Possibly implemented with option type and assign None.

module AtomLists : sig ... end

アトムリストの Map.

val atom_list : vm_atom Util.DList.t

アトムリスト

アトムリストの dumper

リンクの解消

val dump_atom : (vm_atom * int) list -> 'a -> ('b * link array) -> 'a * ('b * vm_dump_link list)
val dump_atom_list : vm_atom Util.DList.t AtomLists.t -> (int * (string * vm_dump_link list)) list