flexlexer.h File Reference

updated Mon Apr 10 2017 by Robert van Engelen
 
Classes | Namespaces | Macros
flexlexer.h File Reference

RE/flex Flex-compatible FlexLexer base class and Lex/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_BUF_SIZE   (16384)
 Flex-compatible global yywrap() is enabled with %option yywrap or %option bison 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.LexerOutput(YYText(), YYLeng())
 Flex-compatible macro: ECHO action to output the content of yytext. More...
 
#define BEGIN   YY_SCANNER.start_ =
 Flex-compatible macro: BEGIN action to set a start condition. More...
 
#define YYSTATE   YY_SCANNER.start()
 Flex-compatible macro: the current start condition. More...
 
#define YY_START   YY_SCANNER.start()
 Flex-compatible macro: the current start condition. More...
 
#define yy_current_state   YY_SCANNER.start()
 Flex-compatible macro: the current start condition. More...
 
#define YY_CURRENT_BUFFER   YY_SCANNER.ptr_matcher()
 Flex-compatible macro: the current matcher buffer, NULL when scanner has not started. More...
 
#define YY_FLUSH_BUFFER   (YY_SCANNER.has_matcher() ? YY_SCANNER.matcher().flush() : (void)0)
 Flex-compatible macro: the buffer flush action. More...
 
#define yytext   const_cast<char*>(YY_SCANNER.YYText())
 Flex-compatible macro: the matched text. More...
 
#define yyleng   static_cast<yy_size_t>(YY_SCANNER.YYLeng())
 Flex-compatible macro: the matched text length. More...
 
#define yylineno   static_cast<int>(YY_SCANNER.matcher().lineno())
 Flex-compatible macro: the line number of the matched text. More...
 
#define yy_act   YY_SCANNER.matcher().accept()
 Flex-compatible macro: the matched action index (use only when scanner has started). More...
 
#define yyin   YY_SCANNER.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.os_
 Flex-compatible macro: the current output stream. More...
 
#define YY_AT_BOL()    YY_SCANNER.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.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.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.new_matcher(i)
 Flex-compatible macro: create and return a new buffer. More...
 
#define yy_delete_buffer(b)    YY_SCANNER.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.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.pop_matcher()
 Flex-compatible macro: pop buffer from the stack and delete the current buffer. More...
 
#define yy_switch_to_buffer(b)   YY_SCANNER.matcher(b)
 Flex-compatible macro: switch to another buffer. More...
 
#define yyrestart(i)    YY_SCANNER.in(i)
 Flex-compatible macro: restart from the given input source. More...
 
#define yy_scan_string(i)    (YY_SCANNER.in(i),static_cast<YY_BUFFER_STATE>(NULL))
 Flex-compatible macro: scan a string, returns NULL buffer because we don't allocate anything. More...
 
#define yy_scan_buffer(i)    (YY_SCANNER.in(i),static_cast<YY_BUFFER_STATE>(NULL))
 
#define yy_scan_bytes(b, n)    (YY_SCANNER.in(std::string(b, n)),static_cast<YY_BUFFER_STATE>(NULL))
 Flex-compatible macro: scan raw bytes, returns NULL buffer because we don't allocate anything. More...
 
#define yyterminate()    return 0
 Flex-compatible macro: the terminating action. More...
 
#define yyinput()    YY_SCANNER.input()
 Flex-compatible macro: read one character, returns zero when EOF. More...
 
#define yyunput(c)    YY_SCANNER.unput(c)
 Flex-compatible macro: put one character back onto the input stream to be read again. More...
 
#define yyoutput(c)    YY_SCANNER.output(c)
 Flex-compatible macro: output one character. More...
 
#define yymore()    YY_SCANNER.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.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.debug_;
 Flex-compatible macro: the debug flag. More...
 

Detailed Description

RE/flex Flex-compatible FlexLexer base class and Lex/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.start_ =

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

#define ECHO   YY_SCANNER.LexerOutput(YYText(), YYLeng())

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

#define yy_act   YY_SCANNER.matcher().accept()

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

#define YY_AT_BOL ( )    YY_SCANNER.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 global yywrap() is enabled with %option yywrap or %option bison

Flex-compatible macro: size of default input buffer.

#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.new_matcher(i)

Flex-compatible macro: create and return a new buffer.

#define YY_CURRENT_BUFFER   YY_SCANNER.ptr_matcher()

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

#define yy_current_state   YY_SCANNER.start()

Flex-compatible macro: the current start condition.

#define yy_delete_buffer (   b)    YY_SCANNER.del_matcher(b)

Flex-compatible macro: delete a buffer.

#define yy_flex_debug   YY_SCANNER.debug_;

Flex-compatible macro: the debug flag.

#define YY_FLUSH_BUFFER   (YY_SCANNER.has_matcher() ? YY_SCANNER.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_scan_buffer (   i)    (YY_SCANNER.in(i),static_cast<YY_BUFFER_STATE>(NULL))
#define yy_scan_bytes (   b,
 
)    (YY_SCANNER.in(std::string(b, n)),static_cast<YY_BUFFER_STATE>(NULL))

Flex-compatible macro: scan raw bytes, returns NULL buffer because we don't allocate anything.

#define yy_scan_string (   i)    (YY_SCANNER.in(i),static_cast<YY_BUFFER_STATE>(NULL))

Flex-compatible macro: scan a string, returns NULL buffer because we don't allocate anything.

#define YY_SCANNER   (*this)

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

#define yy_set_bol (   b)    YY_SCANNER.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.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.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.matcher(b)

Flex-compatible macro: switch to another buffer.

#define YY_USER_ACTION

Flex-compatible user-definable macro.

#define YY_USER_INIT

Flex-compatible user-definable macro.

#define yyin   YY_SCANNER.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.input()

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

#define yyleng   static_cast<yy_size_t>(YY_SCANNER.YYLeng())

Flex-compatible macro: the matched text length.

#define yyless (   n)    YY_SCANNER.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.matcher().lineno())

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

#define yymore ( )    YY_SCANNER.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.os_

Flex-compatible macro: the current output stream.

#define yyoutput (   c)    YY_SCANNER.output(c)

Flex-compatible macro: output one character.

#define yypop_buffer_state ( )    YY_SCANNER.pop_matcher()

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

#define yypush_buffer_state (   b)    YY_SCANNER.push_matcher(b)

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

#define yyrestart (   i)    YY_SCANNER.in(i)

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

#define YYSTATE   YY_SCANNER.start()

Flex-compatible macro: the current start condition.

#define yyterminate ( )    return 0

Flex-compatible macro: the terminating action.

#define yytext   const_cast<char*>(YY_SCANNER.YYText())

Flex-compatible macro: the matched text.

#define yyunput (   c)    YY_SCANNER.unput(c)

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