Annotation of researchv10no/cmd/pfort/EXTERN.f, revision 1.1

1.1     ! root        1:       SUBROUTINE EXTERN
        !             2:       LOGICAL ERR, SYSERR, ABORT
        !             3:       LOGICAL BR, INTEXT
        !             4:       INTEGER STMT, PSTMT
        !             5:       COMMON /FACTS/ NAME, NOST, ITYP, IASF
        !             6:       COMMON /INPUT/ NSTMT, PSTMT, STMT(1327)
        !             7:       COMMON /DETECT/ ERR, SYSERR, ABORT
        !             8: C
        !             9: C     PROCESS AN EXTERNAL STMT. CAUSES IDS TO BE MARKED AS EXTERNAL
        !            10: C     PROCEDURES. ERROR OCCURS IF ID HAS PREVIOUSLY DEFINED INCONSISTANT
        !            11: C     USAGE. EXTERNAL CAN'T APPEAR IN BLOCK DATA PGM UNIT.
        !            12: C
        !            13:       L = IGATT1(NAME,8)
        !            14:       IF (L.EQ.11) GO TO 60
        !            15:    10 CALL NEXTOK(PSTMT, K2, KK)
        !            16:       IF (KK.EQ.0) GO TO 20
        !            17:       CALL ERROR1(19H ILLEGAL IDENTIFIER, 19)
        !            18:       GO TO 70
        !            19:    20 KK = LOOKUP(K2,.FALSE.)
        !            20:       IF (SYSERR) RETURN
        !            21:       L = IGATT1(KK,8)
        !            22:       IF (L.EQ.0) GO TO 30
        !            23:       CALL ERROR1(26H ILLEGAL USE OF IDENTIFIER, 26)
        !            24:       GO TO 40
        !            25:    30 CALL SATT1(KK, 8, 13)
        !            26: C
        !            27: C     CAUSE EXTERNAL BIT TO BE SET IF POSSIBLE BASIC EXTERNAL
        !            28: C
        !            29:    40 BR = INTEXT(KK,0,0,.FALSE.)
        !            30:       IF (K2.EQ.NSTMT) GO TO 70
        !            31:       IF (STMT(K2).NE.68) GO TO 50
        !            32:       PSTMT = K2 + 1
        !            33:       GO TO 10
        !            34:    50 CALL ERROR1(20H ILLEGAL PUNCTUATION, 20)
        !            35:       GO TO 70
        !            36:    60 CALL ERROR1(
        !            37:      *60H ILLEGAL USAGE OF EXTERNAL STMT WITHIN BLOCK DATA SUBPROGRAM,
        !            38:      *    60)
        !            39:    70 RETURN
        !            40:       END

unix.superglobalmegacorp.com

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