Interested Article - UCSD Pascal

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

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

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

В 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 послужили прообразом аналогичного механизма пакетов в Аде , начало разработки которой было положено в 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 распространялась фирмой под названием P-Code Pascal вплоть до 2001 года и имела реализации для платформ Windows, MS DOS, Macintosh, OS/2 , RS/6000 , Power PC, ARM, SCO UNIX , , Linux, DEC VAX , AIX , . P-Code Pascal включал средства многозадачности и объектно-ориентированного программирования .

Примечания

  1. . Дата обращения: 5 октября 2009. 17 февраля 2015 года.
  2. Файл с сайта Кеента Боулза www.kenbowles.net, от 24 февраля 2021 на Wayback Machine на сайте retro8bits.com
  3. . Дата обращения: 10 октября 2009. 5 декабря 2008 года.

Ссылки

  • , Мир ПК, № 04/2001
  • Аладжем М. А., Аладжем П. А. Паскал за персонални компютри. — София: Державно издателство «Техника», 1986. 240 с. (болг.) (описание реализации языка UCSD Pascal для компьютера Правец-82 , аналог Apple II .
На английском языке
  • , файлы, включая компилятор
  • , USCD Alumni
  • от 3 октября 2009 на Wayback Machine , Jacobs School Engineering, oct.2004,
  • , retro8bits.com
  • , Yahoo! groups
  • , Answer to the question Gosling

См. также

Источник —

Same as UCSD Pascal