Annotation of researchv10no/cmd/pfort/INOPT.f, revision 1.1.1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.