Télécharger lirmo2.eso

Retour à la liste

Numérotation des lignes :

lirmo2
  1. C LIRMO2 SOURCE CB215821 23/07/12 21:15:08 11704
  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.  
  8. IMPLICIT INTEGER(I-N)
  9.  
  10. -INC PPARAM
  11. -INC CCOPTIO
  12.  
  13. DIMENSION ICOHCO(*)
  14. CHARACTER*(*) MOTCLE(*)
  15. CHARACTER*(LOCHAI) MOT,MOTTOT
  16.  
  17.  
  18. L=LEN(MOTCLE(1))
  19. IF(ICOHCO(1).EQ.-1) THEN
  20. DO 5198 I=1,MOTDIM
  21. IA=0
  22. DO 5199 J=1,L
  23. IA = IA + ICHAR(MOTCLE(I)(J:J))
  24. 5199 CONTINUE
  25. ICOHCO(I) = IA
  26. 5198 CONTINUE
  27. ENDIF
  28.  
  29. ICONDO = ICOND
  30. IVAL = 0
  31. MOT = ' '
  32. MOTTOT = ' '
  33. CALL LIRCHA(MOTTOT,ICONDO,IRETOU)
  34. IF (IERR .NE.0) RETURN
  35. IF (IRETOU.EQ.0) RETURN
  36. MOT = MOTTOT(1:L)
  37.  
  38. IA=0
  39. DO 65 I=1,L
  40. IA=IA + ICHAR(MOT(I:I))
  41. 65 CONTINUE
  42.  
  43. DO 1 I=1,MOTDIM
  44. IF(IA.NE.ICOHCO(I)) GO TO 1
  45. IF (MOT(1:L).EQ.MOTCLE(I)) GOTO 2
  46. 1 CONTINUE
  47.  
  48. IF (MOT(1:2).NE.'? ') GOTO 3
  49. WRITE (IOIMP,100) (MOTCLE(I),I=1,MOTDIM)
  50. 100 FORMAT(/,' LISTE DES MOTS RECONNUS :',/,(9(1H ,A)))
  51. 3 CALL REFUS
  52. I=0
  53. MOTERR = MOTTOT
  54. IF(ICOND.EQ.1)THEN
  55. CALL ERREUR(7)
  56. WRITE(IOIMP,110) (MOTCLE(I),I=1,MOTDIM)
  57. 110 FORMAT(8(1H ,A))
  58. ENDIF
  59.  
  60. 2 CONTINUE
  61. IVAL=I
  62. RETURN
  63. END
  64.  
  65.  
  66.  
  67.  

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