From 872f7efbebc0301d44c66c312f69c7b1d9113132 Mon Sep 17 00:00:00 2001 From: Alexandre Duret-Lutz Date: Mon, 2 Feb 2004 16:12:13 +0000 Subject: [PATCH] * src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Identify states with identical successors. This optimizes the translation of `a R (b R c)', for instance. * src/tgbatest/ltl2tgba.test: Add two new tests. --- ChangeLog | 5 +++++ src/tgbaalgos/ltl2tgba_fm.cc | 2 +- src/tgbatest/ltl2tgba.test | 2 ++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 624a9ce25..37495273a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2004-02-02 Alexandre Duret-Lutz + * src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Identify states + with identical successors. This optimizes the translation + of `a R (b R c)', for instance. + * src/tgbatest/ltl2tgba.test: Add two new tests. + Hide the tgba_gspn and tgba_gspn_eesrg classes. Offer the corresponding automaton via the automaton() method of the gspn_interface and gspn_eesrg_interface classes. diff --git a/src/tgbaalgos/ltl2tgba_fm.cc b/src/tgbaalgos/ltl2tgba_fm.cc index bdb101649..c47906c27 100644 --- a/src/tgbaalgos/ltl2tgba_fm.cc +++ b/src/tgbaalgos/ltl2tgba_fm.cc @@ -529,7 +529,7 @@ namespace spot { dest->accept(v); bdd succbdd = v.result(); - succ_to_string::iterator cs = canonical_succ.find(succbdd); + succ_to_formula::iterator cs = canonical_succ.find(succbdd); if (cs != canonical_succ.end()) { destroy(dest); diff --git a/src/tgbatest/ltl2tgba.test b/src/tgbatest/ltl2tgba.test index 26aefdf2e..2125c559c 100755 --- a/src/tgbatest/ltl2tgba.test +++ b/src/tgbatest/ltl2tgba.test @@ -37,3 +37,5 @@ run 0 ./ltl2tgba 'Xa & (b U !a) & (b U !a)' run 0 ./ltl2tgba 'Fa & Xb & GFc & Gd' run 0 ./ltl2tgba 'Fa & Xa & GFc & Gc' run 0 ./ltl2tgba 'Fc & X(a | Xb) & GF(a | Xb) & Gc' +run 0 ./ltl2tgba 'a R (b R c)' +run 0 ./ltl2tgba '(a U b) U (c U d)'