|
| PatternMatcher (const PatternMatcher &matcher) |
| Copy constructor, the underlying pattern object is shared (not deep copied). More...
|
|
virtual | ~PatternMatcher () |
| Delete matcher, deletes pattern when owned. More...
|
|
virtual PatternMatcher & | pattern (const PatternMatcher &matcher) |
| Set the pattern to use with this matcher as a shared pointer to another matcher pattern. More...
|
|
virtual PatternMatcher & | pattern (const Pattern &pattern) |
| Set the pattern to use with this matcher (the given pattern is shared and must be persistent). More...
|
|
virtual PatternMatcher & | pattern (const Pattern *pattern) |
| Set the pattern to use with this matcher (the given pattern is shared and must be persistent). More...
|
|
virtual PatternMatcher & | pattern (const char *pattern) |
| Set the pattern from a regex string to use with this matcher. More...
|
|
virtual PatternMatcher & | pattern (const std::string &pattern) |
| Set the pattern from a regex string to use with this matcher. More...
|
|
bool | has_pattern () const |
| Returns true if this matcher has a pattern. More...
|
|
bool | own_pattern () const |
| Returns true if this matcher has its own pattern not received from another matcher (responsible to delete). More...
|
|
const Pattern & | pattern () const |
| Returns a reference to the pattern object associated with this matcher. More...
|
|
virtual void | reset (const char *opt=NULL) |
| Reset this matcher's state to the initial state and set options (when provided). More...
|
|
bool | buffer (size_t blk=0) |
| Set buffer block size for reading: use 1 for interactive input, 0 (or omit argument) to buffer all input in which case returns true if all the data could be read and false if a read error occurred. More...
|
|
void | interactive () |
| Set buffer to 1 for interactive input. More...
|
|
void | flush () |
| Flush the buffer's remaining content. More...
|
|
virtual AbstractMatcher & | input (const Input &input) |
| Set the input character sequence for this matcher and reset/restart the matcher. More...
|
|
AbstractMatcher & | buffer (char *base, size_t size) |
| Set the buffer base containing 0-terminated character data to scan in place (data may be modified), reset/restart the matcher. More...
|
|
size_t | matches () |
| Returns nonzero capture index (i.e. true) if the entire input matches this matcher's pattern (and internally caches the true/false result for repeat invocations). More...
|
|
size_t | accept () const |
| Returns a positive integer (true) indicating the capture index of the matched text in the pattern or zero (false) for a mismatch. More...
|
|
const char * | begin () const |
| Returns pointer to the begin of the matched text (non-0-terminated), a constant-time operation, use with end() or use size() for text end/length. More...
|
|
const char * | end () const |
| Returns pointer to the end of the matched text, a constant-time operation. More...
|
|
const char * | text () |
| Returns 0-terminated string of the text matched, does not include matched \0s, a constant-time operation. More...
|
|
std::string | str () const |
| Returns the text matched as a string, a copy of text(), may include matched \0s. More...
|
|
std::wstring | wstr () const |
| Returns the match as a wide string, converted from UTF-8 text(), may include matched \0s. More...
|
|
size_t | size () const |
| Returns the length of the matched text in number of bytes, including matched \0s, a constant-time operation. More...
|
|
size_t | wsize () const |
| Returns the length of the matched text in number of wide characters. More...
|
|
int | chr () const |
| Returns the first 8-bit character of the text matched. More...
|
|
int | wchr () const |
| Returns the first wide character of the text matched. More...
|
|
size_t | lineno () |
| Updates and returns the starting line number of the match in the input character sequence. More...
|
|
size_t | lines () const |
| Returns the number of lines that the match spans. More...
|
|
size_t | columno () |
| Updates and returns the starting column number of matched text, taking tab spacing into account and counting wide characters as one character each (unless compiled with WITH_BYTE_COLUMNO). More...
|
|
size_t | columns () const |
| Returns the number of columns of the last line (or the single line of matched text) in the matched text, taking tab spacing into account and counting wide characters as one character each (unless compiled with WITH_BYTE_COLUMNO). More...
|
|
std::pair< size_t, std::string > | pair () const |
| Returns std::pair<size_t,std::string>(accept(), str()), useful for tokenizing input into containers of pairs. More...
|
|
std::pair< size_t, std::wstring > | wpair () const |
| Returns std::pair<size_t,std::wstring>(accept(), wstr()), useful for tokenizing input into containers of pairs. More...
|
|
size_t | first () const |
| Returns the position of the first character of the match in the input character sequence, a constant-time operation. More...
|
|
size_t | last () const |
| Returns the position of the last character + 1 of the match in the input character sequence, a constant-time operation. More...
|
|
bool | at_bob () const |
| Returns true if this matcher is at the start of a buffer to read an input character sequence. Use reset() to restart reading new input. More...
|
|
void | set_bob (bool bob) |
| Set/reset the begin of a buffer state. More...
|
|
bool | at_end () |
| Returns true if this matcher has no more input to read from the input character sequence. More...
|
|
bool | hit_end () const |
| Returns true if this matcher hit the end of the input character sequence. More...
|
|
void | set_end (bool eof) |
| Set and force the end of input state. More...
|
|
bool | at_bol () const |
| Returns true if this matcher reached the begin of a new line. More...
|
|
void | set_bol (bool bol) |
| Set/reset the begin of a new line state. More...
|
|
bool | at_bow () |
| Returns true if this matcher matched text that begins a word. More...
|
|
bool | at_eow () |
| Returns true if this matcher matched text that ends a word. More...
|
|
int | input () |
| Returns the next 8-bit character (unsigned char 0..255 or EOF) from the input character sequence, while preserving the current text() match (but pointer returned by text() may change; warning: does not preserve the yytext string pointer when options –flex and –bison are used). More...
|
|
int | winput () |
| Returns the next wide character (unsigned 0..U+10FFFF or EOF) from the input character sequence, while preserving the current text() match (but pointer returned by text() may change; warning: does not preserve the yytext string pointer when options –flex and –bison are used). More...
|
|
void | unput (char c) |
| Put back one character (8-bit) on the input character sequence for matching, invalidates the current match info and text, unput is not honored when matching in-place using buffer(base, size) and nothing has been read yet. More...
|
|
int | peek () |
| Peek at the next character available for reading from the current input source. More...
|
|
const char * | rest () |
| Fetch the rest of the input as text, useful for searching/splitting up to n times after which the rest is needed. More...
|
|
void | more () |
| Append the next match to the currently matched text returned by AbstractMatcher::text, when the next match found is adjacent to the current match. More...
|
|
void | less (size_t n) |
| Truncate the AbstractMatcher::text length of the match to n characters in length and reposition for next match. More...
|
|
| operator size_t () const |
| Cast this matcher to positive integer indicating the nonzero capture index of the matched text in the pattern, same as AbstractMatcher::accept. More...
|
|
| operator std::string () const |
| Cast this matcher to a std::string of the text matched by this matcher. More...
|
|
| operator std::wstring () const |
| Cast this matcher to a std::wstring of the text matched by this matcher. More...
|
|
| operator std::pair< size_t, std::string > () const |
| Cast the match to std::pair<size_t,std::wstring>(accept(), wstr()), useful for tokenization into containers. More...
|
|
bool | operator== (const char *rhs) const |
| Returns true if matched text is equal to a string, useful for std::algorithm. More...
|
|
bool | operator== (const std::string &rhs) const |
| Returns true if matched text is equalt to a string, useful for std::algorithm. More...
|
|
bool | operator== (size_t rhs) const |
| Returns true if capture index is equal to a given size_t value, useful for std::algorithm. More...
|
|
bool | operator== (int rhs) const |
| Returns true if capture index is equal to a given int value, useful for std::algorithm. More...
|
|
bool | operator!= (const char *rhs) const |
| Returns true if matched text is not equal to a string, useful for std::algorithm. More...
|
|
bool | operator!= (const std::string &rhs) const |
| Returns true if matched text is not equal to a string, useful for std::algorithm. More...
|
|
bool | operator!= (size_t rhs) const |
| Returns true if capture index is not equal to a given size_t value, useful for std::algorithm. More...
|
|
bool | operator!= (int rhs) const |
| Returns true if capture index is not equal to a given int value, useful for std::algorithm. More...
|
|
virtual std::pair< const char *, size_t > | operator[] (size_t n) const =0 |
| Returns captured text as a std::pair<const char*,size_t> with string pointer (non-0-terminated) and length. More...
|
|
void | tabs (char n) |
| Set tab size 1, 2, 4, or 8. More...
|
|
char | tabs () |
| Returns current tab size 1, 2, 4, or 8. More...
|
|
|
| PatternMatcher (const Pattern *pattern=NULL, const Input &input=Input(), const char *opt=NULL) |
| Construct a base abstract matcher from a pointer to a persistent pattern object (that is shared with this class) and an input character sequence. More...
|
|
| PatternMatcher (const Pattern &pattern, const Input &input=Input(), const char *opt=NULL) |
|
| PatternMatcher (const char *pattern, const Input &input=Input(), const char *opt=NULL) |
| Construct a base abstract matcher from a regex pattern string and an input character sequence. More...
|
|
| PatternMatcher (const std::string &pattern, const Input &input=Input(), const char *opt=NULL) |
| Construct a base abstract matcher from a regex pattern string and an input character sequence. More...
|
|
| AbstractMatcher (const Input &input, const char *opt) |
| Construct a base abstract matcher. More...
|
|
| AbstractMatcher (const Input &input, const Option &opt) |
| Construct a base abstract matcher. More...
|
|
virtual | ~AbstractMatcher () |
| Delete abstract matcher, deletes this matcher's internal buffer. More...
|
|
virtual void | init (const char *opt=NULL) |
| Initialize the base abstract matcher at construction. More...
|
|
virtual size_t | get (char *s, size_t n) |
| Returns more input directly from the source (method can be overriden, as by reflex::FlexLexer::get(s, n) for example that invokes reflex::FlexLexer::LexerInput(s, n)). More...
|
|
virtual bool | wrap () |
| Returns true if wrapping of input after EOF is supported. More...
|
|
virtual size_t | match (Method method)=0 |
| The abstract match operation implemented by pattern matching engines derived from AbstractMatcher. More...
|
|
bool | grow (size_t need=Const::BLOCK) |
| Shift or expand the internal buffer when it is too small to accommodate more input, where the buffer size is doubled when needed. More...
|
|
int | get () |
| Returns the next character read from the current input source. More...
|
|
void | reset_text () |
| Reset the matched text by removing the terminating \0, which is needed to search for a new match. More...
|
|
void | set_current (size_t loc) |
| Set the current position in the buffer for the next match. More...
|
|
void | set_current_match (size_t loc) |
| Set the current match position in the buffer. More...
|
|
int | get_more () |
| Get the next character and grow the buffer to make more room if necessary. More...
|
|
int | peek_more () |
| Peek at the next character and grow the buffer to make more room if necessary. More...
|
|
void | update () |
| Update the newline count, column count, and character count when shifting the buffer. More...
|
|
template<typename P>
class reflex::PatternMatcher< P >
The pattern matcher class template extends abstract matcher base class.
More info TODO
- Template Parameters
-
<P> | pattern class to instantiate a matcher |