type visitor = {exp : Eva__.Eva_ast_types.exp_node Eva__.Eva_ast_types.tag ->
Eva__.Eva_ast_types.exp_node Eva__.Eva_ast_types.tag;lval : (Eva__.Eva_ast_types.lhost * Eva__.Eva_ast_types.offset)
Eva__.Eva_ast_types.tag ->
(Eva__.Eva_ast_types.lhost * Eva__.Eva_ast_types.offset)
Eva__.Eva_ast_types.tag;varinfo : Frama_c_kernel.Cil_types.varinfo -> Frama_c_kernel.Cil_types.varinfo;offset : Eva__.Eva_ast_types.offset -> Eva__.Eva_ast_types.offset;
}type rewriter = {rewrite_exp : visitor:visitor ->
Eva__.Eva_ast_types.exp_node Eva__.Eva_ast_types.tag ->
Eva__.Eva_ast_types.exp_node Eva__.Eva_ast_types.tag;rewrite_lval : visitor:visitor ->
(Eva__.Eva_ast_types.lhost * Eva__.Eva_ast_types.offset)
Eva__.Eva_ast_types.tag ->
(Eva__.Eva_ast_types.lhost * Eva__.Eva_ast_types.offset)
Eva__.Eva_ast_types.tag;rewrite_varinfo : visitor:visitor ->
Frama_c_kernel.Cil_types.varinfo ->
Frama_c_kernel.Cil_types.varinfo;rewrite_offset : visitor:visitor ->
Eva__.Eva_ast_types.offset ->
Eva__.Eva_ast_types.offset;
}val visit_exp :
rewriter ->
Eva__.Eva_ast_types.exp_node Eva__.Eva_ast_types.tag ->
Eva__.Eva_ast_types.exp_node Eva__.Eva_ast_types.tagval visit_lval :
rewriter ->
(Eva__.Eva_ast_types.lhost * Eva__.Eva_ast_types.offset)
Eva__.Eva_ast_types.tag ->
(Eva__.Eva_ast_types.lhost * Eva__.Eva_ast_types.offset)
Eva__.Eva_ast_types.tag