Плюс (язык программирования)
Парадигма | императивный , структурированный |
---|---|
Разработчик | Алан Баллард и Пол Уэйли в UBC |
Впервые появился | 1976 |
Дисциплина набора текста | статический , сильный , безопасный |
ТЫ | Мичиганская терминальная система (MTS), OS/VS1 |
Основные реализации | |
IBM System/370 , DEC PDP-11 и Motorola 68000 | |
Под влиянием | |
Сью, Паскаль |
Plus — это язык реализации системы, подобный Паскалю, разработанный Университетом Британской Колумбии (UBC), Канада, на основе SUE. [1] системный язык, разработанный в Университете Торонто , c. 1971. [2] [а]
Описание
[ редактировать ]Plus был разработан в вычислительном центре Университета Британской Колумбии (UBC) Аланом Баллардом и Полом Уэйли для использования и разработки Michigan Terminal System (MTS), но код, генерируемый компилятором, не зависит от операционной системы, поэтому не ограничивается использованием или разработкой МТС.
Компилятор UBC Plus написан в основном на Plus, работает под управлением Michigan Terminal System (MTS) на IBM S/370 или совместимом оборудовании или под IBM OS/VS1 . [4] и генерирует код для архитектур IBM S/370 , DEC PDP-11 или Motorola 68000 .
Plus в значительной степени основан на системном языке SUE. [1] разработан в Университете Торонто, c. 1971, который, в свою очередь, был заимствован, особенно в плане структур данных, из Паскаля . [ нужна ссылка ]
На первый взгляд Plus сильно отличается от SUE или Pascal; однако базовая семантика языка действительно очень похожа. Пользователи, знакомые с языком программирования C, также узнают большую часть его структуры и семантики в PLUS.
Цели для компилятора и языка Plus включают в себя: [5]
- Разрешать и поощрять разумные структуры программ
- Предоставлять проблемно-ориентированные структуры данных
- Разрешайте и поощряйте читаемый и понятный исходный код.
- Разрешить параметризацию с использованием символьных констант.
- Активно помогать в обнаружении и изоляции ошибок, если это возможно, во время компиляции и, при необходимости, во время выполнения.
- Генерируйте эффективный код
- Предоставление средств, необходимых для системного программирования.
- Обеспечить достаточно эффективную компиляцию, включая раздельную компиляцию различных частей программы.
- При необходимости создайте информацию о символах (SYM), позволяющую отлаживать программы с использованием системы символьной отладки, такой как SDS в MTS.
Компилятор генерирует обширные списки источников, включая перекрестные ссылки. Кроме того, он автоматически форматирует исходный код по строгим правилам и имеет простой язык разметки для комментариев.
Руководство UBC PLUS: Язык программирования Plus , [5] доступен. описание исходных и объектных библиотек, доступных для использования с Plus, PLUS Source Library Definitions . Также доступно [6]
Пример «Привет, мир»
[ редактировать ]Пример программы « 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;
См. также
[ редактировать ]Список заметок
[ редактировать ]Ссылки
[ редактировать ]- ^ Jump up to: а б Системный язык для проекта SUE , Б.Л. Кларк и Дж.Дж. Хорнинг из Исследовательской группы компьютерных систем и факультета компьютерных наук Университета Торонто, Материалы симпозиума SIGPLAN по языкам для реализации системы, 1971, страницы 79-88
- ^ «Язык программирования Plus Systems» , Алан Баллард и Пол Уэйли, Труды Конгресса Канадского общества обработки информации (CIPS), 84, июнь 1984 г.
- ^ Язык программирования PLUS , Фрэнк В. Стодола, Сперри Univac, Розвилл, Миннесота, Уведомления ACM SIGPLAN , том 15, выпуск 1 (январь 1980 г.), стр. 146-155
- ^ Использование эмуляции системных вызовов MTS Питера Людеманна.
- ^ Jump up to: а б Язык программирования PLUS , Аллан Баллард и Пол Уэйли, стр. 2–5, исправлено в 1987 г., Вычислительный центр, Университет Британской Колумбии.
- ^ Определения исходной библиотеки PLUS , Алан Баллард, 1983, Вычислительный центр Университета Британской Колумбии, 139 стр.