Обзор языков программирования с русскими служебными словами

There is still time to download: 30 sec.



Thank you for downloading from us :)

If anything:

  • Share this document:
  • Document found in the public.
  • Downloading this document for you is completely free.
  • If your rights are violated, please contact us.
Type of: pdf
Founded: 24.03.2020
Added: 01.05.2020
Size: 1.51 Мб

Языки программирования и компиляторы

25.03.2020



Обзор существующих языкоijh]jZffbjhания с
русскими служебными слоZfb


Ав тор и составитель: Дмитриев С. А.
















2018

Языки программирования и компиляторы

2

Оглавление

Введение ................................ ................................ ................................ ................................ .............................. 4
1 Язык программирования 1С................................ ................................ ................................ ............................ 5
1.1 Объектно -ориентированные диалекты ................................ ................................ ................................ ... 6
2 Автокод БЭСМ -6 ( русский ассемблер ) ................................ ................................ ................................ .......... 6
3 Алгол 68 ................................ ................................ ................................ ................................ .......................... 10
3.1 Стандартизация и разработка ................................ ................................ ................................ ................ 10
4 Алгоритмический язык Ершова ................................ ................................ ................................ .................... 11
4.1 Примеры ................................ ................................ ................................ ................................ .................. 11
4.2 Е-практикум ................................ ................................ ................................ ................................ ............ 12
5 КуМир ................................ ................................ ................................ ................................ ............................. 12
5.1 Недостаточность русскости ................................ ................................ ................................ ................... 13
6 Аналитик ................................ ................................ ................................ ................................ ......................... 14
6.1 Основные свойства языка ................................ ................................ ................................ ...................... 14
6.2 Ал фавит и базовые конструкции языка ................................ ................................ ................................ 14
6.3 Дальнейшее развитие ................................ ................................ ................................ ............................. 16
7 АРМУ ................................ ................................ ................................ ................................ .............................. 16
8 Глагол ................................ ................................ ................................ ................................ .............................. 17
8.1 Основные черты языка ................................ ................................ ................................ ........................... 17
8.2 Прим еры программ на Глаголе ................................ ................................ ................................ .............. 18
8.3 Отличия Глагола от Оберона -2 ................................ ................................ ................................ .............. 19
8.3 Разработки на Глаголе ................................ ................................ ................................ ............................ 21
8.4 Преобразователь Глагола ................................ ................................ ................................ ....................... 21
8.5 Малый ПГ ................................ ................................ ................................ ................................ ................ 22
9 ПРОФТ ................................ ................................ ................................ ................................ ............................ 22
10 Рапира ................................ ................................ ................................ ................................ ........................... 24
11.1 Взгляд на язык ................................ ................................ ................................ ................................ ....... 24
10.2 Предшественники ................................ ................................ ................................ ................................ . 25
10.3 Среда «Конструктор Исполнителей» ................................ ................................ ................................ .. 27
11 Робик ................................ ................................ ................................ ................................ ............................. 27
12 Эль -76 ................................ ................................ ................................ ................................ ........................... 28
13 Языки программирования , использовавшиеся при разработке ПО ОК Буран ................................ ....... 28
14 ЯМБ ................................ ................................ ................................ ................................ ............................... 29

Языки программирования и компиляторы

3

15 ЯРМО (язык программирования ) ................................ ................................ ................................ ............... 30
16 ДРАКОН (язык программирования ) ................................ ................................ ................................ .......... 30
Заключение ................................ ................................ ................................ ................................ ........................ 32
Список использованных источников ................................ ................................ ................................ .............. 33

Языки программирования и компиляторы

4


В в е д е н и е

Множество русских языков программирования (ЯП) поистине велико. В
большинстве из них использованы русские ключевые слова.
Вот далеко не полный перечень русских ЯП:
АДАМ, АДОС, АЛГАМС, АЛИАС, АЛМИР, АЛМО, АЛТРАН, АЛЬФАРД, АМБИТ,
АМТРАН, АНАЛИТИК, АПТ, АСТРА, АТФ, АЭД, БЛИСС, БОЯЗ, БЦПЛ, ГАТ, ГЛАГОЛ,
ГПЛ, ГПС, ГПСС, ГРАФ, ДЖОСС, ДИАЛОГ, ДИАМАГ, ДИАНА, ДИНАМО, ДИС -68,
ЕВКЛИД, ИПЛ, ИПС, КЛУ, КОГЕНТ, КОМИТ, КОМФОРТ, КОРК, ЛДТ, ЛИП, ЛИС, ЛОЛА,
ЛОЛИТА, ЛОТИС, ЛЯПАС, МИЛИТРАН, МИРФАК, МОДА, МЭД, МЭРИ, НЕЛИАК,
ОСКАР, ОСС, ПЛЭНЕР, РАПИРА, РАТФОР, РЕФАЛ, РОБИК, РТРАН, САЙДЕЛ, СЕЙЛ,
СЕТЛ, СИГМА, СИЛ, СИМСКРИПТ, СИРИУС, СЛЭНГ, СПРИНТ, СТРЕСС, СЬЮ, ТМГ,
ТРАК, ТРАНДИР, ТРЕЙТС, УНКОЛ, УТОПИСТ, ФОБРИН, ФОКАЛ, ФРЛ, ФОРМАК, ФСЛ,
ЦДЛ, ЦПС, ЧИЛИ, ШКОЛЬНИК, ЭЗОП, ЭЙЛЕР, ЭПСИЛОН, ЯАП, ЯМБ, ЯОК, ЯРМО,
ЯХОНТ
Расцвет русской вычислительной техники и, как следствие, русских ЯП
пришёлся на 50 -е — 80 -е годы. К сожалению, описать каждый из этих языков
сегодня довольно сложно, документация по многим из них утрачена. Тем не
менее, многие из них стали достаточно известными, о них сохранилось
достаточно све дений, а некоторые используются и сегодня.

