Simulation of computer logic by Fortran arithmetic
Software Engineering and Programming Languages
During the preliminary logical design of the NEBULA computer for the Oregon State University Department of Mathematics, it was decided to simulate the logic equations on one of the computers available on campus. Thus most of the logic could be debugged prior to backwiring.
The use and implementation of two new FORTRAN format conversions are discussed. These format types give the FORTRAN programmer control of input/output specifications at execution time.
Some techniques used in the ALCOR ILLINOIS 7090
An ALGOL compiler has been written by the ALCOR group for the IBM 7090. Some little known but significant techniques in compiler writing, together with organizational details of this compiler, are described. Timing estimates and an indication of compiler requirements are also given.
This note describes some FORTRAN subroutines to facilitate handling of tape files. They allow symbolic naming or information files, without violating the casual scientific programmer's idea of simplicity. Some comments on two years use of these subroutines are given.
High speed compilation of efficient object code
A three-pass compiler with the following properties is briefly described: The last two passes scan an intermediate language produced by the preceding pass in essentially the reverse of the order in which it was generated, so that the first pass is the only one which has to read the relatively bulky problem-oriented input. The double scan, one in either direction, performed by the first two passes, allows the compiler to remove locally constant expressions and recursively calculable expressions from loops and to do the important part of common subexpression recognition. Optimization such as the effective use of index registers, although as important, is not discussed since the object code which would be most efficient is highly machine dependent. The discussion is in terms of a FORTRAN-like language, although the technique is applicable to most algebraic languages.
Method for hyphenating at the end of a printed line
A description of a method of hyphenation is presented as a result of application of several general rules. The character sets considered by the routine and the method are briefly outlined.
The predictive analyzer and a path elimination technique
Some of the characteristic features of a predictive analyzer, a system of syntactic analysis now operational at Harvard on an IBM 7094, are delineated. The advantages and disadvantages of the system are discussed in comparison to those of an immediate constituent analyzer, developed at the RAND Corporation with Robinson's English grammar. In addition, a new technique is described for repetitive path elimination for a predictive analyzer, which can now claim efficiency both in processing time and core storage requirement.
The structure of yet another ALGOL compiler
A high-speed “top down” method of syntax analysis which completely eliminates “back-up” of the source string has been implemented in a convenient macro-language. A technique of simulation at compile time of the use of a conventional run-time stack enables the generation of code for expressions which minimizes stores, fetches and stack-pointer motion at run time, while properly treating recursion and side effects of procedures. Block structure and recursion are handled without need for interpretive methods at run time. The “context problem” in the transmission to recursive procedures of parameters “called by name” is solved in a manner which permits the handling of the common cases of simple expressions and array identifiers with particular efficiency.
This paper is intended as an outline of the various conventions which are being considered for the use of flowchart symbols in the preparation of all types of flowcharts for information processing systems. The conventions are applied to the use of the symbols appearing in the proposed American Standard Flowchart Symbols for Information Processing Systems. This paper is concerned with the use of the proposed American Standard Flowchart Symbols and not with the symbols per se.
The organization of structured files
A data file is an integral part of a data processing system. In many systems, the selection of an organization for the data within the file can be critical to the system's operating efficiency.
This paper provides the systems designer with an information source which describes ten techniques that may be employed for organizing structured data.
The characteristics of the organizations described are application independent, thus providing the designer with a reference which allows him to limit the number of file organizations he must consider for his system.
Shape the Future of Computing
ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.
Get InvolvedCommunications of the ACM (CACM) is now a fully Open Access publication.
By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.
Learn More