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

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

Plus - это «похожий на Паскаль» язык реализации системы из Университета Британской Колумбии (UBC), Канада, основанный на системном языке SUE, разработанном в Университете Торонто , c. 1971 г.

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

Описание

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

Компилятор UBC Plus написан в основном на языке Plus, работает под управлением Michigan Terminal System (MTS) на IBM S / 370 или совместимом оборудовании или под IBM OS / VS1 и генерирует код для IBM S / 370 , DEC PDP-11 , или архитектуры Motorola 68000 .

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

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

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

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

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

Доступно руководство UBC PLUS: The Plus Programming Language . Также доступно описание исходных библиотек и библиотек объектов, доступных для использования с Plus, PLUS Source Library Definitions .

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

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

%Title := "Hello world";
%Include(Pluslist);
%Subtitle := "Definitions";
%Lower_Case := True;

/* Definitions that everyone needs */
%Include(Boolean, Numeric_Types, More_Numeric_Types, String_Types,
   More_String_Types);

/* A tasteful subset of procedure definitions */
%Include(Main);

/* Message routine definitions */
%Include(Message_Initialize, Message, Message_Terminate);

%Subtitle := "Local Procedure Definitions";
%Eject();
definition Main

  variable Mcb is pointer to Stream_Type;

  Mcb := Message_Initialize();
  Message(Mcb, "Hello, world!");
  Message_Terminate(Mcb);
  Mcb := Null;
 
end Main;

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

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