summaryrefslogtreecommitdiffabout
path: root/include/sitecing/sitecing_parser.h
Unidiff
Diffstat (limited to 'include/sitecing/sitecing_parser.h') (more/less context) (show whitespace changes)
-rw-r--r--include/sitecing/sitecing_parser.h16
1 files changed, 14 insertions, 2 deletions
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
@@ -9,24 +9,27 @@ using namespace std;
9 9
10#include "sitecing/component_factory.h" 10#include "sitecing/component_factory.h"
11using namespace sitecing; 11using namespace sitecing;
12 12
13/** 13/**
14 * @file 14 * @file
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/**
27 * The component source parser. 30 * The component source parser.
28 */ 31 */
29class sitecing_parser : public sitecing_parserFlexLexer { 32class sitecing_parser : public sitecing_parserFlexLexer {
30 public: 33 public:
31 /** 34 /**
32 * The ancestor class definition. 35 * The ancestor class definition.
@@ -302,33 +305,42 @@ class sitecing_parser : public sitecing_parserFlexLexer {
302 305
303 /** 306 /**
304 * @param f the component factory. 307 * @param f the component factory.
305 */ 308 */
306 sitecing_parser(component_factory& f); 309 sitecing_parser(component_factory& f);
307 310
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 */