On the generation of ALGOL 68 programs involving infinite modes

L. Meertens
DOI: https://doi.org/10.1145/1316865.1316869
1969-02-01
Abstract:On the gleneration of ALGOL 68 prq(Tams inyolvin~ infinite modes AB30 p 90 L. Meert ens 0. Introduction Certain proper ALGOL 68 (particular-)programs, e.g., bo~zin struct chain = (ref chain link); skid end, can only be generated according to the rules given in the Report on the Algorithmic Language ALGOL 68 (I), by producing, in an infinite number of steps, a mode of infinite length. It has raised objections that this generation process is not finite and, therefore, not constructive. Moreover, G.S.Tseytin has shown (2) that the definitions in the ALGOL 68 report do not preclude an interpretation of equality between infinite modes in which, e.g., the modes specified by the mode-indications a and b defined by the declaration mode a = proc (_, a) _, k = proc (a, ~., a~) a a~e equal, although these are clearly intended to be different. The purpose Of this note is to sketch a process that allows the generation of such programs in a finite, constructive ~y, and yet without need to change the syntax and the metaproduction rules in the ALGOL 68 report (with one annoying exception). I. The stases of the g~eneration process The generation process is described in three stages (1.1 up to 1.3), each stage yielding the material to be used in the next stage. This does nob imply that it is necessary to complete the first stage first, and next the second stage, and so on; on the contrary: whenever the process cannot be continued due 4o shortage of material, the current stage may be interrupted in order to generate new materfal; it is even possible to integrate the first two stages in the last stage, but this necessitates quite some administration circumvented in the approach described here. Before we start one change in the metaproduction rules of (I) has to be made: rule 1.2.5.f is replaced by NOTION: ALPHA; MODE; NOTION AIPHA; NOTION MODE. It is a nuisance that this change introduces unnecessary ambiguities in the process of generating the program (but not on the semantic level). These ambiguities can be circumvented, but only in a cumbersome ~y; we would have to ~rite out: NOTION: library prelude; library postlude; declaration prelude; label; label sequence; etc. I .I. Genera t.ion of "specific" metanotions and their specific production rules We proceed from the set of production rules of the metalanguage, obtained in 1.1.4 of (I). (Actually we need …
What problem does this paper attempt to address?