Extend the ELTL parser to support more complex aliases of
automaton operators such as Strong=G(F($0))->G(F($1)) and G=R(false, $0). * src/eltlparse/eltlparse.yy, src/eltlparse/eltlscan.ll: Add support for more complex aliases. * src/eltltest/acc.cc, src/eltltest/acc.test: Adjust. * src/ltlast/nfa.cc, src/ltlast/nfa.hh (arity): Now returns an unsigned value. * src/tgbatest/eltl2tgba.test: Adjust. * src/tgbalagos/eltl2tgba_lacim.cc: Fix sanity.
This commit is contained in:
parent
bbbc1acc14
commit
b06c9cd563
10 changed files with 188 additions and 66 deletions
|
|
@ -22,6 +22,9 @@
|
|||
#include <iostream>
|
||||
#include <cassert>
|
||||
#include "eltlparse/public.hh"
|
||||
#include "ltlvisit/destroy.hh"
|
||||
#include "ltlvisit/lunabbrev.hh"
|
||||
#include "ltlvisit/nenoform.hh"
|
||||
|
||||
int
|
||||
main(int argc, char** argv)
|
||||
|
|
@ -37,6 +40,12 @@ main(int argc, char** argv)
|
|||
return 1;
|
||||
}
|
||||
|
||||
const spot::ltl::formula* f1 = spot::ltl::unabbreviate_logic(f);
|
||||
const spot::ltl::formula* f2 = spot::ltl::negative_normal_form(f1);
|
||||
spot::ltl::destroy(f1);
|
||||
|
||||
assert(f != 0);
|
||||
std::cout << f->dump() << std::endl;
|
||||
assert(f2 != 0);
|
||||
std::cout << f2->dump() << std::endl;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue