ICETRAN(ID:417/ice003)

Translator between ICES and FORTRAN 


for ICEs forTRAN

An extension of FORTRAN IV used as the internal language to dvelop ICES components. Had a more flexibe Array system, and some declarative commands added




Related languages
FORTRAN IV => ICETRAN   Extension of
ICES => ICETRAN   Subsystem

References:
  • Clapp, Lewis "Time-Sharing System Scorecard" Computer Research Corporation 1967 view details
  • Logcher, R.D., Sussman, J.M., "ICETRAN Library Utility Programs," ICES: Programmers Reference Manual, ed. by J.C. Jordan, MIT Department of Civil Engineering, Cambridge, MA, October, 1967, R67-50, Chapter 5, pp. 79-88. view details
  • Ochoa, F., J.M., Logcher, R.D., Goodman, R.V., "The ICETRAN Language," ICES: Programmers Reference Manual, ed. by J.C. Jordan, MIT Department of Civil Engineering, Cambridge, MA, October 1967, R67-50, Chapter 2, pp. 3-41 view details
  • Schrader, Karl-Heinrich: "Ueber die Benutzung problemorientierter Sprachen" [Concerning the use of problem-oriented languages] Elektronische Datenverarbeitung 10(8) 1968 view details
  • Sammet, Jean E. "Computer Languages - Principles and History" Englewood Cliffs, N.J. Prentice-Hall 1969. p.617. view details Extract: ICETRAN
    One of the facilities of ICES is a language called ICETRAN which has been used to write the subsystem programs. ICETRAN is an extension and expansion of FORTRAN IV. It contains a number of additions to FORTRAN which are similar in style and spirit and then some other additions which are quite dissimilar. Some of the statements in the former category are as follows:

    One of the facilities of ICES is a language called ICETRAN which has been used to write the subsystem programs. ICETRAN is an extension and expansion of FORTRAN IV. It contains a number of additions to FORTRAN which are similar in style and spirit and then some other additions which are quite dissimilar. Some of the statements in the former category are as follows :{1}
    DYNAMIC ARRAY a,(k1), a2(k2), a3(k3 ..., an (kn) The ai are nonsubscripted array names which are to be treated dynamically. The ki is optional and may be one of the letters l, R, or D to indicate integer, real, or double precision, respectively. DEFINE a(i1, i2 ..... in), S1, S2 ..... Sn, t, p, g This essentially defines the structure of part or all of a dynamic array. The ii may be integer expressions, the si are expressions, the t is optional and indicates data type, the p indicates priority for retention in core, and the g indicates automatic growth beyond the defined size. RELEASE a(i1, I2,..., in), p This releases arrays when they are not immediately needed but are to be saved for later use. { SIZE } DESTROY a(i,, i, .....in), {REDUCE} { blank } This destroys the arrays when they are no longer needed. SWITCH (a, b) The a and b are dynamic array pointers which are to be interchanged by the command.

    These statements are executable at object time to structure and control data according to the problem parameters. Memory is automatically managed by an executive routine.

    There are statements that involve linking of modules within subsystems, namely LINK, TRANSFER, and BRANCH. A global COMMON makes data accessible to all modules.

    There are statements to operate on a pushdown stack, namely

    ADD TO STACK (count, name) DELETE FROM STACK (count) COPY FROM STACK (count, name) TRANSFER TO STACK LINK TO STACKThe terms count and name refer to the number of items to be handled and the address of the stack.

    There are a number of error processing statements such as INHIBIT, ENABLE, and ERROR RETURN. There are various statements to permit control of secondary storage. There is a matrix declaration which enables the user to write statements which are similar in structure to the regular ones but which operate on matrices. Thus, for example, the user could write

    V(2)=V(2)-TRN(X(1))*B*V(2)*INV(TRN(X(1))*B*X(1))*X(1)

    where TRN means matrix transposition and INV means inversion.

    It should be stressed again that the purpose of ICETRAN is to permit programmers (who might themselves be the engineers) to write the necessary subsystem programs for the differing application areas.
  • Sammet, Jean E., "Roster of Programming Languages 1972" 128 view details
          in Computers & Automation 21(6B), 30 Aug 1972 view details
  • Stock, Marylene and Stock, Karl F. "Bibliography of Programming Languages: Books, User Manuals and Articles from PLANKALKUL to PL/I" Verlag Dokumentation, Pullach/Munchen 1973 290 view details Abstract: PREFACE  AND  INTRODUCTION
    The exact number of all the programming languages still in use, and those which are no longer used, is unknown. Zemanek calls the abundance of programming languages and their many dialects a "language Babel". When a new programming language is developed, only its name is known at first and it takes a while before publications about it appear. For some languages, the only relevant literature stays inside the individual companies; some are reported on in papers and magazines; and only a few, such as ALGOL, BASIC, COBOL, FORTRAN, and PL/1, become known to a wider public through various text- and handbooks. The situation surrounding the application of these languages in many computer centers is a similar one.

    There are differing opinions on the concept "programming languages". What is called a programming language by some may be termed a program, a processor, or a generator by others. Since there are no sharp borderlines in the field of programming languages, works were considered here which deal with machine languages, assemblers, autocoders, syntax and compilers, processors and generators, as well as with general higher programming languages.

    The bibliography contains some 2,700 titles of books, magazines and essays for around 300 programming languages. However, as shown by the "Overview of Existing Programming Languages", there are more than 300 such languages. The "Overview" lists a total of 676 programming languages, but this is certainly incomplete. One author ' has already announced the "next 700 programming languages"; it is to be hoped the many users may be spared such a great variety for reasons of compatibility. The graphic representations (illustrations 1 & 2) show the development and proportion of the most widely-used programming languages, as measured by the number of publications listed here and by the number of computer manufacturers and software firms who have implemented the language in question. The illustrations show FORTRAN to be in the lead at the present time. PL/1 is advancing rapidly, although PL/1 compilers are not yet seen very often outside of IBM.

    Some experts believe PL/1 will replace even the widely-used languages such as FORTRAN, COBOL, and ALGOL.4) If this does occur, it will surely take some time - as shown by the chronological diagram (illustration 2) .

    It would be desirable from the user's point of view to reduce this language confusion down to the most advantageous languages. Those languages still maintained should incorporate the special facets and advantages of the otherwise superfluous languages. Obviously such demands are not in the interests of computer production firms, especially when one considers that a FORTRAN program can be executed on nearly all third-generation computers.

    The titles in this bibliography are organized alphabetically according to programming language, and within a language chronologically and again alphabetically within a given year. Preceding the first programming language in the alphabet, literature is listed on several languages, as are general papers on programming languages and on the theory of formal languages (AAA).
    As far as possible, the most of titles are based on autopsy. However, the bibliographical description of sone titles will not satisfy bibliography-documentation demands, since they are based on inaccurate information in various sources. Translation titles whose original titles could not be found through bibliographical research were not included. ' In view of the fact that nany libraries do not have the quoted papers, all magazine essays should have been listed with the volume, the year, issue number and the complete number of pages (e.g. pp. 721-783), so that interlibrary loans could take place with fast reader service. Unfortunately, these data were not always found.

    It is hoped that this bibliography will help the electronic data processing expert, and those who wish to select the appropriate programming language from the many available, to find a way through the language Babel.

    We wish to offer special thanks to Mr. Klaus G. Saur and the staff of Verlag Dokumentation for their publishing work.

    Graz / Austria, May, 1973
          in Computers & Automation 21(6B), 30 Aug 1972 view details