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