Télécharger liresc.eso

Retour à la liste

Numérotation des lignes :

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

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