Annotation of researchv10no/cmd/pfort/ASSIGN.f, revision 1.1.1.1

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

unix.superglobalmegacorp.com

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