Языки программирования и компиляторы

5

1 Язык программироZgby 1 С

1С Язык программирования — язык программирования, который
используется в семействе программ «1С:Предприятие». Данный язык является
интерпретируемым предметно -ориентированным языком в ысокого уровня.
Средой исполнения языка является программная платформа
«1С:Предприятие». Визуальная среда разработки («Конфигуратор») является
неотъемлемой частью пакета программ «1С:Предприятие».
Диалекты языка для платформ 1С 6; 7 версий (7.0, 7.5, 7.7) совместимы
«снизу вверх» с незначительными исключениями; языки дл я платформ 1С:6 и
1С:7х и 1С:8. x несовместимы, хотя и похожи.
Платформой предоставляется фиксированный набор базовых классов, на
основании которых можно создавать любое количество порождённых классов,
наследующих их свойства и методы. Разработчик имеет возможность определять
собственные дополнительные процедуры и функции, а также, с некоторыми
ограничениями, свойства порождённых классов. Как правило, объекты
порождённых классов представляют со бой записи (или некоторые наборы
записей) в базе данных. Допускается только одна явная ступень наследования
классов. Не допускается переопределение процедур, описанных в базовых
классах.
Поддерживаются русский и английский синтаксис команд.
Проекты на встр оенном языке 1С:Предприятия называются конфигурациями.
Распространение (продажа) и внедрение таких конфигураций это основная
коммерческая деятельность фирм -партнеров 1С.
Рабочее название языка — 1Сик (одинэсик) — очень быстро исчезло из
официальных источни ков. Сейчас при упоминании этого языка в письменных
документах нужно писать 1С Язык программирования. Сейчас язык не имеет
никакого названия, которое можно было бы произнести устно. Впрочем часто
этот язык называют «встроенный язык», в контексте обсуждения 1С:Предприятия.

Языки программирования и компиляторы

6

1.1 Объектно -ориентированные диалекты

Существует несколько дополнительных компонент, расширяющих основные
классы, их свободное добавление и изменение; фирмой - разработчиком они не
рекомендованы к использованию. Это означает, что фирма 1С и её франчайзеры
отказываются от какой либо технической поддержки конфигураций
использующих такие компоненты.
Так компонента 1С++ расширяет язык 1С средствами полноценного
объектно -ориентированного программирования. Её использование значительно
расширяет возможности конфигурирования 1С. Это открытый программный
продукт, распространяемый под лицензией GPL.
Более того - существует полностью открытый проект 2C не использующий
каких либо проприетарных модулей фирмы 1С или других производителей. Это
переписанно е «с нуля» свободно распространяемое под лицензией GPL
расширяемое ядро 1С -подобной системы — в котором даже такие «встроенные
объекты» 1C как справочники и регистры — переопределяемые прикладным
программистом классы.
Язык платформы 2С проектировался с цел ью максимальной
преемственности с существующими для 1С наработками, и является
расширением базового языка 1С. Путём написания соответствующих базовых
классов язык 2С может быть приближен как к 1С 7.7, так и к 1С 8.0, хотя
2С:Платформа и не может обеспечить 100% автоматическую переносимость
конфигураций из той или иной версии 1С:Предприятия.

2 Аlhdh^ БЭСМ -6 ( русский ассемблер )

Автокод БЭСМ -6 — мнемоническое представление низкоуровневого кода
машины БЭСМ -6, одной из наиболее известных и удачных массовых
отечественных сверхЭВМ. Описание языка приведено ниже:
Ресурсы центрального процессора, доступные пользователю:
15 15 -разрядных индекс -регистр ов (от М1 до М17)

Языки программирования и компиляторы

7

48 -разрядный сумматор (СМ)
48 -разрядный регистр младших разрядов (РМР)
6-разрядный регистр режимов АУ (РЖ)
15 -разрядный регистр модификации адреса (МОД)
Строение команд:
Все команды были 24 -разрядными и располагались в словах попарно.
Пер еходы допускались только на границы слов.
Всего было два строения:
1-е строение (короткоадресная команда): исполнительный адрес (А исп ) =
([ИР] + адрес + S * 070000 + МОД) mod 0100000
2-е строение (длинноадресная команда): А исп = ([ИР] + адрес + МОД) mod
01 00000
Таблица 1. Коды операций
Код Обозначение Описание
000 ЗП Запись СМ по А исп
001 ЗПМ ЗП, затем магазинное считывание
002 РЕГ Обращение к спец.регистрам (привилегированная
команда)
003 СЧМ Магазинная запись, затем СЧ
004 СЛ Сложение СМ и слова по А исп
005 ВЧ Вычитание слова по А исп из СМ
006 ВЧОБ Вычитание обратное
007 ВЧАБ Вычитание абсолютных величин
010 СЧ Считывание слова по А исп на СМ

Языки программирования и компиляторы

8

