Coronavirus (Covid-19): Latest updates and information
Skip to main content Skip to navigation

An Interpreter for Brooker's Mark I Autocode

R. A. (Tony) Brooker's Autocode programming language was designed for the Manchester Mark I computer of the 1950s building on the work of Alick Glennie, who worked with Alan Turing. Brooker's Autocode, developed in 1954, was one of the first high level programming languages and it pre-dates Fortran by a few years.

The language features are relatively primitive: it provides a set of named memory locations (n1 to n18) which can store floating point values, indirectly addressed "vector" variables, (v1 to v5000, or vn1, vn2 etc.), ability to load data values, print variables, and call mathematical functions, (log, exp, sin, etc.). Instructions can be repeated by jumping to a given labelled line until a condition is met.

There is more information about the history of Brooker's Autocode on the University of Manchester's Digital 60th anniversary webpages, for example, here . There is a Wikipedia page on Autocodes, here which mentions the Mark I Autocode and a one on the Manchester Mark I computer and its history, here. A scanned paper by Brooker on the Autocode programs developed for the Manchester University Computers is here.

My Interpreter for the Mark I Autocode

In 1985, as a 2nd year undergraduate at Warwick Computer Science, I wrote an interpreter based on Brooker's specification of the Standard Account of the 'Simple Machine'. The interpreter and the syntax of the Autocode are described in my class report from that time:

Below is a sandbox to run the interpreter and try out some Mark I Autocode. You might want to start with the example programs.

AB.


Example Programs:


Code Editor:


If nothing appears in the console (below), try running directly from the source page here.
Console:


Abhir Bhalerao, Department of Computer Science, University of Warwick. July, 2015.