X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matitaB%2Fcomponents%2Fcontent_pres%2Fcontent2presMatcher.ml;h=0020f8170cdcb836d5ccb0cfd43a4706f00fec4b;hb=647b419e96770d90a82d7a9e5e8843566a9f93ee;hp=8b613a524775a32bab105d8c59bc126e1d5c676a;hpb=cacbe3c6493ddce76c4c13379ade271d8dd172e8;p=helm.git diff --git a/matitaB/components/content_pres/content2presMatcher.ml b/matitaB/components/content_pres/content2presMatcher.ml index 8b613a524..0020f8170 100644 --- a/matitaB/components/content_pres/content2presMatcher.ml +++ b/matitaB/components/content_pres/content2presMatcher.ml @@ -40,6 +40,7 @@ let get_tag term0 = in let rec aux t = NotationUtil.visit_ast + ~clear_interpretation:true ~map_xref_option:(fun _ -> None) ~map_case_indty:(fun _ -> None) ~map_case_outtype:(fun _ _ -> None) @@ -70,8 +71,9 @@ struct (* Debugging only *) (*CSC: new NCicPp.status is the best I can do now *) - let string_of_term = NotationPp.pp_term (new NCicPp.status) - let string_of_pattern = NotationPp.pp_term (new NCicPp.status) + (*WR: can't guess a user id so I must use None *) + let string_of_term = NotationPp.pp_term (new NCicPp.status None) + let string_of_pattern = NotationPp.pp_term (new NCicPp.status None) end module M = PatternMatcher.Matcher (Pattern21) @@ -103,7 +105,7 @@ struct name, (Env.TermType l, Env.TermValue t) | Ast.Variable (Ast.NumVar name), (Ast.Num (s, _)) -> name, (Env.NumType, Env.NumValue s) - | Ast.Variable (Ast.IdentVar name), (Ast.Ident (s, None)) -> + | Ast.Variable (Ast.IdentVar name), (Ast.Ident (s, `Ambiguous)) -> name, (Env.StringType, Env.StringValue (Env.Ident s)) | _ -> assert false) pl tl @@ -181,19 +183,19 @@ struct let env'' = Env.remove_name env' acc_name in match aux acc with | None -> aux_base term - | Some (base_env, ctors', rec_envl) -> - let ctors'' = ctors' @ ctors in + | Some (base_env, ctors_acc, rec_envl) -> + let ctors'' = ctors' @ ctors_acc (* @ ctors *)in Some (base_env, ctors'',env'' :: rec_envl) end in match aux term with | None -> None - | Some (base_env, ctors, rec_envl) -> + | Some (base_env, ctors_term, rec_envl) -> let env' = base_env @ Env.coalesce_env p_rec_decls rec_envl @ env (* @ env LUCA!!! *) in - Some (env', ctors)) + Some (env', ctors_term @ ctors)) | Ast.Default (p_some, p_none) -> (* p_none can't bound names *) let p_some_decls = Env.declarations_of_term p_some in