A tgba can now annotate a transition (i.e., the position of a
tgba_succ_iterator) with some string. This comes handy to associate that transition to its high-level name. * src/tgba/tgba.hh, src/tgba/tgba.cc (tgba::transition_annotation): New method. * src/tgba/tgbaproduct.hh, src/tgba/tgbaproduct.cc (tgba_product::transition_annotation): Implement it. * src/tgba/tgbatba.hh, src/tgba/tgbatba.cc (tgba_tba_proxy::transition_annotation): Likewise. * src/tgbaalgos/replayrun.cc (print_annotation): New function. (replay_tgba_run): Use it.
This commit is contained in:
parent
32403566f6
commit
754d7064ae
8 changed files with 82 additions and 4 deletions
|
|
@ -289,4 +289,19 @@ namespace spot
|
|||
return neg_acceptance_conditions_;
|
||||
}
|
||||
|
||||
std::string
|
||||
tgba_product::transition_annotation(const tgba_succ_iterator* t) const
|
||||
{
|
||||
const tgba_succ_iterator_product* i =
|
||||
dynamic_cast<const tgba_succ_iterator_product*>(t);
|
||||
assert(i);
|
||||
std::string left = left_->transition_annotation(i->left_);
|
||||
std::string right = right_->transition_annotation(i->right_);
|
||||
if (left == "")
|
||||
return right;
|
||||
if (right == "")
|
||||
return left;
|
||||
return "<" + left + ", " + right + ">";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue