Hardware representation (The GNU Algol 68 Compiler)

## 5 Hardware representation ¶

The reference language specified by the Revised Report describes Algol 68 particular programs as composed by symbols. However, the Report leaves the matter of the concrete representation of these symbols, the representation language, open to the several implementations. This was motivated by the very heterogeneous computer systems in existence at the time the Report was written, which made flexibility in terms of representation a crucial matter.

This flexibility was indeed exploited by the early implementations, and there was a price to pay for it. A few years after the publication of the Revised Report the different implementations had already given rise to a plethora of many related languages that, albeit being strict Algol 68, differed considerably in appearance. This, and the fact that people were already engrossed in writing programs other than compilers that needed to process Algol 68 programs, such as code formatters and macro processors, prompted the WG 2.1 to develop and publish a Report on the Standard Hardware Representation for ALGOL 68, which came out in 1975.

This compiler generally follows the Standard Hardware Representation, but deviates from it in a few aspects. This chapter provides an overview of the hardware representation and documents any deviation.