Рапира (язык программирования)

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

РАПИРА — Расширенный Адаптированный Поплан-Интерпретатор, Редактор, Архив — процедурный язык программирования. Разработан в начале 80-х годов в СССР в качестве средства перехода от более простых языков (в частности, учебного языка Робик) к языкам высокого уровня. Синтаксис построен на основе русской лексики. Язык использовался в школах для изучения информатики. Преподавание на Рапире велось в «Заочной школе программирования» в журнале «Квант» с начала 1980 г.

Как видно из расшифровки названия языка, язык РАПИРА изначально был реализован как набор макрорасширений на базе языка ПОПЛАН — интерпретатора языка POP-2 (англ.)русск. для БЭСМ-6. Некоторые синтаксические конструкции были перенесены из языка Сетл.

Язык Рапира был реализован для БЭСМ-6, а затем для первой советской ПЭВМ «Агат» в начале 80-х годов силами нескольких студентов и выпускников Новосибирского государственного университета под началом Г. А. Звенигородского, при участии школьников, в том числе на Всесоюзных летних школах юных программистов (ВЛШЮП, 1982 г.). По своим возможностям язык не уступал другим известным на то время учебным языкам.

Существовали также реализации языка Рапира для КУВТ УКНЦ и Ямаха КУВТ, а также для ЕС ЭВМ (1982 г., руководитель разработки на алголе-68 — проф. А. Н. Терехов).

Взгляд на язык[править | править исходный текст]

Идентификаторы могут использовать буквы как латиницы так и кириллицы, цифры и символ подчеркивания. Язык является регистро-независимым.

Ключевые (зарезервированные) слова:

возврат   иначе     проц
всё       кнц       фун
до        от        шаг
если      повтор

Пример программы «Здравствуй, мир!»:

Проц Старт()
    Вывод 'Здравствуй, мир!'
Кон Проц

В первоначальной версии языка оператор присваивания обозначался сочетанием символов ->, и порядок операндов в нём был противоположен привычному для большинства языков: слева записывалось вычисляемое выражение, а справа — имя переменной, которой результат вычисления присваивался. Такая форма оператора присваивания была сочтена более логичной, поскольку она лучше соответствует семантике операции: сначала вычисляется выражение, и лишь затем результат записывается в переменную. Однако впоследствии присваивание заменили на «классическое» :=, заимствованное из Алгола и принятое во многих ЯВУ, в том числе и в РАЯ, и вычисляемое справа налево — сначала вычисляется выражение, записанное справа от знака присваивания, а затем оно присваивается переменной, имя которой записано слева от этого знака.

Язык Рапира унаследовал многие особенности языков Поплан и Сетл. Так, например, в языке Рапира используются необъявляемые бестиповые переменные (переменная считается объявленной при первом использовании, тип переменной определяется типом присвоенного выражения, инициализированной переменной можно присваивать значения типов, отличающихся от первоначально присвоенного), поддерживаются высокоуровневые составные типы данных — кортежи и множества (последние являются частным случаем кортежа). Кортеж в Рапире, фактически — гетерогенный динамический массив, для него на уровне языка поддерживаются операции объединения, сравнения, получения размера и извлечения части.

«Школьница»[править | править исходный текст]

Фрагмент программы на РАПИРА на ПЭВМ «Агат»

Язык Рапира являлся частью системы программ «Школьница», разработанных для поддержки учебного процесса на базе ПЭВМ Агат. В систему «Школьница» входили программы: [1]

  • Интерпретатор языка Робик
  • Интерпретатор языка Рапира
  • Редактор текстов программ
  • Графическая система «Шпага»
  • Набор общеупотребимых математических функций
  • Отладчик программ в машинном коде
  • Набор примеров учебных программ по различным школьным дисциплинам

Литература и публикации[править | править исходный текст]

  • Г. А. Звенигородский. Основные операторы учебно-производственного языка Рапира. — Квант, 1980, № 1, с.52-55.
  • Г. А. Звенигородский. Описание и вызов процедур на Рапире. — Квант, 1980, № 2, с.53-55.
  • Г. А. Звенигородский. Функции, графики, локальные имена и тексты на Рапире. — Квант, 1980, № 3, с.48-51.
  • Г. А. Звенигородский. Множества и кортежи на Рапире. — Квант, 1980, № 3, с.51-56.

Ссылки[править | править исходный текст]