PHRASE Definitions FORMAT [BS] Definitions FORMAT [MP] Definitions FORMAT [AS] Definitions ROUTINE [AS] ≡ ADD [WORD] TO [LIST OR NEST][AB][SEP] ROUTINE (COMPILER) [BS] ≡ [AB/1] = [WORD][SEP] ROUTINE [AS] ≡ CALL[PI] COMPILER [GENERATED-P] ROUTINE(COMPILER)[BS] ≡ ([ADDR]) = [WORD][SEP] ROUTINE (COMPILER) [BS] ≡ PLANT [FD][COMMA][ABN/1][COMMA][ABN/2][COMMA][WORD]IN[B][SEP] ROUTINE (COMPILER)[BS] ≡ -> [LABEL][IU][WORD/1][COMPARATOR][WORD/2][SEP] ROUTINE (COMPILER)[BS] ≡ [AB] = [WORD/1][OPERATOR][WORD/2][SEP] ROUTINE (COMPILER)[AS] ≡ ADD [WORD] TO [LIST OR NEST][AB][SEP] ROUTINE (COMPILER) [BS] ≡ [AB] = CATEGORY OF [PI] [SEP] ROUTINE (COMPILER) [BS] ≡ [AB] = ADDRESS OF [PI] [SEP] ROUTINE (COMPILER) [BS] ≡ LET [PI] ≡ [RESOLVED-P][SEP] ROUTINE (COMPILER) [BS] ≡ -> [LABEL][IU][PI] ≡ [RESOLVED-P][SEP] ROUTINE (COMPILER) [BS] ≡ -> [LABEL][SEP] ROUTINE (COMPILER) [BS] ≡ SHIFT [AB] UP [ABN] [SEP] ROUTINE (COMPILER) [BS] ≡ SHIFT [AB] DOWN [ABN] [SEP] ROUTINE(COMPILER)[BS]≡[FD][COMMA][WORD/1][COMMA][WORD/2][COMMA][WORD/3][SEP] ROUTINE (COMPILER) [BS] ≡ ([ADDR]) = [WORD/1][OPERATOR][WORD/2][SEP] ROUTINE(COMPILER) [BS] ≡ END[SEP] ROUTINE (COMPILER) [BS] ≡ [AB/1] = [WORD][SEP] ROUTINE(COMPILER) [BS] ≡ ([ADDR]) = [WORD] [SEP] ROUTINE (COMPILER) [BS] ≡ PLANT[FD][COMMA][ABN/1][COMMA][ABN/2][COMMA][WORD]IN[B][SEP] ROUTINE (COMPILER)[BS] ≡ -> [LABEL][IU][WORD/1][COMPARATOR][WORD/2][SEP] ROUTINE (COMPILER)[BS] ≡ [AB] = [WORD/1][OPERATOR][WORD/2][SEP] ROUTINE (COMPILER)[AS] ≡ ADD [WORD] TO [LIST OR NEST][AB][SEP] ROUTINE (COMPILER) [BS] ≡ [AB] = CATEGORY OF [PI] [SEP] ROUTINE (COMPILER) [BS] ≡ [AB] = ADDRESS OF [PI] [SEP] ROUTINE (COMPILER) [BS] ≡ LET [PI] ≡ [RESOLVED-P][SEP] ROUTINE (COMPILER) [BS] ≡ -> [LABEL][IU][PI] ≡ [RESOLVED-P][SEP] ROUTINE (COMPILER) [BS] ≡ SHIFT [AB] UP [ABN] [SEP] ROUTINE (COMPILER) [BS] ≡ SHIFT [AB] DOWN [ABN] [SEP] ROUTINE (COMPILER)[BS] ≡ -> [LABEL][SEP] ROUTINE(COMPILER)[BS]≡[FD][COMMA][WORD/1][COMMA][WORD/2][COMMA][WORD/3][SEP] ROUTINE (COMPILER) [BS] ≡ ([ADDR]) = [WORD/1][OPERATOR][WORD/2][SEP] ROUTINE(COMPILER) [BS] ≡ END[SEP] ROUTINE (COMPILER)[BS] ≡ PRINT SYMBOL[ABN][SEP] ROUTINE (COMPILER) [BS] ≡ [AB] = NUMBER OF [PI][SEP] ROUTINE(COMPILER) [BS] ≡ [AB] = CLASS OF [PI][SEP] ROUTINE (COMPILER)[BS]≡INDEX [ABN] = [AB][SEP] ROUTINE (COMPILER) [BS]≡[AB]= INDEX [ABN][SEP] ROUTINE (COMPILER) [BS] ≡ SPACE [SEP] ROUTINE (COMPILER)[BS] ≡ NEWLINE [SEP] ROUTINE (COMPILER)[BS] ≡ CALL R [ABN] [SEP] ROUTINE (COMPILER) [BS] ≡ PRINT [ABN][SEP] ROUTINE (COMPILER)[BS]≡ [FD][COMMA][WORD][COMMA] 0 [COMMA] L [LABEL] ROUTINE (COMPILER)[BS]≡[WORD/1]/[WORD/2][SEP] ROUTINE (COMPILER) [BS] ≡ PRINT [ABN] IN OCTAL [SEP] ROUTINE [MP] ≡ FORMAT CLASS ROUTINE [MP] ≡ BUILT-IN PHRASE BUILT-IN PHRASE [ALL SYMBOLS EXCEPT RT BRACKET] ROUTINE R 180 ROUTINE [SS] ≡ POPI [WORD/1] TO [WORD/2][EOL] BUILT-IN PHRASE [NOTE] ROUTINE (COMPILER) [AS] ≡ |[NOTE][SEP] ROUTINE(COMPILER)[AS] ≡ PLANT[αβ]TH ORDER OF TABLE [TABLE]IN[β][SEP] ROUTINE(COMPILER) [AS] ≡ PLANT TABLE [TABLE] IN [β][SEP] ROUTINE [AS] ≡ [AB/1] = LIST [AB/2]([ABN/3],?)[SEP] ROUTINE [AS] ≡ MONITOR ([ALL SYMBOLS EXCEPT RT BRACKET])[SEP] ROUTINE [AS] ≡ LIST[AB] = NEXT RECONSTRUCTED LINE[SEP] ROUTINE [AS] ≡ [AB] = [LIST OR NEST][WORD][SEP] ROUTINE [AS] ≡ [AB] = [LIST OR NEST]([WORD/1][, WORD*])[SEP] ROUTINE [AS] ≡ [AB/1] = VALUE OF LIST [AB/2] IN DICT [AB/3][SEP] ROUTINE [AS] ≡ DELETE CONVENTIONAL LIST [AB][SEP] ROUTINE [AS] ≡ DELETE LIST [AB/1] FROM DICT [AB/2][SEP] ROUTINE [AS] ≡ WITHDRAW [AB/1] FROM NEST [AB/2][SEP] ROUTINE [AS] ≡ LIST [AB/1] = LIST [AB/2] + LIST [AB/3][SEP] ROUTINE [AS] ≡ LIST [AB/1] = ENTRY WITH VALUE [AB/2] IN DICT [AB/3][SEP] ROUTINE [AS] ≡ ADD ([WORD][, WORD*]) TO [LIST OR NEST] [AB][SEP] ROUTINE [AS] ≡ [AB] = CONVENTIONAL LIST OF [ABN] WORDS [SEP] ROUTINE [AS] ≡ ASSIGN VALUE [ABN] TO [PI][SEP] ROUTINE [AS] ≡ PRINT LIST [ABN] [SEP] ROUTINE [AS] ≡ ANALYSE LIST [AB] W.R.T. [PI] [SEP] ROUTINE [AS] ≡ ADD LIST [AB/1] [COMMA] [WORD] TO DICT [AB/2] [SEP] ROUTINE [AS] ≡ DELETE [LIST OR NEST] [AB] [SEP] ROUTINE (COMPILER)[AS] ≡ [AB/1] = LIST [AB/2]([ABN][COMMA]?)[SEP] ROUTINE (COMPILER)[AS] ≡ DELETE [LIST OR NEST][AB][SEP] ROUTINE (COMPILER)[AS] ≡ LIST [AB] = NEXT RECONSTRUCTED LINE [SEP] ROUTINE (COMPILER) [AS] ≡ [AB] = [LIST OR NEST][WORD][SEP] ROUTINE (COMPILER)[AS] ≡ ADD ([WORD][,WORD*]) TO [LIST OR NEST][AB][SEP] ROUTINE (COMPILER) [AS] ≡ [AB] = [LIST OR NEST]([WORD][,WORD*])[SEP] ROUTINE (COMPILER)[AS] ≡ WITHDRAW [AB/1] FROM NEST [AB/2][SEP] ROUTINE (COMPILER)[AS] ≡ LIST [AB/1] = LIST [AB/2] + LIST [AB/3][SEP] ROUTINE [AS] ≡ [αβ/1] = UPPER LIMIT OF [αβ/2] IN DICT [αβ/3][SEP] ROUTINE [AS] ≡ [αβ] = LIST FOR [αβ/1] IN CLASS [αβN][SEP] ROUTINE [AS] ≡ [αβ] = LIST [PI][SEP] ROUTINE (COMPILER) [AS] ≡ MONITOR ([ALL SYMBOLS EXCEPT RT BRACKET]) [SEP] ITEM 274 REPLACE ITEM 150 ROUTINE (COMPILER) [AS] ≡ PRINT B-LINES [SEP] ROUTINE SMALL R 283 ROUTINE R 257 ROUTINE R 258 ROUTINE [MP] ≡ DEFINE COMPILER ROUTINE R 226 ROUTINE R 237 ROUTINE [AS] ≡ CONVERT [PI] TO [AB] [SEP] ROUTINE(COMPILER)[AS] ≡ CALL BUILT-IN PHRASE [PI][SEP] ROUTINE(COMPILER)[AS] ≡ PRESERVE ANALYSIS B-LINES [SEP] ROUTINE(COMPILER)[AS] ≡ RESTORE ANALYSIS B-LINES [SEP] FIXED ITEM 0 FIXED ITEM 281 FIXED ITEM 135 FIXED ITEM 279 REPLACE ITEM142 DEFINE COMPILER CC1 COMPILER COMPILER (CC1)
Pages 3-01 to 3-75 (lines 7958 to 10961) consists of 75 foolscap pages of PHRASE definitions, Built-in statements [BS], Auxiliary Statements [AS] and Routines, all in the language of the Compiler Compiler. See Appendix 3 for a list of all items in this Section.
This Section of the listing begins with a BNF-like definition of the syntax of the basic PHRASEs of the Compiler Compiler language. It is followed by the FORMATs of the Built-in Statements [BS], seven new Master Phrases [MP], and the Auxiliary Statements [AS], and finally the COMPILER versions of the Built-in Statements.
These pages were well printed and at first appeared to scan well. Like pages in the previous section, some needed to be "stitched". However, there were other problems in making digital sense of this section. The character set included the Greek letters α and β and the full range of comparator operators ≠, ≡, ≢, ≤, and ≥. The OCR scanner made numerous mistakes with brackets and other non-alphanumeric characters.
What is the purpose of the so-called COMPILER routines? For example, on page 3-03 at line 8050, is the definition of the Auxiliary Statement for adding a WORD to a LIST or a NEST.
ROUTINE [AS] ≡ ADD [WORD] TO [LIST OR NEST][AB][SEP] β69 = [AB] β68 = [WORD] α1 = CATEGORY OF [LIST OR NEST] α1 = α 1 + 203 CALL R α1 [AB] = β69 END
Then on page 3-09 is the COMPILER version.
ROUTINE (COMPILER)[AS] ≡ ADD [WORD] TO [LIST OR NEST][AB][SEP] CALL [BS] COMPILER B69 = [AB] CALL [BS] COMPILER B68 = [WORD] A1 = CATEGORY OF [LIST OR NEST] A1 = A1 + 203 PLANT 1102, 70, 76, A1 IN B88 CALL [BS] COMPILER [AB] = B69 END
When the routine at page 3-03 line 8050 is input, the 6 statements are analysed line by line, and assembled as analysis records for subsequent interpretation when it is called. Interpretation is slow. When the COMPILER version is input, the 6 statements are similarly analysed line by line but in this case native Atlas instructions are planted. When this version is executed it is fast!!
It is worth examining the COMPILER version at page 3-09 line 8830.
CALL [BS] COMPILER B69 = [AB]needs a COMPILER version for the statement
B69 = [AB]This is the second routine starting at line 8061 on page 3-03 running to page 3-05 line 8168, namely
ROUTINE (COMPILER) [BS] ≡ [AB/1] = [WORD][SEP]So the first statement is compiled as native Atlas code.
A1 = CATEGORY OF [LIST OR NEST] A1 = A1 + 203trade on the juxtaposition of Items 204 and 205 in the index.
ITEM 204 Add word to list ITEM 205 Add word to nestand the PHRASE definition
PHRASE [LIST OR NEST] = LIST, NESTon page 3-01 at line 7976. LIST is Category 1 of [LIST OR NEST] and NEST is Category 2. Thus, they compute in variable A1, the appropriate item number, but plant nothing
PLANT 1102, 70, 76, A1 IN B88
CALL [BS] COMPILER [AB] = B69calls the COMPILER version of [AB/1] = [WORD] used to plant code to update the address of the LIST OR NEST [AB].
PHRASE [146] = [160]), NIL PHRASE [147] = [BS], [182][AS], [182][SS] PHRASE (CR) [182] = *, NIL PHRASE [AB] = [A], [B] PHRASE [ABN] = [A], [B], [N] PHRASE [249] = (COMPILER), NIL PHRASE [254] = SMALL R [160], R[160], [249][181][EQV][185] PHRASE [186] = [152] PHRASE (CR) [JUMP] = ->, >, JUMP, [83] PHRASE [OPERATOR] = +, -, X, /, &, V, #, AND, NOT EQV PHRASE [COMPARATOR] = =, #, >, ≤, <, ≥, ) PHRASE [ADDR] = [AB] + [ABN], [AB]-[ABN], [AB] (+) [ABN], [AB] PHRASE [WORD] = [ADDR],([ADDR]),[-?][N].[0-3],[-?].[0-3],[-?][N], [173] PHRASE [-] = - PHRASE [IU] = IF, UNLESS PHRASE (CR) [EQV] = =, (=) PHRASE [0-3] = 00, 01, 10, 11 PHRASE [,WORD] = [COMMA] [WORD] PHRASE [LIST OR NEST] = LIST , NEST
FORMAT [BS] =[AB] = [WORD][SEP], 187 FORMAT [BS] =[AB] = [WORD][OPERATOR][WORD][SEP], 188 FORMAT [BS] =[AB] = ADDRESS OF [PI][SEP], 202 FORMAT [BS] =[AB] = CATEGORY OF [PI][SEP], 197 FORMAT [BS] =[AB] = CLASS OF [PI][SEP], 203 FORMAT [BS] =[AB] = NUMBER OF [PI][SEP], 198 FORMAT [BS] =[AB] = INDEX [ABN][SEP], 263 FORMAT [BS] =([ADDR]) = [WORD][SEP], 189 FORMAT [BS] =([ADDR]) = [WORD][OPERATOR][WORD][SEP], 190 FORMAT [BS] =LET [PI][EQV][RESOLVED -P][SEP], 195 FORMAT [BS] =LET [PI] = [GENERATED - P][SEP], 193 FORMAT [BS] =[JUMP][LABEL][SEP], 192 FORMAT [BS] =[JUMP][LABEL][IU][WORD][COMPARATOR][WORD][SEP], 191 FORMAT [BS] =[JUMP][LABEL][IU][PI][EQV][RESOLVED - P][SEP], 194 FORMAT [BS] =[JUMP][LABEL][IU][PI] = [PI][SEP], 196 FORMAT [BS] =PRINT [ABN] IN OCTAL [SEP] , 277 FORMAT [BS] =PRINT [ABN][SEP], 271 FORMAT [BS] =PRINT SYMBOL [ABN][SEP],273 FORMAT [BS] =PLANT [FD][COMMA][ABN][COMMA][ABN][COMMA][WORD]IN[B][SEP],200 FORMAT [BS] =[FD][COMMA][WORD][COMMA][WORD][COMMA][WORD][SEP], 199 FORMAT [BS] =[FD][COMMA][WORD][COMMA] 0 [COMMA]L[LABEL][SEP], 212 FORMAT [BS] =[PI]= [AB][SEP], 201 FORMAT [BS] =CALL R [ABN][SEP], 208 FORMAT [BS] =CALL R [PI][SEP], 211 FORMAT [BS] =END[SEP], 262 FORMAT [BS] =INDEX [ABN] = [AB][SEP], 264 FORMAT [BS] =SHIFT [AB] UP [ABN][SEP], 267 FORMAT [BS] =SHIFT [AB] DOWN [ABN][SEP], 268 FORMAT [BS] =SPACE [SEP], 269 FORMAT [BS] =NEWLINE [SEP], 270 FORMAT [BS] =[WORD]/[WORD][SEP]
FORMAT [MP] = END OF PRIMARY MATERIAL, 226 FORMAT [MP] = ROUTINE, 221 FORMAT [MP] = BUILT-IN PHRASE, 292 FORMAT [MP] = DEFINE COMPILER, 275 FORMAT [MP] = AMEND COMPILER, 276 FORMAT [MP] = FIXED ITEM , 278 FORMAT [MP] = SLIDE COMPILER UP A BLOCK , 281
FORMAT [AS] = [AB] = [LIST OR NEST][WORD][SEP] FORMAT [AS] = [AB] = [LIST OR NEST]([WORD][, WORD*])[SEP] FORMAT [AS] = [AB] = LIST [PI][SEP] FORMAT [AS] = [AB] = LIST [AB]([ABN][COMMA]?)[SEP] FORMAT [AS] = [AB] = VALUE OF LIST [AB] IN DICT [AB][SEP] FORMAT [AS] = [AB] = CONVENTIONAL LIST OF [ABN] WORDS [SEP] FORMAT [AS] = DELETE CONVENTIONAL LIST [AB][SEP] FORMAT [AS] = DELETE [LIST OR NEST] [AB][SEP] FORMAT [AS] = DELETE LIST [AB] FROM DICT [AB][SEP] FORMAT [AS] = ADD ([WORD][, WORD*]) TO [LIST OR NEST][AB][SEP] FORMAT [AS] = ADD [WORD] TO [LIST OR NEST][AB][SEP] FORMAT [AS] = ADD LIST [AB][COMMA][WORD] TO DICT [AB][SEP] FORMAT [AS] = ASSIGN VALUE [ABN] TO [PI][SEP] FORMAT [AS] = ANALYSE LIST [AB] W.R.T. [PI][SEP] FORMAT [AS] = WITHDRAW [AB] FROM NEST [AB][SEP] FORMAT [AS] = LIST [AB] = LIST [AB] + LIST [AB][SEP] FORMAT [AS] = LIST [AB] = ENTRY WITH VALUE [AB] IN DICT [AB][SEP] FORMAT [AS] = LIST [AB] = NEXT LINE FROM INPUT [N][SEP] FORMAT [AS] = LIST [AB] = NEXT RECONSTRUCTED LINE [SEP] FORMAT [AS] = CONVERT [PI] TO [AB][SEP] FORMAT [AS] = CALL [PI] COMPILER [GENERATED-P] FORMAT [AS] = MONITOR ([ALL SYMBOLS EXCEPT RT BRACKET])[SEP] FORMAT [AS] = PRINT LIST [ABN][SEP]
ROUTINE [AS] ≡ ADD [WORD] TO [LIST OR NEST][AB][SEP] β69 = [AB] β68 = [WORD] α1 = CATEGORY OF [LIST OR NEST] α1 = α1 + 203 CALL R α1 [AB] = β69 END
ROUTINE (COMPILER) [BS] ≡ [AB/1] = [WORD][SEP] A7 = 0 A8 = 0 A9 = 0 A1= 83 A2 = 1 ->1 UNLESS [AB/1] ≡ [B/1] A1 = CATEGORY OF [B/1] A2 = 2 1) A3 = CATEGORY OF [WORD] ->2 IF A3 < 3 A4 = [WORD] PLANT 0121, A1, 0, A4 IN B88 13) ->3 UNLESS A2 = 1 LET [AB/1] ≡ [A/1] ->30 IF A4 ≠ 0, B88 = B88 - 2 , A1 = 0 30) A10 = ADDRESS OF [A/1] A10 = (A10 + 1) PLANT 0113, A1, 72, A10 IN B88 3) ->17 IF A9 ≠ 0, END 2) ->4 IF A3 = 2 LET [WORD] ≡ [ADDR] 15) A4 = CATEGORY OF [ADDR] ->5 IF A4 > 2 ->7 IF [ADDR] ≡ [AB] + [ABN] LET [ADDR] ≡ [AB] - [ABN] 7) A10 = ADDRESS OF [AB/1] , A11 = ADDRESS OF [AB] ->20 IF (A10) ≠ (A11) A10 = (A10+1) , A11 = (A11+1) , ->20 IF (A10) ≠ (A11) ->8 IF (A10) ≠ *40000006 ->8 IF (A10+1) = (A11+1) 20) ->9 UNLESS [ABN] ≡ [A] A5 = ADDRESS OF [A], A5 = (A5 + 1) PLANT 0101, A1, 72, A5 IN B88, ->10 9) ->11 UNLESS [ABN] ≡ [B] A5 = CATEGORY OF [B] PLANT 0121, A1, A5, 0 IN B88, ->10 11) LET [ABN] ≡ [N] A8 = 1 A5 = CATEGORY OF [N] PLANT 0121, A1, 0, A5 IN B88 10) ->12 UNLESS [AB] ≡ [A] A5 = ADDRESS OF [A] A5 = (A5 + 1) A9 = B88 ->21 IF A7 = 1 PLANT 0104, A1, 72, A5 IN B88, ->14 12) LET [AB] ≡ [B] A5 = CATEGORY OF [B] ->6 IF A8 = 1 ->29 IF A5 ≠ 0 ->29 IF A4 ≠ 1 ->14 29) A9 = B88 PLANT 0124, A1, A5, 0 IN B88 14) ->13 IF A3 = 1, A5 = 83, ->16 IF A2 = 1, A5 = CATEGORY OF [B/1] 16) PLANT 0101, A5, A1, 0 IN B88 ->13 17) ->18 IF A4 = 1 (A9) = (A9) & *7757 7777 18) END 6) SHIFT A5 DOWN 2, (B88 - 2) = (B88 - 2) V A5 ->28 IF A4 = 1 0112, 0, 88, -1 28) ->13 IF A3 = 1 (B88 - 2) = (B88 - 2) -*01, ->13 IF A2 = 1 SHIFT A12 UP 5 (B88-2) = (B88-2) & *77740177 (B88-2) = (B88-2) V A12, ->13 8) ->20 IF A3 = 2 ->19 IF A2 = 2 A7 = 1 ->20 UNLESS [ABN] ≡ [B] LET [AB] ≡ [A] A5 = CATEGORY OF [B] A6 = ADDRESS OF [A], A6 = (A6 + 1) A9 = B88 PLANT 0114, A5, 72, A6 IN B88, ->17 4) LET [WORD] ≡ ([ADDR]), A12=A1 A1 = 83 ->15 21) A9 = B88, PLANT 0114, A1, 72, A5 IN B88, ->17 19) LET [AB] ≡ [B] A5 = CATEGORY OF [B] ->22 UNLESS [ABN] ≡ [A] A6 = ADDRESS OF [A], A6 = (A6 + 1) PLANT 0104, A5, 72, A6 IN B88, ->23 22) ->11 UNLESS [ABN] ≡ [B] A6 = CATEGORY OF [B] PLANT 0124, A5, A6, 0 IN B88 23) ->24 IF A4 = 1 (B88 - 2) = (B88 - 2) - *001 24) END 5) ->25 IF A4 = 4 B54 = -1 END 25) LET [ADDR] ≡ [AB] ->26 UNLESS [AB] ≡ [A] A5 = ADDRESS OF [A], A5 = (A5 + 1) PLANT 0101, A1, 72, A5 IN B88, ->14 26) LET [AB] ≡ [B] A5 = CATEGORY OF [B] ->27 UNLESS A3 = 1 PLANT 0121, A1, A5, 0 IN B88 ->13 IF A2 = 2 B88 = B88 - 2, A1 = A5 ,->13 27) A1 = A12 , PLANT 0101, A1, A5, 0 IN B88, ->13
ROUTINE [AS] ≡ CALL[PI] COMPILER [GENERATED-P] α2 = ADDRESS OF [GENERATED-P] α1= (α2+1) β68 = (α1) β69 =INDEX 256 β67 =-1 CALL R 141 ->1 IF β68 ≠ (α1) β65 = -16 CALL R 257 1) B92 = (α2 + 1) B60 = B90 B77 = B92 B92 = B68 B70 = B127 + 2 B127 = B76 + 6 END
ROUTINE(COMPILER)[BS] ≡ ([ADDR]) = [WORD][SEP] ->3 IF [ADDR] ≡ [B] + [N] ->3 IF [ADDR] ≡ [B] - [N] ->3 IF [ADDR] ≡ [B] LET [WORD/1] = [ADDR] CALL [BS/1] COMPILER B82 = [WORD/1] CALL [BS/1] COMPILER (B82) = [WORD] END 3) ->5 IF [WORD] ≡ [B/1] ->7 IF [WORD] ≡ 0 CALL [BS/1] COMPILER B83 = [WORD] A3 = 83 6) A2 = CATEGORY OF [B] A1 = CATEGORY OF [ADDR] A4 = 0 ->A1 1) A4 = [N], ->4 2) A4 = -[N] 4) PLANT 0113, A3, A2, A4 IN B88 END 5) A3 = CATEGORY OF [B/1] ->6 7) A3 = 0, ->6
ROUTINE (COMPILER) [BS] ≡ PLANT [FD][COMMA][ABN/1][COMMA][ABN/2][COMMA][WORD]IN[B][SEP] A1 = CATEGORY OF [FD] A3 = CATEGORY OF [B] ->1 IF [ABN/1] ≡ [N/1] ->2 IF [ABN/2] ≡ [N/2] CALL[BS/1] COMPILER B83 = B0 + [ABN/1] 8) PLANT 0125, 83, 0, 0 IN B88 PLANT 0124, 83, 83, 0 IN B88 CALL [BS/1] COMPILER B83 = B83 + [ABN/2] 9) PLANT 0163, 83, 0, 0 IN B88 11) PLANT 0163, 83, 0, B0 - A1 IN B88 10) PLANT 0113, 83, A3, 0 IN B88 ->6 UNLESS [WORD] ≡ 0 PLANT 0113, 0, A3, 1 IN B88 7) PLANT 0124, A3, 0, 2 IN B88 END 6) CALL [BS/1] COMPILER ([B] + 1) = [WORD], ->7 1) B69 = [N/1] 0125, 69, 0, 0 ->3 IF [ABN/2] ≡ [N/2] 0163, 69, 0, 0 A1 = A1 + B69 CALL [BS/1] COMPILER B83 = B0 + [ABN/2], ->9 3) 0124, 69, 69, [N/2] 0163, 69, 0, 0 0163, 69, 0, 0 A1 = A1 + B69 PLANT 0121, 83, 0, A1 IN B88, ->10 2) B69 = [N/2] 0163, 69, 0, 0 0163, 69, 0, 0 A1 = A1 + B69 CALL [BS/1] COMPILER B83 = B0 + [ABN/1] PLANT 0125, 83, 0, 0 IN B88, ->11
ROUTINE (COMPILER)[BS] ≡ -> [LABEL][IU][WORD/1][COMPARATOR][WORD/2][SEP] A3 = B88 A4 = 127 CALL [BS/1] COMPILER B82 = [WORD/2] ->11 UNLESS [WORD/1] ≡ [A] A1 = ADDRESS OF [A] PLANT 0150, 82, 72, (A1 + 1) IN B88 17) A1 = ADDRESS OF [LABEL] A1 = (A1+3) A2 = A1 & 1023 A5 = A2 A3 = A1 - A2 12) A1 = CATEGORY OF [COMPARATOR] A6 = CATEGORY OF [IU] A1 = A1 + 1 ≢ A6 - 1 ->13 IF A3 = .11 ->1 IF A3 = .10 PLANT 0101, 83, 72, A2 IN B88 -> 10 1) PLANT 0121, 83, A2, 0 IN B88 10) PLANT 0124, 83, 73, 0 IN B88 PLANT 0101, 83, 83, 0 IN B88 PLANT 0124, 83, 71, 0 IN B88 A4 = 83 A5 = 0 ->A1 13) ->A1 IF B54 = -1, ADD B88 TO NEST B53 ->A1 2) PLANT 0224, 127, A4, A5 IN B88, END 3) PLANT 0225, 127, A4, A5 IN B88, END 4) PLANT 1226, 127, A4, A5 IN B88, END 5) PLANT 1227, 127, A4, A5 IN B88, END 6) PLANT 0227, 127, A4, A5 IN B88, END 7) PLANT 0226, 127, A4, A5 IN B88, END 8) ->4 9) ->5 11) ->15 UNLESS [WORD/1] ≡ [B] A1 = CATEGORY OF [B] ->16 IF B88 = A3 + 2 PLANT 0170, 82, A1, 0 IN B88 , ->17 15) CALL [BS/1] COMPILER B83 = [WORD/1] PLANT 0172, 83, 82, 0 IN B88, ->17 16) (B88 - 2) = (B88 - 2) ≢ *025644 SHIFT A1 UP 5 (B88 - 2) = (B88 - 2) + A1, ->17
ROUTINE (COMPILER)[BS] ≡ [AB] = [WORD/1][OPERATOR][WORD/2][SEP] A1 = ADDRESS OF [BS] (A1) = 188 α4 = CATEGORY OF [OPERATOR] ->10 UNLESS [BS] ≡ [B] = [B/1][OPERATOR][WORD/2][SEP] α5 = CATEGORY OF [WORD/2] ->11 UNLESS α5 ≥ 3 α3 = [WORD/2] α2 = 0 ->13 12) α3= 0 α2 = CATEGORY OF [B/2] 13) α5 = 0 α1 = CATEGORY OF [B] ->14 IF α1 = α2 α6 = CATEGORY OF [B/1] ->15 IF α1 = α6 16) PLANT 0121, α1, α6, 0 IN β88 15) ->α4 14) α1 = 82, α5 = 1, α6 = CATEGORY OF [B/1] ->16 11) ->12 IF [WORD/2] ≡ [B/2] 10) CALL [BS/1] COMPILER β82 = [WORD/1] CALL [BS/1] COMPILER β83 = [WORD/2] CALL [BS/1] COMPILER β82 = β82 [OPERATOR] β83 CALL [BS/1] COMPILER [AB] = β82 END 17) ->18 IF α5 = 0 PLANT 0121, α2, 82, 0 IN β88 18) END 1) PLANT 0124, α1, α2, α3 IN β88, ->17 2) PLANT 0122, α1, α2, α3 IN β88, ->17 3) PLANT 0124, α1, α1, 0 IN β88 ->19 IF α2 = 0, ->23 IF α2 = 83 PLANT 0121, 83, α2, 0 IN β88 23) PLANT 0124, 83, 83, 0 IN β88, α7 = 83 20) α3 = α3 + α3 ->21 IF α4 = 4 PLANT 1302, α1, α7, α3 IN β88, ->22 21) PLANT 1304, α1, α7, α3 IN β88 22) PLANT 0163, α1, 0, 0 IN β88, ->17 4) ->3 5) PLANT 0127, α1, α2, α3 IN β88, ->17 6) PLANT 0167, α1, α2, α3 IN β88, ->17 7) PLANT 0126, α1, α2, α3 IN β88, ->17 8) ->5 9) ->7 19) α7 = 0, ->20
ROUTINE (COMPILER)[AS] ≡ ADD [WORD] TO [LIST OR NEST][AB][SEP] CALL [BS] COMPILER B69 = [AB] CALL [BS] COMPILER B68 = [WORD] A1 = CATEGORY OF [LIST OR NEST] A1 = A1 + 203 PLANT 1102, 70, 76, A1 IN B88 CALL [BS] COMPILER [AB] = B69 END
ROUTINE (COMPILER) [BS] ≡ [AB] = CATEGORY OF [PI] [SEP] α1 = (B72+3) ->1 IF (α1+3) = 0 β54 = -1 END 1) α2 = (α1+1) & 1023 PLANT 0101 , 82 , 72 , α2 IN B88 CALL [BS/1] COMPILER [AB] = (β82) END
ROUTINE (COMPILER) [BS] ≡ [AB] = ADDRESS OF [PI] [SEP] α1 = (B72+3) ->1 IF (α1+3) = 0 β54 = -1 END 1) α2 = (α1+1) & 1023 ->2 IF [AB] ≡ [B] PLANT 0101 , 82 , 72 , α2 IN B88 CALL [BS/1] COMPILER [AB] = β82 END 2) α1 = CATEGORY OF [B] PLANT 0101, α1, 72, α2 IN B88 END
ROUTINE (COMPILER) [BS] ≡ LET [PI] ≡ [RESOLVED-P][SEP] α1 = (B72+2) ->1 IF (α1+3)≠ 0 α1 = ADDRESS OF [RESOLVED - P] α3 = (α1+1) & .11 ->6 IF α3 = .11 α1 = (α1+1) α3 = (α1) & .11 α7 = -1 ->1 IF α3 = .10 α3 = α1 & -1 2) α3 = α3 + 1 α2 = (α3) & .11 α7 = α7 + 1 ->2 IF α2 = .11 ->3 IF α2 = 0 1) β54 = -1 END 3) CALL [BS/1] COMPILER β82 = ADDRESS OF [PI] PLANT 0101 , 83 , 82 , 0 IN B88 PLANT 0172 , 83 , 0 , (α1) IN B88 PLANT 0225 , 127 , 0 , *2001 0000 IN B88 α4 = 0 4) α4 = α4+1 ->5 IF α4 = α7+1 α6 = (α1 + α4) α6 = α6 & 2097151 PLANT 0101 , 99 , 82 , α4 IN B88 PLANT 0113 , 99 , 72 , α6 IN B88 ->4 5) END 6) CALL [BS/1] COMPILER β82 = ADDRESS OF [PI] α3 = (α1+1)& 2097151 PLANT 0113, 82, 72, α3 IN B88 END
ROUTINE (COMPILER) [BS] ≡ -> [LABEL][IU][PI] ≡ [RESOLVED-P][SEP] α1 = (B72+4) ->1 IF (α1+3) ≠ 0 α8 = ADDRESS OF [LABEL] α8 = (α8+3) α9 = α8 & .11 ->1 IF α9 ≠ .11 α8 = α8 & -1 α1 = ADDRESS OF [RESOLVED-P] α1 = (α1+1) α3 = (α1) & .11 α7 = -1 ->1 IF α3 = .10 α3 = (α1+1) & .11 ->1 IF α3 ≠ .11 α3 = α1 & -1 2) α3 = α3 + 1 α2 = (α3) & .11 α7 = α7 + 1 ->2 IF α2 = .11 ->3 IF α2 = 0 1) β54 = -1 END 3) CALL [BS/1] COMPILER β82 = ADDRESS OF [PI] PLANT 0101, 83, 82, 0 IN B88 PLANT 0172, 83, 0, (α1) IN B88 ->6 IF [IU] ≡ IF ADD B88 TO NEST B53 8) PLANT 0225, 127, 127, α8 IN B88 α4 = 0 4) α4 = α4 + 1 ->5 IF α4 = α7+1 α6 = (α1 + α4) α6 = α6 & 2097151 PLANT 0101 , 99, 82, α4 IN B88 PLANT 0113 , 99, 72 , α6 IN B88 ->4 5) ->7 IF [IU] ≡ UNLESS CALL [BS/1] COMPILER -> [LABEL] 7) END 6) α 8 = α7 + α7 + 1 α8 = α8 + α8 ->8
ROUTINE (COMPILER) [BS] ≡ -> [LABEL][SEP] α1 = ADDRESS OF [LABEL] α1 = (α1 + 3) α2 = α1 & 1023 α3 = α1 - α2 ->1 IF α3 = 0.11 ->2 IF α3 ≠ 0.10 PLANT 0121, 82, α2, 0 IN B88 3) PLANT 0101, 83, 0,1048746 IN B88 PLANT 0121, 127, 83, 2 IN B88 END 2) PLANT 0101, 82, 72, α2 IN B88 ->3 1) ADD B88 TO NEST B53 PLANT 0124, 127, 0, α2 IN B88 END
ROUTINE (COMPILER) [BS] ≡ SHIFT [AB] UP [ABN] [SEP] ->1 IF [AB] ≡ [B] 2) CALL [BS/1] COMPILER β82 = [AB] CALL [BS/1] COMPILER β83 = B0 + [ABN] CALL [BS/1] COMPILER B83 = B83 + B83 α1 = 82, α2 = 83, α3 = 0 3) PLANT 1343, α1, α2, A3 IN B88 ->4 IF α2 = 0 CALL [BS/1] COMPILER [AB] = β82 4) END 1) ->2 UNLESS [ABN] ≡ [N] α1 = CATEGORY OF [B] α2 = 0 α3 = CATEGORY OF [N] α3 = α3 + α3 ->3
ROUTINE (COMPILER) [BS] ≡ SHIFT [AB] DOWN [ABN] [SEP] ->1 IF [AB] ≡ [B] 2) CALL [BS/1] COMPILER β82 = [AB] CALL [BS/1] COMPILER β83 = B0 + [ABN] CALL [BS/1] COMPILER β83 = β83 + β83 α1 = 82, α2 = 83, α3 = 0 3) PLANT 1342, α1, α2, α3 IN B88 ->4 IF α2 = 0 CALL [BS/1] COMPILER [AB] = β82 4) END 1) ->2 UNLESS [ABN] ≡ [N] α1 = CATEGORY OF [B] α2= 0 α3 = CATEGORY OF [N] α3 = α3 + α3 ->3
ROUTINE(COMPILER)[BS]≡[FD][COMMA][WORD/1][COMMA][WORD/2][COMMA][WORD/3][SEP] -> 1 UNLESS [BS] ≡ [FD],[N/1],[N/2],[WORD/3][SEP] α1 = CATEGORY OF [WORD/3] -> 1 IF α1<3 PLANT [FD],[N/1],[N/2],[WORD/3] IN B88 END 1) B54 = -1 END
ROUTINE (COMPILER) [BS] ≡ ([ADDR]) = [WORD/1][OPERATOR][WORD/2][SEP] CALL [BS/1] COMPILER β84 = [WORD/1][OPERATOR][WORD/2] CALL [BS/1] COMPILER ([ADDR]) = β84 END
ROUTINE(COMPILER) [BS] ≡ END[SEP] PLANT 0101,127,0,1048816 IN B88 END
ROUTINE (COMPILER) [BS] ≡ [AB/1] = [WORD][SEP] A7 = 0 A8 = 0 A9 = 0 A1 = 83 A2 = 1 ->1 UNLESS [AB/1] ≡ [B/1] A1 = CATEGORY OF [B/1] A2 = 2 1) A3 = CATEGORY OF [WORD] ->2 IF A3 < 3 A4 = [WORD] PLANT 0121, A1, 0, A4 IN B88 13) ->3 UNLESS A2 = 1 LET [AB/1] ≡ [A/1] ->30 IF A4 ≠ 0, B88 = B88 - 2 , A1 = 0 30) A10 = ADDRESS OF [A/1] A10 = (A10 + 1) PLANT 0113, A1, 72, A10 IN B88 3) ->17 IF A9 ≠ 0, END 2) ->4 IF A3 = 2 LET [WORD] ≡ [ADDR] 15) A4 = CATEGORY OF [ADDR] ->5 IF A4 > 2 ->7 IF [ADDR] ≡ [AB] + [ABN] LET [ADDR] ≡ [AB] - [ABN] 7) A10 = ADDRESS OF [AB/1], A11 = ADDRESS OF [AB] ->20 IF (A10) ≠ (A11) A10 = (A10+1) , A11 = (A11+1) , ->20 IF (A10) ≠ (A11) ->8 IF (A10) ≠ *40000006 ->8 IF (A10+1) = (A11+1) 20) ->9 UNLESS [ABN] ≡ [A] A5 = ADDRESS OF [A], A5 = (A5 + 1) PLANT 0101, A1, 72, A5 IN B88, ->10 9) ->11 UNLESS [ABN] ≡ [B] A5 = CATEGORY OF [B] PLANT 0121, A1, A5, 0 IN B88, ->10 11) LET [ABN] ≡ [N] A8 = 1 A5 = CATEGORY OF [N] PLANT 0121, A1, 0, A5 IN B88 10) ->12 UNLESS [AB] ≡ [A] A5 = ADDRESS OF [A] A5 = (A5 + 1) A9 = B88 ->21 IF A7 = 1 PLANT 0104, A1, 72, A5 IN B88, ->14 12) LET [AB] ≡ [B] A5 = CATEGORY OF [B] ->6 IF A8 = 1 ->29 IF A5 ≠ 0 ->29 IF A4 ≠ 1 ->14 29) A9 = B88 PLANT 0124, A1, A5, 0 IN B88 14) ->13 IF A3 = 1, A5 = 83, ->16 IF A2 = 1, A5 = CATEGORY OF [B/1] 16) PLANT 0101, A5, A1, 0 IN B88 ->13 17) ->18 IF A4 = 1 (A9) = (A9) & *7757 7777 18) END 6) SHIFT A5 DOWN 2, (B88 - 2) = (B88 - 2) V A5 ->28 IF A4 = 1 0112, 0, 88, -1 28) ->13 IF A3 = 1 (B88 - 2) = (B88 - 2) -*01, ->13 IF A2 = 1 SHIFT A12 UP 5 (B88-2) = (B88-2) & *77740177 (B88-2) = (B88-2) V A12, ->13 8) ->20 IF A3 = 2 ->19 IF A2= 2 A7 = 1 ->20 UNLESS [ABN] ≡ [B] LET [AB] ≡ [A] A5 = CATEGORY OF [B] A6 = ADDRESS OF [A], A6 = (A6 + 1) A9 = B88 PLANT 0114, A5, 72, A6 IN B88, ->17 4) LET [WORD] ≡ ([ADDR]), A12=A1 A1 = 83 ->15 21) A9 = B88, PLANT 0114, A1, 72, A5 IN B88, ->17 19) LET [AB] ≡ [B] A5 = CATEGORY OF [B] ->22 UNLESS [ABN] ≡ [A] A6 = ADDRESS OF [A], A6 = (A6 + 1) PLANT 0104, A5, 72, A6 IN B88, ->23 22) ->11 UNLESS [ABN] ≡ [B] A6 = CATEGORY OF [B] PLANT 0124, A5, A6, 0 IN B88 23) ->24 IF A4 = 1 (B88 - 2) = (B88 - 2) - *001 24) END 5) ->25 IF A4 = 4 B54 = -1 END 25) LET [ADDR] ≡ [AB] ->26 UNLESS [AB] ≡ [A] A5 = ADDRESS OF [A], A5 = (A5 + 1) PLANT 0101, A1, 72, A5 IN B88, ->14 26) LET [AB] ≡ [B] A5 = CATEGORY OF [B] ->27 UNLESS A3 = 1 PLANT 0121, A1, A5, 0 IN B88 ->13 IF A2 = 2 B88 = B88 - 2, A1 = A5 , ->13 27) A1 = A12 , PLANT 0101, A1, A5, 0 IN B88, ->13
ROUTINE(COMPILER) [BS] ≡ ([ADDR]) = [WORD] [SEP] ->3 IF [ADDR] ≡ [B] + [N] ->3 IF [ADDR] ≡ [B] - [N] ->3 IF [ADDR] ≡ [B] LET [WORD/1] = [ADDR] CALL [BS/1] COMPILER B82 = [WORD/1] CALL [BS/1] COMPILER (B82) = [WORD] END 3) ->5 IF [WORD] ≡ [B/1] ->7 IF [WORD] ≡ 0 CALL [BS/1] COMPILER B83 = [WORD] A3 = 83 6) A2 = CATEGORY OF [B] A1 = CATEGORY OF [ADDR] A4 = 0 ->A1 1) A4 = [N], ->4 2) A4 = -[N] 4) PLANT 0113, A3, A2, A4 IN B88 END 5) A3 = CATEGORY OF [B/1] ->6 7) A3 = 0, ->6
ROUTINE (COMPILER) [BS] ≡ PLANT[FD][COMMA][ABN/1][COMMA][ABN/2][COMMA][WORD]IN[B][SEP] A1 = CATEGORY OF [FD] A3 = CATEGORY OF [B] ->1 IF [ABN/1] ≡ [N/1] ->2 IF [ABN/2] ≡ [N/2] CALL[BS/1]COMPILER B83 = B0 + [ABN/1] 8) PLANT 0125, 83, 0, 0 IN B88 PLANT 0124, 83, 83, 0 IN B88 CALL [BS/1] COMPILER B83 = B83 + [ABN/2] 9) PLANT 0163, 83, 0, 0 IN B88 11) PLANT 0163, 83, 0, B0 - A1 IN B88 10) PLANT 0113, 83, A3, 0 IN B88 ->6 UNLESS [WORD] ≡ 0 PLANT 0113, 0, A3, 1 IN B88 7) PLANT 0124, A3, 0, 2 IN B88 END 6) CALL [BS/1] COMPILER ([B] + 1) = [WORD], ->7 1) B69 = [N/1] 0125, 69, 0, 0 ->3 IF [ABN/2] ≡ [N/2] 0163, 69, 0, 0 A1 = A1 + B69 CALL [BS/1] COMPILER B83 = B0 + [ABN/2], ->9 3) 0124, 69, 69, [N/2] 0163, 69, 0, 0 0163, 69, 0, 0 A1 = A1 + B69 PLANT 0121, 83, 0, A1 IN B88, ->10 2) B69 = [N/2] 0163, 69, 0, 0 0163, 69, 0, 0 A1 = A1 + B69 CALL [BS/1] COMPILER B83 = B0 + [ABN/1] PLANT 0125, 83, 0, 0 IN B88, ->11
ROUTINE (COMPILER)[BS] ≡ -> [LABEL][IU][WORD/1][COMPARATOR][WORD/2][SEP] A3 = B88 A4 = 127 CALL [BS/1] COMPILER B82 = [WORD/2] ->11 UNLESS [WORD/1] ≡ [A] A1 = ADDRESS OF [A] PLANT 0150, 82, 72, (A1 + 1) IN B88 17) A1 = ADDRESS OF [LABEL] A1 = (A1+3) A2 = A1 & 1023 A5 = A2 A3 = A1 - A2 12) A1 = CATEGORY OF [COMPARATOR] A6 = CATEGORY OF [IU] A1 = A1 + 1 ≢ A6 - 1 ->13 IF A3 = .11 ->1 IF A3 = .10 PLANT 0101, 83, 72, A2 IN B88 ->10 1) PLANT 0121, 83, A2, 0 IN B88 10) PLANT 0124, 83, 73, 0 IN B88 PLANT 0101, 83, 83, 0 IN B88 PLANT 0124, 83, 71, 0 IN B88 A4 = 83 A5 = 0 ->A1 13) ->A1 IF B54 = -1, ADD B88 TO NEST B53 ->A1 2) PLANT 0224, 127, A4, A5 IN B88, END 3) PLANT 0225, 127, A4, A5 IN B88, END 4) PLANT 1226, 127, A4, A5 IN B88, END 5) PLANT 1227, 127, A4, A5 IN B88, END 6) PLANT 0227, 127, A4, A5 IN B88, END 7) PLANT 0226, 127, A4, A5 IN B88, END 8) ->4 9) ->5 11) ->15 UNLESS [WORD/1] ≡ [B] A1 = CATEGORY OF [B] ->16 IF B88 = A3 + 2 PLANT 0170, 82, A1, 0 IN B88 , ->17 15) CALL [BS/1] COMPILER B83 = [WORD/1] PLANT 0172, 83, 82, 0 IN B88, ->17 16) (B88 - 2) = (B88 - 2) ≢ *025644 SHIFT A1 UP 5 (B88 - 2) = (B88 - 2) + A1, ->17
ROUTINE (COMPILER)[BS] ≡ [AB] = [WORD/1][OPERATOR][WORD/2][SEP] A1 = ADDRESS OF [BS] (A1) = 188 α4 = CATEGORY OF [OPERATOR] ->10 UNLESS [BS] ≡ [B] = [B/1][OPERATOR][WORD/2][SEP] α5 = CATEGORY OF [WORD/2] ->11 UNLESS α5 ≥ 3 α3 = [WORD/2] α2 = 0 ->13 12) α3= 0 α2 = CATEGORY OF [B/2] 13) α5 = 0 α1 = CATEGORY OF [B] ->14 IF α1 = α2 α6 = CATEGORY OF [B/1] ->15 IF α1 = α6 16) PLANT 0121, α1, α6, 0 IN β88 15) -> α4 14) α1 = 82, α5 = 1, α6 = CATEGORY OF [B/1] ->16 11) ->12 IF [WORD/2] ≡ [B/2] 10) CALL [BS/1] COMPILER β82 = [WORD/1] CALL [BS/1] COMPILER β83 = [WORD/2] CALL [BS/1] COMPILER β82 = β82 [OPERATOR] β83 CALL [BS/1] COMPILER [AB] = β82 END 17) ->18 IF α5 = 0 PLANT 0121, α2, 82, 0 IN β88 18) END 1) PLANT 0124, α1, α2, α3 IN β88, ->17 2) PLANT 0122, α1, α2, α3 IN β88, ->17 3) PLANT 0124, α1, α1, 0 IN β88 ->19 IF α2 = 0, ->23 IF α2 = 83 PLANT 0121, 83, α2, 0 IN β88 23) PLANT 0124, 83, 83, 0 IN β88, α7 = 83 20) α3 = α3 + α3 ->21 IF α4 = 4 PLANT 1302, α1, α7, α3 IN β88, ->22 21) PLANT 1304, α1, α7, α3 IN β88 22) PLANT 0163, α1, 0, 0 IN β88, ->17 4) ->3 5) PLANT 0127, α1, α2, α3 IN β88, ->17 6) PLANT 0167, α1, α2, α3 IN β88, ->17 7) PLANT 0126, α1, α2, α3 IN β88, ->17 8) ->5 9) ->7 19) α7 = 0, ->20
ROUTINE (COMPILER)[AS] ≡ ADD [WORD] TO [LIST OR NEST][AB][SEP] CALL [BS] COMPILER B69 = [AB] CALL [BS] COMPILER B68 = [WORD] A1 = CATEGORY OF [LIST OR NEST] A1 = A1 + 203 PLANT 1102, 70, 76, A1 IN B88 CALL [BS] COMPILER [AB] = B69 END
ROUTINE (COMPILER) [BS] ≡ [AB] = CATEGORY OF [PI] [SEP] α1 = (B72+3) ->1 IF (α1+3) = 0 β54 = -1 END 1) α2 = (α1+1) & 1023 PLANT 0101 , 82 , 72 , α2 IN B88 CALL [BS/1] COMPILER [AB] = (β82) END
ROUTINE (COMPILER) [BS] ≡ [AB] = ADDRESS OF [PI] [SEP] α1 = (B72+3) ->1 IF (α1+3) = 0 β54 = -1 END 1) α2 = (α1+1) & 1023 ->2 IF [AB] ≡ [B] PLANT 0101 , 82 , 72 , α2 IN B88 CALL [BS/1] COMPILER [AB] = β82 END 2) α1 = CATEGORY OF [B] PLANT 0101, α1, 72, α2 IN B88 END
ROUTINE (COMPILER) [BS] ≡ LET [PI] ≡ [RESOLVED-P][SEP] α1 = (B72+2) ->1 IF (α1+3) ≠ 0 α1 = ADDRESS OF [RESOLVED - P] α3 = (α1+1) & .11 ->6 IF α3 = .11 α1 = (α1+1) α3 = (α1) & .11 α7 = -1 ->1 IF α3 = .10 α3 = α1 & -1 2) α3 = α3 + 1 α2 = (α3) & .11 α7 = α7 + 1 ->2 IF α2 = .11 ->3 IF α2 = 0 1) β54 = -1 END 3) CALL [BS/1] COMPILER β82 = ADDRESS OF [PI] PLANT 0101 , 83 , 82 , 0 IN B88 PLANT 0172 , 83 , 0 , (α1) IN B88 PLANT 0225 , 127 , 0 , *2001 0000 IN B88 α4 = 0 4) α4 = α4+1 ->5 IF α4 = α7+1 α6 = (α1 + α4) α6 = α6 & 2097151 PLANT 0101 , 99 , 82 , α4 IN B88 PLANT 0113 , 99 , 72 , α6 IN B88 ->4 5) END 6) CALL [BS/1] COMPILER β82 = ADDRESS OF [PI] α3 = (α1+1)& 2097151 PLANT 0113, 82, 72, α3 IN B88 END
ROUTINE (COMPILER) [BS] ≡ -> [LABEL][IU][PI] ≡ [RESOLVED-P][SEP] α1 = (B72+4) ->1 IF (α1+3) ≠0 α8 = ADDRESS OF [LABEL] α8 = (α8+3) α9 = α8 & .11 ->1 IF α9 ≠ .11 α8 = α8 & -1 α1 = ADDRESS OF [RESOLVED-P] α1 = (α1+1) α3 = (α1) & .11 α7 = -1 ->1 IF α3 = .10 α3 = (α1+1) & .11 ->1 IF α3 ≠ .11 α3 = α1 & -1 2) α3 = α3 + 1 α2 = (α3) & .11 α7 = α7 + 1 ->2 IF α2 = .11 ->3 IF α2 = 0 1) β54 = -1 END 3) CALL [BS/1] COMPILER β82 = ADDRESS OF [PI] PLANT 0101, 83, 82, 0 IN B88 PLANT 0172, 83, 0, (α1) IN B88 ->6 IF [IU] ≡ IF ADD B88 TO NEST B53 8) PLANT 0225, 127, 127, α8 IN B88 α4 = 0 4) α4 = α4 + 1 ->5 IF α4 = α7+1 α6 = (α1 + α4) α6 = α6 & 2097151 PLANT 0101 , 99, 82 , α4 IN B88 PLANT 0113 , 99, 72 , α6 IN B88 ->4 5) ->7 IF [IU] ≡ UNLESS CALL [BS/1] COMPILER -> [LABEL] 7) END 6) α8 = α7 + α7 + 1 α8 = α8 + α8 ->8
ROUTINE (COMPILER) [BS] ≡ SHIFT [AB] UP [ABN] [SEP] ->1 IF [AB] ≡ [B] 2) CALL [BS/1] COMPILER β82 = [AB] CALL [BS/1] COMPILER β83 = B0 + [ABN] CALL [BS/1] COMPILER B83 = B83 + B83 α1 = 82, α2 = 83, α3 = 0 3) PLANT 1343, α1, α2, A3 IN B88 ->4 IF α2 = 0 CALL [BS/1] COMPILER [AB] = β82 4) END 1) ->2 UNLESS [ABN] ≡ [N] α1 = CATEGORY OF [B] α2 = 0 α3 = CATEGORY OF [N] α3 = α3 + α3 ->3
ROUTINE (COMPILER) [BS] ≡ SHIFT [AB] DOWN [ABN] [SEP] ->1 IF [AB] ≡ [B] 2) CALL [BS/1] COMPILER β82 = [AB] CALL [BS/1] COMPILER β83 = B0 + [ABN] CALL [BS/1] COMPILER β83 = β83 + β83 α1 = 82, α2 = 83, α3 = 0 3) PLANT 1342, α1, α2, α3 IN B88 ->4 IF α2 = 0 CALL [BS/1] COMPILER [AB] = β82 4) END 1) ->2 UNLESS [ABN] ≡ [N] α1 = CATEGORY OF [B] α2= 0 α3 = CATEGORY OF [N] α3 = α3 + α3 ->3
ROUTINE (COMPILER)[BS] ≡ -> [LABEL][SEP] α1 = ADDRESS OF [LABEL] α1 = (α1 + 3) α2 = α1 & 1023 α3 = α1 - α2 ->1 IF α3 = 0.11 ->2 IF α3 ≠ 0.10 PLANT 0121, 82, α2, 0 IN B88 3) PLANT 0101, 83, 0,1048746 IN B88 PLANT 0121, 127, 83, 2 IN B88 END 2) PLANT 0101, 82, 72, α2 IN B88 ->3 1) ADD B88 TO NEST B53 PLANT 0124, 127, 0, α2 IN B88 END
ROUTINE(COMPILER)[BS]≡[FD][COMMA][WORD/1][COMMA][WORD/2][COMMA][WORD/3][SEP] -> 1 UNLESS [BS] ≡ [FD],[N/1],[N/2],[WORD/3][SEP] α1 = CATEGORY OF [WORD/3] -> 1 IF α1<3 PLANT [FD],[N/1],[N/2],[WORD/3] IN B88 END 1) B54=-1 END
ROUTINE (COMPILER) [BS] ≡ ([ADDR]) = [WORD/1][OPERATOR][WORD/2][SEP] CALL [BS/1] COMPILER β84 = [WORD/1][OPERATOR][WORD/2] CALL [BS/1] COMPILER ([ADDR]) = β84 END
ROUTINE(COMPILER) [BS] ≡ END[SEP] PLANT 0101,127,0,1048816 IN B88 END
ROUTINE (COMPILER)[BS] ≡ PRINT SYMBOL[ABN][SEP] CALL [BS/1] COMPILER B69 = B0 + [ABN] PLANT 1102, 70, 76, 183 IN B88 END
ROUTINE (COMPILER) [BS] ≡ [AB] = NUMBER OF [PI][SEP] α1 = (B72+3) ->1 IF (α1+3)=0 B54 = -1, END 1) α1 = (α1+1) & 1023 PLANT 0121 , 83 , 0 , 1 IN B88 PLANT 0101 , 82 , 72 , α1 IN B88 PLANT 0101 , 84 , 82 , 0 IN B88 PLANT 0172 , 84 , 0 , 2 IN B88 PLANT 0224 , 127 , 127 , 6 IN B88 PLANT 0101 , 82 , 82 , 2 IN B88 PLANT 0124 , 83 , 0 , 1 IN B88 PLANT 0124 , 127 , 0 ,-12 IN B88 CALL [BS/1] COMPILER [AB] = β83 END
ROUTINE(COMPILER) [BS] ≡ [AB] = CLASS OF [PI][SEP] β43 =(B72+3) ->2 IF (β43+3) =0 B54 = -1 END 2) β43 = (β43 +1) SHIFT β43 DOWN 12 β43 = β43 & 1023 ->1 IF [AB] ≡ [A] LET [AB] ≡ [B] α1 = CATEGORY OF [B] PLANT 0121 , α1 , 0 , β43 IN B88 END 1) α1 = ADDRESS OF [A] α1 = (α1 +1) PLANT 0121 , 82 , 0 , β43 IN B88 PLANT 0113 , 82 , 72 , α1 IN B88 END
ROUTINE (COMPILER)[BS]≡INDEX [ABN] = [AB][SEP] ->1 IF [ABN] ≡ [N] 2) PLANT 0121, 82, 0, *2 IN B88 CALL [BS/1] COMPILER (β82+[ABN]) = [AB] END 1) ->2 UNLESS [AB] ≡ [B] α1 = CATEGORY OF [B] α2 = [N] +*2 PLANT 0113, α1, 0, α2 IN B88 END
ROUTINE (COMPILER) [BS]≡[AB]= INDEX [ABN][SEP] ->1 IF [ABN] ≡ [N] 2) PLANT 0121, 82, 0, *2 IN B88 CALL [BS/1] COMPILER [AB] = (β82 + [ABN]) END 1) ->2 UNLESS [AB] ≡ [B] α1 = CATEGORY OF [B] α2 = [N] + *2 PLANT 0101, α1, 0, α2 IN B88 END
ROUTINE (COMPILER) [BS] ≡ SPACE [SEP] PLANT 1064, 0, 0, 0.01 IN B88 END
ROUTINE (COMPILER)[BS] ≡ NEWLINE [SEP] PLANT 0113, 0, 0, 1048581 IN B88 PLANT 1065, 0, 0, 4.01 IN B88 END
ROUTINE (COMPILER)[BS] ≡ CALL R [ABN] [SEP] ->1 UNLESS [ABN] ≡ [N] PLANT 1102, 70, 76, [N] IN B88 END 1) B54 = -1 END
ROUTINE (COMPILER) [BS] ≡ PRINT [ABN][SEP] CALL [BS/1] COMPILER β82 = β0 + [ABN] PLANT 0121, 70, 127, 4 IN B88 PLANT 0101, 99, 0, 1048824 IN B88 PLANT 0121, 127, 99, 2 IN B88 END
ROUTINE (COMPILER)[BS]≡ [FD][COMMA][WORD][COMMA] 0 [COMMA] L [LABEL] ->1 UNLESS [WORD] ≡ [N] α1 = ADDRESS OF [LABEL] α1 = (α1 + 3) α2 = α1 & .11 ->2 IF α2 = .11 1) β54= -1 END 2) ADD B88 TO LIST B53 α1 = α1 - .11 PLANT [FD],[N], 127, α1 IN B88 END
ROUTINE (COMPILER)[BS]≡[WORD/1]/[WORD/2][SEP] α1 = [WORD/1] α2 = [WORD/2] (B88) = α1 (B88 + 1) = α2 B88 = B88 + 2 END
ROUTINE (COMPILER) [BS] ≡ PRINT [ABN] IN OCTAL [SEP] CALL [BS/1] COMPILER B82 = B0 + [ABN] PLANT 1102, 70, 76, 219 IN B88 END
ROUTINE [MP] ≡ FORMAT CLASS CALL R213 CALL R230 α2=(β61+1) β58=(α2) (β61+1)= β89 β89=α2 α1=INDEX 129 1) α2=(α1) ->2 IF α2=0 ->3 IF α2= β58 α1=α1+1 ->1 2) ->4 IF (α1 + 1) = 0 β65=2 CALL R258 END 4) (α1)= β58 α3= β89 V .10 (β89)=1048576 β89=(β89+1) (β89)=0 β89 = (β89 + 1) (β89) = 0 INDEX β58 = α3 α4= β89 β89=(β89+1) (α4+1)=α3 & -1 END 3) β65=1 CALL R258 END
ROUTINE [MP] ≡ BUILT-IN PHRASE 1065, 0, 0, 4.11 0113, 0, 0, 1048581 0121, 82, 86, 0 1102, 70, 76, 248 1064, 0, 0, 1.00 1064, 0, 0, 3.11 1064, 0, 0, 1.01 1064, 0, 0, 0.01 1064, 0, 0, 12.11 1064, 0, 0, 13.00 1064, 0, 0, 8.01 1064, 0, 0, 12.10 1064, 0, 0, 13.00 1064, 0, 0, 0.01 1064, 0, 0, 11.11 1064, 0, 0, 9.10 1064, 0, 0, 0.01 1064, 0, 0, 12.10 CALL R213 B78 = 0 CALL R 230 B61=(B61+1) B58=(B61) 0121, 82, 58, 0 1102, 70, 76, 248 1065, 0, 0, 4.01 B61=(B61+1) B69=B61 B78=0 B61=B69 B57 = INDEX B58 ->1 IF B57 = 0 B65 = 1 CALL R258 A3 = B61 0172, 57, 0, *2001 0000 0227, 127, 0, L1 0121, 61, 58, 0 1102, 70, 76, 155 B61 = A3 1) B57 = B88 + .11 INDEX B58 = B57 B62 = 1 CALL R253 ->3 IF B81 = 0 B65 = 3 CALL R258 3) B58 = INDEX B58 (B58) = 1048576 END
BUILT-IN PHRASE [ALL SYMBOLS EXCEPT RT BRACKET] B93 = B63 B91 = B62 B92 = B62 3) B93 = B93 + 1 B92 = (B91 + 1) ->1 IF (B92) = 68 ->2 IF (B92) = 9 (B93) = (B92) B91 = B92 ->3 1) 0172, 0, 0, 1 B127 = B70 2) B63 = B63 + .10 B94 = B93 - B63 (B63) = B94 B62 = B91 B63 = B93 0170, 0, 0, 1 B127 = B70
ROUTINE R 180 NEWLINE NEWLINE ->3 IF B86 ≥ 10 SPACE 3) ->4 IF B86 ≥ 100 SPACE 4) PRINT B86 PRINT SYMBOL 79 SPACE B91 = INDEX 138 B91 = B91 + 1 INDEX 138 = B91 ->1 IF B62 = 0 MONITOR (MASTER[SP]PHRASE) ->2 1) MONITOR (INSTRUCTION) 2) MONITOR ([SP]NOT[SP]RECOGNISED) NEWLINE B91 = B61 5) B92 = B91 B91 = (B91 + 1) ->5 IF B91 ≠ B61 ->7 IF B92 = B61 B93 = (B61 + 1) (B61 + 1) = B89 B89 = B61 B61 = B92 (B61 + 1) =B93 PRINT LIST B61 7) NEWLINE END
FORMAT [SS] = POPI [WORD] TO [WORD][EOL] ROUTINE [SS] ≡ POPI [WORD/1] TO [WORD/2][EOL] NEWLINE NEWLINE α1 = [WORD/1] α2 = [WORD/2] 1) α9 = (α1) α8 = α9 & 31.11 SHIFT α8 UP 2 SHIFT α9 DOWN 5 α7 = α9 & 127 SHIFT α9 DOWN 7 α6 = α9 & 7 SHIFT α9 DOWN 3 α5 = α9 & 7 SHIFT α9 DOWN 3 α4 = α9 & 7 SHIFT α9 DOWN 3 α3 =α9 & 1 PRINT α3 PRINT α4 PRINT α5 PRINT α6 SPACE PRINT α7 SPACE PRINT α8 SPACE α9 = (α1 + 1) PRINT α9 SHIFT α9 UP 2 α3 = α9 & 3 PRINT α3 NEWLINE α1 = α1 + 2 ->1 IF α1 ≤ α2 END
END OF MESSAGE PHRASE [NOTE'] = [COMMA]|[NOTE],NIL PHRASE [TABLE LABEL] = [N]:[TABLE LABEL],NIL FORMAT [AS] = PLANT [AB]TH ORDER OF TABLE [TABLE] IN [B][SEP] FORMAT [AS] = PLANT TABLE [TABLE] IN [B][SEP] FORMAT [AS] = |[NOTE][SEP] BUILT-IN PHRASE [NOTE] 2) B91 = (B62 + 1) ->1 IF (B91) = 68 B62 = B91 ->2 1) (B63) = 0 B63 = B63 + 1 0172, 0, 0, 0 B127 = B70
ROUTINE (COMPILER) [AS] ≡ |[NOTE][SEP] END
PHRASE[TABLE] = [TABLE ENTRY][REST OF TABLE] PHRASE [TABLE ENTRY] = [68][TABLE LABEL][FD][COMMA][αβN][COMMA][αβN][COMMA][WORD][NOTE'] PHRASE[REST OF TABLE] = [TABLE ENTRY][REST OF TABLE],NIL ROUTINE(COMPILER)[AS] ≡ PLANT[αβ]TH ORDER OF TABLE [TABLE]IN[β][SEP] α1 = CATEGORY OF [β] CALL[BS]COMPILER β82 = [αβ]+[αβ] PLANT 0334, 127, 82, 4 IN β88 PLANT 0356, 0, α1, 0 IN β88 PLANT 0124, α1, 0, 2 IN β88 PLANT 0124, 127, 0, 0 IN β88 LET[TABLE]≡[TABLE ENTRY][REST OF TABLE] α1 = NUMBER OF [REST OF TABLE] (β88 - 1) = α1+α1 2) LET[TABLE ENTRY]≡[68][TABLE LABEL][FD][COMMA][αβN/1][COMMA] /[αβN/2][COMMA][WORD][NOTE'] ->1 UNLESS[αβN/1] ≡ [N] ->1 UNLESS[αβN/2] ≡ [N] α2 = CATEGORY OF [WORD] ->1 UNLESS α2 ≥ 3 PLANT [FD],[αβN/1],[αβN/2],[WORD]IN β88 3) ->2 IF [REST OF TABLE]≡[TABLE ENTRY] [REST OF TABLE] END 1) PRINT β86,MONITOR(:WRONG[SP]FORMAT[SP]IN[SP]TABLE) ->3
ROUTINE(COMPILER) [AS] ≡ PLANT TABLE [TABLE] IN [β][SEP] α1 = CATEGORY OF [β] α2 = β88 PLANT 0121, 83, 127, 16 IN β88 PLANT 0121, 82, 83, 0 IN β88 PLANT 0334, 0, 83, 0 IN β88 PLANT 0356, 0, α1, 0 IN β88 PLANT 0124, α1, 0, 2 IN β88 PLANT 0124, 83, 0, 2 IN β88 PLANT 0172, 83, 82, 0 IN β88 PLANT 0225, 127, 127, -12 IN β88 PLANT 0124, 127, 0, 0 IN β88 LET[TABLE]≡[TABLE ENTRY][REST OF TABLE] α1 = NUMBER OF [REST OF TABLE], α1 = α1+α1 (α2+3) = α1, (α2+17) = α1 2) LET[TABLE ENTRY]≡[68][TABLE LABEL][FD][COMMA][αβN/1][COMMA] /[αβN/2][COMMA][WORD][NOTE'] ->1 UNLESS[αβN/1] ≡ [N] ->1 UNLESS[αβN/2] ≡ [N] α2 = CATEGORY OF [WORD] ->1 UNLESS α2 ≥ 3 PLANT [FD],[αβN/1],[αβN/2],[WORD] IN β88 3) ->2 IF [REST OF TABLE]≡[TABLE ENTRY][REST OF TABLE] END 1) PRINT β86, MONITOR(:WRONG[SP]FORMAT[SP]IN[SP]TABLE) ->3
ROUTINE [AS] ≡ [AB/1] = LIST [AB/2]([ABN/3],?)[SEP] β68 = B0+[ABN/3] β69 = [AB/2] β67 = -1 CALL R 141 0227, 127, 0, L1 [AB/1] = β68 1) END
ROUTINE [AS] ≡ MONITOR ([ALL SYMBOLS EXCEPT RT BRACKET])[SEP] β68 = ADDRESS OF [ALL SYMBOLS EXCEPT RT BRACKET] β67 = β68 β68 = β68 + (β68) 1) β67 = β67 + 1 β69 = (β67) CALL R183 ->1 IF β67 < β68 - 1 END
ROUTINE [AS] ≡ LIST[AB] = NEXT RECONSTRUCTED LINE[SEP] CALL R 238 [AB] = B61 END
ROUTINE [AS] ≡ [AB] = [LIST OR NEST][WORD][SEP] [AB] = β89 (β89) = [WORD] β89 = (B89 + 1) ([AB] + 1) = [AB] END
ROUTINE [AS] ≡ [AB] = [LIST OR NEST]([WORD/1][, WORD*])[SEP] [AB] = 0 ADD ([WORD/1][, WORD*]) TO [LIST OR NEST][AB] END
ROUTINE [AS] ≡ [AB/1] = VALUE OF LIST [AB/2] IN DICT [AB/3][SEP] β61 = [AB/2] β62 = [AB/3] β63 = 1 CALL R 224 ->1 UNLESS β63 = 0 [AB/1] = (β64) 1) END
ROUTINE [AS] ≡ DELETE CONVENTIONAL LIST [AB][SEP] β61 = [AB] CALL R 155 INDEX β61 = β87 β87 = β61 END
ROUTINE [AS] ≡ DELETE LIST [AB/1] FROM DICT [AB/2][SEP] β61 = [AB/1] β62 = [AB/2] β63 = 3 CALL R 224 END
ROUTINE [AS] ≡ WITHDRAW [AB/1] FROM NEST [AB/2][SEP] ->1 IF [AB/2] = 0 β69 = [AB/2] CALL R 206 [AB/2] = β69 [AB/1] = β68 1) END
ROUTINE [AS] ≡ LIST [AB/1] = LIST [AB/2] + LIST [AB/3][SEP] β69 = [AB/2] β68 = [AB/3] CALL R209 [AB/1] = β69 END
ROUTINE [AS] ≡ LIST [AB/1] = ENTRY WITH VALUE [AB/2] IN DICT [AB/3][SEP] β62 = [AB/3] β63 = [AB/2] CALL R241 [AB/1] = β61 END
ROUTINE [AS] ≡ ADD ([WORD][, WORD*]) TO [LIST OR NEST] [AB][SEP] 1) ADD [WORD] TO [LIST OR NEST][AB] ->1 IF [, WORD*] ≡ [COMMA][WORD][, WORD*] LET [, WORD*] ≡ [COMMA][WORD] ADD [WORD] TO [LIST OR NEST][AB] END
ROUTINE [AS] ≡ [AB] = CONVENTIONAL LIST OF [ABN] WORDS [SEP] [AB] = β87 α1 = β87 β87 = INDEX β87 INDEX α1 = β88 β88 = β88 + [ABN] 0164, 88, 88, 1 END
ROUTINE [AS] ≡ ASSIGN VALUE [ABN] TO [PI][SEP] α1 = CLASS OF [PI] ->1 IF α1 = 149 α3 = β0 + [ABN] β91 = α3 + α3 1524, 0, 91, 0 (β90) = 2.10 β91 = β90 + 2 0164, 91, 91, 1 0356, 0, 91, 0 (β90 + 1) = (β91) (β90 + 2) = (β91 + 1) α2 = β90 + 4 (β90 + 3) = 0 ->2 1) (β90) = β0 + [ABN] (β90+ 1) = 0 α2= β90 + 2 2) α3 = β90 V 0.01 β90 = α2 [PI] = α3 α1 = (β72 + 3) α1 = (α1 + 2) α1 = (α1) (α1 + 2) = α2 END
ROUTINE [AS] ≡ PRINT LIST [ABN] [SEP] ->2 IF B0 + [ABN] = 0 A1 = B0 + [ABN] & -1 A2 = A1 1062, 82, 0, 0 B82 = B82 & *7777 7600 ->3 IF B82 = *6004 1000 1) A2 = (A2 + 1) A3 = (A2) PRINT SYMBOL A3 ->1 IF A2 ≠ A1 2) END 3) A4 = B89 9) A5 = B89 A2 = (A2 + 1) (A5) = (A2) B89 = (A5 + 1) ->9 IF A2 ≠ A1 (A5 + 1) = A4 A1 = A5 A3 = 0 A4 = (A1 + 1) A2 = A4 5) A7 = (A2) A6 = A7 & *0000 0374 ->8 IF A6 = 4 ->10 IF A7 < 0 PRINT SYMBOL A7 A7 = 1 ->11 10) A3 = 1 A6 = A7 & *0000 0774 PRINT SYMBOL A6 SHIFT A7 DOWN 7 A7 = A7 & *0017 7774 A8 = A7 & *0017 7000 ->11 IF A8 = 0 A7 = A7 V *4 11) (A2) = A7 ->8 IF A2 = A5 A2 = (A2 + 1) ->5 8) ->6 IF A3 = 0 A3 =0 A5 = A2 A2 = A4 1065, 0, 0, 4 INDEX 5 = B0 ->5 6) ->4 IF A2 = A1 NEWLINE A4 = (A2 + 1) A5 = A1 A2 = A4 ->5 4) A6 = (A1) & 64 ->7 IF (A1) ≠ 4 NEWLINE 7) DELETE LIST A1 END
ROUTINE [AS] ≡ ANALYSE LIST [AB] W.R.T. [PI] [SEP] B62 = CLASS OF [PI] B61 = [AB] B63 = 0 CALL R 215 ->1 IF B64 = 0 DELETE LIST B62 [AB] = B61 2) [PI] = B63 1) END
ROUTINE [AS] ≡ ADD LIST [AB/1] [COMMA] [WORD] TO DICT [AB/2] [SEP] B61 = [AB/1] α1 = B89 α2 = B61 1) α1 = (α1+1) α2 = (α2+1) (α1) = (α2) ->1 IF B61 ≠ α2 α3 = (α1+1) (α1+1) = (B89+1) (B89+1) = α3 B62 = [AB/2] B63 = 2 CALL R 224 ->2 IF B63 = 0 (B64) = [WORD] 2) [AB/1] = α1 END
ROUTINE [AS] ≡ DELETE [LIST OR NEST] [AB] [SEP] β69 = [AB] CALL R 207 [AB] = 0 END
ROUTINE (COMPILER)[AS] ≡ [AB/1] = LIST [AB/2]([ABN][COMMA]?)[SEP] CALL [BS] COMPILER B68 = B0 + [ABN] CALL [BS] COMPILER B69 = [AB/2] PLANT 0121, 67, 0, -1 IN B88 PLANT 1102, 70, 76, 141 IN B88 A1 = B88 PLANT 0227, 127, 127, 0 IN B88 CALL [BS] COMPILER [AB/1] = B68 (A1 + 1) = B88 - A1 - 2 END
ROUTINE (COMPILER)[AS] ≡ DELETE [LIST OR NEST][AB][SEP] CALL [BS] COMPILER B69 = [AB] PLANT 1102, 70, 76, 207 IN B88 CALL [BS] COMPILER [AB] = 0 END
ROUTINE (COMPILER)[AS] ≡ LIST [AB] = NEXT RECONSTRUCTED LINE [SEP] PLANT 1102, 70, 76, 238 IN B88 CALL [BS] COMPILER [AB] = B61 END
ROUTINE (COMPILER) [AS] ≡ [AB] = [LIST OR NEST][WORD][SEP] CALL [BS] COMPILER [AB] = B89 CALL [BS] COMPILER (B89) = [WORD] PLANT 0101, 89, 89, 1 IN B88 CALL [BS] COMPILER ([AB]+1) = [AB] END
ROUTINE (COMPILER)[AS] ≡ ADD ([WORD][,WORD*]) TO [LIST OR NEST][AB][SEP] CALL [BS] COMPILER B69 = [AB] CALL [BS] COMPILER B68 = [WORD] A1 = CATEGORY OF [LIST OR NEST] A1 = A1 + 203 + *2 PLANT 0101, 83, 0, A1 IN B88 2) PLANT 0121, 70, 127, 2 IN B88 PLANT 0121, 127, 83, 2 IN B88 ->1 UNLESS [,WORD*] ≡ [COMMA][WORD][,WORD*] CALL [BS] COMPILER B68 = [WORD] ->2 1) LET [,WORD*] ≡ [COMMA][WORD] CALL [BS] COMPILER B68 = [WORD] PLANT 0121, 70, 127, 2 IN B88 PLANT 0121, 127, 83, 2 IN B88 CALL [BS] COMPILER [AB] = B69 END
ROUTINE (COMPILER) [AS] ≡ [AB] = [LIST OR NEST]([WORD][,WORD*])[SEP] CALL [BS] COMPILER [AB] = 0 CALL [AS/1] COMPILER ADD ([WORD][,WORD*]) TO [LIST OR NEST][AB] END
ROUTINE (COMPILER)[AS] ≡ WITHDRAW [AB/1] FROM NEST [AB/2][SEP] CALL [BS] COMPILER B68 = [AB/1] CALL [BS] COMPILER B69 = [AB/2] PLANT 1102, 70, 76, 206 IN B88 CALL [BS] COMPILER [AB/2] = B69 CALL [BS] COMPILER [AB/1] = B68 END
ROUTINE (COMPILER)[AS] ≡ LIST [AB/1] = LIST [AB/2] + LIST [AB/3][SEP] CALL [BS] COMPILER B69 = [AB/2] CALL [BS] COMPILER B68 = [AB/3] PLANT 1102, 70, 76, 209 IN B88 CALL [BS] COMPILER [AB/1] = B69 END
FORMAT [AS] = [αβ] = UPPER LIMIT OF [αβ] IN DICT [αβ][SEP] ROUTINE [AS] ≡ [αβ/1] = UPPER LIMIT OF [αβ/2] IN DICT [αβ/3][SEP] α6=[αβ/3] α2= 0 α1 = α6 + 1 α5 = (α1) & -1 α5 = α5 + α6 5) α1 = α1 + 1 2) α3 = (α1) α4 = α3 & .11 ->1 IF α4 = .01 4) α1 = α1 + 1 ->2 IF α1 ≠ α5 ->3 IF (α1) ≠ [αβ/2] [αβ/1] = α1 END 3) WITHDRAW α5 FROM NEST α2 ->4 1) ADD α5 TO NEST α2 α5 = α3 & -1 α5 = α5 + α6 ->5
FORMAT [AS] = [αβ] = LIST FOR [αβ] IN CLASS [αβN][SEP] ROUTINE [AS] ≡ [αβ] = LIST FOR [αβ/1] IN CLASS [αβN][SEP] α2 = INDEX [αβN] α11 = α2 & .11 ->1 IF α11 = .11 α2 = α2 & -1 α1 = 0 α8 = [αβ/1] α3 = (α8) α5 = UPPER LIMIT OF α3 IN DICT α2 α4 = α2 ->4 5) α6 = (α4) α7 = α6 & 0.11 ->2 IF α7 = .01 ->3 IF α6 > 127 ADD α6 TO LIST α1 4) α4 = α4+1 ->5 IF α4 ≠ α5 7) [αβ] = α1 END 2) ->4 IF α6 + α2 ≥ α5 α4 = α2 + (α4) α4 = α4 & -1 ->4 3) α8 = α8 + 1 α9 = (α8) α10 = LIST FOR α9 IN CLASS α6 LIST α1 = LIST α1 + LIST α10 ->4 1) α1 = LIST β0+ [αβN] α2 = [αβ/1] α4 = (α2) α3 = α4 & .11 ->6 IF α3 = .10 ADD (*0000 0006, α4) TO LIST α1 ->7 6) α3 = α4 & *0000 7774 α5 = 1.10 + α3 ADD α5 TO LIST α1 α6 = α3 + α2 8) ADD (α2) TO LIST α1 ->7 IF α2 = α6 α2 = α2 + 1 ->8
ROUTINE [AS] ≡ [αβ] = LIST [PI][SEP] α2 = CLASS OF [PI] α1 = ADDRESS OF [PI] [αβ] = LIST FOR α1 IN CLASS α2 END
ROUTINE (COMPILER) [AS] ≡ MONITOR ([ALL SYMBOLS EXCEPT RT BRACKET]) [SEP] PLANT 1100, 82, 0, 1048850 IN B88 B91 = ADDRESS OF [ALL SYMBOLS EXCEPT RT BRACKET] B93 = (B91) & -1 B93 = B93 + B91 + 1 14) B94 = B89 B92 = 0 B95 = 0 3) B99 = 0 B91 = B91 + 1 ->4 IF B91 = B93 B95 = (B91) 0172, 95, 0, 65 0224, 95, 92, 1 ->8 IF B95 = 4 B96 = B95 & 127 2) B97 = B96 & 64 B96 = B96 - B97 ->1 IF B97 = B92 B92 = B97 B98 = 1 0214, 98, 97, 1.01 (B94) = B98 B94 = (B94 + 1) 1) 0163, 96, 0, 0 0163, 96, 0, 0 (B94) = B96 B94 = (B94 + 1) B99 = B99 + 1 ->3 IF B99 = 3 0125, 95, 0, 0 0125, 95, 0, 0 0125, 95, 0, 0 0163, 95, 0, 0 B96 = B95 & 127 ->3 IF B96 = 0 (B94) = 1.01 B94 = (B94 + 1) (B94) = 0.11 B94 = (B94 + 1) B92 = 0 ->2 8) (B94) = 4.01 ->5 4) (B94)= 0 5) B94 = (B94 + 1) A1 = B95 B92 = 1 B97 = B89 11) B96 =0 B95 = 0 6) B98 = (B97) B97 = (B97 + 1) 0124, 96, 0, 0.01 0125, 95, 98, 0 ->10 IF B97 = B94 ->6 IF B96 ≠ 1 (B88 + B92) = B95 B92 = B92 + 1 ->11 10) A2 = B92 0124, 92, 96, -1 15) ->12 IF B96 = 1 0124, 96, 0, 0.01 0125, 95, 0, 0 ->15 12) (B88 + A2) = B95 (B88) = B92 B92 = B92 + 3 B92 = B92 & *7777 7770 B88 = B88 + B92 ->13 IF A1 = 4 END 13) PLANT 1100, 82, 0, 1048850 IN B88 ->14
ITEM 274 0121, 98, 82, 1 0101, 99, 82, 0 1065, 0, 0, 0 1067, 99, 98, 0 0104, 82, 82, 0 0124, 82, 0, 3 0165,127, 82,-2
REPLACE ITEM 150 0101, 76, 0, 1048815 0113, 0, 0, 1048581 1065, 0, 0, 4.3 0121, 98, 0, 282 0101, 98, 98, 1048576 0101, 99, 98, 0 1067, 99, 98, 1 0113, 0, 0, 1048581 1065, 0, 0, 4.1 1102, 70, 76, 161 0101, 98, 0, 1048738 0172, 98, 0, 0 0224, 127, 127, L2 1102, 70, 76, 162 (2) 1102, 70, 76, 214
FORMAT [AS] = PRINT B-LINES [SEP] ROUTINE (COMPILER) [AS] ≡ PRINT B-LINES [SEP] PLANT 121, 121, 0, 0 IN B88 PLANT 124, 121, 0, 1 IN B88 PLANT 124, 90, 0, 1 IN B88 PLANT 113, 122, 90, 0 IN B88 PLANT 172, 121, 0, 99 IN B88 PLANT 225, 127, 127, -10 IN B88 PLANT 122, 90, 0, 99 IN B88 PLANT 113, 90, 90, 90 IN B88 PLANT 1102, 70, 76, 283 IN B88 PLANT 121, 121, 0, 39 IN B88 PLANT 121, 99, 90, 39 IN B88 PLANT 124, 99, 0, 1 IN B88 PLANT 124, 121, 0, 1 IN B88 PLANT 101, 122, 99, 0 IN B88 PLANT 172, 121, 0, 99 IN B88 PLANT 225, 127, 127, -10 IN B88 END
ROUTINE SMALL R 283 B53 = B70 NEWLINE, NEWLINE B50 = 0 4) B51 = 0 2) ->1 IF B50 = 99 B50 = B50 + 1 B52 = (B90 + B50) ->2 IF B52 = 0 PRINT SYMBOL 34, PRINT B50 ->3 IF B50 ≥ 10, SPACE 3) SPACE, PRINT SYMBOL 28 SPACE, PRINT SYMBOL 14 PRINT B52 IN OCTAL, SPACE, SPACE B51 = B51 + 1 ->2 IF B51 ≠ 4, NEWLINE ->4 1) NEWLINE, NEWLINE B127 = B53
DELETE ITEM 257 ROUTINE R 257 B90 = B90 +5 PRINT B-LINES ->1 IF B65 ≠ -1 ,|Test if we've ->13 IF B83 ≠ (B82) ,|come from CV 1) NEWLINE, NEWLINE, NEWLINE B2 = B82 ->3 IF B86 ≥ 100 , SPACE ->3 IF B86 ≥ 10 , SPACE 3) PRINT B86 , PRINT SYMBOL 79 ->2 IF B65 < 0 12) MONITOR ([SP] COMPILER [SP] COMPILER [SP] FAULT*) PRINT B65 MONITOR ([SP] ROUTINE) , B1 = (B72 - 3) PRINT B1 NEWLINE 13) MONITOR ([EOL][EOL][EOL] STACK [EOL][EOL] ROUTINE [SP] 150 [EOL]) B1 = INDEX 4 17) B2 = (B1 + 4) B3 = (B2 + 1) MONITOR (ROUTINE) , PRINT B3 B3 = B1 16) NEWLINE PRINT B3 IN OCTAL , SPACE 14) SPACE B5 = (B3) PRINT B5 IN OCTAL ->15 IF B3 ≥ B2 - 1 B3 = B3 + 1 B5 = B3 & 7 ->16 IF B5 = 0 ->14 15) NEWLINE , NEWLINE B1 = B2 ->18 IF (B1 + 4) < B1 ->17 IF B90 ≥ (B1 + 4) 18) 1117, 0, 0, 0 2) B65 = 20 - B65 ->21 IF B65 = 21 ->B65 IF B65 ≤ 36 ->12 21) MONITOR (ILLEGAL[SP]RESOLUTION[SP]IN[SP]'LET[SP][[]PI][SP][[]EQV][SP][[]RESOLVED-P]'[SP]INSTRUCTION) ->13 22) MONITOR ('CATEGORY) 41) MONITOR ([SP]OF[SP][[]PI]'[SP]INSTRUCTION) ->13 IF B65 = 23 40) MONITOR ([SP]REFERS[SP]TO[SP]IDENTIFIER[SP]WHICH[SP]IS[SP]NOT[SP]ON[SP]HAND) ->13 24) MONITOR ('NUMBER) ->41 25) MONITOR ('ADDRESS) ->41 23) MONITOR (PHRASE[SP]INDEX[SP]APPEARS[SP]IN[SP]) ->24 IF B65 = 23 MONITOR (L.H.S.[SP]OF[SP]'LET[SP][[]PI][SP]=[SP][[]GENERATED-P]'[SP]INSTRUCTION) ->13 26) ->23 27) ->21 28) MONITOR (TREE[SP]RESOLUTION[SP]) 32) MONITOR (INSTRUCTION) ->40 33) | 29) MONITOR (PHRASE[SP]INDEX[SP]TOO[SP]LARGE) ->13 34) | 30) MONITOR (ZERO[SP]OR[SP]NEGATIVE[SP]PHRASE[SP]INDEX) ->13 31) MONITOR (B'n[SP]WORD[SP]IN[SP]ANALYSIS[SP]RECORD[SP]WITH[SP]n[SP]<[SP]3) ->13 35) MONITOR (LABEL) , PRINT B2 MONITOR ([SP]NOT[SP]SET) ->13 36) MONITOR (COMPILING[SP]ROUTINE[SP]NOT[SP]AVAILABLE) ->13
DELETE ITEM 258 ROUTINE R 258 (B90) = B69 B90 = B90 + 1 NEWLINE ->69 IF B86 ≥ 100 , SPACE ->69 IF B86 ≥ 10 , SPACE 69) PRINT B86 PRINT SYMBOL 79, SPACE B91 = INDEX 138 B91 = B91 + 1 INDEX 138 = B91 B91 = (B72 - 3) B93 = B91 0125, 93, 0, 0 0125, 93, 0, 0 B92 = B65 0125, 92, 0, 0 0163, 92, 0, 0 0163, 92, 0, 0 B92 = B92 V B93 B92 = B92 & *7777 7700 0121, 93, 0, L80 64) B94 = (B93) & *7777 7700 ->65 IF B94 = B92 ->66 IF B94 = 0 B93 = B93 + 1 ->64 65) B93 = (B93) & *0000 0077 0124, 93, 93, 0 0124, 93, 93, 0 END 67) NEWLINE 70) B91 = INDEX 138 B92 = INDEX 140 ->68 IF B91 < B92 CALL R 257 68) B90 = B90 - 1 B69 = (B90) ->B93 66) MONITOR (COMPILER [SP] COMPILER [SP] FAULT) PRINT B65 MONITOR ([SP] ROUTINE) , B91 = (B72 - 3) PRINT B91 ->67 80) *15340101/*15500102 , |215 *15500203/*15500504 *15500605/*15500706 *15600107/*15600210 , |220 *15640111/*15640212 , |221 *15640313/*15640414 *15640515/*15640616 *16040117/*16300120 , |225 / 230 *16300221/*16300322 *21000237/*16700126 , |272 / 238 *16700227/*17640230 , | / 253 *17640331/*17640432 *17640533/*21000134 , | / 272 *22200135/*22200336 , |292 *00000000/*00000000 1) MONITOR (ANALYSIS [SP]W.R.T.[SP]UNDEFINED[SP]PHRASE) ->67 2) MONITOR (PHRASE[SP]DEFINITION) ->71 71) MONITOR ([SP]NOT[SP]RECOGNISED) ->67 3) MONITOR (PHRASE) ->72 72) MONITOR ([SP]DEFINED[SP]TWICE) ->67 4) MONITOR ('BUT[SP]NOT'[SP]APPEARS[SP]TWICE[SP]IN[SP]PHRASE) ->67 5) MONITOR ('NIL'[SP]FOLLOWS[SP]'BUT[SP]NOT'[SP]IN[SP]PHRASE[SP]DEFN.) ->67 6) MONITOR (PHRASE [SP]DEFINED[SP]AS[SP]'NIL') ->67 7) MONITOR (FORMAT[SP]STATEMENT) ->71 8) MONITOR (FORMAT[SP]CLASS[SP]NOT[SP]DEFINED) ->67 9) MONITOR (ROUTINE[SP]HEADING) ->71 10) ->8 11) ->9 12) MONITOR (ROUTINE) ->72 13) MONITOR (PHRASE[SP]IDENTIFIER) ->73 73) MONITOR ([SP]IN[SP]SMALL[SP]ROUTINE) ->67 14) MONITOR (ALPHA[SP]VARIABLE[SP]) ->73 15) MONITOR ('BUT[SP]NOT'[SP]ENTRY[SP]IS[SP]STEM[SP]OF[SP]PREVIOUS[SP]ENTRY) ->67 16) MONITOR (PHRASE[SP]IDENTIFIER) ->71 17) MONITOR (PHRASE[SP]IDENTIFIER[SP]APPEARS[SP]IN[SP]ROUTINE[SP]FOR[SP]FOR[SP]FIRST[SP]TIME) ->67 18) MONITOR (PHRASE[SP]INDEX[SP]OCCURS[SP]IN[SP]NON -*[SP]CLASS) ->67 22) MONITOR (MORE[SP]THAN[SP]3[SP]CHARACTERS[SP]OVERPRINTED) ->67 23) MONITOR (MORE[SP]THAN[SP]160[SP]CHARACTERS[SP]ON[SP]A[SP]LINE) ->67 24) MONITOR (THE[SP]FOLLOWING[SP]INSTRUCTION,[SP]APPEARING[SP]IN[SP]A[SP] ROUTINE,[SP]IS[SP]ILLEGAL) ->70 25) MONITOR (SMALL[SP]ROUTINE[SP]OR[SP]BUILT-IN[SP]PHRASE[SP]CONTAINS[SP] AN[SP]UNCOMPILABLE[SP]INSTRUCTION[SP]WITH[SP]SERIAL[SP]NUMBER) ->70 26) MONITOR (LABEL[SP]NOT[SP]SET) ->67 27) MONITOR (LABEL[SP]SET[SP]TWICE) ->67 28) MONITOR (FORMAT[SP]CLASS) ->72 29) MONITOR (BUILT-IN[SP]PHRASE) ->72 30) MONITOR (ALPHA[SP]VARIABLE[SP]IN[SP]BUILT-IN[SP]PHRASE) ->67 31) MONITOR (MORE[SP]THAN[SP]20[SP]FORMAT[SP]CLASSES) ->67 END OF MESSAGE
ROUTINE [MP] ≡ DEFINE COMPILER | Protection sequence B91 = INDEX 237 ->20 IF B91 ≠ 0.01 MONITOR([EOL]WRITING[SP]TO[SP]COMPILER [SP]TAPE[SP] IS[SP]PROHIBITED) END 20) ->21 IF B91 ≠ 0 B91 = 0.01, INDEX 237 = B91 21) |end of protection sequence B61 = 282 152, 0, 61, *2 224, 127, 0, L30 CALL R 155 30) 1057, 99, 88, 1 INDEX B61 = B88 121, 5, 0, L25 121, 1, 0, *7777 7700 121, 2, 0, *0000 0001 B99 = B99 - .01 165, 98, 99, 0.11 28) ->29 IF B98 = 0.11 125, 1, 0, *7777 7701 125, 2, 0, *0000 0005 B98 = B98 + .01 ->28 25) *05012001 / 0 *21312020 / *21000000 26) *52415601 / *46454201 *55416201 / *41606201 *55417101 / *52655601 *52655401 / *41654701 *63456001 / *57436401 *56576601 / *44454301 29) B98 = B88 + B99 + 1 117, 1, 98, 0 1347, 2, 98, 0 124, 99, 0, 4 B99 = B99 & -1 (B88) = B99 + .01 0124, 88, 99, 3 1121, 1, 0, 0 ,|B1 = date 165, 2, 1, *14 ,|B2 = 10's of day B6 = *05012001 ->27 IF B2 = 0 B6 = *05202001 SHIFT B2 DOWN 8 ,|shift into *0077 27) 165, 3, 1, *036 ,|B3 = 1's of day SHIFT B3 DOWN 10 ,|shift into *000077 B3 = B3 V B2 B3 = B3 V B6 (B5) = B3 B2 = 0 165, 2, 1, *0001 ,|10's of month ->23 IF B2 = 0 B2 = 10 23) 165, 3, 1, *000074 ,|1's of month SHIFT B3 DOWN 6 0124, 3, 2, -1 121, 2, 0, L26 B4 = (B2 + B3) ,|look up month 0113, 4, 5, 1 B6 = *21312020 165, 4, 1, *0000036 ,|10's year SHIFT B4 UP 2 ,|shift into *000077 165, 3, 1, *00000017 ,|1's year B4 = B4 V B3 ,|in *00000077 B4 = B4 V B6 (B5 + 2) = B4 | copy date to record B1 = 1 24) B3 = (B2 - B1) B1 = B1 + 1 (B88 - B1) = B3 ->24 IF B1 ≠ 5 B88 = B88 & -2 NEWLINE MONITOR(COMPILER[SP]) CALL R243 ,| SET UP PARAM DATA FOR THE DEFINE COMPILER EXTRACODE ,| STARTING WITH THE COMPILER NAME B1 = 0 B4 = 1024 (B4) = 0 (B4+1) = 0 2) B79 = (B79+1) B3 = (B79) ->1 IF B3 = 4 PRINT SYMBOL B3 SHIFT B3 DOWN 2 B2 = B1 + B4 1251, 3, 2, 0 ,|ACCUMULATE COMPILER NAME 0124, 1, 0, 0.01 -> 2 IF B1 < 2 1) B3 = (B4) ,| RIGHT JUSTIFY COMPILER NAME ->41 IF B3 ≠ 0 MONITOR ([EOL]NO[SP]COMPILER[SP]NAME[SP]FOUND.) 1117, 0, 0, 0 41) B2 = B3 & *00000077 ->40 IF B2 ≠ 0 SHIFT B3 DOWN 6 ->41 40) (B4) = B3 B3 = (B4+1) ->50 IF B3 = 0 51) B2 = B3 & *00000077 ->50 IF B2 ≠ 0 SHIFT B3 DOWN 6 ->51 50) (B4+1) = B3 | NOW SET START POINT AND END POINT (B4+2) = *2 (B4+3) = B88 (B4+4) = *2 1141, 1, 4, 0 ,| DEFINE COMPILER NEWLINE MONITOR (COMPILER[SP]SAVED[EOL]) PRINT B-LINES 1117, 0, 0, 0 END
ROUTINE R 226 B91 = INDEX 237 ->1 IF B91 = 0 CALL R 237 B61 = 237 CALL R 155 MONITOR ([EOL]END[SP]OF[SP]PRIMARY[SP]MATERIAL[EOL]) 1) END
ROUTINE R 237 B80 = B90 B78 = INDEX 256 B79 = B78 & -1 8) B78 = (B78 + 1) B78 = (B78 + 1) (B90) = (B78) B90 = B90 + 1 ->8 IF B79 ≠ B78 INDEX 165 = B76 B76 = INDEX 279 INDEX 239 = B76 B61 = 165 CALL R155 INDEX 165 = B74 B74 = INDEX 280 INDEX 232 = B74 B61 = 165 CALL R 155 B61 = 215 CALL R 155 B91 = INDEX 135 INDEX 215 = B91 B61 = 6 CALL R 155 0121, 91, 0, L4 B92 = INDEX 208 0101, 93, 91, 0 0113, 93, 92, 18 0101, 93, 91, 2 0113, 93, 92, 20 0121, 93, 0, 2 0113, 93, 92, 21 CALL R 243 B61 = 243 7) CALL R 155 B91 = INDEX 137 INDEX B61 = B91 ->6 IF B61 = 245 B61 = 245 ->7 6) 0121, 78, 0, L2 16) B61 = (B78) (B90) = B61 B90 = B90 + 1 ->10 IF B61 = 0 B78 = B78 + 1 ->16 10) (B90) = 0, B90 = B90 + 1 B79 =0 B91 = B80 5) B92 = B91 B95 = B88 3) B93 = (B92) ->12 IF B93 = 0 B94 = INDEX B93 ->1 IF B94 ≥ B95 B95 = B94 B96 = B92 1) B92 = B92 + 1 ->3 12) ->14 IF B96 = B80 B97 = (B91) (B91) = (B96) (B96) = B97 14) B91 = B91 + 1 ->5 UNLESS (B91 + 1) = 0 (B91 + 1) = 2 INDEX 2 = B88 B79 = (B80) B78 = 0 11) B61 = B79 B78 = B78 + 1 B79 = (B80 + B78) ->15 IF B79 = 0 B88 = INDEX B79 CALL R155 INDEX B79 = B88 ->11 15) B90 = B80 END 2) 129 / 139 143 / 144 146 / 147 148 / 151 152 / 156 157 / 158 159 / 163 164 / 169 171 / 172 174 / 176 177 / 181 182 / 184 185 / 186 210 / 213 217 / 218 220 / 221 222 / 223 225 / 228 229 / 230 231 / 242 244 / 249 250 / 253 254 / 256 259 / 260 265 / 266 272 / 300 302 / 303 308 / 292 309 / 310 334 / 313 131 / 132 134 / 368 367 / 365 374 / 366 278 / 373 0 / 0 4) 0121, 90, 77, 0 0121, 127, 76, 2
ROUTINE [AS] ≡ CONVERT [PI] TO [AB] [SEP] B61 = LIST [PI] B62 = B2 B63 = 2 CALL R 224 -> 1 IF 863 = 0 (B64) = B3 B3 = B3 + 1 1) [AB] = (B64) END
FORMAT [AS] = CALL BUILT-IN PHRASE [PI][SEP] FORMAT [AS] = PRESERVE ANALYSIS B-LINES [SEP] FORMAT [AS] = RESTORE ANALYSIS B-LINES [SEP] ROUTINE(COMPILER)[AS] ≡ CALL BUILT-IN PHRASE [PI][SEP] A1 = CLASS OF [PI] A1 = A1 + *2 PLANT 113, 70, 127, 7 IN B88 PLANT 101, 82, 0, A1 IN B88 PLANT 121, 70, 127, 2 IN B88 PLANT 121, 127, 82, 2 IN B88 PLANT 121, 70, 0, 0 IN B88 END
ROUTINE(COMPILER)[AS] ≡ PRESERVE ANALYSIS B-LINES [SEP] PLANT 113, 70, 63, 0 IN B88 PLANT 113, 61, 63, 1 IN B88 PLANT 113, 62, 63, 2 IN B88 PLANT 113, 67, 63, 3 IN B88 PLANT 113, 68, 63, 4 IN B88 PLANT 113, 69, 63, 5 IN B88 PLANT 113, 65, 63, 6 IN B88 PLANT 113, 88, 63, 7 IN B88 PLANT 113, 90, 63, 8 IN B88 PLANT 121, 90, 63, 9 IN B88 END
ROUTINE(COMPILER)[AS] ≡ RESTORE ANALYSIS B-LINES [SEP] PLANT 121, 63, 90, -9 IN B88 PLANT 101, 70, 63, 0 IN B88 PLANT 101, 61, 63, 1 IN B88 PLANT 101, 62, 63, 2 IN B88 PLANT 101, 67, 63, 3 IN B88 PLANT 101, 68, 63, 4 IN B88 PLANT 101, 69, 63, 5 IN B88 PLANT 101, 65, 63, 6 IN B88 PLANT 101, 88, 63, 7 IN B88 PLANT 101, 90, 63, 8 IN B88 PLANT 121, 64, 0, 1 IN B88 END
FIXED ITEM 0 0121, 65, 0, -1 0110, 65, 0, 1048833 0110, 65, 0, 1048833 0124, 90, 0, 25 0113, 75, 90, 1 0113, 90, 72, 0 0121, 72, 90, 4 0101, 127, 0, 1048833
FIXED ITEM 281 H = 0 H = 0 0121, 79, 0, 0 0127, 65, 0, -1 0165, 91, 88, -1 (1) 0121, 91, 91, -1 0101, 99, 91, 0 0113, 99, 91, 1024 0172, 91, 52, 0 0225, 127, 0, L1 0121, 91, 0, 16 (3) 0101, 92, 91, 1048576 0172, 92, 88, 0 0226, 127, 0, L2 0172, 92, 52, 0 0227, 127, 0, L2 0121, 99, 0, 1024 0114, 99, 91, 1048576 (2) 0124, 91, 0, 1 0172, 91, 0, 1024 0225, 127, 0, L3 0124, 88, 0, 1024 0101, 76, 0, 1048815 0101, 74, 0, 1048808 0101, 127, 0, 1048816
FIXED ITEM 135 0000, 0, 0, 0.0 0172, 63, 0, 2.0 0224, 127,0, L4 0121, 64, 63, 0.0 0121, 43, 62, 0.0 0121, 62, 61, 0.1 0121, 63, 90, 0.0 0121, 68, 88, 0.0 0124, 88, 0, 4.0 (1) 0101, 92, 43, 1048576.0 0121, 67, 92, 0.2 0121, 65, 92, -1.1 0101, 93, 67, 0.0 0124, 93, 65, 0.0 0113, 63, 88, -4.0 0113, 65, 88, -3.0 0113, 92, 88, -2.0 0113, 93, 88, -1.0 0121, 69, 88, 0.0 0121, 65, 63, 1.0 0104, 63, 93, 1.0 (2) 0124, 67, 0, 1.0 0101, 43, 67, 0.0 0210, 127,43, L5 0152, 67, 88, -1.0 0224, 127, 0, L6 0172, 43, 0, 128.0 0226, 127, 0, L9 (17) 0210, 127,62, L7 0172, 62, 61, 0.0 0224, 127, 0, L8 (3) 0121, 92, 62, 0 0101, 62, 62, 1.0 0152, 43, 62, 0.0 0224, 127, 0, L2 0172, 43, 0, 128 0226, 127, 0, L11 0121, 127, 0, L13 (9) 0101, 91, 43, 1048576 0210, 127,91, L17 0121, 91, 63, 0.1 0113, 91, 65, 0.0 0124, 65, 0, 1.0 0113, 69, 88, 0.0 0113, 65, 88, 1.0 0113, 67, 88, 2.0 0124, 88, 0, 7.0 0121, 127, 0, L1 (4) 0121, 91, 72, -4.0 0121, 63, 72, -12.0 0121, 64, 0, 1.0 0101, 62, 63, 0.0 0101, 67, 63, 1.0 0101, 68, 63, 2.0 0101, 69, 63, 3.0 0101, 65, 63, 4.0 0101, 88, 63, 5.0 0101, 90, 63, 6.0 0101, 72, 63, 7.0 0101, 43, 67, 0.0 0101, 99, 91, 0.0 0113, 99, 72, -4.0 0101, 91, 61, 1.0 0101, 99, 62, 1.0 0113, 99, 61, 1.0 0113, 91, 62, 1.0 0121, 127, 0, L3 (5) 0113, 62, 88, 0.0 0113, 63, 88, 1.0 0113, 65, 88, 2.0 0104, 43, 69, -3.0 0113, 43, 88, 3.0 0124, 88, 0, 4.0 0121, 127, 0, L2 (6) 0217, 127,43, L12 0101, 91, 69, -4.0 0113, 43, 91, 0.0 0121, 99, 0, -1.2 0117, 99, 65, 0.0 0172, 68, 69, -4.0 0225, 127, 0, L10 0121, 88, 68, 0.0 0121, 64, 0, 1.0 0113, 63, 72, -2.0 0121, 63, 91, 0.0 0121, 69, 61, 0.0 0121, 68, 62, 0.0 0121, 70,127, 4 0101, 99, 0, 1048828.0 0121, 127,99, 2.0 0121, 61, 69, 0 0121, 62, 68, 0 0101, 99, 88, 2 0150, 0, 99, 0.0 0226, 127, 0, L16 0121, 99, 72, -4.0 0113, 99, 72, -2.0 (16) 0101, 127, 0, 1048816.0 (7) 0121, 62, 61, 0.1 0121, 127, 0, L3 (8) 0214, 127,64, L13 0113, 62, 63, 0.0 0113, 67, 63, 1.0 0113, 68, 63, 2.0 0113, 69, 63, 3.0 0113, 65, 63, 4.0 0113, 88, 63, 5.0 0113, 90, 63, 6.0 0113, 72, 63, 7.0 0121, 64, 0, 2.0 0121, 99, 63, 8.0 0113, 99, 72, -2.0 0101, 127, 0, 1048816.0 (10) 0121, 88, 69, -7.0 0101, 69, 88, 0.0 0101, 65, 88, 1.0 0101, 67, 88, 2.0 0101, 91, 88, 5.0 0101, 91, 91, 0.0 0216, 127,91, L2 0101, 63, 65, -1.0 0122, 63, 0, 0.1 0202, 127,65, L2 (11) 0121, 62, 92, 0 0121, 91, 63, 0.1 0113, 91, 65, 0 0124, 65, 0, 1.0 0101, 91, 43, 1048576.0 0121, 70,127, 2.0 0121, 127,91, 2.0 0226, 127, 0, L2 0121, 127, 0, L13 (12) 0121, 88, 69, 0.0 (13) 0172, 88, 69, 0.0 0224, 127, 0, L14 0124, 88, 0, -4.0 0101, 62, 88, 0.0 0101, 63, 88, 1.0 0101, 65, 88, 2.0 0101, 67, 88, 3.0 0121, 127, 0, L2 (14) 0172, 68, 69, -4.0 0225, 127, 0, L15 0121, 99, 72, -4.0 0113, 99, 72, -2.0 0121, 64, 0, 0.0 0121, 63, 0, 0.0 0121, 88, 68, 0.0 0101, 127, 0, 1048816.0 (15) 0121, 88, 69, -7.0 0101, 69, 88, 0.0 0121, 127, 0, L13
FIXED ITEM 279 0101, 92, 70, -1.0 0101, 91, 92, 1048576.0 0121, 127, 0, L2 0101, 98, 92, 1048576.0 0210, 127,98, L3 0113, 77, 90, 5.0 0121, 99, 90, 6.0 0121, 93, 77, 1.0 0121, 77, 60, 0.0 (5) 0101, 94, 93, 0.0 0211, 127,94, L4 0113, 94, 99, 0.0 0124, 99, 0, 1.0 0200, 127,93, L5 (2) 0210, 127,91, L3 0113, 90, 72, 0 0113, 70, 90, 0.0 0110, 71, 90, 0.0 0113, 75, 90, 1.0 0113, 90, 90, 2.0 0113, 72, 90, 3.0 0121, 71, 91, 0.0 0121, 75, 92, 0.0 0121, 72, 90, 4.0 0101, 73, 71, 1.0 0124, 73, 71, 0.0 0101, 90, 71, 0.0 0124, 90, 72, 1.0 (3) 0121, 127,91, 2.0 I 280 = CC 0121, 77, 90, 0.0 0121, 92, 71, 0.0 0122, 92, 70, 0.0 0124, 92, 90, 0.0 0101, 93, 70, -1.0 0124, 93, 90, 0.0 0101, 94, 70, 0.0 0121, 99, 93, 7.0 0101, 98, 94, 1048576.0 0211, 127,98, L7 0167, 99, 0, 0.1 (7) 0113, 94, 90, 0.0 0124, 90, 0, 1.0 0172, 90, 93, 0.0 0220, 127,70, L8 0101, 92, 77, 0.0 0113, 0, 90, 0.0 0124, 90, 0, 1.0 0124, 70, 0, 1.0 0164, 70, 70, 1.0 0211, 127,98, L9 0121, 127,98, 2.0 (9) 0113, 77, 90, 5.0 (4) 0113, 90, 72, 0.0 0113, 70, 90, 0.0 0110, 71, 90, 0.0 0113, 75, 90, 1.0 0113, 77, 90, 2.0 0113, 72, 90, 3.0 0121, 71, 98, 0.0 0121, 75, 92, 0.0 0121, 72, 90, 4.0 0101, 73, 71, 1.0 0124, 73, 71, 0.0 0101, 90, 71, 0.0 0124, 90, 72, 1.0 0127, 99, 0, -1.0 (10) 0113, 0, 99, 0.0 0172, 90, 99, -1.0 0220, 127,99, L10 0121, 127,71, 2.0 (8) 0101, 94, 70, 0.0 0121, 95, 94, 0.0 0125, 95, 0, 0.0 0164, 127,95, 60.0 0167, 99, 0, 0.1 0121, 127,0, L7 (21) 0124, 94, 72, 0.0 0101, 94, 94, 0.0 (12) 0210, 127,99, L7 0113, 94, 99, 0.0 0200, 127,99, L7 0121, 0, 0, 0.0 0124, 94, 92, 0.0 0121, 127,0, L12 0121, 0, 0, 0 0121, 0, 0, 0 0121, 0, 0, 0 0121, 0, 0, 0 0121, 0, 0, 0.0 0121, 0, 0, 0.0 0165, 95, 94, -1.0 (16) 0124, 95, 90, 0.0 0121, 127,0, L14 0121, 0, 0, 0.0 0165, 97, 94, 2097151.0 0121, 127,0, L15 0165, 97, 94, 1048575.0 0121, 127,0, L17 0165, 95, 94, 3072.0 0214, 127,95, L21 0113, 70, 90, 1.0 0121, 127,0, L22 0124, 94, 72, -2097152.0 0121, 127,0, L7 (22) 0121, 70, 127,4.0 0101, 95, 0, 1048809.0 0121, 127,95, 2.0 0101, 70, 90, 1.0 0121, 127,0, L12 (14) 0172, 90, 95, 0.0 0226, 127,0, L7 0113, 94, 90, 0.0 0124, 90, 0, 1.0 0124, 70, 0, 1.0 0101, 94, 70, 0.0 0121, 127,0, L14 (15) 0121, 95, 94, -2097152.0 0113, 95, 90, 0.0 0101, 94, 70, 1.0 0124, 94, 72, 0.0 0124, 70, 0, 1.0 0124, 90, 0, 1.0 0121, 95, 97, -1. 0 0121, 127,0, L16 (17) 0121, 95, 94, 1048576.0 0113, 95, 90, 0.0 0101, 94, 70, 1.0 0113, 94, 90, 1.0 0113, 72, 90, 2.0 0101, 95, 70, 3.0 0165, 94, 95, -1.0 0165, 95, 95, 0.3 0214, 127,95, L18 0172, 95, 0, 0.1 0224, 127,0, L19 0172, 95, 0, 0.2 0224, 127,0, L20 (18) 0124, 70, 0, 3.0 0124, 90, 0, 3.0 0121, 95, 97, -3.0 0121, 127,0, L16 (20) 0121, 121,94, 0.0 0113, 122,0, 1048584.0 0101, 94, 0, 1048584.0 0121, 127,0, L18 (19) 0124, 94, 72, 0.0 0101, 94, 94, 0.0 0121, 127,0, L18
REPLACEITEM142 H=0 H=0 0121, 94, 89, 0 0121, 91, 62, 0 (1) 0101, 91, 91, 1 0101, 99, 91, 0 0172, 99, 0, 65 0224, 127,127,L2 0172, 99, 0, 127 0224, 127,127,L2 0113, 99, 89, 0 0121, 93, 89, 0 0101, 89, 93, 1 (2) 0172, 91, 62, 0 0225, 127,127,L1 0113, 94, 93, 1 0121, 61, 93, 0 0101, 127, 0, 1048816
END OF MESSAGE DEFINE COMPILER CC CC