Scarab  v2.0.1
Project 8 C++ Utility Library
parser.cc
Go to the documentation of this file.
1 #define SCARAB_API_EXPORTS
2 
3 #include "parser.hh"
4 
5 #include "parsable.hh"
6 
7 #include <sstream>
8 
9 
10 namespace scarab
11 {
12  parser::parser( int an_argc, char** an_argv ) :
13  param_node()
14  {
15  parse(an_argc, an_argv);
16  }
17 
19  {
20  }
21 
22  void parser::parse( int an_argc, char** an_argv )
23  {
24  if( an_argc > 0)
25  {
26  this->replace( "executable", param_value( an_argv[ 0 ] ) );
27  }
28 
29  for( int t_index = 1; t_index < an_argc; t_index++ )
30  {
31  //t_argument.assign( an_argv[ t_index ] );
32  parsable t_arg( an_argv[ t_index ] );
33  merge( t_arg );
34  }
35 
36  return;
37  }
38 
39 }
void replace(const std::string &a_name, const param &a_value)
creates a copy of a_value
Definition: param_node.hh:312
void merge(const param_node &a_object)
Definition: param_node.cc:67
parser(int an_argc, char **an_argv)
Definition: parser.cc:12
virtual ~parser()
Definition: parser.cc:18
void parse(int an_argc, char **an_argv)
Definition: parser.cc:22