The organization of the object code generator in Algol 68 H : (prepublication)
H.J. Boom · Centrum Wiskunde & Informatica (CWI), the national research institute for mathematics and computer science in the Netherlands · 1975
The generaJ.approach to object cod.e generation in the Algol 68 H c0mpiler is presented.Algol 68 H is to be a compiler for all of Algol 68, written by one man in two or three years.The.various intermediate languages used internally are explained, showing a gradual descent from a parse tree to a relocatable object module.These languages are: TREE: A :i;arse tree, containing the essential inf'orrcation from the constructs of the Revised Report on the Algorithmic Language Algol 68.The parse tree canould be interpreted by an interpreter much resembling a Lisp interpreter.STACK: This language is rather like postfix Polish, but with some non-postfix provisions for range entry, jumps, range exit, declarations, etc.STORE: A language with conventional, possibly segmented, storage, and possibly a smaJ.lrurount of special storage ( such as registers) .In this language, values do not exist as independent entities on a stack.They always exist in storage, and are accessed by their storage locations.The heap and garbage collection are defined in this language.REGISTER: This language is very similar to the store language, except that the nature of the special storage and the ruoounts of main storage required by various data types are known.The transition from the STORE language to the REGISTER language marks the introduction of machine dependence.