**** 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: > 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