Introduce a translator class.

This perform pre- and post-processings in addition to
the LTL-to-TGBA translation.

* src/tgbaalgos/translate.cc, src/tgbaalgos/translate.hh: New files.
* src/tgbaalgos/Makefile.am: Add them.
* src/tgbaalgos/postproc.hh: Make the private part protected, so
that we can inherit from that in the translator class.
* src/bin/ltl2tgba.cc: Use the translator class to hide LTL
simplification, translation, and postprocessings.
* NEWS: Mention it.
This commit is contained in:
Alexandre Duret-Lutz 2013-03-25 19:21:09 +01:00
parent 0edb2b7a17
commit c5b7e8e1da
6 changed files with 219 additions and 30 deletions

View file

@ -89,7 +89,7 @@ namespace spot
/// Return the optimized automaton and delete \a input_disown.
const tgba* run(const tgba* input_disown, const ltl::formula* f);
private:
protected:
const tgba* do_simul(const tgba* input);
const tgba* do_degen(const tgba* input);