Skip to content
Snippets Groups Projects
Commit f1c52b0e authored by Ing. Jan Trávníček's avatar Ing. Jan Trávníček
Browse files

Merge branch 'anormalize_singleInitialState' into 'master'

aNormalize: Single Initial State

Add single initial state algorithm to `anormalize` executable.
parents 6cdca5de d1437c04
No related branches found
No related tags found
No related merge requests found
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include "exception/AlibException.h" #include "exception/AlibException.h"
#include "factory/DataFactory.hpp" #include "factory/DataFactory.hpp"
#include "automaton/simplify/Normalize.h" #include "automaton/simplify/Normalize.h"
#include "automaton/simplify/SingleInitialState.h"
#include "grammar/convert/ToGrammarLeftRG.h" #include "grammar/convert/ToGrammarLeftRG.h"
#include "grammar/convert/ToGrammarRightRG.h" #include "grammar/convert/ToGrammarRightRG.h"
   
...@@ -21,7 +22,7 @@ int main(int argc, char** argv) { ...@@ -21,7 +22,7 @@ int main(int argc, char** argv) {
TCLAP::ValueArg<std::string> input( "i", "input", "Input to normalize", false, "-", "file"); TCLAP::ValueArg<std::string> input( "i", "input", "Input to normalize", false, "-", "file");
cmd.add( input ); cmd.add( input );
   
std::vector<std::string> forms {"leftRG", "rightRG" }; std::vector<std::string> forms {"leftRG", "rightRG", "singleInitialState" };
TCLAP::ValuesConstraint<std::string> formVals( forms ); TCLAP::ValuesConstraint<std::string> formVals( forms );
   
TCLAP::ValueArg<std::string> form( "f", "form", "Convert to different form", false, "", &formVals); TCLAP::ValueArg<std::string> form( "f", "form", "Convert to different form", false, "", &formVals);
...@@ -58,6 +59,9 @@ int main(int argc, char** argv) { ...@@ -58,6 +59,9 @@ int main(int argc, char** argv) {
} else if(form.getValue() == "rightRG") { } else if(form.getValue() == "rightRG") {
alib::DataFactory::toStdout(grammar::convert::ToGrammarRightRG::convert(alib::DataFactory::fromTokens<grammar::Grammar>( tokens ))); alib::DataFactory::toStdout(grammar::convert::ToGrammarRightRG::convert(alib::DataFactory::fromTokens<grammar::Grammar>( tokens )));
return 0; return 0;
} else if(form.getValue() == "singleInitialState") {
alib::DataFactory::toStdout(automaton::simplify::SingleInitialState::convert(alib::DataFactory::fromTokens<automaton::Automaton>(tokens)));
return 0;
} else { } else {
throw exception::AlibException("Invalid normalize command"); throw exception::AlibException("Invalid normalize command");
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment