atlas autocode (aa)r.a. brooker and j.s. rohl, atlas autocode reference manual, university of manchester computer science department, 1965. (original scans)p.d. schofoeld and m.r. osbourne, programming in atlas autocode, computer unit report no.1, university of edinburgh, 1965. (original scan) was a programming language developed around 1965 at manchester university for the atlas computer. it was developed by tony brooker and derrick morris as a variant of the algol programming language, removing some algol features such as "passing parameters by name" (which in algol 60 means passing the address of a short subroutine to recalculate the parameter each time it was mentioned). it featured explicitly typed variables, subroutines, and functions. the aa compiler generated range-checking for array accesses, and allowed an array to have dimensions that were determined at run-time (i.e. you could declare an array as integer array thing (i:j), where i and j were calculated values). ==features== machine code could be included within the high-level aa routines either to make an inner loop more efficient or to effect some operation which could not easily be done otherwise. atlas autocode included a complex data type which would support complex numbers, partly because of pressure from the electrical engineering department, as complex numbers are used to represent the behavior of alternating current. the square root of -1 was represented by i, which was treated as a fixed complex constant = i. the complex data type was dropped when atlas autocode later morphed into the edinburgh imp programming language. (imp was an extension of aa and was notable for being used to write the emas operating system.) atlas autocode's second-greatest claim to fame (after being the progenitor of imp and emas) was that it had many of the features of the original "compiler compiler". a variant of the aa compiler included run-time support for a top-down recursive descent parser. the style of parser used in the compiler compiler was in use continuously at edinburgh from the 60's until almost the turn of the millennium. other autocodes were developed for the titan computer, a prototype atlas 2 at cambridge, and the ferranti mercury. ==syntax== atlas autocode's syntax was largely similar to algol, though it was influenced by the output device which the author had available, a friden flexowriter. consequently it allowed symbols like "Â½" for ".5" and the superscript 2 for "to the power of
Structured_programming_languages