|
|
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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.