C* SFSSD - SCAN ACROSS DATA STATEMENT /'S SUBROUTINE SFSSD (FID1, IGS, IG, IGE) C INCLUDE 'SFSCM.FTN/NOLIST' C DIMENSION IGS(2), IG(2), IGE(2), FID1(3) DATA I00E9, ISLSH, IAPOS, ILETH/ 90, 47, 39, 72/ DATA NIN/5/ 100 CALL GNXCF (ICHR) IF (ICHR .LE. 0) GO TO 220 105 IF (ICHR - ISLSH) 110, 200, 110 110 IF (ICHR - IAPOS) 150, 120, 150 C FLUSH BETWEEN 'S 120 CALL GNXCF (ICHR) IF (ICHR .LE. 0) GO TO 220 IF (ICHR - IAPOS) 120, 100, 120 150 IF (ISPC (ICHR)) 160, 100, 100 C SCAN FOR H CODES 160 IHCOD = ICHR- 48 165 CALL GNXCF (ICHR) IF (ICHR .LE. 0) GO TO 220 IF (ISPC (ICHR)) 170, 180, 180 170 IHCOD = IHCOD*10 + ICHR - 48 GO TO 165 180 IF (ICHR - ILETH) 105, 185, 105 185 CALL SFSGS (FID1, IG, IG, IGE, -1) DO 190 I = 1, IHCOD 190 CALL GNXCF (ICHR) IF (ICHR .LE. 0) GO TO 220 CALL SFSGS (FID1, IG, IG, IGE, 1) GO TO 100 200 CONTINUE RETURN C C ERROR IF EOR ENCOUNTERED BEFORE A '/' C 220 CONTINUE WRITE (NIN, 500) INDX, IG(1) 500 FORMAT (' **ERROR** EOR ENCOUNTERED IN DATA STMT BEFORE CLOSING', 1 2H /,', POSSIBLY DUE TO AN ''!'''/ 2 ' **ERROR** FILE',I4,' @ LINE',I4,' - SFS PROCEEDING') END