甲州計算機が計算を実行する過程で、 構文エラー、型の不一致、ゼロ除算のように、 処理を中断しなければならないことがあります。 このとき、該当箇所のソースコードとともに、 中断理由が表示され、ステータス 2 で終了します。 このノートは、中断時にソースコード情報を補足する場所を一覧します。 それぞれの場所にはタグがつけられており、 このように ソースコードの各行といっしょに表示されます。
甲州計算機のバージョン 0.56 を対象としたとき、 ABORTABLE.k に記載されているタグが用意されています。
入力を読み込み、解析し、実行して、結果を出力するという 流れに沿ってエラータグを並べると、つぎのようになります。
# | エラータグ | モジュール | 場所の概要 |
---|---|---|---|
1 | clause | Core.Section.Section | 節の組み立て |
2 | lexmap | Core.Relmap.Construct | 関係写像のトークンレベルの組み立て |
3 | operand | Op.Builtin.Get | 関係写像の引数の取得 |
4 | relmap | Core.Relmap.Construct | 総称関係写像の組み立て |
5 | specialize | Core.Relmap.Relmap | 関係写像の特定化 |
6 | run | Core.Relmap.Relkit | 特定関係写像の実行 |
7 | assert | Core.Assert.Run | 判断集合の出力 |
項目計算式は、項目を追加・置換する関係写像演算子 add
/ subst
、または、
組を残す・捨てる関係写像演算子 keep
/ omit
のオペランドとなる計算式です。
# | エラータグ | モジュール | 場所の概要 |
---|---|---|---|
1 | syntax | Core.Content.Cox | 項目計算式の構文展開 |
2 | position | Core.Content.Cox | 項目位置の特定 |
3 | calc | Core.Content.Cox | 項目計算式の実行 |