|
|
1.1 root 1: SUBROUTINE TYPST2(ASSMT)
2: INTEGER PSTMT, STMT
3: LOGICAL EQUALS, ASSMT
4: COMMON /INPUT/ NSTMT, PSTMT, STMT(1327)
5: C
6: C ALGORITHM FOR IDENTIFYING ASSIGNMENT STMTS:
7: C
8: EQUALS = .FALSE.
9: LEVEL = 0
10: IGP = 0
11: C
12: C 62.....) 63.....= 65.....( 68.....,
13: C
14: DO 40 I=PSTMT,NSTMT
15: IF (STMT(I).EQ.65) LEVEL = LEVEL + 1
16: IF (STMT(I).NE.62) GO TO 10
17: LEVEL = LEVEL - 1
18: IF (EQUALS) GO TO 40
19: IF (LEVEL.EQ.0) IGP = IGP + 1
20: IF (IGP.EQ.1 .AND. LEVEL.EQ.0 .AND. STMT(I+1).NE.63) GO TO 60
21: GO TO 40
22: 10 IF (LEVEL) 50, 20, 30
23: 20 IF (STMT(I).EQ.68) GO TO 60
24: IF (STMT(I).EQ.63) EQUALS = .TRUE.
25: GO TO 40
26: 30 IF (STMT(I).EQ.63) GO TO 60
27: 40 CONTINUE
28: IF (.NOT.EQUALS) GO TO 60
29: ASSMT = .TRUE.
30: 50 RETURN
31: 60 ASSMT = .FALSE.
32: GO TO 50
33: END
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.