00001 #ifndef COMMAND_LINE_PARSING_H_INCLUDED_
00002 #define COMMAND_LINE_PARSING_H_INCLUDED_
00003
00004 #include <vector>
00005 #include <string>
00006
00007 namespace risc {
00008
00009 class Design;
00010
00011 namespace tools {
00012
00013
00033 std::vector<std::string>
00034 preparsing_commandline_arguments(int &argc, char **&argv,
00035 std::vector<std::string> &input_files);
00036
00046 std::string instrumentor_output_filename(int &argc, char **&argv);
00047
00057 std::string dynamic_analysis_input_filename(int &argc, char **&argv);
00058
00063 class ParseStatus
00064 {
00065 public:
00069 unsigned int verbosityLevel;
00070
00074 unsigned int warningLevel;
00075
00079 std::string compilerName;
00080
00084 bool mic;
00085
00086 ParseStatus();
00087 ParseStatus& operator=(const ParseStatus& copy);
00088 };
00089
00094 void
00095 ParseCommandlineOptions(int &argc, char** &argv, ParseStatus* status);
00096
00101 void
00102 AddCommandlineOption(int &argc, char** &argv, std::string option);
00103
00109 void
00110 AddCommandlineOption(risc::Design &design, std::string option);
00111
00117 void
00118 RemoveCommandlineOption(risc::Design &design, std::string option);
00119
00120 }
00121
00122 }
00123
00124 #endif
00125
00126