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