added --namespace argument
This commit is contained in:
parent
2b23657a0c
commit
9720ea001f
@ -15,7 +15,7 @@
|
|||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
Parser::Parser()
|
Parser::Parser()
|
||||||
: m_classname("Parser")
|
: m_classname("Parser"), m_namespace("")
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
3
Parser.h
3
Parser.h
@ -25,11 +25,14 @@ class Parser
|
|||||||
bool parseInputFile(char * buff, int size);
|
bool parseInputFile(char * buff, int size);
|
||||||
void setClassName(const std::string & cn) { m_classname = cn; }
|
void setClassName(const std::string & cn) { m_classname = cn; }
|
||||||
std::string getClassName() { return m_classname; }
|
std::string getClassName() { return m_classname; }
|
||||||
|
void setNamespace(const std::string & ns) { m_namespace = ns; }
|
||||||
|
std::string getNamespace() { return m_namespace; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
std::vector< refptr< TokenDefinition > > m_tokens;
|
std::vector< refptr< TokenDefinition > > m_tokens;
|
||||||
std::vector< refptr< RuleDefinition > > m_rules;
|
std::vector< refptr< RuleDefinition > > m_rules;
|
||||||
std::string m_classname;
|
std::string m_classname;
|
||||||
|
std::string m_namespace;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,10 +17,12 @@ int main(int argc, char * argv[])
|
|||||||
int opt;
|
int opt;
|
||||||
string outfile;
|
string outfile;
|
||||||
string classname = "Parser";
|
string classname = "Parser";
|
||||||
|
string namespace_name = "";
|
||||||
|
|
||||||
static struct option longopts[] = {
|
static struct option longopts[] = {
|
||||||
/* name, has_arg, flag, val */
|
/* name, has_arg, flag, val */
|
||||||
{ "classname", required_argument, NULL, 'c' },
|
{ "classname", required_argument, NULL, 'c' },
|
||||||
|
{ "namespace", required_argument, NULL, 'n' },
|
||||||
{ "outfile", required_argument, NULL, 'o' },
|
{ "outfile", required_argument, NULL, 'o' },
|
||||||
{ NULL, 0, NULL, 0 }
|
{ NULL, 0, NULL, 0 }
|
||||||
};
|
};
|
||||||
@ -32,6 +34,9 @@ int main(int argc, char * argv[])
|
|||||||
case 'c': /* classname */
|
case 'c': /* classname */
|
||||||
classname = optarg;
|
classname = optarg;
|
||||||
break;
|
break;
|
||||||
|
case 'n': /* namespace */
|
||||||
|
namespace_name = optarg;
|
||||||
|
break;
|
||||||
case 'o': /* outfile */
|
case 'o': /* outfile */
|
||||||
outfile = optarg;
|
outfile = optarg;
|
||||||
break;
|
break;
|
||||||
@ -64,6 +69,7 @@ int main(int argc, char * argv[])
|
|||||||
|
|
||||||
Parser p;
|
Parser p;
|
||||||
p.setClassName(classname);
|
p.setClassName(classname);
|
||||||
|
p.setNamespace(namespace_name);
|
||||||
p.parseInputFile(buff, size);
|
p.parseInputFile(buff, size);
|
||||||
p.write(outfile);
|
p.write(outfile);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user