19 #include<boost/program_options.hpp> 28 #include"../AutomataInterface.hh" 35 namespace Poptions = boost::program_options;
43 const string program(
"dd-complete");
59 Poptions::options_description & desc,
60 Poptions::variables_map & vm)
63 (
"help,h",
"produce help message")
64 (
"file,f", Poptions::value< string >(),
"automaton file (.aut/.ddaut format)")
65 (
"output,o", Poptions::value< string >(),
"outfile name (.aut/.ddaut format)");
66 Poptions::positional_options_description p;
68 Poptions::store(Poptions::command_line_parser(argc, argv).
options(desc).positional(p).run(), vm);
90 size_t completeAut(
const std::string & fileName,
const std::string & output)
94 ifstream file(fileName.c_str());
119 size_t completeDdaut(
const std::string & fileName,
const std::string & output)
125 ifstream file(fileName.c_str());
146 return printCommandLineError(
Msg(
"Error when converting the DdAutFileDescriptor from %1% to a Finite Automaton")%fileName);
158 return printCommandLineError(
Msg(
"Error when converting the DdAutFileDescriptor from %1% to a Finite State Machine")%fileName);
174 size_t completeFsm(
const std::string & fileName,
const std::string & output)
204 int main(
int argc,
char** argv)
206 std::string fileName, output;
209 Poptions::options_description desc(
"Options");
210 Poptions::variables_map vm;
218 fileName = vm[
"file"].as<std::string>();
220 if(vm.count(
"output"))
222 output = vm[
"output"].as<std::string>();
225 catch(Poptions::required_option & e)
229 catch(Poptions::error & e)
size_t writeAut(const Diades::Automata::Experimental::AutFsm &fsm, const std::string &output, const FileSuffixes &suffixes)
StateMachine< AutStateId, AutEventId > AutFsm
StatePropertyManager< DdAutStateLabel, DdAutStateId > DdAutStateManager
size_t completeAut(const std::string &fileName, const std::string &output)
void complete(Fsm &machine)
ConstAcceptorIterator acceptorEnd() const
size_t writeFiniteAutomaton(const Diades::Automata::Experimental::ConstManagedDdAutFA &mfa, const std::string &output, const FileSuffixes &suffixes)
bool fsmFromDescriptor(const DdAutFileDescriptor &descriptor, DdAutFsm &fsm, DdAutStateManager &sManager, DdAutEventManager &eManager)
const size_t ERROR_UNHANDLED_EXCEPTION
size_t printCommandLineError(const string &msg)
bool faFromDescriptor(const DdAutFileDescriptor &descriptor, DdAutFA &fa, DdAutStateManager &sManager, DdAutEventManager &eManager)
ConstAcceptorIterator acceptorBegin() const
int main(int argc, char **argv)
size_t completeDdaut(const std::string &fileName, const std::string &output)
size_t completeFsm(const std::string &fileName, const std::string &output)
vector< string > options(numberOfOptions)
bool match(const std::string &fileName, const std::string &suffix) const
void initialiseOptions(int argc, char *argv[], Poptions::options_description &desc, Poptions::variables_map &vm)
size_t writeFiniteStateMachine(const Diades::Automata::Experimental::ConstManagedDdAutFsm &mfsm, const std::string &output, const FileSuffixes &suffixes)
EventManager< DdAutEventLabel, DdAutEventId > DdAutEventManager
FileSuffixes suffixes({"aut","ddaut"})
bool fromAutFile(std::istream &stream, AutFsm &fsm)
StateMachine< DdAutStateId, DdAutEventId > DdAutFsm
const string program("dd-complete")
virtual bool readStream(std::istream &stream)
void printUsage(const po::options_description &desc)