flexlexer.h File Reference

updated Sun May 12 2024 by Robert van Engelen
 
Classes | Namespaces | Macros
flexlexer.h File Reference

RE/flex Flex-compatible FlexLexer base class and Flex-compatible macros. More...

#include <reflex/abslexer.h>
Include dependency graph for flexlexer.h:

Classes

class  reflex::FlexLexer< M >
 Flex-compatible FlexLexer abstract base class template derived from reflex::AbstractMatcher for the reflex-generated yyFlexLexer scanner class. More...
 
class  reflex::FlexLexer< M >::Matcher
 Extends reflex::AbstractLexer<M>::Matcher for Flex-compatibility. More...
 

Namespaces

 reflex
 

Macros

#define YY_USER_INIT
 Flex-compatible user-definable macro. More...
 
#define YY_USER_ACTION
 Flex-compatible user-definable macro. More...
 
#define YY_BREAK   break;
 Flex-compatible user-definable macro. More...
 
#define YY_SCANNER   (*this)
 Flex and Bison-compatible %option bison generates a global YY_SCANNER scanner object, otherwise we use *this. More...
 
#define YY_SCANNER_DOT_
 
#define YY_NULL   (0)
 Flex-compatible macro: the token value returned upon end-of-file. More...
 
#define YY_EXIT_FAILURE   (2)
 Flex-compatible macro: exit error code. More...
 
#define YY_BUF_SIZE   (16384)
 Flex-compatible macro: size of default input buffer (not applicable to RE/flex, buffer is dynamic). More...
 
#define yy_state_type   int
 Flex-compatible macro: the type of a state variable. More...
 
#define yy_size_t   size_t
 Flex-compatible macro: yy_size_t type of yyleng. More...
 
#define yy_buffer_state   FlexLexer::AbstractBaseLexer::Matcher
 Flex-compatible macro: the type of the scanner buffer. More...
 
#define YY_BUFFER_STATE   yy_buffer_state*
 Flex-compatible macro: a pointer to the type of the scanner buffer. More...
 
#define ECHO   YY_SCANNER_DOT_ LexerOutput(yytext, yyleng)
 Flex-compatible macro: ECHO action to output the content of yytext. More...
 
#define BEGIN   YY_SCANNER_DOT_ start_ =
 Flex-compatible macro: BEGIN action to set a start condition. More...
 
#define YYSTATE   YY_SCANNER_DOT_ start()
 Flex-compatible macro: the current start condition. More...
 
#define YY_START   YY_SCANNER_DOT_ start()
 Flex-compatible macro: the current start condition. More...
 
#define yy_current_state   YY_SCANNER_DOT_ start()
 Flex-compatible macro: the current start condition. More...
 
#define YY_CURRENT_BUFFER   YY_SCANNER_DOT_ ptr_matcher()
 Flex-compatible macro: the current matcher buffer, NULL when scanner has not started. More...
 
#define YY_FLUSH_BUFFER   (YY_SCANNER_DOT_ has_matcher() ? YY_SCANNER_DOT_ matcher().flush() : (void)0)
 Flex-compatible macro: the buffer flush action. More...
 
#define yytext   const_cast<char*>(YY_SCANNER_DOT_ YYText())
 Flex-compatible macro: the matched text. More...
 
#define yyleng   static_cast<yy_size_t>(YY_SCANNER_DOT_ YYLeng())
 Flex-compatible macro: the matched text length. More...
 
#define yylineno   static_cast<int>(YY_SCANNER_DOT_ matcher().lineno())
 Flex-compatible macro: the line number of the matched text. More...
 
#define yycolumno   static_cast<int>(YY_SCANNER_DOT_ matcher().columno())
 Flex-compatible macro: the column number of the matched text. More...
 
#define yy_act   YY_SCANNER_DOT_ matcher().accept()
 Flex-compatible macro: the matched action index (use only when scanner has started). More...
 
#define yylook()    YY_SCANNER_DOT_ matcher().scan()
 Flex-compatible macro: the next action index (use only when scanner has started). More...
 
#define yyin   YY_SCANNER_DOT_ in()
 Flex-compatible macro: the current input, a reference to a reflex::Input object that can be a stream, file, or string. More...
 
