next up previous contents index
Next: 単一化ゴールのエンキュー: enqueue_unify_goal() Up: 単一化器: do_unify() Previous: resume_goals()の詳細

Generator の起動: generator_unify()

   

この関数は、generatorのactive_unify メソッドを起動し結果に応じて、 単一化の処理を行う。片方はgeneratorであることが確定し、 もう一方は、hook構造体である(つまり、goal/consumer/generatorのいずれかである) ことが確定している時に呼びだされる。

関数仕様は以下である。

static Inline q*
generator_unify(gsx, sy, allocp)
     struct generator_susp *gsx;
     struct susprec *sy;
     q *allocp;

引数は、gsx は、generator_susp 型構造へのポインタ、 sy はsusprecへのポインタを持つ。

1.
まず、gsxの先のgeneratorに対して、sy を引数として active_unify() メソッドを起動する。

2.
sy の先を調べる。



Sekita Daigo
1998-05-18