author | Michael Krelin <hacker@klever.net> | 2005-03-30 15:50:28 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2005-03-30 15:50:28 (UTC) |
commit | 3ddbfeafde93d1aab16a710498d86eef4e787406 (patch) (unidiff) | |
tree | d53ef21cf3b2bddfeb957c98344d0be8759ed555 /include/sitecing | |
parent | 642dc685bd0a3f1526e22827a4539aa0e06aeff7 (diff) | |
download | sitecing-3ddbfeafde93d1aab16a710498d86eef4e787406.zip sitecing-3ddbfeafde93d1aab16a710498d86eef4e787406.tar.gz sitecing-3ddbfeafde93d1aab16a710498d86eef4e787406.tar.bz2 |
1. preprocessor doesn't touch unchanged files anymore
2. doublechedk on whether file is up to date when making
3. changed the way preprocessor targets depend on the timestamp file
4. a bugfix in strip_suffix/strip_prefix
-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 | |||
@@ -21,46 +21,59 @@ using namespace std; | |||
21 | class sitecing_parser; | 21 | class sitecing_parser; |
22 | /** | 22 | /** |
23 | * The enfleshing of the skeleton file according to the in-memory parsed | 23 | * The enfleshing of the skeleton file according to the in-memory parsed |
24 | * component source. | 24 | * component source. |
25 | */ | 25 | */ |
26 | class sitecing_enflesher : public sitecing_enflesherFlexLexer { | 26 | class sitecing_enflesher : public sitecing_enflesherFlexLexer { |
27 | public: | 27 | public: |
28 | /** | 28 | /** |
29 | * It is time to anchor output with the #line directive. | 29 | * It is time to anchor output with the #line directive. |
30 | */ | 30 | */ |
31 | bool anchor_time; | 31 | bool anchor_time; |
32 | /** | 32 | /** |
33 | * The file currently being written is supposed to have #line | 33 | * The file currently being written is supposed to have #line |
34 | * directives all around the place. | 34 | * directives all around the place. |
35 | */ | 35 | */ |
36 | bool anchoraged; | 36 | bool anchoraged; |
37 | /** | 37 | /** |
38 | * The reference to the parser object containg the parsed source. | 38 | * The reference to the parser object containg the parsed source. |
39 | */ | 39 | */ |
40 | sitecing_parser& parser; | 40 | sitecing_parser& parser; |
41 | /** | 41 | /** |
42 | * The output stream. | 42 | * The output stream. |
43 | */ | 43 | */ |
44 | ofstream outs; | 44 | ofstream outs; |
45 | /** | ||
46 | * the outs stream destination file. | ||
47 | * @see outs | ||
48 | */ | ||
49 | string outs_filename; | ||
45 | 50 | ||
46 | /** | 51 | /** |
47 | * @param p The parser object containing preparsed data. | 52 | * @param p The parser object containing preparsed data. |
48 | */ | 53 | */ |
49 | sitecing_enflesher(sitecing_parser& p) | 54 | sitecing_enflesher(sitecing_parser& p) |
50 | : parser(p), anchor_time(true) { } | 55 | : parser(p), anchor_time(true) { } |
51 | 56 | ||
52 | /** | 57 | /** |
53 | * Do the job. | 58 | * Do the job. |
54 | */ | 59 | */ |
55 | void enflesh(); | 60 | void enflesh(); |
56 | 61 | ||
57 | virtual void LexerOutput(const char *buf,int size); | 62 | virtual void LexerOutput(const char *buf,int size); |
58 | virtual int yylex(); | 63 | virtual int yylex(); |
59 | 64 | ||
60 | /** | 65 | /** |
61 | * Put a #line anchor into output. | 66 | * Put a #line anchor into output. |
62 | */ | 67 | */ |
63 | void anchor(); | 68 | void anchor(); |
69 | |||
70 | /** | ||
71 | * Close previously opened output stream, rename to the 'correct' | ||
72 | * destination filename, if needed, and open new file. | ||
73 | * @see outs | ||
74 | * @see outs_filename | ||
75 | */ | ||
76 | void outs_open(const string& nfile); | ||
64 | }; | 77 | }; |
65 | 78 | ||
66 | #endif /* __SITECING_SITECING_ENFLESHER_H */ | 79 | #endif /* __SITECING_SITECING_ENFLESHER_H */ |