Add missing case for ifthenelse
This commit is contained in:
parent
ee767064b1
commit
dab569d8ad
|
@ -163,6 +163,16 @@ let rec translate_eq map { Minils.eq_lhs = pat; Minils.eq_rhs = e }
|
||||||
(Minils.mk_equation pat e))
|
(Minils.mk_equation pat e))
|
||||||
p_list act_list (m, si, j, s)
|
p_list act_list (m, si, j, s)
|
||||||
|
|
||||||
|
| pat, Minils.Eapp({ Minils.a_op = Minils.Eifthenelse }, [e1;e2;e3], _) ->
|
||||||
|
let cond = translate map (m, si, j, s) e1 in
|
||||||
|
let m, si, j, true_act = translate_eq map
|
||||||
|
(Minils.mk_equation pat e2) (m, si, j, s) in
|
||||||
|
let m, si, j, false_act = translate_eq map
|
||||||
|
(Minils.mk_equation pat e3) (m, si, j, s) in
|
||||||
|
let action = Acase (cond, [Name "true", true_act;
|
||||||
|
Name "false", false_act]) in
|
||||||
|
m, si, j, (control map ck action) :: s
|
||||||
|
|
||||||
| Minils.Evarpat x,
|
| Minils.Evarpat x,
|
||||||
Minils.Eapp ({ Minils.a_op = Minils.Efield_update;
|
Minils.Eapp ({ Minils.a_op = Minils.Efield_update;
|
||||||
Minils.a_params = [{ se_desc = Sconstructor f }] },
|
Minils.a_params = [{ se_desc = Sconstructor f }] },
|
||||||
|
|
Loading…
Reference in a new issue