|
|
1.1 ! root 1: SUBROUTINE INOPT(CARD) ! 2: INTEGER S(8), CARD(80), J(5) ! 3: LOGICAL OPT, P1ERR ! 4: COMMON /OPTNS/ OPT(5), P1ERR ! 5: DATA S(1), S(2), S(3), S(4), S(5), S(6), S(7) /1HS,1HR,1HP,1HL, ! 6: * 1HC,1H,,1HN/, S(8) /1H / ! 7: C ! 8: C OPT(1) IF TRUE, PRINT SYMBOL TABLE ! 9: C IF FALSE, NOSYMBOL TABLE PRINTED ! 10: C OPT(2) IF TRUE, PRINT CROSS REFERENCES ! 11: C IF FALSE, NO REFS PRINTED ! 12: C OPT(3) IF TRUE, DO PASS 2; ELSE DO NOT ! 13: C OPT(4) IF TRUE GET LISTING OF PGM; ELSE DO NOT ! 14: C OPT(5) IF TRUE, COMPILE PGM AFTER PROCESSING; ELSE DO NOT ! 15: C SET OPTIONS FROM CARD READ IN BY "IN" ! 16: C P2 IS TURNED OFF ONLY ONCE A RUN; IT CANNOT BE TURNED ON AGAIN ! 17: C OPTIONS CARD IS ONLY ACCEPTED IF SYNTAX ON CARD IS OK ! 18: C SYNTAX IS C* FOLLOWED BY AT LEAST ONE OPTION OF THEFORM ! 19: C OPT BLANKS, OPT N, AT LEAST ONE OF (S,R,P,L,C), OPT BLANKS ! 20: C WHERE OPTIONS ARE SEPARATEDBY COMMAS ! 21: C ! 22: DO 10 I=1,5 ! 23: J(I) = 0 ! 24: 10 CONTINUE ! 25: IP = 2 ! 26: 20 IP = IP + 1 ! 27: IF (IP.GE.73) GO TO 60 ! 28: C DEBLANK LEADING BLANKS ! 29: IF (CARD(IP).EQ.S(8)) GO TO 20 ! 30: L = 1 ! 31: C ! 32: C CHECK FOR NEGATIVE ! 33: C ! 34: IF (CARD(IP).NE.S(7)) GO TO 30 ! 35: L = -1 ! 36: IP = IP + 1 ! 37: IF (IP.GE.73) GO TO 60 ! 38: 30 DO 40 I=1,5 ! 39: IF (S(I).NE.CARD(IP)) GO TO 40 ! 40: J(I) = J(I) + L ! 41: GO TO 50 ! 42: 40 CONTINUE ! 43: GOTO 100 ! 44: C ! 45: C FLUSH BLANKS TO NEXT COMMA ! 46: C ! 47: 50 IP = IP + 1 ! 48: IF (IP.GE.73) GO TO 60 ! 49: IF (CARD(IP).EQ.S(6)) GO TO 20 ! 50: IF(CARD(IP).NE.S(8)) GOTO 100 ! 51: GO TO 50 ! 52: 60 DO 90 K=1,5 ! 53: IF (J(K)) 70, 90, 80 ! 54: 70 OPT(K) = .FALSE. ! 55: GO TO 90 ! 56: C DO NOT LET USER TURN ON PASS2 AFTER WE TURN IT OFF ! 57: 80 IF (K.EQ.3 .AND. .NOT.OPT(3)) GO TO 90 ! 58: OPT(K) = .TRUE. ! 59: 90 CONTINUE ! 60: 100 RETURN ! 61: END
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.