LYaPAS
   HOME

TheInfoList



OR:

Logical Language for the Representation of Synthesis Algorithms (LYaPAS, Russian: ЛЯПАС) is a
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
created by Arkady Zakrevsky in the
Soviet Union The Soviet Union,. officially the Union of Soviet Socialist Republics. (USSR),. was a transcontinental country that spanned much of Eurasia from 1922 to 1991. A flagship communist state, it was nominally a federal union of fifteen national ...
. LYaPAS was initially designed especially for non-numeric programming for the Soviet designed and built line of
mainframe computer A mainframe computer, informally called a mainframe or big iron, is a computer used primarily by large organizations for critical applications like bulk data processing for tasks such as censuses, industry and consumer statistics, enterpris ...
s named Ural-1. LYaPAS uses
octal The octal numeral system, or oct for short, is the radix, base-8 number system, and uses the Numerical digit, digits 0 to 7. This is to say that 10octal represents eight and 100octal represents sixty-four. However, English, like most languages, ...
numbers. A further refinement of LYaPAS is LYaPAS-M.


History

The development started in the end of 1962,А. Д. Закревский, Н. Р. Торопов. Система программирования ЛЯПАС-М. Мн.: Наука и техника, 1978, 220 с. while Zakrevsky was working at the Siberian Physical-Technical Institute (part of
Tomsk State University The National Research Tomsk State University, TSU (russian: Национа́льный иссле́довательский То́мский госуда́рственный университе́т) is a public research university located in Tom ...
). The first translators were implemented in 1963. The first widely available book about the language was published in Russian (''Логический язык для представления алгоритмов синтеза релейных устройств'', 1966), which was soon translated and published in English (''LYaPAS: a programming language for logic and coding algorithms'', 1969). The book contained a collection of articles with full LYaPAS descriptions, some algorithms in the language and descriptions of programming environments for the Ural-1 and M-20 computers which operated at a speed of 100 and 20,000 operations per second, respectively. In 1974, LYaPAS-M, a new version of the language, appeared. Among other changes, this version was adapted for the character set common among the Soviet computers of the time, namely the first 100 characters of the
GOST 10859 GOST 10859 (1964) is a standard of the Soviet Union which defined how to encode data on punched cards. This standard allowed a variable word size, depending on the type of data being encoded, but only uppercase characters. These include the non-AS ...
7-bit encoding. Zakrevsky later worked on LYaPAS at the ''Laboratory of System Programming and Logical Synthesis'', of the ''Academy of Sciences of the Byelorussian SSR'', since renamed the ''
National Academy of Sciences of Belarus The National Academy of Sciences of Belarus (NASB) ( be, Нацыянальная акадэмія навук Беларусі, russian: Национальная академия наук Беларуси, НАН Беларуси, НАНБ) is ...
''.


Versions

* LYaPAS-70 for Minsk-22 machine * LYaPAS-71 for BESM-6 and M-220 machines * LYaPAS-M


Example

Example program in LYaPAS-M for calculating GCD of variables N and M: П1 N ↑–2 M;N=R N=M R=N ↑=1 П2 M=D ** Explanation: * Program is executed from left to right. * П1 and П2 are line labels. * Operation N puts the value of the integer variable into the implicit "current value" variable τ, which holds the result of the last operation. * Conditional
branch A branch, sometimes called a ramus in botany, is a woody structural member connected to the central trunk (botany), trunk of a tree (or sometimes a shrub). Large branches are known as boughs and small branches are known as twigs. The term '' ...
operation ↑–2 moves the execution to line 2 if the current value is zero. * Expression M;N calculates remainder. * Expression =R assigns current value to variable R. * ↑=1 is an unconditional branch to line 1. * ** is the end marker. All whitespaces are ignored, so the above program is equivalent to the one-liner: П1N↑–2M;N=RN=MR=N↑=1П2M=D**


Bibliography

* LYaPAS: a programming language for logic and coding algorithms. Edited by M. A. Gavrilov and A. D. Zakrevskii. Translated by Morton Nadler. New York, Academic Press, 1969. 475 p.


References

Array programming languages Programming languages created in 1964 Soviet inventions {{compu-lang-stub