C* EQUIVALENCE STATEMENT - UNDEC C SUBROUTINE EC(IEND) BYTE STRING,ISTR,VAR COMMON STRING(660),ISTR(660),VAR(6), NV COMMON/EQUIV/ IEQG, IEQDEF, IEQARR(30) ! 24-JUN-79 J=0 C C NUMBER OF EQUIVALENCE GROUPS IS INCREASED BY 1 IEQG = IEQG + 1 ! ADDED 24-JUN-79 C WRITE(6,1010) IEQG C1010 FORMAT('0', 'SUBROUTINE EC (IEQG): ', I2) I=1 10 I=I+1 IF (I.GT.IEND) RETURN IF (ISTR(I).NE.0) GO TO 20 !IF NOT 0, NOT VARIABLE OR CONSTANT J=J+1 VAR(J)=STRING(I) GO TO 10 C20 IF (J.GT.0) CALL CHECK(J) 20 IF (J .GT. 0) CALL ECSET(J) ! ADDED 24-JUN-79 C WRITE(6,1020) ISTR(I), ISTR(I-1) C1020 FORMAT(' ', 'SUBROUTINE EC (ISTR(I),ISTR(I-1)): ', I1,1X,I1) IF (J.LT.0) RETURN IF (ISTR(I).NE.3) GO TO 10 ! GO TO 10 IF NOT LEFT PARENS C ! ISTR(I) = LEFT PARENS IF (ISTR(I-1).NE.2) GO TO 30 ! GO TO 30 IF PREV CHAR NOT ',' C C START OF NEW EQUIVALENCE GROUP IEQG = IEQG + 1 GO TO 10 C C ARRAY EXPRESSION, KEEP SEARCHING UNTIL RIGHT PARENS IS FOUND 30 I=I+1 IF (I.GT.IEND) RETURN IF (ISTR(I).NE.4) GO TO 30 ! IF NOT RIGHT PARENS GOTO 30 GO TO 10 ! RIGHT PARENS FOUND, GOTO 10 END