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