]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/grafite/grafiteAstPp.ml
EXPERIMENTAL COMMIT (part B, by CSC :-):
[helm.git] / helm / software / components / grafite / grafiteAstPp.ml
index cdf90c5b989883ff54a2e98d6a4c7e6c527901e8..98d33464b63405083c89664905c91248cfae315e 100644 (file)
@@ -101,7 +101,24 @@ let pp_ntactic ~map_unicode_to_tex = function
   | NId _ -> "nid"
   | NIntro (_,n) -> "#" ^ n
   | NRewrite (_,dir,n,where) -> "nrewrite" ^ assert false
-  | NReduce _ | NGeneralize _ | NLetIn _ | NAssert _ | NAuto _ -> assert false
+  | NAuto (_,(l,flgs)) ->
+      "nauto" ^ 
+        (if l <> [] then (" by " ^
+         (String.concat "," (List.map CicNotationPp.pp_term l))) else "") ^
+        String.concat " " (List.map (fun a,b -> a ^ "=" ^ b) flgs)
+  | NReduce _ | NGeneralize _ | NLetIn _ | NAssert _ -> assert false
+  | NDot _ -> "##."
+  | NSemicolon _ -> "##;"
+  | NBranch _ -> "##["
+  | NShift _ -> "##|"
+  | NPos (_, l) -> "##" ^String.concat "," (List.map string_of_int l)^ ":"
+  | NWildcard _ -> "##*:"
+  | NMerge _ -> "##]"
+  | NFocus (_,l) -> 
+      Printf.sprintf "##focus %s" 
+        (String.concat " " (List.map string_of_int l))
+  | NUnfocus _ -> "##unfocus"
+  | NSkip _ -> "##skip"
 ;;
 
 let rec pp_tactic ~map_unicode_to_tex ~term_pp ~lazy_term_pp =
@@ -282,13 +299,14 @@ let pp_macro ~term_pp ~lazy_term_pp =
      let pp_param = function
         | IPPrefix prefix -> "prefix = \"" ^ prefix ^ "\""
        | IPAs flavour  -> flavour_pp flavour
+       | IPCoercions   -> "coercions"
+       | IPDebug debug -> "debug = " ^ string_of_int debug
        | IPProcedural  -> "procedural"
        | IPNoDefaults  -> "nodefaults"
        | IPDepth depth -> "depth = " ^ string_of_int depth
        | IPLevel level -> "level = " ^ string_of_int level
        | IPComments    -> "comments"
-       | IPCoercions   -> "coercions"
-       | IPDebug debug -> "debug = " ^ string_of_int debug
+       | IPCR          -> "cr"
      in
      let s = String.concat " " (List.map pp_param l) in
      if s = "" then s else " " ^ s
@@ -362,9 +380,9 @@ let pp_command ~term_pp ~obj_pp = function
        | None -> "")
   | Print (_,s) -> "print " ^ s
   | Set (_, name, value) -> Printf.sprintf "set \"%s\" \"%s\"" name value
-  | NObj (_,o) -> "not supported"
+  | NObj (_,_)
   | NUnivConstraint (_) -> "not supported"
-  | NQed (_) -> "not supported"
+  | NQed (_) -> "nqed"
   | Pump (_) -> "not supported"
 
 let pp_punctuation_tactical =
@@ -392,15 +410,11 @@ let pp_executable ~map_unicode_to_tex ~term_pp ~lazy_term_pp ~obj_pp =
       ^ pp_punctuation_tactical punct
   | Tactic (_, None, punct) ->
      pp_punctuation_tactical punct
-  | NTactic (_,tac, punct) ->
-     pp_ntactic ~map_unicode_to_tex tac
-     ^ pp_punctuation_tactical punct
+  | NTactic (_,tacl) ->
+      String.concat " " (List.map (pp_ntactic ~map_unicode_to_tex) tacl)
   | NonPunctuationTactical (_, tac, punct) ->
      pp_non_punctuation_tactical tac
      ^ pp_punctuation_tactical punct
-  | NNonPunctuationTactical (_, tac, punct) ->
-     pp_non_punctuation_tactical tac
-     ^ pp_punctuation_tactical punct
   | Command (_, cmd) -> pp_command ~term_pp ~obj_pp cmd ^ "."
                       
 let pp_comment ~map_unicode_to_tex ~term_pp ~lazy_term_pp ~obj_pp =