ÿý :�Ù**************************************************************************O:�Ù* *¡:�Ù* DIVPGM (DATED 90053) *ó(:�Ù* *E2:�Ù* *** SEE UTILITY SECTION OF SCRAM BBS *** *—<:�Ù* *éF:�Ù* 919-541-5742 *;P:�Ù* *�Z:�Ù**************************************************************************•d:�ÙÄn:�Ù INTRODUCTIONÌx:�Ù‚� THIS PROGRAM WAS DESIGNED AS A QUICK AND EASY METHOD OF SEPARATING_Œ� FORTRAN SOURCE CODE INTO ITS SUBROUTINES BY DETECTING AN 'END'«–� STATEMENT. WHEN AN END STATEMENT IS DETECTED, THE OLD OUTPUT FILE ISõ � CLOSED AND A SEARCH IS BEGUN IN THE NEXT LINE OR LINES OF CODE FOR@ª� THE WORD: SUBROUTINE, FUNCTION OR BLOCK. IF THE WORD BLOCK IS READ,Š´� THE NEW OUTPUT FILE IS CALLED BLOCK.FOR. IF THE WORD SUBROUTINE OR;� FUNCTION IS FOUND, THE REST OF THE LINE IS SEARCHED FOR THEÈ� SUBROUTINE OR FUNCTION NAME. THAT NAME IS USED IN OPENING A NEW^Ò� OUTPUT FILE WITH A .FOR EXTENTION. NEW LINES OF CODE ARE THEN READªÜ� FROM THE SOURCE CODE FILE AND WRITTEN TO THE NEW FILE ALONG WITH THEôæ� SUBROUTINE, FUNCTION OR BLOCK LINE. THIS CYCLE CONTINUES UNTIL THEAð� PROGRAM TERMINATES WHEN AN 'END OF FILE' IS DETECTED OR WHEN AN ERRORgú� OCCURS DURING DISK OPERATIONS.m�µ� THIS PROGRAM CAN SPLIT A 625 KILOBYTE FORTRAN PROGRAM INTO 60� SUBROUTINES IN LESS THAN 4 MINUTES ON A 12 Mhz IBM-PC/AT COMPATIBLE."� ,�6�U@… "ENTER THE NAME OF THE FILE TO BE DIVIDED :", OFN$—J… "ENTER THE FULL PATH NAME FOR THE OUTPUT FILES :", PTH$ÄT ‹ ÿ�(PTH$,) èæ "\" Í PTH$ ç "\" é PTH$Ð^þ— PTH$h… "ENTER THE NAME OF THE FILE TO BE WRITTEN TO FIRST :", AN$Sr… "ENTER THE NAME OF THE FILE FOR STORING FILENAMES :", SFN$Y|‘£†…"DO YOU WANT TO SEE THE SOURCE CODE LINES AS THEY ARE READ (Y/N)";Q$Ð� ‹ Q$ ç "Y" ï Q$ ç "y" Í Q ç  : ‰ ®ýš ‹ Q$ ç "N" ï Q$ ç "n" Í Q ç  : ‰ ® ¤ ‰ †® • § ‰ /¸ º "I", , OFN$B º "O", , AN$VÌ º "O", , SFN$fÖ ‘ #, AN$và ° … #, L$ˆê ‹ Q Í ‘ L$šô LTH ç ÿ’(L$)³þ ‹ LTH è  Í ‰ üØ ‹ ÿ�(L$,) èæ " " Í ‰ üý ‹ ÿ�(L$,LTH) ç ÿ˜(LTH) Í ‰ ü ‚ I ç  Ì LTH4& ‹ ÿƒ(L$,I,) ç " " Í ‰ bW0 ‹ ÿƒ(L$,I,) èæ "E" Í ‰ ü|: ‹ ÿƒ(L$,I,) èæ "END" Í ‰ ü›D ‹ ((Ié) ç LTH) Í ‰ vÚN ‹ (LTH è I î ÿƒ(L$,Ié,LTHêIê )ç ÿ˜(LTHêIê)) Í ‰ vX ‹ (LTH æ H î ÿƒ(L$,Ié,(HêIê)) ç ÿ˜(HêIê)) Í ‰ v$b ƒ I/l ‰ ü>v ‘ #, L$I€ » #Wа … #,L$i” ‹ Q Í ‘ L${ž LTH ç ÿ’(L$)”¨ ‹ LTH è  Í ‰ й² ‹ ÿ�(L$,) èæ " " Í ‰ Šá¼ ‹ LTH è I î L$ ç ÿ˜(LTH) Í ‰ ŠÆ ‹ LTH æ H î ÿ�(L$,H) ç ÿ˜(H) Í ‰ Š!Ð ‚ I ç  Ì CÚ ‹ ÿƒ(L$,I,) ç " " Í ‰ Rä ‹ ÿƒ(L$,I, ) ç "SUBROUTINE" Í CODE ç I é  : ‰ ˜·î ‹ ÿƒ(L$,I,) ç "FUNCTION" Í CODE ç I é  : ‰ ˜Þø ‹ ÿƒ(L$,I,) èæ "BLOCK" Í ‰ Rø AN$ ç "BLOCK.FOR"  CODE ç I é  + ‹ CODE æ LTH Í ‰ èD  ‚ J ç CODE Ì LTH^* ‹ J æ H Í ‰ èƒ4 ‹ ÿƒ(L$,J,) èæ " " Í ‰ ˜�> ƒ JœH ‰ è¥R ƒ Ié\ ‘:‘" A SUBROUTINE, FUNCTION NOR A BLOCK STATEMENT COULD BE "; f ‘ "FOUND AFTER A BONAFIDE"Hp ‘ "END STATEMENT. THE FOLLOWING IS THE LAST LINE READ:"Sz ‘ L$\„ �}Ž� FIND AND CREATE A FILENAME“˜ ‚ I ç CODE Ì LTHµ¢ ‹ ÿƒ(L$,I,) èæ " " Í ‰ ¶¾¬ ƒ IѶ ‚ J ç I Ì LTHòÀ ‹ ÿƒ(L$,J,) ç " " Í ‰ ÞÊ ‹ ÿƒ(L$,J,) ç "(" Í ‰ ÞÔ ƒ J<ÞAN$ ç ÿƒ(L$,I,JêI) é ".FOR"Oèº "O", #, AN$^ò ‘ #, AN$lü ‘ #, L$v‰ à} »ƒ�ÿÿ