L'expansion consiste essentiellement à construire 3 tables globales indexées par des ident target :
Table des variables (support) : elle contient les entrées/sorties et les locales (cf. exist) remontées au top via un nommage unique.
Table des alias : associe à des idents cible des expressions algébriques. Les idents cible correpondent au instances de macros utilisées dans le corps du node.
Table des traces : à chaque trace nommée est associée une expression de trace expansée.
Table des fonctions externes utilisees, pour + tard
Les paramètres de l'expansion sont : -------------------------------------------------------
Le CheckEnv.t qui résulte du type/binding check. Il permet de retrouver le type effectif (sémantique) de toute expression source et l'info associée à toute instance d'identificateur. -------------------------------------------------------
Le code source (type Syntaxe.package) -------------------------------------------------------
Le node "main" (string) -------------------------------------------------------
Le résultat de l'expansion consiste en 3 tables indexées par des idents cibles (CoIdent.t) :