Télécharger anabac.eso

Retour à la liste

Numérotation des lignes :

anabac
  1. C ANABAC SOURCE PV090527 24/01/09 21:15:03 11817
  2. SUBROUTINE ANABAC
  3. IMPLICIT INTEGER(I-N)
  4.  
  5. -INC PPARAM
  6. -INC CCOPTIO
  7. -INC SMBLOC
  8. -INC CCNOYAU
  9. -INC CCASSIS
  10. -INC SMLMOTS
  11. SEGMENT MTTE
  12. CHARACTER*600 PHRA
  13. CHARACTER*600 PHRH
  14. CHARACTER*72 TRA
  15. CHARACTER*8 NOM
  16. ENDSEGMENT
  17. IF ( .NOT. LODESL ) THEN
  18. IRR=IERR
  19. IERR=0
  20. CALL GINT2
  21. CALL ERREUR (-273)
  22. IERR=IRR
  23. CALL GINT2
  24. END IF
  25. SEGINI MTTE
  26. JNDI = 1
  27. PHRA = ' '
  28. PHRH = ' '
  29. if(nbesc.ne.0) segact ipiloc
  30. DO 104 I=1,ITINTE(/1)
  31. C WRITE(6,FMT='('' JNDI '',i5)') JNDI
  32. IPLAC=ITINTE(I)
  33. IF(IPLAC.LE.0) GO TO 118
  34. IP=INOOB1(IPLAC)
  35. IDEBCH = IPCHAR(IP)
  36. IFINCH=IPCHAR(IP+1)
  37. NOM = ICHARA(IDEBCH:IFINCH-1)
  38. IPO=IOUEP2(IPLAC)
  39. IK=IFINCH-IDEBCH
  40. IF(NOM.NE.' ') THEN
  41. PHRA(JNDI:JNDI+IK-1)=NOM(1:IK)
  42. NOM = INOOB2(IPLAC)
  43. DO 1042 K=8,1,-1
  44. IF(NOM(K:K).NE.' ') THEN
  45. IL=K
  46. GO TO 1043
  47. ENDIF
  48. 1042 CONTINUE
  49. 1043 CONTINUE
  50. PHRH(JNDI:JNDI+IL-1) = NOM
  51. C WRITE(6,FMT='( '' OBJET'',i4)') IK
  52. JNDI=JNDI + MAX( IK,IL) + 1
  53. IF (JNDI.GT.588 ) GO TO 118
  54. ELSE
  55. IF(INOOB2(IPLAC).EQ.'ENTIER ') THEN
  56. TRA(1:10)=' '
  57. WRITE(TRA,FMT='(I10)') IPO
  58. DO 1034 K=1,10
  59. IF(TRA(K:K).NE.' ') THEN
  60. IK=K
  61. GO TO 1035
  62. ENDIF
  63. 1034 CONTINUE
  64. 1035 CONTINUE
  65. PHRA(JNDI:JNDI+10-IK)=TRA(IK:10)
  66. PHRH(JNDI:JNDI+5 )='ENTIER'
  67. JNDI=JNDI + MAX ( 10 -IK,5) +2
  68. C WRITE(6,FMT='( '' ENTIER'',i4)') IK
  69. IF (JNDI.GT.588 ) GO TO 118
  70. ELSEIF(INOOB2(IPLAC).EQ.'FLOTTANT')THEN
  71. WRITE(TRA,FMT='(G15.8)')XIFLOT(IPO)
  72. DO 1036 K=1,15
  73. IF(TRA(K:K).NE.' ') THEN
  74. IK=K
  75. GO TO 1037
  76. ENDIF
  77. 1036 CONTINUE
  78. 1037 CONTINUE
  79. DO 1038 K=15,IK,-1
  80. IF(TRA(K:K).NE.'0'.AND.TRA(K:K).NE.' ') THEN
  81. IKK=K
  82. GO TO 1039
  83. ENDIF
  84. 1038 CONTINUE
  85. 1039 CONTINUE
  86. PHRA(JNDI:JNDI+IKK-IK)=TRA(IK:IKK)
  87. PHRH(JNDI:JNDI+7)='FLOTTANT'
  88. JNDI=JNDI + MAX(IKK-IK,7) + 2
  89. IK1= IKK -IK
  90. C WRITE(6,FMT='( '' FLOTTANT'',I4)') IK1
  91. IF (JNDI.GT.588 ) GO TO 118
  92. ELSEIF(INOOB2(IPLAC).EQ.'MOT ')THEN
  93. JF=IPCHAR(IPO+1)
  94. ID=IPCHAR(IPO)
  95. ILO=JF-ID
  96. PHRA(JNDI:JNDI+ILO-1)=ICHARA(ID:ID+ILO-1)
  97. PHRH(JNDI:JNDI+ 2 )='MOT'
  98. JNDI=JNDI + MAX(ILO,3) + 2
  99. C WRITE(6,FMT='( '' MOT '',I4)') ILO
  100. IF (JNDI.GT.588 ) GO TO 118
  101. ENDIF
  102. ENDIF
  103. 104 CONTINUE
  104. 118 CONTINUE
  105. if(nbesc.ne.0) SEGDES,IPILOC
  106. JNDI = JNDI -1
  107. IF ( .NOT. LODESL ) THEN
  108. DO 3546 I=1,JNDI,72
  109. IJ = MIN( JNDI,I * 72)
  110. WRITE(6,355) PHRA(I:IJ)
  111. WRITE(6,355) PHRH(I:IJ)
  112. 355 FORMAT ( 1X,A)
  113. 3546 CONTINUE
  114. ELSE
  115. JGN = JNDI
  116. JGM = 2
  117. SEGINI MLMOTS
  118. MOTS(1)(1:JGN) = PHRA(1:JGN)
  119. MOTS(2)(1:JGN) = PHRH(1:JGN)
  120. SEGDES MLMOTS
  121. IPCAR1 = MLMOTS
  122. END IF
  123. SEGSUP MTTE
  124. RETURN
  125. END
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  

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