README.md
**** SUMMARY OF CHANGES FOR VERSION 20-21 OF RSX RATFOR: (APRIL 80)
NOTE: RESTRICTION FOR VERSION 21: FUNCTION SUBROUTINE NAMES MUST NOT BE
DEFINED AS SYMBOLIC CONSTANTS IF THE RETURN(EXPRESSION) FEATURE IS USED.
I.E.: DEFINE(FOO=MODX); FUNCTION FOO (); RETURN(I) IS ILLEGAL.
BUGS FIXED:
PCN 81: STRGET- CHANGE STR(MAX) TO STR(DUMMYSIZE)TO AVOID SUBSCRIPT ERROR.
PCN 83: PUTLIN- DELETE CALL TO 'ERROR' TO PREVENT LOOPING.
PCN 84: ADDDEF- CNAGE LASTP>2 TO LASTP>=2 SO BINARY SEARCH WORKS FOR 2 SYMBOLS.
DEFLST- SUPPRESS SYMBOL LISTING UNLESS THERE IS SOMETHING TO LIST.
V21:
PCN 95: OPENI- FIX STATEMENT THAT F4P CAN'T GET TO
INDEX- FIX USE OF DO LOOP VARIABLE WITHIN LOOP F4P DIDN'T LIKE.
PCN 99: ICSI- CONVERT COMMAND LINE TO UPPER CASE.
CHANGES,FEATURES:
PCN 87: SINGLE QUOTED (APOSTROPHE) STRINGS ARE PASSED TO THE FORTRAN UNMODIFIED.
DIRECT ACCESS READ/WRITE STATEMENTS MUST USE 2 SUCCESSIVE APOSTROPHES.
(ONE IS PASSED TO THE FORTRAN).
PROCESSING OF DOUBLE QUOTED STRINGS IS NOT CHANGED.
PCN 87: <PROCESSING OF < AND >> ARE ALLOWED FOR .LE. AND .GT.; < AND > IS
UNCHANGED.
PCN 82: THE PRE-PROCESSOR USES OPEN/CLOSE STATEMENTS EXCLUSIVELY IF
SYMBOL OPENCLOSE IS DEFINED. ASSIGN/FDBSET ARE USED ONLY IF OPENCLOSE
IS NOT DEFINED.
THE OPEN STATEMENTS SPECIFY 'LIST' CARRIAGE CONTROL TO CORRECT THE
OUTPUT FILES FOR PIP.
FORTRAN IV V2.2 CURRENTLY HAS A BUG (FEATURE?) WHICH CAUSES ODD ADDRESS
TRAPS ON ALL ERR= TRANSFERS OUT OF THE OPEN STATEMENT EXCEPT FOR "NO
SUCH FILE".
PCN 85: THE PRE-PROCESSOR IS NOW OVERLAID WITH ONE OVERLAY FOR ALL FORTRAN CODE
GENERATION AND ONE FOR ALL UTILITY STUFF. THIS AND OTHER CHANGES SAVES
ABOUT 6KW.
PCN 89: SEVERAL STRLIB ROUTINES HAVE BEEN SPEEDED UP GREATLY. OVERALL,
THE PRE-PROCESSOR IS ABOUT 10% FASTER.
PCN 90: THE DAY OF THE WEEK APPEARS ON THE TOP OF THE LISTING.
PCN 91: YOU CAN NOW SPECIFY (AS SYMBOL DEFAULTUIC) A DEFAULT DEVICE/UIC FOR
INCLUDE FILES. IF THE INCLUDE DOES NOT SPECIFY A DEVICE OR UIC AND THE
FILE IS NOT FOUND, THE DEFAULTUIC STRING IS PREFIXED AND ANOTHER TRY
TO FIND THE FILE IS MADE.
PCN 92: RETURN (EXPRESSION) HAS BEEN ADDED TO MAKE IT CLEAR WHAT VALUE
FUNCTION SUBPROGRAMS ARE RETURNING WITH.
PCN 93: CONSIDERABLE CLEAN UP OF THE KEYWORD RECOGNIZING/PARSING ROUTINES
WAS DONE. 'GETTOK' WAS ELIMINATED AND ALL KEYWORDS ARE HANDLED BY
'PARSE' AND 'LEX'.
PCN 94: CONSIDERABLE CLEAN UP WAS DONE SO MANY ROUTINES DO NOT NEED TO PASS
THE CURRENT INPUT FILE LUN FROM HAND TO HAND. IT IS NOW SET BY
'OPENI' AND 'DEFTOK' AND USED BY 'GETLIN' AND NOT SEEN BY ANYBODY ELSE.
V21:
PCN 96: ADD INDEX AT END OF LISTING TO SHOW PAGE NUMBERS OF FILES,
ROUTINES, AND INCLUDES.
PCN 97: DEFINE DEFAULT SETTINGS FOR MOST SWITCHES IN RATDEF.RAT. MOVE SWITCH
PROCESSING TO RATGO.
PCN 98: REORGANIZE LEX TO CHECK MOST COMMON KEYWORDS FIRST.
PCN100: IMPROVE DETECTION OF NULL RATFOR SOURCE LINES AND DON'T NUMBER.
PCN101: CLEAN UP SPAWNF. DEFINE FTN SWITCH STRING IN "FTNSWITCHES".
PCN102: ALLOW UNDERLINE WITHIN TOKENS SO SYMBOLS CAN LOOK LIKE
DEFINE (MONTH_END=YES)
DEFINE "WAITFORFTN" IF YOU WANT RAT TO WAIT FOR COMPILER TO FINISH.
NEW ROUTINES:
VTLIB A (REVISED) PACKAGE OF SUBROUTINES THAT GIVE FULL CONTROL OF THE
FEATURES OF THE VT100 AND VT52 (EXCEPT FOR READING ESCAPE SEQUENCES
FROM THE KEYPAD).
VTTEST A PROGRAM TO TEST ALL THE FEATURES OF VTLIB.
MAPPS A KLUGE (WITH CREATE.CMD) TO PUT TOGETHER A LIST OF COMMONS AND
SUBROUTINES USED BY A SET OF PROGRAMS (I.E. THE PRE-PROCESSOR) FROM
A SET OF FORTRAN IV V2.2 LISTINGS. THE CURRENT OUTPUT IS IN
'RATFOR.LAY'.
QUICK BUILD INSTRUCTIONS:
(SEE BLDRATFOR.CMD, A RSX11/M INDIRECT COMMAND FILE THAT DOES THE WHOLE
THING, FOR MORE INFO).
SEQUENCE IS THE SAME FOR BOTH RSX11/M AND /D BUT A COMMAND FILE THAT DOES IT
ALL IS AVAILABLE FOR /M.
COMMAND FILES SUPPLIED ARE FOR FORTRAN IV V2, BUT ONLY MINOR MODS ARE NEEDED
FOR F4P; SEE F4PRATFOR.CMD AS A SAMPLE.
COMMAND FILES ASSUME A DUMMY DEVICE NAMED XX0:. ASSIGN THIS WHEREVER YOU
WANT BEFORE BUILDING.
THE FIRST TIME, RATFOR IS BUILT FROM THE .FTN FILES ON THIS TAPE, AFTER THAT,
WITH A WORKING VERSION OF RATFOR, YOU CAN RATFOR THE .RAT FILES TO CONFIGURE
THINGS THE WAY YOU WANT IT.
FIRST TIME YOU BUILD RATFOR--
MOVE EVERYTING ON THIS TAPE INTO UIC OF YOUR CHOICE.
GIVE MCR THE FOLLOWING-
FOR @FORRATFOR OR F4P @F4PRATFOR
FOR @FORSTRLIB
LBR @LBRRATFOR
LBR @LBRSTRLIB
TKB @TKBRATFOR
INS RATFOR
AFTER THE FIRST TIME--
ADD :
RAT @RATRATFOR
BEFORE THE FIRST LINE ABOVE.
EDIT TKBRATFOR.CMD FOR RESIDENT LIBRARIES OF YOUR CHOICE.
IF YOU HAVE PROBLEMS, CALL
DAVID P SYKES
AMERICAN MANAGEMENT SYSTEMS, INC.
1515 WILSON BLVD
ARLINGTON, VA 22209
(703) 841-6086
GOOD LUCK