DiaDes  0.1
DIAgnosis of Discrete-Event System
Functions | Variables
Determine.cc File Reference

This file implements the dd-determine command that is used to make convert any kind of automata to deterministic automata. More...

#include <cstdlib>
#include <iostream>
#include <fstream>
#include <regex>
#include <boost/program_options.hpp>
#include <diades/automata/experimental/AutFile.hh>
#include <diades/automata/experimental/DdAutFile.hh>
#include <diades/automata/experimental/DdAutFileDescriptor.hh>
#include <diades/automata/experimental/Printer.hh>
#include <diades/automata/experimental/StateMachine.hh>
#include <diades/automata/experimental/StateCreation.hh>
#include <diades/automata/experimental/Determine.hh>
#include "../AutomataInterface.hh"

Go to the source code of this file.

Functions

const string program ("dd-determine")
 
void initialiseOptions (int argc, char *argv[], Poptions::options_description &desc, Poptions::variables_map &vm)
 
size_t determineAut (const std::string &fileName, const std::string &output)
 
size_t determineDdaut (const std::string &fileName, const std::string &output)
 
size_t determineFsm (const std::string &fileName, const std::string &output)
 
int main (int argc, char **argv)
 

Variables

FileSuffixes suffixes ({"aut","ddaut"})
 

Detailed Description

This file implements the dd-determine command that is used to make convert any kind of automata to deterministic automata.

Author
Yannick Pencolé
Date
2nd Avril 2019, 17:52

Definition in file Determine.cc.

Function Documentation

◆ determineAut()

size_t determineAut ( const std::string &  fileName,
const std::string &  output 
)

Load the file (aut file) and make the automaton deterministic (low-level) and print on the output

Parameters
fileNameaut file to load
outputthe file to write (if empty, write on the standard output)
Returns
success code (SUCCESS or ERROR_COMMAND_LINE)

Definition at line 84 of file Determine.cc.

References Diades::Automata::Experimental::determine(), Diades::Automata::Experimental::fromAutFile(), Diades::CmdInterface::printCommandLineError(), suffixes, and Diades::CmdInterface::writeAut().

Referenced by determineFsm().

◆ determineDdaut()

size_t determineDdaut ( const std::string &  fileName,
const std::string &  output 
)

Load the file (ddaut file) and make the automaton deterministic and print on the output

Parameters
fileNameddaut file to load
outputthe file to write (if empty, write on the standard output, can be aut or ddaut file)
Returns
success code (SUCCESS or ERROR_COMMAND_LINE)

Definition at line 116 of file Determine.cc.

References Diades::Automata::Experimental::DdAutFileDescriptor::acceptorBegin(), Diades::Automata::Experimental::DdAutFileDescriptor::acceptorEnd(), Diades::Automata::Experimental::determine(), Diades::Automata::Experimental::faFromDescriptor(), Diades::Automata::Experimental::fsmFromDescriptor(), Diades::CmdInterface::printCommandLineError(), Diades::Automata::Experimental::DdAutFileDescriptor::readStream(), suffixes, Diades::CmdInterface::writeFiniteAutomaton(), and Diades::CmdInterface::writeFiniteStateMachine().

Referenced by determineFsm().

◆ determineFsm()

size_t determineFsm ( const std::string &  fileName,
const std::string &  output 
)

Load the file (aut file) and make the automaton deterministic (low-level) and print on the output

Parameters
fileNameaut file to load
outputthe file to write (if empty, write on the standard output)
Returns
success code (SUCCESS or ERROR_COMMAND_LINE)

Definition at line 179 of file Determine.cc.

References determineAut(), determineDdaut(), ERROR_UNHANDLED_EXCEPTION, Diades::CmdInterface::FileSuffixes::match(), Diades::CmdInterface::printCommandLineError(), and suffixes.

Referenced by main().

◆ initialiseOptions()

void initialiseOptions ( int  argc,
char *  argv[],
Poptions::options_description &  desc,
Poptions::variables_map &  vm 
)

Initialise the options of the command present in the command line

Parameters
argc
argv
desc
vm

Definition at line 53 of file Determine.cc.

References options().

Referenced by main().

◆ main()

int main ( int  argc,
char **  argv 
)

Main file of the dd-determine command

Parameters
argc
argv
Returns
success code (SUCCESS or ERROR_COMMAND_LINE)

Definition at line 209 of file Determine.cc.

References determineFsm(), initialiseOptions(), Diades::CmdInterface::printCommandLineError(), printUsage(), and program().

◆ program()

const string program ( "dd-determine"  )

Referenced by main().

Variable Documentation

◆ suffixes

FileSuffixes suffixes({"aut","ddaut"})