011 И Логическое И СМ и слова по А исп
012 НТЖ Исключающее ИЛИ (нетождественность)
013 СЛЦ Циклическое сложение СМ и слова по А исп как целых
014 ЗНАК Изменение знака СМ если слово по А исп < 0
015 ИЛИ Логическое ИЛИ
016 ДЕЛ Деление
017 УМН Умножение
020 СБР Сборка
021 РЗБ Разборка
022 ЧЕД Число единиц в коде на СМ
023 НЕД Номер старшей единицы в коде на СМ
024 СЛП Сложение порядков чисел на СМ и по А исп
025 ВЧП Вычитание порядков
026 СД Сдвиг
027 РЖ Установка регистра режимов
030 СЧРЖ Считывание регистра режимов на СМ
031 СЧМР Передача РМР на СМ
032 УВВ Управление вводом -выводом (привилегированная)
033 ---
034 СЛПА Сложение порядка числа на СМ с адресом
035 ВЧПА Вычитание адреса из порядка числа на СМ
036 СДА Сдвиг по адресу

Языки программирования и компиляторы

9

037 РЖА Установка регистра режимов по адресу
040 УИ Установка индекс -регистра по СМ
041 УИМ УИ, затем магазинное считывание
042 СЧИ Считывание индекс -регистра на СМ
043 СЧИМ Магазинная запись, затем СЧИ
044 УИИ Установка индекс -регистра по индекс -регистру
045 СЛИ Сложение индекс регистров
046 Не используется, но равнозначно 044 и 045
соответственно
047
050:077 Эnn Экстракоды, для обращений к операционной системе
и вычисления математических функций
20
21
22 МОДА Модификация адреса ("МОДА 0" == НОП)
23 МОД Модификация адреса кодом по А исп
24 УИА Установка индекс -регистра по адресу
25 СЛИА Сложение индекс -регистра с адресом
26 ПО Переход по нулю
27 ПЕ Переход по единице (не нулю)
30 ПБ Переход безусловный
31 ПВ Переход с возвратом
32 ВЫПР Возврат из прерывания (привилегированная)

Языки программирования и компиляторы

10

33 СТОП Останов
34 ПИО Переход по нулю индекс -регистра
35 ПИНО Переход по ненулю индекс -регистра
36 Равнозначно 34
37 ЦИКЛ Если индекс -регистр не ноль, увеличить на 1 и
перейти


3 Алгол 68

Алг о́л 68 (англ. Algol 68 от англ. Algo rithmic Language — алгоритмический язык),
разработанный в 1964 — 1968 взамен Алгол -60, призванный заменить его в
качестве универсального языка программирования и описания алгоритмов.
Алгол -68 относится к языкам высокого уровня и позволяет легко переводить
алгебраические формулы в программные команды. Для своего вре мени Алгол -68
был весьма передовой разработкой, включившей в себя многие достижения
теоретической мысли в этой сфере. По всей видимости это был первый язык
программирования, которому было дано полное и исчерпывающее формальное
определение до того, как он б ыл реализован в виде компилятора.
В то же время относительная сложность реализации языка и ряд других
обстоятельств не позволили ему занять серьёзную рыночную долю.

3.1 Стандартизация и разработка

Язык был разработан международной группой действовавшей в составе =F=P.
(В свою очередь =F=P действовала под эгидой ЮНЕСКО). 20 декабря 1986 рабочей
группой был одобрен Финальный Отчёт по языку (код документа - MR 101),
который, который был принят Генеральной Ассамблеей =F=P для публикации в
качестве стандарта. Документ разрабатывался на английском языке,

Языки программирования и компиляторы

11

одновременно были опубликованы переводы на русский, немецкий,
французский и болгарский языки. Позднее были сделаны переводы на японский
язык и брайль -версия английского текста.
В СССР Алгол -68 был стандартизиров ан в качестве ГОСТ 27974 -88 - Язык
программирования АЛГОЛ 68 и ГОСТ 27975 -88 Язык программирования АЛГОЛ 68
расширенный.


4 Алгоритмический язык ЕршоZ

Алгоритм и́ческий язык (он же, в ряде публикаций - Алгоритмический язык
Академика Ершова , а также Русс кий Алгоритмический Язык (РАЯ) ) — язык
программирования, используемый для записи и изучения алгоритмов. При
изучении информатики в школах для изучения основ алгоритмизации
применяется так называемый школьный алгоритмический язык (учебный
алгоритмический яз ык), использующий понятные школьнику слова на русском
языке. В отличие от большинства языков программирования, алгоритмический
язык не привязан к архитектуре ЭВМ, не содержит деталей, связанных с
устройством машины.
Алголоподобный алгоритмический язык был введён в употребление
академиком А. П. Ершовым в середине 1980 -х годов, в качестве основы для
«безмашинного» курса информатики. Язык использовался для записи алгоритмов
в учебнике А. Г. Кушниренко «Основы информатики и вычислительной техники»
для 9 –10 клас сов (издание 1990 года было выпущено тиражом в 7 млн.
экземпляров).

4.1 Примеры

Алгоритм на алгоритмическом языке в общем виде записывается в форме:
алг назZgb_Ze]hjblfZ Zj]mf_glubj_amevlZlu)
дано услоbyijbf_gbfhklbZe]hjblfZ

Языки программирования и компиляторы

12

надо цель uiheg_gbyZe]hjblfZ
нач описание промежуточных _ebqbg
| последоZl_evghklvdhfZg^ l_ehZe]hjblfZ)
кон

Пример вычисления суммы квадратов:
алг Сумма кZ^jZlh ( арг цел n, рез цел S)
дано | n > 0
надо | S = 1*1 + 2*2 + 3*3 + … + n*n
нач цел i
| од n; S:=0
| нц для i от 1 до n
| | S := S + i * i
| кц
| uод "S = ", S
кон
4.2 Е-практикум

