Next:
データ構造
Up:
Inside KLIC Version 1.0
Previous:
はじめに
逐次処理系
データ構造
KL1レベルのデータ構造
ワード
CONSとファンクタ
参照セルと純粋未定義変数セル
中断ゴールを現わす構造
タグ関連のマクロ
ジェネリック・オブジェクト
ジェネリック・オブジェクトの種類
ジェネリック・オブジェクトのデータ構造
Data object
Consumer
Generator
実装レベルのデータ
大域データ構造体
ヒープ
モジュール
述語
ゴールレコード
実行可能状態
中断状態
KLICの基本的な動作
動作モデル
トップレベルループ
コンパイルドコード
モジュールの原則
述語呼び出しの実現
述語の原則
データのキャッシュ
例外的な処理
ヒープの使い方
エンコーディング規則
基本規則
モジュール関数名エンコード規則
述語名エンコード規則
定数構造体のコンパイル
例
コード説明
割り込み/中断/失敗
例外処理
割り込み時の処理
KL1レベルでの割り込み処理
割り込み処理: klic_interrupt
中断、失敗処理: interrupt_goal
関数型仕様
動作
Timer
基本的な方式
実装詳細
単一化器
Passsive unification
Active unification
単一化器: do_unify()
ゴールの再開: resume_goals()
中断構造に対しての処理の概略
resume_goals()の詳細
Generator の起動: generator_unify()
単一化ゴールのエンキュー: enqueue_unify_goal()
複雑なゴールのエンキュー: enqueue_unify_terms()
ジェネリック・オブジェクト
ジェネリック・オブジェクトの概略
ジェネリック・オブジェクトの種類
Data object
Consumer object
Generator object
GC
基本的なGCのアルゴリズム
GCの対象領域
Copyされたかどうかの判定
GCのきっかけ
GCのためのデータ構造
GCのアルゴリズム
klic_gc
collect_garbage()
copy_one_queue()
copy_terms()
トレーサ
機能概要
提供機能の概要
リンク時のトレース指定
名前情報の管理
トレースの制御と情報入手
擬似ゴールの構造
CALL ポートのトレースのきっかけ
REDUCE/SUSPEND ポートのトレースのきっかけ
リダクション結果の子ゴールの認識
リデュースにともなう再開ゴールの把握
リデュース結果のゴールのトレース
トレースされた中断ゴールの再開の把握
trace_after()の処理
Sekita Daigo
1998-05-18