WikiSort.ru - Программирование

ПОИСК ПО САЙТУ | о проекте
UCSD Pascal

Экран Редактора в UCSD p-System , Apple II
Тип Высокоуровневый язык программирования, язык программирования и операционная система
Разработчик Калифорнийский университет в Сан-Диего, SofTech, Pecan
Языки интерфейса английский
Первый выпуск 1978
Аппаратная платформа Apple II, DEC PDP-11, Zilog Z80, MOS 6502, Motorola 68000, x86, Pascal MicroEngine
Последняя версия Version IV

UCSD Pascal — диалект языка программирования Паскаль.

Во второй половине 1970-х годов в Университете Сан-Диего (Калифорния, США) была разработана система UCSD p-System, которая включала в себя компилятор с языка Паскаль в переносимый p-код (сама идея компиляции в p-код была заимствована из более ранней системы Pascal-P). Первой получившей распространение за пределами университета версией была версия I.3, выпущенная в августе 1977 года[1].

Особенности языка

В UCSD Pascal было впервые для языка Паскаль реализовано несколько важных расширений, таких как модули, являющиеся единицами компиляции, а также строки символов переменной длины. Кроме того, поддерживались распространённые к тому времени расширения стандарта языка Паскаль, такие как директивы трансляции в псевдокомментариях, указание фактического имени файла при его открытии, обработка ошибок ввода-вывода, необязательность перечисления файлов в заголовке программы и т. п. Впоследствии основные коммерческие реализации языка Паскаль основывались на этой модификации Паскаля, прежде всего Object Pascal фирмы Apple и Turbo Pascal фирмы Borland.

Максимальная длина строки символов в UCSD Pascal, как и в более поздних диалектах 1980-х годов, составляла 255 символов, но по умолчанию в UCSD Pascal использовалась длина 80 символов.

Поддерживались нетипизированные файлы и соответствующие процедуры blockread и blockwrite.

Избыточно ресурсоёмкое на тогдашних аппаратных средствах управление памятью в куче при помощи процедур new и dispose в UCSD Pascal было заменено на более эффективное, но менее удобное и провоцирующее ошибки стековое управление динамической памятью (процедура dispose была пустой, текущий указатель стека динамических переменных запоминался при помощи процедуры mark и восстанавливался при помощи процедуры release, освобождая всю память, выделенную после соответствующего вызова mark).

Аналогично строковому типу string [n], поддерживался двоично-десятичный тип данных integer [n] с заданным количеством десятичных цифр.

Интересной особенностью диалекта UCSD Pascal был действовавший по умолчанию запрет на использование оператора goto (если не был указан специальный режим трансляции {$G+}, то оператор goto считался ошибкой).

Модули

В обзорных статьях иногда встречается утверждение, что концепция модулей в UCSD Pascal была взята из проекта языка Ада. Но разработчик UCSD Pascal Кеннет Боулз пишет, что напротив, модули в UCSD Pascal послужили прообразом аналогичного механизма пакетов в Аде[2], начало разработки которой было положено в 1977 году.

Реализации

Широкое распространение в конце 1970-х — начале 1980-х годов получила реализация UCSD Pascal II.1 на компьютере Apple II с процессором 6502, распространявшаяся по лицензии фирмой Apple Computer под торговой маркой Apple Pascal и с собственной нумерацией версий 1.0-1.3 (но среди пользователей более упоминаемая всё же как UCSD Pascal). В этой реализации были доступны дополнительные модули AppleStuff с различными системными вызовами (работа с клавиатурой, звуком и т. д.) и TurtleGraphics с пакетом черепашьей графики. В Болгарии была произведена локализация Apple Pascal для компьютера Правец-82, данный продукт применялся в болгарской образовательной программе, использовавшейся также в СССР в 1980-х годах.

Последняя коммерческая версия компилятора UCSD Pascal распространялась фирмой Cabot Software под названием P-Code Pascal вплоть до 2001 года и имела реализации для платформ Windows, MS DOS, Macintosh, OS/2, RS/6000, Power PC, ARM, SCO UNIX, Interactive UNIX, Linux, DEC VAX, AIX, Hitachi SH. P-Code Pascal включал средства многозадачности и объектно-ориентированного программирования[3].

Примечания

  1. THE UCSD P-SYSTEM MUSEUM
  2. Файл с сайта Кеента Боулза www.kenbowles.net, Some Insights for UCSD Pascal Generation (недоступная ссылка) на сайте retro8bits.com
  3. Cabot's P-Code Pascal

Ссылки

На английском языке

См. также

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии