UCSD Pascal

UCSD Pascal
UCSD Pascal
UCSD1.png
Экран Редактора в 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

Ссылки

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

См. также


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Полезное


Смотреть что такое "UCSD Pascal" в других словарях:

  • UCSD Pascal — UCSD Pascal/p System Company / developer University of California, San Diego, SofTech, Pecan OS family p code operating systems Working state …   Wikipedia

  • UCSD Pascal — ist eine Implementierung von Pascal, die von der UCSD erstellt wurde und für verschiedene Computer verfügbar war, darunter: für den Apple II: Apple Pascal für den TI 99/4A: Texas Instruments TI 99/4A#P Code Interpreter UCSD Pascal verwendet eine… …   Deutsch Wikipedia

  • UCSD Pascal — El UCSD Pascal fue un sistema de lenguaje de programación Pascal que corría en el UCSD p System, un sistema operativo portable, altamente independiente de la máquina. El Instituto para los Sistemas de Información de la Universidad de California… …   Wikipedia Español

  • UCSD-Pascal — Apple Pascal Operating System Basisdaten Entwickler Apple Computer V …   Deutsch Wikipedia

  • Pascal (programming language) — Pascal Paradigm(s) imperative, structured Appeared in 1970 Designed by Niklaus Wirth Typing discipline static, strong, safe …   Wikipedia

  • PASCAL — Paradigmen: imperativ, strukturiert Erscheinungsjahr: 1972 Entwickler: Niklaus Wirth Dialekte: UCSD Pascal …   Deutsch Wikipedia

  • Pascal (Programmiersprache) — Pascal Paradigmen: imperativ, strukturiert Erscheinungsjahr: 1972 Entwickler: Niklaus Wirth Typisierung: stark, statisch …   Deutsch Wikipedia

  • UCSD p-System — Экран Редактора в UCSD p System (UCSD Pascal), Apple II …   Википедия

  • UCSD P-System — Экран Редактора в UCSD p System (UCSD Pascal), Apple II Экран Редактора в UCSD p System (UCSD Fortran), Apple II Экран Файлера в UCSD p System, Apple II UCSD p System  одна из первых реализаций виртуальной машины (p машины) …   Википедия

  • Pascal (langage) — Pour les articles homonymes, voir Pascal. Pascal Apparu en 1970 (évolution constante) Auteur …   Wikipédia en Français


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»