Для подкрепления теоретического изучения программирования по
алгоритмическому языку, специалистами мехмата МГУ был создан редактор -
компилятор «Е -практ икум» («Е» — в честь Ершова), позволяющий вводить,
редактировать и исполнять программы на алгоритмическом языке.
Более поздние варианты «Е -практикум» носили название «КуМир ».

5 КуМир (учебный язык программироZgby )

КуМ и́р (Комплект учебных Мир ов или Мир ы Ку шниренка) —
кроссплатформенная система программирования, написанная на языке C++ и
предназначенная для поддержки начальных курсов информатики и

Языки программирования и компиляторы

13

программирования в средней и высшей школе. Основана на методике,
разработанной во второй половине 1980 -х годов НИИСИ РАН под руководством
академика А.П. Ершова. Эта методика широко использовалась в средних школах
СССР и России. В системе КуМир используется придуманный А.П. Ершовым
школьный Алгоритмический язык , описанный выше — простой алголоподобный
язык с русской лексикой и встроенными командами управления программными
исполнителями (Робот, Чертёжник).
В 1995 году «КуМир» был рекомендован Министерством об разования РФ в
качестве основного учебного материала по курсу «Основы информатики и
вычислительной техники» на основе учебника А.Г. Кушниренко, Г. В. Лебедева и
Р. А. Свореня.
Система «КуМир» разрабатывается и сейчас, в 2008 году была выпущена
новая реализ ация системы под различные платформы. Предназначается для
использования в общеобразовательных учреждениях, прежде всего, в школах.
Также параллельно с КуМир идет разработка системы МикроМир для
младших школьников.

5.1 Недостаточность русскости

К сожалению, проводимое под руководством А.Г.Кушниренка развитие
языка Алгоритмического языка Ершова сказывается положительно не во всех
аспектах. В частности, стоит проблема неполной русскости, в некоторых случаях
используются западные стандарты и английски е служебные слова.
Это подтверждается и самим разработчиком. Из ответа А.Г.Кушниренка на
письмо, которое ему направил учитель информатики Панас Зелепупенко из
Крыжополя:
«Использование точки вместо запятой в десятичной
записи числа было сознательным решени ем, с дальним
прицелом: мы считали, что когда дети, изучавшие
информатику с использованием КуМира. вырастут, они
примут закон, который разрешит использовать точку

Языки программирования и компиляторы

14

вместо запятой в бухгалтерских документах и Россия
перейдет на новый, интернациональный стиль записи чисел.
Пусть формулы будут у нас набираться на одном
регистре, а раз sin и cos набираем латиницей, то и все
прочее, что встречается в формулах, давайте записывать
латиницей. (Иначе возникнут формулы типа
макс(син(x),cos(x)) которые непривычно выгля дят и
неудобно набираются)».

6 Аналитик (язык программироZgby )

Аналитик — язык программирования, разработанный в 1968 г. в Институте
кибернетики Академии наук УССР под руководством академика В.М. Глушкова.
Является развитием языка АЛМИР -65, сохранив с н им совместимость.
Первая версия языка была реализована на машинах МИР -2. Позднее была
разработана версия Аналитик -74, реализованная на машинах МИР -3.

6.1 Основные свойства языка

Основной отличительной чертой языка являются абстрактные типы данных,
вычисл ения в произвольных алгебрах, аналитические преобразования.

6.2 Алфавит и базовые конструкции языка

В АНАЛИТИК принят объединенный алфавит из русских и латинских
прописных букв: А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц
Ч Ш Щ Ы Ь Э Ю Я D G F I J L N Q R S U V W Z
Такой подход позволял использовать на устройствах подготовки и ввода
данных 45 -клавишную клавиатуру.

Языки программирования и компиляторы

15

Десятичные цифры: 1 2 3 4 5 6 7 8 9 0
Константы π и e.
Арифметические операции в порядке старшинства:
Действие Знак
возведение в степень ↑
умножение, деление ×, /
сложение, вычитание +, -
Логические условия: =, ≠, >, ≥, <, ≤.
В сложных логических выражениях могут применяться знаки логических
операций: "НЕ", "И", "ИЛИ"
Знак Действие
" " выделение служебных слов
, разделение элементов списка (имен, чисел, аргументов ф -ций,
параметров процедур, индексов массивов)
; отделение друг от друга операторов или описаний
. десятичная точка в числе или конец метки
10 разделитель мантиссы и порядка (один символ)
( ) скобки арифметических и лог ических выражений, выделение
аргументов ф -ций или объединение операторов
[ ] Индексные скобки
' ' Выделение выводимого текста

Языки программирования и компиляторы

16

В алфавите языка присутствуют также общепринятые математические
символы: ∞ √ ∑ ∏ ∫ d ∂
В тексте программ может применяться восклицательный знак (!).
Ниже приведен список основных служебных слов АНАЛИТИКа. Служебные
слова можно сокращать, при условии однозначности прочтения. Служебные
слова не резервированы, так как выделяются кавычками.
"ВВод" "ВЗЯть" "ВЫВод" "ВЫПолнить"
"ВЫЧислить" "ГДе" "ГРафик" "ДИфференцировать"
"ДЛя" "ДО" "Если" "ЗАГоловок"
"ЗНачения" "ИНАче" "ИНТегрировать" "КОНец"
"МАССив" "МАСШтаб" "НА" "ПРИВести"
"ПРИМенить" "ПРОБел" "ПРОЦедура" "ПУСТь"
"РАЗрядность" "СТОп" "СТРока" "ТАБлица"
"ТО" "Формат" "Шаг"

