#include "generator.hpp" #include void Generator::SetArguments(int argc, char* argv[]) { std::string tempStr; for (int i = 1; i < argc; ++i) { tempStr.assign(argv[i]); if (tempStr == "-i") { setup.isFileSet = true; ++i; setup.filename.assign(argv[i]); } if (tempStr == "-k") { setup.isPrefixSet = true; ++i; setup.prefixLength = std::stoi(argv[i]); } if (tempStr == "-n") { setup.isOutputSet = true; ++i; setup.outputLength = std::stoi(argv[i]); } if (tempStr == "-h") { PrintUsage(); exit(0); } } if (!setup.isFileSet) { std::cerr << "[Setup - Error] Filename not specified" << std::endl; } if (!setup.prefixLength) { std::cerr << "[Setup - Error] Prefix length not specified" << std::endl; } if (!setup.outputLength) { std::cerr << "[Setup - Error] Output length not specified" << std::endl; } if (!setup.isFileSet || !setup.isPrefixSet || !setup.isOutputSet) { PrintUsage(); } } void PrintUsage(void) { std::cout << "Usage: markov -i input_file -k prefix_length -n output_length" << std::endl; std::cout << " -i: Direct path to input file for basis" << std::endl; std::cout << " -k: Prefix length for Markov chain" << std::endl; std::cout << " -n: Length of output to be generated (words)" << std::endl; std::cout << " -h: Prints this usage text" << std::endl; }