A-0 System

From Infogalactic: the planetary knowledge core
(Redirected from A-0 programming language)
Jump to: navigation, search

The A-0 system (Arithmetic Language version 0), written by Grace Hopper in 1951 and 1952 for the UNIVAC I, was the first compiler ever developed for an electronic computer.[1] 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 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 A-0 system was followed by the A-1, A-2, A-3 (released as ARITH-MATIC), AT-3 (released as MATH-MATIC) and B-0 (released as FLOW-MATIC).

The A-2 system was developed at the UNIVAC division of Remington Rand in 1953 and released to customers by the end of that year.[2] Customers were provided the source code for A-2 and invited to send their improvements back to UNIVAC. Thus A-2 was an early, and perhaps the first, example of free and open-source software. [3]

Details of A-0

A-0 used a library of subroutines that were stored on tape. Each subroutine had an information section describing:

  1. The call number of the subroutine
  2. The input arguments to the subroutine
  3. The position of the results transferred out
  4. The locations of control transfers out of the subroutine.

The programmer would create a program in three "phases":

  1. Analyze the problem and break it down into steps that can be performed by subroutines in the library
  2. Write out these steps as catalog numbers from the library followed by the argument and result locations
  3. Feed the resultant "program" into A-0 which would produce a new program on a tape.

The new program can then be run to produce results.[4]

A-0 had none of the features of modern compilers nor even the features of a modern assembler.

See also

External links

Notes

  1. Hopper "Keynote Address", Sammet pg. 12
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.

<templatestyles src="Asbox/styles.css"></templatestyles>