]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/cic_transformations/tacticAstPp.ml
removed debug prerr_endline
[helm.git] / helm / ocaml / cic_transformations / tacticAstPp.ml
index f781ea3d763b33a6570989eeee5bb825b79fb0c7..eebc73c89c1e1cdb5b01a5ff32c2a02590573af2 100644 (file)
@@ -29,6 +29,7 @@ open TacticAst
 
 let tactical_terminator = "."
 let tactic_terminator = tactical_terminator
+let command_terminator = tactical_terminator
 let tactical_separator = ";"
 
 let pp_term_ast term = CicAstPp.pp_term term
@@ -112,6 +113,13 @@ let pp_search_kind = function
   | `Elim -> "elim"
 
 let pp_macro pp_term = function 
+  (* Whelp *)
+  | WInstance (_, term) -> "whelp instance " ^ pp_term term
+  | WHint (_, t) -> "whelp hint " ^ pp_term t
+  | WLocate (_, s) -> "whelp locate " ^ s
+  | WElim (_, t) -> "whelp elim " ^ pp_term t
+  | WMatch (_, term) -> "whelp match " ^ pp_term term
+  (* real macros *)
   | Abort _ -> "Abort"
   | Check (_, term) -> sprintf "Check %s" (pp_term term)
   | Hint _ -> "hint"
@@ -138,7 +146,7 @@ let pp_alias = function
       sprintf "alias num (instance %d) = \"%s\"" instance desc
   
 let pp_command = function
-  | Qed _ -> "Qed"
+  | Qed _ -> "qed"
   | Set (_, name, value) -> sprintf "Set \"%s\" \"%s\"" name value
   | Inductive (_, params, types) ->
       let pp_params = function
@@ -197,4 +205,17 @@ and pp_tacticals tacs =
 
 let pp_tactical tac = pp_tactical tac ^ tactical_terminator
 let pp_tactic tac = pp_tactic tac ^ tactic_terminator
-
+let pp_command tac = pp_command tac ^ command_terminator
+
+let pp_executable = function
+  | Macro (_,x) -> pp_macro_ast x
+  | Tactical (_,x) -> pp_tactical x
+  | Command (_,x) -> pp_command x
+                      
+let pp_comment = function
+  | Note (_,str) -> sprintf "(* %s *)" str
+  | Code (_,code) -> sprintf "(** %s. **)" (pp_executable code)
+
+let pp_statement = function
+  | Executable (_, ex) -> pp_executable ex
+  | Comment (_, c) -> pp_comment c