ALPHA—An Automatic Programming System of High Efficiency

An automatic programming system for the M-20 computer at the Computing Centre of the Siberian Division of the USSR Academy of Sciences has been developed. The translator is a compiler which accepts source programs written in ALPHA language (hardware representation of which input language is an extension of ALGOL 60). The language extensions include the ability to handle complex quantities and the ability to consider variables as matrices or vectors. Certain language limitations are imposed concerning recursion and the correspondence between parameters in procedure definitions and calls. The translator itself consists of two phases. The first phase contains 14 blocks and translates a source program to an intermediate language. The second phase which consists of 10 blocks converts the internal language to machine code. The principal objective in designing the compiler was the production of fast, compact object code. Techniques for such achievement are detailed. Since the compiler has been operational for some time, comparative figures are given for a series of programs as compiled by the ALPHA translator and as handwritten by programmers. Further figures compare ALPHA with TA-1 and TA-2 (earlier compilers written for the same computer). A special debugging system operates in conjunction with the ALPHA translator.