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

Commit changes to ALGOL, ESPOL, and ALGOLXEM sources to allow ALGOL

and ESPOL to be compiled syntax error-free using ALGOLXEM.
This commit is contained in:
Paul Kimpel 2012-09-27 01:13:49 +00:00
parent bab248fefc
commit c3375f5de9
3 changed files with 13 additions and 13 deletions

View File

@ -1447,7 +1447,7 @@ REAL STREAM PROCEDURE CMPD(A,B); %107-01561620
SI:=A; DI:=B; %107-01561640
IF 8 SC } DC THEN %107-01561650
BEGIN %107-01561660
SI:=SI-8; DI=DI-8; TALLY:=2; %107-01561670
SI:=SI-8; DI:=DI-8; TALLY:=2; %107-01561670
IF 8 SC = DC THEN TALLY:=1; %107-01561680
END; %107-01561690
CMPD:=TALLY; %107-01561700
@ -1824,7 +1824,7 @@ PROCEDURE DATIME; 01820000
END; 02001560
GO TO LOOP; 02001563
END; 02001565
SI~SI~LGTH; SI~SI+4; COMMENT POSITION TO NEXT ID.; 02001568
SI~SI+LGTH; SI~SI+4; COMMENT POSITION TO NEXT ID.; 02001568
END; 02001570
GO TO LOOP; 02001580
EXIT:; 02001590
@ -2387,7 +2387,7 @@ LABEL ENDREADTAPE, EOFT; %105-02198760
RECOUNT:=RECOUNT+1; 02199500
IF LCR:=LCR+11>MAXLCR THEN 02199750
BEGIN 02200000
READ(LIBRARY,FILEINX); 02200250
READ(LIBRARY[FILEINX]); 02200250
MAXLCR:=46+LCR:=MKABS(LIBRARY[FILEINX](0))+10; 02200500
END; 02200750
ADDER(SEQSUM,LCR,TRUE,TRUE); 02201000
@ -4500,7 +4500,7 @@ INTEGER PROCEDURE GETSPACE(PERMANENT,L); VALUE PERMANENT,L; 05331000
IF ELBW.CLASS!PROCID THEN ERR(351) ELSE 05396000
IF BOOLEAN(ELBW.FORMAL) THEN OUTPROCHECK~TRUE ELSE 05396100
IF TAKE(GT1~GIT(ELBW))!2 THEN ERR(352) ELSE 05397000
IF TAKE(GT1~1).CLASS!BOOID THEN ERR(353) ELSE 05398000
IF TAKE(GT1+1).CLASS!BOOID THEN ERR(353) ELSE 05398000
IF ARRAYCHECK(TAKE(GT1+2)) THEN ERR(354) ELSE 05399000
OUTPROCHECK~TRUE; 05400000
COMMENT EQLESCHECK CHECKS THE COMPARE ROUTINE FOR SORT/MERGE; 05401000
@ -10505,7 +10505,7 @@ L: GT1:=(2|SGAVL-1)&2[4:46:2]; STOPENTRY:=TRUE; 13780000
PUT(TAKE(LASTINFO)&PRT[16:37:11],LASTINFO); 13788000
RR4~NEXTINFO;PUTNBUMP(0); 13789000
DO 13790000
BEGIN PUTNBUMP(F); IF STEPI=LEFTPAREN THEN FLAG(37); 13791000
BEGIN PUTNBUMP(F); IF STEPI!LEFTPAREN THEN FLAG(37); 13791000
ELCLASS:="<"; 13791050
TB1~FORMATPHRASE; 13792000
END 13793000

View File

