|
|
1.1 ! root 1: LOGICAL FUNCTION TOKRL(K1, K2, CODE) ! 2: INTEGER STMT, CODE, PSTMT ! 3: LOGICAL TOKLOP ! 4: COMMON /INPUT/ NSTMT, PSTMT, STMT(1327) ! 5: C ! 6: C ROUTINE RETURNS TRUE IF FINDS A REAL CONSTANT IN ! 7: C STMT(K1)-STMT(K2-1) . ELSE IT RETURNS FALSE. ! 8: C BASIC CONSTRUCT IS: <INT> . <INT> ! 9: C <INT> . ! 10: C . <INT> ! 11: C EACH OF THESE MAY BE FOLLOWED BY <D,E> <+,-> <INT> ! 12: C ALSO LEGAL IS IN-CONST FOLLOWED BY EXPONENT CONSTRUCT ! 13: C ! 14: TOKRL = .FALSE. ! 15: CALL NEXTOK(K1, K2, K) ! 16: IF (K.EQ.3 .AND. STMT(K1).EQ.64) GO TO 10 ! 17: IF (K.EQ.1 .AND. STMT(K2).EQ.64) GO TO 40 ! 18: C IF HAVE INT-CONST NEED EXPONENT FOR THIS TO BE A REAL-CONST ! 19: IF (K-1) 80, 50, 80 ! 20: C ! 21: C FIND BASIC REAL CONSTANT ! 22: C ! 23: C (. INT-CONST) CONSTRUCT ! 24: 10 CALL NEXTOK(K2, K3, K) ! 25: IF (K.NE.1) GO TO 80 ! 26: 20 K2 = K3 ! 27: 30 TOKRL = .TRUE. ! 28: CODE = 1 ! 29: GO TO 50 ! 30: C (INT-CONST .) CONSTRUCT; CHECK FOR (INT . INT ) ! 31: 40 K2 = K2 + 1 ! 32: CALL NEXTOK(K2, K3, K) ! 33: IF (K.EQ.1) GO TO 20 ! 34: IF (TOKLOP(K2-1,K4,K)) GO TO 80 ! 35: GO TO 30 ! 36: C ! 37: C CHECK FOR EXPONENT ! 38: C ! 39: 50 IF (STMT(K2).NE.33) GO TO 60 ! 40: CODE = 0 ! 41: GO TO 70 ! 42: 60 IF (STMT(K2).NE.34) GO TO 80 ! 43: CODE = 1 ! 44: 70 K3 = K2 + 1 ! 45: IF (K3.EQ.NSTMT) GO TO 80 ! 46: IF ((STMT(K3).EQ.60) .OR. (STMT(K3).EQ.61)) K3 = K3 + 1 ! 47: CALL NEXTOK(K3, K4, K) ! 48: IF (K.NE.1) GO TO 80 ! 49: K2 = K4 ! 50: TOKRL = .TRUE. ! 51: 80 RETURN ! 52: END
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.