Конструирование типов
Типы языков программирования конструируются из примитивных типов, таких как boolean , char , integer , real и void , с помощью конструкторов типов. К примитивным типам естественно отнести и тип, который не используется при программировании, но весьма полезен для сигнализации о возникшей ошибке в типах; это тип - invalid . Для построения более сложных типов из примитивных обычно используются следующие конструкторы:
- Массивы. Если T - тип, то array (I, T) - тип, обозначающий тип массива с элементами типа T и индексным множеством I . Например, описание языка Pascal:
var A: array [1..10] of integer;
связывает выражение над типами array (1..10, T) с A .
- Произведение. Если T1 и T2 - типы, то их декартово произведение T1 * T2 также является типом.
- Структуры. Конструктор struct применяется к кортежу пар ( имя поля, тип поля). Например, фрагмент программы на языке Pascal:
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))).
- Указатели. Если T - тип, то и pointer (T) - тип, определяющий " указатель на объект типа T". Например, описание языка Pascal:
var p: ^row;
определяет переменную p , имеющую тип pointer (row) .
- Функции. Если T1, T2 - типы, то proc (T1, T2) - тип, определяющий процедуру, типы формальных параметров которой есть T1, а тип результата - T2. Например, функция mod , вычисляющая остаток, имеет тип proc (int *int, int) , а функция, определенная как
function f (a, b: char) : ^integer;
имеет тип proc (char char, pointer (integer)) .
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий