diff --git a/Sujet.pdf b/Sujet.pdf index 1fb3da27f96d7299a31306178e5d0ef2b562e855..31c225b8c8101539583d0a20fd9e622ae5262ecb 100644 Binary files a/Sujet.pdf and b/Sujet.pdf differ diff --git a/src/cfg_liveness.ml b/src/cfg_liveness.ml index 1671af63478814178261144435ad31d5b85e53d1..194a291e76ca270951a3b881023f504b3355174e 100644 --- a/src/cfg_liveness.ml +++ b/src/cfg_liveness.ml @@ -8,13 +8,6 @@ let rec vars_in_expr (e: expr) = (* TODO *) Set.empty -(* [live_cfg_node node live_after] renvoie l'ensemble des variables vivantes - avant un nœud [node], étant donné l'ensemble [live_after] des variables - vivantes après ce nœud. *) -let live_cfg_node (node: cfg_node) (live_after: string Set.t) = - (* TODO *) - live_after - (* [live_after_node cfg n] renvoie l'ensemble des variables vivantes après le nœud [n] dans un CFG [cfg]. [lives] est l'état courant de l'analyse, c'est-à -dire une table dont les clés sont des identifiants de nœuds du CFG et @@ -23,6 +16,13 @@ let live_after_node cfg n (lives: (int, string Set.t) Hashtbl.t) : string Set.t (* TODO *) Set.empty +(* [live_cfg_node node live_after] renvoie l'ensemble des variables vivantes + avant un nœud [node], étant donné l'ensemble [live_after] des variables + vivantes après ce nœud. *) +let live_cfg_node (node: cfg_node) (live_after: string Set.t) = + (* TODO *) + live_after + (* [live_cfg_nodes cfg lives] effectue une itération du calcul de point fixe. Cette fonction met à jour l'état de l'analyse [lives] et renvoie un booléen