sapphire/src/Arguments.cpp

35 lines
1.0 KiB
C++

#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<std::string> input_fname_arg("file","Input file.",true,"test.sp","filename");
TCLAP::ValueArg<std::string> 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());
}
}