Télécharger liresc.eso

Retour à la liste

Numérotation des lignes :

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

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