@ -428,7 +428,7 @@ DEFINE CHECKTOG = OPTIONWORD.[CHECKBIT:1] #, 01001210
LISTPTOG = OPTIONWORD.[LISTPBIT:1] #, 01001280
MCPTOG = OPTIONWORD.[MCPBIT:1] #, 01001290
MERGETOG = OPTIONWORD.[MERGEBIT:1] #, 01001300
NESTOG = OPTIONWORD.[NESTBIT:1] #, 01001310
% NESTOG = OPTIONWORD.[NESTBIT:1] #, % DUP DECL. 01001310
NEWTOG = OPTIONWORD.[NEWBIT:1] #, 01001320
NEWINCL = OPTIONWORD.[NEWINCLBIT:1] #, 01001330
OMITTING = OPTIONWORD.[OMITBIT:1] #, 01001340
@ -1270,7 +1270,7 @@ STREAM PROCEDURE TURNONSTOPLIGHT(RED,CORNER); VALUE RED,CORNER; 02011000
WRITNEW ~ TALLY END WRITNEW; 02020000
COMMENT MKABS CONVERTS A DESCRIPTOR TO AN ABSOLUTE ADDRESS; 02021000
REAL STREAM PROCEDURE MKABS(A); 02022000
BEGIN D1 ~ A; MKABS ~ DI END MKABS; 02023000
BEGIN DI ~ A; MKABS ~ DI END MKABS; 02023000
REAL STREAM PROCEDURE CONV(ACCUM,SKP,N);VALUE SKP,N; 02041000
BEGIN 02042000
SI~ ACCUM; SI~SI+SKP;SI~SI+3;DI~LOC CONV;DS~N OCT 02043000
@ -1887,7 +1887,7 @@ LENGTH5: 02476000
BEGIN 02482000
IF XMODE=0 THEN 02483000
BEGIN 02484000
GETVOID(VOIDRANGE,NCR,LCR,INFO(LASTSEQROW,LASTSEQUENCE]); 02485000
GETVOID(VOIDRANGE,NCR,LCR,INFO[LASTSEQROW,LASTSEQUENCE]); 02485000
IF VOIDTCR=0 THEN VOIDTCR:=MKABS(VOIDTPLACE) ELSE 02485500
IF COMPARE(MKABS(VOIDRANGE),VOIDTCR)!1 THEN GO TO EXIT; 02486000
MOVE(1,VOIDRANGE,VOIDTPLACE); 02487000
@ -2833,9 +2833,9 @@ END; 05064000
REAL STREAM PROCEDURE ABS(A); VALUE A; 05065000
BEGIN DI ~ LOC ABS; SI ~A; DS~ WDS;DI~DI-8; DS~RESET END; 05066000
STREAM PROCEDURE BITEDUST(X,N,ID,LINE,COUNT); VALUE ID,N,COUNT; 05067000
BEGIN LOCAL T,F,M; 05068000
BEGIN LOCAL T,F,H; 05068000
DI~LOC F; SI~LINE; DS~WDS;DI~F; 05069000
SI~LOC ID;SI+SI+2;DS~ 6CHR; 57(DS~2 LIT" "); 05070000
SI~LOC ID;SI~SI+2;DS~ 6CHR; 57(DS~2 LIT" "); 05070000
SI ~ LOC COUNT ;SI~SI+8 ; 05071000
DI ~LOC H ; DS ~WDS ; 05071100
DI ~ LOC LINE ; SI ~ H; 05071200

View File

@ -1,4 +1,4 @@
$ SET ALGOL 00000100120415PK
$ SET ALGOL 00000100
$SET OMIT LISTOMITTED = LIST 00001000=00000999=
%#######################################################################00002000=00001000=
% 00003000=00001010=
@ -7438,7 +7438,7 @@ EXIT: 32735000
IF TAKE(GT1:= GIT(ELBW)) ^= 2 THEN 33015000=05397000=
ERR(352) 33020000=05397000=
ELSE 33025000=05397000=
IF TAKE(GT1:= 1).CLASS ^= BOOID THEN 33030000=05398000=
IF TAKE(GT1+1).CLASS ^= BOOID THEN 33030000=05398000=
ERR(353) 33035000=05398000=
ELSE 33040000=05398000=
IF ARRAYCHECK(TAKE(GT1+2)) THEN 33045000=05399000=
@ -17087,7 +17087,7 @@ L: GT1:= (2*SGAVL-1) & 2[43:1:2]; 81620000
PUTNBUMP(0); 81700000=13789000=
DO BEGIN 81705000=13791000=
PUTNBUMP(F); 81710000=13791000=
IF STEPI = LEFTPAREN THEN 81715000=13791000=
IF STEPI ^= LEFTPAREN THEN 81715000=13791000=
FLAG(37); 81720000=13791000=
ELCLASS:= 6"<"; 81725000=13791050=
TB1:= FORMATPHRASE; 81730000=13792000=