#define yyout   YY_SCANNER_DOT_ os()
 Flex-compatible macro: the current output stream, points to std::ostream or NULL. More...
 
#define YY_AT_BOL()    YY_SCANNER_DOT_ matcher().at_bol()
 Flex-compatible macro: at-begin-of-line check (use only when scanner has started). More...
 
#define yy_set_bol(b)    YY_SCANNER_DOT_ matcher().set_bol(b)
 Flex-compatible macro: a begin-of-line forced set (use only when scanner has started). More...
 
#define yy_set_interactive(b)    YY_SCANNER_DOT_ matcher().buffer((b) ? 1 : 0)
 Flex-compatible macro: interactive mode on/off (use only when scanner has started). More...
 
#define yy_create_buffer(i, _)    YY_SCANNER_DOT_ new_matcher(i)
 Flex-compatible macro: create and return a new buffer (new reflex::Matcher). More...
 
#define yy_new_buffer(i, _)    YY_SCANNER_DOT_ new_matcher(i)
 Flex-compatible macro: create and return a new buffer (new reflex::Matcher). More...
 
#define yy_delete_buffer(b)    YY_SCANNER_DOT_ del_matcher(b)
 Flex-compatible macro: delete a buffer. More...
 
#define yy_flush_buffer(b)    ((b) ? (b)->flush() : (void)0)
 Flex-compatible macro: flush a buffer. More...
 
#define yypush_buffer_state(b)   YY_SCANNER_DOT_ push_matcher(b)
 Flex-compatible macro: push the current buffer on the stack to use the given buffer. More...
 
#define yypop_buffer_state()    YY_SCANNER_DOT_ pop_matcher()
 Flex-compatible macro: pop buffer from the stack and delete the current buffer. More...
 
#define yy_switch_to_buffer(b)   YY_SCANNER_DOT_ matcher(b)
 Flex-compatible macro: switch to another buffer. More...
 
#define yyrestart(i)    YY_SCANNER_DOT_ in(i)
 Flex-compatible macro: restart from the given input source. More...
 
#define yy_scan_string(i)    (YY_SCANNER_DOT_ in(i), static_cast<YY_BUFFER_STATE>(NULL))
 Flex-compatible macro: scan a string. More...
 
#define yy_scan_wstring(i)    yy_scan_string(i)
 
#define yy_scan_bytes(b, n)    yy_scan_string(reflex::Input((b), static_cast<size_t>(n)))
 
#define yy_scan_buffer(b, n)    (YY_SCANNER_DOT_ buffer((b), (n)-1), static_cast<YY_BUFFER_STATE>(NULL))
 
#define yyterminate()    return YY_NULL
 Flex-compatible macro: the terminating action. More...
 
#define yyinput()    YY_SCANNER_DOT_ input()
 Flex-compatible macro: read one 8-bit character, returns zero when EOF. More...
 
#define yywinput()    YY_SCANNER_DOT_ winput()
 Flex-compatible macro: read one wide character, returns zero when EOF. More...
 
#define yyunput(c)    YY_SCANNER_DOT_ unput(c)
 Flex-compatible macro: put one 8-bit character back onto the input stream to be read again. More...
 
#define yywunput(c)    YY_SCANNER_DOT_ wunput(c)
 Flex-compatible macro: put one wide character back onto the input stream to be read again. More...
 
#define yyoutput(c)    YY_SCANNER_DOT_ output(c)
 Flex-compatible macro: output one 8-bit character. More...
 
#define yywoutput(c)    YY_SCANNER_DOT_ woutput(c)
 Flex-compatible macro: woutput one wide character. More...
 
#define yy_push_state(n)    YY_SCANNER_DOT_ push_state(n)
 Flex-compatible macro: push the current start condition state on the stack and transition to the given state. More...
 
#define yy_pop_state()    YY_SCANNER_DOT_ pop_state()
 Flex-compatible macro: pop the stack start condition state and transition to that state. More...
 
#define yy_top_state()    YY_SCANNER_DOT_ top_state()
 Flex-compatible macro: returns the stack top start condition state. More...
 
