セグメントとは

ここまでで、実身はレコードの並びであり、それを読み書きする方法が分かりました。では、レコードの中身はどうなっているのでしょうか。レコードとはで、レコードは、そのレコードタイプごとに中身の書き方が決まっていると書きました。表を再掲載します。

レコードタイプデータ構成の規定
0リンクレコード標準データタイプ
1TAD主レコードTADデータ構成
8実行機能付箋レコードTADデータ構成

リンクレコードは標準データタイプとなっています。標準データタイプとはBやWなどの基本的な型のことです。include/typedef.hに定義されていますし、仕様書第1章 基本データタイプにあります。リンクレコードはそのうちのLINK型のデータそのもののことです。

では、TADデータ構成とは何でしょうか。これが以降で扱うデータとなります。仕様書3.3 TAD データ構成の概要に定義されています。引用すると「TAD データ構成は、セグメントと呼ばれるデータ要素の一次元要素連鎖であり、」「セグメントには、固定バイト長の固定長セグメントと、可変バイト長の可変長セグメントがある。」となっています。つまり、実身がレコードの並びであったのと同様に(TADデータ構成である)レコードはセグメントの並びであるということです。それぞれの細かい定義はそこにある通りです。ただし、一つ注意すると、現在の超漢字はintel 486DX以降のプロセッサ、つまりlittle endianのプロセッサを対象にしています。従って、TADデータ構成は仕様書付録 B 準TAD規格にあるような規格になっています。バイトオーダが異なることに注意して下さい。

セグメントを見たい

さて、プログラムを作る前に、セグメントの実体が把握できるとTADの何たるかが想像しやすいと思います。大よよさんのTAD教育ダンプは極めて便利なソフトウェアです。これを使ってTADの中身を見ることができます。

準TAD規格についての注記

準TAD規格はTAD規格と異なっています。充分注意して下さい。プログラムするうちに慣れると思いますが、最初はかなり混乱すると思います。TAD規格と異なる部分を挙げておきます。その他の点についても仕様書付録 B 準TAD規格を参照して下さい。

固定長セグメント
通常の文字コード1または2バイト・コード文字コードは全部2バイトです。
制御コード (0x000x20) の1バイト・コードこれは1バイトではなく2バイトです。

注記

仕様書付録 A TADセグメント一覧
特殊文字指定付箋 TS_TUB (0xA3)
とありますが、これはTS_TUBではなくTS_TCHARの間違いです。


Tamakoshi Hiroki
Last modified: Thu Nov 28 14:20:47 JST 2002