X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fcontent_pres%2FtermContentPres.ml;h=0f51e36a9acf9fb2241017a0a12580bdccb5a72d;hb=8f2b388ed93eca7de9a9fe70eaf2e0ab2588e6b7;hp=110c78e46e43820fc4ae280e80090f9b35c40544;hpb=e615e0be01363fb511e06fe1752f2869518e83d7;p=helm.git diff --git a/helm/software/components/content_pres/termContentPres.ml b/helm/software/components/content_pres/termContentPres.ml index 110c78e46..0f51e36a9 100644 --- a/helm/software/components/content_pres/termContentPres.ml +++ b/helm/software/components/content_pres/termContentPres.ml @@ -151,8 +151,11 @@ let pp_ast0 t k = space ] in - let mk_case_pattern (head, href, vars) = - hbox true false (ident_w_href href head :: List.map aux_var vars) + let mk_case_pattern = + function + Ast.Pattern (head, href, vars) -> + hbox true false (ident_w_href href head :: List.map aux_var vars) + | Ast.Wildcard -> builtin_symbol "_" in let patterns' = List.map @@ -201,7 +204,8 @@ let pp_ast0 t k = hvbox false true [ keyword "let"; space; hvbox false true [ - aux_var var; space; builtin_symbol "\\def"; break; top_pos (k s) ]; + aux_var var; space; + builtin_symbol "\\def"; break; top_pos (k s) ]; break; space; keyword "in" ]; break; k t ]) @@ -465,8 +469,9 @@ let fill_pos_info l1_pattern = l1_pattern in aux true l1_pattern *) +let counter = ref ~-1 +let reset () = counter := ~-1;; let fresh_id = - let counter = ref ~-1 in fun () -> incr counter; !counter @@ -546,8 +551,8 @@ let instantiate_level2 env term = | Ast.Case (term, indty, outty_opt, patterns) -> Ast.Case (aux env term, indty, aux_opt env outty_opt, List.map (aux_branch env) patterns) - | Ast.LetIn (var, t1, t2) -> - Ast.LetIn (aux_capture_var env var, aux env t1, aux env t2) + | Ast.LetIn (var, t1, t3) -> + Ast.LetIn (aux_capture_var env var, aux env t1, aux env t3) | Ast.LetRec (kind, definitions, body) -> Ast.LetRec (kind, List.map (aux_definition env) definitions, aux env body) @@ -575,8 +580,11 @@ let instantiate_level2 env term = and aux_capture_var env (name, ty_opt) = (aux env name, aux_opt env ty_opt) and aux_branch env (pattern, term) = (aux_pattern env pattern, aux env term) - and aux_pattern env (head, hrefs, vars) = - (head, hrefs, List.map (aux_capture_var env) vars) + and aux_pattern env = + function + Ast.Pattern (head, hrefs, vars) -> + Ast.Pattern (head, hrefs, List.map (aux_capture_var env) vars) + | Ast.Wildcard -> Ast.Wildcard and aux_definition env (params, var, term, i) = (List.map (aux_capture_var env) params, aux_capture_var env var, aux env term, i) and aux_substs env substs = @@ -666,3 +674,5 @@ let instantiate_level2 env term = let _ = load_patterns21 [] + +