]> 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 26c73eb2fb3931b659de16e7e9398b4481f83811..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 =
@@ -363,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 =
@@ -393,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 =