Télécharger @deslis.procedur

Retour à la liste

Numérotation des lignes :

  1. * @DESLIS PROCEDUR MAUGIS 06/07/05 21:15:01 5480
  2. * @DESLIS PROCEDUR MAUGIS 04/10/08 21:16:18 4934
  3. 'DEBP' @DESLIS LISTREE/'LISTREEL' LISTENT/'LISTENTI' ;
  4. * MT1/'MOT' LT1/'MOT' MT2/'MOT' LT2/'MOT' MT3/'MOT'
  5. * LT3/'MOT' MT4/'MOT' XBOR1/'FLOTTANT' XBOR2/'FLOTTANT' MT5/'MOT'
  6. * YBOR1/'FLOTTANT' YBOR2/'FLOTTANT' MOT#/'MOT' ;
  7. ************************************************************************
  8. *
  9. * Trace des dessins pour les évolutions contenus dans la table TBR
  10. * construite par TRACHIS ou TRACHIT
  11. *
  12. * LISTREE : liste de réels
  13. * LISTENT : liste d'entiers
  14. * MOT# : mot, option simple de dessin :
  15. * 'LOGX' 'LOGY' 'GRIL' 'CARR' 'DATE' 'LOGO' 'AXES' 'NCLK'
  16. * MT1 MT2 MT3 : mots-clefs 'TITR' 'TITX' 'TITY' suivis des chaînes de
  17. * caractères correspondantes LT1 LT2 LT3
  18. * MT4 MT5 : mots-clefs 'XBOR' 'YBOR' suivis respectivement de
  19. * XBOR1 XBOR2 YBOR1 YBOR2 : FLOTTANTS valant les bornes d'abscisse et
  20. * d'ordonnée respectivement
  21. *
  22. * La liste doit être donnée en premier ;
  23. * les autres options avec mot-clef viennent ensuite dans un ordre quelconque.
  24. * On ignore la donnée du mot-clef 'MIMA' puisque c'est l'option par défaut
  25. *
  26. ************************************************************************
  27.  
  28. * Récupération de l'objet à tracer
  29. * --------------------------------
  30.  
  31. 'SI' ((('NON' ('EXISTE' LISTREE)) 'ET' ('NON' ('EXISTE' LISTENT)))
  32. 'OU' (('EXISTE' LISTREE) 'ET' ('EXISTE' LISTENT)) );
  33. 'ERREUR' 'Donnez une liste de reels ou d entiers en entree' ;
  34. 'FINSI' ;
  35. 'SI' ('EXISTE' LISTREE) ;
  36. LIS1 = LISTREE ;
  37. 'SINON' ;
  38. LIS1 = 'FLOTTANT' LISTENT ;
  39. 'FINSI' ;
  40.  
  41. nn = 'DIME' LIS1 ;
  42. 'SI' (nn '<EG' 1) ;
  43. 'LISTE' lis1 ;
  44. 'ERREUR'
  45. 'La liste donnee doit avoir au moins 2 valeurs pour etre tracee';
  46. 'FINSI' ;
  47. LIX = 'PROG' 1. 'PAS' 1. nn ;
  48. ttx = 'MOT' 'Ordre' ;
  49. tty = 'MOT' 'Valeur' ;
  50. ev1 = 'EVOL' 'MANU' ttx lix tty lis1 ;
  51.  
  52. * Récupération des options de dessin
  53. * ----------------------------------
  54. * et construction de la table des options
  55.  
  56. *--Valeurs par défaut :
  57. TTR = 'CHAINE' 'Evolution des valeurs de la ' ('TYPE' LIS1) ;
  58.  
  59. * table des options LOP
  60. LOP = 'TABLE' ;
  61. IOP = 1 ;
  62.  
  63. * On lit une par une les données précisées par des mots-clefs
  64. 'REPETER' bcl ;
  65. 'ARGUMENT' mot1/'MOT' ;
  66. 'SI' ('NON' ('EXISTE' MOT1)) ;
  67. 'QUITTER' bcl ;
  68. 'FINSI' ;
  69.  
  70. * options simples de DESSIN
  71. 'SI' ( ('EGA' MOT1 'LOGX') 'OU' ('EGA' MOT1 'LOGY')
  72. 'OU' ('EGA' MOT1 'GRIL') 'OU' ('EGA' MOT1 'CARR')
  73. 'OU' ('EGA' MOT1 'DATE') 'OU' ('EGA' MOT1 'LOGO')
  74. 'OU' ('EGA' MOT1 'SEPA') 'OU' ('EGA' MOT1 'AXES')
  75. 'OU' ('EGA' MOT1 'NCLK') 'OU' ('EGA' MOT1 'MIMA') ) ;
  76. LOP.IOP = 'MOT' MOT1 ;
  77. IOP = IOP + 1 ;
  78. 'ITERER' bcl ;
  79. 'FINSI' ;
  80.  
  81. * options avec arguments ou spécifiques
  82. 'SI' (('EGA' MOT1 'TITR') 'OU' ('EGA' MOT1 'TITRE')) ;
  83. 'ARGUMENT' TTR*'MOT' ;
  84. LOP.IOP = 'MOT' 'TITR' ;
  85. LOP.(IOP+1) = 'MOT' TTR ;
  86. IOP = IOP + 2 ;
  87. 'ITERER' bcl ;
  88. 'FINSI' ;
  89. 'SI' ('EGA' MOT1 'TITX') ;
  90. 'ARGUMENT' TTX*'MOT' ;
  91. LOP.IOP = 'MOT' 'TITX' ;
  92. LOP.(IOP+1) = 'MOT' TTX ;
  93. IOP = IOP + 2 ;
  94. 'ITERER' bcl ;
  95. 'FINSI' ;
  96. 'SI' ('EGA' MOT1 'TITY') ;
  97. 'ARGUMENT' TTY*'MOT' ;
  98. LOP.IOP = 'MOT' 'TITY' ;
  99. LOP.(IOP+1) = 'MOT' TTY ;
  100. IOP = IOP + 2 ;
  101. 'ITERER' bcl ;
  102. 'FINSI' ;
  103. 'SI' ('EGA' MOT1 'XBOR') ;
  104. 'ARGUMENT' XBOR1*'FLOTTANT' XBOR2*'FLOTTANT' ;
  105. LOP.IOP = 'MOT' 'XBOR' ;
  106. LOP.(IOP+1) = 'MINIMUM' ('PROG' XBOR1 XBOR2) ;
  107. LOP.(IOP+2) = 'MAXIMUM' ('PROG' XBOR1 XBOR2) ;
  108. IOP = IOP + 3 ;
  109. 'ITERER' bcl ;
  110. 'FINSI' ;
  111. 'SI' ('EGA' MOT1 'YBOR') ;
  112. 'ARGUMENT' YBOR1*'FLOTTANT' YBOR2*'FLOTTANT' ;
  113. LOP.IOP = 'MOT' 'YBOR' ;
  114. LOP.(IOP+1) = 'MINIMUM' ('PROG' YBOR1 YBOR2) ;
  115. LOP.(IOP+2) = 'MAXIMUM' ('PROG' YBOR1 YBOR2) ;
  116. IOP = IOP + 3 ;
  117. 'ITERER' bcl ;
  118. 'FINSI' ;
  119.  
  120. * donnée non identifiée
  121. 'ERREUR' ('CHAINE' 'Dans les donnees de @DESLIS, mot-clef '
  122. mot1 ' inconnu.');
  123. 'FIN' bcl ;
  124.  
  125. * on complète les options jusqu'au nb maximal par des MIMA
  126. NOP = IOP - 1 ;
  127. NOPMAX = 40 ;
  128. 'SI' (NOP < NOPMAX) ;
  129. NB2 = NOPMAX - NOP ;
  130. 'REPETER' BLOC4 NB2 ;
  131. LOP.IOP = 'MOT' 'MIMA' ;
  132. IOP = IOP + 1 ;
  133. 'FIN' BLOC4 ;
  134. 'FINSI' ;
  135.  
  136. * Desszin :
  137. * --------
  138. * construction de la commande
  139. 'DESSIN' EV1 'XBOR' 1. nn 'TITRE' ttr
  140. LOP.1 LOP.2 LOP.3 LOP.4 LOP.5 LOP.6 LOP.7 LOP.8
  141. LOP.9 LOP.10 LOP.11 LOP.12 LOP.13 LOP.14 LOP.15 LOP.16
  142. LOP.17 LOP.18 LOP.19 LOP.20 LOP.21 LOP.22 LOP.23 LOP.24
  143. LOP.25 LOP.26 LOP.27 LOP.28 LOP.29 LOP.30 LOP.31 LOP.32
  144. LOP.33 LOP.34 LOP.35 LOP.36 LOP.37 LOP.38 LOP.39 LOP.40 ;
  145.  
  146. 'FINP';
  147.  
  148.  
  149.  
  150.  

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