let assign_var (name : string) (state : string) (m1 : string) (name2 : string) (state2 : string) (m2 : string) : unit =
let (exist_match,sub) = get_match_message_story name state m1 name2 state2 m2 (!untyped_variable) in
if(exist_match<>(-1))
then (
if(sub<>[]) then assign_sub name2 sub
)
else (
let res = match_message name state m1 name2 state2 m2 in
if(res)then(
let (exist_match,sub) = get_match_message_story name state m1 name2 state2 m2 (!untyped_variable) in
if(exist_match<>(-1)) then assign_sub name2 sub
)
)