X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fgrafite%2FgrafiteAstPp.ml;h=8e23e56b5357b6e2664e5548e95d5f3660d022d6;hb=04e07924ddd8d0a95e01103103bd8c2a3e79c6c5;hp=ccb061cd89efa61e2b406e43b3798d585ee16ddb;hpb=3b8d99d5fdb79a5d979a8e200a4a4307fe362009;p=helm.git diff --git a/helm/software/components/grafite/grafiteAstPp.ml b/helm/software/components/grafite/grafiteAstPp.ml index ccb061cd8..8e23e56b5 100644 --- a/helm/software/components/grafite/grafiteAstPp.ml +++ b/helm/software/components/grafite/grafiteAstPp.ml @@ -248,7 +248,7 @@ let pp_arg ~term_pp arg = else "(" ^ s ^ ")" -let pp_macro ~term_pp = +let pp_macro ~term_pp ~lazy_term_pp = let term_pp = pp_arg ~term_pp in let style_pp = function | Declarative -> "" @@ -258,6 +258,18 @@ let pp_macro ~term_pp = let prefix_pp prefix = if prefix = "" then "" else Printf.sprintf " \"%s\"" prefix in + let flavour_pp = function + | None -> "" + | Some `Definition -> " as definition" + | Some `MutualDefinition -> " as mutual" + | Some `Fact -> " as fact" + | Some `Lemma -> " as lemma" + | Some `Remark -> " as remark" + | Some `Theorem -> " as theorem" + | Some `Variant -> " as variant" + | Some `Axiom -> " as axiom" + in + let pp_reduction_kind = pp_reduction_kind ~term_pp:lazy_term_pp in function (* Whelp *) | WInstance (_, term) -> "whelp instance " ^ term_pp term @@ -266,12 +278,14 @@ let pp_macro ~term_pp = | WElim (_, t) -> "whelp elim " ^ term_pp t | WMatch (_, term) -> "whelp match " ^ term_pp term (* real macros *) + | Eval (_, kind, term) -> + Printf.sprintf "eval %s on %s" (pp_reduction_kind kind) (term_pp term) | Check (_, term) -> Printf.sprintf "check %s" (term_pp term) | Hint (_, true) -> "hint rewrite" | Hint (_, false) -> "hint" | AutoInteractive (_,params) -> "auto " ^ pp_auto_params ~term_pp params - | Inline (_, style, suri, prefix) -> - Printf.sprintf "inline %s\"%s\"%s" (style_pp style) suri (prefix_pp prefix) + | Inline (_, style, suri, prefix, flavour) -> + Printf.sprintf "inline %s\"%s\"%s%s" (style_pp style) suri (prefix_pp prefix) (flavour_pp flavour) let pp_associativity = function | Gramext.LeftA -> "left associative" @@ -336,7 +350,7 @@ let pp_non_punctuation_tactical ~term_pp ~lazy_term_pp = let pp_executable ~map_unicode_to_tex ~term_pp ~lazy_term_pp ~obj_pp = function - | Macro (_, macro) -> pp_macro ~term_pp macro ^ "." + | Macro (_, macro) -> pp_macro ~term_pp ~lazy_term_pp macro ^ "." | Tactic (_, Some tac, punct) -> pp_tactic ~map_unicode_to_tex ~lazy_term_pp ~term_pp tac ^ pp_punctuation_tactical ~lazy_term_pp ~term_pp punct