#define yymore()    YY_SCANNER_DOT_ matcher().more()
 Flex-compatible macro: append the next matched text to the currently matched text (use only when scanner has started). More...
 
#define yyless(n)    YY_SCANNER_DOT_ matcher().less(n)
 Flex-compatible macro: truncate the yytext length of the match to n characters in length and reposition for next match (use only when scanner has started). More...
 
#define yy_flex_debug   YY_SCANNER_DOT_ debug_;
 Flex-compatible macro: the debug flag. More...
 

Detailed Description

RE/flex Flex-compatible FlexLexer base class and Flex-compatible macros.

Author
Robert van Engelen - engel.nosp@m.en@g.nosp@m.enivi.nosp@m.a.co.nosp@m.m

Macro Definition Documentation

#define BEGIN   YY_SCANNER_DOT_ start_ =

Flex-compatible macro: BEGIN action to set a start condition.

#define ECHO   YY_SCANNER_DOT_ LexerOutput(yytext, yyleng)

Flex-compatible macro: ECHO action to output the content of yytext.

#define yy_act   YY_SCANNER_DOT_ matcher().accept()

Flex-compatible macro: the matched action index (use only when scanner has started).

#define YY_AT_BOL ( )    YY_SCANNER_DOT_ matcher().at_bol()

Flex-compatible macro: at-begin-of-line check (use only when scanner has started).

#define YY_BREAK   break;

Flex-compatible user-definable macro.

#define YY_BUF_SIZE   (16384)

Flex-compatible macro: size of default input buffer (not applicable to RE/flex, buffer is dynamic).

#define yy_buffer_state   FlexLexer::AbstractBaseLexer::Matcher

Flex-compatible macro: the type of the scanner buffer.

#define YY_BUFFER_STATE   yy_buffer_state*

Flex-compatible macro: a pointer to the type of the scanner buffer.

#define yy_create_buffer (   i,
 
)    YY_SCANNER_DOT_ new_matcher(i)

Flex-compatible macro: create and return a new buffer (new reflex::Matcher).

#define YY_CURRENT_BUFFER   YY_SCANNER_DOT_ ptr_matcher()

Flex-compatible macro: the current matcher buffer, NULL when scanner has not started.

#define yy_current_state   YY_SCANNER_DOT_ start()

Flex-compatible macro: the current start condition.

#define yy_delete_buffer (   b)    YY_SCANNER_DOT_ del_matcher(b)

Flex-compatible macro: delete a buffer.

#define YY_EXIT_FAILURE   (2)

Flex-compatible macro: exit error code.

#define yy_flex_debug   YY_SCANNER_DOT_ debug_;

Flex-compatible macro: the debug flag.

#define YY_FLUSH_BUFFER   (YY_SCANNER_DOT_ has_matcher() ? YY_SCANNER_DOT_ matcher().flush() : (void)0)

Flex-compatible macro: the buffer flush action.

#define yy_flush_buffer (   b)    ((b) ? (b)->flush() : (void)0)

Flex-compatible macro: flush a buffer.

#define yy_new_buffer (   i,
 
)    YY_SCANNER_DOT_ new_matcher(i)

Flex-compatible macro: create and return a new buffer (new reflex::Matcher).

#define YY_NULL   (0)

Flex-compatible macro: the token value returned upon end-of-file.

#define yy_pop_state ( )    YY_SCANNER_DOT_ pop_state()

Flex-compatible macro: pop the stack start condition state and transition to that state.

#define yy_push_state (   n)    YY_SCANNER_DOT_ push_state(n)

Flex-compatible macro: push the current start condition state on the stack and transition to the given state.

#define yy_scan_buffer (   b,
 
)    (YY_SCANNER_DOT_ buffer((b), (n)-1), static_cast<YY_BUFFER_STATE>(NULL))
#define yy_scan_bytes (   b,
 
)    yy_scan_string(reflex::Input((b), static_cast<size_t>(n)))
#define yy_scan_string (   i)    (YY_SCANNER_DOT_ in(i), static_cast<YY_BUFFER_STATE>(NULL))

Flex-compatible macro: scan a string.

