Example #1
0
int main(int argc, char* argv[]) {
	//TODO: validate and add program arguments
	list<string> args(argv + 1, argv + argc);
	Launcher *l;
	string *input;
	vector<string> *inputArgs;

	while(!args.empty()){
		string token = args.front();
		if(token[0] == '-'){ //vexargs
			args.pop_front();

			if(token == string("-static")){
				l = new StaticLauncher();
			} else if(token == string("-dynamic")){
				l = new DynamicLauncher();
			} else if(token == string("-speedup")){
				string name = args.front();
				args.pop_front();
				string speedup = args.front();
				args.pop_front();
				l->registerSpeedup(name, stod(speedup));
			} else if(token == string("-adapt")){
				l->registerInvalidation(args.front());
				args.pop_front();
			} else if(token == string("-methodfile")){
				l->registerMethodFile(args.front());
				args.pop_front();
			}

		} else {
			input = new string(token);
			l->setInput(*input);
			inputArgs = new vector<string>(args.begin(), args.end());
			l->setArgs(*inputArgs);
			args.clear();
		}
	}

	l->setup();
	l->launch();

	exit(0);
}