6.3 Дальнейшее развитие

Имеются сведения, что на данный момент этот язык существует в виде
системы компьютерной алгебры «АНАЛИТИК -2010», которая разрабатывается
совместно Институтом проблем математических машин и систем НАН Украины и
Полтавским национальным техническим университетом имени Юрия
Кондратюка.

7 АРМУ

Языки программирования и компиляторы

17

АРМУ (Автокод ряда машин « Урал») — мнемоническое представление
низкоуровневого кода серии ЭВМ Урал. Являлся единым автокодом ряда ЭВМ
типа «Урал». Он был составлен с учётом особенностей этих машин и обеспечивал
полную совместимость от меньшей машины к большей. Каждая ЭВМ «Урал»
имела собственный транслятор с языка АРМУ на свой машинный язык. Таким
образом, совместимость ЭВМ типа «Урал» была ограниченной и существовала
только на уровне ав токода АРМУ.

8 Глагол

Глагол — язык программирования, разработанный в 2003, родственный
языкам Паскаль и Оберон. Основное отличие Глагола от Паскаля и Оберона
состоит в использовании русских служебных слов.
В комплект поставки, называемый разработками на Глаголе , кроме
компилятора ( преобразователя Глагола ) входит набор математических и
системных библиотек, код среды выполнения, выполняющей уборку памяти,
небольшие игры и другие примеры приложений в исходных текстах.

8.1 Основные черты языка


Консольные шашки на Глаголе (из примеров приложений)
Все данные в Глаголе имеют определённый тип, в рамках Глагола
называемый видом .
Основные виды, используемые в Глаголе:
знаковый (ЗНАК)

Языки программирования и компиляторы

18

числовые (вещественные — ШИРВЕЩ, ВЕЩ и целые — ШИРЦЕЛ, ЦЕЛ,
УЗКЦЕЛ)
логические (КЛЮЧ)
множества (МНОЖ)
составные виды (РЯД и НАБОР).
Также в Глаголе предусмотрены вид ДОСТУП — для обеспечения доступа к
переменным и вид ЗАДАЧА — для обеспечения доступа к вызову задач.
Данные могут быть постоянными и переменными.
Простейшие преобразования данных выполняются так называемыми
действиями . Действия можно объединять в выражения . В выражениях всегда
должно соблюдаться соответствие видов. Более сложный порядок для
преобразования данных задаётся указаниями . Последовательнос ти указаний и
данные можно объединять в задачи и отделы .
Обычно приложение строится из нескольких отделов . Каждый отдел
существует в двух представлениях: текстовом (с которым работает человек) и
машинном (которое получается из соответствующего текстового п редставления с
помощью преобразователя Глагола).
Таким понятиям языка, как вид, постоянная, переменная, задача и отдел
ставятся в соответствие некоторые названия . Область действия этих названий
ограничивается с помощью участков, которые могут быть вложенны ми. В роли
таких участков выступают отделы, задачи и наборы.
Синтаксис Глагола даёт возможность писать программы, используя русские
служебные слова. Это облегчает изучение и применение языка для русских
людей, а также делает его весьма пригодным для обучен ия программированию.

8.2 Примеры программ на Глаголе

Вывод на экран слова «Привет»:
ОТДЕЛ Привет+;

Языки программирования и компиляторы

19

ИСПОЛЬЗУЕТ Вывод ИЗ "... \Отделы \Обмен \";
УКАЗ
Вывод.Цепь("Привет!")
КОН Привет.

8.3 Отличия Глагола от Оберона -2

Нет в Глаголе:
 связанных с типом процедур
 встроенных процедур : ASH, CAP, SIZE, EXCL, INCL, LONG
 процедур модуля SYSTEM: BIT, CC, LSH, ROT, GETREG, PUTREG, NEW
 псевдонимов в IMPORT ( ИСПОЛЬЗОВАТЬ ) объявлениях
 второго параметра у встроенной процедуры ASSERT ( ПРОВЕРИТЬ )
Изменено в Глаголе:
 Изменены размеры некоторых типов данных .
 Процедуры : LEN ( РАЗМЕР ), SYSTEM.GET ( ОБХОД .ИзПамяти ),
SYSTEM.PUT ( ОБХОД .ВПамять ), SYSTEM.ADR ( ОБХОД .Адрес ),
SYSTEM.MOVE ( ОБХОД .Образ ) определены для типа INTEGER ( ЦЕЛ ), а
не для типа LONGINT ( ШИРЦЕЛ ).
 Для переменных меткой экспорта являются знаки '-' и '+', а не '-' и '*'.
 Для констант , типов и процедур меткой экспорта является знак '-', а не
'*'.
 У процедуры HALT ( СТОП ) параметром может быть не только целая
константа , но и целая переменная .
 При объявлении формальных параметров параметры -переменные
выделяются при помощи оконечных знаков '+' или '-'. Знак '-' отмечает
параметры , доступные только для чтения .
 По -другому записывается оператор WITH ( ДЛЯ ).
 Для определения чётности -нечётности выражения целого типа вместо
про цедуры ODD ( нечётность ) используется процедура ЧЕТ (чётность ).

Языки программирования и компиляторы

20

 Формальные параметры -значения процедур не могут быть массивами и
записями .
Добавлено в Глагол:
 Условная компиляция исходных текстов . Операторы условной
компиляции задаются в <* *> скобках . В ка честве условий эти
операторы могут использовать любые постоянные выражения .
 Возможность указывать путь к используемым модулям .
 Внутри строки символов последовательность #nnnn, где nnnn -
