Translation of artificial languages by compiler programs

Robert F. Rosin · Preprints of papers presented at the 14th national meeting of the Association for Computing Machinery on - ACM '59 · 1959

This work was carried out primarily to investigate artificial languages from the standpoint of translation by machine. It was desired to learn what representations are necessary to make this task more easily accomplished. It was felt that this work would apply not only to translation of artificial languages but also to natural language translation by machine and other complex symbol manipulation programs as well. It must be pointed out that the problem under consideration was not the translation algorithm, but the code necessary to transmit this algorithm to the machine. For this reason two relatively uncomplicated languages were used.As a by-product of this work it was hoped to show that the more flexibility with which a language is endowed, the more powerful programs it may produce. GAT was not intended to be a symbol-manipulator-compiler, but a compiler with enough power to be useful in both the educational and applied areas of a university computer installation. To ensure these ends a very simple, yet powerful tool was added; the ability to operate with (read, write, compare, etc.) alphabetic variables. This was facilitated by the internal structure of the IBM 650 with alphabetic and special character devices.To make this work as pure a demonstration as possible, the translator was to be written in such a way as to use a minimum of externally produced subroutines. This meant that some operations which might be carried on very efficiently in some other languages (e.g. SOAP) would be time and space consuming in the translator. Due to the character of the GAT language these subroutines may be used as operators to some extent and allow for easy coding of conversions from one mode of internal storage to another.It should be noted here that there was never any intent to produce a production level translator. Compilers today use storage less efficiently than human coders and also are not equipped to take advantage of all of the devices available to the human programer. Nevertheless, it was happily noted that the translation of arithmetic FORTRANSIT statements to the corresponding GAT statements was relatively fast. A representative time might be about ten statements per minute. This varies according to the length and complexity of the statement.

Read the paper · More papers on PaperTik