Changes between Version 11 and Version 12 of CaoCourseTme4


Ignore:
Timestamp:
Mar 7, 2007, 2:01:35 PM (18 years ago)
Author:
franck
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • CaoCourseTme4

    v11 v12  
    5555             void* pointer;
    5656             int  index;
    57              }
     57}
    5858}}}
    5959 * Pour permettre aux différentes règles du parser de communiquer entre elles, il faut également définir le type de la variable associée à chacune des règles du parser qui renvoient une valeur.  On rappelle que la valeur associée à un token dans une règle est stockée dans la variable {{{$i}}}  (où i est l'index du token dans le membre de droite de la règle), et que la valeur du token défini par la règle  (c'est à dire la valeur du membre de gauche) est stockée dans la variable {{{$$}}}. Modifier le fichier ''vst.y'' pour définir le type des token associés aux règles du parser en utilisant la construction
     
    104104permet de construire des ensembles d'objets de même type, sous forme de listes chaînées.
    105105{{{
    106  typedef struct chain {
    107                  struct chain     *NEXT;
    108                  void             *DATA;
    109  } chain_list;
     106typedef struct chain {
     107                struct chain     *NEXT;
     108                void             *DATA;
     109} chain_list;
    110110}}}
    111111
    112112Les différentes fonctions dont vous aurez besoin sont:
    113  * {{{mbkenv}}} pour initialiser {{{Alliance}}}.
    114  * {{{addlofig() }}} pour créer l'{{{entity}}} et les {{{component}}}s;
    115  * {{{getlofig() }}} qui renvoie un pointeur vers une figure désignée par son nom;
    116  * {{{addlocon() }}} pour créer les {{{port}}}, aussi bien dans les figures que dans les instances;
    117  * {{{addlosig() }}} pour créer les {{{signal}}}s;
    118  * {{{addloins() }}} pour créer les {{{instance}}}s;
    119  * {{{addchain() }}} pour créer les bipointeurs;
    120  * {{{reverse() }}} pour «renverser» l'ordre des éléments dans une liste de type chain;
     113 * {{{mbkenv()    }}} pour initialiser {{{Alliance}}}.
     114 * {{{addlofig()  }}} pour créer l'{{{entity}}} et les {{{component}}}s;
     115 * {{{getlofig()  }}} qui renvoie un pointeur vers une figure désignée par son nom;
     116 * {{{addlocon()  }}} pour créer les {{{port}}}, aussi bien dans les figures que dans les instances;
     117 * {{{addlosig()  }}} pour créer les {{{signal}}}s;
     118 * {{{addloins()  }}} pour créer les {{{instance}}}s;
     119 * {{{addchain()  }}} pour créer les bipointeurs;
     120 * {{{reverse()   }}} pour «renverser» l'ordre des éléments dans une liste de type chain;
    121121 * {{{freechain() }}} pour libérer une liste créée par {{{addchain}}};
    122122 * {{{namealloc() }}} pour insérer tous les noms dans un dictionnaire.