Module Eval__.Pushout
val push_atom : Eval__.Vm.AtomLists.key -> 'a -> 'a Util.DList.t Eval__.Vm.AtomLists.t -> 'a Util.DList.element * 'a Util.DList.t Eval__.Vm.AtomLists.t
アトムリストにアトムを追加する
val remove_atom : Eval__.Vm.AtomLists.key -> 'a Util.DList.element -> 'a Util.DList.t Eval__.Vm.AtomLists.t -> 'a Util.DList.t Eval__.Vm.AtomLists.t
アトムリストからアトムを削除する
val deref_lhs_register : ('a * Eval__.Vm.link array) Util.DList.element array -> int -> int -> Eval__.Vm.link array * int * Eval__.Vm.vm_atom_elt
ルール左辺でマッチしたアトムを代入したレジスタからデータを取得する
- returns
ルール左辺でマッチしたアトムが繋がっていたアトムのデータ
val pushout : Eval__.Vm.vm_atom Util.DList.element array -> (string * Eval__.Vm.link) list -> Eval__.Vm.vm_atom Util.DList.t Eval__.Vm.AtomLists.t -> Generator.rhs_inst -> Eval__.Vm.vm_atom Util.DList.t Eval__.Vm.AtomLists.t
ルール右辺の命令を一回実行して,更新したアトムリストを返す
val pushouts : Eval__.Vm.vm_atom Util.DList.element array -> (string * Eval__.Vm.link) list -> Eval__.Vm.vm_atom Util.DList.t Eval__.Vm.AtomLists.t -> Generator.rhs_inst list -> Eval__.Vm.vm_atom Util.DList.t Eval__.Vm.AtomLists.t
ルール右辺の命令を実行する
- アトムリストを受け取り,更新したアトムリストを返す