122 van Wijngaarden, et al.style ii comment symbol{92b}bold pragmat symbol192b}style i pragmat symbol{92b}9.4.2. Other TAX symbols9.4.2.1. MetasyntaxpragmatprA) TA(; {D,F,K,48a,b,c,d} ::I,EI"TER{B} ;TAG I,ETTER{B} ; TAG DIGIT{C}.B) LETI"ER{A} : :letter ABC{94a} ; letter aleph{-} ; style "l'Al.l.~ letter ABC{-}.C) DIGIT{A} ..: digit zero{94b} ; digit one{94b} ; digit two{94b} ;digit three{94b} ; digit four{94b} ; digit five{94b} ; digit six{94b} ;digit seven{94b} ; digit eight{94b} ; digit nine{94b}.D) TAB{48a,b} :: bold TAG{A,-} ; SIZETY STANDARD{E}.E) STANDARD{D} .... integral{94e} ; reai{94e} ; boolean{94e} ;charaeter{94e} ; format{94e} ; void{94e} ; eomplex{94e} ; bits{94e} ;bytes{94e} ; string{94e} ; sema{94e} ; file{94e} ; ehannel{94e}.F) TAD{48a,b} ..: bold TAG{A,-} ; DYAD{G} BECOMESETY{J} ;DYAD{G} cum NOMAD{I} BEEOMESETY{J}.G) DYAD{F} :: MONAD{H} ; NOMAD{I}.H) MONAD{G,K} :: or{94c} ; and{94e} ; ampersand{94c} ;differs from{94c} ; is at most{94c} ; is at least{94c} ; over{94c} ;percent{94c} ; window{94c} ; floor{94c} ; ceiling{94c} ;plus i times{94c} ; not{94c} ; tilde{94c} ; down{94c} ; up{94c} ;plus{94e} ; minus{94c} ; style TALLY monad{-}.I) NOMAD{F,G,K} :: is less than{94c} ; is greater than{94c} ;divided by{94e} ; equals{94c} ; times{94c} ; asterisk{94e}.J) BECOMESETY{F,K} :: cum beeomes{94c} ; cum assigns to{94c} ;EMPTY.K) TAM{48a,b} :: bold TAG{A,-} ; MONAD{H} BECOMESETY{J} ;MONAD{H} cum{9422e} NOMAD{I} BECOMESETY{J}.L) ABC{B}:: a;b;e ;d;e;f;g;h ;i;j ;k;! ;m ;n;o;p;q;r;s;t;u;v;w;x;y;z.M) * DOP :: DYAD{G} ; DYAD{G} cum NOMAD{I}.{The metanotion "ABC" is provided, in addition to the metanotion"ALPHA", in order to facilitate the definition of variants of ALGOL <strong>68</strong>(l.l.5.b) .}9.4.2.2. Representationa) The representation Of each TAG-symbol not given above {9.4.1} iscomposed of marks corresponding, in order, to the "LETTER's or 'DIGIT'scontained in that 'TAG'. These marks may be separated by typographicalALGOL <strong>68</strong> Revised Report 123display features {9.4.d}. The mark corresponding to each 'LETTER"('DIGIT') is the representation of that LETTER-symbol (DIGIT-symbol).{For example, the representation of a letter-x-digit-one-symbol is xl, whichmay be written x l. TAG-symbols are used for identifiers and fieldselectors.}b) The representation, if any, of each bold-TAG-symbol is composed ofmarks corresponding, in order, to the 'LETTER's or 'DIGIT's contained inthat 'TAG" {but with no typqgraphical display features in between}. Themark corresponding to each 'LETTER' ('DIGIT') is similar to the markrepresenting the corresponding LETTER-symbol (DIGIT-symbol), being, inthis Report, the corresponding bold faced letter (digit). {Other methods ofindicating the similarity which are recognizable without furtherelucidation are also acceptable, e.g., person, person, PERSON, 'person and'person' could all be representations of the bold-letter-p-letter.e-letter-rietter-s-letter.o.letter.n.symbol.}However, the representation of a bold-TAG-symbol may not be thesame as any representation of any other symbol {; thus there may be afinite number of bold-TAG.symbols which have no representation; e.g.,there is no representation for the bold-letter-r-letter.e-letter-a-letter.l.symbol because real is a representation of the real.symbol; note that thenumber of bold-TAG-symbols available is still arbitrarily large}. If,according to the convention used, a given sequence of marks could beeither the representation of one bold-TAG-symbol or the concatenation ofthe representations of two or more other symbols, then it is always to beconstrued as that one symbol {; the inclusion of a blank can always forcethe other interpretation; e.g., refreal is one symbol, whereas refreel mustalways be two}. {Bold-TAG-symbols are used for mode.indications and foroperators.}e) The representation of each SIZE-SIZET~(-STANDARD.symbol iscomposed of the representation of the corresponding SIZE-symbol, possiblyfollowed by typographical display features, followed by the represention ofthe corresponding SIZETY-STANDARD-symbol. {For example, therepresentation of a long-real-symbol is Iong real, or perhaps 'long"real'(but not, according to section b above, Iongreal or 'longreal', for thosewould be representations of the bold-letter.l.letter.o.letter.n.letter.g.letter.r.letter-e-letter-a-letter-l-symbol). SIZETY-STANDARD.symbols are used formode-indications.}d) The representation of each DOP-cum-becomes-symbol (DOP-cumassigns-to-symbol)is composed of the mark or marks representing thecorresponding DOP-symbol followed {without intervening typographicaldisplay features} by the marks representing the becomes-symbol (theassigns-to-symbol). {For example, the representation of a plus-cumbecomes-symbolis +:=. DOP-cum-beeomes-symbols are used foroperators.}
124 van Wijngaarden, etal.ALGOL <strong>68</strong> Revised Report125e) The representation of each I)YAD-cum-NOMAI)-symbol is composedof the mark representing the corresponding I)~AI)-symbol followed{without intervening typographical display features} by the markrepresenting the corresponding NOMAD-symbol. {For example, therepresentation of an over-cum-times-symbol is +x. I)YAI)-cum-NOMAI)-symbols are used for operators, but note that NOMAI)I-cum-NOMAI)2-symbols may be only dyadic-operators.}10. Standard environmentPART VEnvironment and Examples{The "standard environment" encompasses the constituent EXTERNALpreludes,system-tasks and particular-postludes of a program-text.}10.1. Program texts{The programmer is concerned with particular-programs (lO.l.l.g).These are always included in a program-text (lO.l.l.a) which also containsthe standard-prelude, a library-prelude, which depends upon theimplementation, a system-prelude and system-tasks, which correspond tothe operating environment, possibly some other particular-programs, oneor more particular-preludes (one for each particular-program) and one ormore particular-postludes.}10.1.1. SyntaxA) EXTERNAL :: standard ; library ; system ; particular.B) STOP :: label letter s letter t letter o letter p.a) program text : STYLE begin{94f} token, new LAYERI preludes{b}, [parallel{94f} token, new LAYERI tasks{d} PACK,STYLE end{94f} token.b) NESTI preludes{a} : NESTI standard prelude with DECSI{c},NESTI library prelude with DECSETY2{c},NESTI system prelude with DECSETY3{c}, where (NESTI) is(new EMPTY new DECSI DECSETY2 DECSETY3).c) NESTI EXTERNAL prelude with DECSETYI{b,f} :strong void NESTI series with DECSETYI{32b}, go on{94f} token ;where (DECSETYI) is (EMPTY), EMPTY.d) NESTI tasks{a} : NESTI system task{e} list, and also{94f} token,NESTI user task{f} PACK list.e) NESTI system task{d} : strong void NESTI unit{32d}.f) NESTI user task{d} : NEST2 particular prelude with I)ECS{c),NEST2 particular program{g} PACK, go on{94f} token,NEST2 particular postlude{i},where (NEST2) is (NESTI new DECS STOP).g) NEST2 particular program{f} :NEST2 new LABSETY3 joined label definition of I.ABSETY3{h},strong void NEST2 new LABSETY3ENCLOSED clause{31a,33a,c,34a,35a}.h) NEST joined label definition of LABSETY{g,h} :where (LABSETY) is (EMPTY), EMPTY ;where (LABSETY) is (LABI LABSETYI),NEST label definition of LABI{32c},NEST joined label definition of LABSETY! {h}.i) NEST2 particular postlude{f} :strong void NEST2 series with STOP{32b}.{Examples:a) ( v standard-prelude v; v library-prelude v; v system-prelude ¢;par begin v system-task-1 v, ¢ system-task-2 v,(¢ particular-prelude v;(start: commence: begin skip end);c particular-postlude c ),( c another user-task c)end)b) c standard-prelude (10.2, 10.3)c; c library-prelude c;c system-prelude (10.4.1) c;d) c system-task-1 (10.4.2.a) c, c system-task-2 c,( c particular-prelude c;(start: commence: begin skip end);c particular-postlude c),(c another user-task c)f) cparticular-prelude (10.5.1)c;(start: commence: begin skip end);cparticular-postlude {10.5.2) cg) start: commence: begin skip endh) start: commence:i) stop: lock (stand in); lock (stand out); lock (stand back) }10.1.2. The environment conditiona) A program in the strict language must be akin {1.1.3.2.k} to someprogram-text whose constituent EXTERNAL-preludes and particularpostludesare as specified in the remainder of this section.{It is convenient to speak of the standard-prelude, the library'.prelude,the particular-programs, etc. of a program when discussing those parts ofthat program which correspond to the constituent standard-prelude, etc. ofthe corresponding program-text.}
- Page 2 and 3:
van Wijngaarden, et al.1.1.4.2. Par
- Page 4:
Acknowledgements{Habent sua fata li
- Page 8 and 9:
14 van Wijngaarden, et al.0.3.4. Mo
- Page 10 and 11:
. . . . . . . 4 " ' 0 . . . . . . .
- Page 12 and 13: 22 van Wijngaarden, et al.• let P
- Page 14 and 15: 26 van Wijngaarden, et al.{Since so
- Page 16 and 17: 30 van Wijngaarden, et aLloperandfo
- Page 18 and 19: 34 van Wijngaarden, et al.j) WHETHE
- Page 20 and 21: 38 van Wijngaarden, et al.A protono
- Page 22 and 23: 42 van Wijngaarden, et al.d) If N i
- Page 24 and 25: 46 van Wijngaarden, et al.c) {There
- Page 26 and 27: 50 van Wijngaarden, et al.c) The ph
- Page 28 and 29: 54 van Wijngaarden, et al.3.1.1. Sy
- Page 30 and 31: 58 van Wijngaarden, et al.where (RO
- Page 32 and 33: 62 van Wijngaarden, et al.1) SOlD N
- Page 34 and 35: 66 van Wijngaarden, et al.ALGOL 68
- Page 36 and 37: 70 van Wijngaarden, et el.For each
- Page 38 and 39: 74 van Wijngaarden, et al.If 'MODE"
- Page 40 and 41: 78 J van Wijngaarden, et al.C) SECO
- Page 42 and 43: 82 van Wijngaarden, et al.ALGOL 68
- Page 44 and 45: 86 van Wijngaarden. et al.ALGOL 68
- Page 46 and 47: 90 van Wijngaarden, et al.5.4.4.1.
- Page 48 and 49: 94van Wijngaarden, et al.ALGOL 68 R
- Page 50 and 51: 98 van Wijngaarden, et al.Assignati
- Page 52 and 53: 102 van Wijngaarden, et at.{A nest,
- Page 54 and 55: 106 van Wijngaarden, et al.'HEAD's
- Page 56 and 57: 110 van Wijngaarden, et al.ALGOL 68
- Page 58 and 59: 114van Wijngaarden, et al.ALGOL 68
- Page 60 and 61: 118 van Wijngaarden, et al.ALGOL 68
- Page 64 and 65: 126 van Wijngaarden, et al.b) The c
- Page 66 and 67: 130van Wijngaarden, et al.ALGOL 68
- Page 68 and 69: 134van Wijngaarden, et al.ALGOL 68
- Page 70 and 71: 138d)e)f)g)h)i)J)k)1)m)n)van Wijnga
- Page 72 and 73: 142 van Wijngaarden, et al.physics
- Page 74 and 75: 146 van Wijngaarden, et al.gg) On s
- Page 76 and 77: 150van Wijngaarden, et al.ALGOL 68
- Page 78 and 79: 154/van Wijngaarden, et al.ALGOL 68
- Page 80 and 81: 158 van Wijngaarden, et el.fi;ref p
- Page 82 and 83: 162van Wijngaarden, et al.ALGOL 68
- Page 84 and 85: 166van Wijngaarden, et al.ALGOL 68
- Page 86 and 87: 170/van Wijngaarden, etal.ALGOL 68
- Page 88 and 89: 174J)K)L)M)N)O)P)a)b)c)d)e)van Wijn
- Page 90 and 91: 178/van Wijngaarden, et al.ALGOL 68
- Page 92 and 93: 182 van Wijngaarden, et al.• let
- Page 94 and 95: 186van Wijngaarden, et al./ALGOL 68
- Page 96 and 97: 190 van Wijngaarden, etal.composed
- Page 98 and 99: 194h)i)J)van Wijngaa(rden, et al.pr
- Page 100 and 101: 198 van Wijngaarden, et al.¢ strin
- Page 102 and 103: 202tvan Wijngaarden, et al.ALGOL 68
- Page 104 and 105: 206 van Wijngaa~den. et al.10.3.6.1
- Page 106 and 107: 210 van Wijngaarden, et al.!ALGOL 6
- Page 108 and 109: 214 van Wijngaarden, et al.inoperat
- Page 110 and 111: 218fvan Wijngaarden, et al.¢ move
- Page 112 and 113:
222 van Wijngaarden, etaL{overflow}
- Page 114 and 115:
226 van Wijngaarden, et al.ALGOL 68
- Page 116 and 117:
230max int 10.2.1.cmax real 10.2.l.
- Page 118 and 119:
234 van Wijngaarden, et al.ALGOL 68