Télécharger lirmo3.eso

Retour à la liste

Numérotation des lignes :

lirmo3
  1. C LIRMO3 SOURCE CB215821 23/02/02 21:15:06 11576
  2. SUBROUTINE LIRMO3(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.  
  8. IMPLICIT INTEGER(I-N)
  9.  
  10. -INC PPARAM
  11. -INC CCOPTIO
  12. -INC CCNOYAU
  13. -INC CCASSIS
  14.  
  15. DIMENSION ICOHCO(*)
  16. CHARACTER*(*) MOTCLE(*)
  17. CHARACTER*(LOCHAI) MOT
  18. CHARACTER*8 ITOMO
  19.  
  20.  
  21. L=LEN(MOTCLE(1))
  22. * WRITE(6,FMT='('' lirmo3 ico(1) '',i5)') icohco(1)
  23. IF(ICOHCO(1).EQ.-1) THEN
  24. DO 5198 I=1,MOTDIM
  25. IA=0
  26. DO 5199 J=1,L
  27. IA = IA + ICHAR(MOTCLE(I)(J:J))
  28. 5199 CONTINUE
  29. ICOHCO(I) = IA
  30. 5198 CONTINUE
  31. ENDIF
  32. IVAL=0
  33.  
  34.  
  35. ICONDO=ICOND
  36.  
  37. DO 36 K=1,100000
  38. ITOMO ='MOT '
  39. CALL LIRABJ(ITOMO,IRAT,ICONDO,IRETOU)
  40. if(nbesc.ne.0) segact ipiloc
  41. IF (IERR.NE.0) RETURN
  42.  
  43. IF (IRETOU.EQ.0) GO TO 35
  44. JF = IPCHAR(IRAT+1)-1
  45. ID = IPCHAR(IRAT)
  46. MOT= ICHARA(ID:JF)
  47.  
  48. IA=0
  49. DO 65 I=1,L
  50. IA=IA + ICHAR(MOT(I:I))
  51. 65 CONTINUE
  52.  
  53. DO 1 I=1,MOTDIM
  54. IF(IA.NE.ICOHCO(I)) GO TO 1
  55. IF (MOT(1:L).EQ.MOTCLE(I)) GOTO 2
  56. 1 CONTINUE
  57.  
  58. 35 CALL NOUTRU
  59. if(nbesc.ne.0) SEGDES,IPILOC
  60. 36 CONTINUE
  61.  
  62. 2 CONTINUE
  63. IVAL=I
  64. RETURN
  65. END
  66.  
  67.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales