]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/cic_transformations/tacticAstPp.ml
removed traliling dot in command pretty printer, now it's added by the
[helm.git] / helm / ocaml / cic_transformations / tacticAstPp.ml
index 6627c46133de587afaf8ddaabde961b5378237bf..5c96b64d3fa602a4a71c0438397b33183f8ecfff 100644 (file)
@@ -77,14 +77,41 @@ let rec pp_tactic = function
   | Symmetry -> "symmetry"
   | Transitivity term -> "transitivity " ^ pp_term term
 
+let pp_flavour = function
+  | `Definition -> "Definition"
+  | `Fact -> "Fact"
+  | `Goal -> "Goal"
+  | `Lemma -> "Lemma"
+  | `Remark -> "Remark"
+  | `Theorem -> "Theorem"
+
+let pp_command = function
+  | Abort -> "Abort"
+  | Check term -> sprintf "Check %s" (CicAstPp.pp_term term)
+  | Proof -> "Proof"
+  | Qed name ->
+      (match name with None -> "Qed" | Some name -> sprintf "Save %s" name)
+  | Quit -> "Quit"
+  | Theorem (flavour, name, typ, body) ->
+      sprintf "%s %s: %s %s"
+        (pp_flavour flavour)
+        (match name with None -> "" | Some name -> name)
+        (CicAstPp.pp_term typ)
+        (match body with
+        | None -> ""
+        | Some body -> "\\def " ^ CicAstPp.pp_term body)
+
 let rec pp_tactical = function
   | LocatedTactical (loc, tac) -> pp_tactical tac
+
+  | Tactic tac -> pp_tactic tac
+  | Command cmd -> pp_command cmd
+
   | Fail -> "fail"
   | Do (count, tac) -> sprintf "do %d %s" count (pp_tactical tac)
   | IdTac -> "id"
   | Repeat tac -> "repeat " ^ pp_tactical tac
   | Seq tacs -> pp_tacticals tacs
-  | Tactic tac -> pp_tactic tac
   | Then (tac, tacs) -> sprintf "%s [%s]" (pp_tactical tac) (pp_tacticals tacs)
   | Tries tacs -> sprintf "tries [%s]" (pp_tacticals tacs)
   | Try tac -> "try " ^ pp_tactical tac