Make it possible to output UTF-8 for dotty().

* src/tgba/tgbaexplicit.hh: Rerganize a bit to
allow different functions to be used to format
states.  Add an enabled_utf8() method to
tgba_explicit_formula.
* src/tgbaalgos/dotty.hh, src/tgbaalgos/dotty.cc:
Simplify the interface by not depending on
dotty_decorator explicitely.
* src/tgba/bddprint.hh (enable_utf8): New function.
* src/tgba/bddprint.cc (enable_utf8): Implement it
and use the global utf8 flag in other functions.
* src/tgbatest/ltl2tgba.cc: Add an -8 option for
UTF-8 outpout.
* wrap/python/spot.i: Adjust for tgbexplicit.hh
changes.
This commit is contained in:
Alexandre Duret-Lutz 2012-04-29 01:15:08 +02:00
parent f082700fb2
commit e93ceebafe
7 changed files with 235 additions and 101 deletions

View file

@ -213,9 +213,23 @@ using namespace spot;
spot::explicit_graph<state_explicit_number, tgba>;
%template(explicit_graph__formula_tgba)
spot::explicit_graph<state_explicit_formula, tgba>;
%template(tgba_explicit__string) spot::tgba_explicit<state_explicit_string>;
%template(tgba_explicit__number) spot::tgba_explicit<state_explicit_number>;
%template(tgba_explicit__formula) spot::tgba_explicit<state_explicit_formula>;
%template(explicit_string_tgba)
spot::explicit_graph<state_explicit_string, tgba>;
%template(explicit_number_tgba)
spot::tgba_explicit<state_explicit_formula>;
%template(explicit__number_tgba)
spot::tgba_explicit<state_explicit_number>;
%template(explicit_string__tgba)
spot::explicit_conf<tgba_explicit<state_explicit_string>,
state_explicit_string>;
%template(explicit_number__tgba)
spot::explicit_conf<tgba_explicit<state_explicit_number>,
state_explicit_number>;
%template(explicit_formula__tgba)
spot::explicit_conf<tgba_explicit<state_explicit_formula>,
state_explicit_formula>;
%include "tgbaalgos/dottydec.hh"
%include "tgbaalgos/dotty.hh"
@ -302,6 +316,14 @@ minimize_obligation_new(const spot::tgba* a, const spot::ltl::formula* f)
return res;
}
void
tgba_enable_utf8(spot::tgba* a)
{
if (spot::tgba_explicit_formula* tef =
dynamic_cast<spot::tgba_explicit_formula*>(a))
tef->enable_utf8();
}
spot::ltl::parse_error_list
empty_parse_error_list()
{