]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/grafite/grafiteAstPp.ml
tacticals are really tactics now, they have an AST at the same level of
[helm.git] / helm / software / components / grafite / grafiteAstPp.ml
index ba9f87abd2bd6c777efd8894a7ef4d32179db7b6..98d33464b63405083c89664905c91248cfae315e 100644 (file)
@@ -107,6 +107,18 @@ let pp_ntactic ~map_unicode_to_tex = function
          (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 =
@@ -398,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 =