C+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC SUBROUTINE SAT008(ILAN, IKOM, ISW1, ISW2, ISW3, * IEXT, IFIL, IESW1, IESW2, IESW3, ISYNTAX) C C STRUKTURERAD AT.! C C HISTORIK: C DATUM NAMN ORSAK C 01-JAN-83 LARS-G\RAN OLSSON URUPPF\RANDE C C FUNKTION: C KOLLAR SYNTAX P] FILNAMN. C KOLLAR EXTENSIONS, L[GGER EV. P] DEFAULT OCH KOLLAR SWITCHAR C C INDATA: C IKOM - KOMMANDO C ISW1 - GODK[ND SWITCH 1 C ISW2 - GODK[ND SWITCH 2 C ISW3 - GODK[ND SWITCH 3 C IEXT - DEFAULT EXTENSION C C UTDATA: C IFIL - FILNAMN MED EXTENSION C IESW1 - TRUE=SWITCH 1 FINNS C IESW2 - TRUE=SWITCH 2 FINNS C IESW3 - TRUE=SWITCH 3 FINNS C ISYNTAX - TRUE=SYNTAXFEL C C IN/UTDATA: C ILAN - ANTAL TECKEN I IKOM/IFIL C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C INTERNA VARIABLER C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C LOGICAL*1 ISYNTAX C LOGICAL*1 IKOM(30) INTEGER ILAN LOGICAL*1 IFIL(30) INTEGER IFILLAN C LOGICAL*1 ISW1(3) LOGICAL*1 ISW2(3) LOGICAL*1 ISW3(3) C LOGICAL*1 IEXT(3) LOGICAL*1 IESW1 LOGICAL*1 IESW2 LOGICAL*1 IESW3 INTEGER I INTEGER J INTEGER K C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C FORMAT C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C 101 FORMAT(1X,'ILLEGAL EXTENSION ON',1X,3A1,1X,'FILE!') 108 FORMAT(1X,'ILLEGAL SWITCH ON',1X,3A1,1X,'FILE!') CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C STYRSEKTION C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C IESW1 = .FALSE. IESW2 = .FALSE. IESW3 = .FALSE. CONTINUE I = 0 J = 1 20000 IF(.NOT. (J .LE. ILAN))GOTO 20001 IF(.NOT. (IKOM(J) .EQ. '/'))GOTO 30016 I = J GOTO 20001 30016 CONTINUE 30079 CONTINUE J = J + 1 GOTO 20000 20001 CONTINUE IF(.NOT. (I .GT. 0))GOTO 30080 IFILLAN = I - 1 GOTO 30143 30080 CONTINUE IFILLAN = ILAN 30142 CONTINUE 30143 CONTINUE 20002 IF(.NOT. (I .GT. 0 .AND. J .LE. ILAN))GOTO 20003 K = 0 J = J + 1 20004 IF(.NOT. (J .LE. ILAN))GOTO 20005 IF(.NOT. (IKOM(J) .EQ. '/'))GOTO 30144 K = J GOTO 20005 30144 CONTINUE 30207 CONTINUE J = J + 1 GOTO 20004 20005 CONTINUE IF(.NOT. (K .EQ. 0))GOTO 30208 K = ILAN + 1 30208 CONTINUE 30271 CONTINUE C SWITCH FINNS NU MELLAN I OCH K IF(.NOT. ((K- I) .GT. 4))GOTO 30272 WRITE(5, 108)IEXT GOTO 29000 30272 CONTINUE 30335 CONTINUE IF(.NOT. (ICOMPA((K-I-1), IKOM(I+1), ISW1) .EQ. 0))GOTO 30336 IESW1 = .TRUE. 30336 CONTINUE 30399 CONTINUE IF(.NOT. (ICOMPA((K-I-1), IKOM(I+1), ISW2) .EQ. 0))GOTO 30400 IESW2 = .TRUE. 30400 CONTINUE 30463 CONTINUE IF(.NOT. (ICOMPA((K-I-1), IKOM(I+1), ISW3) .EQ. 0))GOTO 30464 IESW3 = .TRUE. 30464 CONTINUE 30527 CONTINUE IF(.NOT. (ICOMPA((K-I-1), IKOM(I+1), ISW1) .NE. 0 .A *ND. * ICOMPA((K-I-1), IKOM(I+1), ISW2) .NE. 0 .AND. * ICOMPA((K-I-1), IKOM(I+1), ISW3) .NE. 0))GOTO 30528 WRITE(5, 108)IEXT GOTO 29000 30528 CONTINUE 30591 CONTINUE I = K GOTO 20002 20003 CONTINUE C C SWITCHARNA TYCKS VARA OK - HUR [R DET MED EXTENSIONS? C ILAN = IFILLAN I = 0 J = 1 20006 IF(.NOT. (J .LE. ILAN))GOTO 20007 IF(.NOT. (IKOM(J) .EQ. '.'))GOTO 30592 I = J GOTO 20007 30592 CONTINUE 30655 CONTINUE J = J + 1 GOTO 20006 20007 CONTINUE IF(.NOT. (I .NE. 0))GOTO 30656 IF(.NOT. ((ILAN - I) .GT. 3 .OR. (ILAN - I) .LT. 1))GOTO 30720 WRITE(5,101)IEXT GOTO 29000 30720 CONTINUE 30783 CONTINUE CALL MOVE01(ILAN, IKOM, IFIL) GOTO 30719 30656 CONTINUE CALL MOVE01(ILAN, IKOM, IFIL) CALL MOVE01(1, '.', IFIL(ILAN + 1)) ILAN = ILAN + 1 CALL MOVE01(3, IEXT, IFIL(ILAN + 1)) ILAN = ILAN + 3 30718 CONTINUE 30719 CONTINUE GOTO 29001 29000 CONTINUE ISYNTAX = .TRUE. 29001 CONTINUE RETURN END