Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

/ray/src/lib/lex/scannerbase.cc File Reference

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Defines

#define YY_NO_UNPUT
#define PI_TOK()   do { yyextra->_pi_tok(yyleng); } while(0)
#define PI_TOKL(l)   do { yyextra->_pi_tok(l); } while(0)
 Version of PI_TOK with explicit length spec.

#define PI_TAB()   do { yyextra->_pi_tab(); } while(0)
 To be called when "eating" a tab character.

#define PI_LINE()   do { yyextra->_pi_line(); } while(0)
 To be called after having read a newline.

#define PI_CHAR(c)   do { yyextra->_pi_char(c); } while(0)
 To be called after having read the passed character.

#define PI_STR(str, len)   do { yyextra->_pi_str(str,len); } while(0)
 To be called after having read the passed string which possibly contains special chars (newline, tab, return).

#define PI_START()   do { yyextra->_pi_start(); } while(0)
 Make current pos the beginning of a token. Call after whitespace and comments.

#define PI_EOF()   do { yyextra->_pi_eof(); } while(0)
 Called when EOF (on current input) is "read".

#define YY_INPUT(buf, result, max_size)
 Called by the lexer to get more input.

#define YY_SCANNER_MAGIC
#define YY_NO_UNPUT
#define PI_TOK()   do { yyextra->_pi_tok(yyleng); } while(0)
#define PI_TOKL(l)   do { yyextra->_pi_tok(l); } while(0)
 Version of PI_TOK with explicit length spec.

#define PI_TAB()   do { yyextra->_pi_tab(); } while(0)
 To be called when "eating" a tab character.

#define PI_LINE()   do { yyextra->_pi_line(); } while(0)
 To be called after having read a newline.

#define PI_CHAR(c)   do { yyextra->_pi_char(c); } while(0)
 To be called after having read the passed character.

#define PI_STR(str, len)   do { yyextra->_pi_str(str,len); } while(0)
 To be called after having read the passed string which possibly contains special chars (newline, tab, return).

#define PI_START()   do { yyextra->_pi_start(); } while(0)
 Make current pos the beginning of a token. Call after whitespace and comments.

#define PI_EOF()   do { yyextra->_pi_eof(); } while(0)
 Called when EOF (on current input) is "read".

#define YY_INPUT(buf, result, max_size)
 Called by the lexer to get more input.

#define YY_SCANNER_MAGIC


Detailed Description

Author:
Wolfgang Wieser ] wwieser (a) gmx <*> de [
This is meant to provide some object-oriented glue for re-entrant flex(1)-based scanners.

The design here is semi-clean in that you need to #include files into your flex file but unfortunately we cannot get around the code duplication.

You can have several re-entrant flex scanner (which differ in the underlaying grammar) in one application but in this case you MUST supply differnet name prefixes using option prefix="BLAH" AND supply the same prefix with the FLEX_PREFIX define. flex(1) will then put this prefix at the beginning of all exported symbols and hence the different scanners will not collide at link time. However, that same reason requires that we include the basically same class code into each flex file separately. The files included just "look" the same but the ARE actually NOT the same after expanding all the flex-based macros used in them.

Well, sign, staying reasonable, we cannot change that...

Please also read docu in file scannerbase.h.

Definition in file scannerbase.cc.


Define Documentation

#define PI_CHAR  )     do { yyextra->_pi_char(c); } while(0)
 

To be called after having read the passed character.

Definition at line 77 of file scannerbase.cc.

#define PI_CHAR  )     do { yyextra->_pi_char(c); } while(0)
 

To be called after having read the passed character.

Definition at line 77 of file scannerbase.cc.

 
#define PI_EOF  )     do { yyextra->_pi_eof(); } while(0)
 

Called when EOF (on current input) is "read".

Definition at line 85 of file scannerbase.cc.

 
#define PI_EOF  )     do { yyextra->_pi_eof(); } while(0)
 

Called when EOF (on current input) is "read".

Definition at line 85 of file scannerbase.cc.

 
#define PI_LINE  )     do { yyextra->_pi_line(); } while(0)
 

To be called after having read a newline.

Definition at line 75 of file scannerbase.cc.

 
#define PI_LINE  )     do { yyextra->_pi_line(); } while(0)
 

To be called after having read a newline.

Definition at line 75 of file scannerbase.cc.

 
#define PI_START  )     do { yyextra->_pi_start(); } while(0)
 

Make current pos the beginning of a token. Call after whitespace and comments.

Definition at line 83 of file scannerbase.cc.

 
#define PI_START  )     do { yyextra->_pi_start(); } while(0)
 

Make current pos the beginning of a token. Call after whitespace and comments.

Definition at line 83 of file scannerbase.cc.

#define PI_STR str,
len   )     do { yyextra->_pi_str(str,len); } while(0)
 

