10.07.2015 Views

Algol 68 - ACM Digital Library

Algol 68 - ACM Digital Library

Algol 68 - ACM Digital Library

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

72a)b)c)d)e)g)h)J)k)1)m)n)o)p)van Wijngaarden, et al.VIRACT MOlD NEST declarer{c,e,g,h,523a,b} :VIRACT MOlD NEST declarator{c,d,g,h,o,s,-} ;MOlD TALLY NEST applied mode indication with TAB{48b,-}.formal MOlD NEST declarer{e,h,p,r,u,34k,44a,541a,b,e,551a} :where MOlD deflexes to MOlD{47a,b,c,-},formal MOlD NEST declarator{c,d,h,o,s,-} ;MOIDI TALLY NEST applied mode indication with TAB{48b,-},where MOIDI deflexes to MOID{47a,b,c,-}.VICTAL reference to MODE NEST declarator{a,b,42c} :reference to{94d} token, virtual MODE NEST declarer{a}.VICTAL structured with FIELDS mode NEST declarator{a,b,42c} :structure{94d} token,VICTAL FIELDS NEST portrayer of FIELDS{e} brief pack.VICTAL FIELDS rNEST portrayer of FIELDSI{d,e} :VICTAL MODE NEST declarer{a,b},NEST MODE FIELDS joined definition of FIELDSI{41b,c} ;where (FIELDSI) is (FIELDS2 FIELDS3),VICTAL MODE NEST declarer{a,b},NEST MODE FIELDS joined definition of FIELDS2{41b,c},and also{94f} token,VICTAL FIELDS NEST portrayer of FIELDS3{e}.NEST MODE FIELDS definition of MODE field TAG{41c} :MODE field FIELDS defining field selector with TAG{48c}.VIRACT flexible ROWS of MODE NEST declarator{a,42c} :flexible{94d} token, VIRACT ROWS of MODE NEST declarer{a}.VICTAL ROWS of MODE NEST declarator{a,b,42c} :VICTAL ROWS NEST rower{i,j,k,l} STYLE bracket,VICTAL MODE NEST declarer{a,b}.VICTAL row ROWS NEST rower{h,i} :VICTAL row NEST rower{j,k,l}, and also{94f} token,VICTAL ROWS NEST rower{i,j,k,l}.actual row NEST rower{h,i} : NEST lower bound{m}, up to{94f} token,NEST upper bound{n} ; NEST upper bound{n}.virtual row NEST rower{h,i} : up to{94f} token option.formal row NEST rower{hA} : up to{94f} token option.NEST lower bound{j,532f,g} : meek integral NEST unit{32d}.NEST upper bound{j,532f} : meek integral NEST unit{32d}.VICTAL PROCEDURE NEST declarator{a,b,42c} :procedure{94d} token, formal PROCEDURE NEST plan{p}.formal procedure PARAMETY yielding MOlD NEST plan{o,45a} :where (PARAMETY) is (EMPTY), formal MOlD NEST declarer{b} ;where (PARAMETY) is (with PARAMETERS),PARAMETERS NEST joined declarer{q,r} brief pack,formal MOlD NEST declarer{b}.q)r)s)t)u){Examples:ALGOL <strong>68</strong> Revised ReportPARAMETERS PARAMETER NEST joined declarer{p,q} :PARAMETERS NEST joined deelarer{q,r}, and also{94f} token,PARAMETER NEST joined declarer{r}.MODE parameter NEST joined declarer{p,q} :formal MODE NEST declarer{b}.VICTAL union of MOODSI MOOI)I modeNEST declarator{a,b,42c} :unless EMPTY with MOODSI MOODI incestuous{47f},union of{94d} token,MOII)S NEST joined declarer{t,u} brief pack,where MOLDS ravels to MOOI)S2{47g}and safe MOODSI MOOI)I subset of safe MOOI)$2{731}and safe MOODS2 subset of safe MOOI)SI MOODI{731,m}.MOLDS MOlD NEST joined declarer{s,t} :MOLDS NEST joined declarer{t,u}, and also{94f} token,MOlD NEST joined declarer{u}.MOlD NEST joined declarer{s,t} : formal MOll) NEST declarer{b}.a) [1 : n] real • person b) [ ] real • stringc) ref reald) struct (int age, ref person father, son)e) ref person father, son • int age, ref person father, sonf) age g) flex [1 : n] realh) [1: m,l: nJreal i) 1: m, 1: nj) l:n k) :1): m) 1n) n o) proc (bool, 0ool) boo/p) (bool, bool) bool q) boo/, boolr) bool s) union (inI, char)t) int, char u) inl }{For actuaI-MOII)-TALLY.declarers, see 4.2.1.c: for actual-routinedeclarers,see 4.4.1.b.There are no declarers specifying modes such as 'union of integralunion of integral real mode mode" or 'union of integral real integralmode'. The declarers union (int, union (int, real)) and union (int, real, int)may indeed be written, but in both cases the mode specified is 'union ofintegral real mode' (which can as well be spelled "union of real integralmode') .}4.6.2. Semanticsa) The yield W of an actual-MODE-declarer D, in an environ E,determined as follows:is73

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!