Atlas Autocode
Atlas Autocode (AA) was a integer array Thing (i:j), where i and j were calculated values). Direct machine coding was allowed.
Atlas Autocode included a complex data type which would support i, which was treated as a fixed complex constant = "i". This was partly because of pressure from the
This 'complex' feature was dropped when Atlas Autocode later morphed into the
Keywords in AA were represented as being underlined. There was a mode "uppercasedelimiters", where all uppercase letters (outside strings) were treated as underlined lowercase.
In some versions (but not in the original Atlas version), for the sake of easy typing it was possible to strop keywords by placing a "%" sign in front of them, for example the keyword endofprogramme could be typed as %end %of %programme or %endofprogramme
There were no reserved words in the language. In the statement if token=if then result = token, there is both a keyword if and a variable named if.
Because of this keyword stropping, it was possible for AA to allow spaces in variable names, such as integer previous value. Spaces were not significant and were removed prior to parsing in a trivial pre-lexing stage called "line reconstruction". What the compiler would see in the above example would be "iftoken=ifthenresult=token".
The syntax for expressions let the multiplication operator be omitted, e.g. 3a was treated as 3*a, and a(i+j) was treated as a*(i+j) if a was not an array. In ambiguous usages, the longest possible name was taken, for example ab was not treated as a*b, whether or not a and b had been declared.
Atlas Autocode's syntax was influenced by the output device which the author had available, a Friden
Other Flexowriter characters that were found a use in Atlas Autocode were: α in floating-point numbers, e.g. 3.56α-7 for modern 3.56e-7 ; β to mean "the second half of an Atlas memory word"; π for the mathematical
When AA was ported to the
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
Other
External links
* [http://history.dcs.ed.ac.uk/archive/bfoley/atlasautocode.html Atlas Autocode Reference Manual]
* [http://history.dcs.ed.ac.uk/archive/docs/CU-Rep-1-AA.pdf Programming In Atlas Autocode] - Edinburgh University Computer Unit Report #1 (1965) (PDF 1.2 format - you may need to right-click and save first, depending on your browser and version of Adobe reader)