To be called after having read the passed string which possibly contains special chars (newline, tab, return).

Definition at line 80 of file scannerbase.cc.

#define PI_STR str,
len   )     do { yyextra->_pi_str(str,len); } while(0)
 

To be called after having read the passed string which possibly contains special chars (newline, tab, return).

Definition at line 80 of file scannerbase.cc.

 
#define PI_TAB  )     do { yyextra->_pi_tab(); } while(0)
 

To be called when "eating" a tab character.

Definition at line 73 of file scannerbase.cc.

 
#define PI_TAB  )     do { yyextra->_pi_tab(); } while(0)
 

To be called when "eating" a tab character.

Definition at line 73 of file scannerbase.cc.

 
#define PI_TOK  )     do { yyextra->_pi_tok(yyleng); } while(0)
 

To be called after having read a token which does not contain a newline or other spacing chars (such as tabs).

Definition at line 69 of file scannerbase.cc.

 
#define PI_TOK  )     do { yyextra->_pi_tok(yyleng); } while(0)
 

To be called after having read a token which does not contain a newline or other spacing chars (such as tabs).

Definition at line 69 of file scannerbase.cc.

#define PI_TOKL  )     do { yyextra->_pi_tok(l); } while(0)
 

Version of PI_TOK with explicit length spec.

Definition at line 71 of file scannerbase.cc.

#define PI_TOKL  )     do { yyextra->_pi_tok(l); } while(0)
 

Version of PI_TOK with explicit length spec.

Definition at line 71 of file scannerbase.cc.

#define YY_INPUT buf,
result,
max_size   ) 
 

Value:

{ \
        _InternalFlexScannerBase::LexerInput *inp= \
            (_InternalFlexScannerBase::LexerInput*)yyin;  \
        ssize_t res=inp->read(buf,max_size); \
        if(res<0)     \
        {  abort();  }  \
        result=res;  \
    }
Called by the lexer to get more input.

Definition at line 88 of file scannerbase.cc.

#define YY_INPUT buf,
result,
max_size   ) 
 

Value:

{ \
        _InternalFlexScannerBase::LexerInput *inp= \
            (_InternalFlexScannerBase::LexerInput*)yyin;  \
        ssize_t res=inp->read(buf,max_size); \
        if(res<0)     \
        {  abort();  }  \
        result=res;  \
    }
Called by the lexer to get more input.

Definition at line 88 of file scannerbase.cc.

#define YY_NO_UNPUT
 

Definition at line 53 of file scannerbase.cc.

#define YY_NO_UNPUT
 

Definition at line 53 of file scannerbase.cc.

#define YY_SCANNER_MAGIC
 

Value:

yyscan_t yyscanner=scanner; \
      \
    struct yyguts_t *yyg = (struct yyguts_t*)yyscanner;

Definition at line 100 of file scannerbase.cc.

#define YY_SCANNER_MAGIC
 

Value:

yyscan_t yyscanner=scanner; \
      \
    struct yyguts_t *yyg = (struct yyguts_t*)yyscanner;

Definition at line 100 of file scannerbase.cc.


Generated on Sat Feb 19 22:34:01 2005 for Ray by doxygen 1.3.5