336,339c336,339
< %CONSTINTEGER STLN=X'5C',ASF=X'6E',ST=X'48',RALN=X'6C',LXN=X'7E',%C
<               LLN=X'7C',LSS=X'62',SLSS=X'42',MPSR=X'32',STSF=X'5E',%C
<               LUH=X'6A',STUH=X'4A',LSD=X'64',SLSD=X'44',PRCL=X'18', %C
<               LSQ=X'66',SLSQ=X'46',STXN=X'4C',LCT=X'30',STCT=X'36'
---
> %CONSTINTEGER STLN=X'5C',ASF=X'6E',ST=X'48',RALN=X'6C',LXN=X'7E'
> %CONSTINTEGER LLN=X'7C',LSS=X'62',SLSS=X'42',MPSR=X'32',STSF=X'5E'
> %CONSTINTEGER LUH=X'6A',STUH=X'4A',LSD=X'64',SLSD=X'44',PRCL=X'18'
> %CONSTINTEGER LSQ=X'66',SLSQ=X'46',STXN=X'4C',LCT=X'30',STCT=X'36'
342,344c342,344
< %CONSTINTEGER IAD=X'E0',ICP=X'E6',USH=X'C8',ISB=X'E2',IRSB=X'E4',%C
<               OR=X'8C',UCP=X'C6',IMY=X'EA',IMDV=X'AE',AND=X'8A', %C
<               ISH=X'E8',NEQ=X'8E'
---
> %CONSTINTEGER IAD=X'E0',ICP=X'E6',USH=X'C8',ISB=X'E2',IRSB=X'E4'
> %CONSTINTEGER OR=X'8C',UCP=X'C6',IMY=X'EA',IMDV=X'AE',AND=X'8A'
> %CONSTINTEGER ISH=X'E8',NEQ=X'8E'
357,360c357,360
< %CONSTSTRING(4)DEFAULTMAINEP='S#GO'
< %CONSTSTRING(8)MDEP='S#NDIAG'
< %CONSTSTRING(8)SIGEP='S#SIGNAL';    ! EP FOR SIGNAL
< %CONSTSTRING(11)AUXSTEP='ICL9CEAUXST';! EP FOR AUX STACK
---
> %CONSTSTRING(4)DEFAULTMAINEP="S#GO"
> %CONSTSTRING(8)MDEP="S#NDIAG"
> %CONSTSTRING(8)SIGEP="S#SIGNAL";    ! EP FOR SIGNAL
> %CONSTSTRING(11)AUXSTEP="ICL9CEAUXST";! EP FOR AUX STACK
404,405c404,405
<             PRINTSTRING( 'EDINBURGH ALGOL 60M  COMPILER ')
<             PRINTSTRING( ' VERSION 60')
---
>             PRINTSTRING( "EDINBURGH ALGOL 60M  COMPILER ")
>             PRINTSTRING( " VERSION 60")
412c412
< %RECORDARRAY ASLIST(0:ASL)(LISTF)
---
> %RECORD(LISTF)%ARRAY ASLIST(0:ASL)
667c667
<             %WHILE CCLINES(LINE+1)<=Q %THEN LINE=LINE+1
---
>             %WHILE CCLINES(LINE+1)<=Q %CYCLE; LINE=LINE+1; %REPEAT
1667,1668c1667,1668
<             PRINT STRING(' LINES ANALYSED
< ')
---
>             PRINT STRING(" LINES ANALYSED
> ")
1670c1670
<             PRINTSTRING('
---
>             PRINTSTRING("
1672c1672
< ')
---
> ")
1826,1827c1826,1827
<             PRINTSTRING('
< CODE FOR LINE'); WRITE(LINE,5)
---
>             PRINTSTRING("
> CODE FOR LINE"); WRITE(LINE,5)
2054c2054
< %RECORDNAME CELL (LISTF)
---
> %RECORD(LISTF)%NAME CELL 
2408c2408
<          LPUT(11,MAIN<<31!2,AT,ADDR(NAME)) %IF NAME#''
---
>          LPUT(11,MAIN<<31!2,AT,ADDR(NAME)) %IF NAME#""
2566c2566
< %RECORDNAME CELL(LISTF)
---
> %RECORD(LISTF)%NAME CELL
2836,2837c2836,2837
<          %IF LOGEPDISP=0 %THEN CXREF('S#ILOG',PARMDYNAMIC,2,LOGEPDISP)
<          %IF EXPEPDISP=0 %THEN CXREF('S#IEXP',PARMDYNAMIC,2,EXPEPDISP)
---
>          %IF LOGEPDISP=0 %THEN CXREF("S#ILOG",PARMDYNAMIC,2,LOGEPDISP)
>          %IF EXPEPDISP=0 %THEN CXREF("S#IEXP",PARMDYNAMIC,2,EXPEPDISP)
2936c2936
<          CXREF('S#STOP',PARMDYNAMIC,2,J)
---
>          CXREF("S#STOP",PARMDYNAMIC,2,J)
3151c3151
< %RECORDNAME LCELL(LISTF)
---
> %RECORD(LISTF)%NAME LCELL
3158c3158
<          %WHILE A(EXTRN)=1 %THEN EXTRN=EXTRN+3
---
>          %WHILE A(EXTRN)=1 %CYCLE; EXTRN=EXTRN+3; %REPEAT
3327c3327
<                %WHILE A(P)=1 %THEN P=P+1;    ! PAST COMMENTS
---
>                %WHILE A(P)=1 %CYCLE; P=P+1; %REPEAT;   ! PAST COMMENTS
3437,3438c3437,3439
<          %WHILE A(P+1)=1 %THEN APARM=APARM!A(P) %AND %C
<              P=P+2 %AND NNAMES=NNAMES+1
---
>          %WHILE A(P+1)=1 %CYCLE
>            APARM=APARM!A(P); P=P+2; NNAMES=NNAMES+1
>          %REPEAT
3575d3575
< %SPEC DECLARE
3663c3663
<          %WHILE A(P)=1 %THEN P=P+3;     ! SKIP OLABEL (IF ANY)
---
>          %WHILE A(P)=1 %CYCLE; P=P+3; %REPEAT;     ! SKIP OLABEL (IF ANY)
3725c3725
< %RECORDNAME LC(LISTF)
---
> %RECORD(LISTF)%NAME LC
3759c3759
< %RECORDNAME LC(LISTF)
---
> %RECORD(LISTF)%NAME LC
3898c3898
<          %WHILE A(P+1)=1 %THEN P=P+2 %AND APARM=APARM!A(P) %AND NN=NN+1
---
>          %WHILE A(P+1)=1 %CYCLE; P=P+2; APARM=APARM!A(P); NN=NN+1; %REPEAT
4036c4036
< %RECORDNAME LCELL(LISTF)
---
> %RECORD(LISTF)%NAME LCELL
4284c4284
< %RECORDNAME LCELL(LISTF)
---
> %RECORD(LISTF)%NAME LCELL
4550c4550
<          %WHILE A(P)=1 %THEN P=P+1 %AND CLABEL
---
>          %WHILE A(P)=1 %CYCLE; P=P+1; CLABEL; %REPEAT
4576c4576
<             %WHILE A(P)=8 %THEN P=P+1 %AND CLABEL
---
>             %WHILE A(P)=8 %CYCLE; P=P+1; CLABEL; %REPEAT
4593c4593
<          %WHILE A(P)=1 %THEN P=P+1;     ! PAST ANY COMMENTS
---
>          %WHILE A(P)=1 %CYCLE; P=P+1; %REPEAT;     ! PAST ANY COMMENTS
4604c4604
<             %WHILE A(P)=8 %THEN P=P+1 %AND CLABEL
---
>             %WHILE A(P)=8 %CYCLE; P=P+1; CLABEL; %REPEAT
4622c4622
<             %WHILE A(FBP)=1 %THEN FBP=FBP+3
---
>             %WHILE A(FBP)=1 %CYCLE; FBP=FBP+3; %REPEAT
4978c4978
< %RECORDNAME LCELL(LISTF)
---
> %RECORD(LISTF)%NAME LCELL
5492,5493c5492,5493
< %RECORDNAME OPND1, OPND2, OPND3(RD)
< %RECORDNAME LCELL(LISTF)
---
> %RECORD(RD)%NAME OPND1, OPND2, OPND3
> %RECORD(LISTF)%NAME LCELL
5496c5496
< %ROUTINESPEC FLOAT(%RECORDNAME OPND)
---
> %ROUTINESPEC FLOAT(%RECORD(RD)%NAME OPND)
5498c5498
< %ROUTINESPEC FIX(%RECORDNAME OPND,%INTEGER MODE)
---
> %ROUTINESPEC FIX(%RECORD(RD)%NAME OPND,%INTEGER MODE)
5503c5503
< %ROUTINESPEC LOAD(%RECORDNAME OPND,%INTEGER REG, MODE)
---
> %ROUTINESPEC LOAD(%RECORD(RD)%NAME OPND,%INTEGER REG, MODE)
5808c5808
< %ROUTINE LOAD(%RECORDNAME OPND,%INTEGER REG, MODE)
---
> %ROUTINE LOAD(%RECORD(RD)%NAME OPND,%INTEGER REG, MODE)
5816d5815
< %RECORDSPEC OPND(RD)
6008c6007
< %ROUTINE FLOAT(%RECORDNAME OPND1)
---
> %ROUTINE FLOAT(%RECORD(RD)%NAME OPND1)
6012d6010
< %RECORDSPEC OPND1(RD)
6043c6041
< %ROUTINE FIX(%RECORDNAME OPND,%INTEGER MODE)
---
> %ROUTINE FIX(%RECORD(RD)%NAME OPND,%INTEGER MODE)
6050d6047
< %RECORDSPEC OPND(RD)
6185c6182
< %RECORDNAME LCELL(LISTF)
---
> %RECORD(LISTF)%NAME LCELL
6216c6213
< %RECORDNAME LCELL(LISTF)
---
> %RECORD(LISTF)%NAME LCELL
6305c6302
< %RECORDNAME LCELL(LISTF)
---
> %RECORD(LISTF)%NAME LCELL
6824c6821
< %RECORDNAME LCELL(LISTF)
---
> %RECORD(LISTF)%NAME LCELL
7187c7184
< %RECORDNAME LCELL(LISTF)
---
> %RECORD(LISTF)%NAME LCELL
7427c7424
<                %WHILE A(P)=1 %THEN P=A(P+2)+P+2
---
>                %WHILE A(P)=1 %CYCLE; P=A(P+2)+P+2; %REPEAT
7429c7426
<                %WHILE A(P)=1 %THEN P=P+1 %AND P=P+A(P)
---
>                %WHILE A(P)=1 %CYCLE; P=P+1; P=P+A(P); %REPEAT
7443c7440
<             %WHILE A(P)=1 %THEN Q=Q+1 %AND P=P+2+A(P+2)
---
>             %WHILE A(P)=1 %CYCLE; Q=Q+1; P=P+2+A(P+2); %REPEAT
7529c7526
< %RECORDNAME R(RD)
---
> %RECORD(RD)%NAME R
7559c7556
< %RECORDNAME OPND(RD)
---
> %RECORD(RD)NAME OPND
7574c7571
< %RECORDNAME LCELL(LISTF)
---
> %RECORD(LISTF)%NAME LCELL
7593c7590
< %RECORDNAME LCELL(LISTF)
---
> %RECORD(LISTF)%NAME LCELL
7786,7795c7783,7792
< %CONSTSTRING(3)%ARRAY REGS(0:7)='ACC',' DR','LNB','XNB',
<                                       ' PC','LTB','TOS','  B';
< %CONSTSTRING(15)%ARRAY USES(0:15) =' NOT KNOWN ',' I-RESULT  ',
<                                    ' TEMPORARY ','  PLTBASE  ',
<                                    ' NAMEBASE  ',' LIT CONST ',
<                                    ' TAB CONST ',' DESC FOR  ',
<                                    ' RECD BASE ',' LOCAL VAR ',
<                                      ' FN RESULT ',
<                                    '    ???    '(3),' SST BASE  ',
<                                    ' RT PARAM   ';
---
> %CONSTSTRING(3)%ARRAY REGS(0:7)="ACC"," DR","LNB","XNB",
>                                       " PC","LTB","TOS","  B";
> %CONSTSTRING(15)%ARRAY USES(0:15) =" NOT KNOWN "," I-RESULT  ",
>                                    " TEMPORARY ","  PLTBASE  ",
>                                    " NAMEBASE  "," LIT CONST ",
>                                    " TAB CONST "," DESC FOR  ",
>                                    " RECD BASE "," LOCAL VAR ",
>                                      " FN RESULT ",
>                                    "    ???    "(3)," SST BASE  ",
>                                    " RT PARAM   ";
7797,7799c7794,7796
<                                         '  LOCKED   ','   FREE    ',
<                                         ' I-RESULT  ',' TEMPORARY ',
<                                         ' RT-PARAM  ';
---
>                                         "  LOCKED   ","   FREE    ",
>                                         " I-RESULT  "," TEMPORARY ",
>                                         " RT-PARAM  ";
7804c7801
<                   ' USE = '.USES(GRUSE(I)))
---
>                   " USE = ".USES(GRUSE(I)))
7946c7943
<          %UNTIL N=WORD(I) %OR I= 261 %THEN I=I+5
---
>          %UNTIL N=WORD(I) %OR I= 261 %CYCLE; I=I+5; %REPEAT
7970c7967
<             %WHILE CCLINES(LINE+1)<=QMAX %THEN LINE=LINE+1
---
>             %WHILE CCLINES(LINE+1)<=QMAX %CYCLE; LINE=LINE+1; %REPEAT
8040,8044c8037,8041
< %CONSTSTRING(23)%ARRAY MESS(1:5)=' KEYWORD IN COMMENT',
<                                  ' NAME ? NOT USED ',
<                                  ' LAB ? PASSED BY NAME!',
<                                  ' DUMMY STMNT COMPILED',
<                                  ' STRING CNST TRUNCATED'
---
> %CONSTSTRING(23)%ARRAY MESS(1:5)=" KEYWORD IN COMMENT",
>                                  " NAME ? NOT USED ",
>                                  " LAB ? PASSED BY NAME!",
>                                  " DUMMY STMNT COMPILED",
>                                  " STRING CNST TRUNCATED"
8056c8053
<          %IF K=0 %THEN PRINTSTRING('???') %ELSE %C
---
>          %IF K=0 %THEN PRINTSTRING("???") %ELSE %C
8088c8085
< %RECORDNAME LCELL(LISTF)
---
> %RECORD(LISTF)%NAME LCELL
8120c8117
< %RECORDNAME LCELL(LISTF)
---
> %RECORD(LISTF)%NAME LCELL
8159c8156
< %RECORDNAME LCELL(LISTF)
---
> %RECORD(LISTF)%NAME LCELL
8208c8205
< %RECORDNAME LCELL(LISTF)
---
> %RECORD(LISTF)%NAME LCELL
8220c8217
<          %WHILE I#0 %THEN J=I %AND I=ASLIST(J)_LINK
---
>          %WHILE I#0 %CYCLE; J=I; I=ASLIST(J)_LINK; %REPEAT
8232c8229
< !         %WHILE I#0 %THEN J=I %AND I=ASLIST(J)_LINK
---
> !         %WHILE I#0 J=I %AND I=ASLIST(J)_LINK
8243c8240
< !!            %WHILE CELL#0 %THEN J=CELL %AND CELL=ASLIST(CELL)_LINK
---
> !!            %WHILE CELL#0 J=CELL %AND CELL=ASLIST(CELL)_LINK
