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

1.1       root        1:       SUBROUTINE IFS(LOG)
                      2:       LOGICAL TOKLAB, ERR, SYSERR, ABORT, LOG
                      3:       INTEGER STMT, PSTMT, EXPR
                      4:       COMMON /INPUT/ NSTMT, PSTMT, STMT(1327)
                      5:       COMMON /DETECT/ ERR, SYSERR, ABORT
                      6: C
                      7: C     ROUTINE PROCESSES ARITHMETIC AND LOGICAL IF STMTS
                      8: C     LOG RETURNED AS TRUE IF LOGICAL-IF IS ENCOUNTERED;PU CHECKS FOR
                      9: C     ACCEPTIBLE EXECUTABLE STMT AFTER LOGICAL EXPRESSION
                     10: C
                     11:       LOG = .FALSE.
                     12:       L = MOD(EXPR(I),8)
                     13:       IF (-1.EQ.L .OR. SYSERR) GO TO 30
                     14:       LOG = L.EQ.4
                     15:       IF (LOG) GO TO 30
                     16: C
                     17: C     ARITHMETIC IF--SEARCH FOR  <LAB>,<LAB>,<LAB>
                     18: C
                     19:       IF (L.GT.2) GO TO 50
                     20:       I = 0
                     21:       IF (PSTMT.GE.NSTMT) GO TO 20
                     22:    10 IF (.NOT.TOKLAB(1,K2,L,.FALSE.)) GO TO 40
                     23:       IF (SYSERR) GO TO 30
                     24:       I = I + 1
                     25:       IF (I.EQ.3) GO TO 60
                     26:       IF (STMT(K2).NE.68) GO TO 20
                     27:       PSTMT = K2 + 1
                     28:       IF (PSTMT.LT.NSTMT) GO TO 10
                     29:    20 CALL ERROR1(15H ILLEGAL SYNTAX, 15)
                     30:    30 RETURN
                     31:    40 CALL ERROR1(14H MISSING LABEL, 14)
                     32:       GO TO 30
                     33:    50 CALL ERROR1(39H COMPLEX EXPRESSION ILLEGAL IN ARITH-IF, 39)
                     34:       GO TO 30
                     35:    60 IF (K2.EQ.NSTMT) GO TO 30
                     36:       CALL ERROR1(34H EXTRANEOUS INFO AFTER END OF STMT, 34)
                     37:       GO TO 30
                     38:       END

unix.superglobalmegacorp.com

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