Плюс (язык программирования) - Plus (programming language)

Плюс
Парадигмаимператив, структурированный
РазработчикАлан Баллард и Пол Уэйли в UBC
Впервые появился1976
Печатная дисциплинастатический, сильный, безопасный
Операционные системыТерминальная система Мичигана (МТС), OS / VS1
Основной реализации
IBM System / 370, DEC PDP-11, и Motorola 68000
Под влиянием
ГУП, Паскаль

Плюс является "Паскалоподобным" языком реализации системы из Университет Британской Колумбии (UBC), Канада, на базе ГУП[1] системный язык, разработанный в Университет Торонто, c. 1971 г.[2]

Существует еще один язык программирования PLUS, разработанный в Sperry Univac в Розвилле, штат Миннесота,[3] но Univac PLUS не является предметом данной статьи.

Описание

Plus был разработан в Университет Британской Колумбии (UBC) Вычислительный центр Алана Балларда и Пола Уэйли для использования с и для разработки Терминальная система Мичигана (MTS), но код, сгенерированный компилятором, не зависит от операционной системы и поэтому не ограничивается использованием или разработкой MTS.

Компилятор UBC Plus написан в основном на Plus, работает под управлением Терминальная система Мичигана (МТС) на IBM S / 370 или совместимое оборудование или под IBM OS / VS1[4], и генерирует код для IBM S / 370, то DEC PDP-11, или Motorola 68000 архитектуры.

Plus в значительной степени основан на системном языке SUE[1] разработан в Университете Торонто, c. 1971. Язык SUE был получен, в частности, в его средствах структуры данных из Паскаль.[5]

Plus внешне сильно отличается от SUE или Pascal; однако семантика основного языка действительно очень похожа. Пользователи, знакомые с Язык программирования C также распознает большую часть своей структуры и семантики в PLUS.

Цели компилятора и языка Plus включают:[6]

  1. Разрешать и поощрять разумные структуры программ
  2. Обеспечьте проблемно-ориентированные структуры данных
  3. Разрешить и поощрять читаемый и понятный исходный код
  4. Возможность параметризации с использованием символьных констант
  5. Активно помогать в обнаружении и изоляции ошибок, если возможно, во время компиляции и, при необходимости, во время выполнения
  6. Сгенерируйте эффективный код
  7. Предоставлять средства, необходимые для системного программирования
  8. Обеспечивает достаточно эффективную компиляцию, включая раздельную компиляцию разных частей программы
  9. Необязательно создавать символьную информацию (SYM), позволяющую отлаживать программы с использованием системы символьной отладки, такой как SDS под MTS

Компилятор создает обширные списки источников, включая перекрестные ссылки. Кроме того, он автоматически форматирует источник, используя строгие правила, и имеет простой язык разметки для комментариев.

Руководство, UBC PLUS: язык программирования Plus,[6] доступен. Описание исходных и объектных библиотек, доступных для использования с Plus, Определения исходной библиотеки PLUS, также имеется.[7]

Пример "Привет, мир"

"Привет, мир "пример программы выводит строку" Hello, world! "на терминал или экран.

% Title: = "Hello world";% Include (Pluslist);% Subtitle: = "Definitions";% Lower_Case: = True; / * Определения, которые нужны каждому * /% Include (Boolean, Numeric_Types, More_Numeric_Types, String_Types, More_String_Types) ; / * Изящное подмножество определений процедур * /% Include (Main); / * Определения подпрограмм сообщений * /% Include (Message_Initialize, Message, Message_Terminate);% Subtitle: = "Локальные определения процедур";% Eject (); определение Основная переменная Mcb - указатель на Stream_Type; Mcb: = Message_Initialize (); Сообщение (Mcb, «Привет, мир!»); Сообщение_Terminate (Mcb); Mcb: = Null; конец Main;

Смотрите также

Рекомендации

  1. ^ а б Системный язык для проекта ГУП, Б. Л. Кларк и Дж. Дж. Хорнинг из исследовательской группы компьютерных систем и факультета компьютерных наук, Университет Торонто, Труды симпозиума SIGPLAN по языкам для реализации системы, 1971, стр. 79-88
  2. ^ "Язык программирования Plus Systems", Алан Баллард и Пол Уэйли, Материалы Конгресса 84 канадского общества обработки информации (CIPS), июнь 1984 г.
  3. ^ Язык программирования PLUS, Фрэнк В. Стодола, Сперри Юнивак, Розвилл, Миннесота, Уведомления ACM SIGPLAN, Том 15, выпуск 1 (январь 1980 г.), стр. 146-155
  4. ^ Использование эмуляции системных вызовов MTS Питером Людеманном.
  5. ^ МТС Том 2: Описание общедоступных файлов, Вычислительный центр Мичиганского университета, Анн-Арбор, Мичиган, 1990, стр. 355-356.
  6. ^ а б Язык программирования PLUS, Аллан Баллард и Пол Уэйли, стр. 2-5, пересмотр 1987 г., Вычислительный центр, Университет Британской Колумбии.
  7. ^ Определения исходной библиотеки PLUS, Алан Баллард, 1983, Вычислительный центр Университета Британской Колумбии, 139 стр.