単純型 = 順序型 | 実数型
順序型 = 書き下し型 | 順序型名
書き下しがた = 列挙型 | 部分範囲型
順序型名 = 型名
実数型名 = 型名
列挙型 = ”(” 名称並び ”)”
名称並び = 名称{”,”名称}
普通、いくつかの定まった状態を表す場合、それぞれに整数値を割り当てて行うのが、
普通の方法だが、例えば次のように
sun=0;mon=1;tue=2;wed=3;thu=4;fri=5;sat=6;
のように割り当てて、処理していくと、どの数字が何曜日だったかなど混乱してきて、
どうしようもなくなってしまう。これを改善するためにPascalには列挙型という構成
法がある。先ほどの例で行うと、次のようにすればよい。
(sun,mon,tue,wed,thu,fri,sat)
また、列挙型にできるのは、値の種類が有限であり、それぞれの値に名前がつけられるときだけである。
先ほどの例
(sun,mon,tue,wed,thu,fri,sat)
の大小関係は、名称を並べたときの順番で決まる。つまり、左の方にあるほど、小さくなっている。
sun<mon<tue<wed<thu<fri<sat
となる。
部分範囲型 = 定数”..”定数
部分範囲型というのは、順序型に値の範囲を加えた型のことである。部分範囲型は、部分範囲の最小値
と最大値を指定するもので、最初の『定数』は最小値を示し、次の『定数』は最大値を示す。左の『定数』は
右の『定数』よりも小さいかまたは等しくなければいけない。
また、『定数』は両方とも、同じ順序型でなければいけない。
例)mon..fri
1..50
例)先ほどの例の部分範囲型を作ると、
TYPE week=(sun,mon,tue,wed,thu,fri,sat);
work=mon..fri
weekという順序型にworkという部分範囲型の型定義の例です。