35 lines
1.0 KiB
C++
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());
|
|
}
|
|
}
|