Developments of the member of the correspondent of Academy of Sciences of the USSR Alexey Andreevich Lyapunov became a peculiar base for address language. This outstanding mathematician created the operator programming method which was widely adopted in practice and exerted strong impact on all subsequent development of theoretical programming.
Ekaterina Logvinovna Yushchenko and Vladimir Semenovich Korolyuk
E. L. Yushchenko and V. S. Korolyuk realized in address language two general principles work — addressing and program control. Authors brought into the development means of a manipulation addresses of the second rank, and also created convenient system of concepts to describe a computer architecture and an instruction set. In other words — at the heart of address language the principle the relation of the address and contents allowing to describe in common form operations on TsVM was underlain.
In address language as objects of a certain system of the codes S having among themselves certain ratios elements of an original informatin, results of solutions of tasks and constructive objects for creation of programs are considered. By means of ratios it is possible to build expressions by normal rules. The codes received after execution of the operations specified in them will also be values of these expressions. But at the same time the set of elements of an original informatin (subset codes) can be set in an explicit form through set members of the addresses SI (AI ⊂ S).
Operations of address language
Address display is an operation of selection of contents of the address (stroke operation) which sets display of a set And in a set of contents of these addresses B (B ⊂ S). A stroke operation it is unambiguous — to each address there can correspond only one contents, operation is designated by the character (stroke). For example and = b, where a ∈ And, and b ∈ Century. Address language does not limit the choice of a set And, it can be defined structurally at each specific implementation. If to consider the simplest case when address language is oriented to a certain machine, then in quality And it is possible to take a set of bytes or addresses of random access memory and program registers. In other situation at orientation to a machine class in quality And consolidation of some subset of fields of memory is accepted. In similar cases intersection And yes In usually not empty. It allows to apply repeatedly a stroke operation and to lift thereby an address rank. Start up b b, a with - address b contents,' b = will be contents of the address and, 'and = with; and will be the code address address with where and — the address of the second rank of a code about (deferred address) 2a = '(' a) = 'b = with. Also also the address of the highest ranks k a =' is defined (k — 1 a). The address and is called the address of a zero rank of a code and, concerning the contents.
Minus-stroke-operation — the return a stroke operation "-1" in (-1b = a). This operation is not unambiguous and to one contents of b there can correspond the set of the addresses Ab that for each a ∈ Ab will be' a = b.
To define and change address display, it is necessary to enter algorithm, the operation of sending on the address designated by the character ⇒. And then record of operation b ⇒ a will mean the following:
1) the element and joins in a set of A;
2) the element b joins in a set of B;
3) compliance '= is established by a b;
4) there are invariable all earlier set compliances of a type' x = y where x an is not equal.
Operation b ⇒ and assumes that and and b — some functions. In that case function value of b becomes contents of the address which is result of value a calculation (' a = b). In addition to a stroke operations when designing functions are used also arithmetic (+, - x, :), logical (∧, ∨, etc.), functional (sin, √ etc.), the relations (= <>, etc.) and others. All these functions are called address. The address formula of conversion (or a sending formula) is expressed to b ⇒ by a where an and b — address functions.
In address language process of information transform is presented in the form of the address program. It is set by initial address allocation in S and sequence of address formulas, specifying an order of their application. The last formula is set through iteration statements, the addressing programs, the conditional, unconditional and calculated transitions, etc.
In address language there are different steps depending on representation in the program of objects from which it is designed, by means of contents of addresses. The first step contains the elements of an original informatin and a tag set by means of addresses. At the second step of the address can be contents of addresses. At the third step characters one - and two-place operations can also be contents of addresses.
In Address language record of the program includes two parts: initial address display and dynamic part. As a rule, initial address display is set by ratios' a = with. In similar ratios can be such where with will not be an element of an original informatin therefore them it is possible to write in the form of simple sending formulas with ⇒ a. Set of similar equalities will be static part of the address program. Dynamic part of the program — the list of address bars. In address language free change of volumes and information movement of static and dynamic parts is allowed (from dynamic in static and vice versa). When the solution of a certain task is made, information relating to it is quite visible. The program surveys a code if its address of some rank is in the address program. To expand possibilities of a survey of codes of the program, addresses of the highest ranks are applied. Thus when programming there is creation of schemes of a survey of information. The scheme of a survey of sequence of a code x 1, h2 is a cycling address program on which i-m from cycles the i-m a sequence unit is surveyed. For streamlining of elements in sets schemes at which creation enter following operations are also necessary. Namely elements of an original informatin are arranged using addresses in which they contain on some rank. For a following relation task on a set of addresses resort to arithmetic operations for machine addresses.
Yushchenko E. L. textbook. Address programming
Address language became a basis for development of the whole family of programming languages which differ on a set of operators, on symbolics, on levels of algorithmization of the operations of following entered into them in a set of addresses, degree of the objects necessary for designing of the program by means of contents of addresses. Therefore address language has levels, styles and steps.
Degree of orderliness of addresses and algorithmization of the operations of following entered into them determines the level of address language. Levels happen: all-algorithmic, level of conditional addresses and level of specific addresses
All-algorithmic. On it the set of addresses, most natural to a programmable task, is accepted. In certain cases (if that is demanded by a task) enter following operations which are described by the general mathematical means (indexes, etc.)
Level of conditional addresses. In this case there is an ordering of addresses only proceeding from requirements of a task. There is a streamlining of separate arrays of addresses which are processed by algorithm. All other questions connected with the actual distribution of memory — are not solved. As a rule arrays are provided by arithmetic sequences of addresses. The sequences determined by different starting addresses not crossed. Respectively and operations of following are described algorithmically. Operation of following on indexes for the array elements located in the lines since the address a0 + 1, has an appearance a0 + (i — 1) n + j where n — a matrix order.
Level of specific addresses. Assumes algorithm execution by the specific machine, resolving issues of determination of true operations of following. In this case the set of addresses is completely arranged (except for program registers).
Address language allows to pass from level to level, beginning from the most abstract algorithmic language and finishing with complete address allocation for this machine. Style of language is defined by the choice of the alphabet, a set of elementary operations and admissible formulas. There are languages of publications, machine styles, records of algorithms (differ from machine in coding), input languages of specific translators.
Distinguish language of publications, input languages of specific translators, machine styles, record of algorithms in which differs from machine record only in coding.
In address language it is possible to describe any schemes of a survey of information, economic and difficult datalogical algorithms, processes of search and viewing of information which is organized in chain lists. In this plan it has a benefit before the algorithmic languages created by the abroad for list processing of character expressions. One more plus of address language is the possibility of the description of algorithms what not to make by means of ALGOL language (such processes are described only with attraction of additional resources).
Important feature of address language is natural interpretation as the TsVM internal languages. The researcher can make specific computer-oriented languages using the device of address algorithms as convenient system of concepts for the description of algorithms and element structures of TsVM. The same can be done for the description of translators and interpreters of programming languages.
Address programming very much helped with development of structure and an instruction set of such Soviet computers as: "Dnieper", "Kiev", M20, "Ural", "Minsk". As for hardware implementation of the mechanism of displacement deferred addressing in "Kiev", it is one of the first examples of influence of theoretical programming on design of architecture and element base of computers. Besides, as it was already told, means of address language were a part of the subsequent programming languages oriented to the description of algorithms of broadcasting.
Computer Kiev (1958)
It is possible to tell with confidence that creation of address language became one of the first significant achievements of school of sciences of theoretical programming. And, not only in the USSR. Address language outstripped emergence of assemblers and programming languages with the device displacement deferred addressing. On this language textbooks in the different countries are published (Germany, France, Hungary, Austria, Slovakia).
By tradition, there is a little advertizing in the cellar where it will prevent nobody. Our company started New Year's sale of servers and VPS within which it is possible to receive from 1 to 3 months of lease free of charge. You can get acquainted with event details here.
This article is a translation of the original post at habrahabr.ru/post/274019/
If you have any questions regarding the material covered in the article above, please, contact the original author of the post.
If you have any complaints about this article or you want this article to be deleted, please, drop an email here: firstname.lastname@example.org.
We believe that the knowledge, which is available at the most popular Russian IT blog habrahabr.ru, should be accessed by everyone, even though it is poorly translated.
Shared knowledge makes the world better.