Diffstat (limited to 'include/sitecing/sitecing_enflesher.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | include/sitecing/sitecing_enflesher.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/sitecing/sitecing_enflesher.h b/include/sitecing/sitecing_enflesher.h index 512a358..8bc43a0 100644 --- a/include/sitecing/sitecing_enflesher.h +++ b/include/sitecing/sitecing_enflesher.h @@ -29,38 +29,51 @@ class sitecing_enflesher : public sitecing_enflesherFlexLexer { * It is time to anchor output with the #line directive. */ bool anchor_time; /** * The file currently being written is supposed to have #line * directives all around the place. */ bool anchoraged; /** * The reference to the parser object containg the parsed source. */ sitecing_parser& parser; /** * The output stream. */ ofstream outs; + /** + * the outs stream destination file. + * @see outs + */ + string outs_filename; /** * @param p The parser object containing preparsed data. */ sitecing_enflesher(sitecing_parser& p) : parser(p), anchor_time(true) { } /** * Do the job. */ void enflesh(); virtual void LexerOutput(const char *buf,int size); virtual int yylex(); /** * Put a #line anchor into output. */ void anchor(); + + /** + * Close previously opened output stream, rename to the 'correct' + * destination filename, if needed, and open new file. + * @see outs + * @see outs_filename + */ + void outs_open(const string& nfile); }; #endif /* __SITECING_SITECING_ENFLESHER_H */ |