1 : C LIRMO2 SOURCE CHAT 06/03/30 21:15:15 5364 2 : SUBROUTINE LIRMO2(MOTCLE,MOTDIM,IVAL,ICOND,ICOHCO) 3 : C MOTCLE TABLEAU DES MOTS CLES POSSIBLES 4 : C MOTDIM DIMENSION DE MOTCLE 5 : C IVAL POSITION DU MOT TROUVE DANS MOTCLE (0) SI ECHEC 6 : C ICOND LECTURE IMPERATIVE OU NON 7 : IMPLICIT INTEGER(I-N) 8 : DIMENSION ICOHCO(*) 9 : CHARACTER*(*) MOTCLE(*) 10 : CHARACTER*72 MOT 11 : -INC CCOPTIO 12 : L=LEN(MOTCLE(1)) 13 : IF(ICOHCO(1).EQ.-1) THEN 14 : DO 5198 I=1,MOTDIM 15 : IA=0 16 : DO 5199 J=1,L 17 : IA = IA + ICHAR(MOTCLE(I)(J:J)) 18 : 5199 CONTINUE 19 : ICOHCO(I) = IA 20 : 5198 CONTINUE 21 : ENDIF 22 : ICONDO=ICOND 23 : IVAL=0 24 : MOT=' ' 24 : CALL LIRCHA(MOT(1:L),ICONDO,IRETOU) 25 : IF (IERR.NE.0) RETURN 26 : IF (IRETOU.EQ.0) RETURN 27 : IA=0 28 : DO 65 I=1,L 29 : IA=IA + ICHAR(MOT(I:I)) 30 : 65 CONTINUE 31 : DO 1 I=1,MOTDIM 32 : IF(IA.NE.ICOHCO(I)) GO TO 1 33 : IF (MOT(1:L).EQ.MOTCLE(I)) GOTO 2 34 : 1 CONTINUE 35 : IF (MOT(1:2).NE.'? ') GOTO 3 36 : WRITE (IOIMP,100) (MOTCLE(I),I=1,MOTDIM) 37 : 100 FORMAT(/,' LISTE DES MOTS RECONNUS',/,(1H ,10A8)) 37 : 3 CALL REFUS 38 : I=0 39 : MOTERR(1:8)=MOT(1:L) 39 : IF (ICOND.EQ.1) CALL ERREUR(7) 40 : 2 CONTINUE 41 : IVAL=I 42 : RETURN 43 : END 44 : 45 :
© Cast3M 2003 - All rights reserved.
Disclaimer