Télécharger liresc.eso

Retour à la liste

Numérotation des lignes :

  1. C LIRESC SOURCE CB215821 19/01/29 21:15:06 10088
  2. C Lire emascule a l'usage d'un esclave
  3. C
  4. SUBROUTINE LIRESC(ITYPE,IRET,ICODE,IRETOU)
  5.  
  6. IMPLICIT INTEGER(I-N)
  7. IMPLICIT REAL*8 (A-H,O-Z)
  8.  
  9. -INC CCOPTIO
  10. -INC CCASSIS
  11. -INC CCNOYAU
  12. -INC SMBLOC
  13.  
  14. character*(*) itype
  15. character*(8) ityp
  16.  
  17. C ith=0
  18. ith=oothrd
  19. if (ith .eq. 0) call erreur(5)
  20. mescla=imescl(ith)
  21. iretou=0
  22. if (icode .eq. -1) then
  23. esoplu(imotlv)=.false.
  24. return
  25. endif
  26. if (ierr .ne. 0) return
  27.  
  28. if (itype(1:8).eq.'FLOTTANT') THEN
  29. ityp='ENTIER '
  30. else
  31. ityp=' '
  32. endif
  33.  
  34. do 10 i=1,100
  35. if (esoplu(i)) goto 10
  36.  
  37. C Si on tombe sur un esclave on le remplace par sa valeur
  38. if (esopty(i).eq.'ESCLAVE ') then
  39. mesres=esopva(i)
  40. segact,mesres
  41. C Gestion du SOUCI dans le BLOC (COMMENTE ACTUELLEMENT)
  42. C mbsouc=max(mbsouc,esisou)
  43. nesres=iesres
  44. segact,nesres
  45. if (.not. loremp) then
  46. 5 continue
  47. segdes,nesres*RECORD
  48. segdes,mesres
  49. SEGACT,NESRES*(ECR=1,MOD)
  50. segact,mesres
  51. if (.not. loremp) then
  52. write(6,*) ' loremp pas vrai dans liresc '
  53. goto 5
  54. endif
  55. endif
  56. segdes,mesres
  57. esopty(i)=esrety
  58. if ( esrety.eq.'LOGIQUE ') then
  59. esoplo(i)=esrelo
  60. elseif(esrety.eq.'FLOTTANT') then
  61. esopre(i)=esrere
  62. elseif (esrety.eq.'MOT ') then
  63. esopch(i)=esrech
  64. else
  65. esopva(i)=esreva
  66. end if
  67. SEGDES,NESRES
  68. endif
  69.  
  70. if (itype(1:8).eq.' ') goto 20
  71. if (itype(1:8).eq. esopty(i)) goto 20
  72. if (ityp .eq. esopty(i)) goto 20
  73. 10 continue
  74.  
  75. iretou=0
  76. if (icode.eq.1) then
  77. moterr(1:8)=itype(1:8)
  78. call erreur(37)
  79. endif
  80. return
  81.  
  82. 20 continue
  83. imotlv=i
  84. iretou=1
  85. itype=esopty(i)
  86. iret =esopva(i)
  87. esoplu(i)=.true.
  88. if (itype(1:8).eq.'FLOTTANT') iret=i
  89. if (itype(1:8).eq.'MOT ') iret=i
  90. if (itype(1:8).eq.'LOGIQUE ') iret=i
  91.  
  92. end
  93.  
  94.  
  95.  
  96.  

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