|
|
1.1 ! root 1: SUBROUTINE ASSIGN ! 2: INTEGER PSTMT, STMT ! 3: LOGICAL TOKLAB, ERR, SYSERR, ABORT ! 4: COMMON /INPUT/ NSTMT, PSTMT, STMT(1327) ! 5: COMMON /DETECT/ ERR, SYSERR, ABORT ! 6: C ! 7: C PROCESSES AN ASSIGN STMT: ASSIGN <LABEL> TO <VAR> ! 8: C ! 9: IF (PSTMT.GE.NSTMT) GO TO 10 ! 10: IF (.NOT.TOKLAB(1,K2,KK,.FALSE.)) GO TO 80 ! 11: IF (SYSERR) GO TO 20 ! 12: PSTMT = K2 ! 13: IF (PSTMT+2.GE.NSTMT) GO TO 10 ! 14: IF (STMT(PSTMT).EQ.49 .AND. STMT(PSTMT+1).EQ.44) GO TO 30 ! 15: 10 CALL ERROR1(15H ILLEGAL SYNTAX, 15) ! 16: 20 RETURN ! 17: 30 PSTMT = PSTMT + 2 ! 18: IF (PSTMT.GE.NSTMT) GO TO 10 ! 19: CALL NEXTOK(PSTMT, K2, K) ! 20: IF (K.NE.0) GO TO 10 ! 21: K = LOOKUP(K2,.FALSE.) ! 22: IF (SYSERR) GO TO 20 ! 23: I1 = IGATT1(K,1) ! 24: I2 = IGATT1(K,7) ! 25: I3 = IGATT1(K,8) ! 26: IF (I3.EQ.0) GO TO 40 ! 27: IF (I3.NE.8) GO TO 90 ! 28: GO TO 50 ! 29: 40 CALL SATT1(K, 8, 8) ! 30: 50 IF (I1.NE.0) GO TO 60 ! 31: I1 = 1 ! 32: IF (STMT(PSTMT).GE.38 .AND. STMT(PSTMT).LE.43) I1 = 2 ! 33: CALL SATT1(K, 1, I1) ! 34: 60 IF (MOD(I1,8).EQ.2 .AND. I2.EQ.0) GO TO 70 ! 35: CALL ERROR1(35H ASSIGN VARIABLE NOT INTEGER SCALAR, 35) ! 36: GO TO 20 ! 37: 70 IF (K2.NE.NSTMT) GO TO 10 ! 38: GO TO 20 ! 39: 80 CALL ERROR1(14H MISSING LABEL, 14) ! 40: GO TO 20 ! 41: 90 CALL ERROR1(23H ILLEGAL VARIABLE USAGE, 23) ! 42: GO TO 20 ! 43: END
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.