LYaPAS

LYaPAS
Paradygmaty funkcjonalne , strukturalne , modułowe
Zaprojektowany przez Arkady D.Zakrevskij
Po raz pierwszy pojawiły się 1964 ; 59 lat temu ( 1964 )
Dyscyplina pisania Dynamiczny
Platforma Komputer mainframe Ural -1

Logiczny język reprezentacji algorytmów syntezy ( LYaPAS , rosyjski : ЛЯПАС ) to język programowania stworzony przez Arkadego Zakrevsky'ego w Związku Radzieckim .

LYaPAS został początkowo zaprojektowany specjalnie do programowania nienumerycznego dla zaprojektowanej i zbudowanej przez Sowietów linii komputerów typu mainframe o nazwie Ural -1. LYaPAS używa ósemkowych .

Kolejnym udoskonaleniem LYaPAS jest LYaPAS-M.

Historia

Rozwój rozpoczął się pod koniec 1962 roku, kiedy Zakrevsky pracował w Syberyjskim Instytucie Fizyczno-Technicznym (część Tomskiego Uniwersytetu Państwowego ). Pierwsze tłumacze zostały wdrożone w 1963 roku.

Pierwsza szeroko dostępna książka o języku została opublikowana w języku rosyjskim ( Логический язык для представления алгоритмов синтеза релейных устройств , 1966), która wkrótce została przetłumaczona i opublikowana w języku angielskim ( LYaPAS: język programowania dla logiki i algorytmy kodowania , 1969). Książka zawierała zbiór artykułów z pełnymi opisami LYaPAS, niektórymi algorytmami w języku oraz opisami środowisk programistycznych dla komputerów Ural-1 i M-20 , które pracowały z prędkością odpowiednio 100 i 20 000 operacji na sekundę.

W 1974 roku pojawiła się nowa wersja języka LYaPAS-M. Między innymi ta wersja została dostosowana do zestawu znaków powszechnego w ówczesnych radzieckich komputerach, a mianowicie pierwszych 100 znaków 7-bitowego kodowania GOST 10859 .

Zakrevsky pracował później nad LYaPAS w Laboratorium Programowania Systemów i Syntezy Logicznej Akademii Nauk Białoruskiej SRR , przemianowanej od tego czasu na Narodową Akademię Nauk Białorusi .

Wersje

Przykład

Przykładowy program w LYaPAS-M do obliczania NWD zmiennych N i M:

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

Wyjaśnienie:

  • Program jest wykonywany od lewej do prawej.
  • П1 i П2 to etykiety liniowe.
  • Operacja N umieszcza wartość zmiennej całkowitej w domniemanej zmiennej „wartości bieżącej” τ, która przechowuje wynik ostatniej operacji.
  • Warunkowa operacja rozgałęzienia ↑–2 przenosi wykonanie do wiersza 2, jeśli bieżąca wartość wynosi zero.
  • Wyrażenie M;N oblicza resztę.
  • Wyrażenie =R przypisuje bieżącą wartość zmiennej R.
  • ↑=1 jest bezwarunkową gałęzią do linii 1.
  • ** jest znacznikiem końca.

Wszystkie spacje są ignorowane, więc powyższy program jest odpowiednikiem jednowierszowego:

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

Bibliografia

  • LYaPAS: język programowania dla algorytmów logiki i kodowania. Pod redakcją MA Gavrilov i AD Zakrevskii. Przetłumaczone przez Mortona Nadlera. Nowy Jork, Academic Press, 1969. 475 s.