diff --git a/Mark-XVI/SYMBOL/ALGOL.alg_m b/Mark-XVI/SYMBOL/ALGOL.alg_m
index a76a897..b1a69b3 100644
--- a/Mark-XVI/SYMBOL/ALGOL.alg_m
+++ b/Mark-XVI/SYMBOL/ALGOL.alg_m
@@ -1,9 +1,9 @@
$SET OMIT LISTA = LIST %121-00000999
%#######################################################################00001000
% 00001010
-% B-5700 ALGOL/TSPOL SYMBOLIC 00001020
-% MARK XVI.0.122 %123-00001030
-% MAY 9, 1977 %123-00001040
+% B-5700 ALGOL/TSPOL SYMBOLIC 00001020
+% MARK XVI.0.122 %123-00001030
+% MAY 9, 1977 %123-00001040
% 00001050
%#######################################################################00001060
% 00001070
@@ -98,7 +98,7 @@ ERROR NUMBER ROUTINE:ERROR MESSAGE 00002000
042 HANDLESWLIST: ILLEGAL LIST ID APPEARING IN SWITCH LIST. 00069400
043 IODEC: MISSING ] AFTER DISK IN FILEDEC. 00069500
044 IODEC: MISSING [ AFTER DISK IN FILEDEC. 00069600
-045 DEFINEDEC: MISSING "*" AFTER DEFINE ID. 00069700
+045 DEFINEDEC: MISSING "=" AFTER DEFINE ID. 00069700
046 ARRAE: NON-LITERAL ARRAY BOUND NOT GLOBAL TO ARRAY DECL. 00069800
047 TABLE: ITEM FOLLOWING @ NOT A NUMBER. 00069900
048: PROCEDUREDEC: NUMBER OF PARAMETERS DIFFERS FROM FWD DECL. 00069910
@@ -112,9 +112,9 @@ ERROR NUMBER ROUTINE:ERROR MESSAGE 00002000
060 FAULTSTMT: MISSING ~ IN FAULT STATEMENT. 00069940
061 FAULTDEC: INVALID FAULT TYPE: MUST BE FLAG, EXPOVR, ZERO, 00069950
INTOVR, OR INDEX. 00069960
- 070 CASESTMT: MISSING BEGIN. 00069970
- 071 CASESTMT: MISSING END. 00069980
- 080 PRIMARY: MISSING COMMA . 00069990
+ 070 CASESTMT: MISSING BEGIN. 00069970
+ 071 CASESTMT: MISSING END. 00069980
+ 080 PRIMARY : MISSING COMMA . 00069990
090 PARSE: MISSING LEFT BRACKET 00069991
091 PARSE: MISSING COLON 00069992
092 PARSE: ILLEGAL BIT NUMBER 00069993
@@ -135,7 +135,7 @@ ERROR NUMBER ROUTINE:ERROR MESSAGE 00002000
107 BEXP: THE EXPRESSION IS NOT OF BOOLEAN TYPE. 00081000
108 EXPRSS: A RELATION MAY NOT HAVE CONDITIONAL EXPRESSIONS 00082000
AS THE ARITHMETIC EXPRESSIONS. 00083000
- 109 BOOSEC,SIMBOO, AND BOOCOMP: THE PRIMARY IS NOT BOOLEAN. 00084000
+ 109 BOOSEC,SIMPBOO, AND BOOCOMP: THE PRIMARY IS NOT BOOLEAN. 00084000
110 BOOCOMP: A NON-BOOLEAN OPERATOR OCCURS IN A BOOLEAN 00085000
EXPRESSION. 00086000
111 BOOPRIM: NO EXPRESSION (ARITHMETIC, BOOLEAN, OR DESIGNA- 00087000
@@ -152,7 +152,7 @@ ERROR NUMBER ROUTINE:ERROR MESSAGE 00002000
118 BANA: MISSING RIGHT BRAKET. 00098000
119 COMPOUNDTAIL: MISSING SEMICOLON OR END. 00099000
120 COMPOUNDTAIL: MISSING END. 00100000
- 121 ACTUALPARAPART: AN INDEXED FILE MAY BE PASSED BY NAME 00101000
+ 121 ACTUALPARAPART: AN INDEXED FILE MAY BE PASSED BY NAME 00101000
ONLY AND ONLY TO A STREAM PROCEDURE - THE STREAM 00102000
PROCEDURE MAY NOT DO A RELEASE ON THIS TYPE PARA- 00103000
METER. 00104000
@@ -209,7 +209,7 @@ ERROR NUMBER ROUTINE:ERROR MESSAGE 00002000
155 IFEXP: MISSING ELSE 00155000
156 LISTELEMENT: A DESIGNATIONAL EXPRESSION MAY NOT BE A LIST00156000
ELEMENT. 00157000
- 157 LISTELEMENT: A ROW DESIGNATOR MAY NOT BE A LIST ELEMENT. 00158000
+ 157 LISTELEMENT: A ROW DESIGNATOR MAY NOT BE A LISTELEMENT 00158000
158 LISTELEMENT: MISSING RIGHT BRAKET IN GROUP OF ELEMENTS 00159000
159 PROCSTMT: ILLEGAL USE OF PROCEDURE OR FUNCTION IDENTIFIER00160000
160 PURGE: DECLARED LABEL DOES NOT OCCUR. 00161000
@@ -226,7 +226,7 @@ ERROR NUMBER ROUTINE:ERROR MESSAGE 00002000
PARAMETRIC DEFINE INVOCATION. 00164745
175 FIXDEFINEINFO: LEFT BRACKET OR LEFT PARENTHESIS EXPECTED. 00164750
185 IMPFUN: LAST PARAMETER MUST BE A SIMPLE OR SUBSCRIPTED 00164850
- VARIABLE, OR A TYPE PROCEDURE IDENTIFIER. 00164851
+ VARIABLE, OR A TYPED PROCEDURE IDENTIFIER. 00164851
199 E: INFO ARRAY HAS OVERFLOWED. 00164900
200 EMIT: SEGMENT TOO LARGE ( > 4093SYLLABLES). 00165000
201 SIMPLE VARIABLE: PARTIAL WORD DESIGNATOR NOT LEFT-MOST 00166000
@@ -242,7 +242,7 @@ ERROR NUMBER ROUTINE:ERROR MESSAGE 00002000
208 SUBSCRIPTED VARIABLE: WRONG NUMBER OF SUBSCRIPTS. 00176000
209 SUBSCRIPTED VARIABLE: PARTIAL WORD DESIGNATOR NOT LEFT- 00177000
MOST IN A LEFT PART LIST. 00178000
- 210 SUBSCRIPTED VARIABLE: MISSING , OR ~ . 00179000
+ 210 SUBSCRIPTED VARIABLE: MISSING . OR ~ . 00179000
211 VARIABLE: PROCEDURE ID USED OUTSIDE OF SCOPE IN LEFT PART.00180000
212 VARIABLE: SUB-ARRAY DESIGNATOR PERMITTED AS ACTUAL 00180100
PARAMETER ONLY. 00180200
@@ -268,7 +268,7 @@ ERROR NUMBER ROUTINE:ERROR MESSAGE 00002000
266 IFS: MISSING THEN INIF STATEMENT. 00200000
267 FREDFIX: THERE ARE GO TO STATEMENTS IN WHICH THE LABEL IS 00201000
UNDEFINED. 00202000
- 268 EMITC: A REPEAT INDEX }64 WAS SPECIFIED OR TOO MANY 00203000
+ 268 EMITC: A REPEAT INDEX } 64 WAS SPECIFIED OR TOO MANY 00203000
FORMAL PARAMETERS,LOCALS AND LABELS. 00204000
269 TABLE: A CONSTANT IS SPECIFIED WHICH IS TOO LARGE 00205000
OR TOO SMALL. 00206000
@@ -302,7 +302,7 @@ ERROR NUMBER ROUTINE:ERROR MESSAGE 00002000
351 OUTPROCHECK: ILLEGAL TYPE FOR SORT OR MERGE OUTPUT PROC. 00218220
352 OUTPROCHECK: OUTPUT PROCEDURE IN SORT OR MERGE STMT DOES 00218230
NOT HAVE EXACTLY TWO PARAMETERS. 00218240
- 353 OUTPROCHECK: FIRST PAREMETER OF OUTPUT PROCEDURE MUST 00218250
+ 353 OUTPROCHECK: FIRST PARAMETER OF OUTPUT PROCEDURE MUST 00218250
BE BOOLEAN. 00218260
354 OUTPROCHECK: SECOND PARAM OF OUTPUT PROCEDURE MUST BE 00218270
ONE-DIM ARRAY. 00218280
@@ -450,17 +450,17 @@ BEGIN COMMENT OUTERMOST BLOCK; 00500000
INTEGER ERRORCOUNT; COMMENT NUMBER OF ERROR MSGS. MCP WILL TYPE 00501000
SYNTX ERR AT EOJ IF THIS IS NON-ZERO. MUST BE @R+25; 00502000
INTEGER SAVETIME; COMMENT SAVE-FACTOR FOR CODE FILE, GIVEN BY MCP. 00503000
- IF COMPILE & GO =0, FOR SYNTAX, =-1. MUST BE AT R+26;00504000
+ IF COMPILE & GO =0. FOR SYNTAX, =-1. MUST BE AT R+26;00504000
INTEGER CARDNUMBER; % SEQ # OF CARD BEING PROCESSED. 00504100
INTEGER CARDCOUNT; % NUMBER OF CARDS PROCESSED. 00504150
INTEGER LASTADDRESS; 00504200
- ARRAY ENIL[0:7,0:127]; 00504300
+ ARRAY ENIL[0:7,0:127]; 00504300
INTEGER ENILPTR; 00504400
- DEFINE ENILSPOT = ENIL[ENILPTR.[38:3], ENILPTR.[41:7]]#; 00504500
- ARRAY LDICT[0:7,0:127]; 00504600
+ DEFINE ENILSPOT = ENIL[ENILPTR.[38:3], ENILPTR.[41:7]]#; 00504500
+ ARRAY LDICT[0:7,0:127]; 00504600
BOOLEAN BUILDLINE; 00504700
BOOLEAN REL; 00504801
- COMMENT RR1-RR11 ARE USED BY SOME PROCEDURES IN LIEU OF LOCALS. 00505000
+ COMMENT RR1-RR11 ARE USED BY SOME PROCEDURES IN LIEU OF LOCALS, 00505000
TO SAVE SOME STACK SPACE; 00506000
REAL RR1,RR2,RR3,RR4,RR5,RR6,RR7,RR8,RR9,RR10,RR11; 00507000
COMMENT SOME OF THE RRI ARE USED TO PASS FILE INFORMATION TO 00508000
@@ -475,12 +475,12 @@ BOOLEAN REL; 00504801
DS ~ 1 CHR; 00512500
END EXAMINELAST; 00512600
COMMENT MOVECHARACTERS MOVES N CHARACTERS FROM THE SK-TH CHARACTER 00513000
- IN SORCE TO THE DK-TH CHARACTER IN DEST, 0{N{63,0{SK{127; 00514000
+ IN SORCE TO THE DK-TH CHARACTER IN DEST. 0{N{63,0{SK{127; 00514000
DEFINE DK=DSK#; 00514500
STREAM PROCEDURE MOVECHARACTERS(N,SORCE,SK,DEST,DSK); 00515000
VALUE N, SK, DSK ; 00516000
BEGIN SI~LOC SK; SI~SI+6; 00517000
- IF SC!"0" THEN BEGIN SI~SORCE; 2(SI~SI+32);SORCE~SI END; 00518000
+ IF SC!"0" THEN BEGIN SI~SORCE; 2(SI~SI+32); SORCE~SI END; 00518000
SI~LOC DK; SI~SI+6; DI~DEST; 00519000
IF SC!"0" THEN 2(DI~DI+32); 00520000
SI~SORCE; SI~SI+SK; DI~DI+DK; DS~N CHR; 00521000
@@ -511,8 +511,8 @@ BOOLEAN REL; 00504801
01000600
INTEGER NUMSEQUENCEERRORS; 01000700
INTEGER OPINX; % USED FOR INDEXING INTO OPTIONS ARRAY. 01000800
-BOOLEAN SETTING; % USED BY DOLLARCARD FOR AN OPTION"S SETTING 01000802
- BOOLEAN GOGOGO; % TRUE FOR SPECIAL WRITES AND READS 01000810
+BOOLEAN SETTING; % USED BY DOLLARCARD FOR AN OPTION"S SETTING. 01000802
+ BOOLEAN GOGOGO;% TRUE FOR SPECIAL WRITES AND READS 01000810
PROCEDURE CHECKBOUNDLVL;FORWARD; 01000830
BOOLEAN ARRAYFLAG;% USED TO INFORM PRIMARY AND BOOPRIM THAT WE ARE 01000840
% EVALUATING AN ARRAY BOUND 01000850
@@ -583,8 +583,8 @@ COMMENT SEQTOG INDICATES RESEQUENCING IS TO BE DONE; 01001410
VOIDING = OPTIONWORD.[VOIDBIT:1] #, 01001450
VOIDTAPE = OPTIONWORD.[VOIDTBIT:1] #, 01001460
XREF = OPTIONWORD.[XREFBIT:1] #, 01001461
- BEND = OPTIONWORD.[BENDBIT:1] #, 01001462
- CODEFILE = OPTIONWORD.[CODEFILEBIT:1] #, %106-01001463
+ BEND = OPTIONWORD.[BENDBIT:1]#, 01001462
+ CODEFILE = OPTIONWORD.[CODEFILEBIT:1]#, %106-01001463
DUMMY = #; 01001470
BOOLEAN NOHEADING; % TRUE IF DATIME HAS NOT BEEN CALLED. 01001480
BOOLEAN NEWBASE; % NEW BASENUM FOUND ON A NEW $-CARD. 01001490
@@ -716,8 +716,8 @@ DEFINE % %116-01007400
THE INTERNAL CODE ( OR ELBAT WORD AS IT IS USUALLY 01010000
CALLED). THE SECOND WORD CONTAINS THE FORWARD BIT (IN 01011000
[1:1]) FOR PROCEDURES, THE LINK TO PREVIOUS ENTRY (IN 01012000
- [4:8]). THE NUMBER OF CHARACTORS IN THE ALPHA REPRESENTA- 01013000
- TION (IN [12:6]), AND THE FIRST 5 CHARACTERS OF ALPHA. 01014000
+ [4:8]), THE NUMBER OF CHARACTORS IN THE ALPHA REPRESENTA- 01013000
+ TION (IN [12:6]), AND THE FIRST 5 CHARACTORS OF ALPHA. 01014000
SUCCEDING WORDS CONTAIN THE REMAINING CHARACTORS OF ALPHA,01015000
FOLLOWED BY ANY ADDITIONAL INFORMATION. THE ELBAT WORD 01016000
AND THE ALPHA FOR ANY QUANTITY ARE NOT SPLIT ACROSS A ROW 01017000
@@ -772,7 +772,7 @@ COMMENT INFO FORMAT 01028000
POINTS TO A. 01066000
THE SECOND WORD OF EACH ENTRY IN INFO IS MADE UP AS FOLLOWS: 01067000
FWDPT =[1:1],THIS TELLS WHETHER A PROCEDURE WAS DECLARED 01068000
- FORWARD. IT IS RESET AT THE TIME OF ITS ACTUAL 01069000
+ FORWARD.IT IS RESET AT THE TIME OF ITS ACTUAL 01069000
FULL DECLARATION. 01070000
PURPT =[4:8] THIS GIVES A DECREMENT WHICH GIVES THE RELATIVE 01071000
INDEX TO THE PREVIOUS INFO ENTRY WHEN SUBTRACTED 01072000
@@ -825,7 +825,7 @@ COMMENT INFO FORMAT 01028000
THE FIRST WORD OF ADDITIONAL INFO CONTAINS THE NUMBER OF 01119000
PARAMETERS [40:8] 01120000
IF A STREAM PROCEDURE THEN THIS WORD CONTAINS ALSO IN 01121000
- [13:11] ENDING PRT ADDRESS FOR LABELS, 01122000
+ [13:11] ENDING PRT ADDRESS FOR LABELS, 01122000
[ 7:6] NO OF LABELS REQUIRING PRT ADDRESSES, AND [1:6] NUMBER 01123000
OF LOCALS. 01124000
SUCCEEDING WORDS (ONE FOR EACH FORMAL PARAMETER,IN ORDER 01125000
@@ -834,9 +834,9 @@ COMMENT INFO FORMAT 01028000
VALUE OR NOT([10:1]). 01128000
THE ADDRESS([16:11]) IS THE F- ADDRESS FOR EACH. 01129000
IF THE PARAMETER IS AN ARRAY THEN THE INCR FIELD([27:8]) 01130000
- CONTAINS THE NUMBER OF DIMENSIONS,OTHERWISE INCR IS MEANINGLESS. 01131000
+ CONTAINS THE NUMBER OF DIMENSIONS.OTHERWISE INCR IS MEANINGLESS. 01131000
LINK([35:13]) IS MEANINGLESS. 01132000
- IF A STREAM PROCEDURE THEN THE CLASS OF EACH PARAMETER IS 01133000
+ IF A STREAM PROCEDURE THEN THE CLASS OF EACH PARAMATER IS 01133000
THAT OF LOCAL ID OR FILE ID, DEPENDING ON WHETHER OR NOT A RELEASE01134000
IS DONE IN THE STREAM PROCEDURE. 01135000
LABELS: 01136000
@@ -879,11 +879,11 @@ COMMENT INFO FORMAT 01028000
LVL GIVES THE LEVEL AT WHICH A QUANTITY WAS DECLARED. 01167000
ADDRESS GIVES THE STACK OR PRT ADDRESS. 01168000
DYNAM IS USED INSTEAD OF LVL AND ADDRESS FOR DEFINE AND 01168100
- DEFINE PARAMETER ENTRIES, ONLY, IT IS AN INDEX 01168200
+ DEFINE PARAMETER ENTRIES, ONLY. IT IS AN INDEX 01168200
INTO THE ARRAY CONTAINING THE DEFINE TEXT. 01168300
THEREFORE, WHEN THE COMPILER CHECKS TO SEE IF A 01168400
DEFINE WAS DECLARED B4 IN THE SAME BLOCK, IT DOES 01168500
- NOT USE THE LVL FIELD, BUT MAKES USE OF NINF00 01168600
+ NOT USE THE LVL FIELD, BUT MAKES USE OF NINFOO. 01168600
INCR GIVES A RELATIVE LINK TO ANY ADDITIONAL INFORMATION 01169000
NEEDED, RELATIVE TO THE LOCATION IN INFO. 01170000
LINK CONTAINS A LINK TO THE LOCATION IN INFO IF THE 01171000
@@ -919,7 +919,7 @@ COMMENT INFO FORMAT 01028000
INTID =24#, COMMENT 030; 01201000
BOOARRAYID =25#, COMMENT 031; 01202000
REALARRAYID =26#, COMMENT 032; 01203000
- ALFARRAYID =27#, COMMENT 033; 01204000
+ ALFAARRAYID =27#, COMMENT 033; 01204000
INTARRAYID =28#, COMMENT 034; 01205000
LABELID =29#, COMMENT 035; 01206000
COMMENT CLASSES FOR PRIMARY BEGINNERS; 01207000
@@ -928,7 +928,7 @@ COMMENT INFO FORMAT 01028000
LITNO =32#, COMMENT 040; 01210000
STRNGCON =33#, COMMENT 041; 01211000
LEFTPAREN =34#, COMMENT 042; 01212000
- COMMENT CLASSES FOR ALL DECLARATORS; 01213000
+ COMMENT CLASS FOR ALL DECLARATORS; 01213000
DECLARATORS =35#, COMMENT 043; 01214000
COMMENT CLASSES FOR STATEMENT BEGINNERS 01215000
READV =36#, COMMENT 044; 01216000
@@ -1029,13 +1029,13 @@ ARRAY FILEATTRIBUTES[0:30] ; 01303500
ALPHA ARRAY ACCUM[0:10]; 01304000
COMMENT ACCUM HOLDS THE ALPHA AND CHARACTER COUNT OF THE LAST 01305000
SCANNED ITEM IN A FORM COMPATIBLE WITH ITS APPEARANCE 01306000
- IN INFO. THAT IS ACCUM[1] = 00NAAAAA, ACCUM[I] , I> 1, 01307000
+ IN INFO, THAT IS ACCUM[1] = 00NAAAAA. ACCUM[I] , I> 1, 01307000
HAS ANY ADDITIONAL CHARACTERS. ACCUM[0] IS USED FOR 01308000
THE ELBAT WORD BY THE ENTER ROUTINES; 01309000
ARRAY STACKHEAD,SUPERSTACK[0:124]; %WF 01310000
- COMMENT STACKHEAD[N] CONTAINS AN INDEX INTO INFO, THIS INDEX %WF 01311000
+ COMMENT STACKHEAD[N] CONTAINS AN INDEX INTO INFO. THIS INDEX %WF 01311000
POINTS TO THE TOP ITEM IN THE N-TH STACK (ACTUALLY A %WF 01311100
- LINKED-LIST). SUPERSTACK IS NOT A TELEVISION STAR, %WF 01311200
+ LINKED-LIST). SUPERSTACK IS NOT A TELEVISION STAR, %WF 01311200
BUT RATHER A SPECIAL STACKHEAD WHICH ALWAYS POINTS %WF 01311300
AT CERTAIN COMMONLY USED RESERVED WORDS. THOSE %WF 01311400
WORDS POINTED TO (IN THREE GROUPS) ARE: %WF 01311500
@@ -1043,7 +1043,7 @@ ARRAY FILEATTRIBUTES[0:30] ; 01303500
2) AND, DIV, EQV, IMP, MOD, NOT, OR, TRUE %WF 01311700
3) BEGIN, DO, ELSE, END, FOR, GO, IF, %WF 01311800
STEP, THEN, TO, UNTIL, WHILE, WRITE. %WF 01311900
- FOR MORE INFORMATION ON THE USE OF SUPERSTACKM SEE %WF 01312000
+ FOR MORE INFORMATION ON THE USE OF SUPERSTACK, SEE %WF 01312000
COMMENTS IN THE TABLE PROCEDURE. ; %WF 01312100
INTEGER COUNT; 01313000
COMMENT COUNT CONTAINS THE NUMBER OF CHARACTORS OF THE LAST ITEM 01314000
@@ -1073,6 +1073,7 @@ ARRAY FILEATTRIBUTES[0:30] ; 01303500
THE LAST CHARACTER IN THE TAPE AND CARD BUFFERS. MAXTLCR 01336000
IS THE MAXIMUM OF TLCR WHEN THE INPUT IS BLOCKED; 01337000
DEFINE BUFFSIZE = 56#; 01338000
+ 01339000
INTEGER GTIX; 01339050
ARRAY TEN[0:69]; 01340000
INTEGER NOOFARRAYS; COMMENT NOOFARRAYS IS THE SUM OF ARRAYS 01340050
@@ -1097,15 +1098,15 @@ ARRAY FILEATTRIBUTES[0:30] ; 01303500
28-37 SEGMENT NUMBER 01355000
38-47 ZERO 01356000
TYPE 2 ENTRY 01357000
- BIT POSITION KIND OF ENTRY 01358000
- 0 EMPTY 01359000
- 1 ON IFF TYPE 2 (DATA) SEGMENT 01360000
- 2 ON IFF INTRINSIC PROCEDURE 01361000
- 3 ON IFF "PSEUDO-SAVE" SEGMENT 01361050
- 4-12 EMPTY 01361100
- 13-27 DISK ADDRESS OR INTRINSIC NUMBER 01361200
- 28-37 SEGMENT NUMBER 01361300
- 38-47 NUMBER OF WORDS IN SEGMENT 01362000
+ BIT POSITION KIND OF ENTRY 01358000
+ 0 EMPTY 01359000
+ 1 ON IFF TYPE 2 (DATA) SEGMENT 01360000
+ 2 ON IFF INTRINSIC PROCEDURE 01361000
+ 3 ON IFF "PSEUDO-SAVE" SEGMENT 01361050
+ 4-12 EMPTY 01361100
+ 13-27 DISK ADDRESS OR INTRINSIC NUMBER 01361200
+ 28-37 SEGMENT NUMBER 01361300
+ 38-47 NUMBER OF WORDS IN SEGMENT 01362000
THERE IS ONLY ONE TYPE 2 ENTRY PER SEGMENT.THE TYPE 2 ENTRY 01363000
IS DISTINGUISHED BY THE NON ZERO FIELD IN BITS 38-47. THIS 01364000
ENTRY IS USED TO BUILD THE DRUM DESCRIPTOR IN THE SEGMENT 01365000
@@ -1121,12 +1122,12 @@ COMMENT THE FORMAT OF SEGMENT DICTIONARY AND PRT ENTRIES AT THE END OF 01367010
[3:1] EMPTY (USED BY MCP PRESENCE-BIT ROUTINE) 01367075
[4:1] ON IFF "PSEUDO-SAVE" SEGMENT 01367080
[5:1] EMPTY (USED BY MCP OVERLAY ROUTINE) 01367085
- [8:10] R-RELATIVE LINK TO PRT ENTRY FOR THIS SEGMENT 01367090
+ [8:10] R-RELATIVE LINK TO A PRT ENTRY FOR THIS SEGMENT 01367090
[18:15] SIZE (NOT USED FOR INTRINSICS) 01367100
[33:15] DISK ADDRESS OR INTRINSIC NUMBER 01367110
PRT ENTRY (IE., PROGRAM DESCRIPTOR FOR SEGMENT NUMBER I) 01367120
- BIT POSITIONS CONTENTS OF FIELD 01367130
- [0:4] 1101 (BINARY) NON-PRESENT PROG, DESC. IDBITS 01367140
+ BIT POSITIONS CONTENTS OF FIELD 01367130
+ [0:4] 1101(BINARY) NON-PRESENT PROG. DESC. ID BITS 01367140
[4:2] MODE AND ARGUMENT BITS 01367150
[6:1] STOPPER (ON IFF THIS ENTRY LINKS TO SEG. DICT.) 01367160
[7:11] IF [6:1] THEN I ELSE R-RELATIVE LINK TO ANOTHER 01367170
@@ -1144,7 +1145,7 @@ COMMENT THE CONTENTS OF RELATIVE DISK SEGMENT ZERO OF THE CODE FILE ARE:01367210
6 SEGMENT NUMBER OF FIRST SEGMENT TO EXECUTE (IE., 1) 01367290
7 N 01367300
. O U 01367310
- . T S 01367320
+ . T S 01367320
. E 01367330
29 D; 01367340
INTEGER PDINX;COMMENT THIS IS THE INDEX FOR PDPRT; 01368000
@@ -1228,8 +1229,8 @@ DEFINE FS = 1#, FP = 2#, FL = 3#, FR = 4#, FA = 5#, 01420000
FP MEANS FROM PRIMARY, 01425000
FL MEANS FROM LIST, 01426000
FR MEANS FROM FOR, 01427000
- FIO MEANS FROM IODEC. 01427250
- FA MEANS FROM ACTUALPARAPART. 01427500
+ FIO MEANS FROM IODEC, 01427250
+ FA MEANS FROM ACTUALPARAPART, 01427500
FI MEANS FUNNY CALL FROM STATUS (IMPFUN); 01427600
INTEGER L; 01428000
COMMENT L IS THE LOCATION OF THE NEXT SYLLABLE TO BE EMITTED; 01429000
@@ -1251,7 +1252,7 @@ DEFINE FS = 1#, FP = 2#, FL = 3#, FR = 4#, FA = 5#, 01420000
STACK. SEE FOR EXAMPLE THE ARRAY DECLARATIONS. 01445000
LSTRTN IS A CELL USED AS LINKAGE BETWEEN A LIST AND 01446000
THE I-O FORMATING ROUTINES. THE FIRST SYLLABLES EXECUTED 01447000
- BY A LIST ARE: 1) OPDC LSTRTN, 2) BFW, THIS CARRIES YOU 01448000
+ BY A LIST ARE: 1) OPDC LSTRTN, 2) BFW. THIS CARRIES YOU 01448000
TO THE PROPER ITEM IN THE LIST. THE FORMATING ROUTINES 01449000
SET LSTRTN INITIALLY TO ZERO. THE LIST ITSELF UPDATES 01450000
LSTRTN. THE LIST EXHAUSTED FLAG IS -1; 01451000
@@ -1263,38 +1264,38 @@ DEFINE FS = 1#, FP = 2#, FL = 3#, FR = 4#, FA = 5#, 01420000
BOOLEAN TB1; 01457000
COMMENT TB1 IS A TEMPORARY BOOLEAN VARIABLE; 01458000
INTEGER JUMPCTR; 01459000
- COMMENT JUMPCTR IS A VARIABLE USED FOR COMMUNICATION BETWEEN BLOCK 01460000
- AND GENGO. IT GIVES HIGHEST LEVEL TO WHICH A JUMP HAS 01461000
- BEEN MADE FROM WITHIN A THE PRESENTLY BEING COMPILED 01462000
- SEGMENT. THE BLOCK COMPILES CODE TO INCREMENT AND DECRE- 01463000
- MENT THE BLOCKCTR ON THE BASIS OF JUMPCTR AT COMPLETION 01464000
- OF COMPILATION OF A SEGMENT - I.E. THE BLOCKCTR IS TALLIED 01465000
- IF LEVEL = JUMPCTR; 01466000
-BOOLEAN GOTOG; 01467000
- COMMENT GOTOG IS SET FALSE BY GOSTMT. DEXP SETS GOTOG TRUE IF ANY 01468000
- LABEL OR SWITCH IS NON LOCAL. GOSTMT FINDS OUT BY THIS 01469000
- MEANS WHETHER OR NOT A CALL ON MCP IS NECESSARY; 01470000
-REAL STLB; 01471000
- COMMENT STLB IS USED BY VARIABLE AND ACTUALPARAPART TO COMMUNICATE 01472000
- THE LOWER BOUND INFORMATION FOR THE LAST DIMENSION OF THE 01473000
- ARRAY INVOLVED IN A ROW DESIGNATOR. THE FORMAT OF THE 01474000
- INFORMATION IS THAT OF INFO. STLB IS ALSO SOMETIMES USED 01475000
- FOR TEMPORARY STORAGE; 01476000
-DEFINE BUMPL = L~L+2#; 01477000
- COMMENT BUMPL IS USED MOSTLY TO PREPARE A FORWARD JUMP; 01478000
-DEFINE IDMAX = LABELID#; 01479000
- COMMENT IDMAX IS THE MAXIMUM CLASS NUMBER FOR IDENTIFIERS; 01480000
-INTEGER DEFINECTR,DEFINEINDEX; 01481000
-ALPHA ARRAY DEFINFO[0:89]; 01481100
-ALPHA ARRAY TEXT[0:31,0:255]; 01481200
-INTEGER DEFSTACKHEAD; % STACKHEAD FOR DEFINE PARAMETERS 01481300
-INTEGER NEXTTEXT; % NEDEX OF NEXT DEFINE TEXT 01481400
- REAL JOINFO, COMMENT POINTS TO PSEUDO LABEL FOR JUMP OUTS; 01482000
- LPRT, COMMENT SHOWS LOCATION OF THE LAST LABEL IN THE PRT ; 01483000
- NESTLEVEL, COMMENT COUNTS NESTING FOR GO TO AND JUMP OUTS; 01484000
- JUMPLEVEL; COMMENT NUMBER OF LEVELS TO BE JUMPED OUT; 01485000
- COMMENT THE REALS ABOVE ARE FOR STREAM STATEMENT; 01486000
- ARRAY MACRO[0:35]; 01487000
+ COMMENT JUMPCTR IS A VARIABLE USED FOR COMMUNICATION BETWEEN BLOCK01460000
+ AND GENGO. IT GIVES HIGHEST LEVEL TO WHICH A JUMP HAS 01461000
+ BEEN MADE FROM WITHIN A THE PRESENTLY BEING COMPILED 01462000
+ SEGMENT. THE BLOCK COMPILES CODE TO INCREMENT AND DECRE- 01463000
+ MENT THE BLOCKCTR ON THE BASIS OF JUMPCTR AT COMPLETION 01464000
+ OF COMPILATION OF A SEGMENT - I.E. THE BLOCKCTR IS TALLIED01465000
+ IF LEVEL = JUMPCTR; 01466000
+ BOOLEAN GOTOG; 01467000
+ COMMENT GOTOG IS SET FALSE BY GOSTMT. DEXP SETS GOTOG TRUE IF ANY01468000
+ LABEL OR SWITCH IS NON LOCAL. GOSTMT FINDS OUT BY THIS 01469000
+ MEANS WHETHER OR NOT A CALL ON MCP IS NECESSARY; 01470000
+ REAL STLB; 01471000
+ COMMENT STLB IS USED BY VARIABLE AND ACTUALPARAPART TO COMMUNICATE 01472000
+ THE LOWER BOUND INFORMATION FOR THE LAST DIMENSION OF THE 01473000
+ ARRAY INVOLVED IN A ROW DESIGNATOR. THE FORMAT OF THE 01474000
+ INFORMATION IS THAT OF INFO. STLB IS ALSO SOMETIMES USED 01475000
+ FOR TEMPORARY STORAGE; 01476000
+ DEFINE BUMPL = L~L+2#; 01477000
+ COMMENT BUMPL IS USED MOSTLY TO PREPARE A FORWARD JUMP; 01478000
+ DEFINE IDMAX = LABELID#; 01479000
+ COMMENT IDMAX IS THE MAXIMUM CLASS NUMBER FOR IDENTIFIERS; 01480000
+ INTEGER DEFINECTR,DEFINEINDEX; 01481000
+ ALPHA ARRAY DEFINFO[0:89]; 01481100
+ ALPHA ARRAY TEXT[0:31,0:255]; 01481200
+ INTEGER DEFSTACKHEAD; % STACKHEAD FOR DEFINE PARAMETERS 01481300
+ INTEGER NEXTTEXT; % NEDEX OF NEXT DEFINE TEXT 01481400
+ REAL JOINFO, COMMENT POINTS TO PSEUDO LABEL FOR JUMP OUTS; 01482000
+ LPRT, COMMENT SHOWS LOCATION OF THE LAST LABEL IN THE PRT ; 01483000
+ NESTLEVEL, COMMENT COUNTS NESTING FOR GO TO AND JUMP OUTS;01484000
+ JUMPLEVEL; COMMENT NUMBER OF LEVELS TO BE JUMPED OUT; 01485000
+ COMMENT THE REALS ABOVE ARE FOR STREAM STATEMENT; 01486000
+ ARRAY MACRO[0:35]; 01487000
COMMENT MACRO IS FILLED WITH SYLLABLES FOR STREAM STATEMENT; 01488000
REAL P, COMMENT CONTAINS NUMBER OF FORMALS FOR STREAM PROCS; 01489000
Z; COMMENT CONTAINS 1ST WORD OF INFO FOR STREAM FUNCTIONS; 01490000
@@ -1372,7 +1373,7 @@ DEFINE DUMPOR = [24:11]#; COMMENT THE DUMPOR FIELD IN THE FIRST 01552000
ARRAY LIN[0:20]; COMMENT PRINT OUTPUT BUILT IN LIN; 01559010
INTEGER DA; 01559020
SAVE FILE OUT NEWTAPE DISK SERIAL [20:2400] (RR5,RR6,RR7,SAVE 1); 01560000
- FILE IN TAPE "OCRDIMG" (2,RR8,RR9); 01561000
+ FILE IN TAPE "0CRDIMG" (2,RR8,RR9); 01561000
SAVE FILE OUT PNCH DISK SERIAL [20:2400](2,10,RR10,SAVE 1); 01561005
COMMENT THE FOLLOWING ARE DECLARATIONS FOR THE SYMBOLIC LIBRARIES; 01561010
FILE IN CASTA DISK SERIAL "CASTA" "LIBRARY"(1,BUFFSIZE); 01561020
@@ -1391,10 +1392,10 @@ ARRAY LIBARRAY[0:24]; % LIBARRAY IS USED TO KEEP INFORMATION AS 01561065
NEXTENTRY =[32:16]#; COMMENT SECOND WORD IS THE $$ SEQ NO; 01561100
DEFINE NCRLINK = [18:15]#, LCRLINK= [33:15]#; 01561110
INTEGER LIBINDEX,LTLCR,MAXLTLCR,FILEINX,SEQSUM; 01561120
- COMMENT LIBINDEX IS A INDEX INTO LIBRARRAY 01561130
+ COMMENT LIBINDEX IS A INDEX INTO LIBARRAY 01561130
INDICATING LAST ENTRY MADE IN THE ARRAY. 01561140
LTLCR AND MAXLTLCR CORRESPOND TO TLCR AND 01561150
- MAXTLCR USED IN READACARD, FILEINX IS THE 01561160
+ MAXTLCR USED IN READACARD. FILEINX IS THE 01561160
LIBRARY SWITCH FILE INDEX. SEQSUM IS THE 01561170
SUM OF BASE SEQUENCE NUMBERS AT THIS POINT. 01561180
FINISHPT IS THE LAST RECORD NUMBER TO COMPILE; 01561190
@@ -1402,28 +1403,28 @@ ARRAY LIBARRAY[0:24]; % LIBARRAY IS USED TO KEEP INFORMATION AS 01561065
BOOLEAN FIRSTIMEX; COMMENT USED TO INDICATE WHEN 01561202
PROCESSING FIRST CARDIMAGE OF A NESTED CALL; 01561204
BOOLEAN CARDCALL; COMMENT TRUE IF NESTED CALL CAME FROM THE 01561206
- CARD READER ELSE FALSE; 01561208
- COMMENT RECOUNT IS THE LIBRARY RECORD COUNT; 01561210
+ CARD READER ELSE FALSE; 01561208
+ COMMENT RECOUNT IS THE LIBRARY RECORD COUNT; 01561210
BOOLEAN NORELEASE; COMMENT NORELEASE ALLOWS PRINTING 01561215
OF CURRENT BUFFER WHEN COMMING OUT OF LIBRARIES; 01561217
DEFINE NOROWS = 3#; COMMENT THIS IS THE MAXIMUM NUMBER OF DIRECTORY 01561220
BLOCKS PER LIBRARY TAPE; 01561230
ARRAY DIRECTORY[0:3|NOROWS-1, 0:55]; COMMENT THIS IS THE ACTUAL 01561240
DIRECTORY AND IS MADE UP AS FOLLOWS: 01561250
- A: 1 CAR- NUMBER OF DIRECTORY BLOCKS. 01561260
+ A: 1 CAR- NUMBER OF DIRECTORY BLOCKS, 01561260
B: 1 CHR - NUMBER OF CHARACTERS IN THE LIBRARY 01561270
- IDENTIFIER NAME. 01561280
- C N CHR - ACTUAL ALPHA OF THE LIBRARY IDENTIFIER. 01561290
+ IDENTIFIER NAME, 01561280
+ C N CHR - ACTUAL ALPHA OF THE LIBRARY IDENTIFIER, 01561290
D: 3 CHR - STARTING RECORD NUMBER FOR THE ACTUAL 01561300
ENTRIES. 01561310
ITEMS B,C,D ARE THE REPEATED FOR EACH IDENTIFIER. 01561320
LIBRARY DIRECTORY ENTRIES ARE NOT SPLIT ACROSS 01561330
DIRECTORY BLOCKS. 01561340
ITEM B WHEN 0 INDICATES THE END OF THE DIRECTORY 01561350
- AND THE ITEM D WILL FOLLOW INDICATING THE 01561360
+ AND THEN ITEM D WILL FOLLOW INDICATING THE 01561360
LAST SEQUENCE NUMBER + 1 PUT ON THE LIBRARY. 01561370
ITEM B WHEN INDICATS LAST DIRECTORY ITEM IN THIS 01561380
- BLOCK. 01561390
+ BLOCK, 01561390
IN ORDER TO CHANGE: 01561400
NUMBER OF LIBRARY TAPES - ADD FILE DECLARATIONS AT 01561410
01561020 - 01561050. 01561420
@@ -1459,7 +1460,7 @@ REAL STREAM PROCEDURE CMPD(A,B); %107-01561620
INTEGER TCOUNT; 01566000
COMMENT TCOUNT IS A VARIABLE WHICH HOLDS A PREVIOUS VALUE OF COUNT 01567000
FOR THE USE OF CONVERT; 01568000
- REAL STACKCT; %A01568500
+ REAL STACKCT; %A 01568500
DEFINE LOGI =443#, 01569000
EXPI =440#, 01570000
XTOTHEI =480#, 01571000
@@ -1565,7 +1566,7 @@ DEFINE PURPT=[4:8]#,SECRET=2#; 01628000
LNG = 19#, COMMENT (0115) 7.4.3.4 LOGICAL NEGATE; 01657000
LOD = 260#, COMMENT (2021) 7.4.10.1 LOAD OPERATOR; 01658000
LOR = 35#, COMMENT (0215) 7.4.3.2 LOGICAL OR; 01659000
- LQV = 131#, COMMENT (1015) 7.4.3.3 LOGICAL EQUIVALENCE; 01660000
+ LQV = 131#, COMMENT (1015) 7.4.3.3 LOGICAL EQIVALENCE; 01660000
LSS = 549#, COMMENT (4225) 7.4.4.5 LESS THAN; 01661000
MDS = 515#, COMMENT (4015) 7.4.7.7 SET FLAG BIT; 01661100
MKS = 72#, COMMENT (0441) 7.4.8.1 MARK STACK; 01662000
@@ -1600,7 +1601,7 @@ INTEGER F; 01688000
BEGIN LOCAL T1,T2,T3; 01688020
SI~EDOC;T1~SI;SI~TEDOC;T2~SI;SI~LOC EDOC;SI~SI+3;DI~LOC T3; 01688030
DI~DI+5;SKIP 3 DB;15(IF SB THEN DS~1 SET ELSE DS~1 RESET; 01688040
- SKIP 1 SB);SI~LOC EDOC;DI~LOC T2; DS~5 CHR;3(IF SB THEN DS~ 01688050
+ SKIP 1 SB);SI~LOC EDOC;DI~LOC T2; DS~ 5 CHR;3(IF SB THEN DS~ 01688050
1 SET ELSE DS ~ 1 RESET; SKIP 1 SB);DI~T3;SI~LOC T2;DS~WDS; 01688060
DI~LOC T3;DI~DI+5;SKIP 3 DB;SI~LOC TEDOC;SI~SI+3;15(IF SB 01688070
THEN DS~1 SET ELSE DS~1 RESET;SKIP 1 SB);SI~ LOC TEDOC;DI~LOC 01688080
@@ -1650,7 +1651,7 @@ DEFINE CPLUS2 = 770#; COMMENT CPLUS1 AND CPLUS2 ARE EXPLICIT CONSTANTS 01714000
COMMENT LSTR GIVES THE LOCATION OF FIRST SYLABLE OF A LIST. IT IS 01724000
USED BY LISTELEMENT TO COMPUTE VALUES TO STORE IS LSTRTN; 01725000
PROCEDURE SCANNER; FORWARD; 01730000
- COMMENT MKABS CONVERTS A DESCRIPTOR TO AN ABSOLTE ADDRESS; 01732000
+ COMMENT MKABS CONVERTS A DESCRIPTOR TO AN ABSOLUTE ADDRESS; 01732000
REAL STREAM PROCEDURE MKABS(A); 01733000
BEGIN DI ~ A; MKABS ~ DI END MKABS; 01734000
STREAM PROCEDURE MOVE(W)"WORDS FROM"(A)"TO"(B); VALUE W; 01735000
@@ -1692,7 +1693,7 @@ STREAM PROCEDURE SEQUENCEWARNING(L); 01742100
NED: TALLY~TALLY+1; 01743100
NONBLANK~TALLY 01743200
END NONBLANK; 01743300
- INTEGER FAULTLEVEL; COMMENT THIS IS FOR THE RUN0TIME ERROR KLUDGE-- 01750000
+ INTEGER FAULTLEVEL; COMMENT THIS IS FOR THE RUN-TIME ERROR KLUDGE-- 01750000
GIVES THE LOWEST LEVEL AT WHICH THERE IS AN ACTIVE 01751000
FAULT DECL OR LABEL USED IN A FAULT STATEMENT; 01752000
BOOLEAN FAULTOG; COMMENT FAULTSTMT USES THIS TO TELL DEXP TO WORRY 01753000
@@ -1727,7 +1728,7 @@ TRANS: 01778000
SI:=NCR; DI:=VP; DI:=DI+8; % RESTORE POINTERS. 01780000
N:=TALLY; DI:=DI-N; DS:=N CHR; 01781000
DI:=DI-8; VP:=DI; % I.E., "LOC VP":=DI. 01782000
- DI:=VR; SI:=LOC VP; DS:=WDS; % ADDRESS OF VOID RANGE. 01783000
+ DI:=VR; SI:=LOC VP; DS:=WDS;% ADDRESS OF VOID RANGE. 01783000
END OF GETVOID; 01784000
REAL VOIDCR,VOIDPLACE; 01785000
BOOLEAN SORTMERGETOG; 01786000
@@ -1747,10 +1748,9 @@ PROCEDURE DATIME; 01820000
WRITE(LINE, 01829000
$ SET OMIT = NOT ALGOL 01829900
, 01832500
@@ -1810,7 +1810,7 @@ PROCEDURE DATIME; 01820000
ELSE BEGIN COMMENT THE LENGTHS ARE NOT EQUAL; 02001420
SI~SI-1; 02001430
IF SC = "0" 02001440
- THEN BEGIN COMMENT MAY BE A NEW ROW; 02001450
+ THEN BEGIN COMMENT MAY BE NEW ROW; 02001450
SI~SI+1; DI~LOC LOOK; 02001460
IF 3 SC = DC 02001470
THEN BEGIN COMMENT CHANGE ROWS; 02001480
@@ -1951,8 +1951,8 @@ STREAM PROCEDURE TURNONSTOPLIGHT(RED,CORNER); VALUE RED,CORNER; 02011000
COMMENT MOVE IN ZONE PORTION TO RESULT SEQ.NO.; 02013137
END ADDER; 02013140
COMMENT SEARCHLIB IS RESPONSIBLE FOR SEARCHING THE LIBRARY TAPES FOR 02013150
-COMPILABLE QUANTITIES. THE PARAMETER INDICATES THAT WE ARE ENTERING 02013155
-A LIBRARY CALL IF TRUE, ELSE WE ARE EXITING.; 02013160
+COMPILABLE QUANTITIES, THE PARAMETER INDICATES THAT WE ARE ENTERING 02013155
+A LIBRAY CALL IF TRUE, ELSE WE ARE EXITING.; 02013160
PROCEDURE SEARCHLIB(DOLLAR); VALUE DOLLAR; BOOLEAN DOLLAR; 02013165
BEGIN 02013170
LABEL EXIT,EXITOUT, NOPARTIAL; 02013175
@@ -1963,7 +1963,8 @@ PROCEDURE SEARCHLIB(DOLLAR); VALUE DOLLAR; BOOLEAN DOLLAR; 02013165
Q:=ACCUM[1]; FLAG(N); 02013180
LISTOG:=TL; SINGLTOG:=TS; 02013181
END FLAGIT; 02013183
- IF DOLLAR THEN 02013184
+ 02013184
+ IF DOLLAR THEN 02013185
BEGIN COMMENT WE ARE ON A DOUBLE DOLLAR CARD; 02013190
RESULT~COUNT~ACCUM[1] ~0; SCANNER; 02013195
RESULT~COUNT~ACCUM[1] ~0; SCANNER; 02013200
@@ -1984,7 +1985,7 @@ PROCEDURE SEARCHLIB(DOLLAR); VALUE DOLLAR; BOOLEAN DOLLAR; 02013165
MOVE(56,LIBRARY[FILEINX](0),DIRECTORY[GT1~GT1+1,0]); 02013275
END; 02013280
END; 02013285
- RESULT~ACCUM[1]~ COUNT~0; SCANNER; COMMENT GET THE PROD.ID.; 02013290
+ RESULT~ACCUM[1]~ COUNT~0; SCANNER; COMMENT GET THE PROG.ID.; 02013290
IF LOOK(ACCUM[1],DIRECTORY,3|FILEINX, GT1,GT2) THEN 02013295
BEGIN COMMENT ERROR 501 - ITEM NOT IN DIRECTORY; 02013300
FLAGIT(501); GO EXIT; 02013305
@@ -2003,9 +2004,9 @@ PROCEDURE SEARCHLIB(DOLLAR); VALUE DOLLAR; BOOLEAN DOLLAR; 02013165
FLAGIT(502); GO EXIT; 02013350
END; 02013355
GT1 ~ GT1 + CONV(ACCUM[1],0,ACCUM[1].[12:6]) - 1; 02013360
- RESULT~ ACCUM[1]~ COUNT~0; SCANNER; 02013365
+ RESULT~ ACCUM[1]~ COUNT~0; SCANNER; 02013365
IF RESULT ! 2 THEN 02013370
- BEGIN COMMENT ERROR 503 - NO SEPARATOR; 02013375
+ BEGIN COMMENT ERROR 503 - NO SEPERATOR; 02013375
FLAGIT(503); GO EXIT; 02013380
END; 02013385
RESULT~ ACCUM[1]~ COUNT~0; SCANNER; COMMENT GET LENGTH; 02013390
@@ -2055,7 +2056,7 @@ PROCEDURE SEARCHLIB(DOLLAR); VALUE DOLLAR; BOOLEAN DOLLAR; 02013165
LIBINDEX ~ LIBINDEX -3; 02013560
RECOUNT~RECOUNT-1; 02013563
LASTUSED ~ LIBARRAY[LIBINDEX].LSTUSD; 02013565
- IF LASTUSED =1 THEN MEDIUM := "C "; %112-02013566
+ IF LASTUSED = 1 THEN MEDIUM := "C "; %112-02013566
IF LIBINDEX > 0 THEN BEGIN GTI1~LIBARRAY[LIBINDEX].NEXTENTRY; 02013567
DIRECTORY[FILEINX|3,0]~RECOUNT; RECOUNT~GTI1+2; END ELSE 02013568
DIRECTORY[FILEINX|3,0] ~ RECOUNT; 02013570
@@ -2064,9 +2065,9 @@ PROCEDURE SEARCHLIB(DOLLAR); VALUE DOLLAR; BOOLEAN DOLLAR; 02013165
FINISHPT ~ LIBARRAY[LIBINDEX].STOPPOINT; 02013600
IF LIBINDEX ! 0 THEN 02013610
MOVE(1,LIBARRAY[LIBINDEX -3 +1], SEQSUM); 02013615
- IF LASTUSED{2 OR LASTUSED=5 THEN LCR:=MKABS(CBUFF[0]) ELSE 02013617
+ IF LASTUSED{2 OR LASTUSED=5 THEN NCR:=MKABS(CBUFF[0]) ELSE 02013617
NCR ~ LIBARRAY[LIBINDEX+2].NCRLINK; 02013620
- IF LASTUSED{2 OR LASTUSED=5 THEN LCR:=MKABS(CBUFF[9]) ELSE 02013621
+ IF LASTUSED{2 OR LASTUSED=5 THEN LCR:=MKABS(CBUFF[9]) ELSE 02013621
LCR ~ LIBARRAY[LIBINDEX+2].LCRLINK; 02013625
NORELEASE~TRUE; 02013627
IF LASTUSED=6 THEN FIRSTIMEX~TRUE; 02013628
@@ -2157,7 +2158,7 @@ COMMENT "SCAN" IS THE STREAM PROCEDURE WHICH DOES THE ACTUAL SCANNING. 02067000
IT IS DRIVEN BY A SMALL WORD MODE PROCEDURE CALLED "SCANNER", 02067500
WHICH CHECKS FOR A QUANTITY BEING BROKEN ACROSS A CARD. "SCAN" 02068000
IS CONTROLLED BY A VARIABLE CALLED "RESULT". "SCAN" ALSO 02068500
- INFORMS THE WORLD OF ITS ACTION BY MEANS OF THE SAME VARIABLE, 02069000
+ INFORMS THE WORLD OF ITS ACTION BY MEANS OF THE SAME VARIABLE. 02069000
HENCE THE VARIABLE "RESULT" IS PASSED BY BOTH NAME AND VALUE. 02069500
THE MEANING OF "RESULT" AS INPUT IS: 02070000
VALUE MEANING 02070500
@@ -2189,7 +2190,7 @@ COMMENT "SCAN" IS THE STREAM PROCEDURE WHICH DOES THE ACTUAL SCANNING. 02067000
"COUNT" IS THE VARIABLE THAT GIVES THE NUMBER OF CHARACTERS 02083500
"SCAN" HAS PUT INTO THE "ACCUMULATOR". SINCE "SCAN" NEEDS 02084000
THE VALUE SO THAT IT CAN PUT MORE CHARACTERS INTO THE "ACCUM- 02084500
- ULATOR" AND NEEDS TO UPDATE "COUNT" FOR THE OUTSIDE WORLD. 02085000
+ ULATOR" AND NEEDS TO UPDATE "COUNT" FOR THE OUTSIDE WORLD, 02085000
"COUNT" IS PASSED BY BOTH NAME AND VALUE. IT IS ALSO 02085500
CONVENIENT TO HAVE (63-COUNT). THIS IS CALLED "COMCOUNT". 02086000
"NCR" (NEXT CHARACTER TO BE SCANNED) IS ALSO PASSED BY 02086500
@@ -2288,7 +2289,7 @@ L: 02128000
READACARD; 02133500
NORELEASE:=FALSE; 02134000
END; 02134500
- GO TO L; % GO DIRECTLY TO L, DO NOT PASS GO, 02135500
+ GO TO L; % GO DIRECTLY TO L. DO NOT PASS GO, 02135500
% DO NOT COLLECT $200. 02136000
END; 02136500
END SCANNER; 02137000
@@ -2349,7 +2350,7 @@ PROCEDURE OUTPUTSOURCE; 02190500
CHANGESEQ(GTI1,LCR); 02193250
END; 02193500
IF NEWTOG THEN 02193750
- IF INSERTDEPTH > 0 AND INSERTCOP=1 OR INSERTDEPTH=0 THEN %107- 02193800
+ IF INSERTDEPTH > 0 AND INSERTCOP=1 OR INSERTDEPTH=0 THEN %107-02193800
IF WRITNEW(LIN,FCR) THEN WRITE(NEWTAPE,10,LIN[*]); 02194000
IF OMITTING THEN IF NOT LISTATOG THEN GO AWAY; 02194250
GO SW[LASTUSED]; 02194500
@@ -2434,7 +2435,7 @@ END; %105-02202090
SWITCH USESWITCH := CARDONLY,CARDLAST,TAPELAST,FIRSTTIME, 02210750
LIBCLAST, LIBTLAST, COPYLIB; %107-02211000
BOOLEAN DOLLAR2TOG; 02211250
- IF ERRORCOUNT}ERRMAX THEN ERR(611);% ERR LIMIT EXCEEDED - STOP. 02211500
+ IF ERRORCOUNT}ERRMAX THEN ERR(611); % ERR LIMIT EXCEEDED - STOP. 02211500
USETHESWITCH: 02211750
GO TO USESWITCH[LASTUSED]; 02212000
MOVE(1,TEXT[LASTUSED.LINKR,LASTUSED.LINKC], 02212250
@@ -2467,7 +2468,7 @@ EOF: 02217000
TURNONSTOPLIGHT("%",CLCR-8); 02218250
% 02218400
GO COMPAR; 02218500
-COMMENT THIS RELEASES THE PREVIOUS CARD FROM THE CARD READER AND 02218750
+COMMENT THIS RELEASES THE PREVIOUS CARD FROM CARD READER AND 02218750
SETS UP CLCR; 02219000
TAPELAST: 02219250
READTAPE(TLCR,MAXTLCR,FALSE); GO TO COMPAR; 02219500
@@ -2510,7 +2511,7 @@ COMPAR: 02224250
EXIT: 02225000
NCR := FCR:= LCR - 9; 02225250
COMMENT SETS UP NCR AND FCR; 02225500
- IF CHECKTOG AND EXAMIN(FCR)!"$" THEN %$-CARDS DON"T COUNT. 02225750
+ IF CHECKTOG AND EXAMIN(FCR)!"$" THEN % $-CARDS DON"T COUNT. 02225750
IF COMPARE(MKABS(INFO[LASTSEQROW,LASTSEQUENCE]),LCR)=1 THEN 02226000
IF SEQERRTOG THEN BEGIN FLAG(610); 02226250
NUMSEQUENCEERRORS:=NUMSEQUENCEERRORS+1;END 02226300
@@ -2775,7 +2776,7 @@ XMODE1: % NOT FIRST OPTION AND NOT BEING SET, RESET, OR POPPED. 02333000
OPTIONS[OPINX+1]:=REAL(TRUE); 02334000
IF XBIT69 THEN FLAG(269) 02824000
@@ -3320,7 +3321,7 @@ FINISHNUMBER: 02847000
COMMENT THE CODE BETWEEN IDENT AND COMPOST DOES A LOOKUP IN INFO. 02853000
IF QUANTITY IS NOT FOUND THE ELBAT WORD EXPECTS TO BE 02854000
ZERO. THE SCRAMBLE FOR APPROPRIATE STACK IS FIRST THING 02855000
- TO BE DONE. THEN A CHECK IS MADE, USING SUPERSTACK. 02856000
+ TO BE DONE. THEN A CHECK IS MADE, USING SUPERSTACK, 02856000
TO DETERMINE WHETHER THE IDENTIFIER IS ONE OF OUR 02857000
COMMON RESERVED WORDS. IF IT IS, EXIT IS MADE TO 02858000
COMPLETE, OTHERWISE THE LOOP BETWEEN COMPOST AND 02859000
@@ -3483,7 +3484,7 @@ PROCEDURE NEXTENT; 02932000
BEGIN LABEL DEBLANK; 02933000
COUNT:=ACCUM[1]:=0; LASTELCLASS:=ELCLASS; 02934000
DEBLANK: 02935000
- IF EXAMIN(NCR)=" "THEN 02936000
+ IF EXAMIN(NCR)=" " THEN 02936000
BEGIN 02937000
RESULT:=7; SCANNER; 02938000
END; 02939000
@@ -3693,12 +3694,12 @@ PROCEDURE EMITC(REPEAT,OPERATOR); VALUE REPEAT,OPERATOR; 04010000
COMMENT EMITUP IS RESPONSIBLE FOR COMPILING THE CODE TO RAISE AN 04035000
EXPRESSION TO SOME POWER IF THE EXPONENT IS A LITERAL 04036000
OR A NEGATIVE LITERAL THEN IN LINE CODE IS COMPILED. THIS04037000
- CODE CONSISTS OF A SERIES OF DUPS AND MULS, AS WITH 04038000
+ CODE CONSISTS OF A SERIES OF DUPS AND MULS. AS WITH 04038000
EMITLNG CARE MUST BE TAKEN TO AVOID CONFUSION WITH LINKS 04039000
AND CONDITIONAL EXPRESSIONS. IF THESE SPECIAL CASES DO 04040000
NOT HOLD, THEN A CALL ON AN INTRINSIC PROCEDURE, XTOTHEI, 04041000
IS CONSTRUCTED. XTOTHEI PRODUCES A SERIES OF MULTIPLIES 04042000
- (APPROXIMATELY LN I MULTIPLIES) IF I IS AN INTEGER. 04043000
+ (APROXIMATELY LN I MULTIPLIES) IF I IS AN INTEGER. 04043000
OTHERWISE IT CALLS LN AND EXP; 04044000
PROCEDURE EMITUP; 04045000
BEGIN INTEGER BACKUP, CTR; 04046000
@@ -3785,7 +3786,7 @@ PROCEDURE EMITC(REPEAT,OPERATOR); VALUE REPEAT,OPERATOR; 04010000
EMITNUM(ABS(GT1)); 04121000
EMITO(BRANCH&(REAL(GT1} 0)+1)[42:46:2]); 04122000
IF BOOLEAN(BRANCH.[38:1]) THEN DIALA ~ DIALB ~ 0; 04123000
- L ~ TL; 04124000
+ L ~ TL 04124000
END EMITB; 04125000
COMMENT DEBUGWORD FORMATS TWO FIELDS FOR DEBUGGING OUTPUT IN 04126000
OCTAL, NAMELY : 04127000
@@ -3888,7 +3889,7 @@ PROCEDURE EMITC(REPEAT,OPERATOR); VALUE REPEAT,OPERATOR; 04010000
END; 04224000
FINISHED:END EMITNUM ; 04225000
COMMENT SEARCH PERFORMS A BINARY SEARCH ON THE COP AND WOP 04226000
- ARRAYS, GIVEN THE OPERATOR BITS SEARCH YIELDS THE BCD 04227000
+ ARRAYS. GIVEN THE OPERATOR BITS SEARCH YIELDS THE BCD 04227000
MNEUMONIC FOR THAT OPERATOR. IF THE OPERATOR CANNOT 04228000
BE FOUND SEARCH YIELDS BLANKS. 04229000
NOTE: DIA,DIB,TRB ARE RETURNED AS BLANKS. ; 04230000
@@ -3902,14 +3903,15 @@ PROCEDURE EMITC(REPEAT,OPERATOR); VALUE REPEAT,OPERATOR; 04010000
N ~ 64 ; 04238000
FOR I ~ 66 STEP IF Q[I] SUBLEVEL+1 THEN 04611000
BEGIN 04612000
EMIT(0); 04613000
- EMITPAIR(A,STD); 04614000
+ EMITPAIR(A, STD); 04614000
END; 04615000
EMITN(A); 04616000
END CHECKDISJOINT; 04617000
@@ -4066,7 +4069,7 @@ END CHECKDISJOINT; 04617000
COMMENT PUT PLACES A WORD INTO INFO; 05007000
PROCEDURE PUT(WORD,INDEX); VALUE WORD,INDEX; REAL WORD,INDEX; 05008000
INFO[INDEX.LINKR,INDEX.LINKC] ~ WORD; 05009000
- COMMENT FLAG FLAGS ERROR MESSAGES, COUNTS THEM AND SUPRESS FUTURE 05010000
+ COMMENT FLAG FLAGS ERROR MESSAGES, COUNTS THEM AND SUPPRESS FUTURE 05010000
ERROR MESSAGES UNTIL THE COMPILER THINKS IT HAS RECOVERED;05011000
PROCEDURE FLAG(ERRNUM); VALUE ERRNUM; INTEGER ERRNUM; 05012000
BEGIN 05013000
@@ -4075,9 +4078,9 @@ END CHECKDISJOINT; 04617000
STREAM PROCEDURE WRITERROR(RMT,ERRNUM,ACCUM,LINE,COUNT,LSTSEQ); 05016000
VALUE ERRNUM,COUNT; 05017000
BEGIN 05018000
- DI:=LINE; 11(DS:=8 LIT " "); % BLANK LINE 05019000
+ DI:=LINE; 11(DS:=8 LIT " "); %BLANK LINE 05019000
SI ~LSTSEQ; SI ~ SI-8; DS ~WDS; 05020000
- DS:=24 LIT " <<<<<<<<<<<<<<<<<<<<"; % SET FLAG 05021000
+ DS:=24 LIT " <<<<<<<<<<<<<<<<<<<<"; %SET FLAG 05021000
SI ~ LSTSEQ; DI ~ LSTSEQ; DI ~ DI-8; DS ~ WDS; 05023000
DI~LINE; SI~RMT; SI~SI+7; 05024000
IF SC="1" THEN 05024100
@@ -4100,8 +4103,8 @@ END CHECKDISJOINT; 04617000
IF NOT(LISTER OR REMOTOG) THEN 05036000
BEGIN 05037000
EDITLINE(LIN,FCR," ",0,0,MEDIUM,0); %114-05038000
- MOVE(1,INFO[LASTSEQROW,LASTSEQUENCE],LIN[12]); 05039000
- IF NOHEADING THEN DATIME; WRITELINE; 05039500
+ MOVE(1,INFO[LASTSEQROW,LASTSEQUENCE],LIN[12]); 05039500
+ IF NOHEADING THEN DATIME; WRITELINE; 05039600
END; 05041000
COMMENT PRINT CARDIMAGE IF WE ARE NOT LISTING; 05042000
ACCUM[1] ~ Q; COMMENT RESTORE ACCUMULATOR; 05043000
@@ -4109,7 +4112,7 @@ END CHECKDISJOINT; 04617000
INFO[LASTSEQROW,LASTSEQUENCE]); 05045000
IF REMOTOG THEN WRITE(REMOTE,10,LIN[*]); 05045900
IF NOT NOHEADING THEN BEGIN WRITE (LINE); WRITELINE; END; 05046000
- ERRORTOG ~ FALSE; COMMENT INHIBIT MESSAGES; 05047000
+ ERRORTOG ~ FALSE; COMMENT INHIBIT MESSAGES; 05047000
IF PUNCHTOG THEN 05048000
BEGIN 05049000
STREAM PROCEDURE PUNCH(FL,ST); 05050000
@@ -4128,13 +4131,13 @@ IF PUNCHTOG THEN 05048000
COMMENT ERR,IS THE SAME AS FLAG EXCEPT THAT IT MAKES AN ATTEMPT TO 05102000
RECOVER FROM ERROR SITUATIONS BY SEARCHING FOR A 05103000
SEMICOLON, END, OR BEGIN; 05104000
-PROCEDURE ERR(ERRNUM); VALUE ERRNUM; INTEGER ERRNUM; 05105000
- BEGIN FLAG(ERRNUM); 05106000
- I ~ I-1; 05107000
- IF ERRNUM=200 THEN GO TO ENDOFITALL; 05107100
- IF ERRNUM=611 THEN GO TO ENDOFITALL;%ERRMAX EXCEEDED. 05107200
- DO IF STEPI = BEGINV THEN STMT UNTIL 05108000
- ELCLASS = ENDV OR ELCLASS = SEMICOLON END ERR; 05109000
+ PROCEDURE ERR(ERRNUM); VALUE ERRNUM; INTEGER ERRNUM; 05105000
+ BEGIN FLAG(ERRNUM); 05106000
+ I ~ I-1; 05107000
+ IF ERRNUM=200 THEN GO TO ENDOFITALL; 05107100
+ IF ERRNUM=611 THEN GO TO ENDOFITALL;%ERRMAX EXCEEDED.05107200
+ DO IF STEPI = BEGINV THEN STMT UNTIL 05108000
+ ELCLASS = ENDV OR ELCLASS = SEMICOLON END ERR; 05109000
DEFINE ERROR = ERR#; COMMENT ERROR IS A SYNONM FOR ERR; 05110000
COMMENT CHECKER IS A SMALL PROCEDURE THAT CHECKS TO SEE THAT THE 05111000
UPLEVEL ADDRESSING CONVENTIONS ARE OBEYED; 05112000
@@ -4191,7 +4194,7 @@ PROCEDURE PASFILE; 05157000
DEFINE LTEMP = RR2#; COMMENT LTEMP IS USED TO HOLD THE L 05163000
REGISTER SETTING FOR THE SAVE OR 05164000
RELEASE LITERAL THAT GETS PASSED TO 05165000
- KEN MYERS; 05166000
+ KEN MEYERS; 05166000
EMITO(MKS); L~(LTEMP~L)+1; EMITL(0); 05167000
EMITL(2); CHECKER(ELBATWORD~ELBAT[I]); 05168000
IF RRB1~(RRB2~ ELCLASS = SUPERFILEID)OR 05169000
@@ -4218,7 +4221,7 @@ COMMENT PROCEDURE PASSLIST WILL BRING THE LIST PROGRAM DESCRIPTOR 05187500
PROCEDURE PASSLIST; 05187520
BEGIN 05187530
INTEGER LISTADDRESS; 05187540
-COMMENT PASSLIST ASSUMES I IS POINTING AT LIST ID; 05187550
+COMMENT PASSLIST ASSUMES I POINTING AT LIST ID; 05187550
CHECKER(ELBAT[I]); 05187560
LISTADDRESS:=ELBAT[I].ADDRESS; 05187570
IF ELCLASS = SUPERLISTID THEN % SUBSCRIPTED LIST ID. 05187580
@@ -4285,7 +4288,7 @@ STREAM PROCEDURE DEBUGDESC(LIN,PRT,TYP,RELAD,SGNO); 05237000
SI:=LOC SGNO; SI:=SI+4; DS:=4 CHR; DS:=LIT"."; 05243000
END DEBUGDESC; 05243500
REAL PROCEDURE PROGDESCBLDR(TYPE,RELAD,SPAC); 05245000
- COMMENT THIS PROCEDURE BUILDS PDPRT AS DESCRIBED ABOVE, IT IS 05246000
+ COMMENT THIS PROCEDURE BUILDS PDPRT AS DESCRIBED ABOVE.IT IS 05246000
CONCERNED WITH TYPE 1 ENTRIES.THE INFORMATION FURNISHED 05247000
BY PDPRT ALLOWS A DRUM DESCRIPTOR TO BE BUILT FOR EACH 05248000
SEGMENT AND A PSEUDO PROGRAM DESCRIPTOR TO BE BUILT INTO 05249000
@@ -4457,7 +4460,7 @@ INTEGER PROCEDURE GETSPACE(PERMANENT,L); VALUE PERMANENT,L; 05331000
COL ~ COL+35; 05354000
L1: IF REAL(M AND Q) ! 0 05355000
THEN BEGIN 05356000
- IF REAL(BOOLEAN(GS~4294967296-REAL(M)) AND Q) =GS 05357000
+ IF REAL(BOOLEAN(GS~4294967296-REAL(M)) AND Q) = GS 05357000
THEN BEGIN 05358000
COL ~ 0; M ~ TRUE; 05359000
IF ROW ~ ROW+1 > 31 05360000
@@ -4479,7 +4482,7 @@ INTEGER PROCEDURE GETSPACE(PERMANENT,L); VALUE PERMANENT,L; 05331000
IF GS > 1023 THEN GS ~ GS-1024; 05376000
IF PRTOG THEN WRITEPRT(IF Q THEN "PRT " ELSE "STACK",L,B2D(GS)); 05376100
END GETSPACE; 05378000
- COMMENT ARRAYCHECK CHECKS A PARAMTER-INFO WORD FOR SORT/MERGE; 05379000
+ COMMENT ARRAYCHECK CHECKS A PARAMETER-INFO WORD FOR SORT/MERGE; 05379000
BOOLEAN PROCEDURE ARRAYCHECK(AAW); VALUE AAW; REAL AAW; 05380000
ARRAYCHECK~AAW.CLASSINTARRAYID 05381000
OR AAW.INCR !1; 05382000
@@ -4488,7 +4491,7 @@ INTEGER PROCEDURE GETSPACE(PERMANENT,L); VALUE PERMANENT,L; 05331000
BEGIN IF NOT(COMMACHECK~(STEPI=COMMA)) THEN ERR(350); 05385000
STEPIT 05386000
END COMMACHECK; 05387000
- COMMENT HVCHECK CHECKS VALIDITY OF HIVALU PROCEDURE FOR SORT; 05388000
+ COMMENT HVCHECK CHECKS VALIDITY OF HIVALU PROCEDURE FOR SORT; 05388000
BOOLEAN PROCEDURE HVCHECK(ELBW); VALUE ELBW; REAL ELBW; 05389000
IF ELBW.CLASS!PROCID THEN ERR(356) ELSE 05390000
IF BOOLEAN(ELBW.FORMAL) THEN HVCHECK~TRUE ELSE 05390100
@@ -4512,7 +4515,7 @@ INTEGER PROCEDURE GETSPACE(PERMANENT,L); VALUE PERMANENT,L; 05331000
IF ARRAYCHECK(TAKE(GT1+2)) THEN ERR(362) ELSE 05406000
EQLESCHECK~TRUE; 05407000
COMMENT ROUTINES IN THIS SECTION COMPILE CODE FOR ALL EXPRESSIONS;06000000
- COMMENT AEXP IS THE ARITHMETIC EXRESSION ROUTINE; 06001000
+ COMMENT AEXP IS THE ARITHMETIC EXPRESSION ROUTINE; 06001000
PROCEDURE AEXP; 06002000
BEGIN 06003000
IF ELCLASS = IFV 06004000
@@ -4528,13 +4531,13 @@ INTEGER PROCEDURE GETSPACE(PERMANENT,L); VALUE PERMANENT,L; 05331000
THEN BEGIN 06014000
STEPIT; 06015000
IF ELBAT[I-1].ADDRESS = ADD THEN PRIMARY 06016000
- ELSE BEGIN 06017000
- PRIMARY; 06018000
- WHILE ELCLASS = FACTOP DO %WF 06019000
- BEGIN STEPIT; PRIMARY; EMITUP END; %WF 06020000
- ENDTOG ~ LINKTOG; EMITO(CHS); 06021000
- LINKTOG ~ ENDTOG; ENDTOG ~ FALSE END END 06022000
- ELSE PRIMARY END ARITHSEC; 06023000
+ ELSE BEGIN 06017000
+ PRIMARY; 06018000
+ WHILE ELCLASS = FACTOP DO %WF 06019000
+ BEGIN STEPIT; PRIMARY; EMITUP END; %WF 06020000
+ ENDTOG ~ LINKTOG; EMITO(CHS); 06021000
+ LINKTOG ~ ENDTOG; ENDTOG ~ FALSE END END 06022000
+ ELSE PRIMARY END ARITHSEC; 06023000
COMMENT SIMPARITH COMPILES SIMPLE ARITHMETIC EXPRESSIONS ON THE 06024000
ASSUMPTION THAT AN ARITHMETIC PRIMARY HAS ALREADY BEEN 06025000
COMPILED. IT ALSO HANDLES THE CASE OF A CONCATENATE 06026000
@@ -4565,7 +4568,7 @@ INTEGER PROCEDURE GETSPACE(PERMANENT,L); VALUE PERMANENT,L; 05331000
ELSE BEGIN 06051000
WHILE OPCLASS < ELCLASS DO ARITHCOMP; 06052000
COMMENT THE CLASSES ARE ARRANGED IN ORDER OF HIERARCHY; 06053000
- STACKCT ~ 1; %A06053500
+ STACKCT ~ 1; %A 06053500
EMIT(OPERATOR) END 06054000
END UNTIL OPCLASS ! ELCLASS END ARITHCOMP; 06055000
COMMENT IMPFUN HANDLES ALL OF THE SPECIAL FUNCTIONS; 06056000
@@ -4585,13 +4588,13 @@ INTEGER PROCEDURE GETSPACE(PERMANENT,L); VALUE PERMANENT,L; 05331000
IF STEPI!LEFTPAREN THEN ERRX(105); STEPIT ; 06062120
IF T2<24 THEN 06062125
BEGIN 06062130
-L3: IF TABLE(I+1)=COMMA THEN 06062135
+ L3: IF TABLE(I+1)=COMMA THEN 06062135
IF ELCLASS>BOOID AND ELCLASS 47 THEN FLAG(95); 06331100
+ SKIP2: IF THIRD {0 OR THIRD > 47 THEN FLAG(95); 06331100
END ELSE 06331200
BEGIN 06331300
L3: IF NOT P2 THEN 06331500
@@ -5089,7 +5092,8 @@ COMMENT SET UP CODE FOR RELATIONAL OPERATOR TO BE 06284600
THOSE CASES HANDLED BY THE VARIABLE ROUTINE ; 06337100
PROCEDURE DOTIT; 06338000
BEGIN INTEGER FIRST,SECOND; LABEL EXIT; 06339000
- IF DOTSYNTAX(FIRST,SECOND) THEN GO TO EXIT; 06340000
+ 06340000
+ IF DOTSYNTAX(FIRST,SECOND) THEN GO TO EXIT; 06341000
%A 06342000
EMITI(0,FIRST,SECOND); %A 06343000
%A 06344000
@@ -5117,11 +5121,11 @@ COMMENT SET UP CODE FOR RELATIONAL OPERATOR TO BE 06284600
THEN BEGIN 06366000
COMMENT OUR BAD GO TO IS JUMPING OUTSIDE OF ALL PROCEDURES; 06367000
EMIT(0); 06368000
- EMITL(TLEVEL); END 06369000
+ EMITL(TLEVEL) END 06369000
ELSE BEGIN 06370000
EMITN(512); 06371000
EMITV(513); COMMENT PICK UP BLOCKCTR AT ENTRY 06372000
- FROM F+1; 06373000
+ FROM F+1; 06373000
IF TLEVEL ~ TLEVEL - SUBLEVEL -1 ! 0 06374000
THEN BEGIN 06375000
EMITL(TLEVEL); 06376000
@@ -5275,7 +5279,7 @@ FCR:= (LCR:=MKABS(TBUFF[9]))-9 END; %104-07025030
TO REDUCING TOTAL NUMBER; 07077000
PCTR ~ 1; 07078000
ANOTHER: ACLASS ~ STEPI; WHOLE ~ ELBAT[I]; SCATTERELBAT; 07079000
- STACKCT ~ 0; %A 07079500
+ STACKCT ~ 0; %A 07079500
COMMENT SETUP FIELDS OF AN ACTUAL PARAMETER; 07080000
IF FBIT THEN BEGIN VBIT ~ FALSE; SCLASS ~ LOCLID END 07081000
COMMENT IF PROCEDURE IS FORMAL ALL CALLS ARE BY NAME AND NO CHECK 07082000
@@ -5289,7 +5293,7 @@ FCR:= (LCR:=MKABS(TBUFF[9]))-9 END; %104-07025030
THEN SCLASS ~ SCLASS-GT1+1 07090000
COMMENT IF PROCEDURE IS NOT FORMAL WE OBTAIN VBIT FROM THE ADDITION-07091000
AL INFO FOR THE PROCEDURE. WE ALSO GET SCLASS FROM THIS 07092000
- SOURCE. HOWEVER SCLASS IS NORMALIZED TO REAL, IF NEEDED; 07093000
+ SOURCE, HOWEVER SCLASS IS NORMALIZED TO REAL, IF NEEDED; 07093000
END; 07094000
IF T1 ~ TABLE(I+1) ! COMMA THEN 07095000
IF T1 ! RTPAREN THEN 07096000
@@ -5355,7 +5359,7 @@ FCR:= (LCR:=MKABS(TBUFF[9]))-9 END; %104-07025030
IF WHOLE.ADDRESS>1023 THEN EMITO(PRTE); 07122520
EMITO(LOD); 07122530
ACLASS~LISTID; GO TO BS END; 07122540
- COMMENT NORMAL IS REACHED ONLY IF THE PARAMETER IS AN EXPRESSION; 07123000
+ COMMENT NORMAL IS REACHED ONLY IF THE PARAMETER IS AN EXPRESSION; 07123000
NORMAL: IF VBIT THEN 07124000
VE: T1 ~ EXPRSS COMMENT VALUE CALL EXPRESSION; 07125000
ELSE BEGIN COMMENT NAME CALL EXPRESSION; 07126000
@@ -5367,7 +5371,7 @@ FCR:= (LCR:=MKABS(TBUFF[9]))-9 END; %104-07025030
AROUND CODE FOR EXPRESSION; 07132000
T1 ~ EXPRSS; COMMENT COMPILE EXPRESSION; 07133000
STORE: EMITPAIR(JUNK,STD); EMITN(JUNK); 07134000
- COMMENT THIS PROVIDES FOR PROTECTION IF ONE ATTEMPTS INSIDE OF A 07135000
+ COMMENT THIS PROVIDES FOR PROTECTION IF ONE ATTEMPTS INSIDE OF A 07135000
PROCEDURE TO STORE INTO AN EXPRESSION - THE STORE GOES 07136000
INTO JUNK; 07137000
LRTS: EMITO(RTS); CONSTANTCLEAN; EMITB(BFW,T2,L); STUFFF(T3) 07138000
@@ -5383,7 +5387,7 @@ FCR:= (LCR:=MKABS(TBUFF[9]))-9 END; %104-07025030
COMMENT IF WE REACH THIS POINT THE ACTUAL PARAMETER STARTS WITH AN 07148000
ARRAY NAME FOLLOWED BY SOMETHING ELSE; 07149000
IF SCLASS } BOOARRAYID THEN 07150000
- IF SCLASS {INTARRAYID THEN 07151000
+ IF SCLASS { INTARRAYID THEN 07151000
BEGIN T2 ~ TAKE(INDEX+PCTR).INCR; 07152000
COMMENT THE FORMAL PARAMETER CALLS FOR AN ARRAY AS ACTUAL PARAMETER.07153000
THUS WE MUST HAVE A ROW DESIGNATOR; 07154000
@@ -5411,7 +5415,7 @@ FCR:= (LCR:=MKABS(TBUFF[9]))-9 END; %104-07025030
THAN THIS IT SETS T6 TO ZERO; 07179000
COMMENT IF THIS PLACE IS REACHED WE HAVE A NON-STREAM PROCEDURE. 07180000
WE HAVE NOT YET DECEIDED WHETHER WE HAVE 07181000
- 1) A ROW DESIGNATOR WITH FORMAL PROCEDURE. 07182000
+ 1) A ROW DESIGNATOR WITH FORMAL PROCEDURE, 07182000
2) A SUBSCRIPTED VARIABLE, OR 07183000
3) A GENUINE NAME CALL EXPRESSION; 07184000
IF TABLE(I+2) = LITNO AND 07185000
@@ -5508,10 +5512,10 @@ FCR:= (LCR:=MKABS(TBUFF[9]))-9 END; %104-07025030
EMITO(RTS); EMITB(BFW,T2,L); STUFFF(T3); GO TO NSBS; 07272000
L10: 07273000
COMMENT PROCEDURE; 07274000
- TB1 ~ TRUE; IF FORMALF THEN GO LODPOINT; 07275000
+ TB1 ~ TRUE; IF FORMALF THEN GO TO LODPOINT; 07275000
LP: IF T1 ~ TAKE(WHOLE ~ GIT(WHOLE)).[40:8] = 0 07276000
THEN BEGIN 07277000
- COMMENT THE PRCOEDURE BEING PASSED HAS ZERO PARAMETERS; 07278000
+ COMMENT THE PROCEDURE BEING PASSED HAS ZERO PARAMETERS; 07278000
IF TB1 THEN GO TO LODPOINT; 07279000
COMMENT IF THE PROCEDURE IS NOT A FUNCTION, WE PASS THE PROCEDURE 07280000
DESCRIPTOR ITSELF (IN BOTH CASES THE PARAMETER PROCEDURE);07281000
@@ -5521,16 +5525,16 @@ FCR:= (LCR:=MKABS(TBUFF[9]))-9 END; %104-07025030
GO TO NORMAL; COMMENT WE LET OUT NORMAL MECHANISM FOR 07284000
EXPRESSIONS HANDLE THIS CASE; 07285000
END THE CASE OF ZERO PARAMETERS; 07286000
- TB1 ~ TRUE; 07287000
- FOR T2 ~ 1 STEP 1 UNTIL T1 07288000
- DO BEGIN 07289000
- IF BOOLEAN(T3~TAKE(WHOLE+T2)).VO 07290000
- THEN 07291000
- IF T4 ~ T3.CLASS < BOOARRAYID OR T4 > INTARRAYID 07292000
- THEN BEGIN 07293000
+ TB1 ~ TRUE; 07287000
+ FOR T2 ~ 1 STEP 1 UNTIL T1 07288000
+ DO BEGIN 07289000
+ IF BOOLEAN(T3~TAKE(WHOLE+T2)).VO 07290000
+ THEN 07291000
+ IF T4 ~ T3.CLASS < BOOARRAYID OR T4 > INTARRAYID 07292000
+ THEN BEGIN 07293000
COMMENT THE T2-TH PARAMETER TO THE PROCEDURE BEING PASSED IS VALUE; 07294000
- IF TB1 THEN 07295000
- BEGIN 07296000
+ IF TB1 THEN 07295000
+ BEGIN 07296000
COMMENT THIS IS THE FIRST VALUE PARAMETER. IF ANY PARAMETERS ARE 07297000
VALUE WE BUILD A THINK WHICH SEES THAT WHEN THIS 07298000
PROCEDURE IS CALLED FORMALLY, ITS PARAMETERS THAT ARE 07299000
@@ -5571,7 +5575,7 @@ FCR:= (LCR:=MKABS(TBUFF[9]))-9 END; %104-07025030
IF VBIT 07334000
THEN BEGIN EMITV(ADDRSF); GO TO BS END 07335000
ELSE GO TO LODPOINT; 07336000
- COMMENT IF VBIT WE DO VALUE CALL. OTHERWISE WE PASS PROCEDURE 07337000
+ COMMENT IF VBIT WE DO VALUE CALL, OTHERWISE WE PASS PROCEDURE 07337000
DESCRIPTOR ALONG; 07338000
END; 07339000
TB1 ~ FALSE; GO TO LP; 07340000
@@ -5623,7 +5627,7 @@ FCR:= (LCR:=MKABS(TBUFF[9]))-9 END; %104-07025030
COMMENT PROCSTMT COMPILES CODE FOR ALL PROCEDURE STATEMENTS AND 07386000
FUNCTION CALLS (EXCEPT FOR STREAM PROCEDURES). THE 07387000
PARAMETERS, FROM, TELLS WHO CALLED. IF STMT CALLED FROM 07388000
- IS TRUE, PROCSTMT ALSO HANDLES FUNCTION NAME ASSIGNMENT 07389000
+ IS TRUE. PROCSTMT ALSO HANDLES FUNCTION NAME ASSIGNMENT 07389000
OPERATIONS; 07390000
PROCEDURE PROCSTMT(FROM); VALUE FROM; BOOLEAN FROM; 07391000
BEGIN 07392000
@@ -5654,7 +5658,7 @@ FCR:= (LCR:=MKABS(TBUFF[9]))-9 END; %104-07025030
THEN BEGIN COMMENT THIS IS A MONITORED FUNCTION DESIGNATOR07416000
; 07417000
EMITL(JUNK); EMITO(SND); EMITO(MKS); 07418000
- EMITL(JUNK); EMITL(PASSTYPE(HOLE)); 07419000
+ EMITV(JUNK); EMITL(PASSTYPE(HOLE)); 07419000
EMITPAIR(GNAT(POWERSOFTEN),LOD);PASSALPHA(HOLE);07420000
EMITPAIR(GNAT(CHARI ),LOD); PASSMONFILE(TAKE07421000
(GIT(HOLE)).FUNCMONFILE); %109-07422000
@@ -5686,7 +5690,7 @@ FCR:= (LCR:=MKABS(TBUFF[9]))-9 END; %104-07025030
JUMPS INSIDE OF STREAM PROCEDURES; 07447000
GT4 ~ GT2.[1:6]; 07448000
FOR GT1 ~ 1 STEP 1 UNTIL GT4 DO EMIT(0); 07449000
- COMMENT THIS CODE CALLS ZERO LISTS TO MAKE SPACE FOR LOCALS INSIDE07450000
+ COMMENT THIS CODE CALLS ZERO LITS TO MAKE SPACE FOR LOCALS INSIDE 07450000
OF STREAM PROCEDURES; 07451000
IF ELCLASS ! LEFTPAREN THEN ERR(128) 07452000
ELSE BEGIN 07453000
@@ -5707,7 +5711,7 @@ PROCEDURE RELSESTMT; 07461250
IF STEPI!LEFTPAREN THEN 07462000
BEGIN ERR(105); GO EXIT END; 07462250
IF STEPI=UNKNOWNID THEN 07462500
- BEGIN ERR(100); GO EXIT END; 07462750
+ BEGIN ERR(100); GO EXIT END; 07462750
IF ELCLASS=PROCID OR RANGE(BOOPROCID,INTPROCID) THEN 07463000
BEGIN 07463250
EMITPAIR(ELBAT[I].ADDRESS,LOD); EMITPAIR(38,COM); 07463500
@@ -5932,10 +5936,10 @@ PROCEDURE CASESTMT; 07646100
BEGIN COMMENT THE CASE STATEMENT HAS THE FOLLOWING FORM: 07646110
CASE OF BEGIN 07646120
AT EXECUTION THE CASE STATEMENT SELECTS ONE OF THE STATEMENTS 07646130
- IN THE , DEPENDING ON THE VALUE OF THE , 07646140
+ IN THE , DEPENDING ON THE VALUE OF THE . 07646140
ONLY THE SELECTED STATEMENT IS EXECUTED AND CONTROL RESUMES AFTER 07646150
THE . IF THERE ARE N STATEMENTS IN THE 07646160
- , THEY MAY BE CONSIDERED NUMBERED 0,1,...,N-1. 07646170
+ , THEY MAY BE CONSIDERED NUMBERED 0,1,...,N-1, 07646170
AND THE MUST TAKE ON ONLY THESE VALUES. OTHER VALUES 07646180
WILL RESULT IN AN INVALID INDEX TERMINATION OF THE OBJECT PROGRAM. 07646190
THE STATEMENTS IN THE MAY BE ANY EXECUTABLE 07646200
@@ -5997,7 +6001,7 @@ LOOP: 07646470
END; 07646580
ENDTOG ~ TRUE; 07646585
COMMENT SKIP ANY COMMENTS AFTER "END"; 07646590
- DO STOPDEFINE ~ TRUE UNTIL STEPI { ENDV AND ELCLASS }UNTILV 07646595
+ DO STOPDEFINE ~ TRUE UNTIL STEPI { ENDV AND ELCLASS } UNTILV 07646595
OR NOT ENDTOG; 07646600
ENDTOG ~ FALSE; 07646610
COMMENT DEFINE TEDOC AS TYPE-2 SEGMENT; 07646620
@@ -6035,7 +6039,7 @@ COMMENT THE FOLLOWING PROCEDURE HANDLES THE FILL STATEMENT. 07647000
BY THE FILL STATEMENT EVERY TIME THE FILL STATEMENT IS 07650000
EXECUTED.STRINGCONSTANTS,LITERAL ,AND NONLITERAL NUMBERS 07650500
ARE ALL CONVERTED BY THE SCANNER AND NUMBER BUILDER.OCTAL 07651000
- NUMBERS LOOK LIKE IDENITIFERS TO FILLSTMT AND ARE CONVERTED 07651500
+ NUMBERS LOOK LIKE IDENTIFIERS TO FILLSTMT AND ARE CONVERTED 07651500
BY OCTIZE.AFTER BUILDING THE SEGMENT AN ENTRY IS MADE IN 07652000
PDPRT TO SUPPLY INFO TO BUILD A DISK DESCRIPTOR IN THE 07652500
SEGMENT DICTIONARY.THE COMMUNICATE LITERAL IS 7; 07653000
@@ -6173,8 +6177,8 @@ LVAR, 07722000
IF ELCLASS=FILEID OR ELCLASS=SUPERFILEID THEN 07729190
BEGIN GT1~FILEATTRIBUTEHANDLER(FS); GO EXIT END ; 07729200
FLAG(145); 07729500
-LERR: ERR(144); GO TO EXIT; 07730000
-LDEC: FLAG(146); 07731000
+ LERR: ERR(144); GO TO EXIT; 07730000
+ LDEC: FLAG(146); 07731000
IF TABLE(I-2) = ENDV AND MODE > 0 07732000
THEN BEGIN I ~ I-2; ELCLASS ~ ENDV; GO TO EXIT END; 07733000
I ~ I-1; ERRORTOG ~ TRUE; BLOCK(FALSE); 07734000
@@ -6182,28 +6186,28 @@ LDEC: FLAG(146); 07731000
07735500
07735510
07735520
-LPROC: PROCSTMT(TRUE); GO TO EXIT; 07736000
-LSPROC: STRMPROCSTMT; GO TO EXIT; 07737000
-LVAR: VARIABLE(FS); GO TO EXIT; 07738000
-LAB: LABELR; GO TO AGAIN; 07739000
-LREAD: READSTMT; GO TO EXIT; 07740000
-LWRITE: WRITESTMT; GO TO EXIT; 07741000
-LSPACE: SPACESTMT; GO TO EXIT; 07742000
-LCLOSE: CLOSESTMT; GO TO EXIT; 07743000
-LLOCK: LOCKSTMT; GO TO EXIT; 07744000
-LRWND: RWNDSTMT; GO TO EXIT; 07745000
-LDBL: DBLSTMT; GO TO EXIT; 07746000
-LFOR: FORSTMT; GO TO EXIT; 07747000
-LWHILE: WHILESTMT; GO TO EXIT; 07748000
-LDO: DOSTMT; GO TO EXIT; 07749000
-LFILL: FILLSTMT; GO TO EXIT; 07750000
-LIF: IFSTMT; GO TO EXIT; 07751000
-LGO: GOSTMT; GO TO EXIT; 07752000
-LRELSE: RELSESTMT; GO TO EXIT; 07753000
-LBEG: IF STEPI = DECLARATORS 07754000
+ LPROC: PROCSTMT(TRUE); GO TO EXIT; 07736000
+ LSPROC: STRMPROCSTMT; GO TO EXIT; 07737000
+ LVAR: VARIABLE(FS); GO TO EXIT; 07738000
+ LAB: LABELR; GO TO AGAIN; 07739000
+ LREAD: READSTMT; GO TO EXIT; 07740000
+ LWRITE: WRITESTMT; GO TO EXIT; 07741000
+ LSPACE: SPACESTMT; GO TO EXIT; 07742000
+ LCLOSE: CLOSESTMT; GO TO EXIT; 07743000
+ LLOCK: LOCKSTMT; GO TO EXIT; 07744000
+ LRWND: RWNDSTMT; GO TO EXIT; 07745000
+ LDBL: DBLSTMT; GO TO EXIT; 07746000
+ LFOR: FORSTMT; GO TO EXIT; 07747000
+ LWHILE: WHILESTMT; GO TO EXIT; 07748000
+ LDO: DOSTMT; GO TO EXIT; 07749000
+ LFILL: FILLSTMT; GO TO EXIT; 07750000
+ LIF: IFSTMT; GO TO EXIT; 07751000
+ LGO: GOSTMT; GO TO EXIT; 07752000
+ LRELSE: RELSESTMT; GO TO EXIT; 07753000
+ LBEG: IF STEPI = DECLARATORS 07754000
THEN BEGIN I ~ I-1; BLOCK(FALSE) END 07755000
ELSE COMPOUNDTAIL; 07756000
-EXIT: END STMT; 07757000
+ EXIT: END STMT; 07757000
PROCEDURE CMPLXSTMT; FORWARD ; 07777777
PROCEDURE UNKNOWNSTMT; 07800000
BEGIN LABEL XXX,E; 07801000
@@ -6242,9 +6246,9 @@ PROCEDURE CMPLXSTMT; FORWARD ; 07777777
IF Q = "4WAIT0" THEN 07824000
BEGIN N ~ 1; C ~ 2 END ELSE 07825000
IF Q = "4CASE0" THEN BEGIN CASESTMT; GO TO XXX END ELSE 07825500
- IF Q = "4SORT0" THEN BEGIN SORTSTMT; GO XXX END ELSE 07826000
- IF Q = "5MERGE" THEN BEGIN MERGESTMT; GO XXX END ELSE 07827000
- IF Q = "6SEARC" THEN 07828000
+ IF Q="4SORT0" THEN BEGIN SORTSTMT; GO XXX END ELSE 07826000
+ IF Q="5MERGE" THEN BEGIN MERGESTMT; GO XXX END ELSE 07827000
+ IF Q="6SEARC" THEN 07828000
BEGIN IF STEPI!LEFTPAREN THEN 07829000
BEGIN ERR(105); GO TO XXX END; 07830000
IF STEPI=FILEID OR ELCLASS=SUPERFILEID THEN 07831000
@@ -6288,24 +6292,26 @@ PROCEDURE CMPLXSTMT; FORWARD ; 07777777
GO TO XXX 07859090
END ELSE 07859100
$ SET OMIT = NOT TSPOL 07859900
- $ POP OMIT % [NOT IN ORIGINAL LISTING] 07899000
- BEGIN ERROR(100); GO TO XXX END; 07900000
- IF STEPI ! LEFTPAREN THEN 07901000
- BEGIN ERR(105); GO TO XXX END; 07902000
- STEPIT; AEXP; 07903000
- FOR J ~ 1 STEP 1 UNTIL N DO 07904000
- BEGIN IF ELCLASS ! COMMA THEN 07905000
- E: BEGIN ERR(164); GO TO XXX END; 07906000
- STEPIT; AEXP; 07907000
- END; 07908000
- IF ELCLASS ! RTPAREN THEN 07909000
- BEGIN ERR(104); GO TO XXX END; 07910000
- EMITL(C); EMITO(COM); 07911000
- FOR J ~ 0 STEP 1 UNTIL N DO EMITO(DEL); 07912000
- STEPIT; 07913000
+ IF Q="@COMMU" THEN % [NOT IN ORIGINAL LISTING]07860000
+ BEGIN PANA; EMITO(COM); GO XXX END ELSE % [NOT IN LISTING]07861000
+ $ POP OMIT % [NOT IN ORIGINAL LISTING]07862000
+ BEGIN ERROR(100); GO TO XXX END; 07900000
+ IF STEPI ! LEFTPAREN THEN 07901000
+ BEGIN ERR(105); GO TO XXX END; 07902000
+ STEPIT; AEXP; 07903000
+ FOR J ~ 1 STEP 1 UNTIL N DO 07904000
+ BEGIN IF ELCLASS ! COMMA THEN 07905000
+ E: BEGIN ERR(164); GO TO XXX END; 07906000
+ STEPIT; AEXP; 07907000
+ END; 07908000
+ IF ELCLASS ! RTPAREN THEN 07909000
+ BEGIN ERR(104);GO TO XXX END; 07910000
+ EMITL(C); EMITO(COM); 07911000
+ FOR J ~ 0 STEP 1 UNTIL N DO EMITO(DEL); 07912000
+ STEPIT; 07913000
XXX: END; 07914000
PROCEDURE FAULTSTMT; COMMENT THIS IS WHAT HAPPENS FOR THE"~" 07920000
- KIND OF STATEMENT. FOR THE RUN-TIME ERROR MESS; 07921000
+ KIND OF STATEMENT, FOR THE RUN-TIME ERROR MESS; 07921000
BEGIN REAL ELBW,STR; DEFINE ADRES=ELBW.ADDRESS#; 07922000
CHECKER(ELBW~ELBAT[I]); STR~IF FAULTOG THEN SND ELSE STD; 07923000
FAULTOG ~ BOOLEAN(1) OR FAULTOG; COMMENT TELLS DEXP TO MESS 07923100
@@ -6341,11 +6347,11 @@ PROCEDURE KLUDGE(T); VALUE T; INTEGER T; 07930000
END ELSE STEPIT ELSE STEPIT;% WALTZ ON BY... 07952000
EMITV(GNAT(SUPERMOVER));% BET YOU THOUGHT I"D NEVER DO IT 07953000
EXIT: END THIS HAIRY KLUDGE;% 07954000
- COMMENT FORSTMT IS RESPONSIBLE FOR THE COMPILATION OF FOR STATEMENTS. 08000000
+ COMMENT FORSTMT IS REPONSIBLE FOR THE COMPILATION OF FOR STATEMENTS. 08000000
IF THE FOR STATEMENT HAS A SINGLE STEP-UNTIL ELEMENT SUCH 08001000
THAT THE INITIAL VALUE, THE STEP AND THE FINAL VALUE ARE 08002000
ALL OF THE FORM V,+V, OR -V WHERE V IS A VARIABLE OR A 08003000
- CONSTANT, THEN THE CODE TAKES ON MORE EFFICIENT FORM. 08004000
+ CONSTANT, THEN THE CODE TAKES ON A MORE EFFICIENT FORM. 08004000
IN OTHER CASES THE CODE IS SOMEWHAT LESS EFFICIENT, SINCE 08005000
THE BODY OF THE FOR STATEMENT BECOMES A SUBROUTINE. THE 08006000
STEP ALSO BECOMES A SUBROUTINE IF IT IS NOT SIMPLE; 08007000
@@ -6392,7 +6398,7 @@ PROCEDURE KLUDGE(T); VALUE T; INTEGER T; 07930000
ELSE BEGIN 08036000
B ~ FALSE; A ~ ELBAT[I]; 08037000
SIMPLE ~ REALID { ELCLASS AND ELCLASS { INTID END; 08038000
- END SIMPLE; 08038100
+ END SIMPLE; 08039000
COMMENT TEST EMITS THE STEP-UNTIL ELEMENT TEST; 08040000
PROCEDURE TEST; 08041000
BEGIN 08042000
@@ -6651,7 +6657,7 @@ PROCEDURE HANDLETHETAILENDOFAREADORSPACESTATEMENT; 08233000
EMITTIME=BEGIN EMITN(2); EMITO(259); AEXP ; 08289020
EMITPAIR(JUNK,ISN); EMITO(965) END#;08289030
PROCEDURE READSTMT; 08290000
- BEGIN COMMENT READSTMT GENERATES CODE TO CALL INTERPTI)WHICH IS08291000
+ BEGIN COMMENT READSTMT GENERATES CODE TO CALL INTERPTI(WHICH IS08291000
SHORT FOR INTERPRET INPUT) AN INTRINSIC PROCEDURE ON THE 08292000
DRUM, PASSING TO IT PARAMETERS DETERMINED BY THE FORMAT OF08293000
THE READ OR SPACE STATEMENT. 08294000
@@ -6679,7 +6685,7 @@ PROCEDURE READSTMT; 08290000
VALUE IS ONE MORE THAN THE NUMBER OF RECORDS TO BE 08316000
PROCESSED. 08317000
END OF FILE LABEL IS A DATA DESCRIPTOR POINTING TO A LABEL08318000
- DESCRIPTOR FOR THE END OF FILE JUMPS. 08319000
+ DESCRIPTOR FOR END OF FILE JUMPS. 08319000
PARITY LABEL IS A DATA DESCRIPTOR POINTING TO A LABEL 08320000
DESCRIPTOR FOR PARITY CONDITION JUMPS. 08321000
+ OR - N IS SIMILAR TO ACTION TYPE. IT CONTAINS THE EXACT08322000
@@ -6748,143 +6754,143 @@ PROCEDURE READSTMT; 08290000
SECOND PARAMETER; 08385000
LABEL READXFORM; 08385100
INTEGER LISTADDRESS; COMMENT TEMP TO HOLD LIST ADD DESC; 08385500
- BOOLEAN SEEKTOG,LOCKTOG,GRABTOG;% 08385600
- BOOLEAN MAYI; COMMENT TRUE IF "FILE" IS ARRAY ROW; 08385700
- INTEGER HOLD; COMMENT L MAY GET CUT BACK TO HERE; 08385800
- IF STEPI = LEFTPAREN 08386000
- THEN REVERSETOG~SEEKTOG~FALSE 08387000
- ELSE BEGIN COMMENT THIS HAD BETTER SAY REVERSE; 08388000
- REVERSETOG~ACCUM[1]="7REVER"; 08389000
- LOCKTOG~ELCLASS=LOCKV; 08390000
- SEEKTOG~ACCUM[1]="4SEEK0"; 08390500
- IF REVERSETOG OR LOCKTOG OR SEEKTOG THEN STEPIT 08391000
- ELSE BEGIN ERR(420); 08392000
- GO TO EXIT; 08393000
- END; 08394000
- IF CHECK(LEFTPAREN,421) 08395000
- THEN GO TO EXIT; 08396000
- COMMENT ERROR 421 MEANS MISSING LEFT 08397000
- PARENTHESIS IN READ REVERSE STATEMENT; 08398000
- END; 08399000
- EMITO(MKS); 08400000
- IF STEPI } BOOARRAYID AND ELCLASS { INTARRAYID THEN 08401000
- BEGIN VARIABLE(FL); 08401020
- IF TABLE(I-2) ! FACTOP THEN 08401030
- BEGIN ERR(422); GO TO EXIT END; 08401040
- MAYI ~ TRUE; HOLD ~ L; 08401045
- EMIT(11); EMIT(4); EMITO(280); 08401050
- EMITPAIR(GNAT(POWERSOFTEN),LOD); 08401060
- EMITO(XCH); EMITL(0); EMITL(1); 08401070
- END ELSE 08401080
- BEGIN 08401090
- EMITPAIR(GNAT(POWERSOFTEN),LOD); 08402000
- IF NOT RANGE(FILEID,SUPERFILEID) 08403000
- THEN BEGIN COMMENT ERROR 422 MEANS MISSING FILE IN READ 08404000
- STATEMENT; 08405000
- ERR(422); GO TO EXIT; 08406000
- END; 08407000
- PASSFILE; 08408000
- IF ELCLASS = LFTBRKET 08409000
- THEN BEGIN %%% COMPILES CODE FOR [NS],[NS,*],[NS,], 08410000
- %%% [*],[*,*],[*,],[],[,*], 08410010
- %%% AND [,]. THE FIRST (LEFTMOST) 08410020
- %%% IS THE READSEEKDISTADDRESS, RESIDING 08410030
- %%% IN THE C-FIELD OF THE DSKADDR. THE SECOND 08411000
- %%% IS THE WAIT-TIME, RESIDING IN THE 08411010
- %%% F-FIELD OF THE DSKADDR, AND ALSO TURNING-ON 08411020
- %%% THE EXP-SIGN BIT OF DSKADDR,X"S ARE EMPTIES 08411030
- %%% IN THE ABOVE, NS = NO OR STOP. 08411040
- STEPIT; %%% STEP OVER [, AND POINT AT NEXT ITEM. 08412000
- IF RR1~IF ACCUM[1]="2NO000" THEN 1 ELSE 08412010
- IF ACCUM[1]="4STOP0" THEN 2 ELSE 08412020
- 0 ! 0 THEN %%% HAVE [NS 08412030
- IF STEPI=COMMA THEN %%% HAVE [NS, 08412040
- IF STEPI=FACTOP THEN %%% HAVE [NS,* 08412050
- BEGIN 08412060
- IF RR1=1 THEN EMITNO(1) 08412070
- ELSE BEGIN EMITL(1); EMITL(2) END ; 08412080
- STEPIT ; 08412090
- END 08413000
- ELSE 08413010
- IF ACCUM[1]="4LOCK0" THEN 08413012
- BEGIN %%% [NS,LOCK 08413014
- EMITL(1); EMITD(47,4,1); 08413016
- STEPIT; 08413018
- END ELSE 08413020
- BEGIN %%% HAVE [NS,AEXP 08413022
- IF RR1=2 THEN EMITL(1) ; 08413030
- EMITTIME ; 08413040
- IF RR1=2 THEN 08413050
- BEGIN EMITO(LOR); EMITL(2) END 08413060
- ELSE EMITL(1) ; 08413080
- END 08413090
- ELSE IF RR1=1 THEN EMITNO(1) %%% ONLY HAVE [NS 08413100
- ELSE BEGIN EMITL(1); EMITL(2) END 08413110
- ELSE IF ELCLASS=FACTOP THEN %%% HAVE [* 08413120
- IF STEPI=COMMA THEN %%% HAVE [*, 08413130
- IF STEPI=FACTOP THEN %%% HAVE [*,* 08414000
- BEGIN EMITNO(2); STEPIT END 08414010
- ELSE IF ACCUM[1]="4LOCK0" THEN 08414012
- BEGIN %%% [*,LOCK 08414014
- EMITL(1); EMITD(47,4,1); 08414016
- STEPIT; 08414018
- END ELSE 08414020
- BEGIN EMITTIME; EMITL(2); END % [*,A 08414022
- ELSE EMITNO(2) %%% HAVE ONLY [* 08414030
- ELSE BEGIN %%% HAVE [AEXP 08415000
- AEXP;EMITO(SSP);EMITL(1);EMITO(ADD); 08415010
- IF SEEKTOG THEN EMITO(CHS) ; 08415020
- EMITPAIR(JUNK,ISN) ; 08415030
- IF ELCLASS=COMMA THEN %%% HAVE [AEXP, 08416000
- IF STEPI=FACTOP THEN STEPIT %%%[AEXP,* 08416010
- ELSE IF ACCUM[1]="4LOCK0" THEN 08416012
- BEGIN %%% [AEXP,LOCK 08416014
- EMITL(1); EMITD(47,4,1); 08416016
- STEPIT; 08416018
- END ELSE 08416020
- BEGIN EMITTIME; EMITO(LOR) END ; 08416022
- EMITL(2) ; %%% ABOVE ELSE WAS [AEXP,AEXP 08416030
- END ; 08417000
- IF CHECK(RTBRKET,424) THEN GO EXIT ELSE STEPIT ; 08417010
- END 08418000
- ELSE IF ELCLASS=LEFTPAREN THEN 08418100
- BEGIN STEPIT; AEXP; IF ELCLASS=COMMA THEN 08418200
- IF STEPI!FACTOP THEN% 08418250
- BEGIN AEXP; EMITPAIR(JUNK,ISN) END ELSE% 08418300
- BEGIN EMITL(1); GRABTOG~TRUE; STEPIT END ELSE 08418350
- EMITPAIR(0,LNG); 08418400
- EMITD(33,33,15); 08418500
- EMITO(IF LOCKTOG THEN SSN ELSE SSP); 08418600
- EMITL(REAL(SEEKTOG)); EMITD(33,18,15); 08418650
- IF CHECK(RTPAREN,104) THEN GO EXIT; 08418700
- EMITL(REAL(GRABTOG)+2); STEPIT;% 08418800
- END 08418900
- ELSE BEGIN EMITL(0); EMITL(2); END; 08419000
- IF REVERSETOG 08420000
- THEN EMITO(CHS); 08421000
- END; 08421500
- IF ELCLASS = RTPAREN 08422000
- THEN BEGIN COMMENT NO FORMAT,NO LIST CASE; 08423000
- EMITL(0); EMITL(0); EMITL(0); 08424000
- GOGOGO ~ NOT MAYI;% 08424100
- GO CHKACTIONLABELS; 08425000
- END; 08426000
- IF CHECK(COMMA,424) 08427000
- THEN GO TO EXIT; 08428000
- COMMENT ERROR 424 MEANS IMPROPER FILE DELIMITER IN READ 08429000
- STATEMENT; 08430000
- IF STEPI = FACTOP 08431000
- THEN BEGIN COMMENT *,LIST CASE; 08432000
- EMITL(0); EMITL(0); GO PASSLIST; 08433000
- END; 08434000
- IF ELCLASS = MULOP 08435000
- THEN BEGIN COMMENT FREE FIELD FORMAT CASE; 08436000
- IF STEPI=MULOP THEN EMITL(2) ELSE 08437000
- BEGIN EMITL(1); I~I-1; END ; 08437050
- EMITL(0); GO TO PASSLIST ; 08437075
- END; 08438000
- IF RANGE(FRMTID,SUPERFRMTID) 08439000
- THEN BEGIN COMMENT THE SECOND PARAMETER IS A FORMAT; 08440000
+ BOOLEAN SEEKTOG,LOCKTOG,GRABTOG;% 08385600
+ BOOLEAN MAYI; COMMENT TRUE IF "FILE" IS ARRAY ROW; 08385700
+ INTEGER HOLD; COMMENT L MAY GET CUT BACK TO HERE; 08385800
+ IF STEPI = LEFTPAREN 08386000
+ THEN REVERSETOG~SEEKTOG~FALSE 08387000
+ ELSE BEGIN COMMENT THIS HAD BETTER SAY REVERSE; 08388000
+ REVERSETOG~ACCUM[1]="7REVER"; 08389000
+ LOCKTOG~ELCLASS=LOCKV; 08390000
+ SEEKTOG~ACCUM[1]="4SEEK0"; 08390500
+ IF REVERSETOG OR LOCKTOG OR SEEKTOG THEN STEPIT 08391000
+ ELSE BEGIN ERR(420); 08392000
+ GO TO EXIT; 08393000
+ END; 08394000
+ IF CHECK(LEFTPAREN,421) 08395000
+ THEN GO TO EXIT; 08396000
+ COMMENT ERROR 421 MEANS MISSING LEFT 08397000
+ PARENTHESIS IN READ REVERSE STATEMENT; 08398000
+ END; 08399000
+ EMITO(MKS); 08400000
+ IF STEPI } BOOARRAYID AND ELCLASS { INTARRAYID THEN 08401000
+ BEGIN VARIABLE(FL); 08401020
+ IF TABLE(I-2) ! FACTOP THEN 08401030
+ BEGIN ERR(422); GO TO EXIT END; 08401040
+ MAYI ~ TRUE; HOLD ~ L; 08401045
+ EMIT(11); EMIT(4); EMITO(280); 08401050
+ EMITPAIR(GNAT(POWERSOFTEN),LOD); 08401060
+ EMITO(XCH); EMITL(0); EMITL(1); 08401070
+ END ELSE 08401080
+ BEGIN 08401090
+ EMITPAIR(GNAT(POWERSOFTEN),LOD); 08402000
+ IF NOT RANGE(FILEID,SUPERFILEID) 08403000
+ THEN BEGIN COMMENT ERROR 422 MEANS MISSING FILE IN READ 08404000
+ STATEMENT; 08405000
+ ERR(422); GO TO EXIT; 08406000
+ END; 08407000
+ PASSFILE; 08408000
+ IF ELCLASS = LFTBRKET 08409000
+ THEN BEGIN %%% COMPILES CODE FOR [NS],[NS,*],[NS,], 08410000
+ %%% [*],[*,*],[*,],[],[,*], 08410010
+ %%% AND [,]. THE FIRST (LEFTMOST) 08410020
+ %%% IS THE READSEEKDISTADDRESS, RESIDING08410030
+ %%% IN THE C-FIELD OF THE DSKADDR. THE SECOND 08411000
+ %%% IS THE WAIT-TIME, RESIDING IN THE 08411010
+ %%% F-FIELD OF THE DSKADDR, AND ALSO TURNING-ON08411020
+ %%% THE EXP-SIGN BIT OF DSKADDR.X"S ARE EMPTIES08411030
+ %%% IN THE ABOVE, NS = NO OR STOP. 08411040
+ STEPIT; %%% STEP OVER [, AND POINT AT NEXT ITEM. 08412000
+ IF RR1~IF ACCUM[1]="2NO000" THEN 1 ELSE 08412010
+ IF ACCUM[1]="4STOP0" THEN 2 ELSE 08412020
+ 0 ! 0 THEN %%% HAVE [NS 08412030
+ IF STEPI=COMMA THEN %%% HAVE [NS, 08412040
+ IF STEPI=FACTOP THEN %%% HAVE [NS,* 08412050
+ BEGIN 08412060
+ IF RR1=1 THEN EMITNO(1) 08412070
+ ELSE BEGIN EMITL(1); EMITL(2) END ; 08412080
+ STEPIT ; 08412090
+ END 08413000
+ ELSE 08413010
+ IF ACCUM[1]="4LOCK0" THEN 08413012
+ BEGIN %%% [NS,LOCK 08413014
+ EMITL(1); EMITD(47,4,1); 08413016
+ STEPIT; 08413018
+ END ELSE 08413020
+ BEGIN %%% HAVE [NS,AEXP 08413022
+ IF RR1=2 THEN EMITL(1) ; 08413030
+ EMITTIME ; 08413040
+ IF RR1=2 THEN 08413050
+ BEGIN EMITO(LOR); EMITL(2) END 08413060
+ ELSE EMITL(1) ; 08413080
+ END 08413090
+ ELSE IF RR1=1 THEN EMITNO(1) %%% ONLY HAVE [NS 08413100
+ ELSE BEGIN EMITL(1); EMITL(2) END 08413110
+ ELSE IF ELCLASS=FACTOP THEN %%% HAVE [* 08413120
+ IF STEPI=COMMA THEN %%% HAVE [*, 08413130
+ IF STEPI=FACTOP THEN %%% HAVE [*,* 08414000
+ BEGIN EMITNO(2); STEPIT END 08414010
+ ELSE IF ACCUM[1]="4LOCK0" THEN 08414012
+ BEGIN %%% [*,LOCK 08414014
+ EMITL(1); EMITD(47,4,1); 08414016
+ STEPIT; 08414018
+ END ELSE 08414020
+ BEGIN EMITTIME; EMITL(2); END % [*,A 08414022
+ ELSE EMITNO(2) %%% HAVE ONLY [* 08414030
+ ELSE BEGIN %%% HAVE [AEXP 08415000
+ AEXP;EMITO(SSP);EMITL(1);EMITO(ADD); 08415010
+ IF SEEKTOG THEN EMITO(CHS) ; 08415020
+ EMITPAIR(JUNK,ISN) ; 08415030
+ IF ELCLASS=COMMA THEN %%% HAVE [AEXP, 08416000
+ IF STEPI=FACTOP THEN STEPIT %%%[AEXP,*08416010
+ ELSE IF ACCUM[1]="4LOCK0" THEN 08416012
+ BEGIN %%% [AEXP,LOCK 08416014
+ EMITL(1); EMITD(47,4,1); 08416016
+ STEPIT; 08416018
+ END ELSE 08416020
+ BEGIN EMITTIME; EMITO(LOR) END ; 08416022
+ EMITL(2) ; %%% ABOVE ELSE WAS [AEXP,AEXP 08416030
+ END ; 08417000
+ IF CHECK(RTBRKET,424) THEN GO EXIT ELSE STEPIT ;08417010
+ END 08418000
+ ELSE IF ELCLASS=LEFTPAREN THEN 08418100
+ BEGIN STEPIT; AEXP; IF ELCLASS=COMMA THEN 08418200
+ IF STEPI!FACTOP THEN% 08418250
+ BEGIN AEXP; EMITPAIR(JUNK,ISN) END ELSE% 08418300
+ BEGIN EMITL(1); GRABTOG~TRUE; STEPIT END ELSE 08418350
+ EMITPAIR(0,LNG); 08418400
+ EMITD(33,33,15); 08418500
+ EMITO(IF LOCKTOG THEN SSN ELSE SSP); 08418600
+ EMITL(REAL(SEEKTOG)); EMITD(33,18,15); 08418650
+ IF CHECK(RTPAREN,104) THEN GO EXIT; 08418700
+ EMITL(REAL(GRABTOG)+2); STEPIT;% 08418800
+ END 08418900
+ ELSE BEGIN EMITL(0); EMITL(2); END; 08419000
+ IF REVERSETOG 08420000
+ THEN EMITO(CHS); 08421000
+ END; 08421500
+ IF ELCLASS = RTPAREN 08422000
+ THEN BEGIN COMMENT NO FORMAT,NO LIST CASE; 08423000
+ EMITL(0); EMITL(0); EMITL(0); 08424000
+ GOGOGO ~ NOT MAYI;% 08424100
+ GO CHKACTIONLABELS; 08425000
+ END; 08426000
+ IF CHECK(COMMA,424) 08427000
+ THEN GO TO EXIT; 08428000
+ COMMENT ERROR 424 MEANS IMPROPER FILE DELIMITER IN READ 08429000
+ STATEMENT; 08430000
+ IF STEPI = FACTOP 08431000
+ THEN BEGIN COMMENT *,LIST CASE; 08432000
+ EMITL(0); EMITL(0); GO PASSLIST; 08433000
+ END; 08434000
+ IF ELCLASS = MULOP 08435000
+ THEN BEGIN COMMENT FREE FIELD FORMAT CASE; 08436000
+ IF STEPI=MULOP THEN EMITL(2) ELSE 08437000
+ BEGIN EMITL(1); I~I-1; END ; 08437050
+ EMITL(0); GO TO PASSLIST ; 08437075
+ END; 08438000
+ IF RANGE(FRMTID,SUPERFRMTID) 08439000
+ THEN BEGIN COMMENT THE SECOND PARAMETER IS A FORMAT; 08440000
PASSFORMAT; 08441000
READXFORM: IF TABLE(I+1) = COMMA 08442000
THEN GO PASSLIST; 08443000
@@ -7017,7 +7023,7 @@ COMMENT FILEATTRIBUTEHANDLER HANDLES FILE ATTRIBUTE STUFF. IT CONSTRUCTS08493200
PASSES N=FP, AND DOES THE SAME AS #3 (ABOVE). 08493410
5. IODEC: 08493420
PASSES N=FIO, AND TELLS FAH THAT A MKS & FILE DESC 08493430
- HAVE ALREADY BEEN EMITTED, THE ATTRIBUTEINDX IS 08493440
+ HAVE ALREADY BEEN EMITTED. THE ATTRIBUTEINDX IS 08493440
DETERMINED BY IODEC, AND IS PASSED VIA GT1. 08493450
END OF COMMENT ; 08493460
INTEGER PROCEDURE FILEATTRIBUTEHANDLER(N); VALUE N; REAL N ; 08493470
@@ -7155,7 +7161,7 @@ PROCEDURE WRITESTMT; 08528000
LABEL CHKSECOND; COMMENT I IS NOW POINTING AT THE COMMA 08573000
SEPARATING THE FIRST AND SECOND 08574000
PARAMETERS; 08575000
- LABEL ONEPARENSH; COMMENT I IS POINT AT THE RIGHT 08576000
+ LABEL ONEPARFNSH; COMMENT I IS POINTING AT THE RIGHT 08576000
PARENTHESIS AT THIS POINT AND I HAVE 08577000
JUST DISCOVERED THAT THIS IS THE ONE 08578000
PARAMETER CASE; 08579000
@@ -7206,7 +7212,7 @@ PROCEDURE WRITESTMT; 08528000
EMITL(0); EMITL(1); 08608000
IF RRB1 08609000
THEN GO CHKSECOND; 08610000
- ONEPARENSH:STEPIT; EMITL(0); EMITL(0); 08611000
+ ONEPARFNSH:STEPIT; EMITL(0); EMITL(0); 08611000
GOGOGO ~ NOT ARC;% 08611100
EMITL(0); GO EMITCALL; 08612000
END; 08613000
@@ -7220,21 +7226,21 @@ PROCEDURE WRITESTMT; 08528000
IF CHECK(LFTBRKET,440) 08614000
THEN GO TO EXIT; 08615000
COMMENT ERROR 440 MEANS IMPROPER DELIMITER FOR FIRST 08616000
- PARAMETER IN A WRITE STATEMENT; 08617000
+ PARARAMETER IN A WRITE STATEMENT; 08617000
STEPIT; 08618000
%%% THE FOLLOWING CODE COMPILES CODE FOR [DPN],[DPN,*], 08619000
%%% [DPN,],[*],[*,*],[*,],[],[,*] 08619010
- %%% AND [,], WHERE DPN IN STOP, DBL, PAGE, OR 08619020
+ %%% AND [,], WHERE DPN IS STOP, DBL, PAGE, OR 08619020
%%% NO. THE FIRST (LEFTMOST) IS THE CHANNELSKIP, 08619030
%%% RIGHT JUSTIFIED TO ITS C-FIELD. THE SECOND IS 08619040
%%% THE WAIT-TIME, RESIDING IN THE F-FIELD OF CHANNELSKIP,08619050
- %%% AND ALSO TURNING ON THE EXP-SIGN BIT OF CHANNELSKIP, 08619060
+ %%% AND ALSO TURNING ON THE EXP-SIGN BIT OF CHANNELSKIP. 08619060
%%% *"S ARE CONSIDERED TO BE EMPTIES. 08619070
IF ACCUM1~IF ACCUM1~ACCUM[1]="3DBL00" THEN 2 ELSE 08619080
IF ACCUM1="4PAGE0" THEN 4 ELSE 08619090
IF ACCUM1="4STOP0" THEN 16 ELSE 08619095
IF ACCUM1="2NO000" THEN 8 ELSE 0!0 THEN %%% [DPN08620000
- IF STEPI=COMMA THEN %%% HAVE [DPN, 08620010
+ IF STEPI=COMMA THEN %%% HAVE [DPN, 08620010
IF STEPI=FACTOP THEN %%% HAVE [DPN,* 08620020
BEGIN EMITNO(ACCUM1); STEPIT END 08621000
ELSE IF ACCUM[1]="6UNLOC" THEN %%% [NS,UNLOCK 08621002
@@ -7263,7 +7269,7 @@ PROCEDURE WRITESTMT; 08528000
COMMENT ERROR 441 MEANS MISSING RIGHT BRACKET IN CARRIAGE08635000
CONTROL PART; 08636000
CHKRTPAREN:IF STEPI = RTPAREN 08637000
- THEN GO TO ONEPARENSH; 08638000
+ THEN GO TO ONEPARFNSH; 08638000
IF CHECK(COMMA,442) 08639000
THEN GO TO EXIT; 08640000
COMMENT ERROR 442 MEANS ILLEGAL CARRIAGE CONTROL 08641000
@@ -7339,7 +7345,7 @@ WRITXFORM: IF STEPI = RTPAREN 08647000
IF STEPI ! LISTID AND ELCLASS ! SUPERLISTID 08687000
THEN BEGIN RR1~LISTGEN; GO TO EMITCALL END; 08688000
CHECKER(ELBAT[I]); 08688500
- IF ELCLASS = SUPERLISTID THEN 08689000
+ IF ELCLASS = SUPERLISTID THEN 08689000
BEGIN COMMENT SUBSCRIPTED SWITCH LIST ID; 08690000
LISTADDRESS~ELBAT[I].ADDRESS; 08692000
BANA; 08693000
@@ -7441,7 +7447,7 @@ PROCEDURE CLOSESTMT; 08756000
::=CLOSE(,SAVE)/ 08761000
- - - - - - - - - - - - - - 08762000
(3,0,FILE,4) 08763000
- ** ** ** ** ** ** ** ** ** ** ** ** ** ** 08764000
+ ** ** ** ** ** ** ** ** ** ** ** ** ** ** 08764000
CLOSE(,RELEASE)/ 08765000
- - - - - - - - - - - - - - 08766000
(7,0,FILE,4) 08767000
@@ -7451,16 +7457,16 @@ PROCEDURE CLOSESTMT; 08756000
(1,0,FILE,4) 08771000
::= CLOSE(, PURGE) 08771100
-- -- -- -- -- --- -- -- -- -- -- -- 08771200
- (4,0,FILE,4) 08771300
- ** ** ** ** ** ** *** ** ** ** ** ** ; 08771400
- LABEL EXIT; COMMENT THE LABEL EXIT APPEARS AFTER THE LAST 08772000
- EXECUTABLE STATEMENT IN THE CLOSESTMT ROUTINE; 08773000
- DEFINE THISL = RR1#; COMMENT THISL IS A TEMP CELL 08774000
- FOR THE CURRENT LREGISTER; 08775000
- DEFINE LTEMP = RR2#; COMMENT LTEMP CONTAINS THE 08776000
- L REGISTER SETTING FOR THE 08777000
- SAVE OR RELEASE LITERAL THAT 08778000
- GETS PASSED TO KEN MEYERS; 08779000
+ (4,0,FILE,4) 08771300
+ ** ** ** ** ** ** *** ** ** ** ** ** ; 08771400
+ LABEL EXIT; COMMENT THE LABEL EXIT APPEARS AFTER THE LAST08772000
+ EXECUTABLE STATEMENT IN THE CLOSESTMT ROUTINE;08773000
+ DEFINE THISL = RR1#; COMMENT THISL IS A TEMP CELL 08774000
+ FOR THE CURRENT LREGISTER; 08775000
+ DEFINE LTEMP = RR2#; COMMENT LTEMP CONTAINS THE 08776000
+ L REGISTER SETTING FOR THE 08777000
+ SAVE OR RELEASE LITERAL THAT 08778000
+ GETS PASSED TO KEN MEYERS; 08779000
LABEL EMITREST; COMMENT I IS POINTING AT THE UNIT 08780000
DISPOTION PART AND CODE FOR THE LAST THREE08781000
PARAMETERS TO THE FILE CONTROL ROUTINE 08782000
@@ -7489,11 +7495,11 @@ PROCEDURE CLOSESTMT; 08756000
EMITL(7); GO EMITREST; 08803000
END; 08804000
IF ELCLASS = FACTOP 08805000
- THEN BEGIN COMMENT ASTERISK UNTI DISPOSITION PART CASE; 08806000
+ THEN BEGIN COMMENT ASTERISK UNIT DISPOSITION PART CASE; 08806000
EMITL(1); GO EMITREST; 08807000
END; 08808000
IF ELCLASS = DECLARATORS AND ELBAT[I].ADDRESS = SAVEV 08809000
- THEN BEGIN COMMENT SAVE UNIT DISPOSITION PART CASE; 08810000
+ THEN BEGIN COMMENT SAVE UNIT DISPOSTION PART CASE; 08810000
EMITL(3); GO EMITREST; 08811000
END; 08812000
IF ACCUM[1] ="5PURGE" THEN BEGIN COMMENT FILE PURGE; 08812100
@@ -7523,7 +7529,7 @@ PROCEDURE RWNDSTMT; 08825000
EXECUTABLE STATEMENT IN THE REWIND ROUTINE; 08834000
DEFINE THISL = RR1#; COMMENT THISL IS A TEMP CELL 08835000
FOR THE CURRENT L REGISTER; 08836000
- DEFINE LTEMP = RR2#; COMMENT LTEMP SETTING FOR THE08837000
+ DEFINE LTEMP = RR2#; COMMENT LTEMP CONTAINS THE 08837000
L REGISTER SETTING FOR THE 08838000
SAVE OR RELEASE LITERAL THAT 08839000
GETS PASSED TO KEN MEYERS; 08840000
@@ -7574,12 +7580,12 @@ PROCEDURE EXPLICITFORMAT; 08860050
... 2,3,4,5,6,7 NUMBER OF FILES TO MERGE, OR 08870000
0,3,4,5 ... NUMBER OF SORTTAPES TO USE 08871000
TP5 FL7 SCRATCH TAPES FOR SORT, 08872000
- TP4 FL6 OR MERGE FILES, POINTERS TO 08873000
+ TP4 FL6 OR MERGE FILES. POINTERS TO 08873000
TP3 FL5 TOP I/O DESCRIPTORS, OR ZERO 08874000
TP2 FL4 IF NOT USED. 08875000
TP1 FL3 08876000
0 FL2 DISK FILES FOR SORT 08877000
- DK0 FL1 08878000
+ DKO FL1 08878000
0/1 0 TRUE IF INPUT PROCEDURE 08879000
0/1 0/1 TRUE IF OUTPUT PROCEDURE 08880000
INF 0 POINTER TO I/O DESC FOR INPUT 08881000
@@ -7725,9 +7731,9 @@ PROCEDURE EXPLICITFORMAT; 08860050
BEGIN 09004000
STREAM PROCEDURE MDESC(WD,TOLOC);VALUE WD; 09005000
BEGIN DI~LOC WD; DS~ SET;SI~ LOC WD; DI~TOLOC;DS~WDS END; 09006000
- COMMENT THE FOLLOWING PROCEDURE PRINTS OUT THE PRT, NAME, AND 09007000
- SEGMENT NUMBER OF THE INTRINSIC PROCEDURES USED IN THE 09008000
- OBJECT PROGRAM; 09009000
+COMMENT THE FOLLOWING PROCEDURE PRINTS OUT THE PRT, NAME, AND 09007000
+ SEGMENT NUMBER OF THE INTRINSIC PROCEDURES USED IN THE 09008000
+ OBJECT PROGRAM; 09009000
STREAM PROCEDURE WRTINTRSC(SGNO,ALFA,PRT,FIL); 09010000
VALUE SGNO,PRT; 09011000
BEGIN LOCAL COUNT,DEST; 09012000
@@ -7775,7 +7781,7 @@ FILL OPTIONS[*] WITH "5CHECK",0, % 0, 1 09027002
"4XREF0",0, % 52, 53 09027054
"7INCLU",0, % 54,55 %107-09027056
"8CODEF",0, % 56,57 %106-09027058
-0; 09027100
+ 0; 09027100
LISTOG:=LISTER:=BOOLEAN(1-ERRORCOUNT.[46:1]); 09028000
OPTIONS[13] := REAL(LISTER); 09028005
COMMENT LISTOG IS NOT SET BY DEFAULT ON TIMESHARING; 09028010
@@ -7982,7 +7988,7 @@ COMMENT THIS IS THE FILL FOR THE SECOND ROW OF INFO: 09081000
OCT1360001000000000, COMMENT |; OCT0000000000000000, 09206000
OCT0000000000040000, COMMENT $; OCT1370000000000000, COMMENT *; 09207000
OCT1350000600000000, COMMENT -; OCT1240000000160000, COMMENT ); 09208000
- OCT0620000000000000, COMMENT .,; OCT1340010250003470, COMMENT {; 09209000
+ OCT0620000000000000, COMMENT .,; OCT1340010250003470, COMMENT .{; 09209000
OCT0000000000000000, OCT1360002000000000, COMMENT /; 09210000
OCT1170000000000000, COMMENT ,; OCT0000000000020000, COMMENT %; 09211000
OCT1340001050002561, COMMENT !; OCT1340011050002460, COMMENT =; 09212000
@@ -8040,9 +8046,9 @@ FILL INFO[2,*] WITH OCT0030000120000000, "2LB000", % THESE ENTRIES ARE 09214105
OCT0130000000040000, "5GAMMA", OCT0000000012600000,%654 09214415
OCT0130000000040000, "5LNGAM", OCT0000000012700000,%657 09214420
OCT0130000000040000, "3TAN00", OCT0000000011100007,%660 09214425
- OCT0130000260000000, "4FAST0", %663 09214426
- OCT0130000270000000, "4SLOW0", %665 09214427
- OCT0130000240000000, "7PROTE", "CT000000", %667 09214428
+ OCT0030000260000000, "4FAST0", %663 09214426
+ OCT0030000270000000, "4SLOW0", %665 09214427
+ OCT0030000240000000, "7PROTE", "CT000000", %667 09214428
OCT2000000000004050, COMMENT POWERS OF TEN ; %670 09214430
OCT0430000250000000, "5FIELD", %671 09214432
0, ">SORT ", "TEMPORAR", "Y0000000", % SORTA %673 09214435
@@ -8110,7 +8116,7 @@ DO PUT(TAKE(NEXTINFO)&STACKHEAD[GT2~TAKE(NEXTINFO+1)MOD 125][35:35:13], 09214520
"2# ", 09251105
"2# ", 09251106
"0# " 09251107
- ; 09251200
+; 09251200
NEXTTEXT~26 ; 09251300
DO UNTIL STEPI = BEGINV; 09252000
BUILDLINE.[45:1]~FALSE; 09252050
@@ -8120,7 +8126,7 @@ NEXTTEXT~26 ; 09251300
LITC 0 --- THIS PUTS A BOTTOM ON THE STACK 09255000
AND IS ALSO USED AS A ONE SYLLABLE 09256000
CHARACTER MODE PROGRAM TO CAUSE AN EXIT. 09257000
- ITS PRIMARY FUNCTION IS TO CUT BACK 09258000
+ ITS PRIMARY FUNTION IS TO CUT BACK 09258000
THE STACK AFTER A COMMUNICATE OPERATOR. 09259000
MKS --- THIS SETS THE PROGRAM UP FOR RUNNING 09260000
IN SUBPROGRAM LEVEL.THIS IS TO ALLOW 09261000
@@ -8139,12 +8145,12 @@ NEXTTEXT~26 ; 09251300
GT1 := GETSPACE(TRUE,-5); % SEG.#2 DESCR. 09274000
INSERTCOP:=1; %107-09274100
ERRORTOG~TRUE; BLOCK(FALSE); 09275000
- COMMENT THIS CODE WILL PUT AN EXTRA CARD ON OCRDIMG TAPE 09275100
+ COMMENT THIS CODE WILL PUT AN EXTRA CARD ON 0CRDIMG TAPE 09275100
THUS AVOIDING E.O.F. NO LABEL CONDITION WHEN PATCHING 09275200
THE END. CARD OFF AN INPUT TAPE; 09275250
IF NEWTOG THEN 09275300
BEGIN FILL LIBARRAY[*] WITH "END;END."," ","LAST CAR", 09275350
- "D ON OCR","DING TAP","E ", " "," ", 09275400
+ "D ON 0CR","DING TAP","E ", " "," ", 09275400
" ","99999999"; 09275450
WRITE(NEWTAPE,10,LIBARRAY[*]) 09275500
END; 09275550
@@ -8165,7 +8171,7 @@ NEXTTEXT~26 ; 09251300
PRT AS AN ABSENT DATA DESCRIPTOR.IT MAY BE RECOGNIZED IN 09282000
INFO BECAUSE IT IS MINUS. THE FIRST WORD IN EACH OF THESE 09283000
ENTRIES LOOKS LIKE THE REST OF INFO EXCEPT THAT THE INCR 09284000
- FIELD IS BROKEN INTO 2 PARTS, [33:2] IS USED TO ADD TO THE 09285000
+ FIELD IS BROKEN INTO 2 PARTS. [33:2] IS USED TO ADD TO THE 09285000
INDEX OF CURRENT WORD TO LINK TO NEXT ENTRY.THE REST OF 09286000
THE INCR FIELD IS USED BY IMPFUN. THE ADDITIONAL INFO 09287000
PORTION INDICATES AN INDEX THAT ALLOWS THE MCP TO ASSIGN 09288000
@@ -8263,7 +8269,7 @@ COMMENT ADD IN CORE ESTIMATE FOR SORT; 09361181
IF GTI1 } 32000 THEN GTI1~ 32000; 09361200
COMMENT AT THIS POINT GTI1 HAS THE NEEDED TOTAL CORE REQD; 09361210
COMMENT WRITE OUT FILE PARAMETER BLOCK; 09393000
- GT1~MIN((IDLOC-IDLOCTEMP).[33:15]+1, 128);% AHA 09394000
+ GT1~MIN((IDLOC-IDLOCTEMP).[33:15]+1, 128);% AHA 09394000
MOVE(GT1,IDARRAY[0],EDOC[0,0]); 09395000
ZEROUT(IDARRAY[0],0,30); 09395500
IDARRAY[4]:=MOVEANDBLOCK(EDOC,GT1,0); %106-09396000
@@ -8291,12 +8297,12 @@ COMMENT WRITE DISK SEGMENT ZERO; 09406000
LOCK(NEWTAPE,*); % CLOSE WITH CRUNCH. %119-09407400
IF LISTER OR NOT NOHEADING THEN 09408000
BEGIN FORMAT PAN("NUMBER OF ERRORS DETECTED =",I4,". COMPILAT"09409000
- ,"ION TIME = ",I5," SECONDS."X22,2A4/ 09410000
+ ,"ION TIME =",I5," SECONDS.",X22,2A4/ 09410000
"PRT SIZE =",I4,"; TOTAL SEGMENT SIZE =",I6, 09411000
" WORDS; DISK SIZE =",I4," SEGS; NO. PGM. SEGS =", 09412000
I4/"ESTIMATED CORE STORAGE REQUIRED =",I6," WORDS.", 09413000
/"ESTIMATED AUXILIARY MEMORY REQUIRED =",I6," WORDS.", 09414000
- /"NUMBER OF CARD-IMAGES PROCESSED =",F7.0); 09414100
+ /"NUMBER OF CARD-IMAGES PROCESSED = ",F7.0); 09414100
FORMAT SERR("THERE WERE ",V8," SEQUENCE ERRORS"); 09414101
MOVECHARACTERS(4,INFO[LASTSEQROW,LASTSEQUENCE-1],0,GT1,4);09415000
MOVECHARACTERS(4,INFO[LASTSEQROW,LASTSEQUENCE-1],4,GT2,4);09416000
@@ -8313,7 +8319,7 @@ END END END PROGRAM; 09420000
FORMATING ROUTINES TO PRODUCE DESIRED I/O. THERE IS ONE 10002000
WORD OF PSEUDO CODE PRODUCED FOR EACH EDITING PHRASE. IN 10003000
ADDITION ONE WORD IS PRODUCED FOR EACH LEFT PARENTHESIS, 10004000
- RIGHT PARENTHESIS, AND STROKE. EACH SIX CHARACTERS OF 10005000
+ RIGHT PARENTHESIS, AND STROKE. EACH SIX CHARACTORS OF 10005000
STRING ALSO PRODUCES ONE WORD. IN ADDITION THERE IS ONE 10006000
EXTRA WORD FOR EACH LEFT PARENTHESIS WITH NO REPEAT PART. 10007000
THIS IS AN IMPLIED STROKE TO CONTROL END OF LINE CONDI- 10008000
@@ -8323,7 +8329,7 @@ END END END PROGRAM; 09420000
SKIP = [32:6], 10012000
CODE = [2:4], 10013000
W = [6:6], 10014000
- W1 = [28:4], W2 = [24:4], D1 = [20:4], D2 = [16:4], 10015000
+ W1 = [28:4], W2 = [24:4], D1 = [20:4], D2 = [16:4]. 10015000
S IS A DISTINGUISHER BETWEEN EDITING PHRASES AND OTHER 10016000
TYPE WORDS. CODE IS THE INTERNAL CODE TO DISTINGUISH 10017000
BETWEEN THE VARIOUS EDITING PHRASES OR BETWEEN THE OTHER 10018000
@@ -8331,7 +8337,7 @@ END END END PROGRAM; 09420000
IF CODE = 0 THEN RIGHTPAREN, 10020000
IF CODE = 2 THEN STRING, 10021000
IF CODE = 4 THEN LEFTPAREN, 10022000
- IF CODE = 6 THEN STROKE, 10023000
+ IF CODE = 6 THEN STROKE. 10023000
IF CODE = 8 THEN SCALE. 10023100
GIVEN S = 0 WE HAVE 10024000
IF CODE = 0 THEN D, 10025000
@@ -8344,8 +8350,8 @@ END END END PROGRAM; 09420000
IF CODE = 11 THEN U, 10030100
IF CODE =12 THEN O, 10031000
IF CODE = 13 THEN V, 10031100
- IF CODE =14 THEN L, 10032000
- IF CODE = 15 THEN R, 10032100
+ IF CODE =14 THEN L. 10032000
+ IF CODE = 15 THEN R. 10032100
W IS THE FIELD WIDTH. 10033000
FOR STRINGS [12:36] IS W CHARACTORS OF ALPHA, RIGHT 10034000
ADJUSTED. THE REST OF THE FIELDS ARE MEANINGLESS. 10035000
@@ -8356,33 +8362,33 @@ END END END PROGRAM; 09420000
A NON-ZERO REPEAT FIELDS. 10040000
THE DESCRIPTION OF W1,W2, D1, AND D2 APPLIES ONLY TO 10041000
FORMATING TYPES. FOR THE PURPOSES OF DESCRIPTION LET 10042000
- D BE THE DECIMAL PART. W IS, OF COURSE, THE WIDTH, 10043000
+ D BE THE DECIMAL PART. W IS, OF COURSE, THE WIDTH. 10043000
THEN FOR D, W1=W2=D1=D2=SKIP=0. 10044000
FOR X, W = SKIP = WIDTH MOD 64 AND W1 = WIDTH DIV 64. 10045000
W2 = D1 = D2 =0. 10046000
FOR T, W=(WIDTH-1) MOD 64, W1=(WIDTH-1) DIV 64, AND 10046010
W2=D1=D2=0. 10046020
- FOR A, W1 = W, SKIP = 0 IF W < 6, OTHERWISE 10047000
- W1 = 6, SKIP = W-6, W2=D1=D2=0. 10048000
+ FOR A, W1 = W, SKIP = 0 IF W < 6. OTHERWISE 10047000
+ W1 = 6, SKIP = W-6. W2=D1=D2=0. 10048000
FOR I: SKIP = IF W > 16 THEN W-16 ELSE 0. 10049000
IF W > 8 THEN W1 = 8, W2 = W-SKIP-8. 10050000
- IF W < 8 THEN W1 = W, W2 = 0, ALWAYS D1=D2=0. 10051000
- FOR F IF D < 8 THEN D1 = D, D2=0, 10052000
- IF D > 8 THEN D1 = 8, D2=D-8, 10053000
+ IF W < 8 THEN W1 = W, W2 = 0. ALWAYS D1=D2=0. 10051000
+ FOR F IF D < 8 THEN D1 = D, D2=0. 10052000
+ IF D > 8 THEN D1 = 8, D2=D-8. 10053000
IF D >16 THEN ERROR. 10054000
IF W-D-1 > 16 THEN SKIP = W-D-17, OTHERWISE 10055000
SKIP=0. 10056000
- IF W-D-1 > 8 THEN W1=8, W2=W-D-1-SKIP-8, 10057000
+ IF W-D-1 > 8 THEN W1=8, W2=W-D-1-SKIP-8. 10057000
IF W-D-1 < 8 THEN W1=W-D-1,W2=0. 10058000
FOR E D1 AND D2 ARE CALCULATED AS IN F EXCEPT THAT WE 10059000
- D+1 FOR D, SKIP = W-D-6, W1=W2=0. 10060000
- FOR O, W1=W2=D1=D2=SKIP=0, 10061000
- FOR L, W2=D1=D2=0, IF W > 5 THEN W1=5 ELSE W1 = W, 10062000
- SKIP = W-W1, 10063000
+ D+1 FOR D. SKIP = W-D-6. W1=W2=0. 10060000
+ FOR O, W1=W2=D1=D2=SKIP=0. 10061000
+ FOR L, W2=D1=D2=0. IF W > 5 THEN W1=5 ELSE W1 = W. 10062000
+ SKIP = W-W1. 10063000
FOR U: SKIP = W1 = W2 = D1 = D2 = 0. 10063100
FOR B: SEE U-PHRASE DESCRIPTION. 10063110
FOR R: SEE ABOVE F-PHRASE DESCRIPTION. 10063200
- FOR V: SKIP = W1 = W2 = UNSET, D1,D2 AS IN ABOVE 10063300
+ FOR V: SKIP = W1 = W2 = UNSET. D1,D2 AS IN ABOVE 10063300
F-PHRASE DESCRIPTION. 10063400
FORMATPHRASE USES RECURSION TO DO ANALYSIS OF SYNTAX. THE10064000
WORDS ARE GENERATED AND PLACED DIRECTLY INTO THE CODE 10065000
@@ -8421,7 +8427,7 @@ END END END PROGRAM; 09420000
& REAL(S) [ 1:47:1]; 10098000
WHIPOUT(W) END EMITFORMAT; 10099000
STREAM PROCEDURE PACKALPHA(PLACE,LETTER,CTR); 10100000
- VALUE LETTER, CTR; 10101000
+ VALUE LETTER,CTR; 10101000
BEGIN DI ~ PLACE; DS ~ LIT "B"; 10102000
SI ~ LOC CTR; SI ~ SI+7; DS ~ CHR; 10103000
SI ~ PLACE; SI ~ SI+3; DS ~ 5 CHR; 10104000
@@ -8445,7 +8451,7 @@ END END END PROGRAM; 09420000
SKIP ~ F; 10116000
EMITFORMAT(TRUE,RLEFT,REPEAT,1,0,0,0,0,0); 10117000
DO BEGIN NEXTENT; 10118000
- EL: IF FORMATPHRASE THEN GO TO EX END 10119000
+ EL: IF FORMATPHRASE THEN GO TO EX END 10119000
UNTIL ELCLASS ! ","; 10120000
WHILE ELCLASS = "/" 10121000
DO BEGIN EMITFORMAT(TRUE,RSTROKE,0,1,0,0,0,0,0); 10122000
@@ -8496,7 +8502,7 @@ END END END PROGRAM; 09420000
WHIPOUT(W) 10148000
END UNTIL FALSE END 10149000
ELSE BEGIN CODE~ELCLASS; 10150000
- IF CODE = "U" OR CODE = "B" THEN 10150100
+ IF CODE = "U" OR CODE = "B" THEN 10150100
BEGIN %%% ALL OF COMPILER CODE TO HANDLE U-PHRASE. 10150110
NEXTENT ; 10150120
SKIP ~ 0 ; 10150125
@@ -8517,8 +8523,8 @@ END END END PROGRAM; 09420000
ELSE GO TO EX 10150205
END 10150210
END 10150215
- ELSE W ~-63 ; %%% PHRASE IS D. 10150220
- EMITFORMAT(FALSE,RD,REPEAT,SKIP,W,REAL(CODE="B"), 10150225
+ ELSE W ~-63 ; %%% PHRASE IS U. 10150220
+ EMITFORMAT(FALSE,RU,REPEAT,SKIP,W,REAL(CODE="B"), 10150225
REAL(W<0),0,0) ; 10150230
GO TO EXIT ; 10150260
END OF U PHRASE HANDLER ; 10150270
@@ -8554,7 +8560,7 @@ END END END PROGRAM; 09420000
IF EXAMIN(NCR)="." THEN 10167600
BEGIN NEXTENT; 10167700
IF GETINT THEN REPEAT.[14:1]~1 ELSE 10167800
- GT1~DIVIDE(ELCLASS,D1,D2); 10167900
+ GT1~DIVIDE(ELCLASS,D1,D2); 10167900
ELCLASS :=-ELCLASS; 10167910
END; END ELSE IF CODE="L" 10168000
THEN BEGIN CODE ~ RL; W1 ~ 5; 10169000
@@ -8653,11 +8659,11 @@ END END END PROGRAM; 09420000
LABEL FINAL,PACKIN; 10258300
LABEL BACK,SKSC,EXIT; 10259000
REAL DINFO; 10259200
- BOOLEAN TSSTREAMTOG; % 1289 10259400
+ BOOLEAN TSSTREAMTOG; % 1289 10259400
DINFO ~ J.[18:15]; 10259600
J ~ J.[33:15]; 10259700
TB1~ FALSE; 10260000
- TSSTREAMTOG~ STREAMTOG; % 1289 10260050
+ TSSTREAMTOG~ STREAMTOG; % 1289 10260050
STREAMTOG~TRUE; 10260100
CHARCOUNT ~ 0; 10261000
DEFINECTR ~ 1; LASTRESULT ~ 2; 10262000
@@ -8719,9 +8725,9 @@ EXIT: DEFINECTR := 0; STREAMTOG~TSSTREAMTOG; % 1289 10284000
REAL T1,T2,T3; 10291000
LABEL BOOFINISH,STORE,LRTS; 10292000
DIALA ~ DIALB ~ 0; 10293000
- IF ELCLASS= FORV THEN FORSTMT COMMENT FORCLAUSE; 10294000
+ IF ELCLASS = FORV THEN FORSTMT COMMENT FORCLAUSE; 10294000
ELSE IF ELCLASS = LFTBRKET 10295000
- THEN BEGIN COMMENT GORUP OF LIST ELEMENTS; 10296000
+ THEN BEGIN COMMENT GROUP OF LIST ELEMENTS; 10296000
DO BEGIN STEPIT; LISTELEMENT END UNTIL ELCLASS!COMMA;10297000
IF ELCLASS = RTBRKET THEN STEPIT ELSE ERR(158) END 10298000
ELSE BEGIN COMMENT THE MEAT OF THE MATTER: 10299000
@@ -8765,7 +8771,7 @@ EXIT: DEFINECTR := 0; STREAMTOG~TSSTREAMTOG; % 1289 10284000
FLAG FOR A LIST, THE CODE TO JUMP AROUND THE LIST, 10336000
THE INITIAL JUMP OF THE LIST, THE OBTAINING OF A PRT CELL 10337000
FOR THE LIST, THE OBTAINING OF AN ACCIDENTAL PROGRAM 10338000
- DESCRIPTOR, THE STUFFING OF F INTO THIS DESCRIPTOR, 10339000
+ DESCRIPTOR, THE STUFFING OF F INTO THIS DESCRIPTOR. 10339000
LISTGEN EXPECTS I TO POINT AT FIRST LIST ELEMENT AND 10340000
LEAVES I POINTING AT FIRST ITEM BEYOND RIGHTPAREN. THE 10341000
VALUE RETURNED BY LISTGEN IS THE LOCATION OF THE 10342000
@@ -8796,14 +8802,14 @@ EXIT: DEFINECTR := 0; STREAMTOG~TSSTREAMTOG; % 1289 10284000
EMITB(BFW,JUMPLACE,L); 10366000
STUFFF(LISTPLACE); 10367000
IF ELCLASS ! RTPAREN THEN ERR(104) ELSE STEPIT 10368000
- END LISTGEN; 10369000
+ END LISTGEN; 10369000
BOOLEAN PROCEDURE MERRIMAC; 10370000
BEGIN COMMENT THIS TIME THE MERRIMAC WILL HANDLE THE MONITOR. 10371000
03 JULY 1963 10372000
THERE ARE SIX TYPES OF MONITOR LIST ELEMENTS. THEY ARE 10373000
LABELS, SWITCHES, SIMPLE VARIABLES, SUBSCRIPTED VARIABLES,10374000
ARRAYS, AND FUNCTION DESIGNATORS. 10375000
- WITH ONE EXCEPTION, THE MERRIMAX ROUTINES ONLY FUNCTION 10376000
+ WITH ONE EXCEPTION, THE MERRIMAC ROUTINES ONLY FUNCTION 10376000
IS TO SAVE INFORMATION SO THAT OTHER ROUTINES, SUCH AS THE10377000
VARIABLE ROUTINE, CAN GENERATE THE ACTUAL CODE THAT CALLS 10378000
THE PRINTI ROUTINE AT OBJECT TIME. THE ONE EXCEPTION IS 10379000
@@ -8844,13 +8850,13 @@ EXIT: DEFINECTR := 0; STREAMTOG~TSSTREAMTOG; % 1289 10284000
FORMAT TYPE PRINTOUT 10414000
----------- -------- 10415000
0 ID 10416000
- --------- ----- 10417000
+ --------- ------ 10417000
1 ID=V 10418000
- --------- ----- 10419000
+ --------- ------ 10419000
2 ID[S1---SN]=V 10420000
- --------- ----- 10421000
+ --------- ------ 10421000
3 ID[S1---SN]=V 10422000
- --------- ----- 10423000
+ --------- ------ 10423000
4 ID=V1---VN 10424000
*********** ******** 10425000
THE FORMAT THAT V IS PRINTED IN WILL BE DETERMINED BY10426000
@@ -8882,7 +8888,7 @@ EXIT: DEFINECTR := 0; STREAMTOG~TSSTREAMTOG; % 1289 10284000
--------- ------------------------- 10452000
4 (DESCRIPTOR FOR THE ARRAY,N,TYPEV, 10453000
POWERSOFTEN,ID,CHARI,FILE,4) 10454000
- *********** *************************** 10455000
+ *********** **************************** 10455000
SINCE THE RESTRICTION EXISTS THAT THE SCOPE OF THE 10456000
MONITOR FOR A LABEL OR SWITCH MUST BE THE SAME AS 10457000
THE SCOPE OF THE LABEL OR SWITCH, THE INFORMATION 10458000
@@ -8898,7 +8904,7 @@ EXIT: DEFINECTR := 0; STREAMTOG~TSSTREAMTOG; % 1289 10284000
WORD WILL BE SET. 10468000
SIMPLE VARIABLES- A NEW ENTRY IS MADE IN INFO WITH 10469000
ONE EXTRA WORD WHICH CONTAINS THE ADDRESS OF 10470000
- THE MONITOR FILE IN [37:11], I WILL HAVE A 10471000
+ THE MONITOR FILE IN [37:11]. I WILL HAVE A 10471000
DEFINE SVARMONFILE = [37:11]#. 10472000
ARRAYS- A NEW ENTRY IS MADE IN INFO WITH THE SAME 10473000
NUMBER OF WORDS AS THE ORIGIONAL ENTRY. THE 10474000
@@ -9097,14 +9103,14 @@ IF LEVEL=(RR2~ELBAT[I]).LVL THEN 10656010
PUT(ABS(TAKE(RR2.LINK+1)),RR2.LINK+1) ; 10656015
END ; 10656016
PUTNBUMP(NOPAR ~ TAKEFRST & 10656030
- FILEIDENT[INSERTFILE]); TESTVARB~(NOPAR10657000
+ FILEIDENT[INSERTFILE]); TESTVARB~(NOPAR 10657000
~NOPAR. NOPARPART )+(INC~(ELBATWORD~ELBAT[I]). 10658000
LINK+ELBATWORD.INCR); 10659000
DO PUTNBUMP(TAKE(INC~INC+1)) 10660000
UNTIL INC } TESTVARB; 10661000
GO CHKCOMMA; 10662000
END; 10663000
- ERROR(406); GO TO EXIT; 10664000
+ ERROR(406); GO TO EXIT; 10664000
COMMENT ERROR 406 IS IMPROPER MONITOR LIST ELEMENT; 10665000
CHKCOMMA:IF STEPI = COMMA 10666000
THEN GO MARKMONITORED; 10667000
@@ -9142,12 +9148,12 @@ PROCEDURE DMUP; 10681000
ENTRY TO THE BLOCK CONTAINING THE DUMP DECLARATION. THE 10699000
OTHER TYPE CODE IS ONLY EXECUTED WHEN THE DUMPOR IS PASSED10700000
. THIS CODE THEN COMPARES THE DUMPORS COUNTER WITH THE 10701000
- DUMP INDICATOR, IF THEY ARE NOT EQUAL IT JUMPS TO EXIT. 10702000
+ DUMP INDICATOR. IF THEY ARE NOT EQUAL IT JUMPS TO EXIT. 10702000
IF THEY ARE EQUAL IT THEN PROCEEDS TO CALL PRINTI ONCE 10703000
FOR EACH DUMP LIST ELEMENT. FOR A DESCRIPTION OF PRINTI 10704000
SEE THE COMMENTS FOR THE MERRIMAC ROUTINE; 10705000
LABEL START; COMMENT WHEN START IS REACHED, I MUST BE 10706000
- POINTING AT THE FILE IDENTIFIER IN THE DUMP 10707000
+ POINTING AT THE FILE INDENTIFIER IN THE DUMP 10707000
DECLARATION; 10708000
LABEL EXIT; COMMENT EXIT APPEARS AT THE END OF THE DMUP 10709000
ROUTINE. NO STATMENTS ARE EXECUTED AFTER IT 10710000
@@ -9176,7 +9182,7 @@ PROCEDURE DMUP; 10681000
ZERO AS SUBSCRIPT CODE IS GENERATED;10733000
LABEL PASSN; COMMENT THE CODE AT PASSN PASSES N (THE 10734000
NUMBER OF DIMENSIONS) TO THE PRINTI ROUTINE; 10735000
- LABEL SUBSLOOP; COMMENT THE CODE AT SUBLOOP PASSES 10736000
+ LABEL SUBSLOOP; COMMENT THE CODE AT SUBSLOOP PASSES 10736000
SUBSCRIPTS TO PRINTI; 10737000
ARRAY LABELCTR[0:100]; COMMENT LABELCTR IS AN ARRAY THAT 10738000
HOLDS THE ADDRESSES OF ALL LABEL 10739000
@@ -9347,7 +9353,7 @@ PROCEDURE DMUP; 10681000
IF CHECK(RTPAREN,416) 10902000
THEN GO TO EXIT; 10903000
COMMENT ERROR 416 MEANS ILLEGAL DUMP LIST ELEMENT 10904000
- DELIMETER; 10905000
+ DELIMITER; 10905000
LEXIT~L; EMITL(0); EMITO(RTS); 10906000
JUMPCHKX; STEPIT; 10907000
IF CHECK(LABELID,417) 10908000
@@ -9397,12 +9403,12 @@ PROCEDURE DMUP; 10681000
OF EFFICIENCY. IF A SWITCH IS ONLY CALLED ONE THE CODE 10944000
IS QUITE A BIT BETTER. AFTER SWITCHGEN GOTOG IS TRUE IF 10945000
A COMMUNICATE MUST BE USED. THE BLOCK ROUTINE MARKS SUCH 10946000
- SWITCHES FORMAL. THIS IS, OF COURSE, A FICTION, FOR 10947000
+ SWITCHES FORMAL. THIS IS, OF COURSE, A FICTION. FOR 10947000
SIMPLE SWITCHES SWITCHGEN LEAVES THE INDEX TO INFO IN EDOC10948000
SO THAT PURGE CAN FIND THE LABELS. IT SHOULD BE NOTED 10949000
THAT A SWITCH EXPECTS THE SWITCH INDEX TO BE FOUND IN 10950000
JUNK. THE RESULT RETURNED BY SWITCHGEN IS WHETHER OR NOT 10951000
- TO STUFF F INOT A SWITCH DESCRIPTOR, SINCE A SWITCH DE- 10952000
+ TO STUFF F INTO A SWITCH DESCRIPTOR, SINCE A SWITCH DE- 10952000
SCRIPTOR IS AN ACCIDENTAL ENTRY DESCRIPTOR; 10953000
BOOLEAN PROCEDURE SWITCHGEN(BEFORE,PD); %113-10954000
VALUE BEFORE; BOOLEAN BEFORE; REAL PD; %113-10954100
@@ -9509,7 +9515,7 @@ BOOLEAN PROCEDURE SWITCHGEN(BEFORE,PD); %113-10954000
IF ELCLASS=FACTOP THEN 12041100
BEGIN 12041110
EMITO(MKS); EMITL(4); EMITV(GNAT(POWERALL)) ; 12041130
- EMITO(DEL); EMITO(DEL); GO L4 ; 12041140
+ EMITO(DEL); EMITO(DEL); GO L4 ; 12041140
END ; 12041160
IF ELCLASS{INTID AND ELCLASS}BOOID THEN 12042000
BEGIN 12043000
@@ -9591,28 +9597,28 @@ ERROR: 12065100
ERR(T) ; 12065200
EXIT: 12065300
END OF CMPLXSTMT ; 12065400
-REAL PROCEDURE FIXDEFINEINFO(T); VALUE T; REAL T; 12101000
- BEGIN REAL K,S,P,J,EL; 12102000
- MACROID~TRUE; 12107000
- P ~ GIT(FIXDEFINEINFO ~ T); 12108000
- STOPDEFINE~TRUE; 12111000
- EL~TABLE(NXTELBT); 12112000
- NXTELBT~NXTELBT-1; 12113000
- IF EL!LEFTPAREN AND EL!LFTBRKET THEN 12114000
- FLAG(175) % [ OR ( EXPECTED. 12115000
- ELSE DO BEGIN J~J+1; 12116000
- TEXT[NEXTTEXT.LINKR,NEXTTEXT.LINKC] := TAKE(P); %122- 12117000
- NEXTTEXT := NEXTTEXT + 1; %122- 12118000
- PUT(TAKE(P) & NEXTTEXT[11:32:16] & 12121000
- DEFSTACKHEAD[35:35:13], P); 12122000
- DEFSTACKHEAD ~ P.LINK; 12123000
- P ~ GIT(K~P); 12123500
- DEFINEGEN(TRUE,0); 12124000
- END UNTIL EL ~ ELBAT[NXTELBT].CLASS ! COMMA OR K = P; 12125000
- IF EL!RTPAREN AND EL!RTBRKET OR K!P THEN 12126000
- FLAG(174);%INCORRECT # OF PARAMS IN DEFINE INVOCATION. 12126100
- MACROID~FALSE; 12127000
- END; 12128000
+ REAL PROCEDURE FIXDEFINEINFO(T); VALUE T; REAL T; 12101000
+ BEGIN REAL K,S,P,J,EL; 12102000
+ MACROID~TRUE; 12107000
+ P ~ GIT(FIXDEFINEINFO ~ T); 12108000
+ STOPDEFINE~TRUE; 12111000
+ EL~TABLE(NXTELBT); 12112000
+ NXTELBT~NXTELBT-1; 12113000
+ IF EL!LEFTPAREN AND EL!LFTBRKET THEN 12114000
+ FLAG(175) % [ OR ( EXPECTED. 12115000
+ ELSE DO BEGIN J~J+1; 12116000
+ TEXT[NEXTTEXT.LINKR,NEXTTEXT.LINKC] := TAKE(P); %122-12117000
+ NEXTTEXT := NEXTTEXT + 1; %122-12118000
+ PUT(TAKE(P) & NEXTTEXT[11:32:16] & 12121000
+ DEFSTACKHEAD[35:35:13], P); 12122000
+ DEFSTACKHEAD ~ P.LINK; 12123000
+ P ~ GIT(K~P); 12123500
+ DEFINEGEN(TRUE,0); 12124000
+ END UNTIL EL ~ ELBAT[NXTELBT].CLASS ! COMMA OR K = P; 12125000
+ IF EL!RTPAREN AND EL!RTBRKET OR K!P THEN 12126000
+ FLAG(174);%INCORRECT # OF PARAMS IN DEFINE INVOCATION. 12126100
+ MACROID~FALSE; 12127000
+ END; 12128000
PROCEDURE DEFINEPARAM(DINFO, N); 12150000
COMMENT DEFINEPARAM GENERATES EVERYTHING (EXCEPT THE ELBAT 12150100
WORD) FOR AN INFO TABLE ENTRY FOR A PARAMETER OF A 12150200
@@ -9837,7 +9843,7 @@ END DEFINEPARAM; 12166000
BEGIN ERR(291); GO START END 13164000
ELSE BEGIN 13165000
EMITO(MKS); EMITL(5); EMITN(SAVADDRSF) ; 13166000
- GT1~FILEATTRIBUTEHANDLER(FIO); 13167000
+ GT1~FILEATTRIBUTEHANDLER(FIO) ; 13167000
END ; 13168000
END ; 13169000
END ; 13170000
@@ -9875,7 +9881,7 @@ END DEFINEPARAM; 12166000
EMITL(1); 13196450
EMITV(5); COMMENT CREATE AN ARRAY TO HOLD 13196460
LIST DESCRIPTORS FOR SWITCH LIST; 13196470
- COMMENT USED TO USE EMITN(XITR), DOESN"T ANYMORE; 13196480
+ COMMENT USED TO USE EMITN(XITR). DOESN"T ANYMORE; 13196480
J~-1; STOPENTRY ~ FALSE; 13196490
DO 13196500
BEGIN 13196510
@@ -10030,7 +10036,7 @@ MOVE(WORDCOUNT,ACCUM,INFO[NEXTINFO.LINKR,NEXTINFO.LINKC]); 13310000
LASTINFO~NEXTINFO; 13311000
IF NEXTINFO ~ NEXTINFO+WORDCOUNT } 8192 THEN 13312000
BEGIN FLAG(199); GO TO ENDOFITALL END; 13312500
- END; 13313000
+ END; 13313000
PROCEDURE ENTRY(TYPE); 13314000
VALUE TYPE; 13315000
REAL TYPE; 13316000
@@ -10042,17 +10048,17 @@ COMMENT 13317000
FOR THE UPCOMING COMMUNICATE TO GET STORAGE FOR THE ARRAY(S) ;13322000
BEGIN 13323000
BOOLEAN SVTOG;% 13323010
- J~0;I~I-1; 13324000
- DO 13325000
- BEGIN 13326000
- STOPDEFINE ~TRUE; STEPIT; SCATTERELBAT; 13327000
- IF FORMALF~SPECTOG 13328000
- THEN 13329000
- BEGIN 13330000
- IF TYPE{INTARRAYID AND TYPE}BOOARRAYID THEN% 13330550
- IF VONF THEN BEGIN SVTOG ~ ERRORTOG; FLAG(15);% 13330600
- SPECTOG ~ ERRORTOG ~ SVTOG; END;% 13330650
- IF ELCLASS!SECRET 13331000
+ J~0;I~I-1; 13324000
+ DO 13325000
+ BEGIN 13326000
+ STOPDEFINE ~TRUE; STEPIT; SCATTERELBAT; 13327000
+ IF FORMALF~SPECTOG 13328000
+ THEN 13329000
+ BEGIN 13330000
+ IF TYPE{INTARRAYID AND TYPE}BOOARRAYID THEN% 13330550
+ IF VONF THEN BEGIN SVTOG ~ ERRORTOG; FLAG(15);% 13330600
+ SPECTOG ~ ERRORTOG ~ SVTOG; END;% 13330650
+ IF ELCLASS!SECRET 13331000
THEN FLAG(002); 13332000
BUP~BUP+1 13333000
END 13334000
@@ -10077,7 +10083,7 @@ COMMENT 13317000
EMITL(ADDRSF); EMITN(10); 13347500
END 13347510
ELSE CHECKDISJOINT(ADDRSF); 13347520
- END; 13348000
+ END; 13348000
IF XREF AND NOT SPECTOG THEN % ERASE PREVIOUS XREF ENTRY. 13348100
XREFPT~XREFPT-REAL(ELBAT[I]!0); % GET RID OF LAST CREF 13348200
KLASSF~TYPE; MAKEUPACCUM;E; J~J+1; 13349000
@@ -10130,17 +10136,17 @@ COMMENT 13377000
MKS 13396000
DESC B 13397000
DESC C 13398000
- LITC 0 (LOWER BOUND MUST BE PASSED FOR OWN) 13399000
+ LITC 0 (LOWER BOUND MUST BE PASSED FOR OWN) 13399000
OPDC X 13400000
- LITC JUNK (JUNK CELL) 13401000
- ISN (INTEGERIZE UPPER BOUND) 13402000
- LITC 1 (COMPUTE SIZE 13403000
- ADD OF DIMENSION 13404000
- LITC 1 (LOWER BOUND,SECOND DIMENSION) 13405000
+ LITC JUNK (JUNK CELL) 13401000
+ ISN (INTEGERIZE UPPER BOUND) 13402000
+ LITC 1 (COMPUTE SIZE 13403000
+ ADD OF DIMENSION 13404000
+ LITC 1 (LOWER BOUND,SECOND DIMENSION) 13405000
CHS 13406000
- LITC 12 (SIZE SECOND DIMENSION) 13407000
- LITC 2 (NUMBER DIMENSIONS) 13408000
- LITC 2 (NUMBER ARRAYS) 13409000
+ LITC 12 (SIZE SECOND DIMENSION) 13407000
+ LITC 2 (NUMBER DIMENSIONS) 13408000
+ LITC 2 (NUMBER ARRAYS) 13409000
LITC OWNCOM (OWN ARRAY COMMUNICATE) 13410000
COM 13411000
DESC XITR 13412000
@@ -10160,7 +10166,7 @@ COMMENT 13377000
SUB UPPER 13426000
LITC 1 -LOWER 13427000
ADD +1) 13428000
- OPDC M (COMPUTER LOWER BOUND 13429000
+ OPDC M (COMPUTE LOWER BOUND 13429000
OPDC N SECOND DIM) 13430000
ADD 13431000
LITC MNT (GET CELL FOR SECOND LOWER BOUND) 13432000
@@ -10227,17 +10233,17 @@ TWO:IF STEPI=ADOP THEN 13474000
ADDCON~SUBC 13492000
END; 13493000
T2~T3|4+ADDCON 13494000
- END 13495000
- ELSE 13496000
- BEGIN 13497000
- LLITOG~FALSE; 13498000
- IF T1!0 THEN I~I-1; 13499000
- T2:=GETSPACE(P2,-1);%TEMP. 13500000
- AEXP;EMITSTORE(T2,ISN); 13501000
- T2~T2|4+SUBC+2; 13502000
- IF ELCLASS!COLON THEN 13503000
- FLAG(017);I~I-1 13504000
- END; 13505000
+ END 13495000
+ ELSE 13496000
+ BEGIN 13497000
+ LLITOG~FALSE; 13498000
+ IF T1!0 THEN I~I-1; 13499000
+ T2:=GETSPACE(P2,-1);%TEMP. 13500000
+ AEXP;EMITSTORE(T2,ISN); 13501000
+ T2~T2|4+SUBC+2; 13502000
+ IF ELCLASS!COLON THEN 13503000
+ FLAG(017);I~I-1 13504000
+ END; 13505000
IF P2 THEN 13506000
BEGIN 13507000
IF LLITOG AND T3=0 THEN EMITL(0);13508000
@@ -10249,8 +10255,8 @@ TWO:IF STEPI=ADOP THEN 13474000
T=RTBRKET 13514000
THEN 13515000
BEGIN 13516000
- EMITL(T4~ELBAT[I-1].ADDRESS);13517000
- ULITOG~TRUE;GO TO CSZ 13518000
+ EMITL(T4~ELBAT[I-1].ADDRESS); 13517000
+ ULITOG~TRUE;GO TO CSZ 13518000
END 13519000
ELSE 13520000
I~I-1 13521000
@@ -10294,12 +10300,12 @@ COMMENT KEEP COUNT OF NO. OF ARRAYS DECLARED; 13551400
END; 13555000
PUT(LBJ,SAVEINFO2-1); 13556000
DO BEGIN 13557000
- T~TAKE(SAVEINFO); 13558000
- K~T.INCR; 13559000
- T.INCR~SAVEINFO2-SAVEINFO-1; 13560000
- PUT(T,SAVEINFO); 13561000
+ T~TAKE(SAVEINFO); 13558000
+ K~T.INCR; 13559000
+ T.INCR~SAVEINFO2-SAVEINFO-1; 13560000
+ PUT(T,SAVEINFO); 13561000
END 13562000
- UNTIL SAVEINFO~SAVEINFO+K=SAVEINFO2-1; 13563000
+ UNTIL SAVEINFO~SAVEINFO+K=SAVEINFO2-1; 13563000
IF STEPI!COMMA THEN GO TO START; 13564000
IF NOT SPECTOG THEN EMITO(MKS); 13565000
SAVEINFO~NEXTINFO; 13566000
@@ -10424,9 +10430,9 @@ PROCEDURE ENTER(TYPE); VALUE TYPE; INTEGER TYPE; 13714000
IF NOT P2 THEN 13719000
IF P2:=(G=OWNV) THEN G:=GTA1[J:=J-1]; 13720000
IF NOT P3 THEN 13721000
- IF P3:=(G=SAVEV) THEN G:=GTA1[J:=J-1]; 13722000
+ IF P3:=(G=SAVEV) THEN G:=GTA1[J:=J-1]; 13722000
IF NOT P4 THEN 13723000
- IF P4:=(G=AUXMEMV) THEN G:=GTA1[J:=J-1]; 13724000
+ IF P4:=(G=AUXMEMV) THEN G:=GTA1[J:=J-1]; 13724000
END; 13725000
IF G!0 THEN FLAG(25) ELSE ENTRY(TYPE) 13726000
END ENTER; 13727000
@@ -10441,7 +10447,7 @@ PROCEDURE HTTEOAP(GOTSTORAGE,RELAD,STOPPER,PRTAD); 13731000
BOOLEAN BT; 13736000
REAL K,LS; 13737000
LS~RELAD; 13738000
- BT~JUMPCTR=LEVEL; 13739000
+ BT~JUMPCTR=LEVEL; 13739000
IF FUNCTOG 13740000
THEN 13741000
BEGIN 13742000
@@ -10525,7 +10531,7 @@ L: GT1:=(2|SGAVL-1)&2[4:46:2]; STOPENTRY:=TRUE; 13780000
PUT(TAKE(LASTINFO)&PRT[16:37:11]&F[27:40:8],LASTINFO); 13807000
TB1~FORMATPHRASE; 13808000
END 13809000
- UNTIL ELCLASS!"," OR TB1~F}256 ; 13810000
+ UNTIL ELCLASS!"," OR TB1~F}256 ; 13810000
13811000
13812000
END; 13813000
@@ -10543,7 +10549,7 @@ PROCEDURE CHECKBOUNDLVL ; 13819100
IF NOT SPECTOG AND ELBAT[I].LVL=LEVEL 13819400
THEN FLAG(IF REAL(ARRAYFLAG)=3 THEN 509 ELSE 46) ; 13819410
COMMENT 46-ARRAE NON-LITERAL ARRAY BOUND NOT GLOBAL TO 13819500
- ARARY DECLARATION; 13819600
+ ARRAY DECLARATION; 13819600
PROCEDURE FAULTDEC; COMMENT FAULTDEC HANDLES THE MONITOR 13900000
THING, FOR THE RUN-TIME ERROR BUSINESS. IT GETS STACK OR 13901000
PRT SPACE AND PASSES SOME STUFF TO THE BLOCK CONTROL 13902000
@@ -10856,7 +10862,7 @@ SWITCHDEC: 14200000
GO TO START; 14253000
DEFINEDEC: 14254000
BEGIN LABEL START; 14254050
- REAL J,K,DINFO,LINKA,LINKB; %118 14254100-
+ REAL J,K,DINFO,LINKA,LINKB; %118-14254100
STOPENTRY~STOPGSP~TRUE;I~I-1; 14255000
DEFINING := BOOLEAN(REAL(DEFINING) & 1[47:47:1]); 14255500
DO 14256000
@@ -11090,7 +11096,7 @@ HF: 14382000
IF STREAMTOG 14385000
THEN BEGIN 14386000
JUMPCHKNX;G~PROGDESCBLDR(CHAR,L,PROAD);PJ~P; 14387000
- PTOG~FALSE; 14388000
+ PTOG~FALSE; 14388000
IF FUNCTOG 14389000
THEN 14390000
PUT((Z~TAKE(PROINFO))&LOCLID[2:41:7]&(PJ~PJ+1)[16:37:11] 14391000
@@ -11207,7 +11213,7 @@ HF: 14382000
JUMPCHKNX; 14486000
RELAD~L ; 14487000
IF NEXTSAVE THEN FLAG(052); 14487010
- STMT; 14488000
+ STMT; 14488000
IF FAULTOG.[46:1] THEN BEGIN EMITL(10); EMITO(COM); END;14488500
HTTEOAP(FALSE,RELAD,PINFOO,PROAD); 14489000
END; 14490000
@@ -11275,7 +11281,7 @@ BEGIN 14526000
THEN MAXSTACK~STACKCTR; 14536000
IF GOTSTORAGE OR JUMPCTR=LEVEL OR FAULTOG.[46:1] 14537000
THEN 14538000
- IF NOT(GOTSTORAGE OR FAULTOG.[46:1]) 14539000
+ IF NOT(GOTSTORAGE OR FAULTOG.[46:1]) 14539000
THEN 14540000
BEGIN 14541000
EMITV(BLOCKCTR); 14542000
@@ -11406,11 +11412,11 @@ PROCEDURE PASSALPHA(ELBATWORD); 15020000
DEFINE LTEMP = RR11#; COMMENT LTEMP IS A TEMP FOR L; 15030000
EMITV(IF BOOLEAN(L.[46:1]) 15031000
THEN CPLUS2 15032000
- ELSE CPLUS1);LTEMP~BUMPL; EMITWORD(GETALPHA( 15033000
+ ELSE CPLUS1);LTEMP~BUMPL; EMITWORD(GETALPHA( 15033000
INFO[(INDEX~ELBATWORD.LINK+1).LINKR,INDEX.LINKC], 15034000
IF SIZEALPHA~TAKE(INDEX).ALPHASIZE > 7 15035000
THEN 7 15036000
- ELSE SIZEALPHA)); EMITB(BFW,LTEMP,L); 15037000
+ ELSE SIZEALPHA)); EMITB(BFW,LTEMP,L); 15037000
END PASSALPHA; 15038000
COMMENT THE FOLLOWING BLOCK HANDLES THE FOLLOWING CASES 15039000
OF SIMPLE VARIABLES: 15040000
@@ -11428,7 +11434,7 @@ PROCEDURE PASSALPHA(ELBATWORD); 15020000
5. ZEROL,VV,T . 15052000
6. VV . 15053000
WHERE VN = DESC V 15054000
- EXP= ARITH, OR BOOLEAN EXPRESSION,AS REQUIRED. 15055000
+ EXP= ARITH. OR BOOLEAN EXPRESSION,AS REQUIRED. 15055000
M* = CALL ON MONITOR ROUTINE,IF REQUIRED. 15056000
VL = LITC V 15057000
VV = OPDC V 15058000
@@ -11455,7 +11461,7 @@ PROCEDURE PASSALPHA(ELBATWORD); 15020000
% CAN XREF IT CORRECTLY. %116-15075552
LABEL EXIT; 15076000
TALL~ELBAT[I] ; 15077000
- IF ELCLASS { INTPROCID THEN 15078000
+ IF ELCLASS { INTPROCID THEN 15078000
BEGIN 15079000
IF TALL.LINK !PROINFO.LINK THEN 15080000
BEGIN ERR(211); GO TO EXIT END; 15081000
@@ -11497,7 +11503,7 @@ L1: 15092000
BEGIN IF DOTSYNTAX(T1,T2) THEN GO TO EXIT ; 15112000
IF STEPI=ASSIGNOP THEN 15113000
BEGIN %116-15113100
- IF P1! FS THEN 15114000
+ IF P1! FS THEN 15114000
BEGIN %116-15115000
ERR(201); % PARTIAL WORD NOT LEFT-MOST 15115100
GO TO EXIT; %116-15115200
@@ -11622,7 +11628,7 @@ PROCEDURE M4(TALL,J); 15215000
THEN BEGIN COMMENT CALL SUBSCRIPT; 15229000
EMITV(JUNK); EMITO(XCH); 15230000
END; 15231000
- END; END; %A 15232000
+ END; END; %A 15232000
IF STEPI ! LFTBRKET THEN BEGIN ERR(207);GO TO EXIT END; 15233000
THENUMBEROFDECLAREDDIMENSIONS ~ TAKE(GIT(TALL)).[40:8]; 15233100
J ~ 0; 15234000
@@ -11897,7 +11903,7 @@ F~GET( S); 16033000
REAL SAVL ,LINK; 16087000
SAVL ~ L; 16088000
L ~ TAKE(GIT(E)).LASTGT ; 16089000
- WHILE L ! 4095 DO 16090000
+ WHILE L! 4095 DO 16090000
BEGIN 16091000
LINK ~ GET(L); 16092000
EMITJUMP( E); 16093000
@@ -11909,7 +11915,7 @@ F~GET( S); 16033000
A VARIABLE NEST INDEX CAUSES THE CODE, 16099000
CRF V, BNS 0 ,NOP,NOP, TO BE GENERATED INITIALLY. 16100000
AT THE RIGHT PAREN THE BNS IS FIXED WITH THE LENGTH OF 16101000
- THE NEST (NUMBER OF SYLLABLES) IF THE LENGTH{63,OTHERWISE 16102000
+ THE NEST (NUMBER OF SYLLABLES) IF THE LENGTH {63,OTHERWISE16102000
IT IS FIXED WITH A 1 AND THE NOPS REPLACED WITH JFW 1, 16103000
RCA P. THIS IS DONE BECAUSE THE VALUE OF V AT EXECUTION 16104000
MAY = 0 AND THIS CODE CAUSES A JUMP AROUND THE NEST. 16105000
@@ -12050,7 +12056,7 @@ IFTOG: IF STEPI!THENV THEN BEGIN ERR(266); GO EXIT END; 16217000
ELCLASS = STLABID OR 16224000
ELCLASS = LOCLID AND TABLE(I+1) = LFTPAREN THEN 16225000
BEGIN 16226000
- EMIT (NOP); EMIT (NOP) 16227000
+ EMIT (NOP);EMIT (NOP) 16227000
END; 16228000
IF ELCLASS= ELSEV THEN ELSE 16228500
STREAMSTMT; 16229000
@@ -12077,7 +12083,7 @@ IFTOG: IF STEPI!THENV THEN BEGIN ERR(266); GO EXIT END; 16217000
BEGIN 16250000
LABEL EXIT; 16251000
IF STEPI !TOV THEN I~I-1 ; 16252000
- IF STEPI ! STLABID THEN BEGIN ERR(260); GO TO EXIT END; 16253000
+ IF STEPI ! STLABID THEN BEGIN ERR(260);GO TO EXIT END; 16253000
IF(GT2~TAKE(GIT(GT1~ELBAT[I]))).MON=1 16254000
OR GT2.LOC!0 THEN EMITJUMP(GT1) 16255000
ELSE 16256000
@@ -12155,8 +12161,8 @@ PROCEDURE INDEXS; 16311000
IF STEPI!LITNO AND ELCLASS!LOCLID THEN 16326100
BEGIN ERR(253); GO EXIT END; 16327000
INDEX ~ TCLASS-SIV 16328000
- +REAL(ELBAT[I-1].ADDRESS=SUB) | 4 16329000
- + REAL(ELCLASS =LOCLID) | 8; 16330000
+ +REAL(ELBAT[I-1].ADDRESS=SUB) | 4 16329000
+ + REAL(ELCLASS =LOCLID) | 8; 16330000
END 16331000
ELSE 16332000
BEGIN 16333000
@@ -12164,11 +12170,11 @@ PROCEDURE INDEXS; 16311000
+ ( IF ELCLASS = LOCLID THEN 16 ELSE 16335000
IF ELCLASS = LOCV THEN 20 ELSE 16336000
IF ELCLASS = SCV THEN 24 ELSE 16337000
- IF ELCLASS= DCV THEN 28 ELSE 25); 16338000
+ IF ELCLASS= DCV THEN 28 ELSE 25); 16338000
IF ELCLASS = LOCV THEN 16339000
IF STEPI ! LOCLID THEN GO TO L; 16340000
IF ELCLASS = LITNO AND TCLASS = TALLYV THEN 16341000
- BEGIN EMITC(ELBAT[I].ADDRESS,SEC); GO TO EXIT END; 16342000
+ BEGIN EMITC(ELBAT[I].ADDRESS,SEC);GO TO EXIT END; 16342000
END ; 16343000
ADDR ~ ELBAT[I].ADDRESS; 16344000
GENERATE: 16345000
@@ -12205,7 +12211,7 @@ PROCEDURE DSS; 16362000
ADDR ~ ELBAT[I].ADDRESS; STEPIT ; 16376000
END 16377000
ELSE ADDR ~ 1 ; 16378000
- IF ELCLASS = TRNSFER OR ELCLASS = FILLV THEN %A 16379000
+ IF ELCLASS = TRNSFER OR ELCLASS = FILLV THEN %A 16379000
EMITC(ADDR,ELBAT[I].OPCODE) %A 16379500
ELSE 16380000
IF ELCLASS = LITV THEN 16381000
@@ -12702,7 +12708,7 @@ IF (XREF OR DEFINING.[1:1]) AND XLUN > 0 THEN %116-17001000
PRINTXREFSTATISTICS; %116-17119200
END; %DFB17120000
END; %DFB17121000
- END OF MAIN BLOCK; 17121500
+ END MAIN BLOCK; 17121500
END. %DFB17122000
%NUMBER OF ERRORS DETECTED = 1. COMPILATION TIME = 532 SECONDS. 99990000
%NUMBER OF CARD-IMAGES PROCESSED = 12712. 99991000
diff --git a/Unisys-Emode-Tools/xem/ALGOLXEM.alg_m b/Unisys-Emode-Tools/xem/ALGOLXEM.alg_m
index c397ccf..7e95a5e 100644
--- a/Unisys-Emode-Tools/xem/ALGOLXEM.alg_m
+++ b/Unisys-Emode-Tools/xem/ALGOLXEM.alg_m
@@ -2,9 +2,9 @@
$SET OMIT LISTOMITTED = LIST 00001000=00000999=
%#######################################################################00002000=00001000=
% 00003000=00001010=
-% B-5700 ALGOL/TSPOL XEM SYMBOLIC 00004000=00001020=
-% MARK XVI.0.122 00005000=00001030=
-% MAY 9, 1977 00006000=00001040=
+% B-5700 ALGOL/TSPOL XEM SYMBOLIC 00004000161030PK
+% MARK XVI.0.122 00005000161030PK
+% MAY 9, 1977 00006000161030PK
% 00007000=00001050=
%#######################################################################00008000=00001060=
% 00009000=00001070=
@@ -99,7 +99,7 @@ ERROR NUMBER ROUTINE:ERROR MESSAGE 00025000
042 HANDLESWLIST: ILLEGAL LIST ID APPEARING IN SWITCH LIST. 00098000=00069400=
043 IODEC: MISSING ] AFTER DISK IN FILEDEC. 00099000=00069500=
044 IODEC: MISSING [ AFTER DISK IN FILEDEC. 00100000=00069600=
-045 DEFINEDEC: MISSING "*" AFTER DEFINE ID. 00101000=00069700=
+045 DEFINEDEC: MISSING "=" AFTER DEFINE ID. 00101000161030PK
046 ARRAE: NON-LITERAL ARRAY BOUND NOT GLOBAL TO ARRAY DECL. 00102000=00069800=
047 TABLE: ITEM FOLLOWING @ NOT A NUMBER. 00103000=00069900=
048: PROCEDUREDEC: NUMBER OF PARAMETERS DIFFERS FROM FWD DECL. 00104000=00069910=
@@ -113,9 +113,9 @@ ERROR NUMBER ROUTINE:ERROR MESSAGE 00025000
060 FAULTSTMT: MISSING ~ IN FAULT STATEMENT. 00112000=00069940=
061 FAULTDEC: INVALID FAULT TYPE: MUST BE FLAG, EXPOVR, ZERO, 00113000=00069950=
INTOVR, OR INDEX. 00114000=00069960=
- 070 CASESTMT: MISSING BEGIN. 00115000=00069970=
- 071 CASESTMT: MISSING END. 00116000=00069980=
- 080 PRIMARY: MISSING COMMA . 00117000=00069990=
+ 070 CASESTMT: MISSING BEGIN. 00115000161030PK
+ 071 CASESTMT: MISSING END. 00116000161030PK
+ 080 PRIMARY : MISSING COMMA . 00117000161030PK
090 PARSE: MISSING LEFT BRACKET 00118000=00069991=
091 PARSE: MISSING COLON 00119000=00069992=
092 PARSE: ILLEGAL BIT NUMBER 00120000=00069993=
@@ -136,7 +136,7 @@ ERROR NUMBER ROUTINE:ERROR MESSAGE 00025000
107 BEXP: THE EXPRESSION IS NOT OF BOOLEAN TYPE. 00135000=00081000=
108 EXPRSS: A RELATION MAY NOT HAVE CONDITIONAL EXPRESSIONS 00136000=00082000=
AS THE ARITHMETIC EXPRESSIONS. 00137000=00083000=
- 109 BOOSEC,SIMBOO, AND BOOCOMP: THE PRIMARY IS NOT BOOLEAN. 00138000=00084000=
+ 109 BOOSEC,SIMPBOO, AND BOOCOMP: THE PRIMARY IS NOT BOOLEAN. 00138000161030PK
110 BOOCOMP: A NON-BOOLEAN OPERATOR OCCURS IN A BOOLEAN 00139000=00085000=
EXPRESSION. 00140000=00086000=
111 BOOPRIM: NO EXPRESSION (ARITHMETIC, BOOLEAN, OR DESIGNA- 00141000=00087000=
@@ -153,7 +153,7 @@ ERROR NUMBER ROUTINE:ERROR MESSAGE 00025000
118 BANA: MISSING RIGHT BRAKET. 00152000=00098000=
119 COMPOUNDTAIL: MISSING SEMICOLON OR END. 00153000=00099000=
120 COMPOUNDTAIL: MISSING END. 00154000=00100000=
- 121 ACTUALPARAPART: AN INDEXED FILE MAY BE PASSED BY NAME 00155000=00101000=
+ 121 ACTUALPARAPART: AN INDEXED FILE MAY BE PASSED BY NAME 00155000161030PK
ONLY AND ONLY TO A STREAM PROCEDURE - THE STREAM 00156000=00102000=
PROCEDURE MAY NOT DO A RELEASE ON THIS TYPE PARA- 00157000=00103000=
METER. 00158000=00104000=
@@ -208,9 +208,9 @@ ERROR NUMBER ROUTINE:ERROR MESSAGE 00025000
153 FORSTMT: MISSING UNTIL OR WHILE IN STEP ELEMENT. 00207000=00153000=
154 FORSTMT: MISSING DO IN FOR CLAUSE. 00208000=00154000=
155 IFEXP: MISSING ELSE 00209000=00155000=
- 156 LISTELEMENT: A DESIGNATIONAL EXPRESSION MAY NOT BE A LIST 00210000=00156000=
+ 156 LISTELEMENT: A DESIGNATIONAL EXPRESSION MAY NOT BE A LIST00210000161030PK
ELEMENT. 00211000=00157000=
- 157 LISTELEMENT: A ROW DESIGNATOR MAY NOT BE A LIST ELEMENT 00212000=00158000=
+ 157 LISTELEMENT: A ROW DESIGNATOR MAY NOT BE A LISTELEMENT 00212000161030PK
158 LISTELEMENT: MISSING RIGHT BRAKET IN GROUP OF ELEMENTS 00213000=00159000=
159 PROCSTMT: ILLEGAL USE OF PROCEDURE OR FUNCTION IDENTIFIER00214000
160 PURGE: DECLARED LABEL DOES NOT OCCUR. 00215000=00161000=
@@ -227,7 +227,7 @@ ERROR NUMBER ROUTINE:ERROR MESSAGE 00025000
PARAMETRIC DEFINE INVOCATION. 00226000=00164745=
175 FIXDEFINEINFO: LEFT BRACKET OR LEFT PARENTHESIS EXPECTED. 00227000=00164750=
185 IMPFUN: LAST PARAMETER MUST BE A SIMPLE OR SUBSCRIPTED 00228000=00164850=
- VARIABLE, OR A TYPE PROCEDURE IDENTIFIER. 00229000=00164851=
+ VARIABLE, OR A TYPED PROCEDURE IDENTIFIER. 00229000161030PK
199 E: INFO ARRAY HAS OVERFLOWED. 00230000=00164900=
200 EMIT: SEGMENT TOO LARGE ( > 4093SYLLABLES). 00231000=00165000=
201 SIMPLE VARIABLE: PARTIAL WORD DESIGNATOR NOT LEFT-MOST 00232000=00166000=
@@ -243,7 +243,7 @@ ERROR NUMBER ROUTINE:ERROR MESSAGE 00025000
208 SUBSCRIPTED VARIABLE: WRONG NUMBER OF SUBSCRIPTS. 00242000=00176000=
209 SUBSCRIPTED VARIABLE: PARTIAL WORD DESIGNATOR NOT LEFT- 00243000=00177000=
MOST IN A LEFT PART LIST. 00244000=00178000=
- 210 SUBSCRIPTED VARIABLE: MISSING , OR ~ . 00245000=00179000=
+ 210 SUBSCRIPTED VARIABLE: MISSING . OR ~ . 00245000161030PK
211 VARIABLE: PROCEDURE ID USED OUTSIDE OF SCOPE IN LEFT PART.00246000=00180000=
212 VARIABLE: SUB-ARRAY DESIGNATOR PERMITTED AS ACTUAL 00247000=00180100=
PARAMETER ONLY. 00248000=00180200=
@@ -303,7 +303,7 @@ ERROR NUMBER ROUTINE:ERROR MESSAGE 00025000
351 OUTPROCHECK: ILLEGAL TYPE FOR SORT OR MERGE OUTPUT PROC. 00302000=00218220=
352 OUTPROCHECK: OUTPUT PROCEDURE IN SORT OR MERGE STMT DOES 00303000=00218230=
NOT HAVE EXACTLY TWO PARAMETERS. 00304000=00218240=
- 353 OUTPROCHECK: FIRST PAREMETER OF OUTPUT PROCEDURE MUST 00305000=00218250=
+ 353 OUTPROCHECK: FIRST PARAMETER OF OUTPUT PROCEDURE MUST 00305000161030PK
BE BOOLEAN. 00306000=00218260=
354 OUTPROCHECK: SECOND PARAM OF OUTPUT PROCEDURE MUST BE 00307000=00218270=
ONE-DIM ARRAY. 00308000=00218280=
@@ -454,7 +454,7 @@ INTEGER 00505000
SYNTX ERR AT EOJ IF THIS IS NON-ZERO. MUST BE @R+25; 00520000=00502000=
INTEGER 00525000=00503000=
SAVETIME; COMMENT SAVE-FACTOR FOR CODE FILE, GIVEN BY MCP. 00530000
- IF COMPILE & GO =0, FOR SYNTAX, =-1. MUST BE AT R+26;00540000=00504000=
+ IF COMPILE & GO =0. FOR SYNTAX, =-1. MUST BE AT R+26;00540000161030PK
INTEGER 00545000=00504100=
CARDNUMBER; % SEQ # OF CARD BEING PROCESSED. 00550000=00504100=
INTEGER 00555000=00504150=
@@ -473,7 +473,7 @@ BOOLEAN 00615000
BUILDLINE; 00620000=00504700=
BOOLEAN 00625000=00504801=
REL; 00630000=00504801=
- COMMENT RR1-RR11 ARE USED BY SOME PROCEDURES IN LIEU OF LOCALS. 00635000=00505000=
+ COMMENT RR1-RR11 ARE USED BY SOME PROCEDURES IN LIEU OF LOCALS, 00635000161030PK
TO SAVE SOME STACK SPACE; 00640000=00506000=
REAL 00645000=00507000=
RR1, 00650000=00507000=
@@ -1831,7 +1831,7 @@ REAL 01101560
END EXAMINELAST; 01102200=00512600=
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%01102300
COMMENT MOVECHARACTERS MOVES N CHARACTERS FROM THE SK-TH CHARACTER 01102400=00513000=
- IN SORCE TO THE DK-TH CHARACTER IN DEST, 0<=N<=63,0<=SK<=127; 01102500=00514000=
+ IN SORCE TO THE DK-TH CHARACTER IN DEST. 0<=N<=63,0<=SK<=127; 01102500161030PK
PROCEDURE MOVECHARACTERS(N, SORCE, SX, SK, DEST, DX, DK); 01102600=00515000=
VALUE 01102700=00516000=
N, SX, SK, DX, DK; 01102800=00516000=
@@ -1857,7 +1857,7 @@ ARRAY 01102950
INTEGER 01270000=01000800=
OPINX; % USED FOR INDEXING INTO OPTIONS ARRAY. 01275000=01000800=
BOOLEAN 01280000=01000802=
- SETTING; % USED BY DOLLARCARD FOR AN OPTION"S SETTING 01285000=01000802=
+ SETTING; % USED BY DOLLARCARD FOR AN OPTION"S SETTING. 01285000161030PK
BOOLEAN 01290000=01000810=
GOGOGO; % TRUE FOR SPECIAL WRITES AND READS 01295000=01000810=
PROCEDURE CHECKBOUNDLVL; 01300000=01000830=
@@ -2116,8 +2116,8 @@ XLUN; % THIS VARIABLE CONTROLS THE ASSIGNING OF 02295000
THE INTERNAL CODE (OR ELBAT WORD AS IT IS USUALLY 02580000=01010000=
CALLED). THE SECOND WORD CONTAINS THE FORWARD BIT (IN 02585000=01011000=
[46:1]) FOR PROCEDURES, THE LINK TO PREVIOUS ENTRY (IN 02590000=01012000=
- [43:8]). THE NUMBER OF CHARACTORS IN THE ALPHA REPRESENTA-02595000=01013000=
- TION (IN [35:6]), AND THE FIRST 5 CHARACTERS OF ALPHA. 02600000=01014000=
+ [43:8]), THE NUMBER OF CHARACTORS IN THE ALPHA REPRESENTA-02595000161030PK
+ TION (IN [35:6]), AND THE FIRST 5 CHARACTORS OF ALPHA. 02600000161030PK
SUCCEDING WORDS CONTAIN THE REMAINING CHARACTORS OF ALPHA,02605000=01015000=
FOLLOWED BY ANY ADDITIONAL INFORMATION. THE ELBAT WORD 02610000=01016000=
AND THE ALPHA FOR ANY QUANTITY ARE NOT SPLIT ACROSS A ROW 02615000=01017000=
@@ -2226,7 +2226,7 @@ COMMENT INFO FORMAT 02675000
THE FIRST WORD OF ADDITIONAL INFO CONTAINS THE NUMBER OF 03130000=01119000=
PARAMETERS [7:8] 03135000=01120000=
IF A STREAM PROCEDURE THEN THIS WORD CONTAINS ALSO IN 03140000=01121000=
- [34:11] ENDING PRT ADDRESS FOR LABELS, 03145000=01122000=
+ [34:11] ENDING PRT ADDRESS FOR LABELS, 03145000161030PK
[40:6] NO OF LABELS REQUIRING PRT ADDRESSES, AND [46:6] NUMBER 03150000=01123000=
OF LOCALS. 03155000=01124000=
SUCCEEDING WORDS (ONE FOR EACH FORMAL PARAMETER,IN ORDER 03160000=01125000=
@@ -2235,9 +2235,9 @@ COMMENT INFO FORMAT 02675000
VALUE OR NOT([37:1]). 03175000=01128000=
THE ADDRESS([31:11]) IS THE F- ADDRESS FOR EACH. 03180000=01129000=
IF THE PARAMETER IS AN ARRAY THEN THE INCR FIELD([20:8]) 03185000=01130000=
- CONTAINS THE NUMBER OF DIMENSIONS,OTHERWISE INCR IS MEANINGLESS. 03190000=01131000=
+ CONTAINS THE NUMBER OF DIMENSIONS.OTHERWISE INCR IS MEANINGLESS. 03190000161030PK
LINK([12:13]) IS MEANINGLESS. 03195000=01132000=
- IF A STREAM PROCEDURE THEN THE CLASS OF EACH PARAMETER IS 03200000=01133000=
+ IF A STREAM PROCEDURE THEN THE CLASS OF EACH PARAMATER IS 03200000161030PK
THAT OF LOCAL ID OR FILE ID, DEPENDING ON WHETHER OR NOT A RELEASE03205000=01134000=
IS DONE IN THE STREAM PROCEDURE. 03210000=01135000=
LABELS: 03215000=01136000=
@@ -2284,11 +2284,11 @@ COMMENT INFO FORMAT 02675000
LVL GIVES THE LEVEL AT WHICH A QUANTITY WAS DECLARED. 03420000=01167000=
ADDRESS GIVES THE STACK OR PRT ADDRESS. 03425000=01168000=
DYNAM IS USED INSTEAD OF LVL AND ADDRESS FOR DEFINE AND 03430000=01168100=
- DEFINE PARAMETER ENTRIES, ONLY, IT IS AN INDEX 03435000=01168200=
+ DEFINE PARAMETER ENTRIES, ONLY. IT IS AN INDEX 03435000161030PK
INTO THE ARRAY CONTAINING THE DEFINE TEXT. 03440000=01168300=
THEREFORE, WHEN THE COMPILER CHECKS TO SEE IF A 03445000=01168400=
DEFINE WAS DECLARED B4 IN THE SAME BLOCK, IT DOES 03450000=01168500=
- NOT USE THE LVL FIELD, BUT MAKES USE OF NINF00 03455000=01168600=
+ NOT USE THE LVL FIELD, BUT MAKES USE OF NINFOO. 03455000161030PK
INCR GIVES A RELATIVE LINK TO ANY ADDITIONAL INFORMATION 03460000=01169000=
NEEDED, RELATIVE TO THE LOCATION IN INFO. 03465000=01170000=
LINK CONTAINS A LINK TO THE LOCATION IN INFO IF THE 03470000=01171000=
@@ -2327,7 +2327,7 @@ COMMENT INFO FORMAT 02675000
INTID = 24 #, COMMENT 030; 03635000=01201000=
BOOARRAYID = 25 #, COMMENT 031; 03640000=01202000=
REALARRAYID = 26 #, COMMENT 032; 03645000=01203000=
- ALFARRAYID = 27 #, COMMENT 033; 03650000=01204000=
+ ALFAARRAYID = 27 #, COMMENT 033; 03650000161030PK
INTARRAYID = 28 #, COMMENT 034; 03655000=01205000=
LABELID = 29 #, COMMENT 035; 03660000=01206000=
03665000=01207000=
@@ -2338,7 +2338,7 @@ COMMENT INFO FORMAT 02675000
STRNGCON = 33 #, COMMENT 041; 03690000=01211000=
LEFTPAREN = 34 #, COMMENT 042; 03695000=01212000=
03700000=01213000=
- COMMENT CLASSES FOR ALL DECLARATORS; 03705000=01213000=
+ COMMENT CLASS FOR ALL DECLARATORS; 03705000161030PK
DECLARATORS = 35 #, COMMENT 043; 03710000=01214000=
03715000=01215000=
COMMENT CLASSES FOR STATEMENT BEGINNERS 03720000=01215000=
@@ -2452,15 +2452,15 @@ COMMENT INFO FORMAT 02675000
ACCUM[0:10]; 04265000=01304000=
COMMENT ACCUM HOLDS THE ALPHA AND CHARACTER COUNT OF THE LAST 04270000=01305000=
SCANNED ITEM IN A FORM COMPATIBLE WITH ITS APPEARANCE 04275000=01306000=
- IN INFO. THAT IS ACCUM[1] = 00NAAAAA, ACCUM[I] , I> 1, 04280000=01307000=
+ IN INFO, THAT IS ACCUM[1] = 00NAAAAA. ACCUM[I] , I> 1, 04280000161030PK
HAS ANY ADDITIONAL CHARACTERS. ACCUM[0] IS USED FOR 04285000=01308000=
THE ELBAT WORD BY THE ENTER ROUTINES; 04290000=01309000=
ARRAY 04295000=01310000=
STACKHEAD, 04300000=01310000=
SUPERSTACK[0:124]; 04305000=01310000=
- COMMENT STACKHEAD[N] CONTAINS AN INDEX INTO INFO, THIS INDEX 04310000=01311000=
+ COMMENT STACKHEAD[N] CONTAINS AN INDEX INTO INFO. THIS INDEX 04310000161030PK
POINTS TO THE TOP ITEM IN THE N-TH STACK (ACTUALLY A 04315000=01311100=
- LINKED-LIST). SUPERSTACK IS NOT A TELEVISION STAR, 04320000=01311200=
+ LINKED-LIST). SUPERSTACK IS NOT A TELEVISION STAR, 04320000161030PK
BUT RATHER A SPECIAL STACKHEAD WHICH ALWAYS POINTS 04325000=01311300=
AT CERTAIN COMMONLY USED RESERVED WORDS. THOSE 04330000=01311400=
WORDS POINTED TO (IN THREE GROUPS) ARE: 04335000=01311500=
@@ -2468,7 +2468,7 @@ COMMENT INFO FORMAT 02675000
2) AND, DIV, EQV, IMP, MOD, NOT, OR, TRUE 04345000=01311700=
3) BEGIN, DO, ELSE, END, FOR, GO, IF, 04350000=01311800=
STEP, THEN, TO, UNTIL, WHILE, WRITE. 04355000=01311900=
- FOR MORE INFORMATION ON THE USE OF SUPERSTACKM SEE 04360000=01312000=
+ FOR MORE INFORMATION ON THE USE OF SUPERSTACK, SEE 04360000161030PK
COMMENTS IN THE TABLE PROCEDURE. ; 04365000=01312100=
INTEGER 04370000=01313000=
COUNT; 04375000=01313000=
@@ -2543,15 +2543,15 @@ COMMENT INFO FORMAT 02675000
28-37 SEGMENT NUMBER 04745000=01355000=
38-47 ZERO 04750000=01356000=
TYPE 2 ENTRY 04755000=01357000=
- BIT POSITION KIND OF ENTRY 04760000=01358000=
- 0 EMPTY 04765000=01359000=
- 1 ON IFF TYPE 2 (DATA) SEGMENT 04770000=01360000=
- 2 ON IFF INTRINSIC PROCEDURE 04775000=01361000=
- 3 ON IFF "PSEUDO-SAVE" SEGMENT 04780000=01361050=
- 4-12 EMPTY 04785000=01361100=
- 13-27 DISK ADDRESS OR INTRINSIC NUMBER 04790000=01361200=
- 28-37 SEGMENT NUMBER 04795000=01361300=
- 38-47 NUMBER OF WORDS IN SEGMENT 04800000=01362000=
+ BIT POSITION KIND OF ENTRY 04760000161030PK
+ 0 EMPTY 04765000161030PK
+ 1 ON IFF TYPE 2 (DATA) SEGMENT 04770000161030PK
+ 2 ON IFF INTRINSIC PROCEDURE 04775000161030PK
+ 3 ON IFF "PSEUDO-SAVE" SEGMENT 04780000161030PK
+ 4-12 EMPTY 04785000161030PK
+ 13-27 DISK ADDRESS OR INTRINSIC NUMBER 04790000161030PK
+ 28-37 SEGMENT NUMBER 04795000161030PK
+ 38-47 NUMBER OF WORDS IN SEGMENT 04800000161030PK
THERE IS ONLY ONE TYPE 2 ENTRY PER SEGMENT.THE TYPE 2 ENTRY 04805000=01363000=
IS DISTINGUISHED BY THE NON ZERO FIELD IN BITS 38-47. THIS 04810000=01364000=
ENTRY IS USED TO BUILD THE DRUM DESCRIPTOR IN THE SEGMENT 04815000=01365000=
@@ -2568,12 +2568,12 @@ COMMENT THE FORMAT OF SEGMENT DICTIONARY AND PRT ENTRIES AT THE END OF 04835000
[44:1] EMPTY (USED BY MCP PRESENCE-BIT ROUTINE) 04870000=01367075=
[43:1] ON IFF "PSEUDO-SAVE" SEGMENT 04875000=01367080=
[42:1] EMPTY (USED BY MCP OVERLAY ROUTINE) 04880000=01367085=
- [39:10] R-RELATIVE LINK TO PRT ENTRY FOR THIS SEGMENT 04885000=01367090=
+ [39:10] R-RELATIVE LINK TO A PRT ENTRY FOR THIS SEGMENT04885000161030PK
[29:15] SIZE (NOT USED FOR INTRINSICS) 04890000=01367100=
[14:15] DISK ADDRESS OR INTRINSIC NUMBER 04895000=01367110=
PRT ENTRY (IE., PROGRAM DESCRIPTOR FOR SEGMENT NUMBER I) 04900000=01367120=
- BIT POSITIONS CONTENTS OF FIELD 04905000=01367130=
- [47:4] 1101 (BINARY) NON-PRESENT PROG, DESC. IDBITS 04910000=01367140=
+ BIT POSITIONS CONTENTS OF FIELD 04905000=01367130=
+ [47:4] 1101(BINARY) NON-PRESENT PROG. DESC. ID BITS 04910000161030PK
[43:2] MODE AND ARGUMENT BITS 04915000=01367150=
[41:1] STOPPER (ON IFF THIS ENTRY LINKS TO SEG. DICT.)04920000=01367160=
[40:11] IF [41:1] THEN I ELSE R-RELATIVE LINK TO 04925000=01367170=
@@ -2592,7 +2592,7 @@ COMMENT THE CONTENTS OF RELATIVE DISK SEGMENT ZERO OF THE CODE FILE ARE:04950000
6 SEGMENT NUMBER OF FIRST SEGMENT TO EXECUTE (IE., 1) 04990000=01367290=
7 N 04995000=01367300=
. O U 05000000=01367310=
- . T S 05005000=01367320=
+ . T S 05005000161030PK
. E 05010000=01367330=
29 D; 05015000=01367340=
INTEGER 05020000=01368000=
@@ -2709,8 +2709,8 @@ COMMENT THE CONTENTS OF RELATIVE DISK SEGMENT ZERO OF THE CODE FILE ARE:04950000
FP MEANS FROM PRIMARY, 05595000=01425000=
FL MEANS FROM LIST, 05600000=01426000=
FR MEANS FROM FOR, 05605000=01427000=
- FIO MEANS FROM IODEC. 05610000=01427250=
- FA MEANS FROM ACTUALPARAPART. 05615000=01427500=
+ FIO MEANS FROM IODEC, 05610000161030PK
+ FA MEANS FROM ACTUALPARAPART, 05615000161030PK
FI MEANS FUNNY CALL FROM STATUS (IMPFUN); 05620000=01427600=
INTEGER 05625000=01428000=
L; 05630000=01428000=
@@ -2737,7 +2737,7 @@ COMMENT THE CONTENTS OF RELATIVE DISK SEGMENT ZERO OF THE CODE FILE ARE:04950000
STACK. SEE FOR EXAMPLE THE ARRAY DECLARATIONS. 05735000=01445000=
LSTRTN IS A CELL USED AS LINKAGE BETWEEN A LIST AND 05740000=01446000=
THE I-O FORMATING ROUTINES. THE FIRST SYLLABLES EXECUTED 05745000=01447000=
- BY A LIST ARE: 1) OPDC LSTRTN, 2) BFW, THIS CARRIES YOU 05750000=01448000=
+ BY A LIST ARE: 1) OPDC LSTRTN, 2) BFW. THIS CARRIES YOU 05750000161030PK
TO THE PROPER ITEM IN THE LIST. THE FORMATING ROUTINES 05755000=01449000=
SET LSTRTN INITIALLY TO ZERO. THE LIST ITSELF UPDATES 05760000=01450000=
LSTRTN. THE LIST EXHAUSTED FLAG IS -1; 05765000=01451000=
@@ -2754,31 +2754,31 @@ COMMENT THE CONTENTS OF RELATIVE DISK SEGMENT ZERO OF THE CODE FILE ARE:04950000
COMMENT TB1 IS A TEMPORARY BOOLEAN VARIABLE; 05820000=01458000=
INTEGER 05825000=01459000=
JUMPCTR; 05830000=01459000=
- COMMENT JUMPCTR IS A VARIABLE USED FOR COMMUNICATION BETWEEN BLOCK 05835000=01460000=
- AND GENGO. IT GIVES HIGHEST LEVEL TO WHICH A JUMP HAS 05840000=01461000=
- BEEN MADE FROM WITHIN A THE PRESENTLY BEING COMPILED 05845000=01462000=
- SEGMENT. THE BLOCK COMPILES CODE TO INCREMENT AND DECRE- 05850000=01463000=
- MENT THE BLOCKCTR ON THE BASIS OF JUMPCTR AT COMPLETION 05855000=01464000=
- OF COMPILATION OF A SEGMENT - I.E. THE BLOCKCTR IS TALLIED 05860000=01465000=
- IF LEVEL = JUMPCTR; 05865000=01466000=
+ COMMENT JUMPCTR IS A VARIABLE USED FOR COMMUNICATION BETWEEN BLOCK05835000=01460000=
+ AND GENGO. IT GIVES HIGHEST LEVEL TO WHICH A JUMP HAS 05840000=01461000=
+ BEEN MADE FROM WITHIN A THE PRESENTLY BEING COMPILED 05845000=01462000=
+ SEGMENT. THE BLOCK COMPILES CODE TO INCREMENT AND DECRE- 05850000=01463000=
+ MENT THE BLOCKCTR ON THE BASIS OF JUMPCTR AT COMPLETION 05855000=01464000=
+ OF COMPILATION OF A SEGMENT - I.E. THE BLOCKCTR IS TALLIED05860000=01465000=
+ IF LEVEL = JUMPCTR; 05865000=01466000=
BOOLEAN 05870000=01467000=
GOTOG; 05875000=01467000=
- COMMENT GOTOG IS SET FALSE BY GOSTMT. DEXP SETS GOTOG TRUE IF ANY 05880000=01468000=
- LABEL OR SWITCH IS NON LOCAL. GOSTMT FINDS OUT BY THIS 05885000=01469000=
- MEANS WHETHER OR NOT A CALL ON MCP IS NECESSARY; 05890000=01470000=
+ COMMENT GOTOG IS SET FALSE BY GOSTMT. DEXP SETS GOTOG TRUE IF ANY05880000=01468000=
+ LABEL OR SWITCH IS NON LOCAL. GOSTMT FINDS OUT BY THIS 05885000=01469000=
+ MEANS WHETHER OR NOT A CALL ON MCP IS NECESSARY; 05890000=01470000=
REAL 05895000=01471000=
STLB; 05900000=01471000=
- COMMENT STLB IS USED BY VARIABLE AND ACTUALPARAPART TO COMMUNICATE 05905000=01472000=
- THE LOWER BOUND INFORMATION FOR THE LAST DIMENSION OF THE 05910000=01473000=
- ARRAY INVOLVED IN A ROW DESIGNATOR. THE FORMAT OF THE 05915000=01474000=
- INFORMATION IS THAT OF INFO. STLB IS ALSO SOMETIMES USED 05920000=01475000=
- FOR TEMPORARY STORAGE; 05925000=01476000=
+ COMMENT STLB IS USED BY VARIABLE AND ACTUALPARAPART TO COMMUNICATE 05905000=01472000=
+ THE LOWER BOUND INFORMATION FOR THE LAST DIMENSION OF THE 05910000=01473000=
+ ARRAY INVOLVED IN A ROW DESIGNATOR. THE FORMAT OF THE 05915000=01474000=
+ INFORMATION IS THAT OF INFO. STLB IS ALSO SOMETIMES USED 05920000=01475000=
+ FOR TEMPORARY STORAGE; 05925000=01476000=
DEFINE 05930000=01477000=
BUMPL = L:= L+2 #; 05935000=01477000=
- COMMENT BUMPL IS USED MOSTLY TO PREPARE A FORWARD JUMP; 05940000=01478000=
+ COMMENT BUMPL IS USED MOSTLY TO PREPARE A FORWARD JUMP; 05940000=01478000=
DEFINE 05945000=01479000=
IDMAX = LABELID #; 05950000=01479000=
- COMMENT IDMAX IS THE MAXIMUM CLASS NUMBER FOR IDENTIFIERS; 05955000=01480000=
+ COMMENT IDMAX IS THE MAXIMUM CLASS NUMBER FOR IDENTIFIERS; 05955000=01480000=
INTEGER 05960000=01481000=
DEFINECTR, 05965000=01481000=
DEFINEINDEX; 05970000=01481000=
@@ -2796,10 +2796,10 @@ COMMENT THE CONTENTS OF RELATIVE DISK SEGMENT ZERO OF THE CODE FILE ARE:04950000
NESTLEVEL, COMMENT COUNTS NESTING FOR GO TO AND JUMP OUTS; 06030000=01484000=
JUMPLEVEL; COMMENT NUMBER OF LEVELS TO BE JUMPED OUT; 06035000=01485000=
06045000=01486000=
- COMMENT THE REALS ABOVE ARE FOR STREAM STATEMENT; 06050000=01486000=
+ COMMENT THE REALS ABOVE ARE FOR STREAM STATEMENT; 06050000=01486000=
ARRAY 06055000=01487000=
MACRO[0:35]; 06060000=01487000=
- COMMENT MACRO IS FILLED WITH SYLLABLES FOR STREAM STATEMENT; 06065000=01488000=
+ COMMENT MACRO IS FILLED WITH SYLLABLES FOR STREAM STATEMENT; 06065000=01488000=
REAL 06070000=01489000=
P, COMMENT CONTAINS NUMBER OF FORMALS FOR STREAM PROCS; 06075000=01489000=
Z; COMMENT CONTAINS 1ST WORD OF INFO FOR STREAM FUNCTIONS; 06080000=01490000=
@@ -3029,7 +3029,7 @@ COMMENT THE CONTENTS OF RELATIVE DISK SEGMENT ZERO OF THE CODE FILE ARE:04950000
LNG = 19#, COMMENT (0115) 7.4.3.4 LOGICAL NEGATE; 07845000=01657000=
LOD = 260#, COMMENT (2021) 7.4.10.1 LOAD OPERATOR; 07850000=01658000=
LOR = 35#, COMMENT (0215) 7.4.3.2 LOGICAL OR; 07855000=01659000=
- LQV = 131#, COMMENT (1015) 7.4.3.3 LOGICAL EQUIVALENCE; 07860000=01660000=
+ LQV = 131#, COMMENT (1015) 7.4.3.3 LOGICAL EQIVALENCE; 07860000161030PK
LSS = 549#, COMMENT (4225) 7.4.4.5 LESS THAN; 07865000=01661000=
MDS = 515#, COMMENT (4015) 7.4.7.7 SET FLAG BIT; 07870000=01661100=
MKS = 72#, COMMENT (0441) 7.4.8.1 MARK STACK; 07875000=01662000=
@@ -3266,7 +3266,7 @@ COMMENT "BLANKET" BLANKS OUT N+1 WORDS IN "THERE"; 09000000
END #; 09135000=01742110=
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%09222000
INTEGER 09225000=01750000=
- FAULTLEVEL; COMMENT THIS IS FOR THE RUN0TIME ERROR KLUDGE-- 09230000=01750000=
+ FAULTLEVEL; COMMENT THIS IS FOR THE RUN-TIME ERROR KLUDGE-- 09230000161030PK
GIVES THE LOWEST LEVEL AT WHICH THERE IS AN ACTIVE 09240000=01751000=
FAULT DECL OR LABEL USED IN A FAULT STATEMENT; 09245000=01752000=
BOOLEAN 09250000=01753000=
@@ -3300,9 +3300,9 @@ COMMENT "BLANKET" BLANKS OUT N+1 WORDS IN "THERE"; 09000000
WRITE(LINE, 09735000=01829100=
$ SET OMIT = NOT ALGOL 09735100=01829900=
, 09735400=01832500=
@@ -3600,7 +3600,7 @@ COMMENT "SCNN" IS THE STREAM PROCEDURE WHICH DOES THE ACTUAL SCANNING. 12795000
IT IS DRIVEN BY A SMALL WORD MODE PROCEDURE CALLED "SCANNER", 12800000=02067500=
WHICH CHECKS FOR A QUANTITY BEING BROKEN ACROSS A CARD. "SCNN" 12805000=02068000=
IS CONTROLLED BY A VARIABLE CALLED "RESULT". "SCNN" ALSO 12810000=02068500=
- INFORMS THE WORLD OF ITS ACTION BY MEANS OF THE SAME VARIABLE, 12815000=02069000=
+ INFORMS THE WORLD OF ITS ACTION BY MEANS OF THE SAME VARIABLE. 12815000161030PK
HENCE THE VARIABLE "RESULT" IS PASSED BY BOTH NAME AND VALUE. 12820000=02069500=
THE MEANING OF "RESULT" AS INPUT IS: 12825000=02070000=
VALUE MEANING 12830000=02070500=
@@ -3632,7 +3632,7 @@ COMMENT "SCNN" IS THE STREAM PROCEDURE WHICH DOES THE ACTUAL SCANNING. 12795000
"COUNT" IS THE VARIABLE THAT GIVES THE NUMBER OF CHARACTERS 12960000=02083500=
"SCNN" HAS PUT INTO THE "ACCUMULATOR". SINCE "SCNN" NEEDS 12965000=02084000=
THE VALUE SO THAT IT CAN PUT MORE CHARACTERS INTO THE "ACCUM- 12970000=02084500=
- ULATOR" AND NEEDS TO UPDATE "COUNT" FOR THE OUTSIDE WORLD. 12975000=02085000=
+ ULATOR" AND NEEDS TO UPDATE "COUNT" FOR THE OUTSIDE WORLD, 12975000161030PK
"COUNT" IS PASSED BY BOTH NAME AND VALUE. IT IS ALSO 12980000=02085500=
CONVENIENT TO HAVE (63-COUNT). THIS IS CALLED "COMCOUNT". 12985000=02086000=
"NCR" (NEXT CHARACTER TO BE SCANNED) IS ALSO PASSED BY 12990000=02086500=
@@ -3784,7 +3784,7 @@ L: SCNN(SBUFF, NCR, COUNT, ACCUM, 1, 63-COUNT, RESULT, RESULT, COUNT, 13700000
IF NCR = LCR THEN 13710000=02129500=
BEGIN 13715000=02130000=
READACARD; 13720000=02130500=
- GO TO L; % GO DIRECTLY TO L, DO NOT PASS GO, 13760000=02135500=
+ GO TO L; % GO DIRECTLY TO L. DO NOT PASS GO, 13760000161030PK
% DO NOT COLLECT $200. 13765000=02136000=
END; 13770000=02136500=
END SCANNER; 13775000=02137000=
@@ -4017,7 +4017,7 @@ EOF: 15250000
TURNONSTOPLIGHT(6"%", DEFINEARRAY, CLCR-8); 15275000=02218250=
% 15280000=02218400=
GO COMPAR; 15285000=02218500=
-COMMENT THIS RELEASES THE PREVIOUS CARD FROM THE CARD READER AND 15295000=02218750=
+COMMENT THIS RELEASES THE PREVIOUS CARD FROM CARD READER AND 15295000161030PK
SETS UP CLCR; 15300000=02219000=
TAPELAST: 15305000=02219500=
MYSELF.STATUS:= VALUE(TERMINATED); 15310000=02219500=
@@ -5115,7 +5115,7 @@ COMMENT MIGHT BE FUNNY COMMA - HANDLE HERE; 20940000
COMMENT THE CODE BETWEEN IDENT AND COMPOST DOES A LOOKUP IN INFO. 21870000=02853000=
IF QUANTITY IS NOT FOUND THE ELBAT WORD EXPECTS TO BE 21875000=02854000=
ZERO. THE SCRAMBLE FOR APPROPRIATE STACK IS FIRST THING 21880000=02855000=
- TO BE DONE. THEN A CHECK IS MADE, USING SUPERSTACK. 21885000=02856000=
+ TO BE DONE. THEN A CHECK IS MADE, USING SUPERSTACK, 21885000161030PK
TO DETERMINE WHETHER THE IDENTIFIER IS ONE OF OUR 21890000=02857000=
COMMON RESERVED WORDS. IF IT IS, EXIT IS MADE TO 21895000=02858000=
COMPLETE, OTHERWISE THE LOOP BETWEEN COMPOST AND 21900000=02859000=
@@ -5963,12 +5963,12 @@ COMMENT#################################################################23780000
COMMENT EMITUP IS RESPONSIBLE FOR COMPILING THE CODE TO RAISE AN 25925000=04035000=
EXPRESSION TO SOME POWER IF THE EXPONENT IS A LITERAL 25930000=04036000=
OR A NEGATIVE LITERAL THEN IN LINE CODE IS COMPILED. THIS25935000=04037000=
- CODE CONSISTS OF A SERIES OF DUPS AND MULS, AS WITH 25940000=04038000=
+ CODE CONSISTS OF A SERIES OF DUPS AND MULS. AS WITH 25940000161030PK
EMITLNG CARE MUST BE TAKEN TO AVOID CONFUSION WITH LINKS 25945000=04039000=
AND CONDITIONAL EXPRESSIONS. IF THESE SPECIAL CASES DO 25950000=04040000=
NOT HOLD, THEN A CALL ON AN INTRINSIC PROCEDURE, XTOTHEI, 25955000=04041000=
IS CONSTRUCTED. XTOTHEI PRODUCES A SERIES OF MULTIPLIES 25960000=04042000=
- (APPROXIMATELY LN I MULTIPLIES) IF I IS AN INTEGER. 25965000=04043000=
+ (APROXIMATELY LN I MULTIPLIES) IF I IS AN INTEGER. 25965000161030PK
OTHERWISE IT CALLS LN AND EXP; 25970000=04044000=
PROCEDURE EMITUP; 25975000=04045000=
BEGIN 25980000=04046000=
@@ -6108,7 +6108,7 @@ COMMENT#################################################################23780000
EMITO(BRANCH & (REAL(GT1 >= 0)+1)[5:1:2]); 26650000=04122000=
IF BOOLEAN(BRANCH.[9:1]) THEN 26655000=04123000=
DIALA:= DIALB:= 0; 26660000=04123000=
- L:= TL; 26665000=04124000=
+ L:= TL 26665000161030PK
END EMITB; 26670000=04125000=
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%26675000=04125000=
COMMENT DEBUGWORD FORMATS TWO FIELDS FOR DEBUGGING OUTPUT IN 26680000=04126000=
@@ -6276,7 +6276,7 @@ FINISHED: 27380000
END EMITNUM; 27385000=04225000=
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%27390000=04225000=
COMMENT SEARCH PERFORMS A BINARY SEARCH ON THE COP AND WOP 27395000=04226000=
- ARRAYS, GIVEN THE OPERATOR BITS SEARCH YIELDS THE BCD 27400000=04227000=
+ ARRAYS. GIVEN THE OPERATOR BITS SEARCH YIELDS THE BCD 27400000161030PK
MNEUMONIC FOR THAT OPERATOR. IF THE OPERATOR CANNOT 27405000=04228000=
BE FOUND SEARCH YIELDS BLANKS. 27410000=04229000=
NOTE: DIA,DIB,TRB ARE RETURNED AS BLANKS. ; 27415000=04230000=
@@ -6375,7 +6375,7 @@ L: SEARCH:= Q[I+1]; 27555000
COMMENT 200 EMIT - SEGMENT GREATER THAN 4093 SYLLABLES *; 27910000=04301000=
END EMIT; 27915000=04302000=
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%27920000=04302000=
- COMMENT THE PRINCIPLE FUNCTION OF DEBUG IS TO COMPUTER THE PROPER 27925000=04303000=
+ COMMENT THE PRINCIPLE FUNCTION OF DEBUG IS TO COMPUTE THE PROPER 27925000161030PK
PARAMETERS FOR STREAM PROCEDURE BUG; 27930000=04304000=
COMMENT EMITD EMITS THE DIA,DIB,TRB SEQUENCE OF CODE. THE 27935000=04305000=
PREVIOUS SETTING OF THE G-H AND K-V REGISTERS IS COMPARED 27940000=04306000=
@@ -6422,8 +6422,8 @@ NORMAL: 28120000
EMIT(((DIALB:= B) DIV 6)*512+(B:= B MOD 6)*64+DIB); 28150000=04317000=
EMIT(TRB+64*T); 28155000=04318000=
DIALA:= DIALB:= 0; 28160000=04319000=
- COMMENT THE PRECEEDING STATEMENT CAN BE REMOVED FOR OPTIMIZING 28165000=04320000=
- G-H AND K-V REGISTERS, OTHERWISE NO OPTIMIZING OCCURS; 28170000=04321000=
+ COMMENT THE PRECEEDING STATEMENT CAN BE REMOVED FOR OPTIMIZING 28165000161030PK
+ G-H AND K-V REGISTERS,OTHERWISE NO OPTIMIZING OCCURS; 28170000161030PK
END EMITD; 28175000=04322000=
EXIT: 28180000=04322100=
END; 28185000=04322100=
@@ -6581,7 +6581,7 @@ EXIT: 28625000
INFO[INDEX.LINKR, INDEX.LINKC]:= WORD; 28940000=05009000=
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%28945000=05009000=
28950000=05010000=
- COMMENT FLAG FLAGS ERROR MESSAGES, COUNTS THEM AND SUPRESS FUTURE 28955000=05010000=
+ COMMENT FLAG FLAGS ERROR MESSAGES, COUNTS THEM AND SUPPRESS FUTURE 28955000161030PK
ERROR MESSAGES UNTIL THE COMPILER THINKS IT HAS RECOVERED;28960000=05011000=
PROCEDURE FLAG(ERRNUM); 28965000=05012000=
VALUE 28970000=05012000=
@@ -6609,13 +6609,13 @@ EXIT: 28625000
29030300
TALLY:= 0; 29030400
STREAMSETDI(LINE, 0); 29035000=05019000=
- STREAMSMEARLIT(11*8, 6" "); % BLANK LINE 29040000=05019000=
+ STREAMSMEARLIT(11*8, 6" "); %BLANK LINE 29040000161030PK
STREAMSETSI(LSTSEQ, QX); 29045000=05020000=
STREAMSKIPSI(-8); 29050000=05020000=
STREAMTRANSFERWDS(1); 29055000=05020000=
STREAMTRANSFERLIT(8, 6" <<<<"); 29060000=05021000=
STREAMTRANSFERLIT(8, 6"<<<<<<<<"); 29060100
- STREAMTRANSFERLIT(8, 6"<<<<<<<<"); % SET FLAG 29060200
+ STREAMTRANSFERLIT(8, 6"<<<<<<<<"); %SET FLAG 29060200161030PK
STREAMSETSI(LSTSEQ, QX); 29065000=05023000=
STREAMSETDI(LSTSEQ, QX); 29070000=05023000=
STREAMSKIPDI(-8); 29075000=05023000=
@@ -6799,7 +6799,7 @@ EXIT: 28625000
LTEMP = RR2 #; COMMENT LTEMP IS USED TO HOLD THE L 30025000=05163000=
REGISTER SETTING FOR THE SAVE OR 30035000=05164000=
RELEASE LITERAL THAT GETS PASSED TO 30040000=05165000=
- KEN MYERS; 30045000=05166000=
+ KEN MEYERS; 30045000161030PK
EMITO(MKS); 30050000=05167000=
L:= (LTEMP:= L)+1; 30055000=05167000=
EMITL(0); 30060000=05167000=
@@ -6842,7 +6842,7 @@ COMMENT PROCEDURE PASSLIST WILL BRING THE LIST PROGRAM DESCRIPTOR 30225000
INTEGER 30245000=05187540=
LISTADDRESS; 30250000=05187540=
30255000=05187550=
-COMMENT PASSLIST ASSUMES I IS POINTING AT LIST ID; 30260000=05187550=
+COMMENT PASSLIST ASSUMES I POINTING AT LIST ID; 30260000161030PK
CHECKER(ELBAT[I]); 30265000=05187560=
LISTADDRESS:= ELBAT[I].ADDRESS; 30270000=05187570=
IF ELCLASS = SUPERLISTID THEN % SUBSCRIPTED LIST ID. 30275000=05187580=
@@ -6993,7 +6993,7 @@ COMMENT PASSLIST ASSUMES I IS POINTING AT LIST ID; 30260000
END DEBUGDESC; 30895000=05243500=
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%30896000
REAL PROCEDURE PROGDESCBLDR(TYPE, RELAD, SPAC); 30900000=05245000=
- COMMENT THIS PROCEDURE BUILDS PDPRT AS DESCRIBED ABOVE, IT IS 30905000=05246000=
+ COMMENT THIS PROCEDURE BUILDS PDPRT AS DESCRIBED ABOVE.IT IS 30905000161030PK
CONCERNED WITH TYPE 1 ENTRIES.THE INFORMATION FURNISHED 30910000=05247000=
BY PDPRT ALLOWS A DRUM DESCRIPTOR TO BE BUILT FOR EACH 30915000=05248000=
SEGMENT AND A PSEUDO PROGRAM DESCRIPTOR TO BE BUILT INTO 30920000=05249000=
@@ -7389,7 +7389,7 @@ EXIT: 32735000
WRITEPRT(IF Q THEN 6"PRT " ELSE 6"STACK", L, B2D(GS)); 32760000=05376100=
END GETSPACE; 32765000=05378000=
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%32770000=05378000=
- COMMENT ARRAYCHECK CHECKS A PARAMTER-INFO WORD FOR SORT/MERGE; 32775000=05379000=
+ COMMENT ARRAYCHECK CHECKS A PARAMETER-INFO WORD FOR SORT/MERGE; 32775000161030PK
BOOLEAN PROCEDURE ARRAYCHECK(AAW); 32780000=05380000=
VALUE 32785000=05380000=
AAW; 32790000=05380000=
@@ -7406,7 +7406,7 @@ EXIT: 32735000
STEPIT 32845000=05387000=
END COMMACHECK; 32850000=05387000=
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%32855000=05387000=
- COMMENT HVCHECK CHECKS VALIDITY OF HIVALU PROCEDURE FOR SORT; 32860000=05388000=
+ COMMENT HVCHECK CHECKS VALIDITY OF HIVALU PROCEDURE FOR SORT; 32860000161030PK
BOOLEAN PROCEDURE HVCHECK(ELBW); 32865000=05389000=
VALUE 32870000=05389000=
ELBW; 32875000=05389000=
@@ -7474,7 +7474,7 @@ EXIT: 32735000
33185000=06000000=
COMMENT ROUTINES IN THIS SECTION COMPILE CODE FOR ALL EXPRESSIONS;33190000=06000000=
33195000=06001000=
- COMMENT AEXP IS THE ARITHMETIC EXRESSION ROUTINE; 33200000=06001000=
+ COMMENT AEXP IS THE ARITHMETIC EXPRESSION ROUTINE; 33200000161030PK
PROCEDURE AEXP; 33205000=06002000=
BEGIN 33210000=06003000=
IF ELCLASS = IFV THEN 33215000=06005000=
@@ -8121,7 +8121,7 @@ EXIT: 36115000
ALSO HANDLES THE CASE OF A CONCATENATE WHERE ACTUALPARA- 36395000=06163000=
PART CAUSED THE VARIABLE ROUTINE TO COMPILE ONLY PART OF 36400000=06164000=
A PRIMARY. MOST OF THE WORK OF SIMPBOO IS DONE BY BOO- 36405000=06165000=
- COMP. AN ARTIFIAL ROUTINE WHICH DOES THE HIERARCHY ANA- 36410000=06166000=
+ COMP, AN ARTIFIAL ROUTINE WHICH DOES THE HIERARCHY ANA- 36410000161030PK
LYSIS USING RECURSION; 36415000=06167000=
PROCEDURE SIMPBOO; 36420000=06168000=
BEGIN 36425000=06169000=
@@ -8180,7 +8180,7 @@ EXIT: 36115000
EMITLNG; 36690000=06203000=
EMITO(LND); 36695000=06204000=
EMITO(LNG); 36700000=06205000=
- EMITO(0); 36705000=06206000=
+ EMIT(0); 36705000161030PK
L:= L-1 36710000=06207000=
END 36715000=06208000=
ELSE 36720000=06208000=
@@ -8445,7 +8445,7 @@ COMMENT SET UP CODE FOR RELATIONAL OPERATOR TO BE 37990000
EMITTED LATER (AFTER PROCESSING SECOND HALF). 37995000=06284800=
THE HIGH-ORDER BITS OF THE BINARY OPERATOR 38000000=06285000=
ARE TAKEN FROM THE [30:10] FIELD OF THE 38005000=06285200=
- ELBAT WORD FRO THE RELATIONAL SYMBOL; 38010000=06285400=
+ ELBAT WORD FOR THE RELATIONAL SYMBOL; 38010000161030PK
IF MANY THEN 38015000=06285600=
IF SIMPLE THEN 38020000=06285800=
PLUG(CONSTANA, A, SIGNA) 38025000=06285800=
@@ -8736,7 +8736,7 @@ EXIT: 39315000
BEGIN 39460000=06366000=
COMMENT OUR BAD GO TO IS JUMPING OUTSIDE OF ALL PROCEDURES; 39465000=06367000=
EMIT(0); 39470000=06368000=
- EMITL(TLEVEL); 39475000=06369000=
+ EMITL(TLEVEL) 39475000161030PK
END 39480000=06370000=
ELSE 39485000=06370000=
BEGIN 39490000=06370000=
@@ -9099,7 +9099,7 @@ ANOTHER: 41195000
SCLASS:= SCLASS-GT1+1 41295000=07091000=
COMMENT IF PROCEDURE IS NOT FORMAL WE OBTAIN VBIT FROM THE ADDITION-41300000=07091000=
AL INFO FOR THE PROCEDURE. WE ALSO GET SCLASS FROM THIS 41305000=07092000=
- SOURCE. HOWEVER SCLASS IS NORMALIZED TO REAL, IF NEEDED; 41310000=07093000=
+ SOURCE, HOWEVER SCLASS IS NORMALIZED TO REAL, IF NEEDED; 41310000161030PK
END; 41315000=07094000=
IF T1:= TABLE(I+1) ^= COMMA THEN 41320000=07095000=
IF T1 ^= RTPAREN THEN 41325000=07096000=
@@ -9292,7 +9292,7 @@ ANOTHER: 41195000
THAN THIS IT SETS T6 TO ZERO; 42265000=07179000=
COMMENT IF THIS PLACE IS REACHED WE HAVE A NON-STREAM PROCEDURE. 42270000=07180000=
WE HAVE NOT YET DECEIDED WHETHER WE HAVE 42275000=07181000=
- 1) A ROW DESIGNATOR WITH FORMAL PROCEDURE. 42280000=07182000=
+ 1) A ROW DESIGNATOR WITH FORMAL PROCEDURE, 42280000161030PK
2) A SUBSCRIPTED VARIABLE, OR 42285000=07183000=
3) A GENUINE NAME CALL EXPRESSION; 42290000=07184000=
IF TABLE(I+2) = LITNO AND 42295000=07187000=
@@ -9466,10 +9466,10 @@ L10: 43145000
43155000=07275000=
TB1:= TRUE; 43160000=07275000=
IF FORMALF THEN 43165000=07275000=
- GO LODPOINT; 43170000=07275000=
+ GO TO LODPOINT; 43170000161030PK
LP: IF T1:= TAKE(WHOLE:= GIT(WHOLE)).[7:8] = 0 THEN 43175000=07277000=
BEGIN 43180000=07277000=
- COMMENT THE PRCOEDURE BEING PASSED HAS ZERO PARAMETERS; 43185000=07278000=
+ COMMENT THE PROCEDURE BEING PASSED HAS ZERO PARAMETERS; 43185000161030PK
IF TB1 THEN 43190000=07279000=
GO TO LODPOINT; 43195000=07279000=
COMMENT IF THE PROCEDURE IS NOT A FUNCTION, WE PASS THE PROCEDURE 43200000=07280000=
@@ -9552,7 +9552,7 @@ L18: 43520000
END 43595000=07336000=
ELSE 43600000=07336000=
GO TO LODPOINT; 43605000=07336000=
- COMMENT IF VBIT WE DO VALUE CALL. OTHERWISE WE PASS PROCEDURE 43610000=07337000=
+ COMMENT IF VBIT WE DO VALUE CALL, OTHERWISE WE PASS PROCEDURE 43610000161030PK
DESCRIPTOR ALONG; 43615000=07338000=
END; 43620000=07339000=
TB1:= FALSE; 43625000=07340000=
@@ -9642,7 +9642,7 @@ EXIT: 44020000
COMMENT PROCSTMT COMPILES CODE FOR ALL PROCEDURE STATEMENTS AND 44045000=07386000=
FUNCTION CALLS (EXCEPT FOR STREAM PROCEDURES). THE 44050000=07387000=
PARAMETERS, FROM, TELLS WHO CALLED. IF STMT CALLED FROM 44055000=07388000=
- IS TRUE, PROCSTMT ALSO HANDLES FUNCTION NAME ASSIGNMENT 44060000=07389000=
+ IS TRUE. PROCSTMT ALSO HANDLES FUNCTION NAME ASSIGNMENT 44060000161030PK
OPERATIONS; 44065000=07390000=
PROCEDURE PROCSTMT(FROM); 44070000=07391000=
VALUE 44075000=07391000=
@@ -9695,7 +9695,7 @@ EXIT: 44020000
EMITL(JUNK); 44305000=07418000=
EMITO(SND); 44310000=07418000=
EMITO(MKS); 44315000=07418000=
- EMITL(JUNK); 44320000=07419000=
+ EMITV(JUNK); 44320000161030PK
EMITL(PASSTYPE(HOLE)); 44325000=07419000=
EMITPAIR(GNAT(POWERSOFTEN), LOD); 44330000=07420000=
PASSALPHA(HOLE); 44335000=07420000=
@@ -9732,7 +9732,7 @@ EXIT: 44365000
GT4:= GT2.[46:6]; 44490000=07448000=
FOR GT1:= 1 STEP 1 UNTIL GT4 DO 44495000=07449000=
EMIT(0); 44500000=07449000=
- COMMENT THIS CODE CALLS ZERO LISTS TO MAKE SPACE FOR LOCALS INSIDE44505000=07450000=
+ COMMENT THIS CODE CALLS ZERO LITS TO MAKE SPACE FOR LOCALS INSIDE 44505000161030PK
OF STREAM PROCEDURES; 44510000=07451000=
IF ELCLASS ^= LEFTPAREN THEN 44515000=07452000=
ERR(128) 44520000=07453000=
@@ -10183,10 +10183,10 @@ EXIT: 46745000
COMMENT THE CASE STATEMENT HAS THE FOLLOWING FORM: 46770000=07646110=
CASE OF BEGIN 46775000=07646120=
AT EXECUTION THE CASE STATEMENT SELECTS ONE OF THE STATEMENTS 46780000=07646130=
- IN THE , DEPENDING ON THE VALUE OF THE , 46785000=07646140=
+ IN THE , DEPENDING ON THE VALUE OF THE . 46785000161030PK
ONLY THE SELECTED STATEMENT IS EXECUTED AND CONTROL RESUMES AFTER 46790000=07646150=
THE . IF THERE ARE N STATEMENTS IN THE 46795000=07646160=
- , THEY MAY BE CONSIDERED NUMBERED 0,1,...,N-1. 46800000=07646170=
+ , THEY MAY BE CONSIDERED NUMBERED 0,1,...,N-1, 46800000161030PK
AND THE MUST TAKE ON ONLY THESE VALUES. OTHER VALUES 46805000=07646180=
WILL RESULT IN AN INVALID INDEX TERMINATION OF THE OBJECT PROGRAM. 46810000=07646190=
THE STATEMENTS IN THE MAY BE ANY EXECUTABLE 46815000=07646200=
@@ -10331,7 +10331,7 @@ COMMENT THE FOLLOWING PROCEDURE HANDLES THE FILL STATEMENT. 47480000
BY THE FILL STATEMENT EVERY TIME THE FILL STATEMENT IS 47510000=07650000=
EXECUTED.STRINGCONSTANTS,LITERAL ,AND NONLITERAL NUMBERS 47515000=07650500=
ARE ALL CONVERTED BY THE SCANNER AND NUMBER BUILDER.OCTAL 47520000=07651000=
- NUMBERS LOOK LIKE IDENITIFERS TO FILLSTMT AND ARE CONVERTED 47525000=07651500=
+ NUMBERS LOOK LIKE IDENTIFIERS TO FILLSTMT AND ARE CONVERTED 47525000161030PK
BY OCTIZE.AFTER BUILDING THE SEGMENT AN ENTRY IS MADE IN 47530000=07652000=
PDPRT TO SUPPLY INFO TO BUILD A DISK DESCRIPTOR IN THE 47535000=07652500=
SEGMENT DICTIONARY.THE COMMUNICATE LITERAL IS 7; 47540000=07653000=
@@ -10881,7 +10881,14 @@ EXIT: 49280000
END 50210000=07859900=
ELSE 50215000=07859900=
$ SET OMIT = NOT TSPOL 50220000=07859900=
- $ POP OMIT % NOT SURE ABOUT THIS... 50220100
+ IF Q = 6"@COMMU" THEN % [NOT IN ORIGINAL LISTING]50220100161030PK
+ BEGIN % [NOT IN ORIGINAL LISTING]50220200161030PK
+ PANA; % [NOT IN ORIGINAL LISTING]50220300161030PK
+ EMITO(COM); % [NOT IN ORIGINAL LISTING]50220400161030PK
+ GO XXX % [NOT IN ORIGINAL LISTING]50220500161030PK
+ END % [NOT IN ORIGINAL LISTING]50220600161030PK
+ ELSE % [NOT IN ORIGINAL LISTING]50220700161030PK
+ $ POP OMIT % [NOT IN ORIGINAL LISTING]50220800161030PK
BEGIN 50225000=07900000=
ERROR(100); 50230000=07900000=
GO TO XXX 50235000=07900000=
@@ -11013,11 +11020,11 @@ EXIT: 50860000
END THIS HAIRY KLUDGE; % 50865000=07954000=
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%50870000=07954000=
50875000=08000000=
- COMMENT FORSTMT IS RESPONSIBLE FOR THE COMPILATION OF FOR STATEMENTS. 50880000=08000000=
+ COMMENT FORSTMT IS REPONSIBLE FOR THE COMPILATION OF FOR STATEMENTS. 50880000161030PK
IF THE FOR STATEMENT HAS A SINGLE STEP-UNTIL ELEMENT SUCH 50885000=08001000=
THAT THE INITIAL VALUE, THE STEP AND THE FINAL VALUE ARE 50890000=08002000=
ALL OF THE FORM V,+V, OR -V WHERE V IS A VARIABLE OR A 50895000=08003000=
- CONSTANT, THEN THE CODE TAKES ON MORE EFFICIENT FORM. 50900000=08004000=
+ CONSTANT, THEN THE CODE TAKES ON A MORE EFFICIENT FORM. 50900000161030PK
IN OTHER CASES THE CODE IS SOMEWHAT LESS EFFICIENT, SINCE 50905000=08005000=
THE BODY OF THE FOR STATEMENT BECOMES A SUBROUTINE. THE 50910000=08006000=
STEP ALSO BECOMES A SUBROUTINE IF IT IS NOT SIMPLE; 50915000=08007000=
@@ -11564,7 +11571,7 @@ EXIT: 53560000
EMITO(965) 53635000=08289030=
END #; 53640000=08289030=
PROCEDURE READSTMT; 53645000=08290000=
- BEGIN COMMENT READSTMT GENERATES CODE TO CALL INTERPTI)WHICH IS53650000=08291000=
+ BEGIN COMMENT READSTMT GENERATES CODE TO CALL INTERPTI(WHICH IS53650000161030PK
SHORT FOR INTERPRET INPUT) AN INTRINSIC PROCEDURE ON THE 53660000=08292000=
DRUM, PASSING TO IT PARAMETERS DETERMINED BY THE FORMAT OF53665000=08293000=
THE READ OR SPACE STATEMENT. 53670000=08294000=
@@ -11592,7 +11599,7 @@ EXIT: 53560000
VALUE IS ONE MORE THAN THE NUMBER OF RECORDS TO BE 53780000=08316000=
PROCESSED. 53785000=08317000=
END OF FILE LABEL IS A DATA DESCRIPTOR POINTING TO A LABEL53790000=08318000=
- DESCRIPTOR FOR THE END OF FILE JUMPS. 53795000=08319000=
+ DESCRIPTOR FOR END OF FILE JUMPS. 53795000161030PK
PARITY LABEL IS A DATA DESCRIPTOR POINTING TO A LABEL 53800000=08320000=
DESCRIPTOR FOR PARITY CONDITION JUMPS. 53805000=08321000=
+ OR - N IS SIMILAR TO ACTION TYPE. IT CONTAINS THE EXACT53810000=08322000=
@@ -11733,7 +11740,7 @@ EXIT: 53560000
%%% IN THE C-FIELD OF THE DSKADDR. THE SECOND 54520000=08411000=
%%% IS THE WAIT-TIME, RESIDING IN THE 54525000=08411010=
%%% F-FIELD OF THE DSKADDR, AND ALSO TURNING-ON 54530000=08411020=
- %%% THE EXP-SIGN BIT OF DSKADDR,X"S ARE EMPTIES 54535000=08411030=
+ %%% THE EXP-SIGN BIT OF DSKADDR.X"S ARE EMPTIES 54535000161030PK
%%% IN THE ABOVE, NS = NO OR STOP. 54540000=08411040=
STEPIT; %%% STEP OVER [, AND POINT AT NEXT ITEM. 54545000=08412000=
IF RR1:= 54550000=08412010=
@@ -12066,7 +12073,7 @@ COMMENT FILEATTRIBUTEHANDLER HANDLES FILE ATTRIBUTE STUFF. IT CONSTRUCTS56130000
PASSES N=FP, AND DOES THE SAME AS #3 (ABOVE). 56235000=08493410=
5. IODEC: 56240000=08493420=
PASSES N=FIO, AND TELLS FAH THAT A MKS & FILE DESC 56245000=08493430=
- HAVE ALREADY BEEN EMITTED, THE ATTRIBUTEINDX IS 56250000=08493440=
+ HAVE ALREADY BEEN EMITTED. THE ATTRIBUTEINDX IS 56250000161030PK
DETERMINED BY IODEC, AND IS PASSED VIA GT1. 56255000=08493450=
END OF COMMENT ; 56260000=08493460=
INTEGER PROCEDURE FILEATTRIBUTEHANDLER(N); 56265000=08493470=
@@ -12255,7 +12262,7 @@ EXIT: 56945000
SEPARATING THE FIRST AND SECOND 57215000=08574000=
PARAMETERS; 57220000=08575000=
LABEL 57225000=08576000=
- ONEPARENSH; COMMENT I IS POINT AT THE RIGHT 57230000=08576000=
+ ONEPARFNSH; COMMENT I IS POINTING AT THE RIGHT 57230000161030PK
PARENTHESIS AT THIS POINT AND I HAVE 57240000=08577000=
JUST DISCOVERED THAT THIS IS THE ONE 57245000=08578000=
PARAMETER CASE; 57250000=08579000=
@@ -12328,7 +12335,7 @@ EXIT: 56945000
EMITL(1); 57600000=08608000=
IF RRB1 THEN 57605000=08610000=
GO CHKSECOND; 57610000=08610000=
- ONEPARENSH: 57615000=08611000=
+ ONEPARFNSH: 57615000161030PK
STEPIT; 57620000=08611000=
EMITL(0); 57625000=08611000=
EMITL(0); 57630000=08611000=
@@ -12358,15 +12365,15 @@ EXIT: 56945000
IF CHECK(LFTBRKET, 440) THEN 57750000=08615000=
GO TO EXIT; 57755000=08615000=
COMMENT ERROR 440 MEANS IMPROPER DELIMITER FOR FIRST 57760000=08616000=
- PARAMETER IN A WRITE STATEMENT; 57765000=08617000=
+ PARARAMETER IN A WRITE STATEMENT; 57765000161030PK
STEPIT; 57770000=08618000=
%%% THE FOLLOWING CODE COMPILES CODE FOR [DPN],[DPN,*], 57775000=08619000=
%%% [DPN,],[*],[*,*],[*,],[],[,*] 57780000=08619010=
- %%% AND [,], WHERE DPN IN STOP, DBL, PAGE, OR 57785000=08619020=
+ %%% AND [,], WHERE DPN IS STOP, DBL, PAGE, OR 57785000161030PK
%%% NO. THE FIRST (LEFTMOST) IS THE CHANNELSKIP, 57790000=08619030=
%%% RIGHT JUSTIFIED TO ITS C-FIELD. THE SECOND IS 57795000=08619040=
%%% THE WAIT-TIME, RESIDING IN THE F-FIELD OF CHANNELSKIP,57800000=08619050=
- %%% AND ALSO TURNING ON THE EXP-SIGN BIT OF CHANNELSKIP, 57805000=08619060=
+ %%% AND ALSO TURNING ON THE EXP-SIGN BIT OF CHANNELSKIP. 57805000161030PK
%%% *"S ARE CONSIDERED TO BE EMPTIES. 57810000=08619070=
IF ACCUM1:= 57815000=08619080=
IF ACCUM1:= ACCUM[1] = 6"3DBL00" THEN 57820000=08619080=
@@ -12454,7 +12461,7 @@ EXIT: 56945000
CONTROL PART; 58230000=08636000=
CHKRTPAREN: 58235000=08637000=
IF STEPI = RTPAREN THEN 58240000=08638000=
- GO TO ONEPARENSH; 58245000=08638000=
+ GO TO ONEPARFNSH; 58245000161030PK
IF CHECK(COMMA, 442) THEN 58250000=08640000=
GO TO EXIT; 58255000=08640000=
COMMENT ERROR 442 MEANS ILLEGAL CARRIAGE CONTROL 58260000=08641000=
@@ -12727,7 +12734,7 @@ EXIT: 59610000
::=CLOSE(,SAVE)/ 59660000=08761000=
- - - - - - - - - - - - - - 59665000=08762000=
(3,0,FILE,4) 59670000=08763000=
- ** ** ** ** ** ** ** ** ** ** ** ** ** ** 59675000=08764000=
+ ** ** ** ** ** ** ** ** ** ** ** ** ** ** 59675000161030PK
CLOSE(,RELEASE)/ 59680000=08765000=
- - - - - - - - - - - - - - 59685000=08766000=
(7,0,FILE,4) 59690000=08767000=
@@ -12737,8 +12744,8 @@ EXIT: 59610000
(1,0,FILE,4) 59710000=08771000=
::= CLOSE(, PURGE) 59715000=08771100=
-- -- -- -- -- --- -- -- -- -- -- -- 59720000=08771200=
- (4,0,FILE,4) 59725000=08771300=
- ** ** ** ** ** ** *** ** ** ** ** ** ; 59730000=08771400=
+ (4,0,FILE,4) 59725000=08771300=
+ ** ** ** ** ** ** *** ** ** ** ** ** ; 59730000=08771400=
LABEL 59735000=08772000=
EXIT; COMMENT THE LABEL EXIT APPEARS AFTER THE LAST 59740000=08772000=
EXECUTABLE STATEMENT IN THE CLOSESTMT ROUTINE; 59750000=08773000=
@@ -12783,12 +12790,12 @@ EXIT: 59610000
GO EMITREST; 59970000=08803000=
END; 59975000=08804000=
IF ELCLASS = FACTOP THEN 59980000=08806000=
- BEGIN COMMENT ASTERISK UNTI DISPOSITION PART CASE; 59985000=08806000=
+ BEGIN COMMENT ASTERISK UNIT DISPOSITION PART CASE; 59985000161030PK
EMITL(1); 59995000=08807000=
GO EMITREST; 60000000=08807000=
END; 60005000=08808000=
IF ELCLASS = DECLARATORS AND ELBAT[I].ADDRESS = SAVEV THEN 60010000=08810000=
- BEGIN COMMENT SAVE UNIT DISPOSITION PART CASE; 60015000=08810000=
+ BEGIN COMMENT SAVE UNIT DISPOSTION PART CASE; 60015000161030PK
EMITL(3); 60025000=08811000=
GO EMITREST; 60030000=08811000=
END; 60035000=08812000=
@@ -12828,7 +12835,7 @@ EXIT: 60130000
THISL = RR1 #; COMMENT THISL IS A TEMP CELL 60220000=08835000=
FOR THE CURRENT L REGISTER; 60230000=08836000=
DEFINE 60235000=08837000=
- LTEMP = RR2 #; COMMENT LTEMP SETTING FOR THE60240000=08837000=
+ LTEMP = RR2 #; COMMENT LTEMP CONTAINS THE 60240000161030PK
L REGISTER SETTING FOR THE 60250000=08838000=
SAVE OR RELEASE LITERAL THAT 60255000=08839000=
GETS PASSED TO KEN MEYERS; 60260000=08840000=
@@ -12903,12 +12910,12 @@ EXIT: 60380000
... 2,3,4,5,6,7 NUMBER OF FILES TO MERGE, OR 60610000=08870000=
0,3,4,5 ... NUMBER OF SORTTAPES TO USE 60615000=08871000=
TP5 FL7 SCRATCH TAPES FOR SORT, 60620000=08872000=
- TP4 FL6 OR MERGE FILES, POINTERS TO 60625000=08873000=
+ TP4 FL6 OR MERGE FILES. POINTERS TO 60625000161030PK
TP3 FL5 TOP I/O DESCRIPTORS, OR ZERO 60630000=08874000=
TP2 FL4 IF NOT USED. 60635000=08875000=
TP1 FL3 60640000=08876000=
0 FL2 DISK FILES FOR SORT 60645000=08877000=
- DK0 FL1 60650000=08878000=
+ DKO FL1 60650000161030PK
0/1 0 TRUE IF INPUT PROCEDURE 60655000=08879000=
0/1 0/1 TRUE IF OUTPUT PROCEDURE 60660000=08880000=
INF 0 POINTER TO I/O DESC FOR INPUT 60665000=08881000=
@@ -13544,7 +13551,7 @@ COMMENT THIS IS THE FILL FOR THE SECOND ROW OF INFO: 63020000
3"1360001000000000", COMMENT x; 3"0000000000000000", 63710000=09206000=
3"0000000000040000", COMMENT $; 3"1370000000000000", COMMENT *; 63715000=09207000=
3"1350000600000000", COMMENT -; 3"1240000000160000", COMMENT ); 63720000=09208000=
- 3"0620000000000000", COMMENT .,; 3"1340010250003470", COMMENT <=; 63725000=09209000=
+ 3"0620000000000000", COMMENT .,; 3"1340010250003470", COMMENT .<=; 63725000161030PK
3"0000000000000000", 3"1360002000000000", COMMENT /; 63730000=09210000=
3"1170000000000000", COMMENT ,; 3"0000000000020000", COMMENT %; 63735000=09211000=
3"1340001050002561", COMMENT ^=; 3"1340011050002460", COMMENT =; 63740000=09212000=
@@ -13602,9 +13609,9 @@ FILL INFO[2,*] WITH 3"0030000120000000", 6"2LB000", % THESE ENTRIES ARE 63760000
3"0130000000040000", 6"5GAMMA", 3"0000000012600000",%65464000000=09214415=
3"0130000000040000", 6"5LNGAM", 3"0000000012700000",%65764005000=09214420=
3"0130000000040000", 6"3TAN00", 3"0000000011100007",%66064010000=09214425=
- 3"0130000260000000", 6"4FAST0", %66364015000=09214426=
- 3"0130000270000000", 6"4SLOW0", %66564020000=09214427=
- 3"0130000240000000", 6"7PROTE",6"CT000000", %66764025000=09214428=
+ 3"0030000260000000", 6"4FAST0", %66364015000161030PK
+ 3"0030000270000000", 6"4SLOW0", %66564020000161030PK
+ 3"0030000240000000", 6"7PROTE",6"CT000000", %66764025000161030PK
3"2000000000004050", COMMENT POWERS OF TEN ; %67064030000=09214430=
3"0430000250000000", 6"5FIELD", %67164035000=09214432=
0, 6">SORT ",6"TEMPORAR",6"Y0000000", % SORTA %67364040000=09214435=
@@ -13685,7 +13692,7 @@ FILL INFO[2,*] WITH 3"0030000120000000", 6"2LB000", % THESE ENTRIES ARE 63760000
LITC 0 --- THIS PUTS A BOTTOM ON THE STACK 64410000=09255000=
AND IS ALSO USED AS A ONE SYLLABLE 64415000=09256000=
CHARACTER MODE PROGRAM TO CAUSE AN EXIT. 64420000=09257000=
- ITS PRIMARY FUNCTION IS TO CUT BACK 64425000=09258000=
+ ITS PRIMARY FUNTION IS TO CUT BACK 64425000161030PK
THE STACK AFTER A COMMUNICATE OPERATOR. 64430000=09259000=
MKS --- THIS SETS THE PROGRAM UP FOR RUNNING 64435000=09260000=
IN SUBPROGRAM LEVEL.THIS IS TO ALLOW 64440000=09261000=
@@ -13713,7 +13720,7 @@ FILL INFO[2,*] WITH 3"0030000120000000", 6"2LB000", % THESE ENTRIES ARE 63760000
PRT AS AN ABSENT DATA DESCRIPTOR.IT MAY BE RECOGNIZED IN 64605000=09282000=
INFO BECAUSE IT IS MINUS. THE FIRST WORD IN EACH OF THESE 64610000=09283000=
ENTRIES LOOKS LIKE THE REST OF INFO EXCEPT THAT THE INCR 64615000=09284000=
- FIELD IS BROKEN INTO 2 PARTS, [14:2] IS USED TO ADD TO THE 64620000=09285000=
+ FIELD IS BROKEN INTO 2 PARTS. [14:2] IS USED TO ADD TO THE 64620000161030PK
INDEX OF CURRENT WORD TO LINK TO NEXT ENTRY.THE REST OF 64625000=09286000=
THE INCR FIELD IS USED BY IMPFUN. THE ADDITIONAL INFO 64630000=09287000=
PORTION INDICATES AN INDEX THAT ALLOWS THE MCP TO ASSIGN 64635000=09288000=
@@ -13860,12 +13867,12 @@ COMMENT WRITE DISK SEGMENT ZERO; 65285000
IF LISTER OR NOT NOHEADING THEN 65350000=09408000=
BEGIN 65355000=09409000=
FORMAT PAN("NUMBER OF ERRORS DETECTED =",I4,". COMPILAT" 65360000=09409200=
- ,"ION TIME = ",I5," SECONDS."X22,2A4/ 65365000=09410000=
+ ,"ION TIME =",I5," SECONDS.",X22,2A4/ 65365000161030PK
"PRT SIZE =",I4,"; TOTAL SEGMENT SIZE =",I6, 65370000=09411000=
" WORDS; DISK SIZE =",I4," SEGS; NO. PGM. SEGS =", 65375000=09412000=
I4/"ESTIMATED CORE STORAGE REQUIRED =",I6," WORDS.", 65380000=09413000=
/"ESTIMATED AUXILIARY MEMORY REQUIRED =",I6," WORDS.", 65385000=09414000=
- /"NUMBER OF CARD-IMAGES PROCESSED =",F7.0); 65390000=09414100=
+ /"NUMBER OF CARD-IMAGES PROCESSED = ",F7.0); 65390000161030PK
FORMAT SERR("THERE WERE ",V6," SEQUENCE ERRORS"); 65395000=09414101=
EBCDICBUFF[0]:= GT1; 65395100
MOVECHARACTERS 65400000=09415000=
@@ -13902,7 +13909,7 @@ COMMENT WRITE DISK SEGMENT ZERO; 65285000
FORMATING ROUTINES TO PRODUCE DESIRED I/O. THERE IS ONE 65505000=10002000=
WORD OF PSEUDO CODE PRODUCED FOR EACH EDITING PHRASE. IN 65510000=10003000=
ADDITION ONE WORD IS PRODUCED FOR EACH LEFT PARENTHESIS, 65515000=10004000=
- RIGHT PARENTHESIS, AND STROKE. EACH SIX CHARACTERS OF 65520000=10005000=
+ RIGHT PARENTHESIS, AND STROKE. EACH SIX CHARACTORS OF 65520000161030PK
STRING ALSO PRODUCES ONE WORD. IN ADDITION THERE IS ONE 65525000=10006000=
EXTRA WORD FOR EACH LEFT PARENTHESIS WITH NO REPEAT PART. 65530000=10007000=
THIS IS AN IMPLIED STROKE TO CONTROL END OF LINE CONDI- 65535000=10008000=
@@ -13912,7 +13919,7 @@ COMMENT WRITE DISK SEGMENT ZERO; 65285000
SKIP = [15:6], 65555000=10012000=
CODE = [45:4], 65560000=10013000=
W = [41:6], 65565000=10014000=
- W1 = [19:4], W2 = [23:4], D1 = [27:4], D2 = [31:4], 65570000=10015000=
+ W1 = [19:4], W2 = [23:4], D1 = [27:4], D2 = [31:4]. 65570000161030PK
S IS A DISTINGUISHER BETWEEN EDITING PHRASES AND OTHER 65575000=10016000=
TYPE WORDS. CODE IS THE INTERNAL CODE TO DISTINGUISH 65580000=10017000=
BETWEEN THE VARIOUS EDITING PHRASES OR BETWEEN THE OTHER 65585000=10018000=
@@ -13920,7 +13927,7 @@ COMMENT WRITE DISK SEGMENT ZERO; 65285000
IF CODE = 0 THEN RIGHTPAREN, 65595000=10020000=
IF CODE = 2 THEN STRING, 65600000=10021000=
IF CODE = 4 THEN LEFTPAREN, 65605000=10022000=
- IF CODE = 6 THEN STROKE, 65610000=10023000=
+ IF CODE = 6 THEN STROKE. 65610000161030PK
IF CODE = 8 THEN SCALE. 65615000=10023100=
GIVEN S = 0 WE HAVE 65620000=10024000=
IF CODE = 0 THEN D, 65625000=10025000=
@@ -13933,8 +13940,8 @@ COMMENT WRITE DISK SEGMENT ZERO; 65285000
IF CODE = 11 THEN U, 65660000=10030100=
IF CODE =12 THEN O, 65665000=10031000=
IF CODE = 13 THEN V, 65670000=10031100=
- IF CODE =14 THEN L, 65675000=10032000=
- IF CODE = 15 THEN R, 65680000=10032100=
+ IF CODE =14 THEN L. 65675000161030PK
+ IF CODE = 15 THEN R. 65680000161030PK
W IS THE FIELD WIDTH. 65685000=10033000=
FOR STRINGS [35:36] IS W CHARACTORS OF ALPHA, RIGHT 65690000=10034000=
ADJUSTED. THE REST OF THE FIELDS ARE MEANINGLESS. 65695000=10035000=
@@ -13945,33 +13952,33 @@ COMMENT WRITE DISK SEGMENT ZERO; 65285000
A NON-ZERO REPEAT FIELDS. 65720000=10040000=
THE DESCRIPTION OF W1,W2, D1, AND D2 APPLIES ONLY TO 65725000=10041000=
FORMATING TYPES. FOR THE PURPOSES OF DESCRIPTION LET 65730000=10042000=
- D BE THE DECIMAL PART. W IS, OF COURSE, THE WIDTH, 65735000=10043000=
+ D BE THE DECIMAL PART. W IS, OF COURSE, THE WIDTH. 65735000161030PK
THEN FOR D, W1=W2=D1=D2=SKIP=0. 65740000=10044000=
FOR X, W = SKIP = WIDTH MOD 64 AND W1 = WIDTH DIV 64. 65745000=10045000=
W2 = D1 = D2 =0. 65750000=10046000=
FOR T, W=(WIDTH-1) MOD 64, W1=(WIDTH-1) DIV 64, AND 65755000=10046010=
W2=D1=D2=0. 65760000=10046020=
- FOR A, W1 = W, SKIP = 0 IF W < 6, OTHERWISE 65765000=10047000=
- W1 = 6, SKIP = W-6, W2=D1=D2=0. 65770000=10048000=
+ FOR A, W1 = W, SKIP = 0 IF W < 6. OTHERWISE 65765000161030PK
+ W1 = 6, SKIP = W-6. W2=D1=D2=0. 65770000161030PK
FOR I: SKIP = IF W > 16 THEN W-16 ELSE 0. 65775000=10049000=
IF W > 8 THEN W1 = 8, W2 = W-SKIP-8. 65780000=10050000=
- IF W < 8 THEN W1 = W, W2 = 0, ALWAYS D1=D2=0. 65785000=10051000=
- FOR F IF D < 8 THEN D1 = D, D2=0, 65790000=10052000=
- IF D > 8 THEN D1 = 8, D2=D-8, 65795000=10053000=
+ IF W < 8 THEN W1 = W, W2 = 0. ALWAYS D1=D2=0. 65785000161030PK
+ FOR F IF D < 8 THEN D1 = D, D2=0. 65790000161030PK
+ IF D > 8 THEN D1 = 8, D2=D-8. 65795000161030PK
IF D >16 THEN ERROR. 65800000=10054000=
IF W-D-1 > 16 THEN SKIP = W-D-17, OTHERWISE 65805000=10055000=
SKIP=0. 65810000=10056000=
- IF W-D-1 > 8 THEN W1=8, W2=W-D-1-SKIP-8, 65815000=10057000=
+ IF W-D-1 > 8 THEN W1=8, W2=W-D-1-SKIP-8 65815000161030PK
IF W-D-1 < 8 THEN W1=W-D-1,W2=0. 65820000=10058000=
FOR E D1 AND D2 ARE CALCULATED AS IN F EXCEPT THAT WE 65825000=10059000=
- D+1 FOR D, SKIP = W-D-6, W1=W2=0. 65830000=10060000=
- FOR O, W1=W2=D1=D2=SKIP=0, 65835000=10061000=
- FOR L, W2=D1=D2=0, IF W > 5 THEN W1=5 ELSE W1 = W, 65840000=10062000=
- SKIP = W-W1, 65845000=10063000=
+ D+1 FOR D. SKIP = W-D-6. W1=W2=0. 65830000161030PK
+ FOR O, W1=W2=D1=D2=SKIP=0. 65835000161030PK
+ FOR L, W2=D1=D2=0. IF W > 5 THEN W1=5 ELSE W1 = W. 65840000161030PK
+ SKIP = W-W1. 65845000161030PK
FOR U: SKIP = W1 = W2 = D1 = D2 = 0. 65850000=10063100=
FOR B: SEE U-PHRASE DESCRIPTION. 65855000=10063110=
FOR R: SEE ABOVE F-PHRASE DESCRIPTION. 65860000=10063200=
- FOR V: SKIP = W1 = W2 = UNSET, D1,D2 AS IN ABOVE 65865000=10063300=
+ FOR V: SKIP = W1 = W2 = UNSET. D1,D2 AS IN ABOVE 65865000161030PK
F-PHRASE DESCRIPTION. 65870000=10063400=
FORMATPHRASE USES RECURSION TO DO ANALYSIS OF SYNTAX. THE65875000=10064000=
WORDS ARE GENERATED AND PLACED DIRECTLY INTO THE CODE 65880000=10065000=
@@ -14220,8 +14227,8 @@ COMMENT WRITE DISK SEGMENT ZERO; 65285000
END 67120000=10150220=
END 67125000=10150220=
ELSE 67130000=10150220=
- W:= -63; %%% PHRASE IS D. 67135000=10150220=
- EMITFORMAT(FALSE, RD, REPEAT, SKIP, W, REAL(CODE = 6"B"), 67140000=10150230=
+ W:= -63; %%% PHRASE IS U. 67135000161030PK
+ EMITFORMAT(FALSE, RU, REPEAT, SKIP, W, REAL(CODE = 6"B"), 67140000161030PK
REAL(W < 0), 0, 0); 67145000=10150230=
GO TO EXIT; 67150000=10150260=
END OF U PHRASE HANDLER; 67155000=10150270=
@@ -14622,7 +14629,7 @@ EXIT: 68955000
FORSTMT COMMENT FORCLAUSE; 69060000=10294000=
ELSE 69065000=10295000=
IF ELCLASS = LFTBRKET THEN 69070000=10296000=
- BEGIN COMMENT GORUP OF LIST ELEMENTS; 69075000=10296000=
+ BEGIN COMMENT GROUP OF LIST ELEMENTS; 69075000161030PK
DO BEGIN 69085000=10297000=
STEPIT; 69090000=10297000=
LISTELEMENT 69095000=10297000=
@@ -14701,7 +14708,7 @@ EXIT: 68955000
FLAG FOR A LIST, THE CODE TO JUMP AROUND THE LIST, 69490000=10336000=
THE INITIAL JUMP OF THE LIST, THE OBTAINING OF A PRT CELL 69495000=10337000=
FOR THE LIST, THE OBTAINING OF AN ACCIDENTAL PROGRAM 69500000=10338000=
- DESCRIPTOR, THE STUFFING OF F INTO THIS DESCRIPTOR, 69505000=10339000=
+ DESCRIPTOR, THE STUFFING OF F INTO THIS DESCRIPTOR. 69505000161030PK
LISTGEN EXPECTS I TO POINT AT FIRST LIST ELEMENT AND 69510000=10340000=
LEAVES I POINTING AT FIRST ITEM BEYOND RIGHTPAREN. THE 69515000=10341000=
VALUE RETURNED BY LISTGEN IS THE LOCATION OF THE 69520000=10342000=
@@ -14749,7 +14756,7 @@ EXIT: 68955000
THERE ARE SIX TYPES OF MONITOR LIST ELEMENTS. THEY ARE 69735000=10373000=
LABELS, SWITCHES, SIMPLE VARIABLES, SUBSCRIPTED VARIABLES,69740000=10374000=
ARRAYS, AND FUNCTION DESIGNATORS. 69745000=10375000=
- WITH ONE EXCEPTION, THE MERRIMAX ROUTINES ONLY FUNCTION 69750000=10376000=
+ WITH ONE EXCEPTION, THE MERRIMAC ROUTINES ONLY FUNCTION 69750000161030PK
IS TO SAVE INFORMATION SO THAT OTHER ROUTINES, SUCH AS THE69755000=10377000=
VARIABLE ROUTINE, CAN GENERATE THE ACTUAL CODE THAT CALLS 69760000=10378000=
THE PRINTI ROUTINE AT OBJECT TIME. THE ONE EXCEPTION IS 69765000=10379000=
@@ -14790,13 +14797,13 @@ EXIT: 68955000
FORMAT TYPE PRINTOUT 69940000=10414000=
----------- -------- 69945000=10415000=
0 ID 69950000=10416000=
- --------- ----- 69955000=10417000=
+ --------- ------ 69955000161030PK
1 ID=V 69960000=10418000=
- --------- ----- 69965000=10419000=
+ --------- ------ 69965000161030PK
2 ID[S1---SN]=V 69970000=10420000=
- --------- ----- 69975000=10421000=
+ --------- ------ 69975000161030PK
3 ID[S1---SN]=V 69980000=10422000=
- --------- ----- 69985000=10423000=
+ --------- ------ 69985000161030PK
4 ID=V1---VN 69990000=10424000=
*********** ******** 69995000=10425000=
THE FORMAT THAT V IS PRINTED IN WILL BE DETERMINED BY70000000=10426000=
@@ -14828,7 +14835,7 @@ EXIT: 68955000
--------- ------------------------- 70130000=10452000=
4 (DESCRIPTOR FOR THE ARRAY,N,TYPEV, 70135000=10453000=
POWERSOFTEN,ID,CHARI,FILE,4) 70140000=10454000=
- *********** *************************** 70145000=10455000=
+ *********** **************************** 70145000161030PK
SINCE THE RESTRICTION EXISTS THAT THE SCOPE OF THE 70150000=10456000=
MONITOR FOR A LABEL OR SWITCH MUST BE THE SAME AS 70155000=10457000=
THE SCOPE OF THE LABEL OR SWITCH, THE INFORMATION 70160000=10458000=
@@ -14844,7 +14851,7 @@ EXIT: 68955000
WORD WILL BE SET. 70210000=10468000=
SIMPLE VARIABLES- A NEW ENTRY IS MADE IN INFO WITH 70215000=10469000=
ONE EXTRA WORD WHICH CONTAINS THE ADDRESS OF 70220000=10470000=
- THE MONITOR FILE IN [10:11], I WILL HAVE A 70225000=10471000=
+ THE MONITOR FILE IN [10:11]. I WILL HAVE A 70225000161030PK
DEFINE SVARMONFILE = [10:11]#. 70230000=10472000=
ARRAYS- A NEW ENTRY IS MADE IN INFO WITH THE SAME 70235000=10473000=
NUMBER OF WORDS AS THE ORIGIONAL ENTRY. THE 70240000=10474000=
@@ -15124,13 +15131,13 @@ EXIT: 71640000
ENTRY TO THE BLOCK CONTAINING THE DUMP DECLARATION. THE 71755000=10699000=
OTHER TYPE CODE IS ONLY EXECUTED WHEN THE DUMPOR IS PASSED71760000=10700000=
. THIS CODE THEN COMPARES THE DUMPORS COUNTER WITH THE 71765000=10701000=
- DUMP INDICATOR, IF THEY ARE NOT EQUAL IT JUMPS TO EXIT. 71770000=10702000=
+ DUMP INDICATOR. IF THEY ARE NOT EQUAL IT JUMPS TO EXIT. 71770000161030PK
IF THEY ARE EQUAL IT THEN PROCEEDS TO CALL PRINTI ONCE 71775000=10703000=
FOR EACH DUMP LIST ELEMENT. FOR A DESCRIPTION OF PRINTI 71780000=10704000=
SEE THE COMMENTS FOR THE MERRIMAC ROUTINE; 71785000=10705000=
LABEL 71790000=10706000=
START; COMMENT WHEN START IS REACHED, I MUST BE 71795000
- POINTING AT THE FILE IDENTIFIER IN THE DUMP 71805000=10707000=
+ POINTING AT THE FILE INDENTIFIER IN THE DUMP 71805000161030PK
DECLARATION; 71810000=10708000=
LABEL 71815000=10709000=
EXIT; COMMENT EXIT APPEARS AT THE END OF THE DMUP 71820000
@@ -15168,7 +15175,7 @@ EXIT: 71640000
PASSN; COMMENT THE CODE AT PASSN PASSES N (THE 72015000
NUMBER OF DIMENSIONS) TO THE PRINTI ROUTINE; 72025000=10735000=
LABEL 72030000=10736000=
- SUBSLOOP; COMMENT THE CODE AT SUBLOOP PASSES 72035000
+ SUBSLOOP; COMMENT THE CODE AT SUBSLOOP PASSES 72035000161030PK
SUBSCRIPTS TO PRINTI; 72045000=10737000=
ARRAY 72050000=10738000=
LABELCTR[0:100]; COMMENT LABELCTR IS AN ARRAY THAT 72055000
@@ -15378,7 +15385,7 @@ STARTCALL: 72530000
IF CHECK(RTPAREN, 416) THEN 73195000=10903000=
GO TO EXIT; 73200000=10903000=
COMMENT ERROR 416 MEANS ILLEGAL DUMP LIST ELEMENT 73205000=10904000=
- DELIMETER; 73210000=10905000=
+ DELIMITER; 73210000161030PK
LEXIT:= L; 73215000=10906000=
EMITL(0); 73220000=10906000=
EMITO(RTS); 73225000=10906000=
@@ -15443,12 +15450,12 @@ EXIT: 73495000
OF EFFICIENCY. IF A SWITCH IS ONLY CALLED ONE THE CODE 73540000=10944000=
IS QUITE A BIT BETTER. AFTER SWITCHGEN GOTOG IS TRUE IF 73545000=10945000=
A COMMUNICATE MUST BE USED. THE BLOCK ROUTINE MARKS SUCH 73550000=10946000=
- SWITCHES FORMAL. THIS IS, OF COURSE, A FICTION, FOR 73555000=10947000=
+ SWITCHES FORMAL. THIS IS, OF COURSE, A FICTION. FOR 73555000161030PK
SIMPLE SWITCHES SWITCHGEN LEAVES THE INDEX TO INFO IN EDOC73560000=10948000=
SO THAT PURGE CAN FIND THE LABELS. IT SHOULD BE NOTED 73565000=10949000=
THAT A SWITCH EXPECTS THE SWITCH INDEX TO BE FOUND IN 73570000=10950000=
JUNK. THE RESULT RETURNED BY SWITCHGEN IS WHETHER OR NOT 73575000=10951000=
- TO STUFF F INOT A SWITCH DESCRIPTOR, SINCE A SWITCH DE- 73580000=10952000=
+ TO STUFF F INTO A SWITCH DESCRIPTOR, SINCE A SWITCH DE- 73580000161030PK
SCRIPTOR IS AN ACCIDENTAL ENTRY DESCRIPTOR; 73585000=10953000=
BOOLEAN PROCEDURE SWITCHGEN(BEFORE, PD); 73590000=10954000=
VALUE 73595000=10954100=
@@ -16249,7 +16256,7 @@ START: 77375000
EMITL(1); 77480000=13196450=
EMITV(5); COMMENT CREATE AN ARRAY TO HOLD 77485000=13196460=
LIST DESCRIPTORS FOR SWITCH LIST; 77495000=13196470=
- COMMENT USED TO USE EMITN(XITR), DOESN"T ANYMORE; 77500000=13196480=
+ COMMENT USED TO USE EMITN(XITR). DOESN"T ANYMORE; 77500000161030PK
J:= -1; 77505000=13196490=
STOPENTRY:= FALSE; 77510000=13196490=
DO BEGIN 77515000=13196510=
@@ -16601,17 +16608,17 @@ COMMENT 79160000
MKS 79255000=13396000=
DESC B 79260000=13397000=
DESC C 79265000=13398000=
- LITC 0 (LOWER BOUND MUST BE PASSED FOR OWN) 79270000=13399000=
+ LITC 0 (LOWER BOUND MUST BE PASSED FOR OWN) 79270000161030PK
OPDC X 79275000=13400000=
- LITC JUNK (JUNK CELL) 79280000=13401000=
- ISN (INTEGERIZE UPPER BOUND) 79285000=13402000=
- LITC 1 (COMPUTE SIZE 79290000=13403000=
- ADD OF DIMENSION 79295000=13404000=
- LITC 1 (LOWER BOUND,SECOND DIMENSION) 79300000=13405000=
+ LITC JUNK (JUNK CELL) 79280000161030PK
+ ISN (INTEGERIZE UPPER BOUND) 79285000161030PK
+ LITC 1 (COMPUTE SIZE 79290000161030PK
+ ADD OF DIMENSION 79295000161030PK
+ LITC 1 (LOWER BOUND,SECOND DIMENSION) 79300000161030PK
CHS 79305000=13406000=
- LITC 12 (SIZE SECOND DIMENSION) 79310000=13407000=
- LITC 2 (NUMBER DIMENSIONS) 79315000=13408000=
- LITC 2 (NUMBER ARRAYS) 79320000=13409000=
+ LITC 12 (SIZE SECOND DIMENSION) 79310000161030PK
+ LITC 2 (NUMBER DIMENSIONS) 79315000161030PK
+ LITC 2 (NUMBER ARRAYS) 79320000161030PK
LITC OWNCOM (OWN ARRAY COMMUNICATE) 79325000=13410000=
COM 79330000=13411000=
DESC XITR 79335000=13412000=
@@ -16631,7 +16638,7 @@ COMMENT 79160000
SUB UPPER 79405000=13426000=
LITC 1 -LOWER 79410000=13427000=
ADD +1) 79415000=13428000=
- OPDC M (COMPUTER LOWER BOUND 79420000=13429000=
+ OPDC M (COMPUTE LOWER BOUND 79420000161030PK
OPDC N SECOND DIM) 79425000=13430000=
ADD 79430000=13431000=
LITC MNT (GET CELL FOR SECOND LOWER BOUND) 79435000=13432000=
@@ -17143,7 +17150,7 @@ L: GT1:= (2*SGAVL-1) & 2[43:1:2]; 81620000
FLAG(IF REAL(ARRAYFLAG) = 3 THEN 509 ELSE 46); 81970000=13819410=
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%81975000=13819410=
COMMENT 46-ARRAE NON-LITERAL ARRAY BOUND NOT GLOBAL TO 81980000=13819500=
- ARARY DECLARATION; 81985000=13819600=
+ ARRAY DECLARATION; 81985000161030PK
PROCEDURE FAULTDEC; 81990000=13900000=
COMMENT FAULTDEC HANDLES THE MONITOR 81995000=13900000=
THING, FOR THE RUN-TIME ERROR BUSINESS. IT GETS STACK OR 82000000=13901000=
@@ -18395,7 +18402,7 @@ CALLSTATEMENT: 87135000
5. ZEROL,VV,T . 88300000=15052000=
6. VV . 88305000=15053000=
WHERE VN = DESC V 88310000=15054000=
- EXP= ARITH, OR BOOLEAN EXPRESSION,AS REQUIRED. 88315000=15055000=
+ EXP= ARITH. OR BOOLEAN EXPRESSION,AS REQUIRED. 88315000161030PK
M* = CALL ON MONITOR ROUTINE,IF REQUIRED. 88320000=15056000=
VL = LITC V 88325000=15057000=
VV = OPDC V 88330000=15058000=