|  | flexlexer.h File Reference updated Fri May 16 2025 by Robert van Engelen |

- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

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

Copyright
  (c) 2016-2020, Robert van Engelen, Genivia Inc. All rights reserved.
  (c) BSD-3 License - see LICENSE.txt

## 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,
|  |  | n
| ) |  | (YY_SCANNER_DOT_ buffer((b), (n)-1), static_cast<YY_BUFFER_STATE>(NULL))

#define yy_scan_bytes | ( |  | b,
|  |  | n
| ) |  | 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.