четырёхзначное шестнадцатеричное число , обозначает знак с кодом
nnnn.
 Процедура ДЛИНА (x), которая для 'x' типа ARRAY OF CHAR ( РЯД ИЗ
ЗНАК ) возвращает или позицию первого 0X знака , или LEN(x), если
такого знака в массиве не существует .
 Процедура ДЛИНА (x), которая для строки 'x' возвращает её длину .
 Запуск приложения осуществ ляется передачей управления модулю , у
которого название после слова MODULE ( ОТДЕЛ ), отмечено "+".
Модули , названия которых отмечены "-", не содержат операторов . Они
служат только для объявления понятий из модулей других языков
программирования .
 Процедура NEW ( СОЗДАТЬ ) может не только размещать строку ARRAY
OF CHAR ( РЯД ИЗ ЗНАК ), но и присваивать ей начальное значение .
 Объявление ARRAY n OF CHAR ( РЯД n ИЗ ЗНАК ) можно записывать как
ЦЕПЬ [n].
 Встроенная функция ЗАДАНО (ц) возвращает TRUE ( ВКЛ ) для строки
"ц", если в настройках преобразователя задан ключ -кц .
 Встроенный тип БЕГУНОК и соответствующие процедуры
ПОСТАВИТЬ и СМЕСТИТЬ служат для быстрого последовательного
обращения к элементам массивов .
 Процедура ОБНУЛИТЬ (x), которая заполняет нулями все переменные ,
входящие в состав 'x'. 'x' может быть типа ARRAY или типа RECORD.

Языки программирования и компиляторы

21

8.3 Разработки на Глаголе

«Разработки на Глаголе» распространяются свободно. Среду разработки
приложений на Глаголе можно изменять по своему усмотрению. Однако
исходные коды преобразователя Глагола (написанного на Глаголе) не
распространяются, чтобы исключить возможность появления диалектов языка.
Первый выпуск Глагола был произведён 19 мая 2003 года; в настоящий
момент язык малораспространён, и обновлений на официальном сайте не было с
2008 года. Участие в проекте, в развитии языка полностью добровольно.

8.4 Преобразователь Глаго ла

Преобразователь Глагола (ПГ) — компилятор языка программирования
Глагол. Представляет из себя консольный исполнимый файл. Преобразователь
Глагола переводит исходные тексты приложений в машинный код формата COFF,
далее при помощи редактора связей создаё тся исполняемое приложение.
В полученном коде переменные простых видов имеют следующий размер (в
битах):
КЛЮЧ — 8
ЗНАК — 16
ЯЧЦЕЛ — 8
УЗКЦЕЛ — 16
ЦЕЛ — 32
ШИРЦЕЛ — 64
ВЕЩ — 32
ШИРВЕЩ — 64
МНОЖ — 32
Дополнительно преобразователь Глагола можно н астроить для создания
кода, содержащего данные для внешнего отладчика, самопроверку работы

Языки программирования и компиляторы

22

приложений, отработки встроенной задачи ПРОВЕРИТЬ, установку в ПУСТО
переменных доступа при каждом вызове задач, в которых определены эти
переменные. Самопроверка сл едит за тем, чтобы не было выхода за границы
ряда, переполнения при арифметических действиях, выхода за границы
допустимых значений простых видов, доступа по значению ПУСТО, деления на
ноль.
Преобразователь Глагола, реализованный на данный момент только по д
платформу Windows, способен обрабатывать тексты в Уникоде.

8.5 Малый ПГ

14 сентября 2006 был произведён новый выпуск разработок на Глаголе.
Одним из нововведений был малый преобразователь Глагола (МПГ), исходные
тексты которого были добавлены в архив с разработками. Он преобразует код
сокращённого Глагола в код ассемблера ARMASM, что позволяет создавать
программы под ОС PocketPC. Сокращённый Глагол представляет из себя версию
данного языка, упрощённую с целью повысить быстродействие программ и
уменьшить нагрузку на процессор.

9 ПРОФТ

Реализации: «Система программирования ПРОФТ 5»
ПРОФТ — интерпретируемый императивный язык программирования,
родственный языкам Паскаль и Бейсик. Основное отличие ПРОФТ 5 от Паскаля и
Бейсика состоит в использовании русских служебных слов. Является
интерпретатором.
ПРОФТ — язык программирования, разработанный в 2000 году в качестве
опыта по созданию языка программирования основанного на русском языке.
Особенностями языка являются использование русского синтаксиса, как
средст ва повышения производительности программирования.

Языки программирования и компиляторы

23

Каждая структурная единица программы, называемая предложением,
заканчивается точкой. Соответственно, десятичная часть числа отделяется
запятой.
Кроме структурного (процедурного) подхода, в ПРОФТе широко исп ользуется
возможность выполнения произвольного кода в контексте программы с
помощью действия ВыполнитьТекст . Это позволяет широко использовать
хранилище кода, избегая таким образом избыточного кодирования.
Имеет также среду программирования похожую на Vis ual Basic, полностью
написанную на самом ПРОФТ 5.
Разрабатывается ООО «ПОБЕДИТ». Есть бесплатная и коммерческая версии
(см. на рисунке 10.1).

Рисунок 10.1 Среда программирования ПРОФТ 5

Языки программирования и компиляторы

24


10 Рапира

