1 /*++ 2 3 Abstract: Pretty-printer for proofs in Graphviz format 4 5 --*/ 6 7 #pragma once 8 9 #include <iostream> 10 #include "ast/ast_pp.h" 11 12 class ast_pp_dot { 13 ast_manager & m_manager; 14 proof * const m_pr; 15 16 public: ast_pp_dot(proof * pr,ast_manager & m)17 ast_pp_dot(proof *pr, ast_manager &m) : m_manager(m), m_pr(pr) {} ast_pp_dot(proof_ref & e)18 ast_pp_dot(proof_ref &e) : m_manager(e.m()), m_pr(e.get()) {} 19 20 std::ostream & pp(std::ostream & out) const; get_manager()21 ast_manager & get_manager() const { return m_manager; } 22 }; 23 24 std::string escape_dot(std::string const & s); 25 26 std::ostream &operator<<(std::ostream &out, const ast_pp_dot & p); 27 28