|
DataMuseum.dkPresents historical artifacts from the history of: RegneCentralen GIER Computer |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RegneCentralen GIER Computer Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 67051 (0x105eb) Description: Bits:30000735 GIER ALGOL III PASS 6 Types: 8-hole paper tape Notes: Gier Text, Has10
[19.1.66] [PASS 6, page 1, GIER version]b k=e15+e70, i=205e13, b30, c100, d40, a22; _d e17=i ; first location of control table _d d6=59 ; number of mode dependent input symbo _lsd d1=i+d6+d6-200 ; control table base, address for byte = 0 _d d3=d1+279 ; base for operator table: d1 + max input byte - 1 _d d2=49d3 ; base for operand table: d3 + no. of operators + 2 _d i=26d2 ; first instruction: d2 + no. of operands _[The following are input byte values]d d21=270 [CAR RET], d26=161 [no-type proc] _[The following are output byte values] [GIER definitions, skipped for CDC]d d10= 56 [∧ integer], d11= 30 [round], d12= 36 [end RF exp] _ |;d d13= 37 [end R exp], d14= 38 [end addr exp], d15= 37 [end string expr] _;d d16= 42 [else adr exp], d17= 45 [end else adr exp], d18= 27 [end subscripts] _;d d19= 29 [end switch des],d20= 34 [not], d22= 96 [end proc call] _;d d23= 97 [end std. call], d24= 94 [prepare func], d25= 2 [begin call] _;d d27= 4 [end proc], d28= 47 [prepare assign], d31= -2 [elseRF-elseadr] _;d d32= -1 [else R-else adr] _s _[26. jan. 65] [Pass 6, page 2, page 1 is on the tape for pass 7, to facilitate handling of CDC ] a20:can sd30 , hv c99 ; Initialize stack:grn s M ; for s:= s - 1 while s | d30 do ___ _____ = __c60:ps s-1 , hv a20 ; pack(store[s], 0, 41, 0);; go_to in out 1; __ __c5: pmn(e1) Xt 1 ; integer procedure input; _______ _________hs e2 LA ; R:= input:= next byte; hh s ;c65:pm (s) DVX ; procedure output(n); begin R:= n; output R end; _________ _____ ___b6:c66:pm[par 3] DX ; procedure output par 3; begin R:= par 3; output R _________ _____end; ___c: hv e3 LQA ; procedure output R; begin if relation is waiting _________ _____ __then ____gr p3 , arn b13 ; begin out(buffer); relation is waiting:= false en _____ _____ __d; _hs e3 IQA ; out(R);arn p3 , hv e3 ; end output R; ___b13:qq , ; b7: c9: qq 0 , pm [par 4]; stack operator of par 4: pos in input: neg in input: ; left par input: not input: M:= OPERATOR TABLE[par 4]; c8: gm (b12) V 1 MA ; stack operator: top operator:= topoperator + 1; ; storewithmarks(M, ,a,, OPERATORSTACK[top operator ]);; go_to next symbol; __ __c7: qq (b12) t -1 ; remove operator: right par input: ; topoperator:= topoperator - 1; c6: pmn(e1) XV 1 IZA ; next symbol: inputsymbol:= input; a1:b2: pmn XV ; output is normal:= true; ____hs e2 LA ; if input symbol > ,min standard proc, then __ ____ga b1 V NT ; begin input reference:= input symbol; input symbo _____l:= ga b2 , hv a1 ; part 1(STANDARDPROCEDURETABLE[input symbol])b1: pm Xt d1 IRA ; end; controlword:= CONTROLTABLE[input symbol]; ___arn(b1) t -d6 LRC ; markscontrolword:= marks CONTROLTABLE[input symbo l];ga b4 , gt b5 ; if parametermode ∧ marks a(controlword) then __ ____ck 20 , ga b6 ; begin controlword:= CONTROLTABLE[input - _____; ,number of mode dependent symbols,]; gt b7 ; marks controlword:= marks CONTROLTABLE[input - ; ,number of mode dependent symbols,]hv c3 NB ; end; ___b5: a3: arn p , hv[action]; par 1:= part 1(controlword); par 2:= part 2(controlw ord); ; par 3:= part 3(controlword); par 4:= part 4(controlw ord);; if -, marksb(controlword) then go_to repeat; __ ____ __ __; search finished: R:= OPERANDSTACK[top operand];; go_to action [par 2]; __ __c4: gm p ; set top operand and repeat: OPERANDSTACK[topoperand] := M; c3: b12:arn d5 , gt b9 ; repeat: b4: b9: bs [par 1]t[stackpriority]; stackpriority:= part 2 (OPERANDSTACK[topoperator ]);hv a3 ; if par 1 > stackpriority then go_to search finish __ ____ __ __ed; ga b8 , tk 20 ; p1:= part 1(OPERANDSTACK[topoperator]); ga b10 , tk 10 ; p3:= part 3(OPERANDSTACK[topoperator]); b8: hv [stackaction] ; setpart 1(R) to:(part 4(OPERANDSTACK[top operator ]));; go_to stackaction [p1]; __ __[Pass 6, page 3] c10:ga b11 IZA ; standard proc 1 value after call:; p4:= part 1(R); output is normal:= false; _____c70:pm (b12) V -1 IQB ; after standard function integer argument: ; top operator:= top operator - 1; ; M:= OPERATORSTACK[top operator]; ; marks M:= marks(OPERATORSTACK[top operator]);; go_to lab 0; __ __c11:pm (b2) IQB ; standard procedure in normal mode: cln -10 , hs c ; M:= STANDARDPROCEDURETABLE[input reference]; hv a4 NQB ; marks M:= marks STANDARDPROCEDURETABLE[input referen ce];cln -10 , hs c ; lab 0: OUTPUT(part 4(M)); if marks b(M) then __ ____cln -10 , hs c ;d i=i-e69 ; _qq ; CDCd i=i+e69-1 ; _a4: hv c75 LZA ; begin OUTPUT(part 3(M)); OUTPUT(part 2(M)); end; _____ ___hv c14 ; if output is normal then go_to c75 else go_to c14 __ ____ __ __ ____ __ __; c12:pm p X ; stackaction 3:ck 3 X IOA ; if -, comb 3(OPERANDSTACK[top operand]) then __ ____arn d10 D NOA ; setpart 1(R) to: (,int,); c13:hs c ; stackaction 1: OUTPUT(part 1(R)); c14:pm p X ; stackaction 2: R:= OPERANDSTACK[top operand]; qq (b12) t -1 ; top operator:= top operator - 1;b10:hv [checkaction] ; go_to checkaction[p3]; __ __c15:pm 1d2 , gm p ; c16:ck 1 ; integer arithmetics from stack:hs c2 NO ; if -, comb 1(R) then ALARM AND SET UNDECLARED; __ ____hv c3 ; go_to repeat; __ __c17:ck 2 , pm 2d2 ; real arithmetics from stack: M:= OPERANDTABLE[,real, ];hv c4 LO ; if comb 2(R) then go_to set top operand and repea __ ____ __ __t;ck -1 , hv 1c16 ; if -,comb1(R) then ALARM AND SETUNDECLARED; go_to re __ ____ __ __peat; c18:ck 4 ; integer divide from stack:hs c2 NO ; if -, comb 4(R) then ALARM AND SETUNDECLARED; __ ____hv c3 ; go_to repeat; __ __c19:ck 7 ; checkaction 4: prepare boolean assignment from stack :hs c1 NO ; if -, comb 7(R) then ALARM; __ ____pp p-2 , hv c3 ; top operand:= top operand - 2; go_to repeat; __ __c20:gm b13 IQA ; relation from stack: tk 6 , pm 3d2 ; buffer:= M; M:= OPERANDTABLE[,boolean,];; if comb 5(R) then OPERANDSTACK[top operand]:= M; __ ____gm p LT ;hs c2 NO ; if comb 6(R) _ comb 5(R) then ALARM AND SETUNDECL __ = ____ARED;hv c3 IQA ; relation is waiting:= true; go_to repeat; ____ __ __c21:ck 7 ; boolean-operator-from-stack: hs c2 NO ; ulæseligthv c3 ; go_to repeat; __ __[19.1.66] [Pass 6, page 4] c22:ck 8 ; undeclared operator from stack:hs c1 NO ; if -, comb 8(R) then ALARM; __ ____pm 13d2 , hv c4 ; M:= OPERANDTABLE[,undeclared,];; go_to set top operand and repeat; __ __c23:ck 1 ; prepare real assign from stack:a5: hs c1 NO ; if -, comb 1 (R) then ALARM; __ ____c25:pp p-2 , hv c3 ; unstack repeat:; top operand:= top operand - 2; go_to repeat; __ __c24:ck 3 IOA ; prepare integer assign from stack:pm d11 DV LO ; if comb 3(R) then OUTPUT(,round,) __ ____ck -2 ; else if -, comb 1(R) then ALARM; ____ __ ____d i=i-e69-e69-e69 ; cdc: no round _ck 1 ;d i=i+e69-1 ; _hs c1 NO ; top operand:= top operand - 2; hs c X LOA ; OUTPUT(,prepare assign,);d i=i-e69 ; cdc: no round _pp p-2 , ps c3-1 ; go_to repeat; __ __pm d28 D ; hv c X ; c26:ga b11 IZA ; standard function integer argument:arn p , ck 3 ; p4:= part 1(R); output is normal:= false; _____pm d11 D ; if comb 3(OPERANDSTACK[top operand]) then __ ____hs c X LO ; OUTPUT(,round,); go_to c70; __ __d i=i-e69-e69-e69 ; cdc: no round _hv c70 ; comment after standard function integer argument; _______c27:ck 1 V ; standard function arithmetic argument from stack:; if -, comb 1(R) then ALARM; go_to lab 1; __ ____ __ __c28:ck 29 ; standard function string argument from stack:hs c1 NO ; if -, comb 29(R) then ALARM; __ ____b11:pm [p4] , gm p ; lab 1: OPERANDSTACK[top operand]:= OPERANDTABLE[p4];pa b3 , hv c6 ; skip bypasslabel:= true; go_to next; ____ __ __c96: ; bypasslabel:b3: bs _ , hv c40 ; if -,skip bypasslabel then goto output par 3 goto 1 __ ____ ____nextpa b3 t 1 ; skip bypasslabel:= false; _____hv c6 ; go_to next symbol; __ __c94:pa b4 t d2 ; procedure ALARM 2; _________c92:hs e5 ; begin _____hr s1 , qq s+e41 ; PRINTTEKST(|<proc.call or ident.|); < >a17:pm s DX ; A:= s; qq , ud 9e4 ; select error by; hs e9 ; print(A);vy (8e4) , hr s1 ; end; ___c30:ck 9 , pp p-2 ; designational expression: end goto: hs c1 NO ; top operand:= top operand - 2;ps c6-1 , hv c66 ; if -, comb 9(R) then ALARM; __ ____; OUTPUT PAR 3; go_to next symbol; __ __c31:ck 10 ; procedure semicolon:hs c1 NO ; if -, comb 10(R) then ALARM; __ ____c83:pp p-2 , ps c6-1 ; delete call: top operand:= top operand - 2;hv c66 , ; OUTPUT PAR 3; go_to next symbol; __ __c32:tk 4 , ud b7 ; arith or relation in input: M:=a6: pm (b6) NT ; OPERATORTABLE[if comb 3(R) then par 4 else par 3] __ ____ ____; [Pass 6, page 5]hv a7 LO ; if comb 4(R) _ comb 3(R) then __ = ____arn p , ck 6 ; lab 3: begin if -, comb 6(OPERANDSTACK[top operand] _____ __; then ALARM; ____hs c1 NO ; M:= OPERANDTABLE[par 1]; comment undeclared; _______pm (b4) t d3 ; end; ___a7: pp p-2 , hv c8 ; lab 4: topoperand:= topoperand - 2; go_to stackopera __ __tor; c33:ck 2 , hv a6 ; integer divide in input: M:= OPERANDTABLE[par 3];; go_to if comb 2(R) then lab 4 else lab 3; __ __ __ ____ ____c34:ck 11 , hv a6 ; boolean operator in input: M:= OPERATORTABLE[par 3];; go_to if comb 11(R) then lab 4 else lab 3; __ __ __ ____ ____c35:ck 12 ; left bracket in input:hs c2 NO ; if -, comb 12(R) then ALARM AND SET UNDECLARED; __ ____hh c9 ; go_to stack operator of par 4; __ __c93:ck 12 ; standard function array argument:hs c1 NO ; if -, comb 12(R) then ALARM; __ ____hv b11 ; go_to lab 1; __ __c36:pa b14 V d16 ; else expression: ; inputsymbol:= ,else adress expression,;; go_to lab 5; __ __c37:pa b14 t d17 ; end else expression: tk 20 , ck -6 ; input symbol:=,end else adress expression,; ga r2 , pp p-2 ; lab 5: top operand:= topoperand - 2; pmn p X ; current operand:= OPERANDSTACK[top operand];hv t a8 ; go_to action 20 switch[R bits 20 to 22]; __ __a8: hs c2 ; not allowed: ALARM AND SET UNDECLARED;hv c6 ; go_to next symbol; __ __[2a8]pm 13d2 , gm p ; undeclared: OPERANDSTACK[top operand]:=,undeclared,;hv c6 ; go_to next symbol; __ __[4a8]ck 23 , ps 3 ; integer or integer procedure no parameters:pm 1d2 , hv a9 ; if comb 23(current operand) then __ ____; OPERANDSTACK[topoperand]:=,integer, else ____; if -, comb 26(current operand) then __ ____; ALARM AND SET UNDECLARED; go_to RF case; __ __[6a8]ck 24 , ps 2 ; real or real procedure no parameters:pm 2d2 , hv a9 ; if comb 24(current operand) then __ ____; OPERANDSTACK[top operand]:=,real, else ____; if10 , comb 26(current operand) then __ ____; ALARM AND SET UNDECLARED; go_to RFcase; __ __[8a8]ck 23 , ps 4 ; boolean or boolean procedure no parameters:pm 3d2 , hv a10 ; if comb 23(current operand) then __ ____; OPERANDSTACK[top operand]:= ,boolean, else ____; if -, comb 27(current operand) then __ ____; ALARM AND SET UNDECLARED; go_to Rcase; __ __[10a8]ck23 , ps 5 ; label: if comb 23(current operand) then __ ____pm 4d2 , hv a11 ; OPERANDSTACK[top operand]:= ,label, else ____; if -, comb 28(current operand) then __ ____; ALARM AND SET UNDECLARED;; go_to address case; __ __[Pass 6, page 6][12a8]ck23 , ps 6 ; string: if comb 23(current operand) then __ ____pm 5d2 , hv a10 ; OPERANDSTACK[top operand]:= ,string,;; if -, comb 29(current operand) then __ ____; ALARM AND SET UNDECLARED; go_to Rcase; __ __[14a8]arnp , ck 25 ; nonsense:ps 1 , pm 6d2 ; if comb 25(current operand) then __ ____; OPERANDSTACK[top operand]:= ,nonsense, else ____; if -, comb 26(current operand) then __ ____; ALARM AND SET UNDECLARED; a9: qq (b14) V d31 ; RF case: input symbol:= RFversion(input symbol);; go_to address case; __ __a10:qq (b14) t d32 ; Rcase: input symbol:= R version(input symbol); a11:gm p V LO ; address case: ck s ; OUTPUT(input symbol);hs c2 NO ; go_to next symbol; __ __b14:pm[input symbol] DX ; ps c6-1 , hv c ; c38:pp p-2 , pm p ; colon equal input: tl 16 ITA ; top operand:= top operand - 2; tl 2 V LO ; M:= OPERANDSTACK[top operand];ck 2 V NTA ; if (comb 15(R) ∧ comb16(R) ∧ -, comb 17(M)) ∨ __tl 1 LTA ; (comb 15(R) ∧ -, comb 16(R) ∧ -, comb 19(M)) ∨ ck -1 ; (-, comb 15(R) ∧ comb 16(R) ∧ -, comb 18(M)) ∨hs c2 NO ; -, comb 17(R) then ALARM AND SET UNDECLARED; ____ps c9-1 , hv c66 ;; OUTPUT PAR 3; go_to stack operator of par 4; __ __c95:tk 2 , tk -3 ; stepelement: stepelement and do: c39:tk 2 , pp p-2 ; forelements input: hs c1 NT ; topoperand:= top operand - 2;hv c40 NO ; if -, comb 1(R) then ALARM; __ ____arn p , ck 2 ; if comb 1(R) _ comb 2(R) then go_to c40; __ = ____ __ __d i=i-e69 ; cdc: no round _a13:pm d11 D LO ; if comb 2(OPERANDSTACK[topoperand]) then __ ____hs c X LO ; OUTPUT(,round,);d i=i-e69-e69 ; cdc: no round _c40:ps c6-1 , hv c66 ; output par 3 go to next: expression in parameter mod e: ; it statement: end elsest: for: OUTPUT PAR 3;; go_to next symbol; __ __c41:tk 2 , pp p-2 ; right bracket input: hs c1 NT ; top operand:= top operand - 2;pm d11 D LO ; if -, comb 1(R) then ALARM; __ ____hs c X LO ; if -, comb 1(R) _ comb 2(R)) then OUTPUT(,round,) __ = ____;d i=i-e69-e69 ; cdc: no round _pm p X ; current operand:= OPERANDSTACK[topoperand];tk 31 IOB ; operand array:= -, (comb 30(current operand) _ =; comb 31(current operand));hv a12 NT ; if comb 30(current operand) then __ ____pm (p-1) DX -1 ; begin _____hs c91 NZ ; set part 1(OPERANDSTACK[top operator - 1]) ; to:(OPERANDSTACK[topoperator-1]-1);pm d19 DVX NOB ; if part 1(OPERANDSTACK[top operator - 1] | 0 __ =; then ALARM 1 ____; end; ___[Pass 6, page 7] a12:pm d18 DX ; hs c ; OUTPUT(arn p , tk 33 ; if operandarray then,] array, else,] switch,); __ ____ ____ck -7 , ga r1 ; OPERANDSTACK[top operand]:= pm t d2 ; OPERANDTABLE[bit 33 to 35(current operand)];gm p , hv c7 ; go_to remove operator; __ __c42:tk 15 , ck -8 ; first assign input: ga r2 , tk -29 ; OPERANDSTACK[top operand]:= hs c1 LZ ; OPERANDTABLE[bit 15 to 16(R)];pm t d2 ; if -, (comb 15(R) ∨ comb 16(R) ∨ comb 17(R)) then __ ____gm p , ps c9-1 ; ALARM; OUTPUT PAR 3;hv c66 ; go_to stackoperator of par 4; __ __c43:qq d20 , hs c65 ; implication input: OUTPUT(,_,); par 1:= 5; ,pa b4 t 5 ; R:= OPERANDSTACK[top operand];arn p , hv c34 ; go_to c34; comment boolean operator in input; __ __ _______c44:qq (b13) V -6 NQA ; then input: if relation is waiting then __ ____; begin comment change to then version; _____ _______; buffer:= buffer - 6 end else ___ ____c45:hs c66 ; while element input: pm p X ; OUTPUT PAR 3; ck 7 ;hs c1 NO ; if -, comb 7(OPERANDSTACK[top operand]) then ALAR __ ____M; c85:pp p-2 , hv c6 ; remove operand next symbol: do: ; topoperand:= topoperand - 2;; go_to next symbol; __ __c46:ck 32 ; colonequal for:hs c2 NO ; if -, comb 32(R) then ALARM AND SET UNDECLARED; __ ____ps c6-1 , hv c66 ; OUTPUT PAR 3; go_to next symbol; __ __c47:qq (p-3) t -1 ; subscript comma: set part 1(OPERANDTABLE[topoperand- 3]) ; to: (part 1(OPERANDSTACK[topoperand]-3])-1);c48:tk 2 ; end bounds: bound comma: if -, comb 1(R) then ALARM; __ ____hs c1 NT ; top operand:= top operand - 2;pp p-2 , hv a13 ; if -, (comb 1(R) _ comb 2(R)) then OUTPUT(,round, __ = ____);; OUTPUT PAR 3; go_to next symbol; __ __c49:tk 2 , pp p-2 ; boundcolon: hs c1 NT ; top operand:= top operand - 2;pm d11 D LO ; if -, comb 1(R) then ALARM; __ ____hs c X LO ; if -, (comb 1(R) _ comb 2(R)) then OUTPUT(,round, __ = ____);d i=i-e69-e69 ; cdc: no round _hv c6 ; go_to next symbol; __ __c50:hs c66 ; output par 3 copy 1: hs c5 , hs c ; OUTPUT PAR 3; hv c6 ; OUTPUT(input);; go_to next symbol; __ __c51:hs c66 ; endpass: pm d4 X -1 ; OUTPUT PAR 3; hv r-1 LZ ; information 1:= ,max height of operatorstack,; nt d5 , it (r-2) ; information 2:= ,max height of operandstack,;pa 2e4 ; if no running then go_to initialize translator; __ ____ __ __pm e25-e71+40 X -1 ; go_to pass 7; __ __hv r-1 LZ ; nt d4 , it (r-2) ; pa 3e4 , hh e94 ;s _[Pass 6, page 8] c52:hs c5 , ga b15 ; begcall: hs c5 , ga b16 ; number of actuals:= input pmf r IRB ; procedurekind:= input;hv a14 NT ; parametermode:= true; ____arn(b16) , ga r1 ; if procedurekind ,min standard proc, then __ ____arn t d1 ; R:= CONTROLTABLE[part 1(STANDARDPROCEDURETABLE; [procedurekind])] else ____hv a15 ; begin _____a14:hs c5 , ga b17 ; number of formals:= input; hs c5 , ga b18 ; relative address:= input; hs c5 , ga b19 ; blocknumber:= input; it d22 ; callbyte:= ,end proc call,; pa b20 ; b16:pmn[proc.kind] Xt d1 ;d i=i-e69-e69-e69 ; _is (b16) , it s+d22 ; CDCd i=i+e69+e69+e69-1 ; R:= CONTROLTABLE[procedurekind] _; end; ___a15:ga b4 , ck 20 ; par 1:= part 1(R);gt r, hv[callaction] ; go_to callaction[part 4(R)]; __ __; comment c53, c54, c67, c55, c56, c87, c57, or c59 _______; c53:qq d24 , hs c65 ; standard procedure 1 value in call: OUTPUT(,prep fun c,);bs (b15) t 1 ; if number of actuals 1 then go_to c59; __ ____ __ __; comment procedure call alarm; _______hv c59 ; top operator:= top operator + 1; pm (b16) IQB ; storewithmarks(STANDARDPROCEDURETABLE[procedureki nd], gm (b12) t 1 MQB ; marks STANDARDPROCEDURETABLE[procedurekind], pm (b4) IRB ; OPERATORSTACK[topoperator]);hv c8 ; M:= OPERATORTABLE[par1]; parametermode:= false; _____; go_to stackoperator; __ __c54:qq (b4) V 3 ; procedure call or assign in call:; par 1:= par 1 + 3; go_to c55; __ __c67:qq (b4) t 22 ; no type in call only in call: par 1:= par 1 + 22; c55:arn(b15) D ; not formal call only in call:b17:nc , hv c59 ; if number of actuals | number of formals then __ = ____; go_to c59; __ __c56:qq (b4) t -22 ; formal procedure in call: ; par 1:= par1 - 22; a16: c87:qq d25 , hs c65 ; formal procedure no type in call: b15:srn Dt 1 ; OUTPUT(.beg call,); hs c t ; OUTPUT(number of actuals + 1);hv c75 ; go_to c75; comment stack operand from par 1; __ __ _______c57:arn(b16) , ck 10 ; standard procedure several parameters in call: ga b19 , ck 10 ; R:= STANDARDPROCEDURETABLE[procedurekind]; pa b20 t d23 ; blocknumber:= part 2(R); ; callbyte:= ,end standard call,;ga b18 , hv a16 ; relative address:= part 3(R); go_to c87; __ __c58:hs c66 ; standard procedure in parametermode: pmn(b2) , cl -10 ; OUTPUT PAR 3; cln -10 , hs c ; M:= STANDARDPROCEDURETABLE[input reference]; cln -10 , hs c ; OUTPUT(part 3(M));d i=i-e69 ; OUTPUT(part 2(M)); comment Not for CDC; _ _______hv c6 ; go_to next symbol; __ __c59:hs c92 ; c59: procedure call alarm: pm d2 , hh c75 ; ALARM 2; ; M:= OPERANDTABLE[,undeclared,];; go_to c75h; comment go_to next symbol; __ __ _______ __ __[Pass 6, page 9] c61:hs c5 , ca d26 ; end procedure:pm d27 DV ; OUTPUT(if input = .no type proc, then __ ____pm (b6) D ; ,end proc, else par 3); ____d i=i-e69-e69-e69 ; _qq ;Ulæseligt: For CDC: qqd i=i+e69+e69-2 ; _hs c X ; OUTPUT(input + 3); comment 3 + number of paramete _______rs;hs c5 , ; R:= input; comment Remove the address bytes; _______ar 3 D ; R:= input;hs c ; go_to next symbol; __ __hs c5 , ; hs c5 , hv c6 ; c62: b20:qq[call byte], hs c65 ; end call in parametermode: b18:qq[rel addr] , hs c65 ; OUTPUT(call byte); OUTPUT(relative adress); b19:qq[block no] , hs c65 ; OUTPUT(blocknumber); c63:pm r V ; set normal mode: beg expr in parameter mode:; parametermode:= false; go_to next symbol; _____ __ __c69:hs c5 , pmf r ; expression in normal mode:hv c6 IRB ; R:= input; comment removes ,end call,; _______; parametermode:= true; ____; go_to next symbol; __ __c64:hs c66 ; beg expression in normal mode: OUTPUT PAR 3;pm (b4) , hv c8 ; M:= OPERATORTABLE[par 1]; go_to stack operator; __ __c88:pmf r V IRB ; beg local: parametermode:= true; OUTPUT PAR 3; ____; go_to next symbol; __ __c89:pm r IRB ; end local: parametermode:= false; OUTPUT PAR 3; _____ps c6-1 , hv c66 ; go_to next symbol; __ __c68:tk 15 , ck -8 ; prepare assign:ga r2 , ca ; if -, (comb 15(R) ∨ comb 16(R)) then __ ____pm 2d3 V ; M:= OPERATORTABLE[,prep undcl assign,] else ____pm t 33 d3 ; M:= OPERATORTABLE[bit 15 to 16(R) + 33];pp p-2 , hv c8 ; top operand:= top operand - 2; go_to stackoperato __ __r; c90:hs c66 ; if expression:hv c75 ; OUTPUT PAR 3; go_to c75; __ __c71:hs c5 , gr p1 ; array: set part 1(OPERANDSTACK[topoperand+1])hh c73 ; to: (input); go_to c73h; __ __c72:arn 1 D ; switch: gr p1 ; set part 1(OPERANDSTACK[topoperand + 1]) to: (1); c73:hs c5 , hs c66 ; label simple formal etc normal mode: ; R:= input; ; c73h: OUTPUT PAR 3; c74:hs c5 , hs c ; copy 2: hs c5 , hs c ; OUTPUT(input); OUTPUT(input); c75:pm (b4) , gm p2 ; stackoperand of par 1: pp p+2 , hv c6 ; M:= OPERANDTABLE[par 1]; ; c75h: set operand: ; OPERANDSTACK[top operand + 2]:= M; ; top operand:= top operand + 2;; go_to next symbol; __ __[Pass 6, page 10] c76:hs c66 ; bounds: OUTPUT PAR 3; hs c5 , hs c ; OUTPUT(input); hs c5 , hs c ; OUTPUT(input);hv c6 ; go_to next symbol; __ __c77:hs c5 , ; call or assign normal mode;qq (b4) t -3 NZ ; if input | 0 then par 1:= par 1 - 3; __ = ____hh c73 ; go_to c73h; __ __c78:hs c66 ; constant normal mode: OUTPUT PAR 3; hs c5 , hs c ; For CDC:d i=i+e69-1 ; OUTPUT(input) _hs c5 , hs c ; OUTPUT(input); hs c5 , hs c ; OUTPUT(input);hv c74 ; go_to c74; __ __c79:hs c5 , ; call only normal mode:hs c94 NZ ; if input | 0 then ALARM 2a; __ = ____hh c73 ; go_to c73h; __ __c80:hs c5 , hs c66 ; normal identifiers parameter mode: ; R:= input; ; OUTPUT PAR 3; c84:hs c5 , hs c ; copy 2 next symbol: OUTPUT(input); c99:hs c5 , hs c ; copy next symbol: OUTPUT(input);hv c6 ; go_to next symbol; __ __c81:hs c66 ; constants parameter mode: OUTPUT PAR 3; hs c5 , hs c ; For CDCd i=i+e69-1 ; OUTPUT(input); _hs c5 , hs c ; OUTPUT(input); hs c5 , hs c ; OUTPUT(input);hv c84 ; go_to c84; __ __c82:qq (e4) t 1 ; CR: CRcounter:= CRcounter + 1;hv c6 ; go_to next symbol; __ __d i=i-e69 ; For CDC: _ps c6-1 , hv c66 ; OUTPUT(CRcounter);d i=i+e69-1 ; go_to next symbol; _ __ __[21.1.66] [Pass 6, page 11]c2: pm d2 , gm p ; procedure ALARM AND SET UNDECLARED; _________; begin OPERANDSTACK[topoperand]:= undeclared; _____; ALARM end; ___c1: hs e5 ; procedure ALARM; _________hv a17 , qq s+e42 ; begin PRINTTEXT(|<type|); PRINT(s) end; _____ < > ___c91:hs e5 ; procedure ALARM 1; _________hv a17 , qq s+e40 ; begin PRINTTEXT(|<subscript|); PRINT(s) end; _____ < > ___; actual parameter expression from stack: c29:ck -4 , tk -7 ; R:= bits 36 to 38 (R); ga b25 , pp p-2 ; top operand:= top operand - 2;ca 0 , hs c1 ; if R = 0 then ALARM; __ ____b25:pmn[end expr]Xta21 ; OUTPUT(END EXPR[R]);ps c6-1 , hv c ; goto next symbol; ____d a21=i-1 ; END EXPR _qq d12 ; 1 end RF expression qq d13 ; 2 end R expression qq d14 ; 3 end address expression qq d15 ; 4 end string expression c100:ck 6 , hv c27 ; st. func. boolean argument: d5: qq c13 +1.19+777.39 ; operatorstack pos 0 [The following instructions are overwritten by the stack] ; start pass 6: c86: , ud 5e4 ; tables from drum: gs b21 , ud 4e4 ; s:= save no:= number of std idents; a18:vk p1 , pp p1 ; p:= std table track; core:= top table place;lk __e__ t -40 ; rep: p:= p - 1; core:= core - 40; 40_25ps s-40 , vk p1 ; to core(p, core); s:= s - 40;bs s , hh a18 ; if s > 0 then go_to rep; __ ____ __ __hs c5 , ga b22 ; R:= stackref 0:= input;b21:pp __ , hs e3 ; p:= save no; output(R); -1b22:srn __ D ; stackref 0:= -stackref 0⨯2∧(-20); -1 |ck 20 , gr b22 ; R:=0; arn 2e4 , mb b24 ; pack(R, 10, 19, first std proc track); a19: ; modify table:b23:pm __e__ t -1 ; 40_25pm b22 VX LA ; for p:= p, p-1 while p > 0 do ___ _____ __ac (b23) V ; table[p]:= table[p] +ac (b23) X MB ; (if bit(40, table[p]) = 0 then R __ ____pp p-1 , bs p ; else stackref 0 + bit 41 - bit 40); ____hv a19 ; ps (b23) , pp d4 ; s:= stack top + 1; pi 1.6 , hv c60 ; p:= address(operandstack[0]); ; normal:= t; condition waiting:= f;; go_to initialize stack; __ __b24:qq 0 t 511 ; mask for first std proc track;d d30=-d5 ; -address(operator stack[0]); _d29:s _[9.12.65] [PASS 6, page 12, CONTROL TABLE 1, PARAMETERMODE CDC] [Action Output]d i=e17 ; _qq c58.19+13.29 f ; string in real out qq c58.19+13.29 f ; no par. bool out qq c58.19+13.29 f ; more par. int.out qq c58.19+13.29 f ; more par. real out qq c58.19+13.29 f ; more par. bool out qq c58.19+142.29f ; standard integer qq c58.19+13.29 f ; array, int. out qq c58.19+13.29 f ; no par. int. out qq c58.19+13.29 f ; int. in, no type qq c81.19+ 0.29 f ; lit string qq c81.19+ 1.29 f ; lit.int. qq c81.19+ 2.29 f ; lit.real qq c81.19+ 3.29 f ; lit. Boolean qq c80.19+ 4.29 f ; own int. qq c80.19+ 5.29 f ; own real qq c80.19+ 6.29 f ; own Boolean qq c80.19+ 7.29 f ; switch qq c80.19+ 7.29 f ; array int qq c80.19+ 7.29 f ; array real qq c80.19+ 7.29 f ; array Bool qq c80.19+ 7.29 f ; proc. no type qq c80.19+ 7.29 f ; proc. no int. qq c80.19+ 7.29 f ; proc. no real qq c80.19+ 7.29 f ; proc. no Bool qq c80.19+ 8.29 f ; simple int qq c80.19+ 9.29 f ; simple real qq c80.19+10.29 f ; simple Bool qq c80.19+11.29 f ; label qq c80.19+ 7.29 f ; formal array int. qq c80.19+ 7.29 f ; formal array real qq c80.19+ 7.29 f ; formal array Bool qq c80.19+ 7.29 f ; formal proc. no type qq c80.19+ 7.29 f ; formal proc. no int. qq c80.19+ 7.29 f ; formal proc. real qq c80.19+ 7.29 f ; formal proc. Bool qq c80.19+ 7.29 f ; formal simple int. qq c80.19+ 7.29 f ; formal simple real qq c80.19+ 7.29 f ; formal simple Bool qq c80.19+ 7.29 f ; formal label qq c80.19+ 7.29 f ; formal switch qq c80.19+ 7.29 f ; formal string qq c80.19+ 7.29 f ; proc. call or assign int qq c80.19+ 7.29 f ; proc.call or assign real qq c80.19+ 7.29 f ; proc.call or assign Bool qq c40.19+12.29 f ; expression qq c62.19 f ; end call qq c63.19 f ; beg exp qq c80.19 f ; undeclared qq c58.19+13.29 f ; læs string qq c58.19+13.29 f ; læst qq c58.19+13.29 f ; output no param. qq c58.19+13.29 f ; several par. no type qq c58.19+13.29 f ; several par. nonsense qq c58.19+13.29 f ; arith in. real out qq c58.19+13.29 f ; string in, nons. out qq c58.19+13.29 f ; string in, Bool. out qq c58.19+13.29 f ; arith in, int. out qq c58.19+13.29 f ; int.in, nons. out qq c58.19+13.29 f ; arith. in, real out [PASS 6, page 13, CONTROL TABLE 2, NORMAL MODE CDC] [Type Action Output Call with par.] [141] qq 48d3+c59.19 +c53.39 f, ; bool in. real out [142] qq 25d2+c11.19 +c59.39 f, ; no par. bool. out [143] qq 1d2+c59.19 +c57.39 f, ; more par. int.out [144] qq 2d2+c59.19 +c57.39 f, ; more par. real out [145] qq 3d2+c59.19 +c57.39 f, ; more par. bool.out [146] qq 1d2+c11.19 +c59.39 f, ; standard integer [147] qq 46d3+c59.19 +c53.39 f, ; array, int. out [148] qq 23d2+c11.19 +c59.39 f, ; no par. int. out [149] qq 47d3+c59.19 +c53.39 f, ; int. in, no type [150] qq 5d2+c78.19+14.29 f, ; lit.string [151] qq 1d2+c78.19+15.29 f, ; lit.int. [152] qq 2d2+c78.19+16.29 f, ; lit.real [153] qq 3d2+c78.19+17.29 f, ; lit.Boolean [154] qq 1d2+c73.19+18.29+c59.39 f, ; own integer [155] qq 2d2+c73.19+19.29+c59.39 f, ; own real [156] qq 3d2+c73.19+20.29+c59.39 f, ; own Boolean [157] qq 11d2+c72.19+21.29+c59.39 f, ; switch [158] qq 8d2+c71.19+22.29+c59.39 f, ; array integer [159] qq 9d2+c71.19+23.29+c59.39 f, ; real [160] qq 10d2+c71.19+24.29+c59.39 f, ; Boolean [161] qq 7d2+c79.19+27.29+c67.39 f, ; proc. no type [162] qq 23d2+c79.19+25.29+c55.39 f, ; integer [163] qq 24d2+c79.19+26.29+c55.39 f, ; real [164] qq 25d2+c79.19+27.29+c55.39 f, ; Boolean [165] qq 1d2+c73.19+28.29+c59.39 f, ; simple integer [166] qq 2d2+c73.19+29.29+c59.39 f, ; real [167] qq 3d2+c73.19+30.29+c59.39 f, ; Boolean [168] qq 4d2+c73.19+31.29+c59.39 f, ; label [169] qq 14d2+c73.19+32.29+c59.39 f, ; formal array integer [170] qq 15d2+c73.19+33.29+c59.39 f, ; real [171] qq 16d2+c73.19+34.29+c59.39 f, ; Boolean [172] qq 7d2+c73.19+37.29+c87.39 f, ; formal proc.no type [173] qq 23d2+c73.19+35.29+c56.39 f, ; integer [174] qq 24d2+c73.19+36.29+c56.39 f, ; real [175] qq 25d2+c73.19+37.29+c56.39 f, ; Boolean [176] qq 1d2+c73.19+38.29+c59.39 f, ; formal simple integer [177] qq 2d2+c73.19+39.29+c59.39 f, ; real [178] qq 3d2+c73.19+40.29+c59.39 f, ; Boolean [179] qq 4d2+c73.19+41.29+c59.39 f, ; formal label [180] qq 11d2+c72.19+21.29+c59.39 f, ; formal switch [181] qq 5d2+c73.19+61.29+c59.39 f, ; formal string [182] qq 20d2+c77.19+25.29+c54.39 f, ; proc.call or ass.int. [183] qq 21d2+c77.19+26.29+c54.39 f, ; real [184] qq 22d2+c77.19+27.29+c54.39 f, ; Bool. [185] qq c69.19 f, ; expression [186] qq 2 , ; end call [187] qq 39d3+c64.19+42.29 f, ; beg exp [188] qq 13d2+c73.19 +c87.39 f, ; undeclared [189] qq 7d2+c11.19 +c59.39 f, ; læsstreng [190] qq 24d2+c11.19 +c59.39 f, ; læst [191] qq 6d2+c11.19 +c59.39 f, ; output no param. [192] qq 7d2+c59.19 +c57.39 f, ; several par. no type [193] qq 6d2+c59.19 +c57.39 f, ; several par. nonsense [194] qq 40d3+c59.19 +c53.39 f, ; arith.in, real out [195] qq 41d3+c59.19 +c53.39 f, ; string in, nons. out [196] qq 42d3+c59.19 +c53.39 f, ; string in, Bool. out [197] qq 43d3+c59.19 +c53.39 f, ; arith.in, int. out [198] qq 44d3+c59.19 +c53.39 f, ; int.in, nonsense out [199] qq 45d3+c59.19 +c53.39 f, ; arith.in, real out [PASS 6, page 14, CONTROL TABLE 3 CDC] [mode independent symbols originating in pass 3, values rel. to d50 in 3] [Priority Action Output or operator] [200] qq 2.9+c48.19+ 43.29 ; bound comma [201] qq 2.9+c47.19+ 44.29 ; subscr.comma [202] qq c31.19+ 45.29 f ; proc; [203] qq 12d2.9+c90.19+ 46.29 f ; ifex [204] qq c40.19+ 46.29 f ; ifst [205] qq 3.9+c44.19+ 47.29 ; thenex [206] qq 3.9+c36.19 ; elseex [207] qq c83.19+ 45.29 f ; delete call [208] qq 3.9+c37.19 ; end else ex [209] qq c40.19+ 48.29 f ; end else st [210] qq c40.19+ 48.29 f ; end then st [211] qq c30.19+ 49.29 f ; end go to [212] qq c40.19+ 50.29 f ; for [213] qq 3.9+c39.19+ 51.29 ; step [214] qq 3.9+c39.19+ 52.29 ; until [215] qq c40.19+ 53.29 f ; end do [216] qq c9.19 +16d3.39 f ; pos [217] qq c9.19 +15d3.39 f ; neg [218] qq 9.9+c32.19+12d3.29+17d3.39 ; + [219] qq 9.9+c32.19+13d3.29+18d3.39 ; - [220] qq 10.9+c32.19+14d3.29+19d3.39 ; ⨯ [221] qq 10.9+c32.19+20d3.29+20d3.39 ; /[222] qq 10.9+c33.19+22d3.29 ; _ :[223] qq 11.9+c32.19+23d3.29+21d3.39 ; ∧ |[224] qq 8.9+c32.19+24d3.29+24d3.39 ; <[225] qq 8.9+c32.19+25d3.29+25d3.39 ; _ <[226] qq 8.9+c32.19+26d3.29+26d3.39 ; =[227] qq 8.9+c32.19+27d3.29+27d3.39 ; _ >[228] qq 8.9+c32.19+28d3.29+28d3.39 ; >[229] qq 8.9+c32.19+29d3.29+29d3.39 ; | =[230] qq 6.9+c34.19+30d3.29 ; ∧ [231] qq 5.9+c34.19+31d3.29 ; ∨ [232] qq 4.9+c43.19+31d3.29 ; =>[233] qq 3.9+c34.19+32d3.29 ; _ =[234] qq c9.19 +37d3.39 f ; ( [235] qq c35.19 +37d3.39 f ; [ [236] qq 3.9+c41.19 ; right bracket [237] qq 3.9+ c7.19 ; ) [238] qq c9.19 +33d3.39 f ; -, [239] qq 3.9+c39.19+ 54.29 ; simple for and do [240] qq 3.9+c95.19+ 55.29 ; stepelement and do [241] qq 3.9+c45.19+ 56.29 ; while element and do [2.12.65] [PASS 6, page 15, CONTROL TABLE 4 CDC] [MODE INDEPENDENT SYMBOLS FROM PASS 4, VALUES RELATIVE TO d22] [PRIORITY ACTION OUTPUT] [ 0] qq c89.19+ 57.29 f ; end local [ 1] qq c96.19+ 58.29 f ; bypasslabel [ 2] qq c40.19+ 59.29 f ; goto bypasslabel [ 3] qq c40.19+ 60.29 f ; labelcolon [ 4] qq 2.9+c49.19 ; boundcolon [ 5] qq 2.9+c48.19+125.29 ; end bounds integer [ 6] qq 2.9+c48.19+126.29 ; end bounds real [ 7] qq 2.9+c48.19+127.29 ; end bounds Boolean [ 8] qq 3.9+c44.19+ 47.29 ; thenst = then ex [ 9] qq c40.19+ 62.29 f ; else st [10] qq c46.19+ 63.29 f ; := for [11] qq 3.9+c95.19+ 64.29 ; stepelem [12] qq c42.19+ 65.29+38d3.39 f ; first:= [13] qq 3.9+c39.19+ 66.29 ; while [14] qq 3.9+c45.19+ 67.29 ; while element [15] qq c68.19 f ; prepare assign [16] qq 3.9+c39.19+ 68.29 ; simple for [17] qq 2.9+ c6.19 ; end assign [18] qq c85.19 f ; do [19] qq c40.19+ 69.29 f ; while label [20] qq c38.19+ 65.29+38d3.39 f ; := [21] qq 2.9 ; end ex [22] qq 2.9+c30.19+109.29 ; end des [MODE INDEPENDENT SYMBOLS FROM PASS 5. VALUES RELATIVE TO d10] [ 0] qq c50.19+ 70.29 f ; local switch [ 1] qq c50.19+ 71.29 f ; local proc [ 2] qq c40.19+ 72.29 f ; local label [ 3] qq c40.19+ 73.29 f ; blind [ 4] qq c51.19+ 74.29 f ; end pass [ 5] qq c82.19+130.29 f ; CR [ 6] qq c50.19+ 75.29 f ; beg block [ 7] qq c50.19+ 76.29 f ; beg proc [ 8] qq c61.19 f ; end proc [ 9] qq c50.19+ 77.29 f ; take value integer [10] qq c50.19+ 78.29 f ; take value real [11] qq c50.19+ 79.29 f ; take value Boolean [12] qq c52.19+ 80.29 f ; beg call [13] qq c40.19+ 81.29 f ; end block [14] qq c76.19+ 82.29 f ; bounds [15] qq c88.19+138.29 f ; beg local [19.1.66] [PASS 6, page 16. OPERATOR TABLE CDC] [i=2d3 ACTION PRIORITY CHECK OUTPUT OUTPUTSYMBOL [ 2] qq c14+ 2.19+c25.29 ; prep. undecl. ass. [ 3] qq c14+ 3.19+c22.29 ; undecl. 3 [ 4] qq c14+ 4.19+c22.29 ; undecl. 4 [ 5] qq c14+ 5.19+c22.29 ; undecl. 5 [ 6] qq c14+ 6.19+c22.29 ; undecl. 6 [ 7] qq c14+ 7.19+c22.29 ; undecl. 7 [ 8] qq c14+ 8.19+c22.29 ; undecl. 8 [ 9] qq c14+ 9.19+c22.29 ; undecl. 9 [10] qq c14+10.19+c22.29 ; undecl. 10 [11] qq c14+11.19+c22.29 ; undecl. 11 [12] qq c13+ 9.19+c16.29+ 83.39 ; i+ : + [13] qq c13+ 9.19+c16.29+ 84.39 ; i- : - [14] qq c13+10.19+c16.29+ 85.39 ; i⨯ : ⨯ [15] qq c13+ 9.19+c16.29+105.39 ; neg: neg [16] qq c14+ 9.19+c16.29 ; pos [17] qq c13+ 9.19+c17.29+ 83.39 ; r+ : + [18] qq c13+ 9.19+c17.29+ 84.39 ; r- : - [19] qq c13+10.19+c17.29+ 85.39 ; r⨯ : ⨯ [20] qq c13+10.19+c17.29+ 86.39 ; /: /[21] qq c12+11.19+c17.29+ 89.39 ; r∧ : ∧ real | |[22] qq c13+10.19+c18.29+ 87.39 ; _ : _ : :[23] qq c12+11.19+c16.29+ 89.39 ; i∧ : ∧real | |[24] qq c14+ 8.19+c20.29+ 96.39 ; < : <[25] qq c14+ 8.19+c20.29+ 97.39 ; _ : _ < <[26] qq c14+ 8.19+c20.29+ 98.39 ; = : =[27] qq c14+ 8.19+c20.29+ 99.39 ; _ : _ > >[28] qq c14+ 8.19+c20.29+100.39 ; > : >[29] qq c14+ 8.19+c20.29+101.39 ; | : | = =[30] qq c13+ 6.19+c21.29+102.39 ; ∧ : ∧ [31] qq c13+ 5.19+c21.29+103.39 ; ∨ : ∨[32] qq c13+ 3.19+c21.29+104.39 ; _ : _ = =[33] qq c13+ 7.19+c21.29+d20.39 ; -, : -, [34] qq c14+ 2.19+c24.29+d28.39 ; prep. int. ass. : prepare assign [35] qq c13+ 2.19+c23.29+d28.39 ; prep.real ass. : prepare assign [36] qq c13+ 2.19+c19.29+d28.39 ; prep. Bool. ass. : prepare assign [37] qq 1.19 ; ( [38] qq c13+ 2.19+ c3.29+107.39 ; := : := [39] qq c14+ 2.19+c29.29[RESULT TYPE] ; actual parameter [40] qq c10+ 2.19+c27.29+2d2.39 ; arith.in, val. out: real [41] qq c10+ 2.19+c28.29+6d2.39 ; string in.nons. out: nonsense [42] qq c10+ 2.19+c28.29+3d2.39 ; string.Bool. out: Boolean [43] qq c10+ 2.19+c27.29+1d2.39 ; arith.in, int. out: integer [44] qq c26+ 2.19+c27.29+6d2.39 ; int.in, nons. out: nonsense [45] qq c10+ 2.19+c27.29+2d2.39 ; arith.in, val. out: real [46] qq c10+ 2.19+c93.29+1d2.39 ; array in, int. out: integer [47] qq c26+ 2.19+c27.29+7d2.39 ; int. in, no type: no type [48] qq c10+ 2.19+c28.29+2d2.39 ; string in, real out: real d8: [TABLE HAS 47 WORDS, FROM 2d3 TO 48d3]d a2=e69+e69, a2=a2+a2+a2+a2 ; e69= if CDC then 1 else 0 _ __ ____ ____d a2=a2+a2+a2+a2+a2+a2+a2+a2 ; a2=64⨯e69 _b k=e15+e70+a2, i=e17 ; begin drum block _ _____[25. Jan. 65] [PASS 6, page 17, CONTROL TABLE 1, PARAMETERMODE GIER] [Action Output] qq c58.19+89.29 f ; bool in real out qq c58.19+89.29 f ; no par. bool out qq c58.19+89.29 f ; more par. int.out qq c58.19+89.29 f ; more par. real out qq c58.19+89.29 f ; more par. bool out qq c58.19+86.29 f ; standard integer qq c58.19+89.29 f ; array, int. out qq c58.19+89.29 f ; no par. int. out qq c58.19+89.29 f ; int. in, no type qq c81.19+90.29 f ; lit string qq c81.19+90.29 f ; lit.int. qq c81.19+90.29 f ; lit.real qq c81.19+90.29 f ; lit. Boolean qq c80.19+87.29 f ; own int. qq c80.19+87.29 f ; own real qq c80.19+87.29 f ; own Boolean qq c80.19+88.29 f ; switch qq c80.19+88.29 f ; array int qq c80.19+88.29 f ; array real qq c80.19+88.29 f ; array Bool qq c80.19+88.29 f ; proc. no type qq c80.19+88.29 f ; proc. no int. qq c80.19+88.29 f ; proc. no real qq c80.19+88.29 f ; proc. no Bool qq c80.19+86.29 f ; simple int qq c80.19+86.29 f ; simple real qq c80.19+86.29 f ; simple Bool qq c80.19+86.29 f ; label qq c80.19+88.29 f ; formal array int. qq c80.19+88.29 f ; formal array real qq c80.19+88.29 f ; formal array Bool qq c80.19+88.29 f ; formal proc. no type qq c80.19+88.29 f ; formal proc. no int. qq c80.19+88.29 f ; formal proc. real qq c80.19+88.29 f ; formal proc. Bool qq c80.19+88.29 f ; formal simple int. qq c80.19+88.29 f ; formal simple real qq c80.19+88.29 f ; formal simple Bool qq c80.19+88.29 f ; formal label qq c80.19+88.29 f ; formal switch qq c80.19+88.29 f ; formal string qq c80.19+88.29 f ; proc. call or assign int qq c80.19+88.29 f ; proc.call or assign real qq c80.19+88.29 f ; proc.call or assign Bool qq c40.19+85.29 f ; expression qq c62.19 f ; end call qq c63.19 f ; beg exp qq c80.19 f ; undeclared qq c58.19+89.29 f ; læs string qq c58.19+89.29 f ; læst qq c58.19+89.29 f ; output no param. qq c58.19+89.29 f ; several par. no type qq c58.19+89.29 f ; several par. nonsense qq c58.19+89.29 f ; arith in, real out qq c58.19+89.29 f ; string in, nons. out qq c58.19+89.29 f ; string in, Bool. out qq c58.19+89.29 f ; arith in, int. out qq c58.19+89.29 f ; int.in, nons. out qq c58.19+89.29 f ; arith. in, real out [PASS 6. page 18, CONTROL TABLE 2, NORMAL MODE GIER] [Type Action Output Call with par.] [141] qq 48d3+c59.19 +c53.39 f, ; bool in. real out [142] qq 25d2+c11.19 +c59.39 f, ; no par. bool. out [143] qq 1d2+c59.19 +c57.39 f, ; more par. int.out [144] qq 2d2+c59.19 +c57.39 f, ; more par. real out [145] qq 3d2+c59.19 +c57.39 f, ; more par. bool.out [146] qq 1d2+c11.19 +c59.39 f, ; standard integer [147] qq 46d3+c59.19 +c53.39 f, ; array, int. out [148] qq 23d2+c11.19 +c59.39 f, ; no par. int. out [149] qq 47d3+c59.19 +c53.39 f, ; int. in, no type [150] qq 5d2+c78.19+95.29 f, ; lit.string [151] qq 1d2+c78.19+95.29 f, ; lit.int. [152] qq 2d2+c78.19+95.29 f, ; lit.real [153] qq 3d2+c78.19+95.29 f, ; lit.Boolean [154] qq 1d2+c73.19+75.29+c59.39 f, ; own integer [155] qq 2d2+c73.19+75.29+c59.39 f, ; own real [156] qq 3d2+c73.19+75.29+c59.39 f, ; own Boolean [157] qq 11d2+c72.19+76.29+c59.39 f, ; switch [158] qq 8d2+c71.19+73.29+c59.39 f, ; array integer [159] qq 9d2+c71.19+73.29+c59.39 f, ; real [160] qq 10d2+c71.19+73.29+c59.39 f, ; Boolean [161] qq 7d2+c79.19+79.29+c67.39 f, ; proc. no type [162] qq 23d2+c79.19+79.29+c55.39 f, ; integer [163] qq 24d2+c79.19+79.29+c55.39 f, ; real [164] qq 25d2+c79.19+79.29+c55.39 f, ; Boolean [165] qq 1d2+c73.19+74.29+c59.39 f, ; simple integer [166] qq 2d2+c73.19+74.29+c59.39 f, ; real [167] qq 3d2+c73.19+74.29+c59.39 f, ; Boolean [168] qq 4d2+c73.19+74.29+c59.39 f, ; label [169] qq 14d2+c73.19+73.29+c59.39 f, ; formal array integer [170] qq 15d2+c73.19+73.29+c59.39 f, ; real [171] qq 16d2+c73.19+73.29+c59.39 f, ; Boolean [172] qq 7d2+c73.19+79.29+c87.39 f, ; formal proc.no type [173] qq 23d2+c73.19+79.29+c56.39 f, ; integer [174] qq 24d2+c73.19+79.29+c56.39 f, ; real [175] qq 25d2+c73.19+79.29+c56.39 f, ; Boolean [176] qq 1d2+c73.19+78.29+c59.39 f, ; formal simple integer [177] qq 2d2+c73.19+78.29+c59.39 f, ; real [178] qq 3d2+c73.19+78.29+c59.39 f, ; Boolean [179] qq 4d2+c73.19+78.29+c59.39 f, ; formal label [180] qq 11d2+c72.19+76.29+c59.39 f, ; formal switch [181] qq 5d2+c73.19+78.29+c59.39 f, ; formal string [182] qq 20d2+c77.19+79.29+c54.39 f, ; proc.call or ass.int. [183] qq 21d2+c77.19+79.29+c54.39 f, ; real [184] qq 22d2+c77.19+79.29+c54.39 f, ; Bool. [185] qq c69.19 f, ; expression [186] qq 2 , ; end call [187] qq 39d3+c64.19+11.29 f, ; beg exp [188] qq 13d2+c73.19 +c87.39 f, ; undeclared [189] qq 7d2+c11.19 +c59.39 f, ; læsstreng [190] qq 24d2+c11.19 +c59.39 f, ; læst [191] qq 6d2+c11.19 +c59.39 f, ; output no param. [192] qq 7d2+c59.19 +c57.39 f, ; several par. no type [193] qq 6d2+c59.19 +c57.39 f, ; several par. nonsense [194] qq 40d3+c59.19 +c53.39 f, ; arith.in, real out [195] qq 41d3+c59.19 +c53.39 f, ; string in, nons. out [196] qq 42d3+c59.19 +c53.39 f, ; string in, Bool. out [197] qq 43d3+c59.19 +c53.39 f, ; arith.in, int. out [198] qq 44d3+c59.19 +c53.39 f, ; int.in, nonsense out [199] qq 45d3+c59.19 +c53.39 f, ; arith.in, real out [PASS 6, page 19, CONTROL TABLE 3 GIER] [mode independent symbols originating in pass 3, values rel. to d50 in 3] [Priority Action Output or operator] [200] qq 2.9+c48.19+ 99.29 ; bound comma [201] qq 2.9+c47.19+ 28.29 ; subscr.comma [202] qq c31.19+ 39.29 f ; proc; [203] qq 12d2.9+c90.19+ 12.29 f ; ifex [204] qq c40.19+ 12.29 f ; ifst [205] qq 3.9+c44.19+ 46.29 ; thenex [206] qq 3.9+c36.19 ; elseex [207] qq c83.19+ 39.29 f ; delete call [208] qq 3.9+c37.19 ; end else ex [209] qq c40.19+ 14.29 f ; end else st [210] qq c40.19+ 14.29 f ; end then st [211] qq c30.19+ 50.29 f ; end go to [212] qq c40.19+ 15.29 f ; for [213] qq 3.9+c39.19+ 22.29 ; step [214] qq 3.9+c39.19+ 23.29 ; until [215] qq c40.19+ 26.29 f ; end do [216] qq c9.19 +16d3.39 f ; pos [217] qq c9.19 +15d3.39 f ; neg [218] qq 9.9+c32.19+12d3.29+17d3.39 ; + [219] qq 9.9+c32.19+13d3.29+18d3.39 ; - [220] qq 10.9+c32.19+14d3.29+19d3.39 ; ⨯ [221] qq 10.9+c32.19+20d3.29+20d3.39 ; /[222] qq 10.9+c33.19+22d3.29 ; _ :[223] qq 11.9+c32.19+23d3.29+21d3.39 ; ∧ |[224] qq 8.9+c32.19+24d3.29+24d3.39 ; <[225] qq 8.9+c32.19+25d3.29+25d3.39 ; _ <[226] qq 8.9+c32.19+26d3.29+26d3.39 ; =[227] qq 8.9+c32.19+27d3.29+27d3.39 ; _ >[228] qq 8.9+c32.19+28d3.29+28d3.39 ; >[229] qq 8.9+c32.19+29d3.29+29d3.39 ; | =[230] qq 6.9+c34.19+30d3.29 ; ∧ [231] qq 5.9+c34.19+31d3.29 ; ∨ [232] qq 4.9+c43.19+31d3.29 ; =>[233] qq 3.9+c34.19+32d3.29 ; _ =[234] qq c9.19 +37d3.39 f ; ( [235] qq c35.19 +37d3.39 f ; [ [236] qq 3.9+c41.19 ; right bracket [237] qq 3.9+ c7.19 ; ) [238] qq c9.19 +33d3.39 f ; -, [239] qq 3.9+c39.19+ 18.29 ; simple for and do [240] qq 3.9+c95.19+ 25.29 ; stepelement and do [241] qq 3.9+c45.19+ 21.29 ; while element and do [2.12.65] [PASS 6, page 20, CONTROL TABLE 4 GIER] [MODE INDEPENDENT SYMBOLS FROM PASS 4, VALUES RELATIVE TO d22] [PRIORITY ACTION OUTPUT] [ 0] qq c89.19+ 1.29 f ; end local [ 1] qq c96.19+104.29 f ; bypasslabel [ 2] qq c40.19+ 8.29 f ; goto bypasslabel [ 3] qq c40.19+ 9.29 f ; labelcolon [ 4] qq 2.9+c49.19 ; boundcolon [ 5] qq 2.9+c48.19+100.29 ; end bounds integer [ 6] qq 2.9+c48.19+100.29 ; end bounds real [ 7] qq 2.9+c48.19+100.29 ; end bounds Boolean [ 8] qq 3.9+c44.19+ 46.29 ; thenst [ 9] qq c40.19+ 13.29 f ; else st [10] qq c46.19+ 16.29 f ; := for [11] qq 3.9+c95.19+ 24.29 ; stepelem [12] qq c42.19+ 80.29+38d3.39 f ; first:= [13] qq 3.9+c39.19+ 19.29 ; while [14] qq 3.9+c45.19+ 20.29 ; while element [15] qq c68.19 f ; prepare assign [16] qq 3.9+c39.19+ 17.29 ; simple for [17] qq 2.9+ c6.19 ; end assign [18] qq c85.19 f ; do [19] qq c40.19+ 10.29 f ; while label [20] qq c38.19+ 80.29+38d3.39 f ; := [21] qq 2.9 ; end ex [22] qq 2.9+c30.19+ 38.29 ; end des [MODE INDEPENDENT SYMBOLS FROM PASS 5, VALUES RELATIVE TO d10] [ 0] qq c50.19+ 81.29 f ; local switch [ 1] qq c50.19+ 82.29 f ; local proc [ 2] qq c40.19+ 83.29 f ; local label [ 3] qq c40.19+ 84.29 f ; blind [ 4] qq c51.19+103.29 f ; end pass [ 5] qq c82.19 f ; CR [ 6] qq c50.19+ 6.29 f ; beg block [ 7] qq c50.19+ 3.29 f ; beg proc [ 8] qq c61.19+ 5.29 f ; end proc [ 9] qq c50.19+101.29 f ; take value integer [10] qq c50.19+102.29 f ; take value real [11] qq c50.19+102.29 f ; take value Boolean [12] qq c52.19+ 2.29 f ; beg call [13] qq c40.19+ 7.29 f ; end block [14] qq c76.19+ 98.29 f ; bounds [15] qq c88.19+ 0.29 f ; beg locals _[PASS 6, page 21, OPERATOR TABLE GIER, 17.june 1965] [i=2d3 ACTION PRIORITY CHECK OUTPUT OUTPUTSYMBOL] [ 2] qq c14+ 2.19+c25.29 ; prep. undecl. ass. [ 3] qq c14+ 3.19+c22.29 ; undecl. 3 [ 4] qq c14+ 4.19+c22.29 ; undecl. 4 [ 5] qq c14+ 5.19+c22.29 ; undecl. 5 [ 6] qq c14+ 6.19+c22.29 ; undecl. 6 [ 7] qq c14+ 7.19+c22.29 ; undecl. 7 [ 8] qq c14+ 8.19+c22.29 ; undecl. 8 [ 9] qq c14+ 9.19+c22.29 ; undecl. 9 [10] qq c14+10.19+c22.29 ; undecl. 10 [11] qq c14+11.19+c22.29 ; undecl. 11 [12] qq c13+ 9.19+c16.29+ 51.39 ; i+ : + [13] qq c13+ 9.19+c16.29+ 52.39 ; i- : - [14] qq c13+10.19+c16.29+ 53.39 ; i⨯ : ⨯ [15] qq c13+ 9.19+c16.29+ 35.39 ; neg: neg [16] qq c14+ 9.19+c16.29 ; pos [17] qq c13+ 9.19+c17.29+ 51.39 ; r+ : + [18] qq c13+ 9.19+c17.29+ 52.39 ; r- : - [19] qq c13+10.19+c17.29+ 53.39 ; r⨯ : ⨯ [20] qq c13+10.19+c17.29+ 54.39 ; /: /[21] qq c12+11.19+c17.29+ 57.39 ; r∧ : ∧ real | |[22] qq c13+10.19+c18.29+ 55.39 ; _ : _ : :[23] qq c12+11.19+c16.29+ 57.39 ; i∧ : ∧real | |[24] qq c14+ 8.19+c20.29+ 64.39 ; < : <[25] qq c14+ 8.19+c20.29+ 65.39 ; _ : _ < <[26] qq c14+ 8.19+c20.29+ 66.39 ; = : =[27] qq c14+ 8.19+c20.29+ 67.39 ; _ : _ > >[28] qq c14+ 8.19+c20.29+ 68.39 ; > : >[29] qq c14+ 8.19+c20.29+ 69.39 ; | : | = =[30] qq c13+ 6.19+c21.29+ 70.39 ; ∧ : ∧ [31] qq c13+ 5.19+c21.29+ 71.39 ; ∨ : ∨[32] qq c13+ 3.19+c21.29+ 72.39 ; _ : _ = =[33] qq c13+ 7.19+c21.29+d20.39 ; -, : -, [34] qq c14+ 2.19+c24.29+d28.39 ; prep. int. ass. : prepare assign [35] qq c13+ 2.19+c23.29+d28.39 ; prep.real ass. : prepare assign [36] qq c13+ 2.19+c19.29+d28.39 ; prep. Bool. ass. : prepare assign [37] qq 1.19 ; ( [38] qq c13+ 2.19+ c3.29+ 49.39 ; := : := [39] qq c14+ 2.19+c29.29[RESULT TYPE] ; actual parameter [40] qq c10+ 2.19+c27.29+2d2.39 ; arith.in, val. out: real [41] qq c10+ 2.19+c28.29+6d2.39 ; string in,nons. out: nonsense [42] qq c10+ 2.19+c28.29+3d2.39 ; string in.Bool. out: Boolean [43] qq c10+ 2.19+c27.29+1d2.39 ; arith.in, int. out: integer [44] qq c26+ 2.19+c27.29+6d2.39 ; int.in, nons. out: nonsense [45] qq c10+ 2.19+c27.29+2d2.39 ; arith.in, val. out: real [46] qq c10+ 2.19+c93.29+1d2.39 ; array in, int. out: integer [47] qq c26+ 2.19+c27.29+7d2.39 ; int. in, no type: no type [48] qq c10+ 2.19+c100.29+2d2.39; bool in, real out: real d7: [TABLE HAS 47 WORDS, FROM 2d3 TO 48d3]e ; end GIER table drum block _[PASS 6, page 22, OPERAND TABLE]d i=d2 _[ 0] qq 367.9+679.19+143.29+1.32+1.38 ; undeclared [ 1] qq 434.9+ 42.19+312.29+1.32+1.38 ; integer [ 2] qq 338.9+ 49.19+408.29+1.32+1.38 ; real [ 3] qq 6.9+348.19+516.29 +2.38 ; boolean [ 4] qq 1.9+ 96.19+642.29 +3.38 ; label [ 5] qq 64.19+769.29 +4.38 ; string [ 6] qq 544.19+904.29 +1.38 ; nonsense [ 7] qq 512.19 ; no type proc. [ 8] qq 128.19 +4.32+1.35 ; int. arr [ 9] qq 128.19 +4.32+2.35 ; real arr. [10] qq 128.19 +4.32+3.35 ; bool. arr. [11] qq 128.19 +6.32+4.35 ; switch [12] qq +127.29 ; unknown type [13] qq 367.9+679.19+143.29+1.32+1.38 ; undeclared [14] qq 128.19 +1.35 ; for.int.arr. [15] qq 128.19 +2.35 ; for.real arr. [16] qq 128.19 +3.35 ; for.bool.arr. [17] qq 8.19 ; proc 1 = procedure with [18] qq 16.19 ; parameters, call and assign [19] qq 24.19 ; [20] qq 434.9+552.19+312.29 +1.38 ; proc 2 = procedure without [21] qq 338.9+560.19+408.29 +1.38 ; parameters, call and assign [22] qq 6.9+856.19+516.29 +2.38 ; [23] qq 434.9+544.19+312.29 +1.38 ; proc 3 = procedure without [24] qq 338.9+544.19+408.29 +1.38 ; parameters, call only [25] qq 6.9+832.19+516.29 +2.38 ; d9:d i=39d29, d4= d5+50 ; _d e18=c86, e16=k-e70 ; Pass word parameters _e ; _d i=4e21, e22=e16-e15-1 ; _qqe15.9-e24.9+e18.19+e22.36+e22.34+205e13.39; Pass wordd e15=e16 ; _s _