diff --git a/src/licDump.ml b/src/licDump.ml index 581a5fc113adbf1f1fde0f876ea6fb8336d8236e..e85cf158930a4d8927aaa588eecf3fcdca447477 100644 --- a/src/licDump.ml +++ b/src/licDump.ml @@ -47,9 +47,12 @@ let rec is_a_tuple (e:Lic.val_exp) : bool = (******************************************************************************) let string_of_ident x = - if global_opt.no_prefix + if global_opt.kcg then + Lv6Id.no_pack_string_of_long x + else + if global_opt.no_prefix then Lv6Id.no_pack_string_of_long x - else Lv6Id.string_of_long2 x + else Lv6Id.string_of_long2 x @@ -359,7 +362,7 @@ and (string_of_by_pos_op_eff: Lic.by_pos_op srcflagged -> Lic.val_exp list -> st let tuple_square vel = "[" ^ (String.concat ", " (List.map string_of_val_exp_eff vel)) ^ "]" in - let str = + let str = match posop.it,vel with | CONST c,_ -> string_of_const_eff c | CALL ({it=("Lustre","not"),[]}), [ve1] @@ -369,10 +372,13 @@ and (string_of_by_pos_op_eff: Lic.by_pos_op srcflagged -> Lic.val_exp list -> st | CALL ({it=("Lustre","diese"),[]}), [ve1] | PREDEF_CALL ({it=("Lustre","diese"),[]}), [ve1] -> - if global_opt.lv4 && array_of_size_one ve1 + if (global_opt.lv4) && array_of_size_one ve1 then sov ve1 (* lv4 does no accept to apply # on One var only! *) - else - (("#") ^ (tuple_par [ve1])) + (*else if global_opt.kcg then + ("#" ^ (dump_array_no_square ve1)) *) + (* do later *) + else + ("#" ^ (tuple_par [ve1])) | CALL ({it=("Lustre","nor"),[]}), [ve1] | PREDEF_CALL ({it=("Lustre","nor"),[]}), [ve1] -> diff --git a/src/lv6MainArgs.ml b/src/lv6MainArgs.ml index 37d6fa9cef10b120a7b2345a62b446f23715a5bf..2e752082f8fc3fdb8f8be706f80862366b53e969 100644 --- a/src/lv6MainArgs.ml +++ b/src/lv6MainArgs.ml @@ -337,7 +337,10 @@ let mkoptab (opt:t) : unit = ( ; mkopt opt ~doc_level:Dev ["-kcg"; "--generate-scade-lustre"] - (Arg.Unit (fun _ -> global_opt.kcg <- true)) + (Arg.Unit (fun _ -> + opt.expand_arrays <- true; (* XXX remove me ! *) + global_opt.kcg <- true + )) [" Generate lustre code that is compatible with the lustre of scade"] ; mkopt opt