August 1965 - Vol. 8 No. 8

August 1965 issue cover image

Features

Research and Advances

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.
Research and Advances

Symbolic derivatives without list processing, subroutines, or recursion

A routine has been developed which computes and prints out the symbolic derivative of an absolutely continuous elementary function of one or several variables. No use is made of list processing languages. The chain rule is applied and the result is edited to produce results as elegant and efficient as those obtained by hand computation. A subset may be imbedded in a formula translator to introduce a differentiation operator into an “algebraic” programming language.
Research and Advances

Remarks on simulation of Boolean functions

Recently M. Morris Mano presented a method for performing Boolean OR, AND and NOT operations by means of arithmetic and conditional transfer operations in a decimal computer lacking builtin logical instructions [1]. When A, B, C are variables whose defined value is 0 or 1 and a, b, c are the corresponding integer variables with values 0 or 1, his Boolean OR was defined by: “The result of an OR operation of Boolean variables is the same as the arithmetic addition of the a, b, c integer variables after which the following test is made: (a) If the sum is equal to zero, the result is correct; (b) If the sum is larger than zero, the answer is 1.”
Research and Advances

The self-judgment method of curve fitting

A computer-oriented method for processing and communicating numerical data is described. The Instrument Reliability Factors (IRF), which exactly define the limits of reliability of each measured item of information, are used to compute the Maximum Permitted Error (MPE) associated with each value of each ordinate. The Self-Judgment Principle (SJP) is used to discard wrong information and to compute mean values of the parameters and their MPE's in terms of the IRF. Data compatibility tests with any number of different equations can be made quickly. Otherwise intractable problems are easily solved, and the design of many experiments is greatly simplified. The computational and mathematical techniques used to reduce bias in the SJP are discussed. Inadequacies in the statistical and graphical methods of curve fitting are noted.

Recent Issues

  1. November 2024 CACM cover
    November 2024 Vol. 67 No. 11
  2. October 2024 CACM cover
    October 2024 Vol. 67 No. 10
  3. September 2024 CACM cover
    September 2024 Vol. 67 No. 9
  4. August 2024 CACM cover
    August 2024 Vol. 67 No. 8