1
0
mirror of https://github.com/retro-software/B5500-software.git synced 2026-01-31 05:01:51 +00:00

Commit Paul Kimpel's sequence field corrections to Nigel's original B5700 Algol source transcription. Most corrections were minor typos; original sequence 02013410 was a duplicate; second record was changed to -415.

This commit is contained in:
Paul Kimpel
2012-03-05 04:30:22 +00:00
parent af033509b8
commit f714d003c3

View File

@@ -104,11 +104,11 @@ ERROR NUMBER ROUTINE:ERROR MESSAGE
048: PROCEDUREDEC: NUMBER OF PARAMETERS DIFFERS FROM FWD DECL. 00069910
049: PROCEDUREDEC: CLASS OF PARAMETER DIFFERS FROM FWD DECL. 00069920
050: PROCEDUREDEC: VALUE PART DIFFERS FROM FWD DECL. 00069930
051 SAVEPROC : FORWARD DECLARATION DOES NOT AGREE WITH 00069331
ACTUAL DECLARATION 00069332
052 SAVEPROC :STATEMENT MAY NOT START WITH THIS KIND OF 00069333
IDENTIFIER. 00069334
059 ARRAYDEC: IMPROPER ARRAY SIZE. 00069338
051 SAVEPROC : FORWARD DECLARATION DOES NOT AGREE WITH 00069931
ACTUAL DECLARATION 00069932
052 SAVEPROC :STATEMENT MAY NOT START WITH THIS KIND OF 00069933
IDENTIFIER. 00069934
059 ARRAYDEC: IMPROPER ARRAY SIZE. 00069938
060 FAULTSTMT: MISSING _ IN FAULT STATEMENT. 00069940
061 FAULTDEC: INVALID FAULT TYPE: MUST BE FLAG, EXPOVR, ZERO, 00069950
INTOVR, OR INDEX. 00069960
@@ -1921,7 +1921,7 @@ STREAM PROCEDURE TURNONSTOPLIGHT(RED,CORNER); VALUE RED,CORNER;
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
NUMBER IN SEQLOC AND STORE THE RESULT IN SEQLOC,DEPENDING ON THE 02014040
NUMBER IN SEQLOC AND STORE THE RESULT IN SEQLOC,DEPENDING ON THE 02013040
VARIABLE AD; 02013050
STREAM PROCEDURE ADDER(SUM,SEQLOC,AD,DESCRP); 02013060
VALUE AD,DESCRP; 02013065
@@ -2008,7 +2008,7 @@ PROCEDURE SEARCHLIB(DOLLAR); VALUE DOLLAR; BOOLEAN DOLLAR;
BEGIN COMMENT ERROR 504 - IMPROPER LENGTH; 02013400
FLAGIT(504); GO EXIT; 02013405
END; 02013410
GT2 _ GT1 + CONV(ACCUM[1],0,ACCUM[1].[12:6]); 02013410
GT2 _ GT1 + CONV(ACCUM[1],0,ACCUM[1].[12:6]); 02013415
RESULT_ ACCUM[1]_ COUNT_0; SCANNER; 02013420
IF ACCUM[1]!= "1D0000" THEN 02013425
BEGIN COMMENT ERROR 505 - NO RIGHT BRACKET; 02013430
@@ -2492,7 +2492,7 @@ COPYLIB: %107-
GO TO EXIT; %107- 02224060
COPYEOF: %107- 02224070
CLOSE(LF,RELEASE); %107- 02224080
IF((INSERTDEPTH:=INSERTDEPTH-1) = 0) THEN %107- 02220490
IF((INSERTDEPTH:=INSERTDEPTH-1) = 0) THEN %107- 02224090
BEGIN LASTUSED:=SAVECARD; MEDIUM:=MEDIUM.[24:12]; %107- 02224100
GO USETHESWITCH; %107- 02224102
END; %107- 02224104
@@ -4267,7 +4267,7 @@ PROCEDURE STREAMWORDS;
STREAM PROCEDURE DEBUGDESC(LIN,PRT,TYP,RELAD,SGNO); 05237000
VALUE PRT,TYP,RELAD,SGNO; 05237500
BEGIN LOCAL COUNT; 05238000
DI:=LIN; DS:=6 LIT" PRT("; SI:=LOC PRT; SI:=SI+4; TALLY:=4; 05238000
DI:=LIN; DS:=6 LIT" PRT("; SI:=LOC PRT; SI:=SI+4; TALLY:=4; 05238500
3(IF SC="0" THEN % DONT PRINT LEADING ZEROES. 05239000
BEGIN SI:=SI+1; TALLY:=TALLY+63 END ELSE JUMP OUT); 05239500
COUNT:=TALLY; DS:=COUNT CHR; 05240000
@@ -4468,7 +4468,7 @@ INTEGER PROCEDURE GETSPACE(PERMANENT,L); VALUE PERMANENT,L;
STACKCTR _ (GS _ STACKCTR)+1; Q _ FALSE; 05371000
GO TO EXIT END; 05372000
L2: IF GS>= 512 THEN GS _ GS+1024; 05373000
Q _ TRUE; 05384000
Q _ TRUE; 05374000
EXIT: GETSPACE _ GS; 05375000
IF GS > 1023 THEN GS _ GS-1024; 05376000
IF PRTOG THEN WRITEPRT(IF Q THEN "PRT " ELSE "STACK",L,B2D(GS)); 05376100
@@ -4483,7 +4483,7 @@ BOOLEAN PROCEDURE COMMACHECK;
STEPIT 05386000
END COMMACHECK; 05387000
COMMENT HVCHECK CHECKS VALIDITY OF HIVALU PROCEDURE FOR SORT; 05388000
BOOLEAN PROCEDURE HVCHECK(ELBW); VALUE ELBW; REAL ELBW; 05338900
BOOLEAN PROCEDURE HVCHECK(ELBW); VALUE ELBW; REAL ELBW; 05389000
IF ELBW.CLASS!PROCID THEN ERR(356) ELSE 05390000
IF BOOLEAN(ELBW.FORMAL) THEN HVCHECK_TRUE ELSE 05390100
IF TAKE(GT1_GIT(ELBW)!1 THEN ERR(537) ELSE 05391000
@@ -5125,8 +5125,8 @@ PROCEDURE GENGO(ELBATWORD); VALUE ELBATWORD; REAL ELBATWORD;
EMITV(GNAT(GOTOSOLVER)) COMMENT CALL THE INTRINSIC; 06380000
END GENGO; 06381000
COMMENT DEXP COMPILES DESIGNATIONAL EXPRESSIONS. FOR THE MOST PART 06382000
IT ASSUMES THAT A COMMUNICATE IS GOING TO BE USED AGAINST 06363000
THE LABEL DESCRIPTOR IN ORDER TO OBTAIN GO TO ACTION, 06364000
IT ASSUMES THAT A COMMUNICATE IS GOING TO BE USED AGAINST 06383000
THE LABEL DESCRIPTOR IN ORDER TO OBTAIN GO TO ACTION, 06384000
STORAGE RETURN, AND STACK CUT BACK. HOWEVER IF IT NEVER 06385000
SETS GOTOG TO TRUE THEN THE LABELS ARE ALL LOCAL AND NO 06386000
COMMUNICATE WILL BE DONE; 06387000
@@ -5996,7 +5996,7 @@ LOOP:
ENDTOG _ FALSE; 07646610
COMMENT DEFINE TEDOC AS TYPE-2 SEGMENT; 07646620
MOVECODE(TEDOC, EDOC); 07646630
BUILDLINE _ BOOLEAN(2xREAL(BUILDLINE)) ; 07646645
BUILDLINE _ BOOLEAN(2xREAL(BUILDLINE)) ; 07646635
TEMP := SGNO; IF LISTER OR SEGSTOG THEN SEGMENTSTART; 07646640
SGNO _ SGAVL; 07646650
Z _ PROGDESCBLDR(LDES, 0, PRT); 07646660
@@ -7792,8 +7792,9 @@ PROCEDURE CLOSESTMT;
NXTELBT_1; FAULTLEVEL_32; 09038000
PRTI _ PRTIMAX _ 18; 09039000
MRCLEAN _ TRUE; 09040000
COMMENT START FILLING TABLES NEEDED TO COMPILE A PROGRAM; 09041000
FILL TEN[*] WITH 09042000
COMMENT START FILLING TABLES NEEDED TO COMPILE A PROGRAM; 09040100
FILL TEN[*] WITH 09041000
09042000
09043000
09044000
09045000
@@ -7806,7 +7807,6 @@ PROCEDURE CLOSESTMT;
09052000
09053000
09054000
09054000
09055000
09056000
OCT1141000000000000, OCT1131200000000000, 09057000
@@ -7957,8 +7957,8 @@ PROCEDURE CLOSESTMT;
335,309, 0, 0, 0, 0, 0, 0, 0, 0,420,410, 0, 0, 0, 0, %WF 09196300
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, %WF 09196400
390, 0,364, 0,414, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, %WF 09196500
0,328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,402, 0, 0, %WF 09166600
0, 0,377, 0,510, 0,416, 0,355, 0, 0,357, 0, 0, 0, 0, 09166700
0,328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,402, 0, 0, %WF 09196600
0, 0,377, 0,510, 0,416, 0,355, 0, 0,357, 0, 0, 0, 0, 09196700
0, 0, 0, 0, 0,398, 0, 0, 0,326,339, 0, 0, 0,366, 0, %WF 09196800
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,424, 0; %WF 09196900
COMMENT THIS IS THE FILL FOR THE SPECIAL CHARACTORS; 09197000
@@ -8084,15 +8084,15 @@ PROCEDURE CLOSESTMT;
OCT0114, COMMENT SDA A 33 ; 09249000
OCT0154, COMMENT SCA A 34 ; 09250000
OCT0141; COMMENT STC A 35 ; 09251000
FILL TEXT[0,*] WITH 0,0,0,0,0,0,0,0,0,0, 09251020
"[# ", 09251030
"]# ", 09251040
"># ", 09251050
">=# ", 09251060
"=# ", 09251070
"!# ", 09251080
"<=# ", 09251090
"<# ", 09251100
FILL TEXT[0,*] WITH 0,0,0,0,0,0,0,0,0,0, 09251010
"[# ", 09251020
"]# ", 09251030
"># ", 09251040
">=# ", 09251050
"=# ", 09251060
"!# ", 09251070
"<=# ", 09251080
"<# ", 09251090
"x# ", 09251100
"1# ", 09251101
"3# ", 09251102
@@ -8132,7 +8132,7 @@ PROCEDURE CLOSESTMT;
ERRORTOG_TRUE; BLOCK(FALSE); 09275000
COMMENT THIS CODE WILL PUT AN EXTRA CARD ON OCRDIMG TAPE 09275100
THUS AVOIDING E.O.F. NO LABEL CONDITION WHEN PATCHING 09275200
THE END. CARD OFF AN INPUT TAPE; 09275200
THE END. CARD OFF AN INPUT TAPE; 09275250
IF NEWTOG THEN 09275300
BEGIN FILL LIBARRAY[*] WITH "END;END."," ","LAST CAR", 09275350
"D ON OCR","DING TAPE","E ", " "," ", 09275400
@@ -10993,7 +10993,7 @@ PROCEDUREDEC:
SCATTERELBAT; 14305000
COMMENT CHECK TO SEE IF DECLARED FORWARD PREVIOUSLY ; 14306000
IF LEVELF=LEVEL 14307000
THEN IF KLASSF!TYPEV THEN BEGIN FLAG(6); GO DOITANYWAY END ELSE 13208000
THEN IF KLASSF!TYPEV THEN BEGIN FLAG(6); GO DOITANYWAY END ELSE 14308000
BEGIN 14309000
IF G _ TAKE(LINKF+1)>= 0 THEN FLAG(006) ELSE PUT(-G,LINKF+1) ; 14310000
XMARK(DECLREF); % PROCEDURE DECLARED FORWARD. MARK LAST %116- 14310500
@@ -11277,9 +11277,9 @@ BEGIN
BEGIN 14549000
EMITL(10); 14550000
EMITO(COM) 14551000
END; 14452000
FUNCTOG_FUNCTOGO; 14453000
IF SOP 14454000
END; 14552000
FUNCTOG_FUNCTOGO; 14553000
IF SOP 14554000
THEN HTTEOAP(GOTSTORAGE,FIRSTX,NINFOO,BLKAD) 14555000
ELSE 14556000
BEGIN 14557000
@@ -11438,7 +11438,7 @@ PROCEDURE PASSALPHA(ELBATWORD);
T1 , COMMENT 1ST INTEGER OF PARTIAL WORD SYNTAX; 15073000
T2 , COMMENT 2ND INTEGER OF PARTIAL WORD SYNTAX; 15074000
J ; COMMENT SUBSCRIPT COUNTER ; 15075000
REAL X, Z; 15076000
REAL X, Z; 15075500
REAL REMEMBERSEQNO; % REMEMBERS SEQUENCE NUMBER OF VARIABLE %116- 15075550
% ON LEFT HAND SIDE OF ASSIGNMENT SO WE %116- 15075551
% CAN XREF IT CORRECTLY. %116- 15075552
@@ -11996,7 +11996,7 @@ PROCEDURE LABELS;
GO TO IFSW[STEPI -SBV+1] ; 16197000
IF ELCLASS=LOCLID THEN 16198000
BEGIN 16199000
EMITC(ELBAT[I],ADDRESS,CRF); 16120000
EMITC(ELBAT[I],ADDRESS,CRF); 16200000
ADDR_0; 16201000
END 16202000
ELSE 16203000
@@ -12692,5 +12692,5 @@ IF (XREF OR DEFINING.[1:1) AND XLUN > 0 THEN %116-
END; %DFB 17121000
END OF MAIN BLOCK; 17121500
END. %DFB 17122000
%NUMBER OF ERRORS DETECTED = 1. COMPILATION TIME = 532 SECONDS.
%NUMBER OF CARD-IMAGES PROCESSED = 12712.
%NUMBER OF ERRORS DETECTED = 1. COMPILATION TIME = 532 SECONDS. 99990000
%NUMBER OF CARD-IMAGES PROCESSED = 12712. 99991000