summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--include/sitecing/sitecing_enflesher.h18
-rw-r--r--include/sitecing/sitecing_parser.h16
2 files changed, 29 insertions, 5 deletions
diff --git a/include/sitecing/sitecing_enflesher.h b/include/sitecing/sitecing_enflesher.h
index db15bc3..9eefdcc 100644
--- a/include/sitecing/sitecing_enflesher.h
+++ b/include/sitecing/sitecing_enflesher.h
@@ -10,12 +10,15 @@ using namespace std;
10 * @brief The preprocessed source builder. 10 * @brief The preprocessed source builder.
11 */ 11 */
12 12
13#ifndef sitecing_enflesher_flexlexer_once 13#ifndef sitecing_enflesher_flexlexer_once
14#define sitecing_enflesher_flexlexer_once 14#define sitecing_enflesher_flexlexer_once
15#undef yyFlexLexer 15#undef yyFlexLexer
16/**
17 * nevermind me
18 */
16#define yyFlexLexer sitecing_enflesherFlexLexer 19#define yyFlexLexer sitecing_enflesherFlexLexer
17#include <FlexLexer.h> 20#include <FlexLexer.h>
18#undef yyFlexLexerOnce 21#undef yyFlexLexerOnce
19#endif 22#endif
20 23
21class sitecing_parser; 24class sitecing_parser;
@@ -23,17 +26,17 @@ class sitecing_parser;
23 * The enfleshing of the skeleton file according to the in-memory parsed 26 * The enfleshing of the skeleton file according to the in-memory parsed
24 * component source. 27 * component source.
25 */ 28 */
26class sitecing_enflesher : public sitecing_enflesherFlexLexer { 29class sitecing_enflesher : public sitecing_enflesherFlexLexer {
27 public: 30 public:
28 /** 31 /**
29 * It is time to anchor output with the #line directive. 32 * It is time to anchor output with the \#line directive.
30 */ 33 */
31 bool anchor_time; 34 bool anchor_time;
32 /** 35 /**
33 * The file currently being written is supposed to have #line 36 * The file currently being written is supposed to have \#line
34 * directives all around the place. 37 * directives all around the place.
35 */ 38 */
36 bool anchoraged; 39 bool anchoraged;
37 /** 40 /**
38 * The reference to the parser object containg the parsed source. 41 * The reference to the parser object containg the parsed source.
39 */ 42 */
@@ -56,17 +59,26 @@ class sitecing_enflesher : public sitecing_enflesherFlexLexer {
56 59
57 /** 60 /**
58 * Do the job. 61 * Do the job.
59 */ 62 */
60 void enflesh(); 63 void enflesh();
61 64
65 /**
66 * Output parsed data
67 * @param buf pointer to the data
68 * @param size length of the buffer pointed by buf
69 */
62 virtual void LexerOutput(const char *buf,int size); 70 virtual void LexerOutput(const char *buf,int size);
71 /**
72 * Lexer generated by flex
73 * @return zero on success
74 */
63 virtual int yylex(); 75 virtual int yylex();
64 76
65 /** 77 /**
66 * Put a #line anchor into output. 78 * Put a \#line anchor into output.
67 */ 79 */
68 void anchor(); 80 void anchor();
69 81
70 /** 82 /**
71 * Close previously opened output stream, rename to the 'correct' 83 * Close previously opened output stream, rename to the 'correct'
72 * destination filename, if needed, and open new file. 84 * destination filename, if needed, and open new file.
diff --git a/include/sitecing/sitecing_parser.h b/include/sitecing/sitecing_parser.h
index a53ef22..bcabc5c 100644
--- a/include/sitecing/sitecing_parser.h
+++ b/include/sitecing/sitecing_parser.h
@@ -15,12 +15,15 @@ using namespace sitecing;
15 * @brief The component source parser. 15 * @brief The component source parser.
16 */ 16 */
17 17
18#ifndef sitecing_parser_flexlexer_once 18#ifndef sitecing_parser_flexlexer_once
19#define sitecing_parser_flexlexer_once 19#define sitecing_parser_flexlexer_once
20#undef yyFlexLexer 20#undef yyFlexLexer
21/**
22 * nevermind me
23 */
21#define yyFlexLexer sitecing_parserFlexLexer 24#define yyFlexLexer sitecing_parserFlexLexer
22#include <FlexLexer.h> 25#include <FlexLexer.h>
23#undef yyFlexLexerOnce 26#undef yyFlexLexerOnce
24#endif 27#endif
25 28
26/** 29/**
@@ -308,27 +311,36 @@ class sitecing_parser : public sitecing_parserFlexLexer {
308 /** 311 /**
309 * Preprocess file. 312 * Preprocess file.
310 * @param in input file name. 313 * @param in input file name.
311 */ 314 */
312 void preprocess(const string& in); 315 void preprocess(const string& in);
313 316
317 /**
318 * Output parsed data
319 * @param buf pointer to the data
320 * @param size length of the buffer pointed by buf
321 */
314 virtual void LexerOutput(const char *buf,int size); 322 virtual void LexerOutput(const char *buf,int size);
323 /**
324 * Lexer generated by flex
325 * @return zero on success
326 */
315 virtual int yylex(); 327 virtual int yylex();
316 328
317 /** 329 /**
318 * Retrieve reference to the to of the modes stack. 330 * Retrieve reference to the to of the modes stack.
319 * @return the reference in question. 331 * @return the reference in question.
320 */ 332 */
321 modus_operandi& M() { 333 modus_operandi& M() {
322 return modi.front(); 334 return modi.front();
323 } 335 }
324 /** 336 /**
325 * Anchor the output with the #line, if we're not in the text output mode. 337 * Anchor the output with the \#line, if we're not in the text output mode.
326 */ 338 */
327 void soft_anchor(); 339 void soft_anchor();
328 /** 340 /**
329 * Anchor the output with the #line directive, changing to the appropriate output mode if needed. 341 * Anchor the output with the \#line directive, changing to the appropriate output mode if needed.
330 */ 342 */
331 void anchor(); 343 void anchor();
332}; 344};
333 345
334#endif /* __SITECING_SITECING_PARSER_H */ 346#endif /* __SITECING_SITECING_PARSER_H */