Advertisement

Research and Advances

A note on the formation of free list

The concept of an available-space list was introduced by Newell and Shaw [1] in 1957, and has since been incorporated into a number of different systems [2-5]. The available-space list (or “free list”) is a list of all available memory locations. It should initially be as large as possible, and ideally it would contain every cell not used by the program. The subject of this note is the initial formation of a free list on the IBM 7090-7094, using the FORTRAN II monitor, version 2. The method presented originated while the authors were working on an implementation of the WISP [5] system for the 7090 in cooperation with Prof. M. V. Wilkes and his colleagues.
Research and Advances

Machine controls for analysis of variance

A major problem in using the analysis of variance, as the number of factors increases, is the exponential rise in the number of interactions. Even though the experimenter may not be interested in these interactions it is impossible to ignore them in most experimental designs because of the problem of getting error terms. It is natural therefore to look to the computer to handle the bulk of work involved in computing the interactions. A program device to get the computer to do this is described.
Research and Advances

Final examination scheduling

A method for scheduling final examinations to yield a minimal number of student conflicts is described. The “minimization” is achieved by repetitively evaluating a nonlinear set of equations. Imbedded in the process is a random or Monte Carlo selection of assignments. As in such heuristic techniques, the solution may not be optimum and many solutions may be found which yield locally minimal results. Computer programs are described and empirical results given.
Research and Advances

Formal parsing systems

Automatic syntactic analysis has recently become important for both natural language data processing and syntax-directed compilers. A formal parsing system G = (V, &mgr;, T, R) consists of two finite disjoint vocabularies, V and T, a many-many map, &mgr;, from V onto T, and a recursive set R of strings in T called syntactic sentence classes. Every program for automatic syntactic analysis determines a formal parsing system. A directed production analyzer (I, T, X, &rgr;) is a nondeterministic pushdown-store machine with internal vocabulary I, input vocabulary T, and all productions of &rgr; in the form: (Z, a) → aY1 ··· Ym, Z, Yi &egr; I, a &egr; T. Every context-free language can be analyzed by a directed production analyzer.
Research and Advances

A method of syntax-checking ALGOL 60

A syntax checker was designed based on the syntax of ALGOL as described in the ALGOL 60 Report [Communications of the ACM, May 1960]. Since the definition of the elements of the language is recursive it seemed most desirable to design the syntax checker as a set of mutually recursive processors tied together by subroutines which perform certain bookkeeping functions. Because of the recursive nature of the language and of the syntax checker the problem of recovery after an error required much attention. A method was devised which permits most programs to be checked completely despite errors.
Research and Advances

An alternate checksum method

To increase reliability of transmission between magnetic tape and core storage on an IBM 7090/7094, blocks or records of data are often assigned a word called a logical checksum. This is a number derived from the block by some simple algorithm and as unique to it as possible. The method most commonly used to form a checksum is to add together every datum in the block by the ACL (add and carry logical) instruction.
Research and Advances

A compiler-building system developed by Brooker and Morris: including a comprehensive discussion of the major features of the system

In a number of articles published during the past two years, R. A. Brooker and D. Morris (joined by J. S. Rohl in their most recent paper) have presented a very interesting programming system that they have developed for the Ferranti Atlas computer. The present paper describes some of the major features of their system. It expands on some points that the original authors cover briefly, and treats only very lightly some topics to which they devote considerable space. The purpose of this paper is purely expository. Except in some very small details, and in some comments, it does not intentionally depart from or add to the material published in the listed references. In the opinion of the writer, systems of this kind are well worth implementing and will provide useful research tools in the development of languages and techniques. This opinion is true even when such systems turn out to be of limited usefulness in producing “production” compilers, where compiling speed and object code optimization may be considered more important than language flexibility and elegance or generality of system organization.
Research and Advances

Characteristics of the FORTRAN CEP language

The FORTRAN CEP languages differs from FORTRAN II mainly because: (1) it extends the variety of the modes for real quantities; (2) it allows suitable mixtures, in an input/output list or in an expression, of quantities that occur under different modes; (3) it makes it possible to address a greater number of input/output equipment; and (4) it removes the restrictions on the complexity of the list of quantities to be transmitted between the magnetic core memory and the drum or the magnetic tape units.
Research and Advances

Autosate

An automated data system analysis technique is described. The technique is designed to alleviate some of the principal problems that beset current analysis—large data workloads, long span of time between project inception and system operational date, the lack of explicit directions for conducting data system analysis and using the results, and the lack of a technique to control data system changes throughout its lifetime. The analysis is geared to determining workload, relationships and storage characteristics of documents in the information network automatically.
Research and Advances

Experimental personalized array translator system

A system designed for intimate man-machine interaction in a general-purpose problem-solving environment is experimentally operational. The system utilizes an array-oriented symbolic source language containing powerful statement types. These include numeric, Boolean, relational and selection operators on operands which can be entire arrays. The system also permits simple specification of test and argument arrays in single statements. The completely symbolic operating system includes display and entry of program and data. Sequence control is aided by an interrupt switch which allows the user to interact with the program during execution. In addition to normal stored program sequencing, the system provides trace options and the ability to enter any statement for immediate execution. Present implementation of the system is with an interpretive translator on an IBM 1620 computer.

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 Involved

Communications 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