Типы языков программирования конструируются из примитивных типов, таких как boolean , char , integer , real и void , с помощью конструкторов типов. К примитивным типам естественно отнести и тип, который не используется при программировании, но весьма полезен для сигнализации о возникшей ошибке в типах; это тип - invalid . Для построения более сложных типов из примитивных обычно используются следующие конструкторы:
var A: array [1..10] of integer;
связывает выражение над типами array (1..10, T) с A .
type row = record address: integer; lexeme: array [1..15] of char end; var table: array [1..13] of row;
Тип row строится из примитивных типов следующим образом:
struct ((address*integer) (lexeme*array (1..15, char))).
var p: ^row;
определяет переменную p , имеющую тип pointer (row) .
function f (a, b: char) : ^integer;
имеет тип proc (char char, pointer (integer)) .