PACT (compiler)

Last updated

PACT was a series of compilers for the IBM 701 and IBM 704 scientific computers. Their development was conducted jointly by IBM and a committee of customers starting in 1954. PACT I was developed for the 701, and PACT IA for the 704. The emphasis in that early generation of compilers was minimization of the memory footprint, because memory was a very expensive resource at the time. [1] The word "compiler" was not in widespread use at the time, so most of the 1956 papers described it as an "(automatic) coding system", [2] [3] although the word compiler was also used in some papers. [4] [5]

Contents

See also

Related Research Articles

<span class="mw-page-title-main">APL (programming language)</span> Functional programming language for arrays

APL is a programming language developed in the 1960s by Kenneth E. Iverson. Its central datatype is the multidimensional array. It uses a large range of special graphic symbols to represent most functions and operators, leading to very concise code. It has been an important influence on the development of concept modeling, spreadsheets, functional programming, and computer math packages. It has also inspired several other programming languages.

<span class="mw-page-title-main">Fortran</span> General-purpose programming language

Fortran is a general-purpose, compiled imperative programming language that is especially suited to numeric computation and scientific computing.

In computing, a virtual machine (VM) is the virtualization or emulation of a computer system. Virtual machines are based on computer architectures and provide the functionality of a physical computer. Their implementations may involve specialized hardware, software, or a combination of the two. Virtual machines differ and are organized by their function, shown here:

The A-0 system, written by Grace Murray Hopper in 1951 and 1952 for the UNIVAC I, was an early compiler related tool developed for electronic computers. The A-0 functioned more as a loader or linker than the modern notion of a compiler. A program was specified as a sequence of subroutines and its arguments. The subroutines were identified by a numeric code and the arguments to the subroutines were written directly after each subroutine code. The A-0 system converted the specification into machine code that could be fed into the computer a second time to execute the said program.

The 801 was an experimental central processing unit (CPU) design developed by IBM during the 1970s. It is considered to be the first modern RISC design, relying on processor registers for all computations and eliminating the many variant addressing modes found in CISC designs. Originally developed as the processor for a telephone switch, it was later used as the basis for a minicomputer and a number of products for their mainframe line. The initial design was a 24-bit processor; that was soon replaced by 32-bit implementations of the same concepts and the original 24-bit 801 was used only into the early 1980s.

<span class="mw-page-title-main">IBM 704</span> Vacuum-tube computer system

The IBM 704 is a large digital mainframe computer introduced by IBM in 1954. It was the first mass-produced computer with hardware for floating-point arithmetic. The IBM 704 Manual of operation states:

The type 704 Electronic Data-Processing Machine is a large-scale, high-speed electronic calculator controlled by an internally stored program of the single address type.

<span class="mw-page-title-main">IBM 650</span> Vacuum tube computer system

The IBM 650 Magnetic Drum Data-Processing Machine is an early digital computer produced by IBM in the mid-1950s. It was the first mass produced computer in the world. Almost 2,000 systems were produced, the last in 1962, and it was the first computer to make a meaningful profit. The first one was installed in late 1954 and it was the most-popular computer of the 1950s.

<span class="mw-page-title-main">IBM 7030 Stretch</span> First IBM supercomputer using dedicated transistors

The IBM 7030, also known as Stretch, was IBM's first transistorized supercomputer. It was the fastest computer in the world from 1961 until the first CDC 6600 became operational in 1964.

<span class="mw-page-title-main">IBM 701</span> Vacuum-tube computer system

The IBM 701 Electronic Data Processing Machine, known as the Defense Calculator while in development, was IBM’s first commercial scientific computer and its first series production mainframe computer, which was announced to the public on May 21, 1952. It was invented and developed by Jerrier Haddad and Nathaniel Rochester based on the IAS machine at Princeton.

<span class="mw-page-title-main">PL/C</span> Programming language developed at Cornell University

