From 9720ea001f58acf8d8f1a3eb47c87785843a4308 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Thu, 29 Apr 2010 15:14:21 -0400 Subject: [PATCH] added --namespace argument --- Parser.cc | 2 +- Parser.h | 3 +++ imbecile.cc | 6 ++++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/Parser.cc b/Parser.cc index 61a26ef..18c08d2 100644 --- a/Parser.cc +++ b/Parser.cc @@ -15,7 +15,7 @@ using namespace std; Parser::Parser() - : m_classname("Parser") + : m_classname("Parser"), m_namespace("") { } diff --git a/Parser.h b/Parser.h index 7c04fea..27e07ca 100644 --- a/Parser.h +++ b/Parser.h @@ -25,11 +25,14 @@ class Parser bool parseInputFile(char * buff, int size); void setClassName(const std::string & cn) { m_classname = cn; } std::string getClassName() { return m_classname; } + void setNamespace(const std::string & ns) { m_namespace = ns; } + std::string getNamespace() { return m_namespace; } protected: std::vector< refptr< TokenDefinition > > m_tokens; std::vector< refptr< RuleDefinition > > m_rules; std::string m_classname; + std::string m_namespace; }; #endif diff --git a/imbecile.cc b/imbecile.cc index 4f108f6..f624783 100644 --- a/imbecile.cc +++ b/imbecile.cc @@ -17,10 +17,12 @@ int main(int argc, char * argv[]) int opt; string outfile; string classname = "Parser"; + string namespace_name = ""; static struct option longopts[] = { /* name, has_arg, flag, val */ { "classname", required_argument, NULL, 'c' }, + { "namespace", required_argument, NULL, 'n' }, { "outfile", required_argument, NULL, 'o' }, { NULL, 0, NULL, 0 } }; @@ -32,6 +34,9 @@ int main(int argc, char * argv[]) case 'c': /* classname */ classname = optarg; break; + case 'n': /* namespace */ + namespace_name = optarg; + break; case 'o': /* outfile */ outfile = optarg; break; @@ -64,6 +69,7 @@ int main(int argc, char * argv[]) Parser p; p.setClassName(classname); + p.setNamespace(namespace_name); p.parseInputFile(buff, size); p.write(outfile);