THIS ALGOL COMPILER CONSISTS OF TWO PARTS. THE COMPILER ITSELF, AND THE INTERPRETER UNDER WHICH IT AND ITS OUTPUT RUNS. TWO (2) VERSIONS OF THE INTERPRETER ARE INCLUDED. ONE WHICH SUPPORTS EIS (MUL, DIV, SOB, XOR, ASH, ASHC) AND ONE WHICH WILL RUN ON ANY THING. THE EIS VERSION IS ALGRS1.OBJ. STEP 1. ------- COPY THE NECESSARY FILES ONTO THE SYSTEM DEVICE INTO THE APPROPRIATE ACCOUNTS. IE. MOUNT TAPE #1 ON DRIVE #0. FLX SY:[1,2]=DT0:*.ERR/RT/IM,*.ALG/RT/IM FLX SY:=DT0:*.DOC,*.SRC,*.TKB,*.OBJ/RT PIP ALGRT1.OBJ;*,ALGRT2.OBJ;*,RT.DOC;*/DE STEP 2. ------- TASK BUILD THE INTERPRETER. STEP 2A. -------- DECIDE WHICH VERSION TO BUILD (I.E. EIS OR NOT.) TO BUILD THE EIS VERSION DO THE FOLLOWING: PIP ALGOL.OBJ=ALGRS2.OBJ TO BUILD THE NON-EIS SUPPORT DO THE FOLLOWING: PIP ALGOL.OBJ=ALGRS1.OBJ STEP 2B. -------- TO BUILD THE INTERPRETER FOR RSX11-M (MAPPED) DO: TKB @ALGOLM.TKB INS [1,54]ALGOL TO BUILD THE INTERPRETER FOR RSX11-M (UNMAPPED) DO: TKB @ALGOLU.TKB INS [1,50]ALGOL TO BUILD THE INTERPRETER FOR RSX-11D DO: TKB @ALGOLD.TKB INS [11,1]ALGOL NOTE: THE INTERPRETER IS BUILT WITH A 16K WORK AREA. THIS IS SUFFICIENT TO COMPILE OR RUN JUST ABOUT ANYTHING. HOWEVER... PROGRAMS WILL HAVE A TENDENCY TO COMPILE FASTER IF THEY HAVE AS LARGE A WORK AREA AS POSSIBLE. THIS MAY BE ACCOMPLISHED BY EITHER INCREASING THE EXTTSK IN THE .TKB FILE OR BY USE OF THE /INC OPTION WHEN THE TASK IS INSTALLED. STEP 3. ------- THE FOLLOWING FILES MUST BE IN ACCOUNT [1,2]: THESE ARE THE DEFAULT COMPILER (ALGOL.ALG), ITS ERROR MESSAGE FILE (ALGOL.ERR), AND THE RUN-TIME ERROR MESSAGE FILE (ALGRTS.ERR). ALGOL.ALG ALGOL .ERR ALGRTS.ERR NOTE: TO CHANGE THE DEFAULT UIC OF THE RUN TIME ERROR MESSAGE FILE ([1,2]ALGRTS.ERR): IN THE EIS VERSION: THE UIC [001,002] IS STORED AT SUBS+212 TO SUBS+222. IN THE NON-EIS VERSION: THE UIC [001,002] IS STORED AT SUBS+240 TO SUBS+250. TO CHANGE THE UIC OF THE DEFAULT COMPILER ([1,2]ALGOL) IN THE EIS VERSION: THE UIC [001,002] IS STORED AT INITL+724 TO INITL+734. IN THE NON-EIS VERSION: THE UIC [001,002] IS STORED AT INITL+742 TO INITL+751. TO CHANGE THE UIC OF THE COMPILERS ERROR MESSAGE FILE ([1,2]ALGOL.ERR): USE THE PATCH.ALG PROGRAM TO CHANGE THE UIC IN THE COMPILER. IT IS [001,002] AND IS LOCATED IN SEGMENT 1, FROM 455+1 TO 461+1. E.G SUPPOSE YOU WANTED TO CHANGE THE ERROR MESSAGE FILE'S UIC TO [123,456]. >ALG ALG>PATCH PATCH V02 FILE NAME - ALGOL *1:456\ (1:455+1 IS THE '[', 1:456\ IS 1ST BYTE OF UIC). 001:0456\ 060 61 (ASCII 1) 001:0456+1\ 060 62 (ASCII 2) 001:0457\ 061 63 (ASCII 3) 001:0457+1\ 054 (ASCII ',') 001:0460\ 060 64 (ASCII 4) 001:0460+1\ 060 65 (ASCII 5) 001:0461\ 062 66 (ASCII 6) 001:0461+1\ 135 * (GET BACK TO * MODE) *E (EXIT) ALG>^Z (EXIT INTERPRETER) NOTE: THE COMMAND STRING TO THE INTERPRETER HAS BEEN CHANGED FROM WHAT IS SPECIFIED IN THE THESIS. NOTE ALSO THAT THERE ARE OPTION WORDS NO LONGER AND THAT THE CODE FILE AND SWAP FILE FIBS ARE NO LONGER IN FIXED LOCATIONS AS SPECIFIED IN THE THESIS. THEY HAVE BEEN MOVED INTO THE PROGRAM AREA. THE COMMAND STRING HAS THE FOLLOWING SYNTAX: ITEMS IN BRACKETS ARE OPTIONAL. ALG>[FILENAME[.EXT]][/S:STACKSIZE] THE DEFAULT EXTENSION IS '.ALG'. THE DEFAULT FILE NAME IS 'ALGOL.ALG' THE DEFAULT STACK SIZE IS 1600 (OCTAL) WORDS. THIS IS SUFFICIENT TO RUN MOST PROGRAMS. TO SPECIFY A RUN TIME STACK OF A DIFFERENT SIZE SPECIFY THE NUMBER OF WORDS (IN OCTAL) TO ALLOCATE FOR THE RUN TIME STACK AFTER THE '/S:'. EG: ALG>FOO/S:400 ------------- WILL RUN THE PROGRAM FOO.ALG WITH A RUN TIME STACK OF 400 (OCTAL) WORDS. A LISTING OF THE COMPILER IS INCLUDED IN THIS KIT AS PARTIAL DOCUMENTA- TION. ANY SUGGESTIONS, COMMENTS, AND QUESTIONS WILL BE APPRECIATED AND ANSWERED. PLEASE SEND ALL BUGS TO ME. INCLUDE LINK MAP, PROGRAM LISTING (IF SMALL) OR PAPER TAPE (IF LARGE), TERMINAL OUTPUT, AND MACHINE CONFIGURATION. A 'BUG' IS DEFINED TO BE ANY MONITOR MESSAGE (ODD ADDRESS, MEMORY PROTECT, ETC.) OR ANY THING YOU CONSIDER TO NOT WORK PROPERLY. MAIL ADDRESS: DIGITAL EQUIPMENT CORP. 146 MAIN STREEET MAYNARD MA. 01754 ATT: GREG HOSLER ML5-5/E40 PHONE NUMBERS: WORK: 1-617-897-5511 (X6026) (X3654) IF I'M NOT THERE LEAVE A MESSAGE. GOOD LUCK. LET ME KNOW IF YOU DEVELOP ANY INTERESTING PROGRAMS AS IM COLLECTING A LIBRARY OF ALGOL PROGRAMS. I'M ALSO WORKING ON A VERSION WITH REAL NUMBERS IMPLEMENTED AS WELL AS SOME DEBUGGING AIDS. LET ME KNOW IF YOU HAVE ANY THOUGHTS ABOUT EITHER OF THESE.