Ляпас | |
---|---|
Парадигма | масивове програмування, функційне програмування, структурне програмування і модульне програмування ![]() |
Дата появи | 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**