C+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC SUBROUTINE SAT001(ITECKEN, IMCRBUF, ISYNTAX, ICMDLAN, * ICMDFIL, ILSTLAN, ILSTFIL, ISATLAN, ISATFIL, ITABMAR, ILSTWAR) 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 TOLKAR KOMMANDO OCH BEST[MMER FILNAMN C C INDATA: C ITECKEN - ANTAL TECKEN I IMCRBUF C IMCRBUF - BUFFERT FR]N MCR ELLER FR]N TERMINAL C C UTDATA: C ISYNTAX - TRUE=SYNTAXFEL FALSE=SYNTAX OK C ICMDLAN - ANTAL TECKEN I ICMDFIL C ICMDFIL - FILNAMN P] CMDFIL C ILSTLAN - ANTAL TECKEN I ILSTFIL C ILSTFIL - FILNAMN P] LSTFIL C ISATLAN - ANTAL TECKEN I ISATFIL C ISATFIL - FILNAMN P] SATFIL C C IN/UTDATA: C ITABMAR - TRUE=TAB.MARKERING FALSE=INGEN TAB.MARKERING C ILSTWAR - TRUE=VARNINGAR P] LISTA FALSE=INGA VARN. P] LISTA C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C INTERNA VARIABLER C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C FELHANTERING C LOGICAL*1 ISYNTAX C C VARIABLER I SAMBAND MED MCR-UPPSTART C LOGICAL*1 IMCRBUF(80) INTEGER ITECKEN LOGICAL*1 ISATKOM(30) LOGICAL*1 ICMDKOM(30) LOGICAL*1 ILSTKOM(30) LOGICAL*1 ISATFIL(30) INTEGER ISATLAN LOGICAL*1 ICMDFIL(30) INTEGER ICMDLAN LOGICAL*1 ILSTFIL(30) INTEGER ILSTLAN C C VARIABLER SOM ANV[NDS 1 G]NG/FIL C LOGICAL*1 ITABMAR LOGICAL*1 ILSTWAR LOGICAL*1 IESW1 LOGICAL*1 IESW2 LOGICAL*1 IESW3 C C VARIABLER SOM ANV[NDS 1 G]NG/BEHANDLAD RAD C INTEGER I C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C FORMAT C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C 100 FORMAT(1X,'NO INPUT FILE!') C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C STYRSEKTION C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C CALL CHANGE(,' ',ISATKOM,30) CALL CHANGE(,' ',ICMDKOM,30) CALL CHANGE(,' ',ILSTKOM,30) CALL CHANGE(,' ',ISATFIL,30) CALL CHANGE(,' ',ICMDFIL,30) CALL CHANGE(,' ',ILSTFIL,30) ASSIGN 26000 TO M00000 GOTO 27000 26000 CONTINUE ASSIGN 26001 TO M00001 GOTO 27001 26001 CONTINUE RETURN CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C A# TOLKA KOMMANDO C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C 27999 CONTINUE GOTO 28000 27000 CONTINUE C IF(.NOT. (IMCRBUF(ITECKEN).EQ.13))GOTO 30016 ITECKEN=ITECKEN-1 30016 CONTINUE 30079 CONTINUE ICMDLAN=0 ILSTLAN=0 ISATLAN=0 I=5 20000 IF(.NOT. (IMCRBUF(I).NE.','.AND.IMCRBUF(I).NE.'='.AND. *I.LE.ITECKEN))GOTO 20001 IF(.NOT. (IMCRBUF(I).EQ.'['))GOTO 30080 20002 IF(.NOT. (IMCRBUF(I).NE.']'.AND.I.LE.ITECKEN))GOTO 20003 ICMDKOM(ICMDLAN+1)=IMCRBUF(I) ICMDLAN=ICMDLAN+1 I=I+1 GOTO 20002 20003 CONTINUE 30080 CONTINUE 30143 CONTINUE ICMDKOM(ICMDLAN+1)=IMCRBUF(I) ICMDLAN=ICMDLAN+1 I=I+1 GOTO 20000 20001 CONTINUE IF(.NOT. (IMCRBUF(I).EQ.','.AND.I.LE.ITECKEN))GOTO 30144 I=I+1 30144 CONTINUE 30207 CONTINUE 20004 IF(.NOT. (IMCRBUF(I).NE.'='.AND.I.LE.ITECKEN))GOTO 20005 ILSTKOM(ILSTLAN+1)=IMCRBUF(I) ILSTLAN=ILSTLAN+1 I=I+1 GOTO 20004 20005 CONTINUE I=I+1 20006 IF(.NOT. (I.LE.ITECKEN))GOTO 20007 ISATKOM(ISATLAN+1)=IMCRBUF(I) ISATLAN=ISATLAN+1 I=I+1 GOTO 20006 20007 CONTINUE C GOTO M00000 28000 CONTINUE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C B# SYNTAXKONTROLL C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C GOTO 28001 27001 CONTINUE C ISYNTAX = .FALSE. CONTINUE IF(.NOT. (ISATLAN .EQ. 0))GOTO 30208 WRITE(5,100) ISYNTAX = .TRUE. GOTO 29000 30208 CONTINUE 30271 CONTINUE CALL SAT008(ISATLAN, ISATKOM, ' ', ' ', ' ', 'SAT', * ISATFIL, IESW1, IESW2, IESW3, ISYNTAX) IF (ISYNTAX) GOTO 29000 IF(.NOT. (ICMDLAN .GT. 0))GOTO 30272 CALL SAT008(ICMDLAN, ICMDKOM, ' ', ' ', ' ', 'CMD', * ICMDFIL, IESW1, IESW2, IESW3, ISYNTAX) IF (ISYNTAX) GOTO 29000 30272 CONTINUE 30335 CONTINUE IF(.NOT. (ILSTLAN .GT. 0))GOTO 30336 CALL SAT008(ILSTLAN, ILSTKOM, 'TM ', '-WR', ' ', 'LST', * ILSTFIL, IESW1, IESW2, IESW3, ISYNTAX) IF (ISYNTAX) GOTO 29000 IF(.NOT. (IESW1))GOTO 30400 ITABMAR = .TRUE. 30400 CONTINUE 30463 CONTINUE IF(.NOT. (IESW2))GOTO 30464 ILSTWAR = .FALSE. 30464 CONTINUE 30527 CONTINUE 30336 CONTINUE 30399 CONTINUE GOTO 29001 29000 CONTINUE 29001 CONTINUE C GOTO M00001 28001 CONTINUE END