Module Eval__Vm
Virtual machine
type vm_atom= string * link arrayand vm_atom_elt= vm_atom Util.DList.elementand link=|NormalLink of int * vm_atom_elt(port_i, atom)
|VMIntData of int
val null_atom_elt : vm_atom_eltレジスタを初期化するためだけのアドレス(本来はいらない)
val null_link : linkリンクを初期化するためだけのアドレス(本来はいらない)
type registers= vm_atom_elt arrayレジスタ
val init_register : int -> registers初期状態のレジスタを確保する
val retrieve_normal_link : link -> int * vm_atom_eltNormalLink コンストラクタを剥がす
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.elementFree memory fragment of the given address. Possibly implemented with
optiontype and assignNone.
module AtomLists : sig ... endアトムリストの Map.
val atom_list : vm_atom Util.DList.tアトムリスト
val dump_link : (vm_atom * int) list -> link -> vm_dump_linkリンクの解消
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