#include "Arguments.h" #include "Error.h" #include "tclap/CmdLine.h" std::string Arguments::input_fname; std::string Arguments::output_fname; bool Arguments::wimport; void Arguments::parse(int argc, char **argv) { try { TCLAP::CmdLine command_line("The Sapphire compiler.",' ',"0.1"); TCLAP::UnlabeledValueArg input_fname_arg("file","Input file.",true,"test.sp","filename"); TCLAP::ValueArg output_fname_arg("o","output","Output file.",false,"sp-output","output"); TCLAP::SwitchArg wimport_arg("","wimport","Show a warning when trying to import an already imported file."); command_line.add(wimport_arg); command_line.add(input_fname_arg); command_line.add(output_fname_arg); command_line.parse(argc,argv); input_fname = input_fname_arg.getValue(); output_fname = output_fname_arg.getValue(); wimport = wimport_arg.getValue(); } catch (TCLAP::ArgException &e) { Error::throw_error_without_location(e.error()); } }