FROM: FRED SMITH SUBJECT: COBOL FILTER PROGRAM DATE: JULY 13, 1973 THE COBOL FILTER PROGRAM CONSISTS OF A MAIN COBOL PROGRAM WITH 2 SUBROUTINES - 1 WRITTEN IN COBOL AND 1 WRITTEN IN MACRO-10. ALL 3 PROGRAMS MUST BE COMPILED TO PRODUCE .REL FILES AND THEN LOADED TOGETHER AND SAVED. THE COMMANDS FOR THIS ARE: .COMPILE FILTER .COMPILE SCANIT .COMPILE PUTREC .LOAD FILTER,SCANIT,PUTREC .SAVE FILTER THE .SAV VERSION IS NOW READY TO RUN. IT IS EXECUTED BY THE COMMAND: .RUN FILTER >ENTER COMMAND STRING AS: FN.EXT[PPN]/SWITCH_FN.EXT[PPN]/SWITCH 1. THE BASIS OF THE PROGRAM WAS THE EXISTING IBM FILTER PROGRAM CALLED IBMCOB.CBL WHICH WAS WRITTEN BY BOB HOGAN FROM A PREVIOUS FILTER PROGRAM CALLED COB360.CBL WHICH WAS WRITTEN BY AL BLACKINGTON. 2. THE CHANGES MADE TO THE PROGRAM ARE DESIGNED TO MAKE THE FILTER MORE USEFUL IN THE CONVERSION OF ALL COBOL PROGRAMS, REGARDLESS OF WHICH SOURCE COMPUTER THEY WERE WRITTEN FOR. 3. THE RELEASE OF VERSION 5 COBOL HAS TAKEN CARE OF SOME OF THE PROBLEMS WHICH WERE INHERENT IN THE EARLIER FILTERS. 4. ALL MACRO SUBROUTINES FOR DATA MANIPULATION WERE ELIMINATED FROM THE FILTER AND THESE ROUTINES ARE NOW DONE IN COBOL. 5. ONE MACRO SUBROUTINE WAS WRITTEN BY DAVE KIARSIS TO HANDLE THE WRITING OF THE CONVERTED SOURCE FILE WITHOUT TRAILING SPACES. THIS ROUTINE ELIMINATES THE NECESSITY TO RUN THE CONVERTED SOURCE PROGRAM THROUGH PIP TO DELETE TRAILING SPACES. 6. THE SELECT CLAUSE NOW ASSIGNS ALL FILES TO DIFFERENT LOGICAL NAMES INSTEAD OF ALL BEING ASSIGNED TO DSK. THIS ALLOWS RUNNING THE PROGRAM WITH I/O FROM DIFFERENT MEDIA. 7. ALL FILES ARE GIVEN STANDARD LABELS WITH A DIFFERENT VALUE OF IDENTIFICATION BASED ON THE SOURCE PROGRAM NAME AND A UNIQUE EXTENSION. 8. ALL "KEY" STATEMENTS ARE LEFT IN SELECT CLAUSES. 9. SEVERAL ADDITIONAL CHECKS FOR INCOMPATIBLE RESERVED WORDS HAVE BEEN ADDED. WHERE POSSIBLE THESE HAVE CHANGED TO DECSYSTEM-10 COBOL. 10. THE COMMAND FORMAT IS AS FOLLOWS: FN.EXT[PPN]/SWITCH_FN.EXT[PPN]/SWITCH THERE ARE NOW FOUR (4) SWITCHES AVAILABLE TO THE FILTER PROGRAM. THESE ARE: /HELP-----PRINTS A HELP MESSAGE /NOLIST---DOES NOT PRODUCE A LIST FILE /NOSOUR---DOES NOT PRODUCE A SOURCE FILE /SEQUEN---RESEQUENCES SOURCE FILE IN INCREMENTS OF 10 THIS FILTER WILL NOT DO EVERYTHING FOR ALL PROGRAMS, HOWEVER IT WILL DO MORE THAN THE EXISTING FILTERS AND IT SHOULD MAKE THE CONVERSION OF MOST COBOL SOURCE PROGRAMS FASTER AND EASIER.