Совместимость типов

Совместимость типов необходима, чтобы:

  • операции могли быть выполнены,
  • при исполнении не возникали бы ошибки.

Идентичность

Этот уровень соответствия типов должен соблюдаться между формальными и фактическими параметрами процедур и функций. Типы Т1 и Т2 идентичны, если:

  • имеют один и тот же идентификатор типа,
  • один объявлен эквивалентным другому.

Пример

Type

T1=boolean;

T2=T1;

Совместимость типов для сравнений

Этот уровень соответствия типов должен соблюдаться в выражениях и операциях сравнения. Типы Т1 и Т2 совместимы, если:

  • Т1 и Т2 идентичны,
  • Т1 и Т2 вещественные типы,
  • Т1 и Т2 целые типы,
  • один тип представляет собой тип-диапазон другого,
  • оба типа являются типами-диапазонами какого-то одного типа,
  • оба являются типами-множествами с совместимыми базовыми типами,
  • один тип строка, другой символ,
  • один стандартный ссылочный тип Pointer, другой любой ссылочный тип,
  • T1 и T2 – процедурные типы с одинаковым количеством попарно эквивалентных параметров и с эквивалентными типами результатов (для функций).

Совместимость типов для присваивания

Надо, чтобы при присваивании значение сохранялось. Присваивание объекта типа Т2 объекту типа Т1 возможно, если:

  • Т1 и Т2 идентичны и не файловые типы,
  • Т1 и Т2 совместимы и значение Т2 допустимо для Т1,
  • Т1 вещественный, а Т2 целый тип,
  • T1 строковый а, T2 – символьный тип,
  • T1 и T2 совместимые множественные типы и все значения  T2 укладываются в T1,
  • T1 и T2 совместимые ссылочные типы,
  • T1 и T2 совместимые процедурные типы.
Twitter SEO Community Ваау! News2.ru Chipp Korica SMI2 Google Bookmarks Digg I.ua Закладки Yandex Linkstore Myscoop Communizm Ru-marks Webmarks Ruspace Linkomatic Kli.kz Web-zakladka Zakladok.net Reddit delicious Ma.gnolia Technorati Slashdot Yahoo My Web БобрДобр.ru Memori.ru rucity.com МоёМесто.ru Mister Wong

Copyright © 2009-2010 Программирование на паскале.