The History of Language Processor Technology in IBM

  title={The History of Language Processor Technology in IBM},
  author={Frances E. Allen},
  journal={IBM J. Res. Dev.},
  • F. Allen
  • Published 1 September 1981
  • Computer Science
  • IBM J. Res. Dev.
The history of language processor technology in IBM is described in this paper. Most of the paper is devoted to compiler technology; interpreters, assemblers, and macro systems are discussed briefly. The emphasis is on scientific contributions and technological advances from ah istorical perspective. The synergistic relationship between theory andpractice is a subtheme. 

Figures from this paper

History of IBM's Technical Contributions to High Level Programming Languages

  • J. Sammet
  • Computer Science
    IBM J. Res. Dev.
  • 1981
IBM's technical contributions to high level programming languages from the viewpoint of specific languages and their contributions to the technology are discussed.

Early Language and Compiler Developments at IBM Europe: A Personal Retrospection

  • A. Endres
  • Computer Science
    IEEE Annals of the History of Computing
  • 2013
This retrospective concentrates on two languages, Algol 60 and PL/I, because with them compiler development reached an historical peak within IBM's European laboratories, and the author's experience and the responsibility of the different laboratories are considered.

Engineering a Compiler: International Student Edition

Engineering a Compiler conveys both the art and the science of compiler construction and show best practice algorithms for the major passes of a compiler to show readers that real tradeoffs exist and that the impact of those choices can be both subtle and far-reaching.

In Search of the Original Fortran Compiler

  • P. McJones
  • Computer Science
    IEEE Ann. Hist. Comput.
  • 2017
In April 2002, Grady Booch sent out an email with the subject "Preserving classic software products." His appeal to provide top 10 lists and to suggest where to look for the source code received an


The Java Virtual Machine forms part of a large system, the Java Runtime Environment (JRE), and each operating system and CPU architecture requires a different JRE.

HOPL IV Reviewing Principles

  • Education
The ​History of Programming Languages conference (HOPL) is unlike many of the other SIGPLAN conferences. For one thing, it is held only every 12–15 years—there have been three so far: HOPL I in

Looking for Mr. "Turnkey"

This paper will attempt to analyze the reasons why the ideals of a complete turnkey system, as presented at conferences, and the reality of the current systems, as actually seen by the designer, are still divergent.

IBM's single-processor supercomputer efforts

Insights on the pioneering IBM Stretch and ACS projects are presented, which aim to provide real-time information about how the response of the immune system to natural disasters is influenced by the environment.

On the Minimization of Loads/Stores in Local Register Allocation

This paper presents an algorithm to find the optimal register allocatbn of stmlght-line programs, and presents a heuristic alguritlrm which generally outper-forms other algorithms In large basic blocks.

Development and assessment of a tool to support pattern-based code generation of time-triggered (TT) embedded systems

The approach described in this thesis addresses a key limitation of previous work in this area, namely the challenge of implementing the ‘one pattern, many implementations’ relationship and is based on a substantial pattern language.



Serial Compilation and the 1401 FORTRAN Compiler

This paper discusses a compiler Organization in which phases act sequentially on a source program held in core storage, using the 1401 FORTRAN compiler to illustrate the general scheme.

Design of an Integrated Programming an Operating System Part V: The System's COBOL Compiler

The general considerations underlying the design of the system's COBOL compiler are discussed and attention is focused on certain techniques which are incorporated within the compiler.

The Experimental Compiling System

The Experimental Compiling System (ECS) described here represents a new compiler construction methodology that uses a compiler base which can be augmenttd to create a compiler for any one of a wide

Design of a Checkout Compiler

  • B. Marks
  • Computer Science
    IBM Syst. J.
  • 1973
The design of the PL/I Checkout Compiler is constrained by the requirement that a subroutine developed using this checkout compiler should be capable of executing in conjunction with code generated by a more conventional compiler.

The History of FORTRAN I, II and III

  • J. Backus
  • Computer Science
    Annals of the History of Computing
  • 1979
This article discusses attitudes about "automatic programming," the economics of programming, and existing programming systems, all in the early 1950s. It describes the formation of the FORTRAN

The PACT I Coding System for the IBM Type 701

The final system is a compromise between ease of coding and ease of compiling, which may not be biased towards a particular machine, but which results in feedback which alters the original specifications for the language.

PACT Loop Expansion

Abstract : A discussion of the method used to write loops in machine language for any series of PACT I compiler instructions is presented. (Author)

Code-Generation Technique for Large-Language Compilers

A solution is proposed to the problem of optimizing code generation by a large-language compiler. A high-level definitional language is used to define the code mappings, and an interpreter

The Share 709 System: Machine Implementation of Symbolic Programming

The SQUOZE encoding is a second encoding schema for the information concerning a program originally described in the symbolic language, which is fundamentally binary, employing only two basic marks, while the programmer enjoys the use of 50.

A New Strategy for Code Generation - the General-Purpose Optimizing Compiler

  • W. Harrison
  • Computer Science
    IEEE Trans. Software Eng.
  • 1979
A compiler structure is proposed which relies on interprocedural data flow analysis, global optimization, and an intermediate language schema to simplify the task of writing the code generating portions of a compiler without sacrificing code quality.