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. -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. if (.not. loremp) then
  44. 5 continue
  45. segdes,Mesres*RECORD
  46. SEGACT,MESRES*(ECR=1,MOD)
  47. if (.not. loremp) then
  48. write(6,*) ' loremp pas vrai dans liresc '
  49. goto 5
  50. endif
  51. endif
  52. esopty(i)=esrety
  53. if ( esrety.eq.'LOGIQUE ') then
  54. esoplo(i)=esrelo
  55. elseif(esrety.eq.'FLOTTANT') then
  56. esopre(i)=esrere
  57. elseif (esrety.eq.'MOT ') then
  58. esopch(i)=esrech
  59. else
  60. esopva(i)=esreva
  61. end if
  62. SEGDES,MESRES
  63. endif
  64.  
  65. if (itype(1:8).eq.' ') goto 20
  66. if (itype(1:8).eq. esopty(i)) goto 20
  67. if (ityp .eq. esopty(i)) goto 20
  68. 10 continue
  69.  
  70. iretou=0
  71. if (icode.eq.1) then
  72. moterr(1:8)=itype(1:8)
  73. call erreur(37)
  74. endif
  75. return
  76.  
  77. 20 continue
  78. imotlv=i
  79. iretou=1
  80. itype=esopty(i)
  81. iret =esopva(i)
  82. esoplu(i)=.true.
  83. if (itype(1:8).eq.'FLOTTANT') iret=i
  84. if (itype(1:8).eq.'MOT ') iret=i
  85. if (itype(1:8).eq.'LOGIQUE ') iret=i
  86.  
  87. end
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  

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