mirror of
https://github.com/retro-software/B5500-software.git
synced 2026-01-26 19:41:41 +00:00
Commit clone of B5500 Algol compiler source as ALGOLXEM.alg_m. This has been slightly cleaned up to prepare it for later processing the by NEATUP55 program, which in turn will prepare the source for eventual implementation as an MCP E-mode cross-compiler for the B5500.
Also commit corrections to the B5500 Algol compiler source discovered during preparation and testing of the NEATUP55 program.
This commit is contained in:
@@ -552,7 +552,7 @@ DEFINE CHECKBIT = 1#, 01000920
|
||||
XREFBIT = 26#, 01001170
|
||||
BENDBIT = 27#, 01001171
|
||||
CODEFILEBIT = 29#, %106-01001172
|
||||
USEROPINX = 30#, %106-01001173
|
||||
USEROPINX = 30#; %106-01001173
|
||||
COMMENT IF A NEW COMPILER-DEFINED OPTION IS ADDED, CHANGE USEROPINX 01001180
|
||||
AND ADD OPTION IN DEFINES BELOW, IN DOLLARCARD, AND IN 01001190
|
||||
FILL STATEMENT IN INITIALIZATION OF COMPILER; 01001200
|
||||
@@ -708,7 +708,7 @@ DEFINE % %116-01007400
|
||||
LBLREF = 1#, % %116-01007486
|
||||
DECLREF = 2#, % %116-01007490
|
||||
NORMALREF = 4#, % %116-01007495
|
||||
ASSIGNREF = 5#, % %116-01007500
|
||||
ASSIGNREF = 5#; % %116-01007500
|
||||
ARRAY BEGINSTACK[0:255]; INTEGER BSPOINT; 01007600
|
||||
BOOLEAN DEFINING; 01007650
|
||||
COMMENT INFO CONTAINS ALL THE INFORMATION ABOUT A GIVEN IDENTIFIER 01008000
|
||||
@@ -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
|
||||
@@ -1436,7 +1436,7 @@ DEFINE %107-01561500
|
||||
INSERTMID = INSERTINFO[INSERTDEPTH,0]#, % MFID OF THE LIBRARY FILE 01561530
|
||||
INSERTFID = INSERTINFO[INSERTDEPTH,1]#, % FID OF THE LIBRARY FILE 01561540
|
||||
INSERTINX = INSERTINFO[INSERTDEPTH,2]#, % POINTER TO THE RECORD%107-01561550
|
||||
INSERTSEQ = INSERTINFO[INSERTDEPTH,3]#, % LAST SEQUENCE TO BE INCLUD01561560
|
||||
INSERTSEQ = INSERTINFO[INSERTDEPTH,3]#; % LAST SEQUENCE TO BE INCLUD01561560
|
||||
INTEGER SAVECARD, INSERTDEPTH; %107-01561570
|
||||
ARRAY INSERTINFO[0:INSERTMAX,0:4]; %107-01561580
|
||||
FILE LIBRARYFIL DISK RANDOM(2,10,30); %107-01561590
|
||||
@@ -1478,7 +1478,7 @@ REAL STREAM PROCEDURE CMPD(A,B); %107-01561620
|
||||
FILEATTINT =563#, 01579300
|
||||
POWERALL =567#, 01579350
|
||||
SPECIALMATH =570#, 01579355
|
||||
SORTA =673#, %117-01580000
|
||||
SORTA =673#; %117-01580000
|
||||
COMMENT THESE DEFINES ARE USED TO TALK TO GNAT. THEY GIVE THE INDEX01581000
|
||||
IN INFO OF THE CORRESPONDING ROUTINE; 01582000
|
||||
INTEGER KOUNT,BUFFACCUM; 01583000
|
||||
@@ -1487,7 +1487,7 @@ INTEGER FILENO; 01584000
|
||||
FUNCTOG, COMMENT TELLS WHETHER PROCEDURE BEING DECLARED IS A 01586000
|
||||
FUNCTION; 01587000
|
||||
P2, COMMENT GENERALY TELLS WHETHER OWN WAS SEEN; 01588000
|
||||
P3, COMMENT TELSS WHETHER SAVE WAS SEEN; 01589000
|
||||
P3, COMMENT TELLS WHETHER SAVE WAS SEEN; 01589000
|
||||
P4, COMMENT TELLS WHETHER AUXMEM WAS SEEN; 01589500
|
||||
VONF, COMMENT VALUE OR OWN FIELD OF ELBAT WORD; 01590000
|
||||
FORMALF, COMMENT FORMAL FIELD OF ELBAT WORD; 01591000
|
||||
@@ -2716,7 +2716,7 @@ DEFINE SKAN = BEGIN 02277000
|
||||
COMMENT DOLLARCARD HANDLES THE COMPILER CONTROL CARDS. 02282000
|
||||
ALL COMPILER- AND USER-DEFINED OPTIONS ARE KEPT 02283000
|
||||
IN THE ARRAY "OPTIONS". 02284000
|
||||
EACH OPTION HAS A TWO-WORD ENTRY; 02285000
|
||||
EACH OPTION HAS A TWO-WORD ENTRY: 02285000
|
||||
02286000
|
||||
WORD CONTAINS 02287000
|
||||
---- -------- 02288000
|
||||
@@ -4437,7 +4437,7 @@ INTEGER PROCEDURE GETSPACE(PERMANENT,L); VALUE PERMANENT,L; 05331000
|
||||
BOOLEAN PERMANENT; INTEGER L; 05333000
|
||||
BEGIN LABEL L1,L2,EXIT; 05334000
|
||||
BOOLEAN STREAM PROCEDURE MASK(K); VALUE K; 05341000
|
||||
DI~LOC MASK; DI~DI+2; SKIP K DB; DS~SET END MASK; 05342000
|
||||
BEGIN DI~LOC MASK; DI~DI+2; SKIP K DB; DS~SET END MASK; 05342000
|
||||
BOOLEAN M,Q; 05343000
|
||||
INTEGER ROW,COL,GS; 05344000
|
||||
IF PERMANENT 05345000
|
||||
@@ -6386,6 +6386,7 @@ PROCEDURE KLUDGE(T); VALUE T; INTEGER T; 07930000
|
||||
ELSE BEGIN 08036000
|
||||
B ~ FALSE; A ~ ELBAT[I]; 08037000
|
||||
SIMPLE ~ REALID { ELCLASS AND ELCLASS { INTID END; 08038000
|
||||
END SIMPLE; 08038100
|
||||
COMMENT TEST EMITS THE STEP-UNTIL ELEMENT TEST; 08040000
|
||||
PROCEDURE TEST; 08041000
|
||||
BEGIN 08042000
|
||||
@@ -9736,7 +9737,7 @@ END DEFINEPARAM; 12166000
|
||||
TYPE:=TYPE-2 ELSE IF ACCUM1 = "6UPDAT" THEN 13088075
|
||||
TYPE:=TYPE+1 ELSE 13088080
|
||||
IF ACCUM1="7PROTE" THEN TYPE~26 ELSE 13088082
|
||||
FLAG(43);STEPIT; END; IF ELCLASS=LFTBRKET THEN 13088085
|
||||
FLAG(43);END;STEPIT; END; IF ELCLASS=LFTBRKET THEN 13088085
|
||||
BEGIN STEPIT;L~L-2;AEXP;IF ELCLASS=COLON THEN BEGIN 13088090
|
||||
STEPIT; AEXP END ELSE FLAG(30); 13088100
|
||||
IF ELCLASS!RTBRKET THEN FLAG(44);END ELSE I~I-1; 13088105
|
||||
@@ -10182,7 +10183,7 @@ REAL ADDCON; 13451000
|
||||
IF T1~GTA1[J~J-1]=0 THEN J~J+1 13454000
|
||||
ELSE 13455000
|
||||
IF T1=OWNV THEN 13456000
|
||||
BEGIN P2:=TRUE;IF SPECTOG THE FLAG(13) END 13457000
|
||||
BEGIN P2:=TRUE;IF SPECTOG THEN FLAG(13) END 13457000
|
||||
ELSE 13458000
|
||||
IF T1= SAVEV THEN 13459000
|
||||
BEGIN 13460000
|
||||
|
||||
Reference in New Issue
Block a user