Algorithmic language for Bendix G-15Algorithmic language for Bendix G-15. THe first commercial implementation of the IAL Hardware:
Related languages
Samples: References: Algo follows the principles laid down for the universal algebraic computer language, Algol, proposed for international use by computer organizations in America and abroad. The Bendix Corporation is happy to cooperate with the Association for Computing Machinery and with the other members of the Algol committee in being the first manufacturer to introduce a programming system patterned on their proposal. Extract: Introduction to Algol INTRODUCTION The Algo language closely parallels Algebra and may be learned in a few hours. The similarity may be seen by examining a few relationships. For example, to add quantity X to quantity y, the relationship in Algo language is: X + y; similarly, to subtract: X - Y to divide: X / Y to find the sine of X: sin X to find the logarithm of X: log X Thus, without a special knowledge of programming for electronic computers, anyone with a background of high school Algebra may express a problem in the Algo language for the G-15 computer. There are two steps to obtaining a complete solution for the problem written in Algo language. First, the problem is entered into the computer and is automatically transformed by the Algo routine into a program called the "object" program, expressed in the computer's internal language. Secoudly, the computer solves the problem by executing the object program. EXAMPLE OF ALGO LANGUAGE PROGRAM Problem Find: ui = exi t xi+ sin xi where, Xi+l = Xi + .01 Print X, and ui in floating-point notation. The programmer specifies at the time of execution the initial value of X and the limit of the subscript i. Algo Language Program 001. TITLE Find U [il 002. LlBRAry SIN (0101000) 003. SUBSCript i 004. BEGIN 005. X = KEYBD 006. FOR i = 0 (1) KEYBD BEGIN 007. u=EXPX + x T 5 -t- SINX 008. PRINT (FL) =X 009. PRINT (FL) = U 010. CARR (2) 011. X = X + .0l END 012. END The lines of the Algo language program may be broken into two groups, declarations and statements. The declarations are announcements to Algo regarding the contents of the program. The statements describe actions taken by Algo either while compiling the object program or during the execution of the object program. In the example, the lines numbered from 001 thru 003 are declarations, the others are statements. The components of a statement may be: identifiers which are names for the various quantities; numbers which represent quantities whose numeric values are fixed; and operators which indicate the relationship between two quantities. In the sample program, Line 007 has two identifiers, u and X; four operators, exp, +, T, and sin; and one number, 5. ALGO ALGEBRAIC STATEMENTS As shown, the programmer writes X L y to express the addition of X to y. He then replaces or assigns the relationship X + y to another quantity z. Table 1 lists the operators for the most common arithmetic operations, the definitions and an example of each. ![]() Table 1 PARENTHESES As some algebraic statements may be incorrectly interpreted, the programmer should use PARENTHESES ( ) whenever ambiguity may result in the statement of a problem. Algo is an algebraic compiling system for the Bendix G-15 computer. The Algo language and programming are discussed in a separate manual, Bendix publication T21-1 which should be read before this manual. Extract: ALGO COMPONENTS ALGO COMPONENTS The basic Algo system consists of six components, contained in six paper tape magazines. The first three components, designated as Magazines NO. 1. No. 2, and No. 3, interpret a problem written in the Algo language and develop an object program coded in a language which the computer understands. A fourth component, designated Magazine No. 4, operates on the object program and produces a solution to the problem. When Algo completes the interpretation of the Algo language program, the object program is on the drum of the G-15 Computer. At the option of the operator, the object program may be produced on paper tape and run at a later time. The two other components, designated as the Updater and the Housekeeper, broaden the facilities of the Algo system. The Updater, the corrector component of the Algo system, permits the programmer to add information to or delete information from the Algo language program. The programmer may also correct or modify the existing declarations and statements of the program. The Housekeeper, an Algo service routine, permits the operator to transfer the Algo system to magnetic tape or to modify or expand the existing Algo system. The Housekeeper is not transferred to magnetic tape. The Algo master is then the five components designated as Magazines No. 1, No. 2, No. 3, No. 4, and Updater. The five paper tape magazines, which contain these components, are called a "paper tape master." When transferred to magnetic tape, the five are called a "magnetic tape master." MODES OF OPERATION While preparing the object program, Algo stores intermediate results on either paper tape or magnetic tape. The tapes, containing the intermediate results, are called "scratch pads." Either type of master tape may operate with either type of scratch pad tape. The four modes of operation are then: Master Scratch Pad Paper Tape to Paper Tape Paper Tape to Magnetic Tape Magnetic Tape to Magnetic Tape Magnetic Tape to Paper Tape In conjunction with the two modes using a magnetic tape master, the operator needs the Bendix Application's Project No. 61-Magnetic Tape Service Routine. In the operating instructions Algo directs the operator to perform certain operations. In referring to the master tapes, Algo calls the tapes Magazine No. 1, Magazine No. 2, Magazine No. 3, and Magazine No. 4. In referring to the scratch pads, Algo calls the tapes No. 1 Output or No. 2 Output. The Magnetic Tape to Magnetic Tape mode of operation is designed to use two Magnetic Tape Units (MTA-2). The Magnetic Tape to Paper Tape Mode or the Paper Tape to Magnetic Tape Mode are designed for one Magnetic Tape Unit (MTA-2). ![]() 27 March 1961 TITLE: Programming notes for the ALGO system PURPOSE: The information contained in this memorandum answers several questions which have been asked and which may arise concerning use of the ALGO system. Other points of interest are included. EQUIPMENT AFFECTED: G-15D and optionally MTA-2 EFFECTIVE DATE: 27 March 1961 Constants: Integers and decimal numbers as in ALGOL But 1.34l2 would become 63 O O 134. Simple Variables: AS in ALGOL Subscripted Variables: Only one or two subscript positions. They must be occupied by simple variables which have to be declared "subscripts" at the beginning of the program. Variables with two sub" subscripts are not handled in the conventional way (either ALGOL or FORTRAN) and are somewhat hard to use. Labels: No integers are permitted. Otherwise as in ALGOL. Arithmetic Expressions: As usual. Arithmetic Comparisons: Restricted to =, <, > Special Functions: ABS, SQRT, EXP, SIN, COS, ARCTG. Assignment Statement: Go to statement, if statement in a form close to ALGOL. For Statement: More like FORTRAN than ALGOL. Compound Statement: As in ALGOL. Format specifieations, print statement with format indicator and read and write statements without format indicator: Input from keyboard. Procedure declarations and statements: Nested procedure declaration possible. Parameters are restricted to simple variables or constants. Local variables possible in a restricted way. ALGOL is a very worthwhile programming aid for the G-15 computer. However it does not solve the communication problem between the G-15 and other computers. in ACM Computing Reviews 2(04) July-August 1961 view details ![]() in [ACM] CACM 4(01) (Jan 1961) view details To go on with the Algol development, the years 1958-1959 were years in which many new computers were introduced, The time was ripe for experimentation in new languages. As mentioned earlier there are many elements in common in all Algebraic languages, and everyone who introduced a new language in those years called it Algol, or a dialect of Algol. The initial result of this first attempt at the standardization of Algebraic languages was the proliferation of such languages in great variety. A very bright young programmer at Burroughs had some ideas about writing a very fast one pass compiler for Burroughs new 220 computer. The compiler has come to be known as Balgol. A compiler called ALGO was written for the Bendix G15 computer. At Systems Development Corporation, programming systems had to be developed for a large command and control system based on the IBM military computer (ANFSQ32). The resulting Algebraic language with fairly elaborate data description facilities was JOVIAL (Jules Schwartz' own Version of the International Algebraic Language). By now compilers for JOVIAL have been written for the IBM 7090, the Control Data 1604, the Philco 2000, the Burroughs D825, and for several versions of IBM military computers. The Naval Electronics Laboratory at San Diego was getting a new Sperry Rand Computer, the Countess. With a variety of other computers installed and expected they stressed the description of a compiler in its own language to make it easy, among other things, to produce a compiler on one computer using a compiler on another. They also stressed very fast compiling times, at the expense of object code running times, if necessary. The language was called Neliac, a dialect of Algol. Compilers for Neliac are available on at least as great a variety of computers as for JOVIAL. The University of Michigan developed a compiler for a language called Mad, the Michigan Algorithmic Decoder. They were quite unhappy at the slow compiling times of Fortran, especially in connection with short problems typical of student use of a computer at a University. Mad was, originally programmed for the 704 and has been adapted for the 7090 It too was based on the 1958 version of Algol. All of these languages derived from Algol 58 are well established, in spite of the fact that the ACM GAMM committee continued its work and issued its now well known report defining Algol 60. in [AFIPS JCC 25] Proceedings of the 1964 Spring Joint Computer Conference SJCC 1964 view details [321 programming languages with indication of the computer manufacturers, on whose machinery the appropriate languages are used to know. Register of the 74 computer companies; Sequence of the programming languages after the number of manufacturing firms, on whose plants the language is implemented; Sequence of the manufacturing firms after the number of used programming languages.] in [AFIPS JCC 25] Proceedings of the 1964 Spring Joint Computer Conference SJCC 1964 view details in [ACM] CACM 15(06) (June 1972) view details Resources
|