Download @deslis.procedur

Back to the list

   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 :  

© Cast3M 2003 - All rights reserved.
Disclaimer