|
Go to the documentation of this file.
24 using namespace faudes;
61 std::cout << "################################\n";
62 std::cout << "# tutorial, handcraft generator \n";
64 std::cout << "################################\n";
100 version2. Version( "_str", "_machine_3",version3);
108 std::cout << "################################\n";
109 std::cout << "# tutorial, version of generator \n";
111 std::cout << "################################\n";
123 g2. Read( "data/simplemachine.gen");
132 g4. Write( "tmp_simplemachine.gen");
137 g4. Write( "tmp_simplemachine_ridx.gen");
140 g4. Read( "tmp_simplemachine.gen");
141 g4. Read( "tmp_simplemachine_ridx.gen");
145 std::cout << "################################\n";
146 std::cout << "# tutorial, debug dump \n";
148 std::cout << "################################\n";
153 g4. DotWrite( "tmp_simplemachine.dot");
154 g4. DDotWrite( "tmp_simplemachine_debug.dot");
161 std::cout << "1_generator: cannot execute graphviz' dot. " << std::endl;
167 std::string str_singleevent = g1. EStr(2);
172 std::string str_singlestate = g1. SStr(3);
190 std::string str_name = g1. Name();
212 eset_copy_alph. Insert( "new_event");
213 if(g1. ExistsEvent( "new_event")) std::cout << "### THIS CANNOT HAPPEN ###";
252 eset1. Insert( "newevent1");
336 std::cout << "################################\n";
337 std::cout << "# tutorial, on the way ... \n";
339 std::cout << "################################\n";
375 std::string str_eventname1 = g1. EventName(1);
383 std::string str_tmp = g1. StateName(idx_s10);
414 bool bool_isempty = g1. Empty();
429 std::cout << "################################\n";
430 std::cout << "# tutorial, after ins and del \n";
432 std::cout << "################################\n";
448 std::cout << "################################\n";
449 std::cout << "# tutorial, iterators 1 \n";
450 EventSet::Iterator eit;
452 std::cout << "event \"" << g1. EventName(*eit) << "\" with index "<< *eit << std::endl;
454 std::cout << "################################\n";
458 std::cout << "################################\n";
459 std::cout << "# tutorial, iterators 2 \n";
460 StateSet::Iterator sit;
462 std::cout << *sit << std::endl;
464 std::cout << "################################\n";
468 std::cout << "################################\n";
469 std::cout << "# tutorial, iterators 3 \n";
472 std::cout << g1. TStr(*tit) << std::endl;
474 std::cout << "################################\n";
479 std::cout << "################################\n";
480 std::cout << "# tutorial, iterators 4 \n";
485 for (; tit != tit_end; ++tit) {
486 std::cout << g1. TStr(*tit) << std::endl;
488 std::cout << "################################\n";
514 std::cout << "################################\n";
515 std::cout << "# tutorial, x2-ev-x1 sorting\n";
517 for (tit2 = tset_x2evx1. Begin(); tit2 != tset_x2evx1. End(); ++tit2) {
518 std::cout << g1. TStr(*tit2) << std::endl;
520 std::cout << "################################\n";
584 std::cout << "################################\n";
585 std::cout << "# tutorial, default names \n";
587 std::cout << "################################\n";
595 Generator greach( "data/trimness_nottrim.gen");
597 std::cout << "################################\n";
598 std::cout << "# tutorial, reachability test case \n";
600 std::cout << "# tutorial, reachability relevant sets \n";
607 std::cout << "# tutorial, reachability analysis \n";
610 std::cout << "accesibility: ok [error]\n";
612 std::cout << "accesibility: failed [expected]\n";
615 std::cout << "coaccesibility: ok [error]\n";
617 std::cout << "coaccesibility: failed [expected]\n";
620 std::cout << "completeness: ok [error]\n";
622 std::cout << "completeness: failed [expected]\n";
623 bool istrim = greach. IsTrim();
625 std::cout << "trimness: ok [error]\n";
627 std::cout << "trimness: failed [expected]\n";
630 std::cout << "w-trimness: ok [error]\n";
632 std::cout << "w-trimness: failed [expected]\n";
633 std::cout << "################################\n";
643 gaccess. Name( "GAccessible");
649 gcoaccess. Name( "GCoccessible");
655 gcompl. Name( "GComplete");
663 bool bool_isnontrivial = gtrim. Trim();
669 gotrim. Name( "GOmegaTrim");
673 std::cout << "################################\n";
674 std::cout << "# tutorial, reachability results \n";
680 std::cout << "################################\n";
683 greach. Write( "tmp_greach.gen");
684 gaccess. Write( "tmp_gaccess.gen");
685 gcoaccess. Write( "tmp_gcoaccess.gen");
686 gcompl. Write( "tmp_gcompl.gen");
687 gtrim. Write( "tmp_gtrim.gen");
688 gotrim. Write( "tmp_gotrim.gen");
703 Generator gsigcomplB( "data/trimness_nottrim.gen");
704 Generator gsigcomplC( "data/trimness_nottrim.gen");
710 std::cout << "################################\n";
711 std::cout << "# tutorial, sigma_o-completeness test case \n";
713 bool issigcompl = gsigcomplB. IsComplete(sigoB);
715 std::cout << "completeness: ok [error]\n";
717 std::cout << "completeness: failed [expected]\n";
722 gsigcomplB. Name( "GSigoCompleteB");
724 gsigcomplC. Name( "GSigoCompleteC");
733 gsigcomplB. Write( "tmp_gsigcomplb.gen");
734 gsigcomplC. Write( "tmp_gsigcomplc.gen");
libFAUDES 2.28a
--- 2016.09.13
--- c++ api documentaion by doxygen
|