PL/C is an instructional dialect of the programming language PL/I, developed at the Department of Computer Science of Cornell University in the early 1970s in an effort headed by Professor Richard W. Conway and graduate student Thomas R. Wilcox. PL/C was developed with the specific goal of being used for teaching programming. The PL/C compiler, which implemented almost all of the large PL/I language, had the unusual capability of never failing to compile a program, through the use of extensive automatic correction of many syntax errors and by converting any remaining syntax errors to output statements. This was important because, at the time, students submitted their programs on IBM punch cards and might not get their output back for several hours. Over 250 other universities adopted PL/C; as one late-1970s textbook on PL/I noted, "PL/C ... the compiler for PL/I developed at Cornell University ... is widely used in teaching programming." Similarly, a mid-late-1970s survey of programming languages said that "PL/C is a widely used dialect of PL/I."

ASSIST is an IBM System/370-compatible assembler and interpreter developed in the early 1970s at Penn State University by Graham Campbell and John Mashey. plus student assistants.

Axiom is a free, general-purpose computer algebra system. It consists of an interpreter environment, a compiler and a library, which defines a strongly typed hierarchy.

Speedcoding, Speedcode or SpeedCo was the first high-level programming language created for an IBM computer. The language was developed by John W. Backus in 1953 for the IBM 701 to support computation with floating point numbers.

Thread Level Speculation (TLS), also known as Speculative Multithreading, or Speculative Parallelization, is a technique to speculatively execute a section of computer code that is anticipated to be executed later in parallel with the normal execution on a separate independent thread. Such a speculative thread may need to make assumptions about the values of input variables. If these prove to be invalid, then the portions of the speculative thread that rely on these input variables will need to be discarded and squashed. If the assumptions are correct the program can complete in a shorter time provided the thread was able to be scheduled efficiently.

Douglas Taylor "Doug" Ross was an American computer scientist pioneer, and chairman of SofTech, Inc. He is most famous for originating the term CAD for computer-aided design, and is considered to be the father of Automatically Programmed Tools (APT), a programming language to drive numerical control in manufacturing. His later work focused on a pseudophilosophy he developed and named Plex.

<span class="mw-page-title-main">History of compiler construction</span>

In computing, a compiler is a computer program that transforms source code written in a programming language or computer language, into another computer language. The most common reason for transforming source code is to create an executable program.

Owen R. Mock was a computer software designer and programmer who pioneered computer operating systems in the 1950s. In 1954 Mock was part of a group of programmers at the Los Angeles division of North American Aviation (NAA) who developed the PACT series of compilers for the IBM 701 computer. In December 1955, Mock's group installed in the IBM 701 the "North American 701 Monitor" which was the first operating system to be in operation.

SQUOZE is a memory-efficient representation of a combined source and relocatable object program file with a symbol table on punched cards which was introduced in 1958 with the SCAT assembler on the SHARE Operating System (SOS) for the IBM 709. A program in this format was called a SQUOZE deck. It was also used on later machines including the IBM 7090 and 7094.

Jules I. Schwartz was an American computer scientist chiefly known for his creation of the JOVIAL programming language.

DARSIMCO, short for Dartmouth Simplified Code, was a simple programming language written by John Kemeny in 1956 that expanded simple mathematical operations into IBM 704 assembly language. It was an attempt to simplify basic mathematical processing, a common theme in the 1950s, but found little use before the arrival of FORTRAN at MIT the next year.

References

  1. Allen, F. E. (September 1981). "The history of language processor technology in IBM". IBM Journal of Research and Development. 25 (5): 537. CiteSeerX   10.1.1.84.5616 . doi:10.1147/rd.255.0535.
  2. Melahn, Wesley S. (1956). "A Description of a Cooperative Venture in the Production of an Automatic Coding System". J. ACM. 3 (4): 266–271. doi:10.1145/320843.320844.
  3. Baker, Charles L. (1956). "The PACT I Coding System for the IBM Type 701". J. ACM. 3 (4): 272–278. doi: 10.1145/320843.320845 .
  4. Mock, Owen R. (1956). "Logical Organization of the PACT I Compiler". J. ACM. 3 (4): 279–287. doi: 10.1145/320843.320846 .
  5. Miller, Jr., Robert C.; Oldfield, Bruce (1956). "Producing Computer Instructions for the PACT I Compiler". J. ACM. 3 (4): 288–291. doi: 10.1145/320843.320847 .