From b7dab7f0a660b50b302302e35c6ed2e6861622d2 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Thu, 29 Apr 2010 15:51:01 -0400 Subject: [PATCH] began expanding Parser::write() --- Parser.cc | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/Parser.cc b/Parser.cc index af6124b..ceb13a2 100644 --- a/Parser.cc +++ b/Parser.cc @@ -2,6 +2,7 @@ #include #include #include +#include /* toupper() */ #include #include @@ -21,9 +22,26 @@ Parser::Parser() void Parser::write(const string & fname) { - ofstream ofs(fname.c_str()); - ofs << "Content goes here" << endl; - ofs.close(); + string header_fname = fname + ".h"; + string body_fname = fname + "." + m_extension; + ofstream header(header_fname.c_str()); + ofstream body(body_fname.c_str()); + + string ifndef_name = m_namespace + "_" + m_classname + "_classes_defined"; + for (string::iterator i = ifndef_name.begin(); i != ifndef_name.end(); i++) + { + *i = toupper(*i); + } + + header << "#ifndef " << ifndef_name << endl; + header << "#define " << ifndef_name << endl << endl; + header << "#endif /* #ifndef " << ifndef_name << " */" << endl; + + body << "#include \"" << header_fname << "\"" << endl; + body << endl; + + header.close(); + body.close(); } bool Parser::parseInputFile(char * buff, int size)