32 std::cout <<
"======== a Rabin pair" << std::endl;
44 std::cout << std::endl;
51 std::cout <<
"======== a Rabin acceptance condition" << std::endl;
63 std::cout << std::endl;
65 std::cout << std::endl;
68 std::cout <<
"======== serialisation " << std::endl;
69 raccept.
Write(
"tmp_raccept.txt");
71 rareadback.
Read(
"tmp_raccept.txt");
72 bool eq1= rareadback==raccept;
74 std::cout <<
"== readback ok" << std::endl;
76 std::cout <<
"== readback test case FAIL" << std::endl;
78 std::cout << std::endl;
85 RabinAcceptance::Iterator rit;
87 for(;rit!=raccept.
End();++rit) {
89 std::cout <<
"found a Robin pair with RSet " << rpair.
RSet().
ToString() << std::endl;
91 std::cout << std::endl;
98 bool eq2= rareadback==raccept;
100 std::cout <<
"== still equal? FAIL" << std::endl;
102 std::cout <<
"== sensed mismatch: ok" << std::endl;
104 std::cout << std::endl;
111 std::cout << std::endl;
119 std::cout <<
"======== strict XML serialisation" << std::endl;
121 std::cout << std::endl;
132 std::cout <<
"======== Rabin automaton from file" << std::endl;
134 ar.
Read(
"data/omg_rabinaut.gen");
137 std::cout <<
"=== automaton" << std::endl;
139 std::cout <<
"=== acceptance condition only" << std::endl;
141 std::cout << std::endl;
142 std::cout <<
"=== edit in automaton" << std::endl;
145 std::cout <<
"=== statistics" << std::endl;
147 std::cout << std::endl;
155 ar.
Read(
"data/omg_rnottrim.gen");
158 ar.
Write(
"tmp_omg_rnottrim.gen");
162 std::cout <<
"omg_3_rabin: cannot execute graphviz' dot. " << std::endl;
168 for(;rit!=raccept.
End();++rit) {
171 std::cout <<
"=== live states for Rabin pair " << rit->Name() << std::endl;
174 std::cout << std::endl;
176 std::cout <<
"=== trim Rabin automaton" << std::endl;
179 std::cout << std::endl;
182 ar.
Write(
"tmp_omg_rtrim.gen");
186 std::cout <<
"omg_3_rabin: cannot execute graphviz' dot. " << std::endl;
#define FAUDES_TEST_DUMP(mes, dat)
virtual void Insert(const T &rElem)
void RabinAcceptance(const faudes::RabinAcceptance &rRabAcc)
void Read(const std::string &rFileName, const std::string &rLabel="", const Type *pContext=0)
std::string ToString(const std::string &rLabel="", const Type *pContext=0) const
void FromString(const std::string &rString, const std::string &rLabel="", const Type *pContext=0)
virtual void XWrite(const std::string &pFileName, const std::string &rLabel="", const Type *pContext=0) const
void Write(const Type *pContext=0) const
void SWrite(TokenWriter &rTw) const
void WriteStateSet(const StateSet &rStateSet) const
void GraphWrite(const std::string &rFileName, const std::string &rOutFormat="", const std::string &rDotExec="dot") const
virtual void InsertSet(const TBaseSet &rOtherSet)
virtual bool Erase(const T &rElem)
bool RabinTrim(RabinAutomaton &rRAut)
void RabinLiveStates(const TransSet &rTransRel, const TransSetX2EvX1 &rRevTransRel, const RabinPair &rRPair, StateSet &rInv)