PROGRAM RFM C C REFORMAT WILL CHANGE TABS TO SPACES IN OUTPUT LISTINGS. C WILL ALSO CHANGE FORM FEEDS TO FORTRAN PAGE FEEDS. C BYTE INFILE(40),OUTFIL(40),INLINE(132),OUTLIN(132) LOGICAL*1 FORMFD,INDENT INDENT=.FALSE. NTAB=8 CALL GETFIL(INFILE,OUTFIL) OPEN(UNIT=1,FILE=INFILE,STATUS='OLD',READONLY 1,ERR=40) OPEN(UNIT=2,FILE=OUTFIL,STATUS='NEW' 1,CARRIAGECONTROL='LIST',ERR=40) 10 READ(1,101,END=30)N,(INLINE(I),I=1,N) FORMFD=.FALSE. J=1 DO 20,I=1,N IF(INLINE(I).EQ.'11'O)THEN IF((J/NTAB)*NTAB.NE.J)THEN DO 15,K=J,(((J/NTAB)+1)*NTAB) OUTLIN(J)=' ' J=J+1 15 CONTINUE ELSE OUTLIN(J)=' ' J=J+1 END IF ELSE OUTLIN(J)=INLINE(I) J=J+1 END IF IF(INLINE(I).EQ.'14'O)FORMFD=.TRUE. IF(FORMFD)INDENT=.TRUE. 20 CONTINUE IF(.NOT.FORMFD)THEN IF(.NOT.INDENT)WRITE(2,102)(OUTLIN(I),I=1,J) IF(INDENT)WRITE(2,105)(OUTLIN(I),I=1,J) END IF IF(FORMFD)WRITE(2,104)(OUTLIN(I),I=1,J) FORMFD=.FALSE. DO 25,I=1,J INLINE(I)=' ' 25 OUTLIN(I)=' ' GO TO 10 30 CLOSE(UNIT=1) CLOSE(UNIT=2) CALL EXIT(1) 40 CALL EXIT(4) 100 FORMAT(Q,80A1) 101 FORMAT(Q,132A1) 102 FORMAT(132A1) 103 FORMAT(A1) 104 FORMAT('1',131A1) 105 FORMAT(' ',131A1) END SUBROUTINE GETFIL(INFILE,OUTFIL) BYTE INFILE(40),OUTFIL(40),MCRLIN(80) INTEGER*2 IS,IE,OS,OE C CALL GETMCR(MCRLIN,IDS) IF(IDS.LE.0)THEN WRITE(5,120) READ(5,100)N,(INFILE(I),I=1,N) WRITE(5,121) READ(5,100)N,(OUTFIL(I),I=1,N) RETURN END IF IE=IDS DO 10,I=1,IDS IF(MCRLIN(I).EQ.' ')OS=I+1 IF(MCRLIN(I).EQ.'=')THEN OE=I-1 IS=I+1 END IF 10 CONTINUE J=1 DO 20,I=IS,IE INFILE(J)=MCRLIN(I) J=J+1 20 CONTINUE INFILE(J)='0'O J=1 DO 30,I=OS,OE OUTFIL(J)=MCRLIN(I) J=J+1 30 CONTINUE OUTFIL(J)='0'O RETURN 100 FORMAT(Q,40A1) 120 FORMAT('$ENTER INPUT FILE NAME: ') 121 FORMAT('$ENTER OUTPUT FILE NAME: ') END