Annotation of researchv10no/cmd/pfort/INOPT.f, revision 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.