C SI SOURCE CHAT 11/04/13 21:15:01 6941 C INSTRUCTION SI C SUBROUTINE SI IMPLICIT INTEGER(I-N) -INC CCOPTIO -INC CCNOYAU -INC SMBLOC -INC CCREDLE * character*40 chauer LOGICAL LOG CHARACTER*8 IJCH CHARACTER*4 MCLE(7) DIMENSION IMOTCO(7) SAVE IMOTCO DATA IMOTCO(1)/-1/ DATA MCLE /'SI ','SINO','FINS','REPE','FIN ','FINP','FINM'/ CALL LIRLOG(LOG,1,IRETOU) IF (IERR.NE.0) RETURN IPSI=0 IREPET=0 ilupoy=0 IF (LOG) RETURN 1 CONTINUE CALL NOUTRU if(ilupoy.eq.0) then lectab=1 call quetyp (ijch, 1,iretou) sredle=iredle chauer = text(1:40) endif C POUR NE PAS ETRE PAR LA RECHERCHE DE L'INDICE DES TABLES LECTAB=1 CALL LIRMO3(MCLE,7,IRET,0,IMOTCO) ilupoy=ilupoy+1 IF (IERR.NE.0) RETURN GOTO (10,20,30,40,50,60,60),IRET 10 CONTINUE IPSI=IPSI+1 GOTO 1 20 CONTINUE LECTAB=0 IF (IPSI.EQ.0) THEN IF(IREPET.NE.0) THEN moterr(1:40)=chauer CALL ERREUR(520) ENDIF RETURN ENDIF GOTO 1 30 CONTINUE LECTAB=0 IF (IPSI.EQ.0) THEN IF(IREPET.NE.0) THEN moterr(1:40)=chauer CALL ERREUR(520) ENDIF RETURN ENDIF IF (IPSI.EQ.0) RETURN IPSI=IPSI-1 GOTO 1 40 CONTINUE CALL REPETE C NE LIRE QU'UNE FOIS LA BOUCLE MBCONT=1 IREPET=IREPET+1 GOTO 1 50 CONTINUE CALL QUETYP( IJCH, 0, IRETOU) IF( IRETOU.EQ.0) GO TO 1 IF(IREPET.EQ.0) THEN MBCOUR = MBCOUR -1 moterr(1:40)=chauer CALL ERREUR(520) RETURN ENDIF CALL FIN IREPET=IREPET-1 GOTO 1 60 CONTINUE MBCOUR = MBCOUR - 1 moterr(1:40)=chauer CALL ERREUR(521) RETURN END