diff --git a/anormalize2/src/anormalize.cpp b/anormalize2/src/anormalize.cpp index f1cd10e088cc1769a5444c7f2ae5f0716fa59726..dfbae919cfa08fc4cfff8b0012025e5b514a27e4 100644 --- a/anormalize2/src/anormalize.cpp +++ b/anormalize2/src/anormalize.cpp @@ -10,6 +10,7 @@ #include "exception/AlibException.h" #include "factory/DataFactory.hpp" #include "automaton/simplify/Normalize.h" +#include "automaton/simplify/SingleInitialState.h" #include "grammar/convert/ToGrammarLeftRG.h" #include "grammar/convert/ToGrammarRightRG.h" @@ -21,7 +22,7 @@ int main(int argc, char** argv) { TCLAP::ValueArg<std::string> input( "i", "input", "Input to normalize", false, "-", "file"); 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::ValueArg<std::string> form( "f", "form", "Convert to different form", false, "", &formVals); @@ -58,6 +59,9 @@ int main(int argc, char** argv) { } else if(form.getValue() == "rightRG") { alib::DataFactory::toStdout(grammar::convert::ToGrammarRightRG::convert(alib::DataFactory::fromTokens<grammar::Grammar>( tokens ))); return 0; + } else if(form.getValue() == "singleInitialState") { + alib::DataFactory::toStdout(automaton::simplify::SingleInitialState::convert(alib::DataFactory::fromTokens<automaton::Automaton>(tokens))); + return 0; } else { throw exception::AlibException("Invalid normalize command"); }