The Compilation and Processing of Ibm 1401 Programs on Ibm 7090 Vol

The Compilation and Processing of Ibm 1401 Programs on Ibm 7090 Vol

EUR 2637.1 VOL. II EUROPEAN ATOMIC ENERGY COMMUNITY - EURATOM •iü $&få í«P MÏÏ PII1ÍÍ!FHE COMPILATION AND PROCESSING oáijg^lll iilil^eBM 1401 PROGRAMS ON IBM 7090 í||iÍÊ' feflliieiSP :iüliSi lliüü VOL. II : THE COMPILER PROGRAM DESCRIPTION '■Km _" ΗΗΟΗΓ IMI Joint Nuclear Research Center Ispra Establishment - Italy ScientifiScientif c Information Processing Center - CETIS fiiiMguffi^ΙΑM !Μ*ρ mørn This document was prepared under the sponsorship of the Commission of the European Atomic Energy Community (EURATOM). Neither the EURATOM Commission, its contractors nor any person acting on their behalf : Make any warranty or representation, express or implied, with respect to the accuracy, completeness, or usefulness of the information con tained in this document, or that the use of any information, apparatus, method, or process disclosed in this document may not infringe privately owned rights; or Assume any liability with respect to the use of, or for damages resulting from the use of any information, apparatus, method or process disclosed in this document. WW» EUR 2637.e VOL! II THE COMPILATION AND PROCESSING OF IBM 1401 PROGRAMS ON IBM 7090 VOL. II : THE COMPILER PROGRAM DESCRIPTION by A.F.R. BROWN European Atomic Energy Community - EURATOM Joint Nuclear Research Center Ispra Establishment (Italy) Scientific Information Processing Center - CETIS Brussels, January 1966 - 130 Pages - FB 165 In the field of non-numerical data processing it is often more profitable to use a medium-size computer instead of a big one. Compilation, however, may better be done on a bigger machine. The four volumes of this report describe a symbolic programming language, its compiler for the IBM 7090 which produces IBM 1401 object programs, and a simulator permitting the execution of these programs on the IBM 7090. EUR 2637.e VOL. II THE COMPILATION AND PROCESSING OF IBM 1401 PROGRAMS ON IBM 7090 VOL. II : THE COMPILER PROGRAM DESCRIPTION by A.F.R. BROWN European Atomic Energy Community - EURATOM Joint Nuclear Research Center Ispra Establishment (Italy) Scientific Information Processing Center - CETIS Brussels, January 1966 - 130 Pages - FB 165 In the field of non-numerical data processing it is often more profitable to use a medium-size computer instead of a big one. Compilation, however, may better be done on a bigger machine. The four volumes of this report describe a symbolic programming language, its compiler for the IBM 7090 which produces IBM 1401 object programs, and a simulator permitting the execution of these programs on the IBM 7090. EUR 2637.e VOL. II THE COMPILATION AND PROCESSING OF IBM 1401 PROGRAMS ON IBM 7090 VOL. II : THE COMPILER PROGRAM DESCRIPTION by A.F.R. BROWN European Atomic Energy Community - EURATOM Joint Nuclear Research Center Ispra Establishment (Italy) Scientific Information Processing Center - CETIS Brussels, January 1966 - 130 Pages - FB 165 In the field of non-numerical data processing it is often more profitable to use a medium-size computer instead of a big one. Compilation, however, may better be done on a bigger machine. The four volumes of this report describe a symbolic programming language, its compiler for the IBM 7090 which produces IBM 1401 object programs, and a simulator permitting the execution of these programs on the IBM 7090. This volume explains the structure of the IBM 7090 compiler program. Comments are given on the flow charts of this program and of some subroutines in the 1401 program package that handle magnetic tape input and output. The flow charts themselves are published in the fourth volume of the report. This volume explains the structure of the IBM 7090 compiler program. Comments are given on the flow charts of this program and of some subroutines in the 1401 program package that handle magnetic tape input and output. The flow charts themselves are published in the fourth volume of the report. This volume explains the structure of the IBM 7090 compiler program. Comments are given on the flow charts of this program and of some subroutines in the 1401 program package that handle magnetic tape input and output. The flow charts themselves are published in the fourth volume of the report. EUR 2637.e VOL. II EUROPEAN ATOMIC ENERGY COMMUNITY - EURATOM THE COMPILATION AND PROCESSING OF IBM 1401 PROGRAMS ON IBM 7090 VOL. II : THE COMPILER PROGRAM DESCRIPTION by A.F.R. BROWN 1966 Joint Nuclear Research Center Ispra Establishment - Italy Scientific Information Processing Center - CETIS TABLE OF CONTENTS page Comments on the Flow Charts of the Compiler Program 1-113 Comments on the Flow Charts of some 11+01 Magnetic Tape Input and Output Subroutines 114-129 SUMMARY In the field of non-numerical data processing it is often more profitable to use a medium-size computer instead of a big one. Compilation, however, may better be done on a bigger machine. The four volumes of this report describe a symbolic programming language, its compiler for the IBM 7090 which produces IBM 1^01 object programs, and a simulator permitting the execution of these programs on the IBM 7O9O. This volume explains the structure of the IBM 709O compiler program. Comments are given on the flow charts of this program and of some subroutines in the 1*f01 program package that handle magnetic tape input and output. The flow charts themselves are published in the fourth volume of the report. In the flow charts of the compiler system (see pp. 2-66 of the fourth volume) there are three kinds of boxes: (ï) with top and bottom lines made of minus signs, and straight ends. Such a box represents an action to be taken, occasionally with a comment or explanation. (2) with top and bottom lines made of equal signs, and curved ends. Such a box represents a call on a subroutine, whose name is given inside the box. Occasionally, instead of the simple name of the subroutine, the whole calling sequence is given, beginning with a TSX instruction. And also occasionally, such a box may include an explanation of what the subroutine is supposed to achieve. If the subroutine has more than one exit, these will be represented by two or more numbered lines coming from the box. The numbers correspond to the numbers in "RETURN 1", "RETURN 2", etc., or "EXIT 1", "EXIT 2" etc. in the flow charts for the subroutine themselves. (3) with top and bottom lines made of asterisks, and pointed ends. Such a box represents a question or a switch test. Normally it will have two exits, labelled plus and minus, i.e. yes and no. Occasionally the exits may be labelled more explicitly, such as "MATCH" and "NO MATCH". Also occasionally, there may be more than two exits, as in the case of some boxes that contain the sentence "BRANCH ON FILE TYPE", from which there are as many exits as there are types of file, each one labelled with the name of one type of file. A symbol sitting' immediately above a box is usually the 7090 program label of the first instruction involved in doing what the box calls for. An isolated symbol from which an arrow leads to Manuscript received on October 27, 1965· a box has the same meaning, but indicates that branches come to the box from elsewhere in the flow chart, or from other flow charts. Such a symbol will not have an arrow leading to it. Instead, there must somewhere be the same symbol, isolated, with an arrow leading to it from a box. Sometimes a call on a subroutine is not shown by a subroutine box, but by something like " USE =BT4D= " within an action box. "BT4D" is the name of the subroutine, and in this context it is put between equal signs to emphasize that it is the name of a subroutine. In very many flow charts, the phrase "OUTPUT SPS CARDS" occurs. This means that there is a call on subroutine SPS in the program, but the subroutine as such is not mentioned. Single parentheses are used to mean "the contents of"; e.g. (S&3) would mean "the contents of location S&3". Double parentheses are used as quotation marks to enclose literals. Occasionally expressions like "E.5", "E.M" or "E.M&2" occur. These refer to "elements" in a statement, and the three expressions above would refer to the fifth, Mth, and M-plus-twoth elements in the current statement. Recall that each compiler-language statement is broken up into elements, each consisting of a word, a punctuation, a literal, or a series of one or more blanks. If a statement has a label, this is E.1; the blank after it is E.2; and the first word of the function code is E.3. If a statement has no label, its initial series of blanks is E.1; then a fictive blank is assumed as E.2, so that the first word of the function code will again be E.3. Similarly, expressions like "C.8" and "C.I" are sometimes used to indicate, the 3th, or the Ith, in some series of characters read from left to right. Flow chart 1 shows subroutine BREAD, which is used to "read" card images from the monitor input tape. Fundamentally, reading is done by the IOCS subroutine " .READ " . However, the card images may be of mixed BCD and binary cards, so subroutine "BREB" (see flow chart 2) is provided to examine the look-ahead bits, stored in location LOOKA , and decide how to use ".READ" . Subroutine BREB cannot be used directly by the compiler, hovíever, because in compiling one statement it is sometimes necessary to know whether the next statement has a label, and if so what.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    138 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us