feat(frontends/lean/pp): add pretty printing functions for debugging purposes
This commit is contained in:
parent
7d52fc0b51
commit
4cdfc9ee84
1 changed files with 31 additions and 0 deletions
|
@ -1223,4 +1223,35 @@ formatter_factory mk_pretty_formatter_factory() {
|
|||
});
|
||||
};
|
||||
}
|
||||
|
||||
static options mk_options(bool detail) {
|
||||
options opts;
|
||||
if (detail) {
|
||||
opts = opts.update(name{"pp", "implicit"}, true);
|
||||
opts = opts.update(name{"pp", "notation"}, false);
|
||||
}
|
||||
return opts;
|
||||
}
|
||||
|
||||
static void pp_core(environment const & env, expr const & e, bool detail) {
|
||||
io_state ios(mk_pretty_formatter_factory(), mk_options(detail));
|
||||
regular(env, ios) << e << "\n";
|
||||
}
|
||||
|
||||
static void pp_core(environment const & env, goal const & g, bool detail) {
|
||||
io_state ios(mk_pretty_formatter_factory(), mk_options(detail));
|
||||
regular(env, ios) << g << "\n";
|
||||
}
|
||||
|
||||
static void pp_core(environment const & env, proof_state const & s, bool detail) {
|
||||
io_state ios(mk_pretty_formatter_factory(), mk_options(detail));
|
||||
regular(env, ios) << s.pp(env, ios) << "\n";
|
||||
}
|
||||
}
|
||||
// for debugging purposes
|
||||
void pp(lean::environment const & env, lean::expr const & e) { lean::pp_core(env, e, false); }
|
||||
void pp(lean::environment const & env, lean::goal const & g) { lean::pp_core(env, g, false); }
|
||||
void pp(lean::environment const & env, lean::proof_state const & s) { lean::pp_core(env, s, false); }
|
||||
void pp_detail(lean::environment const & env, lean::expr const & e) { lean::pp_core(env, e, true); }
|
||||
void pp_detail(lean::environment const & env, lean::goal const & g) { lean::pp_core(env, g, true); }
|
||||
void pp_detail(lean::environment const & env, lean::proof_state const & s) { lean::pp_core(env, s, true); }
|
||||
|
|
Loading…
Reference in a new issue