mirror of
https://github.com/retro-software/B5500-software.git
synced 2026-01-31 05:01:51 +00:00
Commit final ALGOL/ESPOL/ALGOLXEM comparison and proofreading pass; commit B5500 Powers-of-Ten generator and results used in proofing Algol and ESPOL source.
This commit is contained in:
@@ -127,7 +127,7 @@ ERROR NUMBER ROUTINE:ERROR MESSAGE 00002000
|
||||
TO ANOTHER. IF THE QUANTITY IS A PROCEDURE NAME OR 00073000
|
||||
AN OWN VARIABLE THIS RESTRICTION IS RELAXED. 00074000
|
||||
102 AEXP: CONDITIONAL EXPRESSION IS NOT OF ARITHMETIC TYPEH 00075000
|
||||
103 PRIMARY: PRIMARY MAY NOT BEING WITH A QUANTITY OF THIS 00076000
|
||||
103 PRIMARY: PRIMARY MAY NOT BEGIN WITH A QUANTITY OF THIS 00076000
|
||||
TYPE. 00077000
|
||||
104 ANYWHERE: MISSING RIGHT PARENTHESIS. 00078000
|
||||
105 ANYWHERE: MISSING LEFT PARENTHESIS. 00079000
|
||||
@@ -144,9 +144,9 @@ ERROR NUMBER ROUTINE:ERROR MESSAGE 00002000
|
||||
TIONAL) MAY BEGIN WITH A DECLARATOR. 00090000
|
||||
113 PARSE: EITHER THE SYTAX OR THE RANGE OF THE LITERALS FOR 00091000
|
||||
A CONCATENATE OPERATOR IS INCORRECT. 00092000
|
||||
114 DOTSYNTAX: EITHER THE SYNTAX OR THE RANGE OF THE LITERALS 00093000
|
||||
114 DOTSYNTAX: EITHER THE SYNTAX OR THE RANGE OF THE LITERALS00093000
|
||||
FOR A PARTIAL WORD DESIGNATOR IS INCORRECT. 00094000
|
||||
115 DEXP: THE EXPRESSION IS NOT OF DESIGNATIONAL TYPE 00095000
|
||||
115 DEXP: THE EXPRESSION IS NOT OF DESIGNATIONAL TYPE. 00095000
|
||||
116 IFCLAUSE: MISSING THEN. 00096000
|
||||
117 BANA: MISSING LEFT BRAKET. 00097000
|
||||
118 BANA: MISSING RIGHT BRAKET. 00098000
|
||||
@@ -207,11 +207,11 @@ ERROR NUMBER ROUTINE:ERROR MESSAGE 00002000
|
||||
153 FORSTMT: MISSING UNTIL OR WHILE IN STEP ELEMENT. 00153000
|
||||
154 FORSTMT: MISSING DO IN FOR CLAUSE. 00154000
|
||||
155 IFEXP: MISSING ELSE 00155000
|
||||
156 LISTELEMENT: A DESIGNATIONAL EXPRESSION MAY NOT BE A LIST 00156000
|
||||
156 LISTELEMENT: A DESIGNATIONAL EXPRESSION MAY NOT BE A LIST00156000
|
||||
ELEMENT. 00157000
|
||||
157 LISTELEMENT: A ROW DESIGNATOR MAY NOT BE A LISTELEMENT 00158000
|
||||
157 LISTELEMENT: A ROW DESIGNATOR MAY NOT BE A LIST ELEMENT. 00158000
|
||||
158 LISTELEMENT: MISSING RIGHT BRAKET IN GROUP OF ELEMENTS 00159000
|
||||
159 PROCSTMT: ILLEGAL USE OF PROCEDURE OF FUNCTION IDENTIFIER00160000
|
||||
159 PROCSTMT: ILLEGAL USE OF PROCEDURE OR FUNCTION IDENTIFIER00160000
|
||||
160 PURGE: DECLARED LABEL DOES NOT OCCUR. 00161000
|
||||
161 PURGE: DECLARED FORWARD PROCEDURE DOES NOT OCCUR. 00162000
|
||||
162 PURGE: DECLARED SWITCH FORWARD DOES NOT OCCUR. 00162500
|
||||
@@ -255,7 +255,7 @@ ERROR NUMBER ROUTINE:ERROR MESSAGE 00002000
|
||||
256 RELEASES: MISSING PARENTHESIS OR FILE IDENTIFIER IS NOT 00187000
|
||||
A FORMAL PARAMETER. 00188000
|
||||
257 GOTOS,LABELS,OR JUMPS: LABEL SPECIFIED IS NOT ON THE SAME 00189000
|
||||
NEXT LEVEL AS A PRECEDING APPEARANCE OF THE 00190000
|
||||
NEST LEVEL AS A PRECEDING APPEARANCE OF THE 00190000
|
||||
LABEL. 00191000
|
||||
258 LABELS: MISSING :. 00192000
|
||||
259 LABELS: LABEL APPEARS MORE THAN ONCE. 00193000
|
||||
@@ -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 EMITO: 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
|
||||
@@ -288,7 +288,7 @@ ERROR NUMBER ROUTINE:ERROR MESSAGE 00002000
|
||||
295 FILEATTRIBUTEHANDLER: FILE ATTRIBUTE MUST BE LEFT MOST 00211551
|
||||
IN A LEFT PART LIST. 00211552
|
||||
300 FILLSTMT: THE IDENTIFIER FOLLOWING "FILL" IS NOT 00212000
|
||||
AN ARRAY IDENTIFER. 00213000
|
||||
AN ARRAY IDENTIFIER. 00213000
|
||||
301 FILLSTMT: MISSING "WITH" IN FILL STATEMENT. 00214000
|
||||
302 FILLSTMT: IMPROPER FILL ELEMENT. 00215000
|
||||
303 FILLSTMT: NON-OCTAL CHARACTER IN OCTAL FILL. 00216000
|
||||
@@ -450,7 +450,7 @@ 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 COMPILER & 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
|
||||
@@ -566,7 +566,7 @@ DEFINE CHECKTOG = OPTIONWORD.[CHECKBIT:1] #, 01001210
|
||||
LISTPTOG = OPTIONWORD.[LISTPBIT:1] #, 01001280
|
||||
MCPTOG = OPTIONWORD.[MCPBIT:1] #, 01001290
|
||||
MERGETOG = OPTIONWORD.[MERGEBIT:1] #, 01001300
|
||||
NESTTOG = OPTIONWORD.[NESTBIT:1] #, 01001310
|
||||
NESTOG = OPTIONWORD.[NESTBIT:1] #, 01001310
|
||||
NEWTOG = OPTIONWORD.[NEWBIT:1] #, 01001320
|
||||
NEWINCL = OPTIONWORD.[NEWINCLBIT:1] #, 01001330
|
||||
OMITTING = OPTIONWORD.[OMITBIT:1] #, 01001340
|
||||
@@ -712,10 +712,10 @@ DEFINE % %116-01007400
|
||||
ARRAY BEGINSTACK[0:255]; INTEGER BSPOINT; 01007600
|
||||
BOOLEAN DEFINING; 01007650
|
||||
COMMENT INFO CONTAINS ALL THE INFORMATION ABOUT A GIVEN IDENTIFIER 01008000
|
||||
OR RESERVED WORD. THE FIRST WORD OF A GIVEN ENTRY IS 01009000
|
||||
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
|
||||
OR RESERVED WORD. THE FIRST WORD OF A GIVEN ENTRY IS 01009000
|
||||
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
|
||||
SUCCEDING WORDS CONTAIN THE REMAINING CHARACTORS OF ALPHA,01015000
|
||||
@@ -729,7 +729,7 @@ DEFINE % %116-01007400
|
||||
ALPHA, FILLED IN WITH ZEROS FROM THE RIGHT IF NEEDED. 01023000
|
||||
THIS NUMBER IS CALLED THE SCRAMBLE NUMBER OR INDEX. 01024000
|
||||
THE FIRST ROW OF INFO IS USED FOR OTHER PURPOSES. THE 01025000
|
||||
RESERVED WORDS OCCUPY THE SECOND ROW, IT IS FILLED DURING 01026000
|
||||
RESERVED WORDS OCCUPY THE SECOND ROW. IT IS FILLED DURING 01026000
|
||||
INITIALIZATION; 01027000
|
||||
COMMENT INFO FORMAT 01028000
|
||||
FOLLOWING IS A DESCRIPTION OF THE FORMAT OF ALL TYPES OF ENTRIES 01029000
|
||||
@@ -743,7 +743,7 @@ COMMENT INFO FORMAT 01028000
|
||||
THE LINK FIELD OF THE ELBAT WORD IN INFO IS DIFFERENT FROM 01037000
|
||||
THAT OF THE ENTRY IN ELBAT PUT IN BY TABLE.THE ENTRY IN ELBAT 01038000
|
||||
POINTS TO ITS OWN LOCATION (RELATIVE) IN INFO. 01039000
|
||||
THE LINK IN INFO POINTS TO THE PREVIOUS ENTRY E.G.. THE 01040000
|
||||
THE LINK IN INFO POINTS TO THE PREVIOUS ENTRY E.G.,THE 01040000
|
||||
LINK FROM STACKHEAD WHICH THE CURRENT ENTRY REPLACED. 01041000
|
||||
FOR SIMPLICITY,I WILL CONSIDER INFO TO BE A ONE DIMENSIONAL 01042000
|
||||
ARRAY,SO THAT THE BREAKING UP OF THE LINKS INTO ROW AND COLUMN 01043000
|
||||
@@ -759,11 +759,11 @@ COMMENT INFO FORMAT 01028000
|
||||
THEN A IS ENTERED AS FOLLOWS:(ASSUME AN ELBAT WORD T HAS BEEN 01053000
|
||||
CONSTRUCTED FOR A) 01054000
|
||||
T.LINK~ S[L]. (WHICH IS ZERO AT FIRST). 01055000
|
||||
INFO[NEXTINFO]~T, S[L]~NEXTINFO. 01056000
|
||||
INFO[NEXTINFO]~T. S[L]~NEXTINFO. 01056000
|
||||
NEXTINFO~NEXTINFO+NUMBER OF WORDS IN THIS 01057000
|
||||
ENTRY. 01058000
|
||||
NOW S[L] POINTS TO THE ENTRY FOR A IN INFO AND THE ENTRY 01059000
|
||||
ITSELF CONTAINS THE STOP FLAG ZERO 01060000
|
||||
ITSELF CONTAINS THE STOP FLAG ZERO. 01060000
|
||||
B IS ENTERED SIMILARLY TO A. 01061000
|
||||
NOW S[L] POINTS TO THE ENTRY FOR B AND IT POINTS TO THE 01062000
|
||||
ENTRY FOR A. 01063000
|
||||
@@ -772,12 +772,12 @@ 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 SUBSTRACTED 01072000
|
||||
INDEX TO THE PREVIOUS INFO ENTRY WHEN SUBTRACTED 01072000
|
||||
FROM THE CURRENT ENTRY INDEX. 01073000
|
||||
[12:6] TELLS THE NUMBER OF CHARACTERS IN THE ENTRY,(<64) 01074000
|
||||
[12:6] TELLS THE NUMBER OF CHARACTERS IN THE ENTRY.(<64) 01074000
|
||||
[18:30] CONTAINS THE FIRST FIVE ALPHA CHARACTERS OF THE ENTRY 01075000
|
||||
AND SUCCEEDING WORDS CONTAIN ALL OVERFLOW IF NEEDED. 01076000
|
||||
THESE WORDS CONTAIN 8 CHARACTERS EACH,LEFT JUSTIFIED. 01077000
|
||||
@@ -787,7 +787,7 @@ COMMENT INFO FORMAT 01028000
|
||||
I+1 = OP6SYMBO (P DEPENDS ON PREVIOUS ENTRY) 01081000
|
||||
I+2 = L 01082000
|
||||
I+3 = ELBATWRD (MADE FOR X) 01083000
|
||||
I+4 = O31X 01084000
|
||||
I+4 = 031X 01084000
|
||||
THIS SHOWS THAT INFO[I-P] WOULD POINT TO THE BEGINNING OF 01085000
|
||||
THE ENTRY BEFORE SYMBOL, AND 01086000
|
||||
INFO[I+3-3] POINTS TO THE ENTRY FOR SYMBOL. 01087000
|
||||
@@ -816,7 +816,7 @@ COMMENT INFO FORMAT 01028000
|
||||
TO BE ADDED TO THE SUBSCRIPT IN INDEXING OR 01110000
|
||||
SUBTRACTED. 01111000
|
||||
[35:11] =11 BIT ADDRESS OF LOWER BOUND,IF THE LOWER BOUND 01112000
|
||||
REQUIRES A PRT OR STACK CELL.OTHERWISE THE BIT 01113000
|
||||
REQUIRES A PRT OR STACK CELL,OTHERWISE THE BIT 01113000
|
||||
35 IS IGNORED AND THE NEXT TEN BITS([36:10]) 01114000
|
||||
REPRESENT THE ACTUAL VALUE OF THE LOWER BOUND 01115000
|
||||
[46:2] =00 OR 10 DEPENDING ON WHETHER THE [35:11] VALUE 01116000
|
||||
@@ -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
|
||||
@@ -863,19 +863,19 @@ COMMENT INFO FORMAT 01028000
|
||||
NBITF =[27:6]#, % NUMBER OF BITS FOR FIELD ID.%117-01154300
|
||||
LINKR =[35: 5]#, 01155000
|
||||
LINKC =[40: 8]#; 01156000
|
||||
COMMENT THESE DEFINES ARE USED TO PICK APART THE ELBAT WORD, 01157000
|
||||
COMMENT THESE DEFINES ARE USED TO PICK APART THE ELBAT WORD. 01157000
|
||||
MON IS THE BIT WHICH IS TURNED ON IF: 01158000
|
||||
1. THE QUANTITY IS TO BE MONITORED, OR 01158100
|
||||
2. THE QUANTITY IS A PARAMETRIC DEFINE AND NOT 01158200
|
||||
A DEFINE WITHOUT PARAMETERS. 01158300
|
||||
CLASS IS THE PRINCIPAL IDENTIFICATION OF A GIVEN 01159000
|
||||
QUANTITY. 01160000
|
||||
QUANTITY. 01160000
|
||||
FORMAL IS THE BIT WHICH IS ON IF THE QUANTITY IS A FORMAL 01161000
|
||||
PARAMETER. 01162000
|
||||
V0 IS THE VALUE-OWN BIT. IF FORMAL = 1 THEN THE BIT 01163000
|
||||
DISTINGUISHES VALUE PARAMETERS FROM OTHERS. IF 01164000
|
||||
FORMAL = 0 THEN THE BIT DISTINGUISHES OWN VARIABLES 01165000
|
||||
FROM OTHERS. 01166000
|
||||
PARAMETER. 01162000
|
||||
VO IS THE VALUE-OWN BIT. IF FORMAL = 1 THEN THE BIT 01163000
|
||||
DISTINGUISHES VALUE PARAMETERS FROM OTHERS. IF 01164000
|
||||
FORMAL = 0 THEN THE BIT DISTINGUISHES OWN VARIABLES 01165000
|
||||
FROM OTHERS. 01166000
|
||||
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
|
||||
@@ -888,7 +888,7 @@ COMMENT INFO FORMAT 01028000
|
||||
NEEDED, RELATIVE TO THE LOCATION IN INFO. 01170000
|
||||
LINK CONTAINS A LINK TO THE LOCATION IN INFO IF THE 01171000
|
||||
QUANTITY LIES IN ELBAT, OTHERWISE IT LINKS TO THE 01172000
|
||||
NEXT ITEM IN THE STACK, ZERO IS AN END FLAG. 01173000
|
||||
NEXT ITEM IN THE STACK. ZERO IS AN END FLAG. 01173000
|
||||
LINKR AND LINKC ARE SUBDIVISIONS OF LINK.; 01174000
|
||||
COMMENT CLASSES FOR ALL QUANTITIES - OCTAL CLASS IS IN COMMENT; 01175000
|
||||
COMMENT CLASSES FOR IDENTIFIERS; 01176000
|
||||
@@ -899,8 +899,8 @@ COMMENT INFO FORMAT 01028000
|
||||
LISTID =04#, COMMENT 004; 01181000
|
||||
FRMTID =05#, COMMENT 005; 01182000
|
||||
SUPERFRMTID =06#, COMMENT 006; 01183000
|
||||
FILEID =07#, COMMENT 006; 01184000
|
||||
SUPERFILEID =08#, COMMENT 007; 01185000
|
||||
FILEID =07#, COMMENT 007; 01184000
|
||||
SUPERFILEID =08#, COMMENT 010; 01185000
|
||||
SWITCHID =09#, COMMENT 011; 01186000
|
||||
PROCID =10#, COMMENT 012; 01187000
|
||||
INTRNSICPROCID =11#, COMMENT 013; 01188000
|
||||
@@ -930,7 +930,7 @@ COMMENT INFO FORMAT 01028000
|
||||
LEFTPAREN =34#, COMMENT 042; 01212000
|
||||
COMMENT CLASSES FOR ALL DECLARATORS; 01213000
|
||||
DECLARATORS =35#, COMMENT 043; 01214000
|
||||
COMMENT CLASSES FOR STATEMENT BEGINNERS; 01215000
|
||||
COMMENT CLASSES FOR STATEMENT BEGINNERS 01215000
|
||||
READV =36#, COMMENT 044; 01216000
|
||||
WRITEV =37#, COMMENT 045; 01217000
|
||||
SPACEV =38#, COMMENT 046; 01218000
|
||||
@@ -1028,8 +1028,8 @@ DEFINE ADES=0#,LDES=2#,PDES=1#,CHAR=3#; 01299000
|
||||
ARRAY FILEATTRIBUTES[0:30] ; 01303500
|
||||
ALPHA ARRAY ACCUM[0:10]; 01304000
|
||||
COMMENT ACCUM HOLDS THE ALPHA AND CHARACTER COUNT OF THE LAST 01305000
|
||||
SCANNER ITEM IN A FORM COMPATIBLE WITH ITS APPEARANCE 01306000
|
||||
IN INFO. THAT IS ACCUM[1] = 00NAAAAA, ACCUM[I] , I> 1. 01307000
|
||||
SCANNED ITEM IN A FORM COMPATIBLE WITH ITS APPEARANCE 01306000
|
||||
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
|
||||
@@ -1065,9 +1065,9 @@ ARRAY FILEATTRIBUTES[0:30] ; 01303500
|
||||
INTEGER LASTELCLASS; 01329100
|
||||
COMMENT LASTELCLASS IS SET TO PREV ELCLASS BY NEXTENT; 01329200
|
||||
INTEGER FCR, NCR, LCR,TLCR,CLCR; 01330000
|
||||
INTEGER MAXTCLR; 01331000
|
||||
INTEGER MAXTLCR; 01331000
|
||||
COMMENT FCR CONTAINS ABSOLUTE ADDRESS OF THE FIRST CHARACTOR OF 01332000
|
||||
THE CARD IMAGE CURRENTLY BEING SCANNED. NCR THE ADDRESS 01333000
|
||||
THE CARD IMAGE CURRENTLY BEING SCANNED, NCR THE ADDRESS 01333000
|
||||
OF THE NEXT CHARACTOR TO BE SCANNED, AND LCR THE LAST 01334000
|
||||
CHARACTOR (COLUMN 73). TLCR AND CLCR CONTAIN ADDRESS OF 01335000
|
||||
THE LAST CHARACTER IN THE TAPE AND CARD BUFFERS. MAXTLCR 01336000
|
||||
@@ -1155,7 +1155,7 @@ INTEGER SGNO;COMMENT THIS IS THE CURRENT SEGMENT NUMBER; 01370000
|
||||
AS SPECIFIED BY "L". 01373000
|
||||
IF DEBUGTOG IS TRUE, COP, WOP, AND POP ARE FILLED 01374000
|
||||
THE BCD FOR THE OPERATORS,OTHERWISE THEY ARE NOT USED; 01375000
|
||||
REAL LASTENTRY ; 01376000
|
||||
REAL LASTENTRY ; 01376000
|
||||
COMMENT LASTENTRY IS USED BY EMITNUM AND CONSTANTCLEAN. IT POINTS 01377000
|
||||
INTO INFO[0,*] AT THE NEXT AVAILABLE CELL FOR CONSTANTS; 01378000
|
||||
BOOLEAN MRCLEAN ; 01379000
|
||||
@@ -1167,17 +1167,17 @@ INTEGER SGNO;COMMENT THIS IS THE CURRENT SEGMENT NUMBER; 01370000
|
||||
INTEGER GTI1; 01384500
|
||||
COMMENT THESE VARIABLES ARE USED FOR TEMPORARY STORAGE; 01385000
|
||||
INTEGER RESULT; 01386000
|
||||
COMMENT THIS VARIALE IS USED FOR A DUAL PURPOSE BY THE TABLE 01387000
|
||||
COMMENT THIS VARIABLE IS USED FOR A DUAL PURPOSE BY THE TABLE 01387000
|
||||
ROUTINE AND THE SCANNER. THE TABLE ROUTINE USES THIS 01388000
|
||||
VARIABLE TO SPECIFY SCANNER OPERATIONS AND THE SCANNER 01389000
|
||||
USES IT TO INFORM THE TABLE ROUTINE OF THE ACTION TAKEN; 01390000
|
||||
INTEGER LASTUSED; 01391000
|
||||
COMMENT LASTUSED IS A VARIABLE THAT CONTROLS THE ACTION OF 01392000
|
||||
READACARD. THE ROUTINE WHICH READS CARDS AND INITIALIZES 01393000
|
||||
READACARD, THE ROUTINE WHICH READS CARDS AND INITIALIZES 01393000
|
||||
OR PREPARES THE CARD FOR THE SCANNER. 01394000
|
||||
LASTUSED LAST CARD READ FROM 01394500
|
||||
-------- ------------------- 01394600
|
||||
1 CARD READ ONLY, NO TAPE. 01395000
|
||||
1 CARD READER ONLY, NO TAPE. 01395000
|
||||
2 CARD READER, TAPE AND CARD MERGE. 01396000
|
||||
3 TAPE, TAPE AND CARD MERGE. 01397000
|
||||
4 INITIALIZATION ONLY, CARD ONLY. 01398000
|
||||
@@ -1185,12 +1185,12 @@ INTEGER SGNO;COMMENT THIS IS THE CURRENT SEGMENT NUMBER; 01370000
|
||||
6 TAPE - MAKCAST, MERGING. 01398200
|
||||
; 01398300
|
||||
BOOLEAN LINKTOG; 01399000
|
||||
COMMENT LINKTOG IS FALSE IF THE LAST THING EMITTED IS A LINK. 01400000
|
||||
COMMENT LINKTOG IS FALSE IF THE LAST THING EMITTED IS A LINK, 01400000
|
||||
OTHERWISE IT IS TRUE; 01401000
|
||||
INTEGER LEVEL,FRSTLEVEL,SUBLEVEL,MODE; 01402000
|
||||
COMMENT THESE VARIABLES ARE MAINTAINED BY THE BLOCK ROUTINE TO KEEP 01403000
|
||||
TRACK OF LEVELS OF DEFINITION. LEVEL GIVES THE DEPTH OF 01404000
|
||||
NESTING IN DEFINITION. WHERE EACH BLOCK AND EACH PROCEDURE01405000
|
||||
NESTING IN DEFINITION, WHERE EACH BLOCK AND EACH PROCEDURE01405000
|
||||
GIVES RISE TO A NEW LEVEL. SUBLEVEL GIVES THE LEVEL OF 01406000
|
||||
THE PARAMETERS OF THE PROCEDURE CURRENTLY BEING COMPILED. 01407000
|
||||
FRSTLEVEL IS THE LEVEL OF THE PARAMETERS OF THE MOST 01408000
|
||||
@@ -1211,8 +1211,8 @@ INTEGER SGNO;COMMENT THIS IS THE CURRENT SEGMENT NUMBER; 01370000
|
||||
BOOLEAN ERRORTOG; 01412000
|
||||
COMMENT ERRORTOG IS TRUE IF MESSAGES ARE CURRENTLY ACCEPTABLE TO THE01413000
|
||||
ERROR ROUTINES. ERRORCOUNT IS THE COUNT OF ERROR MSSGS; 01414000
|
||||
BOOLEAN ENDTOG; COMMENT ENDTOG TELLS THE TABLE TO ALLOW 01415000
|
||||
COMMENT TO BE PASSED BACK TO COMPOUNDTAIL; 01416000
|
||||
BOOLEAN ENDTOG; COMMENT ENDTOG TELLS THE TABLE TO ALLOW 01415000
|
||||
COMMENT TO BE PASSED BACK TO COMPOUNDTAIL; 01416000
|
||||
BOOLEAN STREAMTOG; % STREAMTOG IS TRUE IF WE ARE COMPILING A 01416500
|
||||
% STREAM STATEMENT IN ALGOL, TSPOL, OR ESPOL: 01417000
|
||||
% IT IS USED TO CONTROL COUMPOUNDTAIL. 01417500
|
||||
@@ -1221,13 +1221,13 @@ BOOLEAN STREAMTOG; % STREAMTOG IS TRUE IF WE ARE COMPILING A 01416500
|
||||
% AN ALPHA (BCL) STRING (SEE "TABLE" PROCEDURE). 01419000
|
||||
DEFINE FS = 1#, FP = 2#, FL = 3#, FR = 4#, FA = 5#, 01420000
|
||||
FI = 6#, FIO = 7#; 01420500
|
||||
COMMENT THESE DEFINES ARE USED WHEN CALLING THE VARIABLE ROUTINE, 01421000
|
||||
COMMENT THESE DEFINES ARE USED WHEN CALLING THE VARIABLE ROUTINE. 01421000
|
||||
THEIR PURPOSES IS TO TELL VARIABLE WHO IS CALLING. 01422000
|
||||
THEIR MEANING IS: 01423000
|
||||
FS MEANS FROM STATEMENT. 01424000
|
||||
FP MEANS FROM PRIMARY. 01425000
|
||||
FL MEANS FROM LIST. 01426000
|
||||
FR MEANS FROM FOR. 01427000
|
||||
FS MEANS FROM STATEMENT, 01424000
|
||||
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
|
||||
FI MEANS FUNNY CALL FROM STATUS (IMPFUN); 01427600
|
||||
@@ -1295,25 +1295,25 @@ INTEGER NEXTTEXT; % NEDEX OF NEXT DEFINE TEXT 01481400
|
||||
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
|
||||
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
|
||||
SAVE ALPHA ARRAY DEFINEARRAY[0:34]; 01491000
|
||||
COMMENT THESE VARIABLES ARE USED TO CONTROL ACTION OF THE DEFINE. 01492000
|
||||
DEFINECTR COUNTS DEPTH OF NESTING OF DEFINE-# PAIRS. 01493000
|
||||
THE CROSSHATCH PART OF THE TABLE ROUTINE USES DEFINECTR 01494000
|
||||
TO DETERMINE THE MEANING OF A CROSSHATCH. DEFINEINDEX IS 01495000
|
||||
THE NEXT AVAILABLE CELL IN THE DEFINEARRAY. THE DEFINE- 01496000
|
||||
ARRAY HOLDS THE ALPHA OF THE DEFINE BEING RECREATED AND 01497000
|
||||
THE PREVIOUS VALUES OF LASTUSED, LCR, AND NCR; 01498000
|
||||
INTEGER BEGINCTR; 01499000
|
||||
COMMENT BEGINCTR GIVES THE NUMBER OF UNMATCHED BEGINS. IT IS USED 01500000
|
||||
FOR ERROR CONTROL ONLY; 01501000
|
||||
INTEGER DIALA,DIALB; 01502000
|
||||
COMMENT THESE VARIABLES GIVE THE LAST VALUE TO WHICH A AND B WERE 01503000
|
||||
DIALED. THIS GIVES SOME LOCAL OPTIMIZATION. EMITD 01504000
|
||||
WORRIES ABOUT THIS. OTHER ROUTINES CAUSE A LOSS OF MEMORY 01505000
|
||||
BY SETTING DIALA AND DIALB TO ZERO; 01506000
|
||||
Z; COMMENT CONTAINS 1ST WORD OF INFO FOR STREAM FUNCTIONS; 01490000
|
||||
SAVE ALPHA ARRAY DEFINEARRAY[0:34]; 01491000
|
||||
COMMENT THESE VARIABLES ARE USED TO CONTROL ACTION OF THE DEFINE. 01492000
|
||||
DEFINECTR COUNTS DEPTH OF NESTING OF DEFINE-# PAIRS. 01493000
|
||||
THE CROSSHATCH PART OF THE TABLE ROUTINE USES DEFINECTR 01494000
|
||||
TO DETERMINE THE MEANING OF A CROSSHATCH. DEFINEINDEX IS 01495000
|
||||
THE NEXT AVAILABLE CELL IN THE DEFINEARRAY. THE DEFINE- 01496000
|
||||
ARRAY HOLDS THE ALPHA OF THE DEFINE BEING RECREATED AND 01497000
|
||||
THE PREVIOUS VALUES OF LASTUSED, LCR, AND NCR; 01498000
|
||||
INTEGER BEGINCTR; 01499000
|
||||
COMMENT BEGINCTR GIVES THE NUMBER OF UNMATCHED BEGINS. IT IS USED01500000
|
||||
FOR ERROR CONTROL ONLY; 01501000
|
||||
INTEGER DIALA,DIALB; 01502000
|
||||
COMMENT THESE VARIABLES GIVE THE LAST VALUE TO WHICH A AND B WERE 01503000
|
||||
DIALED. THIS GIVES SOME LOCAL OPTIMIZATION. EMITD 01504000
|
||||
WORRIES ABOUT THIS. OTHER ROUTINES CAUSE A LOSS OF MEMORY01505000
|
||||
BY SETTING DIALA AND DIALB TO ZERO; 01506000
|
||||
01507000
|
||||
01508000
|
||||
01509000
|
||||
@@ -1332,7 +1332,7 @@ INTEGER DIALA,DIALB; 01502000
|
||||
BOOLEAN RRB1; COMMENT RRB1---RRBN ARE BOOLEAN VARIABLES THAT SERVE THE 01522000
|
||||
SAME FUNCTION AS RR1---RRN FOR REAL VARIABLES. SEE 01523000
|
||||
COMMENT AT RR1; 01524000
|
||||
BOOLEAN RRB2; COMMENT SEE COMMENT AT RRB1 DECLARATION; 01525000
|
||||
BOOLEAN RRB2; COMMENT SEE COMMENT AT RRB1 DECLARATION; 01525000
|
||||
DEFINE ARRAYMONFILE = [27:11]#; COMMENT ARRAYMONFILE IS THE DEFINE FOR 01526000
|
||||
THE ADDRESS OF THE FILE DESCRIPTOR IN 01527000
|
||||
THE FIRST WORD OF ADDITIONAL INFO; 01528000
|
||||
@@ -1380,7 +1380,7 @@ INTEGER DA; 01559020
|
||||
FILE IN CASTC(1,BUFFSIZE); 01561040
|
||||
SWITCH FILE LIBRARY~CASTA,CASTB,CASTC; 01561050
|
||||
FILE OUT REMOTE 19 (2,10); 01561055
|
||||
SAVE ARRAY CBUF,TBUFF[0:9]; % INPUT BUFFERS. 01561056
|
||||
SAVE ARRAY CBUFF,TBUFF[0:9]; % INPUT BUFFERS. 01561056
|
||||
BOOLEAN REMOTOG; 01561060
|
||||
ARRAY LIBARRAY[0:24]; % LIBARRAY IS USED TO KEEP INFORMATION AS 01561065
|
||||
% TO LAST COMPILED LIBRARY SEQUENCE NUMBERS. 01561070
|
||||
@@ -1534,8 +1534,8 @@ INTEGER NCII; COMMENT THIS CONTAINS THE COUNT OF CONSTANTS 01624000
|
||||
PROCEDURE UNHOOK;FORWARD; 01626000
|
||||
PROCEDURE MAKEUPACCUM;FORWARD; 01627000
|
||||
DEFINE PURPT=[4:8]#,SECRET=2#; 01628000
|
||||
COMMENT THESE DEFINES GIVE THE NAMES OF THE WORD MODE OPERATORS. THE 01629000
|
||||
NUMBERS REFERS TO THE APPROPRIATE SECTION OF THE PRODUCT SPECS. THE01630000
|
||||
COMMENT THESE DEFINES GIVE THE NAMES OF THE WORD MODE OPERATORS. THE 01629000
|
||||
NUMBERS REFER TO THE APPROPRIATE SECTION OF THE PRODUCT SPECS. THE 01630000
|
||||
FULL NAME IS ALSO GIVEN; 01631000
|
||||
DEFINE 01632000
|
||||
ADD = 16#, COMMENT (0101) 7.4.2.1 ADD; 01633000
|
||||
@@ -1712,7 +1712,7 @@ L: 01764000
|
||||
IF SC=""" THEN 01765000
|
||||
BEGIN 01766000
|
||||
SI:=SI+1; DI:=LCR; DS:=1 LIT"""; % STOPPER FOR SCAN 01767000
|
||||
NCR:=SI; % TEMP, STORAGE. SINCE NCR IS "LOCAL" TO GETVOID. 01768000
|
||||
NCR:=SI; % TEMP. STORAGE, SINCE NCR IS "LOCAL" TO GETVOID. 01768000
|
||||
8(IF SC=""" THEN JUMP OUT ELSE 01769000
|
||||
BEGIN TALLY:=TALLY+1; SI:=SI+1 END); 01770000
|
||||
END 01771000
|
||||
@@ -1746,12 +1746,17 @@ PROCEDURE DATIME; 01820000
|
||||
N1:=CODE.MFID; N2:=CODE.FID; 01828500
|
||||
WRITE(LINE, 01829000
|
||||
$ SET OMIT = NOT ALGOL 01829900
|
||||
<X22,"BURROUGHS B-5700 ALGOL COMPILER MARK ", 01830000
|
||||
$ POP OMIT 01830010
|
||||
$ SET OMIT = ALGOL 01830020
|
||||
<X22,"BURROUGHS B-5700 TSPOL COMPILER MARK ", 01830030
|
||||
$ POP OMIT 01830040
|
||||
"XVI.0.122" %123-01831000
|
||||
," ",A6,"DAY, ",O,", ",I2,":",A2,X1,A3, 01832000
|
||||
////X45,A1,A6,"/",A1,A6,/X45,15("=")//>, 01832500
|
||||
TIME(6),DATER(TIME(5)),12|REAL(Q:=H MOD 12=0)+Q, 01833000
|
||||
Q:=MIN MOD 10+(MIN DIV 10)|64, 01834000
|
||||
IF H}12THEN "PM." ELSE "AM.", 01835000
|
||||
IF H}12 THEN "PM." ELSE "AM.", 01835000
|
||||
N1.[6:6],N1,N2.[6:6],N2); 01835500
|
||||
IF MERGETOG THEN % INDICATE NAME OF SOURCE FILE. %120-01835600
|
||||
WRITE(LINE,<X40,"SOURCE FILE: ",A1,A6,"/",A1,A6,//>, %120-01835700
|
||||
@@ -1879,7 +1884,7 @@ COMMENT OCTIZE REFORMATS ACCUM FOR OCTAL CONSTANTS; 02001836
|
||||
BOOLEAN STREAM PROCEDURE OCTIZE(S,D,SKP,CNT); VALUE SKP,CNT; 02001838
|
||||
BEGIN 02001840
|
||||
SI:=S; SI:=SI+3; DI:=D; SKP(DS:=3 RESET); % RIGHT JUSTIFY. 02001842
|
||||
CNT(IF SC}"8"THEN TALLY:=1 ELSE IF SC<"0"THEN TALLY:=1; SKIP 3 SB; 02001844
|
||||
CNT(IF SC}"8" THEN TALLY:=1 ELSE IF SC<"0" THEN TALLY:=1; SKIP 3 SB;02001844
|
||||
3(IF SB THEN DS:=SET ELSE DS:=RESET; SKIP SB)); 02001846
|
||||
% 02001848
|
||||
% 02001850
|
||||
@@ -1916,8 +1921,8 @@ COMMENT TURNONSTOPLIGHT TURNS THE LIGHT "RED" ON THE "CORNER". 02007000
|
||||
I.E., THE PURPOSE OF THIS ROUTINE IS TO INSERT A PER- 02008000
|
||||
CENT SIGN IN COLUMN 73 AS AN END OF CARD SENTINEL FOR 02009000
|
||||
THE SCANNER; 02010000
|
||||
STREAM PROCEDURE TURNONSTOPLIGHT(RED,CORNER); VALUE RED,CORNER; 02011000
|
||||
BEGIN DI:=CORNER; SI:=LOC CORNER; SI:=SI-1; DS:=CHR END; 02012000
|
||||
STREAM PROCEDURE TURNONSTOPLIGHT(RED,CORNER); VALUE RED,CORNER; 02011000
|
||||
BEGIN DI:=CORNER; SI:=LOC CORNER; SI:=SI-1; DS:=CHR END; 02012000
|
||||
COMMENT ADDER COMPUTES SEQUENCE NUMBERS FOR LIBRARY FUNCTIONS. 02013010
|
||||
IT WILL EITHER ADD THE NUMBER IN SUM TO THE NUMBER IS SEQLOC STORING 02013020
|
||||
THE RESULT IN SEQLOC OR SUBTRACT THE NUMBER IN SUM FROM THE 02013030
|
||||
@@ -2149,14 +2154,14 @@ BOOLEAN PROCEDURE BOOLEXP; FORWARD; 02065600
|
||||
PROCEDURE SCANNER; 02066000
|
||||
BEGIN 02066500
|
||||
COMMENT "SCAN" IS THE STREAM PROCEDURE WHICH DOES THE ACTUAL SCANNING. 02067000
|
||||
IT IS DRIVEN BY A SMALL WORD MODE PROCEDURE CALLED "SCANNER". 02067500
|
||||
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
|
||||
===== ========================================= 02071000
|
||||
===== ======================================== 02071000
|
||||
0 INITIAL CODE - DEBLANK AND START TO FETCH THE 02071500
|
||||
NEXT QUANTITY. 02072000
|
||||
1 CONTINUE BUILDING AN IDENTIFIER (INTERRUPTED BY 02072500
|
||||
@@ -2174,7 +2179,7 @@ COMMENT "SCAN" IS THE STREAM PROCEDURE WHICH DOES THE ACTUAL SCANNING. 02067000
|
||||
7 DEBLANK ONLY. 02078500
|
||||
THE MEANING OF "RESULT" AS OUTPUT IS: 02079000
|
||||
VALUE MEANING 02079500
|
||||
===== ======================================= 02080000
|
||||
===== ======================================== 02080000
|
||||
1 AN IDENTIFIER WAS BUILT. 02080500
|
||||
2 A SPECIAL CHARACTER WAS OBTAINED. 02081000
|
||||
3 A NUMBER (INTEGER) WAS BUILT. 02081500
|
||||
@@ -2254,11 +2259,11 @@ NUMBERS: 02117000
|
||||
IF SC <"0"THEN JUMP OUT TO EXIT; SI:=SI+1); 02118500
|
||||
GO ERROR; 02119000
|
||||
EXIT: 02119500
|
||||
ST1:=TALLY; % "ST1" CONTAINS THE NUMBER OF CHARACTERS WE ARE 02120000
|
||||
ST1:=TALLY; % "ST1" CONTAINS NUMBER OF CHARACTERS WE ARE 02120000
|
||||
% GOING TO MOVE INTO THE "ACCUMULATOR". 02120500
|
||||
TALLY:=TALLY+COUNTV; ST2:=TALLY; 02121000
|
||||
DI:=COUNT; SI:=LOC ST2; DS:=WDS; 02121500
|
||||
COMMENT THIS CODE UPDATED "COUNT'; 02122000
|
||||
COMMENT THIS CODE UPDATED "COUNT"; 02122000
|
||||
DI:=ACCUM; SI:=SI-3; DS:=3 CHR; 02122500
|
||||
COMMENT THIS CODE PLACES "COUNT" IN "ACCUM" AS WELL; 02123000
|
||||
DI:=DI+COUNTV; % POSITION "DI" PAST CHARACTERS ALREADY 02123500
|
||||
@@ -2283,7 +2288,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
|
||||
@@ -2328,7 +2333,7 @@ REAL STREAM PROCEDURE COMPARE(TAPE,CARD); VALUE TAPE,CARD; 02188000
|
||||
SI := SI-8; DI := DI-8; TALLY := 1; 02189250
|
||||
IF 8 SC = DC THEN TALLY := 2 02189500
|
||||
END; 02189750
|
||||
COMPARE := TALLY; 02190000
|
||||
COMPARE := TALLY 02190000
|
||||
END COMPARE; 02190250
|
||||
PROCEDURE OUTPUTSOURCE; 02190500
|
||||
BEGIN 02190750
|
||||
@@ -2505,7 +2510,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
|
||||
@@ -2735,7 +2740,7 @@ COMMENT DOLLARCARD HANDLES THE COMPILER CONTROL CARDS. 02282000
|
||||
THE NUMBER OF USER DEFINED OPTIONS ALLOWED CAN BE 02301000
|
||||
CHANGED BY CHANGING THE DEFINE "OPARSIZE". 02302000
|
||||
THE VARIABLE "OPTIONWORD" CONTAINS THE CURRENT TRUE OR FALSE 02303000
|
||||
SETTING OF ALL THE COMPILER-DEFINED OPTIONS, ONE BIT PER 02304000
|
||||
SETTING OF ALL OF THE COMPILER-DEFINED OPTIONS, ONE BIT PER 02304000
|
||||
OPTION. 02305000
|
||||
; 02306000
|
||||
BOOLEAN PROCEDURE FINDOPTION(BIT); VALUE BIT; INTEGER BIT; 02307000
|
||||
@@ -2770,7 +2775,7 @@ XMODE1: % NOT FIRST OPTION AND NOT BEING SET, RESET, OR POPPED. 02333000
|
||||
OPTIONS[OPINX+1]:=REAL(TRUE); 02334000
|
||||
IF XBIT<USEROPINX THEN OPTIONWORD:=OPTIONWORD & TRUE[XBIT:1]; 02335000
|
||||
GO ALONG; 02336000
|
||||
XMODE2: % RESET. 02337000
|
||||
XMODE2: % RESET; 02337000
|
||||
OPTIONS[OPINX+1]:=REAL(FALSE & SETTING[1:2:46]); 02338000
|
||||
IF XBIT<USEROPINX THEN OPTIONWORD:=OPTIONWORD & FALSE[XBIT:1]; 02339000
|
||||
GO ALONG; 02340000
|
||||
@@ -2884,7 +2889,7 @@ MERGEOPTION: 02437000
|
||||
BEGIN 02447000
|
||||
SI:=F; SI:=SI-24; DI:=LOC T; DS:=WDS; 02448000
|
||||
DI:=T; DI:=DI+47; SKIP 4 DB; DS:=2 RESET; 02449000
|
||||
2(DI:=DI+48; DS:=8 LIT"00#01+0#"; 02450000
|
||||
2(DI:=DI+48); DS:=8 LIT"00#01+0#"; 02450000
|
||||
END FIX; 02451000
|
||||
IF GT1:=FEJ(TAPE,0)=10 THEN 02452000
|
||||
BEGIN 02453000
|
||||
@@ -3039,7 +3044,7 @@ WHATISIT: 02578000
|
||||
BEGIN 02589000
|
||||
SKAN; 02590000
|
||||
IF RESULT=3 THEN 02591000
|
||||
ADDVALUE:=CONV(ACCUM[1],0,ACCUM[1].[12:6]); 02592000
|
||||
ADDVALUE:=CONV(ACCUM[1],0,ACCUM[1].[12:6]) 02592000
|
||||
ELSE FLAG(600); % NUMBER EXPECTED. 02593000
|
||||
END; 02594000
|
||||
GO SKANAGAIN; 02595000
|
||||
@@ -3049,7 +3054,7 @@ COMMENT DID NOT RECOGNIZE OPTION; 02597000
|
||||
BEGIN FLAG(601); GO SKANAGAIN END; 02599000
|
||||
SWITCHIT(USEROPINX); % USEROPINX MEANS A USER-DEFINED OPTION. 02600000
|
||||
GO AGAIN; 02601000
|
||||
EXIT: 02602000
|
||||
EXIT: 02602000
|
||||
LISTER:=DEBUGTOG OR LISTOG OR LISTATOG; 02602500
|
||||
MOVE(10,DEFINEARRAY[0],ACCUM[0]); % RESTORE INFORMATION FOR 02602600
|
||||
COUNT:=SCOUNT; RESULT:=SRESULT; % "TABLE" TO RESUME SCAN. 02602700
|
||||
@@ -3059,11 +3064,11 @@ COMMENT TABLE IS THE ROUTINE THAT MOST CODE IN THE COMPILER 02605000
|
||||
USES WHEN IT IS DESIRED TO SCAN ANOTHER LOGICAL QUANTITY. 02606000
|
||||
THE RESULT RETURNED IS THE CLASS OF THE ITEM DESIRED. 02607000
|
||||
TABLE MAINTAINS THE VARIABLES I AND NXTELBT AND THE ARRAY 02608000
|
||||
ELBAT. ELBAT AND I ARE PRINCIPAL VARIABLES USED FOR 02609000
|
||||
COMMUNICATION BETWEEN TABLE AND THE OUTSIDE WORLD. NXTELBT 02610000
|
||||
IS ALMOST EXCLUSIVELY USED BY TABLE. ALTHOUGH AN OCCASION- 02611000
|
||||
ELBAT. ELBAT AND I ARE PRINCIPAL VARIABLES USED FOR 02609000
|
||||
COMUNICATION BETWEEN TABLE AND THE OUTSIDE WORLD. NXTELBT 02610000
|
||||
IS ALMOST EXCLUSIVELY USED BY TABLE, ALTHOUGH AN OCCASION- 02611000
|
||||
AL OTHER USE IS MADE IN ORDER TO FORGET THAT SOMETHING WAS 02612000
|
||||
SCANNED. (SEE. FOR EXAMPLE, COMPOUNDTAIL). FOR FURTHER 02613000
|
||||
SCANNED. (SEE, FOR EXAMPLE, COMPOUNDTAIL). FOR FURTHER 02613000
|
||||
GENERAL DISCUSSION SEE THE DECLARATION OF THESE VARIABLES. 02614000
|
||||
THE PARAMETER P IS THE ACTUAL INDEX OF THE QUANTITY 02615000
|
||||
DESIRED (USUALLY I-1,I, OR I+1). 02616000
|
||||
@@ -3249,7 +3254,7 @@ IPART: TCOUNT:=FSAVE:=0; C:=CONVERT; 02758000
|
||||
BEGIN 02787000
|
||||
RESULT:=0; SCANNER; 02788000
|
||||
C:=1.0| C; 02789000
|
||||
FPART: TCOUNT:=COUNT; 02790000
|
||||
FPART: TCOUNT:=COUNT; 02790000
|
||||
IF EXAMIN(NCR){9 THEN 02791000
|
||||
BEGIN 02792000
|
||||
RESULT:=0; SCANNER; 02793000
|
||||
@@ -3269,7 +3274,7 @@ IPART: TCOUNT:=FSAVE:=0; C:=CONVERT; 02758000
|
||||
IF EXAMIN(NCR)="@" THEN 02807000
|
||||
BEGIN 02808000
|
||||
RESULT:=0; SCANNER; 02809000
|
||||
EPART: TCOUNT:=COUNT; 02810000
|
||||
EPART: TCOUNT:=COUNT; 02810000
|
||||
C:=C|1.0; 02811000
|
||||
RESULT:=7; SCANNER; 02812000
|
||||
IF T:=EXAMIN(NCR)>9 THEN 02813000
|
||||
@@ -3282,7 +3287,7 @@ IPART: TCOUNT:=FSAVE:=0; C:=CONVERT; 02758000
|
||||
RESULT:=0; SCANNER; 02820000
|
||||
IF RESULT ! 3 THEN FLAG (47); COMMENT NOT A NUMBER; 02821000
|
||||
Q:=ACCUM[1]; 02822000
|
||||
IF GT1:=T:=(IF T="-" THEN -CONVERT ELSE CONVERT)<-46 OR 02823000
|
||||
IF GT1:=T:=(IF T="-"THEN -CONVERT ELSE CONVERT)<-46 OR 02823000
|
||||
T>69 THEN FLAG(269) 02824000
|
||||
ELSE BEGIN 02825000
|
||||
T:=TEN[ABS(GT3:=T-FSAVE)]; 02826000
|
||||
@@ -3517,7 +3522,7 @@ ELSE BEGIN 02950000
|
||||
COMMENT LOOK FOR BOOLEAN OPERATORS, THEN OPTIONS; 02963500
|
||||
T:= IF Q="3NOT00" THEN NOTOP 02964000
|
||||
ELSE IF Q="3AND00" THEN ANDOP 02964500
|
||||
ELSE IF Q="3OR000" THEN OROP 02965000
|
||||
ELSE IF Q="2OR000" THEN OROP 02965000
|
||||
ELSE IF Q="3EQV00" THEN EQVOP 02965500
|
||||
ELSE 0; 02966000
|
||||
IF T!0 THEN BATMAN.CLASS:=T 02966500
|
||||
@@ -3618,7 +3623,7 @@ INTEGER PROCEDURE GETSPACE(S,L); VALUE S,L; 03051000
|
||||
PROCEDURE FORSTMT; FORWARD; 03052000
|
||||
03053000
|
||||
PROCEDURE E; FORWARD; 03054000
|
||||
PROCEDURE ENTRY(TYPE); VALUE TYPE; REAL TYPE; FORWARD; 03055000
|
||||
PROCEDURE ENTRY(TYPE); VALUE TYPE;REAL TYPE; FORWARD; 03055000
|
||||
PROCEDURE FORMATGEN;FORWARD; 03056000
|
||||
PROCEDURE EXPLICITFORMAT; FORWARD; 03056100
|
||||
BOOLEAN PROCEDURE FORMATPHRASE; FORWARD; 03056200
|
||||
@@ -3658,7 +3663,7 @@ PROCEDURE HANDLETHETAILENDOFAREADORSPACESTATEMENT; FORWARD; 03084000
|
||||
COMMENT EMITO EMIT AN OPERATOR; 04005000
|
||||
PROCEDURE EMITO(OPERATOR); VALUE OPERATOR; INTEGER OPERATOR; 04006000
|
||||
EMIT(1&OPERATOR[36:38:10]); 04007000
|
||||
COMMENT EMITC IS PRIMARILY FOR USE BY STRMSTMT TO EMIT CHARACTER MODE 04008000
|
||||
COMMENT EMITC IS PRIMARILY FOR USE BY STRMSTMT TO EMIT CHARACTOR MODE 04008000
|
||||
OPERATORS. HOWEVER IT ALSO HANDLES DIA, DIB, AND TRB; 04009000
|
||||
PROCEDURE EMITC(REPEAT,OPERATOR); VALUE REPEAT,OPERATOR; 04010000
|
||||
INTEGER REPEAT,OPERATOR; 04011000
|
||||
@@ -3732,8 +3737,8 @@ PROCEDURE EMITC(REPEAT,OPERATOR); VALUE REPEAT,OPERATOR; 04010000
|
||||
STACKCT ~ 0; %A 04078500
|
||||
EMITO(DEL) END END EMITUP; 04079000
|
||||
COMMENT ADJUST ADJUST L TO THE BEGINING OF A WORD AND FILLS IN THE 04080000
|
||||
INERVENING SPACE WITH NOPS, IT CHECKS STREAMTOG TO DECIDE 04081000
|
||||
WHICH SORT OF NOP TO USE; 04082000
|
||||
INERVENING SPACE WITH NOPS. IT CHECKS STREAMTOG TO DECIDE 04081000
|
||||
WHICH SORT OF NOP TO USE; 04082000
|
||||
PROCEDURE ADJUST; 04083000
|
||||
BEGIN 04084000
|
||||
DIALA ~ DIALB ~ 0; 04085000
|
||||
@@ -3796,7 +3801,7 @@ PROCEDURE EMITC(REPEAT,OPERATOR); VALUE REPEAT,OPERATOR; 04010000
|
||||
49(DS ~ 2 LIT " "); 04137000
|
||||
END ; 04138000
|
||||
COMMENT EMITWORD PLACES THE PARAMETER,"WORD",INTO EDOC. IF 04139000
|
||||
DEBUGGING IS REQUIRED. "L" AND "WORD" ARE OUTPUT ON 04140000
|
||||
DEBUGGING IS REQUIRED, "L" AND "WORD" ARE OUTPUT ON 04140000
|
||||
THE PRINTER FILE IN OCTAL FORMAT. ; 04141000
|
||||
PROCEDURE EMITWORD (WORD); VALUE WORD; REAL WORD; 04142000
|
||||
BEGIN 04143000
|
||||
@@ -3812,11 +3817,11 @@ PROCEDURE EMITC(REPEAT,OPERATOR); VALUE REPEAT,OPERATOR; 04010000
|
||||
COMMENT CONSTANTCLEAN IS CALLED AFTER AN UNCONDITIONAL BRANCH HAS 04153000
|
||||
BEEN EMITTED. IF ANY CONSTANTS HAVE BEEN ACCUMULATED BY 04154000
|
||||
EMITNUM IN INFO[0,*], CONSTANTCLEAN WILL FIX THE CHAIN 04155000
|
||||
OF C-RELATIVE OPDC S LEFT BY EMITNUM, IF C-RELATIVE 04156000
|
||||
OF C-RELATIVE OPDC S LEFT BY EMITNUM. IF C-RELATIVE 04156000
|
||||
ADDRESSING IS IMPOSSIBLE (I.E. THE ADDRESS 04157000
|
||||
IF GREATER THAN 127 WORDS) THEN THE CONSTANT ALONG WITH 04158000
|
||||
THE 1ST LINK OF THE OPDC CHAIN IS ENTERED IN INFO. 04159000
|
||||
AT PURGE TIME THE REMAINING OPDC S ARE EMITTED WITH 04160000
|
||||
THE 1ST LINK OF THE OPDC CHAIN IS ENTERED IN INFO. 04159000
|
||||
AT PURGE TIME THE REMAINING OPDC S ARE EMITTED WITH 04160000
|
||||
F -RELATIVE ADDRESSING AND CODE EMITTED TO STORE THE 04161000
|
||||
CONSTANTS INTO THE PROPER F-RELATIVE CELLS. ; 04162000
|
||||
PROCEDURE CONSTANTCLEAN ; 04163000
|
||||
@@ -3841,17 +3846,17 @@ PROCEDURE EMITC(REPEAT,OPERATOR); VALUE REPEAT,OPERATOR; 04010000
|
||||
LINK~GET(L); 04182000
|
||||
CREL ~ TRUE; 04183000
|
||||
EMITV(D + 768); 04184000
|
||||
END UNTIL L~ LINK = 4095 ; 04185000
|
||||
END UNTIL L~ LINK = 4095 ; 04185000
|
||||
ALLTHU: L ~ TEMPL; 04186000
|
||||
IF CREL THEN EMITWORD( INFO[0,255-J ]); 04187000
|
||||
END; 04188000
|
||||
LASTENTRY ~ 0; 04189000
|
||||
END ; 04190000
|
||||
COMMENT EMITNUM HANDLES THE EMISSION OF CODE FOR CONSTANTS,BOTH 04191000
|
||||
EXPLICIT AND IMPLICIT, IN EVERY CASE,EMITNUM WILL 04192000
|
||||
EXPLICIT AND IMPLICIT. IN EVERY CASE,EMITNUM WILL 04192000
|
||||
PRODUCE CODE TO GET THE DESIRED CONSTANT ON TOP OF 04193000
|
||||
THE STACK. IF THE NUMBER IS A LITERAL A SIMPLE LITC 04194000
|
||||
SYLLABLE IS PRODUCED, HOWEVER,NON-LITERALS ARE KEPT 04195000
|
||||
SYLLABLE IS PRODUCED. HOWEVER,NON-LITERALS ARE KEPT 04195000
|
||||
IN THE ZERO-TH ROW OF INFO WITH THE SYLLABLE 04196000
|
||||
POSITION,L. THE FIRST EMITNUM ON A PARTICULAR 04197000
|
||||
CONSTANT CAUSES THE VALUES OF L AND THE CONSTANT 04198000
|
||||
@@ -3908,7 +3913,7 @@ PROCEDURE EMITC(REPEAT,OPERATOR); VALUE REPEAT,OPERATOR; 04010000
|
||||
COMMENT PACK IS A STREAM PROCEDURE WHICH INSERTS THE SYLLABLE 04265000
|
||||
INTO THE EDOC ARRAY. THE SPECIFIC ELEMENT OF EDOC 04266000
|
||||
IS PRECISILY = EDOC[(L DIV 4) DIV 128,(< DIV 4)MOD 128] 04267000
|
||||
SYLLABLE POSITION=(L MOD 4 ). WHERE L IS THE SYLLABLE 04268000
|
||||
SYLLABLE POSITION=(L MOD 4 ), WHERE L IS THE SYLLABLE 04268000
|
||||
NUMBER RELATIVE TO THE BEGINNING OF THE SEGMENT; 04269000
|
||||
STREAM PROCEDURE PACK(WORD,POSITION,SYLLABLE); 04270000
|
||||
VALUE POSITION,SYLLABLE; 04271000
|
||||
@@ -3916,7 +3921,7 @@ PROCEDURE EMITC(REPEAT,OPERATOR); VALUE REPEAT,OPERATOR; 04010000
|
||||
DI~WORD ; DI ~ DI+POSITION ; DI ~ DI+POSITION; 04273000
|
||||
SI~LOC SYLLABLE ; SI~SI+6; 04274000
|
||||
DS~2 CHR ; 04275000
|
||||
END PACK ; 04276000
|
||||
END PACK ; 04276000
|
||||
PROCEDURE DEBUG(S); 04277000
|
||||
VALUE S; REAL S ; 04278000
|
||||
IF STREAMTOG THEN 04279000
|
||||
@@ -3956,7 +3961,7 @@ PROCEDURE EMITC(REPEAT,OPERATOR); VALUE REPEAT,OPERATOR; 04010000
|
||||
COMMENT EMITD EMITS THE DIA,DIB,TRB SEQUENCE OF CODE. THE 04305000
|
||||
PREVIOUS SETTING OF THE G-H AND K-V REGISTERS IS COMPARED 04306000
|
||||
THE CURRENT . IF THE G-H,K-V OR BOTH ARE ALREADY SET THEN 04307000
|
||||
THE APPROIATE SYLLABLES(S) ARE OMITTED 04308000
|
||||
THE APPROIATE SYLLABLE(S) ARE OMITTED 04308000
|
||||
IF 0 BITS ARE TO BE TRANSFERED THEN NO SYLLABLES ARE 04309000
|
||||
EMITTED ; 04310000
|
||||
PROCEDURE EMITD(A,B,T); VALUE A,B,T ; INTEGER A,B,T; 04311000
|
||||
@@ -4120,7 +4125,7 @@ IF PUNCHTOG THEN 05048000
|
||||
END 05060000
|
||||
END END FLAG; 05101000
|
||||
LABEL ENDOFITALL; 05101100
|
||||
COMMENT ERR. IS THE SAME AS FLAG EXCEPT THAT IT MAKES AN ATTEMPT TO 05102000
|
||||
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
|
||||
@@ -4136,8 +4141,8 @@ PROCEDURE ERR(ERRNUM); VALUE ERRNUM; INTEGER ERRNUM; 05105000
|
||||
PROCEDURE CHECKER(ELBATWORD); VALUE ELBATWORD; REAL ELBATWORD; 05113000
|
||||
BEGIN 05114000
|
||||
IF MODE } 2 THEN 05115000
|
||||
IF GTI1 ~ ELBATWORD.LVL } FRSTLEVEL THEN 05116000
|
||||
IF GTI1 < SUBLEVEL THEN 05117000
|
||||
IF GT1 ~ ELBATWORD.LVL } FRSTLEVEL THEN 05116000
|
||||
IF GT1 < SUBLEVEL THEN 05117000
|
||||
IF ELBATWORD.[9:2] ! 1 05118000
|
||||
THEN BEGIN FLAG(101); ERRORTOG ~ TRUE END 05119000
|
||||
END CHECKER; 05120000
|
||||
@@ -4357,7 +4362,7 @@ BOOLEAN PROCEDURE RANGE(LOWER,UPPER); 05297000
|
||||
UPPER AND SETS RANGE TO TRUE OR FALSE ACCORDINGLY. THE ITEMS 05302000
|
||||
CLASS MUST BE IN ELCLASS; 05303000
|
||||
RANGE~ELCLASS } LOWER AND ELCLASS { UPPER; 05304000
|
||||
COMMENT GET OBTAINS A SYLLABLE FROM EDOC. THE ARRAY INTO WHICH CODE IS 05305000
|
||||
COMMENT GET OBTAINS A SYLLABLE FROM EDOC, THE ARRAY INTO WHICH CODE IS 05305000
|
||||
EMITTED; 05306000
|
||||
INTEGER PROCEDURE GET(L); VALUE L; REAL L; 05307000
|
||||
BEGIN 05308000
|
||||
@@ -4535,9 +4540,9 @@ INTEGER PROCEDURE GETSPACE(PERMANENT,L); VALUE PERMANENT,L; 05331000
|
||||
COMPILED. IT ALSO HANDLES THE CASE OF A CONCATENATE 06026000
|
||||
WHERE ACTUALPARAPART CAUSED THE VARIABLE ROUTINE TO 06027000
|
||||
COMPILE ONLY PART OF A PRIMARY. MOST OF THE WORK OF 06028000
|
||||
SIMPARITH IS DONE BY ARITHCOMP. AN ARTIFIAL ROUTINE 06029000
|
||||
SIMPARITH IS DONE BY ARITHCOMP, AN ARTIFIAL ROUTINE 06029000
|
||||
WHICH DOES THE HIERARCHY ANALYSIS USING RECURSION. 06030000
|
||||
ARITHOCMP IS A SUBROUTINE ONLY TO GET THIS RECURSION; 06031000
|
||||
ARITHCOMP IS A SUBROUTINE ONLY TO GET THIS RECURSION; 06031000
|
||||
PROCEDURE SIMPARITH; 06032000
|
||||
BEGIN 06033000
|
||||
WHILE ELCLASS = AMPERSAND 06034000
|
||||
@@ -5741,7 +5746,7 @@ PARENCHECK: 07471500
|
||||
IF ELCLASS=RTPAREN THEN STEPIT ELSE ERR(104); 07471750
|
||||
EXIT: 07472000
|
||||
END RELSESTMT; 07472250
|
||||
COMMENT DOTSTMT HANDLES THE DO STATEMENT; 07481000
|
||||
COMMENT DOSTMT HANDLES THE DO STATEMENT; 07481000
|
||||
PROCEDURE DOSTMT; 07482000
|
||||
BEGIN INTEGER TL; 07483000
|
||||
DIALA ~ DIALB ~ 0; 07484000
|
||||
@@ -6348,7 +6353,7 @@ PROCEDURE KLUDGE(T); VALUE T; INTEGER T; 07930000
|
||||
BEGIN 08009000
|
||||
OWN REAL B,STMTSTART,REGO,RETURNSTORE,ADDRES,V,VRET, 08010000
|
||||
BRET; 08011000
|
||||
OWN BOOLEAN SIGNA,SIGNB,SIGNC, INT, 08012000
|
||||
OWN BOOLEAN SIGNA,SIGNB,SIGNC, INT, 08012000
|
||||
CONSTANA,CONSTANB,CONSTANC; 08013000
|
||||
DEFINE SIMPLEB = SIGNC#, FORMALV = SIGNA#, 08014000
|
||||
SIMPLEV = CONSTANA#, A = V#, Q = REGO#, 08015000
|
||||
@@ -6410,13 +6415,13 @@ PROCEDURE KLUDGE(T); VALUE T; INTEGER T; 07930000
|
||||
ERR(REAL(T ! 0) | 51 + 100); 08059000
|
||||
INT ~ GT1 = 3; 08060000
|
||||
SIMPI ~ T { INTID END SIMPI; 08061000
|
||||
COMMENT STORE EMITS THE CODE FOR THE STORE INTO THE FOR INDEX; 08062000
|
||||
COMMENT STORE EMITS THE CODE FOR THE STORE INTO THE FOR INDEX; 08062000
|
||||
PROCEDURE STORE(S); VALUE S; BOOLEAN S; 08063000
|
||||
BEGIN 08064000
|
||||
IF FORMALV THEN BEGIN EMITO(XCH); S ~ FALSE END 08065000
|
||||
ELSE BEGIN 08066000
|
||||
EMITL(ADDRES); 08067000
|
||||
IF ADDRES > 1023 THEN EMITO(PRTE) END; 08068000
|
||||
IF ADDRES > 1023 THEN EMITO(PRTE) END; 08068000
|
||||
T ~ (REAL(S)+1)|16; 08069000
|
||||
EMITO((IF INT THEN T+512 ELSE 4|T)+4) END STORE; 08070000
|
||||
COMMENT CALL EFFECTS A CALL ON THE INDEX; 08071000
|
||||
@@ -6514,7 +6519,7 @@ PROCEDURE KLUDGE(T); VALUE T; INTEGER T; 07930000
|
||||
IF LISTMODE THEN LISTELEMENT ELSE STMT; 08163000
|
||||
08164000
|
||||
IF NUMLE THEN BEGIN 08165000
|
||||
EMITV(RETURNSTORE + FOOT); EMITO(BBW) END 08166000
|
||||
EMITV(RETURNSTORE ~ FOOT); EMITO(BBW) END 08166000
|
||||
ELSE BEGIN 08167000
|
||||
EMITB(BBW,BUMPL,BACKFIX); RETURNSTORE ~ 0 END; 08168000
|
||||
STMTSTART ~ FORWARDBRANCH; B ~ L; 08169000
|
||||
@@ -7836,7 +7841,7 @@ COMMENT START FILLING TABLES NEEDED TO COMPILE A PROGRAM; 09040100
|
||||
OCT0703707272645341, OCT0714671151416632, OCT0726047403722400, 09078000
|
||||
OCT0737461304707100, OCT0751137556607072, OCT0761367512350710, 09079000
|
||||
OCT0771665435043073; 09080000
|
||||
COMMENT THIS IS THE FULL FOR THE SECOND ROW OF INFO: 09081000
|
||||
COMMENT THIS IS THE FILL FOR THE SECOND ROW OF INFO: 09081000
|
||||
THE FIRST ITEMS ARE STREAM RESERVED WORDS, 09082000
|
||||
THEN ORDINARY RESERVED WORDS, 09083000
|
||||
THEN INTRINSIC FUNCTIONS; 09084000
|
||||
@@ -8614,7 +8619,7 @@ END END END PROGRAM; 09420000
|
||||
ONLY CAUSES AN UNSETUP; 10227000
|
||||
PROCEDURE DEFINEGEN(MACRO,J); VALUE MACRO,J; BOOLEAN MACRO; REAL J; 10228000
|
||||
BEGIN 10229000
|
||||
OWN INTEGER CHARCOUNT, REMCOUNT; 10230000
|
||||
OWN INTEGER CHARCOUNT, REMCOUNT; 10230000
|
||||
COMMENT CHARCOUNT CONTAINS NUMBER OFCHARACTORS OF THE DEFINE THAT WE10231000
|
||||
HAVE PUT INTO INFO. REMCOUNT CONTAINS NUMBER OF CHARACT- 10232000
|
||||
ORS REMAINING IN THIS ROW OF INFO; 10233000
|
||||
@@ -8672,7 +8677,7 @@ STREAMTOG~TRUE; 10260100
|
||||
IF K~K-1<0 THEN GO FINAL ELSE GO PACKIN; 10264400
|
||||
IF ELCLASS=SEMICOLON THEN 10264410
|
||||
BEGIN FLAG(142); GO TO FINAL END ELSE GO PACKIN 10264420
|
||||
END; 10264500
|
||||
END; 10264500
|
||||
IF RESULT = 1 THEN IF J ! 0 THEN 10264600
|
||||
FOR N ~ 1 STEP 1 UNTIL J DO 10264650
|
||||
BEGIN 10264700
|
||||
@@ -11502,7 +11507,7 @@ L1: 15092000
|
||||
END; %116-15116200
|
||||
%A 15117000
|
||||
END ; 15118000
|
||||
IF P1 ! FP THEN BEGIN ERR(202); GO TO EXIT END; 15119000
|
||||
IF P1! FP THEN BEGIN ERR(202); GO TO EXIT END; 15119000
|
||||
COMMENT 202 VARIABLE- A VARIABLE APPEARS WHICH IS NOT FOLLOWED * 15120000
|
||||
BY A LEFT ARROW OR PERIOD *;15121000
|
||||
COMMENT 201 VARIABLE- A PARTIAL WORD DESIGNATOR IS NOT THE * 15122000
|
||||
@@ -11562,7 +11567,7 @@ COMMENT 201 VARIABLE- A PARTIAL WORD DESIGNATOR IS NOT THE * 15122000
|
||||
IF FIRST SUBSCRIPT THEN VN ELSE CDC,EXP, 15176000
|
||||
XCH,~. 15177000
|
||||
6. ADD THE SEQUENCE: 15178000
|
||||
IF FIRST SUBSCRIPT THEN VN ELSE CDC,DUP,LOD. 15179000
|
||||
IF FIRST SUBSCRIPT THEN VN ELSE CDC,DUP,LOD, 15179000
|
||||
EXP,T, XCH,~. 15180000
|
||||
EXP,T,~,ZEROL,ETC. HAVE SAME MEANINGS AS DEFINED IN 15181000
|
||||
SIMPLE VARIABLE BLOCK. ; 15182000
|
||||
@@ -11651,7 +11656,7 @@ COMMENT **** MONITOR FUNCTION M1 GOES HERE ; 15238000
|
||||
IF J+STLB ! THENUMBEROFDECLAREDDIMENSIONS THEN 15255000
|
||||
BEGIN ERR(203);GO EXIT END; 15256000
|
||||
COMMENT 203 VARIABLE- THE NUMBER OF SUBSCRIPTS USED IN A ROW * 15257000
|
||||
ROW DESIGNATOR DOES NOT MATCH THE ARRAY * 15258000
|
||||
ROW DESIGNATER DOES NOT MATCH THE ARRAY * 15258000
|
||||
DECLARATION. *;15259000
|
||||
IF STEPI ! RTBRKET THEN 15260000
|
||||
BEGIN ERR(204);GO EXIT END; 15261000
|
||||
@@ -11824,8 +11829,8 @@ COMMENT THIS SECTION GENERATES CODE FOR STREAM PROCEDURES; 16000000
|
||||
TRP = 60#, COMMENT 7.5.2.2 TRANSFER PROGRAM CHARACTERS ; 16019000
|
||||
BSS = 3#, COMMENT 7.5.6.6 SKIP SOURCE BIT ; 16020000
|
||||
BSD = 2#, COMMENT 7.5.6.5 SKIP DESTINATION BITS ; 16021000
|
||||
SEC = 34#, COMMENT 7.5.10.1 SET COUNT ; 16022000
|
||||
JNS = 38#; COMMENT 7.5.5.7 JUMP OUT LOOP ; 16023000
|
||||
SEC = 34#, COMMENT 7.5.10.1 SET COUNT ; 16022000
|
||||
JNS = 38#; COMMENT 7.5.5.7 JUMP OUT LOOP ; 16023000
|
||||
COMMENT FIXC EMITS BASICLY FORWARD JUMPS. HOWEVER IN THE CASE 16024000
|
||||
OF INSTRUCTIONS INTERPTED AS JUMPS BECAUSE OF A CRF ON 16025000
|
||||
A VALUE = 0 AND THE JUMP } 64 SYLLABLES A JFW 1 AND 16026000
|
||||
@@ -11916,7 +11921,7 @@ F~GET( S); 16033000
|
||||
ARE FIXED BY FAKING TOTOS INTO COMPILING THE REQUIRED 16111000
|
||||
JUMPS. 16112000
|
||||
FINALLY THE BNS IS FIXED,IF REQUIRED,AND NEST LEVEL 16113000
|
||||
AND JOINFO RESOTRED TO THEIR ORIGINAL VALUES. ; 16114000
|
||||
AND JOINFO RESTORED TO THEIR ORIGINAL VALUES. ; 16114000
|
||||
PROCEDURE NESTS; 16115000
|
||||
BEGIN 16116000
|
||||
LABEL EXIT; 16117000
|
||||
@@ -11985,7 +11990,7 @@ PROCEDURE LABELS; 16156000
|
||||
FIRST THE TEST IS COMPILED. NOTE THAT IN THE 16179000
|
||||
CONSTRUCTS "SC RELOP DC" AND "SC RELOP STRING" THAT 16180000
|
||||
THE SYLLABLE EMITTED IS FETCHED FROM ONE OF TWO FIELDS 16181000
|
||||
IN THE ELBAT WORD FOR THE RELATIONAL OPERATOR, OTHERWISE 16182000
|
||||
IN THE ELBAT WORD FOR THE RELATIONAL OPERATOR. OTHERWISE 16182000
|
||||
THE CODE IS EMITTED STRAIGHTAWAY. 16183000
|
||||
A TEST IS MADE TO SEE WHETHER THE STATEMENT AFTER THE 16184000
|
||||
"THEN" COULD POSSIBLY BE LONGER THAN 63 SYLLABLES,AND IF 16185000
|
||||
@@ -12067,7 +12072,7 @@ IFTOG: IF STEPI!THENV THEN BEGIN ERR(266); GO EXIT END; 16217000
|
||||
GO TOS IN THE CASE OF FORWARD JUMPS. 16245000
|
||||
FINALLY, IF THE NEST LEVEL IS DEFINED THEN IT IS CHECKED 16246000
|
||||
AGAINST THE CURRENT LEVEL MINUS THE NUMBER OF LEVELS TO 16247000
|
||||
BE JUMPED OUT, OTHERWISE,NEST LEVEL IS DEFINED. ; 16248000
|
||||
BE JUMPED OUT. OTHERWISE,NEST LEVEL IS DEFINED. ; 16248000
|
||||
PROCEDURE GOTOS; 16249000
|
||||
BEGIN 16250000
|
||||
LABEL EXIT; 16251000
|
||||
@@ -12119,11 +12124,11 @@ PROCEDURE RELEASES; 16281000
|
||||
THE VARIABLE "INDEX" IS COMPUTED,DEPENDING UPON WHICH 16297000
|
||||
CASE EXISTS,SUCH THAT ARRAY ELEMENT "MACRO[INDEX]"CONTAINS16298000
|
||||
THE CODE TO BE EMITTED. 16299000
|
||||
EACH ELEMENT OF MACRO HAS 1-3 SYLLABES ORDERED FROM 16300000
|
||||
RIGHT TO LEFT, UNUSED SYLLABLES MUST = 0. EACH MACRO 16301000
|
||||
EACH ELEMENT OF MACRO HAS 1-3 SYLLABLES ORDERED FROM 16300000
|
||||
RIGHT TO LEFT, UNUSED SYLLABLES MUST = 0. EACH MACRO 16301000
|
||||
MAY REQUIRE AT MOST ONE REPEAT PART. 16302000
|
||||
IN THIS PROCEDURE,INDEXS,THE VARIABLE "ADDR" CONTAINS THE 16303000
|
||||
PROPER REPEAT PART BY THE TIME THE LABEL "GENERATE' IS 16304000
|
||||
PROPER REPEAT PART BY THE TIME THE LABEL "GENERATE" IS 16304000
|
||||
ENCOUNTERED. THE SYLLABLES ARE FETCHED FROM MACRO[TYPE] 16305000
|
||||
ONE AT A TIME AND IF THE REPEAT PART ! 0 THEN"ADDR" IS 16306000
|
||||
USED AS THE REPEAT PART,THUS BUILDING A SYLLABLE WITH 16307000
|
||||
@@ -12168,7 +12173,7 @@ PROCEDURE INDEXS; 16311000
|
||||
ADDR ~ ELBAT[I].ADDRESS; 16344000
|
||||
GENERATE: 16345000
|
||||
IF MACRO[INDEX]= 0 THEN 16346000
|
||||
L: BEGIN ERR(250); GO TO EXIT END; 16347000
|
||||
L: BEGIN ERR(250);GO TO EXIT END; 16347000
|
||||
J ~ 8; TCLASS ~0 ; 16348000
|
||||
L1: MOVECHARACTERS(2,MACRO[INDEX],J~J-2,TCLASS,6 ); 16349000
|
||||
IF TCLASS!0 THEN 16350000
|
||||
@@ -12177,7 +12182,7 @@ PROCEDURE INDEXS; 16311000
|
||||
GO TO L1 16353000
|
||||
END; 16354000
|
||||
EXIT:END INDEXS ; 16355000
|
||||
COMMENT DSS COMPILES DESINTATION STREAM STATEMENTS. 16356000
|
||||
COMMENT DSS COMPILES DESTINATION STREAM STATEMENTS. 16356000
|
||||
DS~ LIT"STRING" IS HANDLED AS A SPECIAL CASE BECAUE THE 16357000
|
||||
STRING MUST BE SCANED FROM RIGHT TO LEFT,REPEATEDLY IF 16358000
|
||||
NECESSARY, AND EMITTED TO THE PROGRAM STREAM. IN 16359000
|
||||
@@ -12208,19 +12213,19 @@ PROCEDURE DSS; 16362000
|
||||
EMITC(ADDR,TRP); 16383000
|
||||
IF STEPI!STRING AND ELCLASS!STRNGCON AND %111-16384000
|
||||
ELCLASS ! LITNO AND ELCLASS ! NONLITNO THEN %111-16384100
|
||||
BEGIN ERR(255); GO TO EXIT END; 16384500
|
||||
BEGIN ERR(255);GO TO EXIT END; 16384500
|
||||
IF ELCLASS = LITNO OR ELCLASS = NONLITNO THEN %111-16384700
|
||||
MOVECHARACTERS(COUNT:=IF ADDR < 8 THEN ADDR ELSE 8, 16384800
|
||||
C,8-COUNT,ACCUM[1],3); %111-16384900
|
||||
IF ADDR MOD 2 ! 0 THEN 16385000
|
||||
BEGIN 16386000
|
||||
EMIT(ACCUM[1].[18:6]); J ~ 1; 16387000
|
||||
EMIT(ACCUM[1].[18:6]); J ~ 1; 16387000
|
||||
END ; 16388000
|
||||
FOR K ~J+2 STEP 2 UNTIL ADDR DO 16389000
|
||||
BEGIN 16390000
|
||||
FOR L ~6,7 DO 16391000
|
||||
MOVECHARACTERS(1,ACCUM[1],2+(IF J~J+1>COUNT THEN J~1 16392000
|
||||
ELSE J),T,L ); 16393000
|
||||
ELSE J),T,L ); 16393000
|
||||
EMIT(T); 16394000
|
||||
END END 16395000
|
||||
ELSE 16396000
|
||||
@@ -12262,7 +12267,7 @@ PROCEDURE JUMPS; 16431000
|
||||
BEGIN 16432000
|
||||
JUMPLEVEL~1; 16433000
|
||||
IF STEPI!DECLARATORS THEN FLAG(261); 16434000
|
||||
IF STEPI!LITNO THEN JUMPLEVEL~ ELBAT[I].ADDRESS 16435000
|
||||
IF STEPI = LITNO THEN JUMPLEVEL~ ELBAT[I].ADDRESS 16435000
|
||||
ELSE BEGIN 16436000
|
||||
IF ELCLASS! TOV AND ELCLASS! STLABID THEN 16437000
|
||||
BEGIN 16438000
|
||||
@@ -12279,8 +12284,8 @@ PROCEDURE JUMPS; 16431000
|
||||
ELBAT[I~ I-1]~ TAKE(JOINFO)&JOINFO[35:35:13]; 16449000
|
||||
END; I~I-1 ; 16450000
|
||||
END; 16451000
|
||||
FOR GT1~1 STEP 1 UNTIL JUMPLEVEL DO 16452000
|
||||
EMIT( JNS); 16453000
|
||||
FOR GT1~ 1 STEP 1 UNTIL JUMPLEVEL DO 16452000
|
||||
EMIT( JNS); 16453000
|
||||
GOTOS; 16454000
|
||||
END JUMPS; 16455000
|
||||
COMMENT STREAMSTMT ENVOKES THE APPROPRIATE PROCEDURE TO HANDLE 16456000
|
||||
|
||||
5980
SYMBOL/ESPOL.alg_m
5980
SYMBOL/ESPOL.alg_m
File diff suppressed because it is too large
Load Diff
24
tools/B5500.POWTEN.alg_m
Normal file
24
tools/B5500.POWTEN.alg_m
Normal file
@@ -0,0 +1,24 @@
|
||||
BEGIN 00100100
|
||||
FILE DISK(MAXRECSIZE=90, BLOCKSIZE=1800, FRAMESIZE=8, 00100200
|
||||
TITLE="DATA/MISC/B5500/POWTEN ON DISK."); 00100300120807PK
|
||||
INTEGER 00100400
|
||||
I; 00100500
|
||||
DOUBLE 00100600
|
||||
POW; 00100700
|
||||
00100800
|
||||
POW:= 1.0; 00100850
|
||||
FOR I:= 0 STEP 1 WHILE I<69 DO 00100900
|
||||
BEGIN 00101000
|
||||
WRITE(DISK, <I3," OCT",K16,",">, I, REAL(POW)); 00101100120807PK
|
||||
POW:= * MUX 10.0; 00101200
|
||||
END FOR I; 00101300120807PK
|
||||
00101400120807PK
|
||||
POW:= 1.0; 00101500120807PK
|
||||
FOR I:= -1 STEP -1 UNTIL -47 DO 00101600120807PK
|
||||
BEGIN 00101700120807PK
|
||||
POW:= */10.0; 00101800120807PK
|
||||
WRITE (DISK, <I3," OCT",K16,",">, I, REAL(POW)); 00101900120807PK
|
||||
END FOR I; 00102000120807PK
|
||||
00190000
|
||||
CLOSE(DISK, CRUNCH); 00190100
|
||||
END. 00999900
|
||||
116
tools/EMODE.POWTEN.dat_m
Normal file
116
tools/EMODE.POWTEN.dat_m
Normal file
@@ -0,0 +1,116 @@
|
||||
-47 OCT0000000000000000,
|
||||
-46 OCT1771110463422054,
|
||||
-45 OCT1761332600326467,
|
||||
-44 OCT1751621340414205,
|
||||
-43 OCT1742165630517247,
|
||||
-42 OCT1732623176643120,
|
||||
-41 OCT1723370036413744,
|
||||
-40 OCT1714266046116735,
|
||||
-39 OCT1705343457542525,
|
||||
-38 OCT1676634373473252,
|
||||
-37 OCT1651040347241213,
|
||||
-36 OCT1641250441111455,
|
||||
-35 OCT1631522551333770,
|
||||
-34 OCT1622047303622767,
|
||||
-33 OCT1612461164567564,
|
||||
-32 OCT1603175421725521,
|
||||
-31 OCT1574034726313046,
|
||||
-30 OCT1565044113775657,
|
||||
-29 OCT1556255136775233,
|
||||
-28 OCT1547730366574502,
|
||||
-27 OCT1521171646433362,
|
||||
-26 OCT1511430220142257,
|
||||
-25 OCT1501736264172732,
|
||||
-24 OCT1472325741231521,
|
||||
-23 OCT1463013331500045,
|
||||
-22 OCT1453616220020057,
|
||||
-21 OCT1444561664024072,
|
||||
-20 OCT1435716241031111,
|
||||
-19 OCT1427301711237333,
|
||||
-18 OCT1401116227350722,
|
||||
-17 OCT1371341675243107,
|
||||
-16 OCT1361632254513731,
|
||||
-15 OCT1352200727636717,
|
||||
-14 OCT1342641115606502,
|
||||
-13 OCT1333411341150223,
|
||||
-12 OCT1324313631402270,
|
||||
-11 OCT1315376577702746,
|
||||
-10 OCT1306676337663537,
|
||||
-9 OCT1261045602764047,
|
||||
-8 OCT1251257143561061,
|
||||
-7 OCT1241532774515275,
|
||||
-6 OCT1232061573640554,
|
||||
-5 OCT1222476132610707,
|
||||
-4 OCT1213215561353071,
|
||||
-3 OCT1204061115645707,
|
||||
-2 OCT1175075341217270,
|
||||
-1 OCT1166314631463146,
|
||||
0 OCT1141000000000000,
|
||||
1 OCT1131200000000000,
|
||||
2 OCT1121440000000000,
|
||||
3 OCT1111750000000000,
|
||||
4 OCT1102342000000000,
|
||||
5 OCT1073032400000000,
|
||||
6 OCT1063641100000000,
|
||||
7 OCT1054611320000000,
|
||||
8 OCT1045753604000000,
|
||||
9 OCT1037346545000000,
|
||||
10 OCT1011124027620000,
|
||||
11 OCT0001351035564000,
|
||||
12 OCT0011643245121000,
|
||||
13 OCT0022214116345200,
|
||||
14 OCT0032657142036440,
|
||||
15 OCT0043432772446150,
|
||||
16 OCT0054341571157602,
|
||||
17 OCT0065432127413543,
|
||||
18 OCT0076740555316473,
|
||||
19 OCT0111053071060221,
|
||||
20 OCT0121265707274266,
|
||||
21 OCT0131543271153343,
|
||||
22 OCT0142074147406234,
|
||||
23 OCT0152513201307703,
|
||||
24 OCT0163236041571663,
|
||||
25 OCT0174105452130240,
|
||||
26 OCT0205126764556310,
|
||||
27 OCT0216354561711772,
|
||||
28 OCT0231004771627437,
|
||||
29 OCT0241206170175347,
|
||||
30 OCT0251447626234641,
|
||||
31 OCT0261761573704011,
|
||||
32 OCT0272356132665013,
|
||||
33 OCT0303051561442216,
|
||||
34 OCT0313664115752661,
|
||||
35 OCT0324641141345435,
|
||||
36 OCT0336011371636745,
|
||||
37 OCT0347413670206536,
|
||||
38 OCT0361131664625027,
|
||||
39 OCT0371360241772234,
|
||||
40 OCT0401654312370703,
|
||||
41 OCT0412227375067064,
|
||||
42 OCT0422675274304701,
|
||||
43 OCT0433454553366062,
|
||||
44 OCT0444367706263476,
|
||||
45 OCT0455465667740415,
|
||||
46 OCT0467003245730521,
|
||||
47 OCT0501060411731665,
|
||||
48 OCT0511274514320242,
|
||||
49 OCT0521553637404312,
|
||||
50 OCT0532106607305375,
|
||||
51 OCT0542530351166674,
|
||||
52 OCT0553256443424453,
|
||||
53 OCT0564132154331566,
|
||||
54 OCT0575160607420123,
|
||||
55 OCT0606414751324150,
|
||||
56 OCT0621012014361120,
|
||||
57 OCT0631214417455344,
|
||||
58 OCT0641457523370635,
|
||||
59 OCT0651773450267005,
|
||||
60 OCT0662372362344606,
|
||||
61 OCT0673071057035747,
|
||||
62 OCT0703707272645341,
|
||||
63 OCT0714671151416632,
|
||||
64 OCT0726047403722400,
|
||||
65 OCT0737461304707100,
|
||||
66 OCT0751137556607072,
|
||||
67 OCT0761367512350710,
|
||||
68 OCT0771665435043073,
|
||||
@@ -128,7 +128,7 @@ ERROR NUMBER ROUTINE:ERROR MESSAGE 00025000
|
||||
TO ANOTHER. IF THE QUANTITY IS A PROCEDURE NAME OR 00127000=00073000=
|
||||
AN OWN VARIABLE THIS RESTRICTION IS RELAXED. 00128000=00074000=
|
||||
102 AEXP: CONDITIONAL EXPRESSION IS NOT OF ARITHMETIC TYPEH 00129000=00075000=
|
||||
103 PRIMARY: PRIMARY MAY NOT BEING WITH A QUANTITY OF THIS 00130000=00076000=
|
||||
103 PRIMARY: PRIMARY MAY NOT BEGIN WITH A QUANTITY OF THIS 00130000=00076000=
|
||||
TYPE. 00131000=00077000=
|
||||
104 ANYWHERE: MISSING RIGHT PARENTHESIS. 00132000=00078000=
|
||||
105 ANYWHERE: MISSING LEFT PARENTHESIS. 00133000=00079000=
|
||||
@@ -147,7 +147,7 @@ ERROR NUMBER ROUTINE:ERROR MESSAGE 00025000
|
||||
A CONCATENATE OPERATOR IS INCORRECT. 00146000=00092000=
|
||||
114 DOTSYNTAX: EITHER THE SYNTAX OR THE RANGE OF THE LITERALS 00147000=00093000=
|
||||
FOR A PARTIAL WORD DESIGNATOR IS INCORRECT. 00148000=00094000=
|
||||
115 DEXP: THE EXPRESSION IS NOT OF DESIGNATIONAL TYPE 00149000=00095000=
|
||||
115 DEXP: THE EXPRESSION IS NOT OF DESIGNATIONAL TYPE. 00149000=00095000=
|
||||
116 IFCLAUSE: MISSING THEN. 00150000=00096000=
|
||||
117 BANA: MISSING LEFT BRAKET. 00151000=00097000=
|
||||
118 BANA: MISSING RIGHT BRAKET. 00152000=00098000=
|
||||
@@ -210,7 +210,7 @@ ERROR NUMBER ROUTINE:ERROR MESSAGE 00025000
|
||||
155 IFEXP: MISSING ELSE 00209000=00155000=
|
||||
156 LISTELEMENT: A DESIGNATIONAL EXPRESSION MAY NOT BE A LIST 00210000=00156000=
|
||||
ELEMENT. 00211000=00157000=
|
||||
157 LISTELEMENT: A ROW DESIGNATOR MAY NOT BE A LISTELEMENT 00212000=00158000=
|
||||
157 LISTELEMENT: A ROW DESIGNATOR MAY NOT BE A LIST ELEMENT 00212000=00158000=
|
||||
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=
|
||||
@@ -256,7 +256,7 @@ ERROR NUMBER ROUTINE:ERROR MESSAGE 00025000
|
||||
256 RELEASES: MISSING PARENTHESIS OR FILE IDENTIFIER IS NOT 00255000=00187000=
|
||||
A FORMAL PARAMETER. 00256000=00188000=
|
||||
257 GOTOS,LABELS,OR JUMPS: LABEL SPECIFIED IS NOT ON THE SAME 00257000=00189000=
|
||||
NEXT LEVEL AS A PRECEDING APPEARANCE OF THE 00258000=00190000=
|
||||
NEST LEVEL AS A PRECEDING APPEARANCE OF THE 00258000=00190000=
|
||||
LABEL. 00259000=00191000=
|
||||
258 LABELS: MISSING :. 00260000=00192000=
|
||||
259 LABELS: LABEL APPEARS MORE THAN ONCE. 00261000=00193000=
|
||||
@@ -269,7 +269,7 @@ ERROR NUMBER ROUTINE:ERROR MESSAGE 00025000
|
||||
266 IFS: MISSING THEN INIF STATEMENT. 00268000=00200000=
|
||||
267 FREDFIX: THERE ARE GO TO STATEMENTS IN WHICH THE LABEL IS 00269000=00201000=
|
||||
UNDEFINED. 00270000=00202000=
|
||||
268 EMITO: A REPEAT INDEX >= 64 WAS SPECIFIED OR TOO MANY 00271000=00203000=
|
||||
268 EMITC: A REPEAT INDEX >= 64 WAS SPECIFIED OR TOO MANY 00271000=00203000=
|
||||
FORMAL PARAMETERS,LOCALS AND LABELS. 00272000=00204000=
|
||||
269 TABLE: A CONSTANT IS SPECIFIED WHICH IS TOO LARGE 00273000=00205000=
|
||||
OR TOO SMALL. 00274000=00206000=
|
||||
@@ -289,7 +289,7 @@ ERROR NUMBER ROUTINE:ERROR MESSAGE 00025000
|
||||
295 FILEATTRIBUTEHANDLER: FILE ATTRIBUTE MUST BE LEFT MOST 00288000=00211551=
|
||||
IN A LEFT PART LIST. 00289000=00211552=
|
||||
300 FILLSTMT: THE IDENTIFIER FOLLOWING "FILL" IS NOT 00290000=00212000=
|
||||
AN ARRAY IDENTIFER. 00291000=00213000=
|
||||
AN ARRAY IDENTIFIER. 00291000=00213000=
|
||||
301 FILLSTMT: MISSING "WITH" IN FILL STATEMENT. 00292000=00214000=
|
||||
302 FILLSTMT: IMPROPER FILL ELEMENT. 00293000=00215000=
|
||||
303 FILLSTMT: NON-OCTAL CHARACTER IN OCTAL FILL. 00294000=00216000=
|
||||
@@ -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 COMPILER & GO =0.FOR SYNTAX, =-1. MUST BE AT R+26;00540000=00504000=
|
||||
IF COMPILE & GO =0, FOR SYNTAX, =-1. MUST BE AT R+26;00540000=00504000=
|
||||
INTEGER 00545000=00504100=
|
||||
CARDNUMBER; % SEQ # OF CARD BEING PROCESSED. 00550000=00504100=
|
||||
INTEGER 00555000=00504150=
|
||||
@@ -1025,8 +1025,9 @@ PROCEDURE STREAMTRANSFERCHRQQ(MBASE, SBASE, N); 00800400
|
||||
SBASE[SREG]:= BREG; 00803800
|
||||
KREG:= 0; 00803900
|
||||
SREG:= *+1; 00804000
|
||||
IF NC > 0 THEN 00804100
|
||||
BREG:= SBASE[SREG]; 00804200
|
||||
IF NC < 8 THEN % RELOAD B IF PARTIAL WORD LEFT 00804100
|
||||
IF NC > 0 THEN 00804150
|
||||
BREG:= SBASE[SREG]; 00804200
|
||||
END; 00804300
|
||||
END WHILE; 00804400
|
||||
00804500
|
||||
@@ -1087,8 +1088,9 @@ PROCEDURE STREAMSMEARLITQQ(SBASE, N, CHAR); 00807600
|
||||
SBASE[SREG]:= BREG; 00810000
|
||||
KREG:= 0; 00810100
|
||||
SREG:= *+1; 00810200
|
||||
IF NC > 0 THEN 00810300
|
||||
BREG:= SBASE[SREG]; 00810400
|
||||
IF NC < 8 THEN % RELOAD B IF PARTIAL WORD LEFT 00810300
|
||||
IF NC > 0 THEN 00810350
|
||||
BREG:= SBASE[SREG]; 00810400
|
||||
END; 00810500
|
||||
END WHILE; 00810600
|
||||
00810700
|
||||
@@ -1128,8 +1130,9 @@ PROCEDURE STREAMTRANSFERLITQQ(SBASE, N, S); 00811500
|
||||
SBASE[SREG]:= BREG; 00814100
|
||||
KREG:= 0; 00814200
|
||||
SREG:= *+1; 00814300
|
||||
IF NC > 0 THEN 00814400
|
||||
BREG:= SBASE[SREG]; 00814500
|
||||
IF NC < 8 THEN % RELOAD B IF PARTIAL WORD LEFT 00814400
|
||||
IF NC > 0 THEN 00814450
|
||||
BREG:= SBASE[SREG]; 00814500
|
||||
END; 00814600
|
||||
END WHILE; 00814700
|
||||
00814800
|
||||
@@ -1256,8 +1259,9 @@ PROCEDURE STREAMTRANSFERFILLQQ(SBASE, N); 00824300
|
||||
SBASE[SREG]:= BREG; 00826900
|
||||
KREG:= 0; 00827000
|
||||
SREG:= *+1; 00827100
|
||||
IF NC > 0 THEN 00827200
|
||||
BREG:= SBASE[SREG]; 00827300
|
||||
IF NC < 8 THEN % RELOAD B IF PARTIAL WORD LEFT 00827200
|
||||
IF NC > 0 THEN 00827250
|
||||
BREG:= SBASE[SREG]; 00827300
|
||||
END; 00827400
|
||||
END 00827500
|
||||
ELSE 00827600
|
||||
@@ -1355,8 +1359,9 @@ PROCEDURE STREAMSETDBQQ(SBASE, N, TRUTH); 00835600
|
||||
SBASE[SREG]:= BREG; 00838300
|
||||
KREG:= 0; 00838400
|
||||
SREG:= *+1; 00838500
|
||||
IF NC > 0 THEN 00838600
|
||||
BREG:= SBASE[SREG]; 00838700
|
||||
IF NC < 8 THEN % RELOAD B IF PARTIAL WORD LEFT 00838600
|
||||
IF NC > 0 THEN 00838650
|
||||
BREG:= SBASE[SREG]; 00838700
|
||||
END; 00838800
|
||||
END; 00838900
|
||||
END WHILE; 00839000
|
||||
@@ -1848,7 +1853,7 @@ COMMENT IF A NEW COMPILER-DEFINED OPTION IS ADDED, CHANGE USEROPINX 01565000
|
||||
LISTPTOG = OPTIONWORD.[LISTPBIT:1] #, 01620000=01001290=
|
||||
MCPTOG = OPTIONWORD.[MCPBIT:1] #, 01625000=01001300=
|
||||
MERGETOG = OPTIONWORD.[MERGEBIT:1] #, 01630000=01001310=
|
||||
NESTTOG = OPTIONWORD.[NESTBIT:1] #, 01635000=01001320=
|
||||
NESTOG = OPTIONWORD.[NESTBIT:1] #, 01635000=01001320=
|
||||
NEWTOG = OPTIONWORD.[NEWBIT:1] #, 01640000=01001330=
|
||||
NEWINCL = OPTIONWORD.[NEWINCLBIT:1] #, 01645000=01001340=
|
||||
OMITTING = OPTIONWORD.[OMITBIT:1] #, 01650000=01001350=
|
||||
@@ -2036,7 +2041,7 @@ XLUN; % THIS VARIABLE CONTROLS THE ASSIGNING OF 02295000
|
||||
OR RESERVED WORD. THE FIRST WORD OF A GIVEN ENTRY IS 02575000=01009000=
|
||||
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=
|
||||
[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=
|
||||
SUCCEDING WORDS CONTAIN THE REMAINING CHARACTORS OF ALPHA,02605000=01015000=
|
||||
@@ -2050,7 +2055,7 @@ XLUN; % THIS VARIABLE CONTROLS THE ASSIGNING OF 02295000
|
||||
ALPHA, FILLED IN WITH ZEROS FROM THE RIGHT IF NEEDED. 02645000=01023000=
|
||||
THIS NUMBER IS CALLED THE SCRAMBLE NUMBER OR INDEX. 02650000=01024000=
|
||||
THE FIRST ROW OF INFO IS USED FOR OTHER PURPOSES. THE 02655000=01025000=
|
||||
RESERVED WORDS OCCUPY THE SECOND ROW, IT IS FILLED DURING 02660000=01026000=
|
||||
RESERVED WORDS OCCUPY THE SECOND ROW. IT IS FILLED DURING 02660000=01026000=
|
||||
INITIALIZATION; 02665000=01027000=
|
||||
02670000=01028000=
|
||||
COMMENT INFO FORMAT 02675000=01028000=
|
||||
@@ -2065,7 +2070,7 @@ COMMENT INFO FORMAT 02675000
|
||||
THE LINK FIELD OF THE ELBAT WORD IN INFO IS DIFFERENT FROM 02720000=01037000=
|
||||
THAT OF THE ENTRY IN ELBAT PUT IN BY TABLE.THE ENTRY IN ELBAT 02725000=01038000=
|
||||
POINTS TO ITS OWN LOCATION (RELATIVE) IN INFO. 02730000=01039000=
|
||||
THE LINK IN INFO POINTS TO THE PREVIOUS ENTRY E.G.. THE 02735000=01040000=
|
||||
THE LINK IN INFO POINTS TO THE PREVIOUS ENTRY E.G., THE 02735000=01040000=
|
||||
LINK FROM STACKHEAD WHICH THE CURRENT ENTRY REPLACED. 02740000=01041000=
|
||||
FOR SIMPLICITY,I WILL CONSIDER INFO TO BE A ONE DIMENSIONAL 02745000=01042000=
|
||||
ARRAY,SO THAT THE BREAKING UP OF THE LINKS INTO ROW AND COLUMN 02750000=01043000=
|
||||
@@ -2081,11 +2086,11 @@ COMMENT INFO FORMAT 02675000
|
||||
THEN A IS ENTERED AS FOLLOWS:(ASSUME AN ELBAT WORD T HAS BEEN 02800000=01053000=
|
||||
CONSTRUCTED FOR A) 02805000=01054000=
|
||||
T.LINK:= S[L]. (WHICH IS ZERO AT FIRST). 02810000=01055000=
|
||||
INFO[NEXTINFO]:=T, S[L]:=NEXTINFO. 02815000=01056000=
|
||||
INFO[NEXTINFO]:=T. S[L]:=NEXTINFO. 02815000=01056000=
|
||||
NEXTINFO:=NEXTINFO+NUMBER OF WORDS IN THIS 02820000=01057000=
|
||||
ENTRY. 02825000=01058000=
|
||||
NOW S[L] POINTS TO THE ENTRY FOR A IN INFO AND THE ENTRY 02830000=01059000=
|
||||
ITSELF CONTAINS THE STOP FLAG ZERO 02835000=01060000=
|
||||
ITSELF CONTAINS THE STOP FLAG ZERO. 02835000=01060000=
|
||||
B IS ENTERED SIMILARLY TO A. 02840000=01061000=
|
||||
NOW S[L] POINTS TO THE ENTRY FOR B AND IT POINTS TO THE 02845000=01062000=
|
||||
ENTRY FOR A. 02850000=01063000=
|
||||
@@ -2097,9 +2102,9 @@ COMMENT INFO FORMAT 02675000
|
||||
FORWARD.IT IS RESET AT THE TIME OF ITS ACTUAL 02880000=01069000=
|
||||
FULL DECLARATION. 02885000=01070000=
|
||||
PURPT =[43:8] THIS GIVES A DECREMENT WHICH GIVES THE RELATIVE 02890000=01071000=
|
||||
INDEX TO THE PREVIOUS INFO ENTRY WHEN SUBSTRACTED 02895000=01072000=
|
||||
INDEX TO THE PREVIOUS INFO ENTRY WHEN SUBTRACTED 02895000=01072000=
|
||||
FROM THE CURRENT ENTRY INDEX. 02900000=01073000=
|
||||
[35:6] TELLS THE NUMBER OF CHARACTERS IN THE ENTRY,(<64) 02905000=01074000=
|
||||
[35:6] TELLS THE NUMBER OF CHARACTERS IN THE ENTRY.(<64) 02905000=01074000=
|
||||
[29:30] CONTAINS THE FIRST FIVE ALPHA CHARACTERS OF THE ENTRY 02910000=01075000=
|
||||
AND SUCCEEDING WORDS CONTAIN ALL OVERFLOW IF NEEDED. 02915000=01076000=
|
||||
THESE WORDS CONTAIN 8 CHARACTERS EACH,LEFT JUSTIFIED. 02920000=01077000=
|
||||
@@ -2109,7 +2114,7 @@ COMMENT INFO FORMAT 02675000
|
||||
I+1 = OP6SYMBO (P DEPENDS ON PREVIOUS ENTRY) 02940000=01081000=
|
||||
I+2 = L 02945000=01082000=
|
||||
I+3 = ELBATWRD (MADE FOR X) 02950000=01083000=
|
||||
I+4 = O31X 02955000=01084000=
|
||||
I+4 = 031X 02955000=01084000=
|
||||
THIS SHOWS THAT INFO[I-P] WOULD POINT TO THE BEGINNING OF 02960000=01085000=
|
||||
THE ENTRY BEFORE SYMBOL, AND 02965000=01086000=
|
||||
INFO[I+3-3] POINTS TO THE ENTRY FOR SYMBOL. 02970000=01087000=
|
||||
@@ -2138,7 +2143,7 @@ COMMENT INFO FORMAT 02675000
|
||||
TO BE ADDED TO THE SUBSCRIPT IN INDEXING OR 03085000=01110000=
|
||||
SUBTRACTED. 03090000=01111000=
|
||||
[12:11] =11 BIT ADDRESS OF LOWER BOUND,IF THE LOWER BOUND 03095000=01112000=
|
||||
REQUIRES A PRT OR STACK CELL.OTHERWISE THE BIT 03100000=01113000=
|
||||
REQUIRES A PRT OR STACK CELL,OTHERWISE THE BIT 03100000=01113000=
|
||||
35 IS IGNORED AND THE NEXT TEN BITS([11:10]) 03105000=01114000=
|
||||
REPRESENT THE ACTUAL VALUE OF THE LOWER BOUND 03110000=01115000=
|
||||
[1:2] =00 OR 10 DEPENDING ON WHETHER THE [12:11] VALUE 03115000=01116000=
|
||||
@@ -2147,7 +2152,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, 03145000=01122000=
|
||||
[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=
|
||||
@@ -2189,7 +2194,7 @@ COMMENT INFO FORMAT 02675000
|
||||
LINKR = [12:5] #, 03340000=01156000=
|
||||
LINKC = [7:8] #; 03345000=01156000=
|
||||
03350000=01157000=
|
||||
COMMENT THESE DEFINES ARE USED TO PICK APART THE ELBAT WORD, 03355000=01157000=
|
||||
COMMENT THESE DEFINES ARE USED TO PICK APART THE ELBAT WORD. 03355000=01157000=
|
||||
MON IS THE BIT WHICH IS TURNED ON IF: 03360000=01158000=
|
||||
1. THE QUANTITY IS TO BE MONITORED, OR 03365000=01158100=
|
||||
2. THE QUANTITY IS A PARAMETRIC DEFINE AND NOT 03370000=01158200=
|
||||
@@ -2198,7 +2203,7 @@ COMMENT INFO FORMAT 02675000
|
||||
QUANTITY. 03385000=01160000=
|
||||
FORMAL IS THE BIT WHICH IS ON IF THE QUANTITY IS A FORMAL 03390000=01161000=
|
||||
PARAMETER. 03395000=01162000=
|
||||
V0 IS THE VALUE-OWN BIT. IF FORMAL = 1 THEN THE BIT 03400000=01163000=
|
||||
VO IS THE VALUE-OWN BIT. IF FORMAL = 1 THEN THE BIT 03400000=01163000=
|
||||
DISTINGUISHES VALUE PARAMETERS FROM OTHERS. IF 03405000=01164000=
|
||||
FORMAL = 0 THEN THE BIT DISTINGUISHES OWN VARIABLES 03410000=01165000=
|
||||
FROM OTHERS. 03415000=01166000=
|
||||
@@ -2214,7 +2219,7 @@ COMMENT INFO FORMAT 02675000
|
||||
NEEDED, RELATIVE TO THE LOCATION IN INFO. 03465000=01170000=
|
||||
LINK CONTAINS A LINK TO THE LOCATION IN INFO IF THE 03470000=01171000=
|
||||
QUANTITY LIES IN ELBAT, OTHERWISE IT LINKS TO THE 03475000=01172000=
|
||||
NEXT ITEM IN THE STACK, ZERO IS AN END FLAG. 03480000=01173000=
|
||||
NEXT ITEM IN THE STACK. ZERO IS AN END FLAG. 03480000=01173000=
|
||||
LINKR AND LINKC ARE SUBDIVISIONS OF LINK.; 03485000=01174000=
|
||||
03490000=01175000=
|
||||
COMMENT CLASSES FOR ALL QUANTITIES - OCTAL CLASS IS IN COMMENT; 03495000=01175000=
|
||||
@@ -2227,8 +2232,8 @@ COMMENT INFO FORMAT 02675000
|
||||
LISTID = 04 #, COMMENT 004; 03530000=01181000=
|
||||
FRMTID = 05 #, COMMENT 005; 03535000=01182000=
|
||||
SUPERFRMTID = 06 #, COMMENT 006; 03540000=01183000=
|
||||
FILEID = 07 #, COMMENT 006; 03545000=01184000=
|
||||
SUPERFILEID = 08 #, COMMENT 007; 03550000=01185000=
|
||||
FILEID = 07 #, COMMENT 007; 03545000=01184000=
|
||||
SUPERFILEID = 08 #, COMMENT 010; 03550000=01185000=
|
||||
SWITCHID = 09 #, COMMENT 011; 03555000=01186000=
|
||||
PROCID = 10 #, COMMENT 012; 03560000=01187000=
|
||||
INTRNSICPROCID = 03565000=01188000=
|
||||
@@ -2262,7 +2267,7 @@ COMMENT INFO FORMAT 02675000
|
||||
COMMENT CLASSES FOR ALL DECLARATORS; 03705000=01213000=
|
||||
DECLARATORS = 35 #, COMMENT 043; 03710000=01214000=
|
||||
03715000=01215000=
|
||||
COMMENT CLASSES FOR STATEMENT BEGINNERS; 03720000=01215000=
|
||||
COMMENT CLASSES FOR STATEMENT BEGINNERS 03720000=01215000=
|
||||
READV = 36 #, COMMENT 044; 03725000=01216000=
|
||||
WRITEV = 37 #, COMMENT 045; 03730000=01217000=
|
||||
SPACEV = 38 #, COMMENT 046; 03735000=01218000=
|
||||
@@ -2373,8 +2378,8 @@ COMMENT INFO FORMAT 02675000
|
||||
ALPHA ARRAY 04260000=01304000=
|
||||
ACCUM[0:10]; 04265000=01304000=
|
||||
COMMENT ACCUM HOLDS THE ALPHA AND CHARACTER COUNT OF THE LAST 04270000=01305000=
|
||||
SCANNER ITEM IN A FORM COMPATIBLE WITH ITS APPEARANCE 04275000=01306000=
|
||||
IN INFO. THAT IS ACCUM[1] = 00NAAAAA, ACCUM[I] , I> 1. 04280000=01307000=
|
||||
SCANNED ITEM IN A FORM COMPATIBLE WITH ITS APPEARANCE 04275000=01306000=
|
||||
IN INFO. THAT IS ACCUM[1] = 00NAAAAA, ACCUM[I] , I> 1, 04280000=01307000=
|
||||
HAS ANY ADDITIONAL CHARACTERS. ACCUM[0] IS USED FOR 04285000=01308000=
|
||||
THE ELBAT WORD BY THE ENTER ROUTINES; 04290000=01309000=
|
||||
ARRAY 04295000=01310000=
|
||||
@@ -2427,7 +2432,7 @@ COMMENT INFO FORMAT 02675000
|
||||
ARRAY REFERENCE 04540000
|
||||
SBUFF[0]; % CURRENT SOURCE INPUT BUFFER 04540100
|
||||
COMMENT FCR CONTAINS ABSOLUTE ADDRESS OF THE FIRST CHARACTOR OF 04545000=01332000=
|
||||
THE CARD IMAGE CURRENTLY BEING SCANNED. NCR THE ADDRESS 04550000=01333000=
|
||||
THE CARD IMAGE CURRENTLY BEING SCANNED, NCR THE ADDRESS 04550000=01333000=
|
||||
OF THE NEXT CHARACTOR TO BE SCANNED, AND LCR THE LAST 04555000=01334000=
|
||||
CHARACTOR (COLUMN 73). CLCR CONTAIN ADDRESS OF 04560000=01335000=
|
||||
THE LAST CHARACTER IN THE CARD BUFFERS; 04565000=01336000=
|
||||
@@ -2556,18 +2561,18 @@ COMMENT THE CONTENTS OF RELATIVE DISK SEGMENT ZERO OF THE CODE FILE ARE:04950000
|
||||
COMMENT THESE VARIABLES ARE USED FOR TEMPORARY STORAGE; 05200000=01385000=
|
||||
INTEGER 05205000=01386000=
|
||||
RESULT; 05210000=01386000=
|
||||
COMMENT THIS VARIALE IS USED FOR A DUAL PURPOSE BY THE TABLE 05215000=01387000=
|
||||
COMMENT THIS VARIABLE IS USED FOR A DUAL PURPOSE BY THE TABLE 05215000=01387000=
|
||||
ROUTINE AND THE SCANNER. THE TABLE ROUTINE USES THIS 05220000=01388000=
|
||||
VARIABLE TO SPECIFY SCANNER OPERATIONS AND THE SCANNER 05225000=01389000=
|
||||
USES IT TO INFORM THE TABLE ROUTINE OF THE ACTION TAKEN; 05230000=01390000=
|
||||
INTEGER 05235000=01391000=
|
||||
LASTUSED; 05240000=01391000=
|
||||
COMMENT LASTUSED IS A VARIABLE THAT CONTROLS THE ACTION OF 05245000=01392000=
|
||||
READACARD. THE ROUTINE WHICH READS CARDS AND INITIALIZES 05250000=01393000=
|
||||
READACARD, THE ROUTINE WHICH READS CARDS AND INITIALIZES 05250000=01393000=
|
||||
OR PREPARES THE CARD FOR THE SCANNER. 05255000=01394000=
|
||||
LASTUSED LAST CARD READ FROM 05260000=01394500=
|
||||
-------- ------------------- 05265000=01394600=
|
||||
1 CARD READ ONLY, NO TAPE. 05270000=01395000=
|
||||
1 CARD READER ONLY, NO TAPE. 05270000=01395000=
|
||||
2 CARD READER, TAPE AND CARD MERGE. 05275000=01396000=
|
||||
3 TAPE, TAPE AND CARD MERGE. 05280000=01397000=
|
||||
4 INITIALIZATION ONLY, CARD ONLY. 05285000=01398000=
|
||||
@@ -2576,7 +2581,7 @@ COMMENT THE CONTENTS OF RELATIVE DISK SEGMENT ZERO OF THE CODE FILE ARE:04950000
|
||||
; 05300000=01398300=
|
||||
BOOLEAN 05305000=01399000=
|
||||
LINKTOG; 05310000=01399000=
|
||||
COMMENT LINKTOG IS FALSE IF THE LAST THING EMITTED IS A LINK. 05315000=01400000=
|
||||
COMMENT LINKTOG IS FALSE IF THE LAST THING EMITTED IS A LINK, 05315000=01400000=
|
||||
OTHERWISE IT IS TRUE; 05320000=01401000=
|
||||
INTEGER 05325000=01402000=
|
||||
LEVEL, 05330000=01402000=
|
||||
@@ -2584,7 +2589,7 @@ COMMENT THE CONTENTS OF RELATIVE DISK SEGMENT ZERO OF THE CODE FILE ARE:04950000
|
||||
SUBLEVEL, 05340000=01402000=
|
||||
MODE; 05345000=01402000=
|
||||
COMMENT THESE VARIABLES ARE MAINTAINED BY THE BLOCK ROUTINE TO KEEP 05350000=01403000=
|
||||
TRACK OF LEVELS OF DEFINITION. LEVEL GIVES THE DEPTH OF 05355000=01404000=
|
||||
TRACK OF LEVELS OF DEFINITION, LEVEL GIVES THE DEPTH OF 05355000=01404000=
|
||||
NESTING IN DEFINITION. WHERE EACH BLOCK AND EACH PROCEDURE05360000=01405000=
|
||||
GIVES RISE TO A NEW LEVEL. SUBLEVEL GIVES THE LEVEL OF 05365000=01406000=
|
||||
THE PARAMETERS OF THE PROCEDURE CURRENTLY BEING COMPILED. 05370000=01407000=
|
||||
@@ -2628,13 +2633,13 @@ COMMENT THE CONTENTS OF RELATIVE DISK SEGMENT ZERO OF THE CODE FILE ARE:04950000
|
||||
FA = 5 #, 05560000=01420500=
|
||||
FI = 6 #, 05565000=01420500=
|
||||
FIO = 7 #; 05570000=01420500=
|
||||
COMMENT THESE DEFINES ARE USED WHEN CALLING THE VARIABLE ROUTINE, 05575000=01421000=
|
||||
COMMENT THESE DEFINES ARE USED WHEN CALLING THE VARIABLE ROUTINE. 05575000=01421000=
|
||||
THEIR PURPOSES IS TO TELL VARIABLE WHO IS CALLING. 05580000=01422000=
|
||||
THEIR MEANING IS: 05585000=01423000=
|
||||
FS MEANS FROM STATEMENT. 05590000=01424000=
|
||||
FP MEANS FROM PRIMARY. 05595000=01425000=
|
||||
FL MEANS FROM LIST. 05600000=01426000=
|
||||
FR MEANS FROM FOR. 05605000=01427000=
|
||||
FS MEANS FROM STATEMENT, 05590000=01424000=
|
||||
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=
|
||||
FI MEANS FUNNY CALL FROM STATUS (IMPFUN); 05620000=01427600=
|
||||
@@ -2803,7 +2808,7 @@ COMMENT THE CONTENTS OF RELATIVE DISK SEGMENT ZERO OF THE CODE FILE ARE:04950000
|
||||
CODE(KIND=DISK, MAXRECSIZE=30, FRAMESIZE=48, 06475000=01556200=
|
||||
AREAS=20, AREASIZE=CHUNK, FILEUSE=OUT, PROTECTION=SAVE); 06475100
|
||||
FILE 06480000=01557000=
|
||||
CARD(KIND=READER, DEPENDENTSPECS, FILEUSE=IN); 06485000=01557000=
|
||||
CARD(KIND=DISK, DEPENDENTSPECS, FILEUSE=IN); 06485000=01557000=
|
||||
FILE 06490000=01559000=
|
||||
LINE(KIND=PRINTER, MAXRECSIZE=20, FRAMESIZE=48, FILEUSE=OUT); 06492000
|
||||
ARRAY 06495000=01559010=
|
||||
@@ -2928,8 +2933,8 @@ COMMENT THE CONTENTS OF RELATIVE DISK SEGMENT ZERO OF THE CODE FILE ARE:04950000
|
||||
PURPT = [43:8] #, 07690000=01628000=
|
||||
SECRET = 2 #; 07695000=01628000=
|
||||
07700000=01629000=
|
||||
COMMENT THESE DEFINES GIVE THE NAMES OF THE WORD MODE OPERATORS. THE 07705000=01629000=
|
||||
NUMBERS REFERS TO THE APPROPRIATE SECTION OF THE PRODUCT SPECS. THE07710000=01630000=
|
||||
COMMENT THESE DEFINES GIVE THE NAMES OF THE WORD MODE OPERATORS. THE 07705000=01629000=
|
||||
NUMBERS REFER TO THE APPROPRIATE SECTION OF THE PRODUCT SPECS. THE 07710000=01630000=
|
||||
FULL NAME IS ALSO GIVEN; 07715000=01631000=
|
||||
DEFINE 07720000=01632000=
|
||||
ADD = 16#, COMMENT (0101) 7.4.2.1 ADD; 07725000=01633000=
|
||||
@@ -3526,14 +3531,14 @@ COMMENT EQUAL COMPARES COUNT CHARACTERS LOCATED AT A AND B FOR 12665000
|
||||
BEGIN 12785000=02066500=
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%12790000=02067000=
|
||||
COMMENT "SCNN" IS THE STREAM PROCEDURE WHICH DOES THE ACTUAL SCANNING. 12795000=02067000=
|
||||
IT IS DRIVEN BY A SMALL WORD MODE PROCEDURE CALLED "SCANNER". 12800000=02067500=
|
||||
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, 12815000=02069000=
|
||||
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=
|
||||
===== ========================================= 12835000=02071000=
|
||||
===== ========================================== 12835000=02071000=
|
||||
0 INITIAL CODE - DEBLANK AND START TO FETCH THE 12840000=02071500=
|
||||
NEXT QUANTITY. 12845000=02072000=
|
||||
1 CONTINUE BUILDING AN IDENTIFIER (INTERRUPTED BY 12850000=02072500=
|
||||
@@ -3551,7 +3556,7 @@ COMMENT "SCNN" IS THE STREAM PROCEDURE WHICH DOES THE ACTUAL SCANNING. 12795000
|
||||
7 DEBLANK ONLY. 12910000=02078500=
|
||||
THE MEANING OF "RESULT" AS OUTPUT IS: 12915000=02079000=
|
||||
VALUE MEANING 12920000=02079500=
|
||||
===== ======================================= 12925000=02080000=
|
||||
===== ======================================== 12925000=02080000=
|
||||
1 AN IDENTIFIER WAS BUILT. 12930000=02080500=
|
||||
2 A SPECIAL CHARACTER WAS OBTAINED. 12935000=02081000=
|
||||
3 A NUMBER (INTEGER) WAS BUILT. 12940000=02081500=
|
||||
@@ -3685,12 +3690,12 @@ COMMENT IF WE ARRIVE AT ERROR WE HAVE MORE THAN 63 CHARACTERS 13505000
|
||||
END; 13535500
|
||||
GO ERROR; 13540000=02119000=
|
||||
EXIT: 13545000=02120000=
|
||||
ST1:= TALLY; % "ST1" CONTAINS THE NUMBER OF CHARACTERS WE ARE 13550000=02120000=
|
||||
ST1:= TALLY; % "ST1" CONTAINS NUMBER OF CHARACTERS WE ARE 13550000=02120000=
|
||||
% GOING TO MOVE INTO THE "ACCUMULATOR". 13555000=02120500=
|
||||
STREAMINCTALLY(COUNTV); 13560000=02121000=
|
||||
ST2:= TALLY; 13565000=02121000=
|
||||
COUNT:= ST2; 13570000=02121500=
|
||||
COMMENT THIS CODE UPDATED "COUNT'; 13590000=02122000=
|
||||
COMMENT THIS CODE UPDATED "COUNT"; 13590000=02122000=
|
||||
STREAMSETDI(ACCUM, AX); 13595000=02122500=
|
||||
STREAMSETLOCSI(ST2); 13600000=02122500=
|
||||
STREAMSKIPSI(+5); 13600100=02122500=
|
||||
@@ -3713,7 +3718,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, 13760000=02135500=
|
||||
% DO NOT COLLECT $200. 13765000=02136000=
|
||||
END; 13770000=02136500=
|
||||
END SCANNER; 13775000=02137000=
|
||||
@@ -3805,7 +3810,7 @@ COMMENT COMPARE COMPARES SEQUENCE NUMBERS OF TAPE AND CARD. IF 14085000
|
||||
IF STREAMCOMPAREEQL(8) THEN 14165000=02189500=
|
||||
TALLY:= 2 14170000=02189750=
|
||||
END; 14175000=02189750=
|
||||
COMPARE:= TALLY; 14180000=02190000=
|
||||
COMPARE:= TALLY 14180000=02190000=
|
||||
END COMPARE; 14185000=02190250=
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%14186000
|
||||
PROCEDURE OUTPUTSOURCE; 14190000=02190500=
|
||||
@@ -3968,7 +3973,7 @@ COMPAR: 15540000
|
||||
; 15545000=02224500=
|
||||
EXIT: 15565000=02225250=
|
||||
NCR:= FCR:= LCR-9; COMMENT SETS UP NCR AND FCR; 15570000=02225250=
|
||||
IF CHECKTOG AND EXAMIN(SBUFF, FCR) ^= 6"$" THEN %$=CARDS DON"T COUNT15585000=02225750=
|
||||
IF CHECKTOG AND EXAMIN(SBUFF, FCR) ^= 6"$" THEN %$-CARDS DON"T COUNT15585000=02225750=
|
||||
IF COMPARE(INFO[LASTSEQROW,*], LASTSEQUENCE, SBUFF, LCR) = 1 THEN 15590000=02226000=
|
||||
IF SEQERRTOG THEN 15595000=02226250=
|
||||
BEGIN 15600000=02226250=
|
||||
@@ -4193,7 +4198,7 @@ COMMENT DOLLARCARD HANDLES THE COMPILER CONTROL CARDS. 17235000
|
||||
THE NUMBER OF USER DEFINED OPTIONS ALLOWED CAN BE 17330000=02301000=
|
||||
CHANGED BY CHANGING THE DEFINE "OPARSIZE". 17335000=02302000=
|
||||
THE VARIABLE "OPTIONWORD" CONTAINS THE CURRENT TRUE OR FALSE 17340000=02303000=
|
||||
SETTING OF ALL THE COMPILER-DEFINED OPTIONS, ONE BIT PER 17345000=02304000=
|
||||
SETTING OF ALL OF THE COMPILER-DEFINED OPTIONS, ONE BIT PER 17345000=02304000=
|
||||
OPTION. 17350000=02305000=
|
||||
; 17355000=02306000=
|
||||
BOOLEAN PROCEDURE FINDOPTION(BIT); 17360000=02307000=
|
||||
@@ -4265,7 +4270,7 @@ FOUND: 17435000
|
||||
OPTIONWORD:= OPTIONWORD & TRUE[XBIT:1]; 17685000=02335000=
|
||||
GO ALONG; 17690000=02336000=
|
||||
XMODE2: 17695000=02337000=
|
||||
% RESET. 17700000=02337000=
|
||||
% RESET; 17700000=02337000=
|
||||
OPTIONS[OPINX+1]:= REAL(FALSE & SETTING[46:45:46]); 17705000=02338000=
|
||||
IF XBIT < USEROPINX THEN 17710000=02339000=
|
||||
OPTIONWORD:= OPTIONWORD & FALSE[XBIT:1]; 17715000=02339000=
|
||||
@@ -4614,8 +4619,9 @@ WHATISIT: 19710000
|
||||
BEGIN 19765000=02589000=
|
||||
SKAN; 19770000=02590000=
|
||||
IF RESULT = 3 THEN 19775000=02591000=
|
||||
ADDVALUE:= CONV(ACCUM, 1, 0, ACCUM[1].[35:6]); 19780000=02592000=
|
||||
FLAG(600); % NUMBER EXPECTED. 19785000=02593000=
|
||||
ADDVALUE:= CONV(ACCUM, 1, 0, ACCUM[1].[35:6]) 19780000=02592000=
|
||||
ELSE 19784000=02593000=
|
||||
FLAG(600); % NUMBER EXPECTED. 19785000=02593000=
|
||||
END; 19790000=02594000=
|
||||
GO SKANAGAIN; 19795000=02595000=
|
||||
END; 19800000=02596000=
|
||||
@@ -4642,10 +4648,10 @@ COMMENT TABLE IS THE ROUTINE THAT MOST CODE IN THE COMPILER 19895000
|
||||
THE RESULT RETURNED IS THE CLASS OF THE ITEM DESIRED. 19905000=02607000=
|
||||
TABLE MAINTAINS THE VARIABLES I AND NXTELBT AND THE ARRAY 19910000=02608000=
|
||||
ELBAT. ELBAT AND I ARE PRINCIPAL VARIABLES USED FOR 19915000=02609000=
|
||||
COMMUNICATION BETWEEN TABLE AND THE OUTSIDE WORLD. NXTELBT 19920000=02610000=
|
||||
IS ALMOST EXCLUSIVELY USED BY TABLE. ALTHOUGH AN OCCASION- 19925000=02611000=
|
||||
COMUNICATION BETWEEN TABLE AND THE OUTSIDE WORLD. NXTELBT 19920000=02610000=
|
||||
IS ALMOST EXCLUSIVELY USED BY TABLE, ALTHOUGH AN OCCASION- 19925000=02611000=
|
||||
AL OTHER USE IS MADE IN ORDER TO FORGET THAT SOMETHING WAS 19930000=02612000=
|
||||
SCANNED. (SEE. FOR EXAMPLE, COMPOUNDTAIL). FOR FURTHER 19935000=02613000=
|
||||
SCANNED. (SEE, FOR EXAMPLE, COMPOUNDTAIL). FOR FURTHER 19935000=02613000=
|
||||
GENERAL DISCUSSION SEE THE DECLARATION OF THESE VARIABLES. 19940000=02614000=
|
||||
THE PARAMETER P IS THE ACTUAL INDEX OF THE QUANTITY 19945000=02615000=
|
||||
DESIRED (USUALLY I-1,I, OR I+1). 19950000=02616000=
|
||||
@@ -5386,7 +5392,7 @@ COMMENT LOOK FOR BOOLEAN OPERATORS, THEN OPTIONS; 23365000
|
||||
IF Q = 6"3AND00" THEN 23390000=02964500=
|
||||
ANDOP 23395000=02965000=
|
||||
ELSE 23400000=02965000=
|
||||
IF Q = 6"3OR000" THEN 23405000=02965000=
|
||||
IF Q = 6"2OR000" THEN 23405000=02965000=
|
||||
OROP 23410000=02965500=
|
||||
ELSE 23415000=02965500=
|
||||
IF Q = 6"3EQV00" THEN 23420000=02965500=
|
||||
@@ -5828,7 +5834,7 @@ COMMENT#################################################################23780000
|
||||
EMIT(1 & OPERATOR[11:9:10]); 25600000=04007000=
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%25605000=04007000=
|
||||
25610000=04008000=
|
||||
COMMENT EMITC IS PRIMARILY FOR USE BY STRMSTMT TO EMIT CHARACTER MODE 25615000=04008000=
|
||||
COMMENT EMITC IS PRIMARILY FOR USE BY STRMSTMT TO EMIT CHARACTOR MODE 25615000=04008000=
|
||||
OPERATORS. HOWEVER IT ALSO HANDLES DIA, DIB, AND TRB; 25620000=04009000=
|
||||
PROCEDURE EMITC(REPEAT, OPERATOR); 25625000=04010000=
|
||||
VALUE 25630000=04010000=
|
||||
@@ -5966,7 +5972,7 @@ COMMENT#################################################################23780000
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%26290000=04079000=
|
||||
26295000=04080000=
|
||||
COMMENT ADJUST ADJUST L TO THE BEGINING OF A WORD AND FILLS IN THE 26300000=04080000=
|
||||
INERVENING SPACE WITH NOPS, IT CHECKS STREAMTOG TO DECIDE 26305000=04081000=
|
||||
INERVENING SPACE WITH NOPS. IT CHECKS STREAMTOG TO DECIDE 26305000=04081000=
|
||||
WHICH SORT OF NOP TO USE; 26310000=04082000=
|
||||
PROCEDURE ADJUST; 26315000=04083000=
|
||||
BEGIN 26320000=04084000=
|
||||
@@ -6081,7 +6087,7 @@ COMMENT#################################################################23780000
|
||||
END; 26765000=04138000=
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%26766000
|
||||
COMMENT EMITWORD PLACES THE PARAMETER,"WORD",INTO EDOC. IF 26770000=04139000=
|
||||
DEBUGGING IS REQUIRED. "L" AND "WORD" ARE OUTPUT ON 26775000=04140000=
|
||||
DEBUGGING IS REQUIRED, "L" AND "WORD" ARE OUTPUT ON 26775000=04140000=
|
||||
THE PRINTER FILE IN OCTAL FORMAT. ; 26780000=04141000=
|
||||
PROCEDURE EMITWORD(WORD); 26785000=04142000=
|
||||
VALUE 26790000=04142000=
|
||||
@@ -6107,7 +6113,7 @@ COMMENT#################################################################23780000
|
||||
COMMENT CONSTANTCLEAN IS CALLED AFTER AN UNCONDITIONAL BRANCH HAS 26890000=04153000=
|
||||
BEEN EMITTED. IF ANY CONSTANTS HAVE BEEN ACCUMULATED BY 26895000=04154000=
|
||||
EMITNUM IN INFO[0,*], CONSTANTCLEAN WILL FIX THE CHAIN 26900000=04155000=
|
||||
OF C-RELATIVE OPDC S LEFT BY EMITNUM, IF C-RELATIVE 26905000=04156000=
|
||||
OF C-RELATIVE OPDC S LEFT BY EMITNUM. IF C-RELATIVE 26905000=04156000=
|
||||
ADDRESSING IS IMPOSSIBLE (I.E. THE ADDRESS 26910000=04157000=
|
||||
IF GREATER THAN 127 WORDS) THEN THE CONSTANT ALONG WITH 26915000=04158000=
|
||||
THE 1ST LINK OF THE OPDC CHAIN IS ENTERED IN INFO. 26920000=04159000=
|
||||
@@ -6157,10 +6163,10 @@ COMMENT#################################################################23780000
|
||||
END; 27140000=04190000=
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%27145000=04190000=
|
||||
COMMENT EMITNUM HANDLES THE EMISSION OF CODE FOR CONSTANTS,BOTH 27150000=04191000=
|
||||
EXPLICIT AND IMPLICIT, IN EVERY CASE,EMITNUM WILL 27155000=04192000=
|
||||
EXPLICIT AND IMPLICIT. IN EVERY CASE,EMITNUM WILL 27155000=04192000=
|
||||
PRODUCE CODE TO GET THE DESIRED CONSTANT ON TOP OF 27160000=04193000=
|
||||
THE STACK. IF THE NUMBER IS A LITERAL A SIMPLE LITC 27165000=04194000=
|
||||
SYLLABLE IS PRODUCED, HOWEVER,NON-LITERALS ARE KEPT 27170000=04195000=
|
||||
SYLLABLE IS PRODUCED. HOWEVER,NON-LITERALS ARE KEPT 27170000=04195000=
|
||||
IN THE ZERO-TH ROW OF INFO WITH THE SYLLABLE 27175000=04196000=
|
||||
POSITION,L. THE FIRST EMITNUM ON A PARTICULAR 27180000=04197000=
|
||||
CONSTANT CAUSES THE VALUES OF L AND THE CONSTANT 27185000=04198000=
|
||||
@@ -6252,7 +6258,7 @@ L: SEARCH:= Q[I+1]; 27555000
|
||||
COMMENT PACK IS A STREAM PROCEDURE WHICH INSERTS THE SYLLABLE 27615000=04265000=
|
||||
INTO THE EDOC ARRAY. THE SPECIFIC ELEMENT OF EDOC 27620000=04266000=
|
||||
IS PRECISILY = EDOC[(L DIV 4) DIV 128,(< DIV 4)MOD 128] 27625000=04267000=
|
||||
SYLLABLE POSITION=(L MOD 4 ). WHERE L IS THE SYLLABLE 27630000=04268000=
|
||||
SYLLABLE POSITION=(L MOD 4 ), WHERE L IS THE SYLLABLE 27630000=04268000=
|
||||
NUMBER RELATIVE TO THE BEGINNING OF THE SEGMENT; 27635000=04269000=
|
||||
PROCEDURE PACK(WORD, WX, POSITION, SYLLABLE); 27640000=04270000=
|
||||
VALUE 27645000=04271000=
|
||||
@@ -6325,7 +6331,7 @@ L: SEARCH:= Q[I+1]; 27555000
|
||||
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=
|
||||
THE CURRENT . IF THE G-H,K-V OR BOTH ARE ALREADY SET THEN 27945000=04307000=
|
||||
THE APPROIATE SYLLABLES(S) ARE OMITTED 27950000=04308000=
|
||||
THE APPROIATE SYLLABLE(S) ARE OMITTED 27950000=04308000=
|
||||
IF 0 BITS ARE TO BE TRANSFERED THEN NO SYLLABLES ARE 27955000=04309000=
|
||||
EMITTED ; 27960000=04310000=
|
||||
PROCEDURE EMITD(A, B, T); 27965000=04311000=
|
||||
@@ -6628,7 +6634,7 @@ EXIT: 28625000
|
||||
LABEL 29430000=05101100=
|
||||
ENDOFITALL; 29435000=05101100=
|
||||
29440000=05102000=
|
||||
COMMENT ERR. IS THE SAME AS FLAG EXCEPT THAT IT MAKES AN ATTEMPT TO 29445000=05102000=
|
||||
COMMENT ERR,IS THE SAME AS FLAG EXCEPT THAT IT MAKES AN ATTEMPT TO 29445000=05102000=
|
||||
RECOVER FROM ERROR SITUATIONS BY SEARCHING FOR A 29450000=05103000=
|
||||
SEMICOLON, END, OR BEGIN; 29455000=05104000=
|
||||
PROCEDURE ERR(ERRNUM); 29460000=05105000=
|
||||
@@ -6662,8 +6668,8 @@ COMMENT ERR. IS THE SAME AS FLAG EXCEPT THAT IT MAKES AN ATTEMPT TO 29445000
|
||||
ELBATWORD; 29600000=05113000=
|
||||
BEGIN 29605000=05114000=
|
||||
IF MODE >= 2 THEN 29610000=05115000=
|
||||
IF GTI1:= ELBATWORD.LVL >= FRSTLEVEL THEN 29615000=05116000=
|
||||
IF GTI1 < SUBLEVEL THEN 29620000=05117000=
|
||||
IF GT1:= ELBATWORD.LVL >= FRSTLEVEL THEN 29615000=05116000=
|
||||
IF GT1 < SUBLEVEL THEN 29620000=05117000=
|
||||
IF ELBATWORD.[38:2] ^= 1 THEN 29625000=05119000=
|
||||
BEGIN 29630000=05119000=
|
||||
FLAG(101); 29635000=05119000=
|
||||
@@ -7054,7 +7060,7 @@ EXIT: 31300000
|
||||
RANGE:= ELCLASS >= LOWER AND ELCLASS <= UPPER; 31450000=05304000=
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%31455000=05304000=
|
||||
31460000=05305000=
|
||||
COMMENT GET OBTAINS A SYLLABLE FROM EDOC. THE ARRAY INTO WHICH CODE IS 31465000=05305000=
|
||||
COMMENT GET OBTAINS A SYLLABLE FROM EDOC, THE ARRAY INTO WHICH CODE IS 31465000=05305000=
|
||||
EMITTED; 31470000=05306000=
|
||||
INTEGER PROCEDURE GET(L); 31475000=05307000=
|
||||
VALUE 31480000=05307000=
|
||||
@@ -7476,9 +7482,9 @@ EXIT: 32735000
|
||||
COMPILED. IT ALSO HANDLES THE CASE OF A CONCATENATE 33440000=06026000=
|
||||
WHERE ACTUALPARAPART CAUSED THE VARIABLE ROUTINE TO 33445000=06027000=
|
||||
COMPILE ONLY PART OF A PRIMARY. MOST OF THE WORK OF 33450000=06028000=
|
||||
SIMPARITH IS DONE BY ARITHCOMP. AN ARTIFIAL ROUTINE 33455000=06029000=
|
||||
SIMPARITH IS DONE BY ARITHCOMP, AN ARTIFIAL ROUTINE 33455000=06029000=
|
||||
WHICH DOES THE HIERARCHY ANALYSIS USING RECURSION. 33460000=06030000=
|
||||
ARITHOCMP IS A SUBROUTINE ONLY TO GET THIS RECURSION; 33465000=06031000=
|
||||
ARITHCOMP IS A SUBROUTINE ONLY TO GET THIS RECURSION; 33465000=06031000=
|
||||
PROCEDURE SIMPARITH; 33470000=06032000=
|
||||
BEGIN 33475000=06033000=
|
||||
WHILE ELCLASS = AMPERSAND DO 33480000=06035000=
|
||||
@@ -9819,7 +9825,7 @@ EXIT: 45090000
|
||||
END RELSESTMT; 45095000=07472250=
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%45100000=07472250=
|
||||
45105000=07481000=
|
||||
COMMENT DOTSTMT HANDLES THE DO STATEMENT; 45110000=07481000=
|
||||
COMMENT DOSTMT HANDLES THE DO STATEMENT; 45110000=07481000=
|
||||
PROCEDURE DOSTMT; 45115000=07482000=
|
||||
BEGIN 45120000=07483000=
|
||||
INTEGER 45125000=07483000=
|
||||
@@ -11356,7 +11362,7 @@ EXIT: 50860000
|
||||
STMT; 52710000=08163000=
|
||||
IF NUMLE THEN 52715000=08165000=
|
||||
BEGIN 52720000=08165000=
|
||||
EMITV(RETURNSTORE+FOOT); 52725000=08166000=
|
||||
EMITV(RETURNSTORE:= FOOT); 52725000=08166000=
|
||||
EMITO(BBW) 52730000=08166000=
|
||||
END 52735000=08167000=
|
||||
ELSE 52740000=08167000=
|
||||
@@ -13435,7 +13441,7 @@ COMMENT START FILLING TABLES NEEDED TO COMPILE A PROGRAM; 62890000
|
||||
3"0737461304707100", 3"0751137556607072", 3"0761367512350710", 63005000=09080000=
|
||||
3"0771665435043073"; 63010000=09080000=
|
||||
63015000=09081000=
|
||||
COMMENT THIS IS THE FULL FOR THE SECOND ROW OF INFO: 63020000=09081000=
|
||||
COMMENT THIS IS THE FILL FOR THE SECOND ROW OF INFO: 63020000=09081000=
|
||||
THE FIRST ITEMS ARE STREAM RESERVED WORDS, 63025000=09082000=
|
||||
THEN ORDINARY RESERVED WORDS, 63030000=09083000=
|
||||
THEN INTRINSIC FUNCTIONS; 63035000=09084000=
|
||||
@@ -18667,7 +18673,7 @@ COMMENT 201 VARIABLE- A PARTIAL WORD DESIGNATOR IS NOT THE * 88950000
|
||||
IF FIRST SUBSCRIPT THEN VN ELSE CDC,EXP, 89220000=15176000=
|
||||
XCH,~. 89225000=15177000=
|
||||
6. ADD THE SEQUENCE: 89230000=15178000=
|
||||
IF FIRST SUBSCRIPT THEN VN ELSE CDC,DUP,LOD. 89235000=15179000=
|
||||
IF FIRST SUBSCRIPT THEN VN ELSE CDC,DUP,LOD, 89235000=15179000=
|
||||
EXP,T, XCH,~. 89240000=15180000=
|
||||
EXP,T,~,ZEROL,ETC. HAVE SAME MEANINGS AS DEFINED IN 89245000=15181000=
|
||||
SIMPLE VARIABLE BLOCK. ; 89250000=15182000=
|
||||
@@ -18811,7 +18817,7 @@ COMMENT **** MONITOR FUNCTION M1 GOES HERE ; 89760000
|
||||
END; 89940000=15256000=
|
||||
89945000=15257000=
|
||||
COMMENT 203 VARIABLE- THE NUMBER OF SUBSCRIPTS USED IN A ROW * 89950000=15257000=
|
||||
ROW DESIGNATOR DOES NOT MATCH THE ARRAY * 89955000=15258000=
|
||||
ROW DESIGNATER DOES NOT MATCH THE ARRAY * 89955000=15258000=
|
||||
DECLARATION. *;89960000=15259000=
|
||||
IF STEPI ^= RTBRKET THEN 89965000=15260000=
|
||||
BEGIN 89970000=15261000=
|
||||
@@ -19202,7 +19208,7 @@ COMMENT THIS SECTION GENERATES CODE FOR STREAM PROCEDURES; 91075000
|
||||
ARE FIXED BY FAKING TOTOS INTO COMPILING THE REQUIRED 91900000=16111000=
|
||||
JUMPS. 91905000=16112000=
|
||||
FINALLY THE BNS IS FIXED,IF REQUIRED,AND NEST LEVEL 91910000=16113000=
|
||||
AND JOINFO RESOTRED TO THEIR ORIGINAL VALUES. ; 91915000=16114000=
|
||||
AND JOINFO RESTORED TO THEIR ORIGINAL VALUES. ; 91915000=16114000=
|
||||
PROCEDURE NESTS; 91920000=16115000=
|
||||
BEGIN 91925000=16116000=
|
||||
LABEL 91930000=16117000=
|
||||
@@ -19297,7 +19303,7 @@ COMMENT THIS SECTION GENERATES CODE FOR STREAM PROCEDURES; 91075000
|
||||
FIRST THE TEST IS COMPILED. NOTE THAT IN THE 92375000=16179000=
|
||||
CONSTRUCTS "SC RELOP DC" AND "SC RELOP STRING" THAT 92380000=16180000=
|
||||
THE SYLLABLE EMITTED IS FETCHED FROM ONE OF TWO FIELDS 92385000=16181000=
|
||||
IN THE ELBAT WORD FOR THE RELATIONAL OPERATOR, OTHERWISE 92390000=16182000=
|
||||
IN THE ELBAT WORD FOR THE RELATIONAL OPERATOR. OTHERWISE 92390000=16182000=
|
||||
THE CODE IS EMITTED STRAIGHTAWAY. 92395000=16183000=
|
||||
A TEST IS MADE TO SEE WHETHER THE STATEMENT AFTER THE 92400000=16184000=
|
||||
"THEN" COULD POSSIBLY BE LONGER THAN 63 SYLLABLES,AND IF 92405000=16185000=
|
||||
@@ -19437,7 +19443,7 @@ COMMENT THIS SECTION GENERATES CODE FOR STREAM PROCEDURES; 91075000
|
||||
GO TOS IN THE CASE OF FORWARD JUMPS. 93075000=16245000=
|
||||
FINALLY, IF THE NEST LEVEL IS DEFINED THEN IT IS CHECKED 93080000=16246000=
|
||||
AGAINST THE CURRENT LEVEL MINUS THE NUMBER OF LEVELS TO 93085000=16247000=
|
||||
BE JUMPED OUT, OTHERWISE,NEST LEVEL IS DEFINED. ; 93090000=16248000=
|
||||
BE JUMPED OUT. OTHERWISE,NEST LEVEL IS DEFINED. ; 93090000=16248000=
|
||||
PROCEDURE GOTOS; 93095000=16249000=
|
||||
BEGIN 93100000=16250000=
|
||||
LABEL 93105000=16251000=
|
||||
@@ -19503,11 +19509,11 @@ COMMENT THIS SECTION GENERATES CODE FOR STREAM PROCEDURES; 91075000
|
||||
THE VARIABLE "INDEX" IS COMPUTED,DEPENDING UPON WHICH 93405000=16297000=
|
||||
CASE EXISTS,SUCH THAT ARRAY ELEMENT "MACRO[INDEX]"CONTAINS93410000=16298000=
|
||||
THE CODE TO BE EMITTED. 93415000=16299000=
|
||||
EACH ELEMENT OF MACRO HAS 1-3 SYLLABES ORDERED FROM 93420000=16300000=
|
||||
EACH ELEMENT OF MACRO HAS 1-3 SYLLABLES ORDERED FROM 93420000=16300000=
|
||||
RIGHT TO LEFT, UNUSED SYLLABLES MUST = 0. EACH MACRO 93425000=16301000=
|
||||
MAY REQUIRE AT MOST ONE REPEAT PART. 93430000=16302000=
|
||||
IN THIS PROCEDURE,INDEXS,THE VARIABLE "ADDR" CONTAINS THE 93435000=16303000=
|
||||
PROPER REPEAT PART BY THE TIME THE LABEL "GENERATE' IS 93440000=16304000=
|
||||
PROPER REPEAT PART BY THE TIME THE LABEL "GENERATE" IS 93440000=16304000=
|
||||
ENCOUNTERED. THE SYLLABLES ARE FETCHED FROM MACRO[TYPE] 93445000=16305000=
|
||||
ONE AT A TIME AND IF THE REPEAT PART ^= 0 THEN"ADDR" IS 93450000=16306000=
|
||||
USED AS THE REPEAT PART,THUS BUILDING A SYLLABLE WITH 93455000=16307000=
|
||||
@@ -19592,7 +19598,7 @@ COMMENT THIS SECTION GENERATES CODE FOR STREAM PROCEDURES; 91075000
|
||||
EXIT: 93840000=16355000=
|
||||
END INDEXS; 93845000=16355000=
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%93850000=16355000=
|
||||
COMMENT DSS COMPILES DESINTATION STREAM STATEMENTS. 93855000=16356000=
|
||||
COMMENT DSS COMPILES DESTINATION STREAM STATEMENTS. 93855000=16356000=
|
||||
DS:= LIT"STRING" IS HANDLED AS A SPECIAL CASE BECAUE THE 93860000=16357000=
|
||||
STRING MUST BE SCANED FROM RIGHT TO LEFT,REPEATEDLY IF 93865000=16358000=
|
||||
NECESSARY, AND EMITTED TO THE PROGRAM STREAM. IN 93870000=16359000=
|
||||
@@ -19721,7 +19727,7 @@ COMMENT THIS SECTION GENERATES CODE FOR STREAM PROCEDURES; 91075000
|
||||
JUMPLEVEL:= 1; 94440000=16433000=
|
||||
IF STEPI ^= DECLARATORS THEN 94445000=16434000=
|
||||
FLAG(261); 94450000=16434000=
|
||||
IF STEPI ^= LITNO THEN 94455000=16435000=
|
||||
IF STEPI = LITNO THEN 94455000=16435000=
|
||||
JUMPLEVEL:= ELBAT[I].ADDRESS 94460000=16436000=
|
||||
ELSE 94465000=16436000=
|
||||
BEGIN 94470000=16436000=
|
||||
|
||||
Reference in New Issue
Block a user