Next: 参照値の読出し (dereference)
Up: 分散ユニフィケーション
Previous: 外部参照オブジェクト X と変数 V
以上で挙げた処理の具体的な実装は、概略、通常のユニフィケーションの
処理で行われる(unify(), unify_value(), runtime/unify.c)。
つまり、以下の処理である。
- どちらかがジェネレータ外部参照オブジェクトであること確認する。
- ジェネレータ外部参照オブジェクトであることがわかれば、もういっぽうの項を引数にして、
unify methodを発行する。
- Unifyに失敗したならば、generateを行い、それともう一方の項との
ユニフィケーションをする。
これより先の処理(もう一方の項の判定、および、メッセージの送信)は、
ジェネレータ外部参照オブジェクトのmethodにより実装されている。
Sekita Daigo
1998-05-18