|
|
1.1 ! root 1: SUBROUTINE HELPER(H) ! 2: INTEGER H(4) ! 3: C ! 4: C HANDLE HELP FILE ! 5: C H = KEY WORD, FORMAT 4A1 ! 6: C ! 7: C FORTRAN 66 VERSION USING SEQUENTIAL ACCESS ! 8: C ASSUMES THE HELP TEXT FILE IS ATTACHED TO THE UNIT HIO ! 9: C WHICH IS SET IN SUBROUTINE MATLAB AND STORED IN COMMON ! 10: C SEE THE COMMENTED OPEN STATEMENT BELOW ! 11: C ! 12: INTEGER ALFA(52),ALFB(52),ALFL,CASE ! 13: INTEGER DDT,ERR,FMT,LCT(4),LIN(1024),LPT(6),RIO,WIO,RTE,WTE,HIO ! 14: INTEGER SYM,SYN(4),BUF(256),CHAR,FLP(2),FIN,FUN,LHS,RHS,RAN(2) ! 15: COMMON /ALFS/ ALFA,ALFB,ALFL,CASE ! 16: COMMON /IOP/ DDT,ERR,FMT,LCT,LIN,LPT,RIO,WIO,RTE,WTE,HIO ! 17: COMMON /COM/ SYM,SYN,BUF,CHAR,FLP,FIN,FUN,LHS,RHS,RAN ! 18: INTEGER HIO,LRECL,BLANK,CMD(4,17),CMDL ! 19: DATA LRECL/80/,BLANK/1H /,CMDL/17/ ! 20: DATA CMD/ ! 21: $ 12,21,14,10, 14,21,28,14, 14,23,13,36, 14,33,18,29, ! 22: $ 15,24,27,36, 17,14,21,25, 18,15,36,36, 21,24,23,16, ! 23: $ 27,14,29,30, 28,14,22,18, ! 24: $ 28,17,24,27, 32,17,10,29, 32,17,18,21, ! 25: $ 32,17,24,36, 32,17,34,36, 21,10,21,10, 15,30,12,20/ ! 26: 101 FORMAT(80A1) ! 27: 102 FORMAT(1X,80A1) ! 28: C ! 29: C INITIALIZATION INDICATED BY H(1) = 0 ! 30: C READ AND ECHO THE FIRST LINE ! 31: C ! 32: IF (H(1) .NE. 0) GO TO 80 ! 33: C OPEN(UNIT=HIO,FILE='HELP',ACCESS='SEQUENTIAL',STATUS='OLD') ! 34: REWIND HIO ! 35: READ(HIO,101,END=89) (BUF(I),I=1,LRECL) ! 36: GO TO 86 ! 37: C ! 38: C SPECIAL CASE, HELP FOLLOWED BY BLANK. GIVE GENERAL HELP. ! 39: C ! 40: 80 IF (H(1) .NE. BLANK) GO TO 83 ! 41: WRITE(WTE,180) ! 42: IF (WIO .NE. 0) WRITE(WIO,180) ! 43: 180 FORMAT(1X,'Type HELP followed by ...' ! 44: $ /1X,'INTRO (To get started)' ! 45: $ /1X,'NEWS (recent revisions)') ! 46: H(1) = 0 ! 47: CALL FUNS(H) ! 48: CALL PRNTID(CMD,CMDL-2) ! 49: WRITE(WTE,181) ! 50: IF (WIO .NE. 0) WRITE(WIO,181) ! 51: 181 FORMAT(1X,'ANS EDIT FILE FUN MACRO') ! 52: WRITE(WTE,182) (ALFA(I),I=38,ALFL) ! 53: IF (WIO .NE. 0) WRITE(WIO,182) (ALFA(I),I=38,ALFL) ! 54: 182 FORMAT(1X,17(A1,1X)/) ! 55: GO TO 98 ! 56: C ! 57: 83 REWIND HIO ! 58: 84 READ(HIO,101,END=89) (BUF(I),I=1,LRECL) ! 59: DO 85 I = 1, 4 ! 60: IF (H(I) .NE. BUF(I)) GO TO 84 ! 61: 85 CONTINUE ! 62: 86 WRITE(WTE,102) ! 63: IF (WIO .NE. 0) WRITE(WIO,102) ! 64: 87 K = LRECL + 1 ! 65: 88 K = K - 1 ! 66: IF (BUF(K) .EQ. BLANK) GO TO 88 ! 67: WRITE(WTE,102) (BUF(I),I=1,K) ! 68: IF (WIO .NE. 0) WRITE(WIO,102) (BUF(I),I=1,K) ! 69: READ(HIO,101) (BUF(I),I=1,LRECL) ! 70: IF (BUF(1) .EQ. BLANK) GO TO 87 ! 71: GO TO 98 ! 72: C ! 73: 89 WRITE(WTE,189) (H(I),I=1,4) ! 74: 189 FORMAT(1X,'SORRY, NO HELP ON ',4A1) ! 75: C ! 76: 98 RETURN ! 77: END
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.