Changes between Version 11 and Version 12 of CaoCourseTme4
- Timestamp:
- Mar 7, 2007, 2:01:35 PM (18 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
CaoCourseTme4
v11 v12 55 55 void* pointer; 56 56 int index; 57 57 } 58 58 }}} 59 59 * 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 … … 104 104 permet de construire des ensembles d'objets de même type, sous forme de listes chaînées. 105 105 {{{ 106 107 108 109 106 typedef struct chain { 107 struct chain *NEXT; 108 void *DATA; 109 } chain_list; 110 110 }}} 111 111 112 112 Les 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; 121 121 * {{{freechain() }}} pour libérer une liste créée par {{{addchain}}}; 122 122 * {{{namealloc() }}} pour insérer tous les noms dans un dictionnaire.