| `Exists -> "exists"
| `Forall -> "forall"
-let pp_literal =
+(* XXX: ignoring the optional CSYMBOL
+ * (it's fine if this is only used for pretty printing output notations) *)
+let pp_literal (_,t) =
if debug_printing then
- (function (* debugging version *)
- | `Symbol _ as t ->
+ (match t with (* debugging version *)
+ | `Symbol _ ->
sprintf "symbol(%s)" (NotationUtil.string_of_literal t)
- | `Keyword _ as t ->
+ | `Keyword _ ->
sprintf "keyword(%s)" (NotationUtil.string_of_literal t)
- | `Number _ as t -> sprintf "number(%s)" (NotationUtil.string_of_literal t))
- else NotationUtil.string_of_literal
+ | `Number _ -> sprintf "number(%s)" (NotationUtil.string_of_literal t))
+ else NotationUtil.string_of_literal t
let pp_pos =
function
and pp_sep_opt = function
| None -> ""
- | Some sep -> sprintf " sep %s" (pp_literal sep)
+ | Some sep -> sprintf " sep %s" (pp_literal (None,sep))
and pp_variable = function
| Ast.NumVar s -> "number " ^ s