let upd_one_state trans_l statenum loc computedIsCrossTr allowedActiveSt=
let expr_l=ref [] in
List.iter
(fun tr ->
if (statenum=tr.stop.nums) && (computedIsCrossTr.(tr.numt)) && allowedActiveSt.(statenum) then
(
expr_l :=
(new_exp ~loc (Lval(mk_int_offseted_array_lval curTrans tr.numt))
::!expr_l)
)
)
trans_l;
let expr =
if !expr_l=[] then mk_int_exp 0
else mk_expr_disjunction !expr_l
in
let offset = Cil.new_exp ~loc (Const (CEnum (find_enum statenum)))
in
Cil_types.Set(
(mk_offseted_array_lval curState offset),
expr,
loc
)