РАПИРА — Расширенный Адаптированный Поплан -Интерпретато р, Редактор,
Архив — процедурный язык программирования. Создан под влиянием ПОПЛАН и
Сетл. Разработан в конце 70 -х годов в СССР в качестве средства перехода от более
простых языков (в частности, учебного языка Робик ) к языкам высокого уровня.
Синтаксис пос троен на основе русской лексики. Язык использовался в школах для
изучения информатики.
Язык Рапира был реализован для первого советского персонального
компьютера (ПЭВМ) «Агат» в конце 70 -х годов силами нескольких выпускников
Новосибирского государственного университета под началом Г. А.
Звенигородского. По своим возможностям язык не уступал другим известным на
то время учебным языкам. Однако спустя несколько лет в стране появились
импортные машины, более мощные и совершенные чем «Агат». В результате
постепе нно было прекращено использование и «Агата» и, вместе с ним, Рапиры.
Существовала также реализация языка Рапира для компьютера УКНЦ.

11.1 Взгляд на язык

Идентификаторы могут использовать буквы как латиницы так и кириллицы,
цифры и символ подчеркивания. Язык является регистро -независимым.
Ключевые (зарезервированные) слова (Табл. 11.1)
Таблица 11.1 Служебные слова языка Рапира.
haрат иначе Проц
kz кц Фун
до от Шаг
если поlhj

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

Языки программирования и компиляторы

25

Проц Старт()
Выh^
A^jZстmcfbj'
Кон Проц

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

10.2 Предшественники

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

Языки программирования и компиляторы

26

Некоторые синтаксические конструкции были перенесены из языка Сетл.

Языки программирования и компиляторы

27

10.3 Среда «Конструктор Исполнителей»

В Детском Центре Компьютерных Технологий ведётся разработка
Конструктора Исполнителей - среды для начального изучения Объектно -
Ориентированного программирования (ООП) на языке Рапира. В К онструкторе
используется синтаксис классической Рапиры с изменениями по сравнению с
первоначальным вариантом А. П. Ершова, которые диктуются введением
элементов ООП.
Интересным решением в среде является наглядное редактирование
алгоритмов (см. Рисунок 11.1 ).

Рисунок 10.1 Редактор алгоритмов в среде «Конструктор исполнителей»

11 Робик (язык программироZgby )

Ро́бик — язык программирования, созданный в СССР для обучения основам
программирования школьников младших классов (8 –11 лет). Язык был
разработан в 1975 году, а затем доработан для включения в систему
программного обеспечения «Школьница» для компьютера «Агат».

Языки программирования и компиляторы

28

В языке используется синтаксис, построенный на русской лексике.
Интересной особенностью языка является использование понятия
исполнителя — неко торого объекта, функционирующего в определённой среде ,
своей для каждого исполнителя. Предоставлена возможность создавать и удалять
экземпляры исполнителей различного типа. Каждый тип исполнителя имеет свой
набор команд, который расширяет набор команд язык а.
Язык программирования Робик является одним из двух входных языков
учебной системы программирования, входящей в состав интегрированной
программной среды «Школьница».

12 Эль -76

Эль -76 — машинно -ориентированный язык программирования ЭВМ Эльбрус.
Использ ует русские служебные слова. Разработан в середине 70 -х годов в СССР.
Эль -76 предназначен для многомашинных вычислительных комплексов типа
«Эльбрус». Объединяет в себе особенности машинного языка, непосредственно
управляющего работой устройств ЭВМ, и изобр азительные средства языка
высокого уровня (во многом аналогично Алголу -68). Эль -76 поддерживает
методику структурного программирования, т.е. составление программы из
процедур, линейных последовательностей операторов, циклов, альтернативных
сочленений с выб ором альтернативы по условию или по номеру альтернативы и
параллельно выполняемых ветвей. Язык имеет средства описания поведения
программы в особых случаях — т.н. ситуации и структурные переходы. Основной
особенностью Эль -76 является возможность хранения в памяти ЭВМ информации
о типе переменной величины вместе с её значением и её изменения в ходе
выполнения программы.

13 Языки программироZgby , использоZ\rb_ky при
разработке ПО ОК Буран

Языки программирования и компиляторы

29

Разработка программного обеспечения для бортовых вычислителей,
назе мных и испытательных систем в ходе создания орбитального корабля
«Буран» стала, по всей видимости, самым грандиозным проектом такого рода в
истории человечества, результаты которого не превзойдены до сих пор.
В ходе работ над программным обеспечением было создано множество
программных средств и языков программирования, использовавшихся в
различных областях разработки.
Для разработки бортового программного обеспечения был создан проблемно -
ориентированный язык реального времени ПРОЛ2 и базирующаяся на нем
сис тема автоматизации программирования и отладки САПО ПРОЛОГ. Так же на
Прологе для обеспечения работы управляющих алгоритмов была создана
операционная система «Пролог -диспетчер», управлявшая работой БЦВМ.
Для разработки программного обеспечения наземных исп ытаний корабля был
создан проблемно -ориентированный язык ДИПОЛЬ и базирующаяся на нём
система автоматизации программирования и отладки. Для обеспечения работы
алгоритмов испытаний была создана Автоматизированная испытательная
система, которая и в настоящее время используется для испытаний космических
объектов.
Кроме того, был разработан специальный язык моделирования ЛАКС . Активно
применялся ассемблер . Также есть сведения о применении в разработке
бортового ПО языка ПСИ -Фортран , для создания которого примен ялся также
разработанный советскими учёными язык Рефал.

14 ЯМБ

ЯМБ ( Язык машин бухгалтерских) — специализированный язык,
разработанный для советских электронных бухгалтерских машин (ЭБМ).
Программное обеспечение всех советских электронных бухгалтерских м ашин
базируется на языке ЯМБ. Этот язык разработан специально для решения задач
оперативной обработки данных и документов.
Применялся в ЭБМ Искра -554, Искра -555 и электронном бухгалтерском
терминале Нева -501.