#define yy_scan_wstring (   i)    yy_scan_string(i)
#define YY_SCANNER   (*this)

Flex and Bison-compatible %option bison generates a global YY_SCANNER scanner object, otherwise we use *this.

#define YY_SCANNER_DOT_
#define yy_set_bol (   b)    YY_SCANNER_DOT_ matcher().set_bol(b)

Flex-compatible macro: a begin-of-line forced set (use only when scanner has started).

#define yy_set_interactive (   b)    YY_SCANNER_DOT_ matcher().buffer((b) ? 1 : 0)

Flex-compatible macro: interactive mode on/off (use only when scanner has started).

#define yy_size_t   size_t

Flex-compatible macro: yy_size_t type of yyleng.

#define YY_START   YY_SCANNER_DOT_ start()

Flex-compatible macro: the current start condition.

#define yy_state_type   int

Flex-compatible macro: the type of a state variable.

#define yy_switch_to_buffer (   b)    YY_SCANNER_DOT_ matcher(b)

Flex-compatible macro: switch to another buffer.

#define yy_top_state ( )    YY_SCANNER_DOT_ top_state()

Flex-compatible macro: returns the stack top start condition state.

#define YY_USER_ACTION

Flex-compatible user-definable macro.

#define YY_USER_INIT

Flex-compatible user-definable macro.

#define yycolumno   static_cast<int>(YY_SCANNER_DOT_ matcher().columno())

Flex-compatible macro: the column number of the matched text.

#define yyin   YY_SCANNER_DOT_ in()

Flex-compatible macro: the current input, a reference to a reflex::Input object that can be a stream, file, or string.

#define yyinput ( )    YY_SCANNER_DOT_ input()

Flex-compatible macro: read one 8-bit character, returns zero when EOF.

#define yyleng   static_cast<yy_size_t>(YY_SCANNER_DOT_ YYLeng())

Flex-compatible macro: the matched text length.

#define yyless (   n)    YY_SCANNER_DOT_ matcher().less(n)

Flex-compatible macro: truncate the yytext length of the match to n characters in length and reposition for next match (use only when scanner has started).

#define yylineno   static_cast<int>(YY_SCANNER_DOT_ matcher().lineno())

Flex-compatible macro: the line number of the matched text.

#define yylook ( )    YY_SCANNER_DOT_ matcher().scan()

Flex-compatible macro: the next action index (use only when scanner has started).

#define yymore ( )    YY_SCANNER_DOT_ matcher().more()

Flex-compatible macro: append the next matched text to the currently matched text (use only when scanner has started).

#define yyout   YY_SCANNER_DOT_ os()

Flex-compatible macro: the current output stream, points to std::ostream or NULL.

#define yyoutput (   c)    YY_SCANNER_DOT_ output(c)

Flex-compatible macro: output one 8-bit character.

#define yypop_buffer_state ( )    YY_SCANNER_DOT_ pop_matcher()

Flex-compatible macro: pop buffer from the stack and delete the current buffer.

#define yypush_buffer_state (   b)    YY_SCANNER_DOT_ push_matcher(b)

Flex-compatible macro: push the current buffer on the stack to use the given buffer.

#define yyrestart (   i)    YY_SCANNER_DOT_ in(i)

Flex-compatible macro: restart from the given input source.

#define YYSTATE   YY_SCANNER_DOT_ start()

Flex-compatible macro: the current start condition.

#define yyterminate ( )    return YY_NULL

Flex-compatible macro: the terminating action.

#define yytext   const_cast<char*>(YY_SCANNER_DOT_ YYText())

Flex-compatible macro: the matched text.

#define yyunput (   c)    YY_SCANNER_DOT_ unput(c)

Flex-compatible macro: put one 8-bit character back onto the input stream to be read again.

#define yywinput ( )    YY_SCANNER_DOT_ winput()

Flex-compatible macro: read one wide character, returns zero when EOF.

#define yywoutput (   c)    YY_SCANNER_DOT_ woutput(c)

Flex-compatible macro: woutput one wide character.

#define yywunput (   c)    YY_SCANNER_DOT_ wunput(c)

Flex-compatible macro: put one wide character back onto the input stream to be read again.