Ляпас (мова програмування) — Вікіпедія

Ляпас
Парадигма Масивове програмуванняd, функційне програмування, структурне програмування і модульне програмування
Дата появи 1964
Система типізації динамічна типізація[d]

ЛЯПА́С — мова програмування, орієнтована на описування логічних задач. Розроблена на початку 1960-х років у Томському державному університеті під керівництвом А. Д. Закревського.[1]

Назва походить від російського виразу «Логический Язык Программирования Алгоритмов Синтеза дискретных автоматов»[2]. В англомовних виданнях, присвячених цій мові[3], її назва не перекладалась, використовувалась транскрипція (LYaPAS). В україномовному виданні Енциклопедія кібернетики 1973 року назва цієї мови також подається як «Ляпа́с», без перекладу.

Історія[ред. | ред. код]

Робота над проектом почалась у 1962 році. В березні 1964 транслятор ЛЯПАС було вперше продемонстровано у Томську під час «Всесоюзного колоквіуму щодо мов скінчених автоматів». Того ж року у Києві вийшла перша наукова публікація, присвячена цій мові.[2][4] На цей час мови програмування АЛГОЛ або Fortran не набули особливого поширення в СРСР. Крім того, вони були орієнтовані на обчислення і не дуже підходили для опису логічних задач.[2]

Транслятор мови ЛЯПАС було розроблено одночасно для двох моделей ЕОМ[2]: «Урал-1» та М-20. Варіант для машини М-20 займав у пам'яті 1600 слів і міг синтезувати 250 машинних команд на секунду — вдвічі швидше, ніж тогочасний транслятор ALGOL.

В 1969 році збірник статей, присвячених мові ЛЯПАС було видано англійською мовою.

Згодом було розроблено оновлені версії транслятора ЛЯПАС-70 для машин М-20, БЭСМ-3М, БЭСМ-4, СМ-4, «Мінськ-2» та «Мінськ-22». ЛЯПАС-71 працював на машинах М-220 та БЭСМ-6.

В кінці 1974 року з'явилась значно змінена версія мови, названа ЛЯПАС-М. Транслятор було розроблено для машин серії ЄС ЕОМ, завдяки цьому пізніше його вдалось портувати на персональні комп'ютери. Також було створено середовище розробки ЛЕС (рос. ЛЯПАС-М для ЕС ЭВМ). На відміну від старіших версій, ЛЯПАС-М використовував символи кодування ГОСТ 10859. Також до мови було додано числа з рухомою комою.[1]

З широким поширенням мов типу C++ або Prolog та персональних комп'ютерів мова ЛЯПАС втратила популярність і зараз майже не використовується.

Приклад[ред. | ред. код]

Алгоритм Евкліда мовою ЛЯПАС-М:[1]

П1 N ↑–2 M;N=R N=M R=N ↑=1 П2 M=D ** 

Пояснення:

  • П1 та П2 це мітки.
  • Вираз N копіює значення змінної N у приховану змінну «поточного значення» τ (тау), що тримає результат останньої операції.
  • Операція ↑–2 є умовним переходом до мітки 2, за умови що поточне значення нульове.
  • Вираз M;N обчислює залишок від ділення.
  • Вираз =R призначає поточне значення змінній R.
  • Операція ↑=1 є безумовним переходом до мітки 1.
  • ** позначає кінець програми.

Усі пробіли і переходи на новий рядок є неважливими, тож вищенаведену програму можна скоротити до одного рядка:

П1N↑–2M;N=RN=MR=N↑=1П2M=D** 

Примітки[ред. | ред. код]

  1. а б в А. Д. Закревский, Н. Р. Торопов. Система программирования ЛЯПАС-М. Мн.: Наука и техника, 1978, 220 с.
  2. а б в г Торопов Николай Романович ЯЗЫК ПРОГРАММИРОВАНИЯ ЛЯПАС // ПДМ . 2009. № 2. URL: http://cyberleninka.ru/article/n/yazyk-programmirovaniya-lyapas [Архівовано 4 березня 2016 у Wayback Machine.] (дата обращения: 19.04.2014).
  3. LYaPAS: a programming language for logic and coding algorithms, Gavrilov, M.A. Zakrevskiĭ, A.D., Academic Press 1969, http://books.google.com.ua/books?id=x68EAQAAIAAJ [Архівовано 19 квітня 2014 у Wayback Machine.]
  4. Закревский А. Д. ЛЯПАС — логический язык представления алгоритмов синтеза // Теория автоматов. Киев: ИК АН УССР, 1964. С. 3–29.