| `Auto params -> pp_auto_params ~term_pp params
;;
+let pp_ntactic ~map_unicode_to_tex = function
+ | NApply (_,t) -> "napply " ^ CicNotationPp.pp_term t
+;;
+
let rec pp_tactic ~map_unicode_to_tex ~term_pp ~lazy_term_pp =
let pp_terms = pp_terms ~term_pp in
let pp_tactics = pp_tactics ~map_unicode_to_tex ~term_pp ~lazy_term_pp in
| None -> "")
| Print (_,s) -> "print " ^ s
| Set (_, name, value) -> Printf.sprintf "set \"%s\" \"%s\"" name value
+ | NObj (_,o) -> "not supported"
-let pp_punctuation_tactical ~term_pp ~lazy_term_pp =
+let pp_punctuation_tactical =
function
| Dot _ -> "."
| Semicolon _ -> ";"
| Wildcard _ -> "*:"
| Merge _ -> "]"
-let pp_non_punctuation_tactical ~term_pp ~lazy_term_pp =
+let pp_non_punctuation_tactical =
function
| Focus (_, goals) ->
Printf.sprintf "focus %s" (String.concat " " (List.map string_of_int goals))
function
| Macro (_, macro) -> pp_macro ~term_pp ~lazy_term_pp macro ^ "."
| Tactic (_, Some tac, punct) ->
- pp_tactic ~map_unicode_to_tex ~lazy_term_pp ~term_pp tac
- ^ pp_punctuation_tactical ~lazy_term_pp ~term_pp punct
+ pp_tactic ~map_unicode_to_tex ~term_pp ~lazy_term_pp tac
+ ^ pp_punctuation_tactical punct
| Tactic (_, None, punct) ->
- pp_punctuation_tactical ~lazy_term_pp ~term_pp punct
+ pp_punctuation_tactical punct
+ | NTactic (_,Some tac, punct) ->
+ pp_ntactic ~map_unicode_to_tex tac
+ ^ pp_punctuation_tactical punct
+ | NTactic (_,None, punct) ->
+ pp_punctuation_tactical punct
| NonPunctuationTactical (_, tac, punct) ->
- pp_non_punctuation_tactical ~lazy_term_pp ~term_pp tac
- ^ pp_punctuation_tactical ~lazy_term_pp ~term_pp 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 =