Merge branch 'jalon4' of gaufre.informatique.univ-paris-diderot.fr:Anri/compilation-m1-2023 into jalon4

This commit is contained in:
Nicolas PENELOUX 2023-12-18 17:27:58 +01:00
commit f13440c6f2

View file

@ -425,8 +425,7 @@ let translate (p : S.t) env =
(* Revoir les explications c'est pas clair *) (* Revoir les explications c'est pas clair *)
and apply env f arguments = and apply env f arguments =
(* D'abord, on traduit chaque arguments *) (* D'abord, on traduit chaque arguments *)
let trad_argument argument = expression env argument in let defs_args, trad_arguments = expressions env arguments in
let defs_args, trad_arguments = List.split (List.map trad_argument arguments) in
(* On créé un FunCall en fonction de f *) (* On créé un FunCall en fonction de f *)
match f with match f with
| S.Variable x when Dict.lookup x env.externals <> None -> | S.Variable x when Dict.lookup x env.externals <> None ->
@ -453,7 +452,7 @@ let translate (p : S.t) env =
in in
(* Enfin, on concatène toute les parties de la fonction (* Enfin, on concatène toute les parties de la fonction
(la traduction de tout les arguments) *) (la traduction de tout les arguments) *)
let defs = defs_func @ List.concat defs_args in let defs = defs_func @ defs_args in
(* Et on renvoie la def de la fonction ainsi que l'appel *) (* Et on renvoie la def de la fonction ainsi que l'appel *)
defs, defs_call defs, defs_call
in in