Языки программирования и компиляторы

30

Добавлено - применялся также на ПЭВМ Искра -1030 (i8086).

15 ЯРМО

ЯРМО (аббревиатура: Язык Реализации, Машинно -Ориентированный на ЭВМ
БЭСМ -6) — машинно -ориентированный язык программирования, построенный
для ЭВМ БЭСМ -6 и отражающий все тогдашние веяния в информатике. Язык
программирования ЯРМО разработ ан в 1973 году в Новосибирском филиале
ИТМиВТ. Впоследствии было разработано несколько версий языка. На нём в 1977
году была создана операционная система «Феликс» для СВС — первая в стране
ОС на языке высокого уровня.

16 ДРАКОН

Дружелюбный Русский Алгоритмический язык, Который Обеспечивает
Наглядность (сокр. ДРАКОН ) — наглядный алгоритмический язык
программирования и моделирования. Был разработан в 1996 году в рамках
космической программы «Буран». Создан под влиянием: ПРОЛ2, ДИПОЛЬ, ЛАКС,
SDL, R -язы к.
Основной задачей разработчиков было создание единого универсального
языка программирования и моделирования, который своей доступностью и
мощностью способен заменить специализированные языки: ПРОЛ2 (для
разработки бортовых комплексных программ Бурана), Д ИПОЛЬ (для создания
наземных программ Бурана) и ЛАКС (для моделирования).
Императивная (процедурная) часть языка ДРАКОН опирается на новый метод
— двумерное (графическое) структурное программирование. Правила
двумерного структурного программирования сущест венно отличаются от
классического одномерного (текстового) структурного программирования.
Блок -схемы алгоритма на языке ДРАКОН назвали дракон -схемами (Рисунок
17.1).

Языки программирования и компиляторы

31

.

Рисунок 17.1 Пример дракон -схемы

Реализации: ГРАФИТ -ФЛОКС (1996 год), «ИС Дракон» (20 08 год), ДРАКОН -
редактор (2011 год).

Языки программирования и компиляторы

32


Заключение

До начала работы я не мог подумать, что столько языков программирования
с русскими зарезервированными словами существовало еще в Советские годы и
мы могли конкурировать со странами, которые очень много людских и денежных
ресурсов тратили и тратят на компьютерную индустрию. Оказалось их десятки.
Конечно сейчас количеством никого не удивишь. Сейчас в мире более тысячи
языков программирования на все случаи жизни. Но подавляющее большинство
имеет ключевые сл ова на английском языке (латинице). Именно они изучаются в
ВУЗ -ах. И после нескольких лет изучения и разработки на латинице студенты не
видят хотят переходить на языки, которые придумали советские -российские
специалисты. Думаю, это связано с грудой перелоп аченной литературы на
английском: мануалы, туториалы, хелпы и т.д. В итоге работники ай -ти забывают
русский и начинают общаться с коллегами «по цеху», используя переделанные
английские слова. И впоследствии стремятся уехать за границу. Например, в
«Кремние вую долину» (США). Причем как за деньгами и прогрессом, так и за
языком.
К сожалени ю, из языков программирования с русски м алфавитом
Российскому молодому специалисту в области информационных технологий
известен практически только встроенный язык программ ирования 1С.

Языки программирования и компиляторы

33


Список использоZgguo источников

1. Свободная русская энциклопедия «Традиция» (traditio.wiki ). Категория
статей : «Языки программирования с русскими ключевыми словами »
2. Энциклопедия языков программирования: progopedia.ru
3. Глушков В.М ., Амосов Н.М ., Артеменко И.А. Энциклопедия кибернетики . Том
1. Киев , 19 74 г.
4. А. Г. Кушниренко «Основы информатики и вычислительной техники» ,
учебник для 9–10 классов , 1990.
5. Статья «Алгоритмический язык в школьном курсе основ информатики и
вычислител ьной техники» в архиве академика Ершова
6. Архив академика А.П.Ершова : ershov.iis.nsk.su
7. Официальный сайт системы программирования КуМир: www.niisi.ru/kumir/ .
8. Л. А. Осипов «Язык АНАЛИТИК и его сравнение с языками АЛГОЛ и
ФОРТРАН». — Москва «Наука» 1982.
9. Электронная цифровая вычислительная машина “Урал -11” (ЭЦВМ “Урал -
11”): www.computer -museum.ru/histussr/ural1 1.htm
10. Официальный сайт языка программирования Глагол «Разработки на
Глаголе»: глаголим .рф
11. Неофициальный сайт «Разработки на Глаголе» — раздел о языке
программирования Г лагол на личном сайте Александра Тимофеева.
12. «Программирование по -русски» — сайт о программировании на Глаголе.
13. Неофициальный форум — раздел на форуме «Русские в ычислители»,
посвящённый Глаголу.
14. Описание Рапиры для «Конструктора исполнителей» — несколько
изменённый (по сравнению с первоначальным вариантом А. П. Ершова)
синтак сис, добавлены средства ООП

Языки программирования и компиляторы

34

15. В. М . Пентковский «Язык программирования Эль -76: принципы построения
языка и руководство к пользованию» , М .: «Наука» , 1989.
16. М . Б. Ярошевская , Ю . И. Беручка , А. Я. Кейлин «ЭБМ «Искра -555 »:
Эксплуатация и программирование» .
17. Описание языка ЯРМО (машинно -независимое ядро и макросредства)