diff --git a/README.md b/README.md index c5065090a..a22c65466 100644 --- a/README.md +++ b/README.md @@ -418,6 +418,7 @@ Changelog - Aug 21, 2018: 1.0.9 fixed reflex regex library matching with range quantifiers by correcting coding typo. - Dec 8, 2018: 1.0.10 fixed `columno()` to take tab spacing into account. - Jan 18, 2019: 1.0.11 fixed GCC 8.2 warnings, additional enhancements. +- Jan 21, 2019: 1.0.12 the reflex tool now reads files using `reflex::Input`. [logo-url]: https://www.genivia.com/images/reflex-logo.png [reflex-url]: https://www.genivia.com/reflex.html diff --git a/bin/reflex.exe b/bin/reflex.exe index b45b14517..e899a8087 100755 Binary files a/bin/reflex.exe and b/bin/reflex.exe differ diff --git a/doc/html/abslexer_8h.html b/doc/html/abslexer_8h.html index c32c74346..9eb8683ad 100644 --- a/doc/html/abslexer_8h.html +++ b/doc/html/abslexer_8h.html @@ -21,7 +21,7 @@
abslexer.h File Reference

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -102,7 +102,7 @@ +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/absmatcher_8h.html b/doc/html/absmatcher_8h.html index 99f641577..557b744aa 100644 --- a/doc/html/absmatcher_8h.html +++ b/doc/html/absmatcher_8h.html @@ -21,7 +21,7 @@
absmatcher.h File Reference

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -250,7 +250,7 @@

Function Documentation

+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/annotated.html b/doc/html/annotated.html index d86420232..22cfefef5 100644 --- a/doc/html/annotated.html +++ b/doc/html/annotated.html @@ -21,7 +21,7 @@
Class List

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -103,7 +103,7 @@
+Converted on Mon Jan 21 2019 21:57:11 by Doxygen 1.8.11
diff --git a/doc/html/bits_8h.html b/doc/html/bits_8h.html index d229b55d0..ff27e4765 100644 --- a/doc/html/bits_8h.html +++ b/doc/html/bits_8h.html @@ -21,7 +21,7 @@
bits.h File Reference

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -101,7 +101,7 @@
+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/boostmatcher_8h.html b/doc/html/boostmatcher_8h.html index 8f13817c3..0e8f16472 100644 --- a/doc/html/boostmatcher_8h.html +++ b/doc/html/boostmatcher_8h.html @@ -21,7 +21,7 @@
boostmatcher.h File Reference

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -102,7 +102,7 @@
+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/class_reflex-members.html b/doc/html/class_reflex-members.html index 303fd5932..c222787bb 100644 --- a/doc/html/class_reflex-members.html +++ b/doc/html/class_reflex-members.html @@ -21,7 +21,7 @@
Member List

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -74,7 +74,7 @@ get_starts(size_t &pos)Reflexprivate get_string(size_t &pos)Reflexprivate help(const char *message=NULL, const char *arg=NULL)Reflexprivate - inReflexprotected + inReflexprotected include(const std::string &filename)Reflexprivate inclusiveReflexprotected infileReflexprotected @@ -141,7 +141,7 @@
+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/class_reflex.html b/doc/html/class_reflex.html index a82999f05..487dab474 100644 --- a/doc/html/class_reflex.html +++ b/doc/html/class_reflex.html @@ -21,7 +21,7 @@
Reflex Class Reference

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -67,17 +67,18 @@
Collaboration graph
- - - - - - - - - - - + + + + + + + + + + + +
[legend]
@@ -179,9 +180,9 @@ - - - + + + @@ -2018,7 +2019,7 @@

Member Data Documentation

- +
std::string infile
 input file name More...
 
std::istream * in
 input stream with lex spec More...
 
reflex::Input in
 input lex spec More...
 
std::ostream * out
 output stream More...
 
@@ -2026,7 +2027,7 @@

Member Data Documentation

@@ -2036,7 +2037,7 @@

Member Data Documentation

- +
std::istream* Reflex::inreflex::Input Reflex::in
-

input stream with lex spec

+

input lex spec

@@ -2421,7 +2422,7 @@

Member Data Documentation

+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/class_reflex__coll__graph.map b/doc/html/class_reflex__coll__graph.map index 4e7883333..a13f51edc 100644 --- a/doc/html/class_reflex__coll__graph.map +++ b/doc/html/class_reflex__coll__graph.map @@ -1,13 +1,14 @@ - - - - - - - - - - - + + + + + + + + + + + + diff --git a/doc/html/class_reflex__coll__graph.md5 b/doc/html/class_reflex__coll__graph.md5 index 91ff0a357..584c3b15a 100644 --- a/doc/html/class_reflex__coll__graph.md5 +++ b/doc/html/class_reflex__coll__graph.md5 @@ -1 +1 @@ -923626afd1058ee0ef0b841f13c59111 \ No newline at end of file +35ee3ca61d36df0d3e194b0a946dfb35 \ No newline at end of file diff --git a/doc/html/class_reflex__coll__graph.png b/doc/html/class_reflex__coll__graph.png index 7b479a015..dd66db2fa 100644 Binary files a/doc/html/class_reflex__coll__graph.png and b/doc/html/class_reflex__coll__graph.png differ diff --git a/doc/html/classes.html b/doc/html/classes.html index 6522ef728..e17f36df3 100644 --- a/doc/html/classes.html +++ b/doc/html/classes.html @@ -21,7 +21,7 @@
Class Index

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -90,7 +90,7 @@
+Converted on Mon Jan 21 2019 21:57:11 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_abstract_lexer-members.html b/doc/html/classreflex_1_1_abstract_lexer-members.html index 5b10abf94..8d594dc02 100644 --- a/doc/html/classreflex_1_1_abstract_lexer-members.html +++ b/doc/html/classreflex_1_1_abstract_lexer-members.html @@ -21,7 +21,7 @@
Member List

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -102,7 +102,7 @@
+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_abstract_lexer.html b/doc/html/classreflex_1_1_abstract_lexer.html index 55ac5fd74..2892de280 100644 --- a/doc/html/classreflex_1_1_abstract_lexer.html +++ b/doc/html/classreflex_1_1_abstract_lexer.html @@ -21,7 +21,7 @@
reflex::AbstractLexer< M > Class Template Reference

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -1459,7 +1459,7 @@

Member Data Documentation

+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_abstract_lexer_1_1_matcher-members.html b/doc/html/classreflex_1_1_abstract_lexer_1_1_matcher-members.html index 51e485948..3f540989b 100644 --- a/doc/html/classreflex_1_1_abstract_lexer_1_1_matcher-members.html +++ b/doc/html/classreflex_1_1_abstract_lexer_1_1_matcher-members.html @@ -21,7 +21,7 @@
Member List

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -64,7 +64,7 @@
+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_abstract_lexer_1_1_matcher.html b/doc/html/classreflex_1_1_abstract_lexer_1_1_matcher.html index 78a52551e..9b6f9c154 100644 --- a/doc/html/classreflex_1_1_abstract_lexer_1_1_matcher.html +++ b/doc/html/classreflex_1_1_abstract_lexer_1_1_matcher.html @@ -21,7 +21,7 @@
reflex::AbstractLexer< M >::Matcher Class Reference

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -295,7 +295,7 @@

Member Data Documentation

+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_abstract_matcher-members.html b/doc/html/classreflex_1_1_abstract_matcher-members.html index 075403fce..996f7f089 100644 --- a/doc/html/classreflex_1_1_abstract_matcher-members.html +++ b/doc/html/classreflex_1_1_abstract_matcher-members.html @@ -21,7 +21,7 @@
Member List

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -146,7 +146,7 @@
+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_abstract_matcher.html b/doc/html/classreflex_1_1_abstract_matcher.html index 2897e7c80..02023b8bc 100644 --- a/doc/html/classreflex_1_1_abstract_matcher.html +++ b/doc/html/classreflex_1_1_abstract_matcher.html @@ -21,7 +21,7 @@
reflex::AbstractMatcher Class Reference

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -2656,7 +2656,7 @@

Member Data Documentation

+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_abstract_matcher_1_1_iterator-members.html b/doc/html/classreflex_1_1_abstract_matcher_1_1_iterator-members.html index 51570e807..9a3413326 100644 --- a/doc/html/classreflex_1_1_abstract_matcher_1_1_iterator-members.html +++ b/doc/html/classreflex_1_1_abstract_matcher_1_1_iterator-members.html @@ -21,7 +21,7 @@
Member List

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -74,7 +74,7 @@
+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_abstract_matcher_1_1_iterator.html b/doc/html/classreflex_1_1_abstract_matcher_1_1_iterator.html index 104200739..d880e1d65 100644 --- a/doc/html/classreflex_1_1_abstract_matcher_1_1_iterator.html +++ b/doc/html/classreflex_1_1_abstract_matcher_1_1_iterator.html @@ -21,7 +21,7 @@
reflex::AbstractMatcher::Iterator< T > Class Template Reference

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -539,7 +539,7 @@

Member Data Documentation

+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_abstract_matcher_1_1_operation-members.html b/doc/html/classreflex_1_1_abstract_matcher_1_1_operation-members.html index f48ed68e4..9e2818199 100644 --- a/doc/html/classreflex_1_1_abstract_matcher_1_1_operation-members.html +++ b/doc/html/classreflex_1_1_abstract_matcher_1_1_operation-members.html @@ -21,7 +21,7 @@
Member List

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -69,7 +69,7 @@
+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_abstract_matcher_1_1_operation.html b/doc/html/classreflex_1_1_abstract_matcher_1_1_operation.html index 8a98e3073..c87a00770 100644 --- a/doc/html/classreflex_1_1_abstract_matcher_1_1_operation.html +++ b/doc/html/classreflex_1_1_abstract_matcher_1_1_operation.html @@ -21,7 +21,7 @@
reflex::AbstractMatcher::Operation Class Reference

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -367,7 +367,7 @@

Member Data Documentation

+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_bits-members.html b/doc/html/classreflex_1_1_bits-members.html index 7aad926b1..c4119d4f0 100644 --- a/doc/html/classreflex_1_1_bits-members.html +++ b/doc/html/classreflex_1_1_bits-members.html @@ -21,7 +21,7 @@
Member List

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -105,7 +105,7 @@
+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_bits.html b/doc/html/classreflex_1_1_bits.html index 6974672e3..353a19e82 100644 --- a/doc/html/classreflex_1_1_bits.html +++ b/doc/html/classreflex_1_1_bits.html @@ -21,7 +21,7 @@
reflex::Bits Class Reference

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -1659,7 +1659,7 @@

Member Data Documentation

+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_boost_matcher-members.html b/doc/html/classreflex_1_1_boost_matcher-members.html index eb2b4c3db..6a5378df3 100644 --- a/doc/html/classreflex_1_1_boost_matcher-members.html +++ b/doc/html/classreflex_1_1_boost_matcher-members.html @@ -21,7 +21,7 @@
Member List

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -169,7 +169,7 @@
+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_boost_matcher.html b/doc/html/classreflex_1_1_boost_matcher.html index b46681e04..dd0498f92 100644 --- a/doc/html/classreflex_1_1_boost_matcher.html +++ b/doc/html/classreflex_1_1_boost_matcher.html @@ -21,7 +21,7 @@
reflex::BoostMatcher Class Reference

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -1003,7 +1003,7 @@

Member Data Documentation

+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_boost_perl_matcher-members.html b/doc/html/classreflex_1_1_boost_perl_matcher-members.html index d575c1aac..7403b5d87 100644 --- a/doc/html/classreflex_1_1_boost_perl_matcher-members.html +++ b/doc/html/classreflex_1_1_boost_perl_matcher-members.html @@ -21,7 +21,7 @@
Member List

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -172,7 +172,7 @@
+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_boost_perl_matcher.html b/doc/html/classreflex_1_1_boost_perl_matcher.html index 2aaf3b499..0688febed 100644 --- a/doc/html/classreflex_1_1_boost_perl_matcher.html +++ b/doc/html/classreflex_1_1_boost_perl_matcher.html @@ -21,7 +21,7 @@
reflex::BoostPerlMatcher Class Reference

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -599,7 +599,7 @@
+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_boost_posix_matcher-members.html b/doc/html/classreflex_1_1_boost_posix_matcher-members.html index 69a65ff6b..8998e3f9e 100644 --- a/doc/html/classreflex_1_1_boost_posix_matcher-members.html +++ b/doc/html/classreflex_1_1_boost_posix_matcher-members.html @@ -21,7 +21,7 @@
Member List

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -172,7 +172,7 @@
+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_boost_posix_matcher.html b/doc/html/classreflex_1_1_boost_posix_matcher.html index f84558fa7..ba4ad430d 100644 --- a/doc/html/classreflex_1_1_boost_posix_matcher.html +++ b/doc/html/classreflex_1_1_boost_posix_matcher.html @@ -21,7 +21,7 @@
reflex::BoostPosixMatcher Class Reference

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -646,7 +646,7 @@

Member Function Documentation

+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_flex_lexer-members.html b/doc/html/classreflex_1_1_flex_lexer-members.html index 7b36f91ec..2fb6fee2e 100644 --- a/doc/html/classreflex_1_1_flex_lexer-members.html +++ b/doc/html/classreflex_1_1_flex_lexer-members.html @@ -21,7 +21,7 @@
Member List

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -118,7 +118,7 @@
+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_flex_lexer.html b/doc/html/classreflex_1_1_flex_lexer.html index 67f8eef02..f553d2910 100644 --- a/doc/html/classreflex_1_1_flex_lexer.html +++ b/doc/html/classreflex_1_1_flex_lexer.html @@ -21,7 +21,7 @@
reflex::FlexLexer< M > Class Template Reference

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -849,7 +849,7 @@

Member Function Documentation

+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_flex_lexer_1_1_matcher-members.html b/doc/html/classreflex_1_1_flex_lexer_1_1_matcher-members.html index 4f39658d8..4e037fe2e 100644 --- a/doc/html/classreflex_1_1_flex_lexer_1_1_matcher-members.html +++ b/doc/html/classreflex_1_1_flex_lexer_1_1_matcher-members.html @@ -21,7 +21,7 @@
Member List

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -67,7 +67,7 @@
+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_flex_lexer_1_1_matcher.html b/doc/html/classreflex_1_1_flex_lexer_1_1_matcher.html index f5c5e67c0..9712be755 100644 --- a/doc/html/classreflex_1_1_flex_lexer_1_1_matcher.html +++ b/doc/html/classreflex_1_1_flex_lexer_1_1_matcher.html @@ -21,7 +21,7 @@
reflex::FlexLexer< M >::Matcher Class Reference

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -319,7 +319,7 @@

Member Function Documentation

+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_input-members.html b/doc/html/classreflex_1_1_input-members.html index 1f8f69356..28b0147b7 100644 --- a/doc/html/classreflex_1_1_input-members.html +++ b/doc/html/classreflex_1_1_input-members.html @@ -21,7 +21,7 @@
Member List

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -71,40 +71,41 @@ file_good()reflex::Inputinlineprotected file_init()reflex::Inputprotected file_size()reflex::Inputprotected - get(char *s, size_t n)reflex::Inputinline - good()reflex::Inputinline - init()reflex::Inputinlineprotected - Input(const Input &input)reflex::Inputinline - Input()reflex::Inputinline - Input(const char *cstring)reflex::Inputinline - Input(const std::string &string)reflex::Inputinline - Input(const std::string *string)reflex::Inputinline - Input(const wchar_t *wstring)reflex::Inputinline - Input(const std::wstring &wstring)reflex::Inputinline - Input(const std::wstring *wstring)reflex::Inputinline - Input(FILE *file)reflex::Inputinline - Input(FILE *file, unsigned short enc, const unsigned short *page=NULL)reflex::Inputinline - Input(std::istream &istream)reflex::Inputinline - Input(std::istream *istream)reflex::Inputinline - istream()reflex::Inputinline - istream_reflex::Inputprotected - operator bool()reflex::Inputinline - operator const char *()reflex::Inputinline - operator const wchar_t *()reflex::Inputinline - operator FILE *()reflex::Inputinline - operator std::istream *()reflex::Inputinline - page_reflex::Inputprotected - size()reflex::Inputinline - size_reflex::Inputprotected - uidx_reflex::Inputprotected - utf8_reflex::Inputprotected - utfx_reflex::Inputprotected - wstring()reflex::Inputinline - wstring_reflex::Inputprotected + get()reflex::Inputinline + get(char *s, size_t n)reflex::Inputinline + good()reflex::Inputinline + init()reflex::Inputinlineprotected + Input(const Input &input)reflex::Inputinline + Input()reflex::Inputinline + Input(const char *cstring)reflex::Inputinline + Input(const std::string &string)reflex::Inputinline + Input(const std::string *string)reflex::Inputinline + Input(const wchar_t *wstring)reflex::Inputinline + Input(const std::wstring &wstring)reflex::Inputinline + Input(const std::wstring *wstring)reflex::Inputinline + Input(FILE *file)reflex::Inputinline + Input(FILE *file, unsigned short enc, const unsigned short *page=NULL)reflex::Inputinline + Input(std::istream &istream)reflex::Inputinline + Input(std::istream *istream)reflex::Inputinline + istream()reflex::Inputinline + istream_reflex::Inputprotected + operator bool()reflex::Inputinline + operator const char *()reflex::Inputinline + operator const wchar_t *()reflex::Inputinline + operator FILE *()reflex::Inputinline + operator std::istream *()reflex::Inputinline + page_reflex::Inputprotected + size()reflex::Inputinline + size_reflex::Inputprotected + uidx_reflex::Inputprotected + utf8_reflex::Inputprotected + utfx_reflex::Inputprotected + wstring()reflex::Inputinline + wstring_reflex::Inputprotected
+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_input.html b/doc/html/classreflex_1_1_input.html index 48f787640..b4acb53bc 100644 --- a/doc/html/classreflex_1_1_input.html +++ b/doc/html/classreflex_1_1_input.html @@ -21,7 +21,7 @@
reflex::Input Class Reference

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -162,6 +162,9 @@ bool eof ()  Check if input reached EOF. More...
  +int get () + Get a single character or EOF when end-of-input is reached. More...
+  size_t get (char *s, size_t n)  Copy character sequence data into buffer. More...
  @@ -181,7 +184,7 @@  Implements init() on a FILE*. More...
  size_t file_get (char *s, size_t n) - Implements get() on a FILE*. More...
+ Implements get() on a FILE*. More...
  void file_size ()  Implements size() on a FILE*. More...
@@ -229,12 +232,12 @@

Description

The Input class unifies access to a source of input text that constitutes a sequence of characters:

Constructor & Destructor Documentation

+
reflex::Input input = "Hello";
std::string message;
char c;
while (input.get(&c, 1))
message.append(c);
input = L" world! To ∞ and beyond."; // switch input to a wide string
while (input.get(&c, 1))
message.append(c);

Constructor & Destructor Documentation

@@ -898,7 +902,7 @@

Member Function Documentation

-

Implements get() on a FILE*.

+

Implements get() on a FILE*.

Parameters
@@ -982,6 +986,31 @@

Member Function Documentation

Implements size() on a FILE*.

+ + + +
+
+
spoints to the string buffer to fill with input
+ + + + +
+ + + + + + + +
int reflex::Input::get ()
+
+inline
+
+ +

Get a single character or EOF when end-of-input is reached.

+
@@ -1256,7 +1285,7 @@

Member Function Documentation

Get the size of the input character sequence in number of ASCII/UTF-8 bytes (zero if size is not determinable from a FILE* or std::istream source).

Returns
the nonzero number of ASCII/UTF-8 bytes available to read, or zero when source is empty or if size is not determinable.
-
Warning
This function SHOULD NOT be used after get() as the "cursor" has moved it changes the result.
+
Warning
This function SHOULD NOT be used after get() as the "cursor" has moved it changes the result.
@@ -1491,7 +1520,7 @@

Member Data Documentation

+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_matcher-members.html b/doc/html/classreflex_1_1_matcher-members.html index 98afdae1e..4df112b49 100644 --- a/doc/html/classreflex_1_1_matcher-members.html +++ b/doc/html/classreflex_1_1_matcher-members.html @@ -21,7 +21,7 @@
Member List

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -204,7 +204,7 @@
+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_matcher.html b/doc/html/classreflex_1_1_matcher.html index 0b8549aed..30dbbd20c 100644 --- a/doc/html/classreflex_1_1_matcher.html +++ b/doc/html/classreflex_1_1_matcher.html @@ -21,7 +21,7 @@
reflex::Matcher Class Reference

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -1906,7 +1906,7 @@

Member Data Documentation

+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_o_ranges-members.html b/doc/html/classreflex_1_1_o_ranges-members.html index 3f9ff72e7..966254956 100644 --- a/doc/html/classreflex_1_1_o_ranges-members.html +++ b/doc/html/classreflex_1_1_o_ranges-members.html @@ -21,7 +21,7 @@
Member List

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -103,7 +103,7 @@
+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_o_ranges.html b/doc/html/classreflex_1_1_o_ranges.html index c3e506059..a1e470d7c 100644 --- a/doc/html/classreflex_1_1_o_ranges.html +++ b/doc/html/classreflex_1_1_o_ranges.html @@ -21,7 +21,7 @@
reflex::ORanges< T > Class Template Reference

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -1049,7 +1049,7 @@

Member Function Documentation

+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_pattern-members.html b/doc/html/classreflex_1_1_pattern-members.html index 46ee2ea5b..1d382f8df 100644 --- a/doc/html/classreflex_1_1_pattern-members.html +++ b/doc/html/classreflex_1_1_pattern-members.html @@ -21,7 +21,7 @@
Member List

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -176,7 +176,7 @@
+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_pattern.html b/doc/html/classreflex_1_1_pattern.html index bdf359870..8a185b06c 100644 --- a/doc/html/classreflex_1_1_pattern.html +++ b/doc/html/classreflex_1_1_pattern.html @@ -21,7 +21,7 @@
reflex::Pattern Class Reference

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -3335,7 +3335,7 @@

Member Data Documentation

+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_pattern_matcher-members.html b/doc/html/classreflex_1_1_pattern_matcher-members.html index d27a60c20..51fc02f0f 100644 --- a/doc/html/classreflex_1_1_pattern_matcher-members.html +++ b/doc/html/classreflex_1_1_pattern_matcher-members.html @@ -21,7 +21,7 @@
Member List

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -160,7 +160,7 @@
+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_pattern_matcher.html b/doc/html/classreflex_1_1_pattern_matcher.html index f58d2a09b..7a0d3e777 100644 --- a/doc/html/classreflex_1_1_pattern_matcher.html +++ b/doc/html/classreflex_1_1_pattern_matcher.html @@ -21,7 +21,7 @@
reflex::PatternMatcher< P > Class Template Reference

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -1024,7 +1024,7 @@

Member Data Documentation

+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_posix_1_1_tables-members.html b/doc/html/classreflex_1_1_posix_1_1_tables-members.html index 3490d2609..09feeaa8a 100644 --- a/doc/html/classreflex_1_1_posix_1_1_tables-members.html +++ b/doc/html/classreflex_1_1_posix_1_1_tables-members.html @@ -21,7 +21,7 @@
Member List

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -63,7 +63,7 @@
+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_posix_1_1_tables.html b/doc/html/classreflex_1_1_posix_1_1_tables.html index f8830be64..3e4d32e47 100644 --- a/doc/html/classreflex_1_1_posix_1_1_tables.html +++ b/doc/html/classreflex_1_1_posix_1_1_tables.html @@ -21,7 +21,7 @@
reflex::Posix::Tables Class Reference

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -144,7 +144,7 @@

Member Data Documentation

+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_ranges-members.html b/doc/html/classreflex_1_1_ranges-members.html index 046780956..69171e19d 100644 --- a/doc/html/classreflex_1_1_ranges-members.html +++ b/doc/html/classreflex_1_1_ranges-members.html @@ -21,7 +21,7 @@
Member List

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -89,7 +89,7 @@
+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_ranges.html b/doc/html/classreflex_1_1_ranges.html index 8bde2eb1f..1c701c13c 100644 --- a/doc/html/classreflex_1_1_ranges.html +++ b/doc/html/classreflex_1_1_ranges.html @@ -21,7 +21,7 @@
reflex::Ranges< T > Class Template Reference

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -1104,7 +1104,7 @@

Member Function Documentation

+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_std_ecma_matcher-members.html b/doc/html/classreflex_1_1_std_ecma_matcher-members.html index 408e5ed9e..fe7801299 100644 --- a/doc/html/classreflex_1_1_std_ecma_matcher-members.html +++ b/doc/html/classreflex_1_1_std_ecma_matcher-members.html @@ -21,7 +21,7 @@
Member List

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -175,7 +175,7 @@
+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_std_ecma_matcher.html b/doc/html/classreflex_1_1_std_ecma_matcher.html index cb58fca70..ef9d45e51 100644 --- a/doc/html/classreflex_1_1_std_ecma_matcher.html +++ b/doc/html/classreflex_1_1_std_ecma_matcher.html @@ -21,7 +21,7 @@
reflex::StdEcmaMatcher Class Reference

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -787,7 +787,7 @@

Member Function Documentation

+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_std_matcher-members.html b/doc/html/classreflex_1_1_std_matcher-members.html index 2e9222e47..ee4ee453d 100644 --- a/doc/html/classreflex_1_1_std_matcher-members.html +++ b/doc/html/classreflex_1_1_std_matcher-members.html @@ -21,7 +21,7 @@
Member List

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -171,7 +171,7 @@
+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_std_matcher.html b/doc/html/classreflex_1_1_std_matcher.html index e8e898ad6..e11ebadc9 100644 --- a/doc/html/classreflex_1_1_std_matcher.html +++ b/doc/html/classreflex_1_1_std_matcher.html @@ -21,7 +21,7 @@
reflex::StdMatcher Class Reference

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -1009,7 +1009,7 @@

Member Data Documentation

+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_std_posix_matcher-members.html b/doc/html/classreflex_1_1_std_posix_matcher-members.html index 6a1afd48e..8042e1558 100644 --- a/doc/html/classreflex_1_1_std_posix_matcher-members.html +++ b/doc/html/classreflex_1_1_std_posix_matcher-members.html @@ -21,7 +21,7 @@
Member List

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -175,7 +175,7 @@
+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_std_posix_matcher.html b/doc/html/classreflex_1_1_std_posix_matcher.html index 3e6de156f..e7a416fc0 100644 --- a/doc/html/classreflex_1_1_std_posix_matcher.html +++ b/doc/html/classreflex_1_1_std_posix_matcher.html @@ -21,7 +21,7 @@
reflex::StdPosixMatcher Class Reference

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -833,7 +833,7 @@

Member Function Documentation

+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_unicode_1_1_tables-members.html b/doc/html/classreflex_1_1_unicode_1_1_tables-members.html index f6b03c167..3baf48f83 100644 --- a/doc/html/classreflex_1_1_unicode_1_1_tables-members.html +++ b/doc/html/classreflex_1_1_unicode_1_1_tables-members.html @@ -21,7 +21,7 @@
Member List

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -66,7 +66,7 @@
+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1_unicode_1_1_tables.html b/doc/html/classreflex_1_1_unicode_1_1_tables.html index 95cb5617d..5c7307b92 100644 --- a/doc/html/classreflex_1_1_unicode_1_1_tables.html +++ b/doc/html/classreflex_1_1_unicode_1_1_tables.html @@ -21,7 +21,7 @@
reflex::Unicode::Tables Class Reference

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -198,7 +198,7 @@

Member Function Documentation

+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1regex__error-members.html b/doc/html/classreflex_1_1regex__error-members.html index 380fcb711..abe26a2d9 100644 --- a/doc/html/classreflex_1_1regex__error-members.html +++ b/doc/html/classreflex_1_1regex__error-members.html @@ -21,7 +21,7 @@
Member List

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -82,7 +82,7 @@
+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/classreflex_1_1regex__error.html b/doc/html/classreflex_1_1regex__error.html index ba6d16e30..4e8a4cda9 100644 --- a/doc/html/classreflex_1_1regex__error.html +++ b/doc/html/classreflex_1_1regex__error.html @@ -21,7 +21,7 @@
reflex::regex_error Class Reference

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -685,7 +685,7 @@

Member Data Documentation

+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/convert_8h.html b/doc/html/convert_8h.html index 334532a5d..77279d694 100644 --- a/doc/html/convert_8h.html +++ b/doc/html/convert_8h.html @@ -21,7 +21,7 @@
convert.h File Reference

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -146,7 +146,7 @@
+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/debug_8h.html b/doc/html/debug_8h.html index 7a6570057..396d44828 100644 --- a/doc/html/debug_8h.html +++ b/doc/html/debug_8h.html @@ -21,7 +21,7 @@
debug.h File Reference

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -223,7 +223,7 @@

Example

+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/dir_000002_000000.html b/doc/html/dir_000002_000000.html index c6c2cbe7d..dd484c53e 100644 --- a/doc/html/dir_000002_000000.html +++ b/doc/html/dir_000002_000000.html @@ -21,7 +21,7 @@
src -> include Relation

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -43,10 +43,10 @@
-

src → include Relation

File in srcIncludes file in include
reflex.hreflex / convert.h
reflex.hreflex / error.h
reflex.hreflex / pattern.h
reflex.hreflex / utf8.h
+

src → include Relation

File in srcIncludes file in include
reflex.hreflex / convert.h
reflex.hreflex / error.h
reflex.hreflex / input.h
reflex.hreflex / pattern.h
reflex.hreflex / utf8.h
+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html index afb647fca..b10293479 100644 --- a/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html +++ b/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -21,7 +21,7 @@
src Directory Reference

-
updated Fri Jan 18 2019 by Robert van Engelen
+
updated Mon Jan 21 2019 by Robert van Engelen
  @@ -60,7 +60,7 @@ - +
@@ -76,7 +76,7 @@ +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.map b/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.map index c7fe7f836..0eb028544 100644 --- a/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.map +++ b/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.map @@ -1,5 +1,5 @@ - + diff --git a/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 b/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 index f067b90c2..65b52c047 100644 --- a/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 +++ b/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 @@ -1 +1 @@ -514bd3df2163211eb772a70c5c28ceac \ No newline at end of file +307ea15668344fbfa4073c58f3f2cc96 \ No newline at end of file diff --git a/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.png b/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.png index 6793f7ca4..84103e1e8 100644 Binary files a/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.png and b/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.png differ diff --git a/doc/html/dir_bb8a7beb94a1b7afd52842cbf47ddd3e.html b/doc/html/dir_bb8a7beb94a1b7afd52842cbf47ddd3e.html index 295abb710..bc5a267ec 100644 --- a/doc/html/dir_bb8a7beb94a1b7afd52842cbf47ddd3e.html +++ b/doc/html/dir_bb8a7beb94a1b7afd52842cbf47ddd3e.html @@ -21,7 +21,7 @@
@@ -117,7 +117,7 @@ +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/dir_d44c64559bbebec7f509842c48db8b23.html b/doc/html/dir_d44c64559bbebec7f509842c48db8b23.html index 64d5e303e..37e99b219 100644 --- a/doc/html/dir_d44c64559bbebec7f509842c48db8b23.html +++ b/doc/html/dir_d44c64559bbebec7f509842c48db8b23.html @@ -21,7 +21,7 @@
@@ -62,7 +62,7 @@ +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/error_8h.html b/doc/html/error_8h.html index 756b2efd2..695a5c456 100644 --- a/doc/html/error_8h.html +++ b/doc/html/error_8h.html @@ -21,7 +21,7 @@
@@ -109,7 +109,7 @@ +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/files.html b/doc/html/files.html index 78f1df23d..06c8d6f6b 100644 --- a/doc/html/files.html +++ b/doc/html/files.html @@ -21,7 +21,7 @@
@@ -77,7 +77,7 @@ +Converted on Mon Jan 21 2019 21:57:11 by Doxygen 1.8.11
diff --git a/doc/html/flexlexer_8h.html b/doc/html/flexlexer_8h.html index cbc43c240..a94ef5154 100644 --- a/doc/html/flexlexer_8h.html +++ b/doc/html/flexlexer_8h.html @@ -21,7 +21,7 @@
@@ -1079,7 +1079,7 @@

Function Documentation

+Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/functions.html b/doc/html/functions.html index 0cdb1cad1..5609310c0 100644 --- a/doc/html/functions.html +++ b/doc/html/functions.html @@ -21,7 +21,7 @@
@@ -164,7 +164,7 @@

- a -

@@ -106,7 +106,7 @@

- ~ -

@@ -152,7 +152,7 @@

- b -

@@ -250,7 +250,7 @@

- c -

@@ -124,7 +124,7 @@

- d -

@@ -182,7 +182,7 @@

- e -

@@ -68,7 +68,7 @@ +Converted on Mon Jan 21 2019 21:57:11 by Doxygen 1.8.11
diff --git a/doc/html/functions_eval.html b/doc/html/functions_eval.html index 9766a74b3..3e4cbd97d 100644 --- a/doc/html/functions_eval.html +++ b/doc/html/functions_eval.html @@ -21,7 +21,7 @@
@@ -107,7 +107,7 @@ +Converted on Mon Jan 21 2019 21:57:11 by Doxygen 1.8.11
diff --git a/doc/html/functions_f.html b/doc/html/functions_f.html index ef0eeb2c5..eed8e3712 100644 --- a/doc/html/functions_f.html +++ b/doc/html/functions_f.html @@ -21,7 +21,7 @@
@@ -239,7 +239,7 @@

- f -

@@ -140,7 +140,7 @@

- a -

@@ -102,7 +102,7 @@

- ~ -

@@ -120,7 +120,7 @@

- b -

@@ -149,7 +149,7 @@

- c -

@@ -108,7 +108,7 @@

- d -

@@ -137,7 +137,7 @@

- e -

@@ -205,7 +205,7 @@

- f -

@@ -95,7 +95,7 @@

- g -

@@ -105,7 +105,7 @@

- h -

@@ -186,7 +186,7 @@

- i -

@@ -134,7 +134,7 @@

- l -

@@ -116,7 +116,7 @@

- m -

@@ -116,7 +116,7 @@

- n -

@@ -263,7 +263,7 @@

- o -

@@ -179,7 +179,7 @@

- p -

@@ -120,7 +120,7 @@

- r -

@@ -152,7 +152,7 @@

- s -

@@ -110,7 +110,7 @@

- t -

@@ -100,7 +100,7 @@

- u -

@@ -93,7 +93,7 @@

- v -

@@ -185,7 +185,7 @@

- w -

@@ -111,7 +111,7 @@

- y -

@@ -99,7 +99,7 @@

- g -

@@ -112,7 +112,7 @@

- h -

@@ -115,7 +115,7 @@

- i -

@@ -101,7 +101,7 @@

- k -

@@ -185,7 +185,7 @@

- l -

@@ -217,7 +217,7 @@

- m -

@@ -152,7 +152,7 @@

- n -

@@ -290,7 +290,7 @@

- o -

@@ -215,7 +215,7 @@

- p -

@@ -97,7 +97,7 @@

- q -

@@ -155,7 +155,7 @@

- r -

@@ -75,7 +75,7 @@ +Converted on Mon Jan 21 2019 21:57:11 by Doxygen 1.8.11
diff --git a/doc/html/functions_s.html b/doc/html/functions_s.html index 86db2680a..e68c2cd82 100644 --- a/doc/html/functions_s.html +++ b/doc/html/functions_s.html @@ -21,7 +21,7 @@
@@ -236,7 +236,7 @@

- s -

@@ -133,7 +133,7 @@

- t -

@@ -281,7 +281,7 @@

- v -

@@ -134,7 +134,7 @@

- u -

@@ -115,7 +115,7 @@

- v -

@@ -107,7 +107,7 @@

- a -

@@ -116,7 +116,7 @@

- b -

@@ -161,7 +161,7 @@

- c -

@@ -101,7 +101,7 @@

- d -

@@ -132,7 +132,7 @@

- e -

@@ -120,7 +120,7 @@

- f -

@@ -98,7 +98,7 @@

- g -

@@ -95,7 +95,7 @@

- h -

@@ -109,7 +109,7 @@

- i -

@@ -95,7 +95,7 @@

- k -

@@ -135,7 +135,7 @@

- l -

@@ -129,7 +129,7 @@

- m -

@@ -122,7 +122,7 @@

- n -

@@ -114,7 +114,7 @@

- o -

@@ -117,7 +117,7 @@

- p -

@@ -95,7 +95,7 @@

- q -

@@ -113,7 +113,7 @@

- r -

@@ -154,7 +154,7 @@

- s -

@@ -107,7 +107,7 @@

- t -

@@ -122,7 +122,7 @@

- u -

@@ -101,7 +101,7 @@

- v -

@@ -101,7 +101,7 @@

- w -

@@ -95,7 +95,7 @@

- x -

@@ -95,7 +95,7 @@

- z -

@@ -198,7 +198,7 @@

- w -

@@ -97,7 +97,7 @@

- x -

@@ -115,7 +115,7 @@

- y -

@@ -97,7 +97,7 @@

- z -

@@ -326,7 +326,7 @@

- y -

@@ -274,7 +274,7 @@

- y -

@@ -76,7 +76,7 @@ +Converted on Mon Jan 21 2019 21:57:11 by Doxygen 1.8.11
diff --git a/doc/html/globals_vars.html b/doc/html/globals_vars.html index a887ab822..249938008 100644 --- a/doc/html/globals_vars.html +++ b/doc/html/globals_vars.html @@ -21,7 +21,7 @@
@@ -67,7 +67,7 @@ +Converted on Mon Jan 21 2019 21:57:11 by Doxygen 1.8.11
diff --git a/doc/html/graph_legend.html b/doc/html/graph_legend.html index 8323cd6ff..011f42f7e 100644 --- a/doc/html/graph_legend.html +++ b/doc/html/graph_legend.html @@ -21,7 +21,7 @@
@@ -75,7 +75,7 @@ +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
diff --git a/doc/html/hierarchy.html b/doc/html/hierarchy.html index 82a18aa6b..9d99c7d7c 100644 --- a/doc/html/hierarchy.html +++ b/doc/html/hierarchy.html @@ -21,7 +21,7 @@
@@ -110,7 +110,7 @@ +Converted on Mon Jan 21 2019 21:57:11 by Doxygen 1.8.11
diff --git a/doc/html/index.html b/doc/html/index.html index e35ec16f2..b67b527a7 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -21,7 +21,7 @@
@@ -162,8 +162,8 @@

  • released under a permissive open source license (BSD-3).
  • RE/flex is not merely designed to fix the limitations of Flex and Lex! RE/flex balances efficiency with flexibility by offering a choice of regex engines that are used by the generated scanner. The choice includes Boost.Regex and RE/flex matcher engines that offer a rich regex syntax. The RE/flex POSIX matcher adds lazy quantifiers, word boundary anchors, and other useful patterns to the POSIX mode of matching. Also Unicode character sets and ASCII/UTF-8/16/32 file input is supported by RE/flex, without any additional coding required. RE/flex regex patterns are converted to efficient deterministic finite state machines. These machines differ from Flex in supporting the new pattern-matching features.

    -

    RE/flex incorporates proper object-oriented design principles and does not rely on macros and globals as Flex does. Macros and globals are added to the source code generated by reflex only when the Flex-compatibility option −−flex is used. However, in all cases the reflex scanner generator produces C++ scanner classes derived from a base lexer class template, with a matcher engine as the template parameter. This offers an extensible approach that permits new regex matching engines to be included in this framework in the future.

    -

    You can use the reflex scanner generator with two options −−flex and −−bison to output Flex C-compatible source code. These options generate the global non-reentrant "yy" functions and variables, such as yylex() and yytext.

    +

    RE/flex incorporates proper object-oriented design principles and does not rely on macros and globals as Flex does. Macros and globals are added to the source code generated by reflex only when option −−flex is used. A RE/flex scanner is a generated class derived from a base lexer class template, with its matcher engine defined as a template parameter. This flexible approach permits new regex matching engines or libraries to be included in the RE/flex framework in the future.

    +

    For backward compatibility with Flex and Bison that requires global definitions of functions and variables, you should use reflex with option −−flex and option −−bison. These options combined generate the global non-reentrant "yy" functions and variables, such as yylex() and yytext.

    In this document we refer to a regex as a shorthand for regular expression. Some of you may not agree with this broad use of terminology. The term regular expressions refers to the formal concept of regular languages, wheras regex refers to backtracking-based regex matching that Perl introduced, that could no longer be said to be regular in a true mathematical sense.

    In summary, RE/flex is

    reflex Directory Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    include Directory Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    error.h File Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    File List

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    flexlexer.h File Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Enumerations

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Enumerator

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Functions

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Functions

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Functions

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Functions

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Functions

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Functions

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Functions

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Functions

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Functions

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Functions

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Functions

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Functions

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Functions

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Functions

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Functions

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Functions

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Functions

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Functions

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Functions

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Functions

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Functions

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Functions

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Related Functions

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Typedefs

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Variables

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Variables

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Variables

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Variables

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Variables

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Variables

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Variables

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Variables

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Variables

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Variables

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Variables

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Variables

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Variables

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Variables

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Variables

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Variables

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Variables

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Variables

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Variables

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Variables

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Variables

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Variables

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Variables

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members - Variables

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Members

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    File Members

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    File Members

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    File Members

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    File Members

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Graph Legend

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Hierarchy

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    RE/flex user guide

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    debug() debug() nonzero when debugging
    +

    A reflex::Input input source is denoted i in the table, which can be FILE* descriptor, std::istream, a string std::string or const char*, or a wide string std::wstring or const wchar_t*. Output o is a std::ostream object.

    Note that Flex switch_streams(i, o) is the same as invoking the in(i) and out(o) methods. Flex yyrestart(i) is the same as invoking in(i) to set input to a file, stream, or string. Invoking switch_streams(i, o) and in(i) also resets the lexer's matcher (internally with matcher.reset()). This clears the line and column counters, resets the internal anchor and boundary flags for anchor and word boundary matching, and resets the matcher to consume buffered input.

    -

    You can also set the input with in() = &i (or yyin = &i) with option −−flex). This does not reset the matcher. This means that when an end of input (EOF) was reached, you should clear the EOF state first with matcher().set_end(false) or reset the matcher state with matcher().reset().

    +

    You can also set the input with in() = &i (or yyin = &i) with option −−flex). This however does not reset the matcher. This means that when an end of input (EOF) was reached, you should clear the EOF state first with matcher().set_end(false) or reset the matcher state with matcher().reset(). Resetting the matcher state also flushes the remaining input from the buffer, which would otherwise still be consumed. Using in(i) (or yyrestart(i) with option −−flex) is therefore preferable.

    The matcher().input(), matcher().winput(), and matcher().peek() methods return a non-negative character code and EOF (-1) when the end of input is reached. These methods preserve the current text() match (and yytext with option −−flex), but the pointer returned by text() (and yytext) may change after these methods are called. However, the yytext pointer is not preserved when using these methods with reflex options −−flex and −−bison.

    Warning
    The Flex-compatible yyinput() function returns 0 when the end of input is reached, which makes it impossible to distinguish \0 (NUL) from EOF. By contrast, matcher().input() returns EOF (-1) when the end of the input is reached.
    @@ -783,7 +784,7 @@

    Use reflex options −−flex and −−bison to enable global Flex actions and variables. This makes Flex actions and variables globally accessible outside of The rules section, with the exception of yy_push_state(), yy_pop_state(), yy_top_state(). Outside The rules section you must use the global action yyinput() instead of input(), global action yyunput() instead of unput(), and global action yyoutput() instead of output(). Because yyin and yyout are macros they cannot be (re)declared or accessed as global variables, but they can be used as if these were variables. To avoid compilation errors, use reflex option −−header-file to generate a header file lex.yy.h to include in your code to use the global use Flex actions and variables. See Interfacing with Bison/Yacc for more details on the −−bison options to use.

    When using reflex options −−flex, −−bison and −−reentrant, most Flex functions take a yyscan_t scanner as an extra last argument. See Reentrant Bison for details.

    From the first couple of entries in the table shown above you may have guessed correctly that text() is just a shorthand for matcher().text(), since matcher() is the matcher object associated with the generated Lexer class. The same shorthands apply to str(), wstr(), size(), wsize(), lineno() and columno(). Use text() for fast access to the matched text. The str() method returns a string copy of the match and is less efficient. Likewise, wstr() returns a wide string copy of the match, converted from UTF-8.

    -

    The lineno() method returns the line number of the match, starting at line 1. The columno() method returns the column offset of a match, starting at column 0. This method takes tab spacing and wide characters into account, unless all of the RE/flex source code is compiled with WITH_BYTE_COLUMNO to count bytes.

    +

    The lineno() method returns the line number of the match, starting at line 1. The columno() method returns the column offset of a match, starting at column 0. This method takes tab spacing and wide characters into account, unless all of the RE/flex source code is compiled with WITH_BYTE_COLUMNO to count bytes instead of wide characters and tabs.

    Because matcher() returns the current matcher object, the following Flex-like actions are also supported:

    @@ -824,8 +825,8 @@

    has_matcher() YY_CURRENT_BUFFER != 0 current matcher is usable
    -

    The pop_matcher() action returns true when successful and false otherwise. When false, has_matcher() returns false and ptr_matcher() returns NULL.

    The matcher type m is a Lexer class-specific Matcher type, which depends on the underlying matcher used by the scanner. Therefore, new_matcher(i) instantiates a reflex::Matcher or reflex::BoostPosixMatcher depending on the −−matcher option.

    +

    The push_matcher() and pop_matcher() functions can be used to temporarily switch to another input source while preserving the original input source associated with the matcher on the stack with push_matcher(). The pop_matcher() action returns true when successful and false otherwise, when the stack is empty. When false, has_matcher() returns false and ptr_matcher() returns NULL. See also Multiple input sources .

    The following Flex functions are also supported with reflex option −−flex and take std::string and char* arguments:

    @@ -2695,7 +2696,7 @@

    +Converted on Mon Jan 21 2019 21:57:11 by Doxygen 1.8.11
    diff --git a/doc/html/index_8md.html b/doc/html/index_8md.html index f79529bf7..1b17c1a0b 100644 --- a/doc/html/index_8md.html +++ b/doc/html/index_8md.html @@ -21,7 +21,7 @@

    @@ -52,7 +52,7 @@ +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/inherits.html b/doc/html/inherits.html index 4ccfb9904..81ef66262 100644 --- a/doc/html/inherits.html +++ b/doc/html/inherits.html @@ -21,7 +21,7 @@
    @@ -226,7 +226,7 @@ +Converted on Mon Jan 21 2019 21:57:11 by Doxygen 1.8.11
    diff --git a/doc/html/input_8h.html b/doc/html/input_8h.html index 0ade1243d..c77137c4c 100644 --- a/doc/html/input_8h.html +++ b/doc/html/input_8h.html @@ -21,7 +21,7 @@
    @@ -80,11 +80,11 @@ + - @@ -112,7 +112,7 @@ +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/input_8h__dep__incl.map b/doc/html/input_8h__dep__incl.map index c102ec9ca..7f4176fd1 100644 --- a/doc/html/input_8h__dep__incl.map +++ b/doc/html/input_8h__dep__incl.map @@ -2,10 +2,10 @@ + - diff --git a/doc/html/input_8h__dep__incl.md5 b/doc/html/input_8h__dep__incl.md5 index a877416a9..40bae0998 100644 --- a/doc/html/input_8h__dep__incl.md5 +++ b/doc/html/input_8h__dep__incl.md5 @@ -1 +1 @@ -3d9a512096b8709e0db13cb76f9ccad1 \ No newline at end of file +e7a0289b81225157fbce13f5ff594682 \ No newline at end of file diff --git a/doc/html/input_8h__dep__incl.png b/doc/html/input_8h__dep__incl.png index cf070a262..28a562d04 100644 Binary files a/doc/html/input_8h__dep__incl.png and b/doc/html/input_8h__dep__incl.png differ diff --git a/doc/html/matcher_8h.html b/doc/html/matcher_8h.html index 0df7c4068..8e92620f1 100644 --- a/doc/html/matcher_8h.html +++ b/doc/html/matcher_8h.html @@ -21,7 +21,7 @@
    @@ -104,7 +104,7 @@ +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/namespacemembers.html b/doc/html/namespacemembers.html index fc79d7ec3..52602ebd2 100644 --- a/doc/html/namespacemembers.html +++ b/doc/html/namespacemembers.html @@ -21,7 +21,7 @@
    @@ -131,7 +131,7 @@ +Converted on Mon Jan 21 2019 21:57:11 by Doxygen 1.8.11
    diff --git a/doc/html/namespacemembers_func.html b/doc/html/namespacemembers_func.html index 13f7d3062..9cc24cc8c 100644 --- a/doc/html/namespacemembers_func.html +++ b/doc/html/namespacemembers_func.html @@ -21,7 +21,7 @@
    @@ -95,7 +95,7 @@ +Converted on Mon Jan 21 2019 21:57:11 by Doxygen 1.8.11
    diff --git a/doc/html/namespacemembers_type.html b/doc/html/namespacemembers_type.html index b50d3d32d..d49443f0c 100644 --- a/doc/html/namespacemembers_type.html +++ b/doc/html/namespacemembers_type.html @@ -21,7 +21,7 @@
    @@ -67,7 +67,7 @@ +Converted on Mon Jan 21 2019 21:57:11 by Doxygen 1.8.11
    diff --git a/doc/html/namespacemembers_vars.html b/doc/html/namespacemembers_vars.html index 34ef6b604..e1ad828ab 100644 --- a/doc/html/namespacemembers_vars.html +++ b/doc/html/namespacemembers_vars.html @@ -21,7 +21,7 @@
    @@ -85,7 +85,7 @@ +Converted on Mon Jan 21 2019 21:57:11 by Doxygen 1.8.11
    diff --git a/doc/html/namespacereflex.html b/doc/html/namespacereflex.html index 4475d4f06..f3981d171 100644 --- a/doc/html/namespacereflex.html +++ b/doc/html/namespacereflex.html @@ -21,7 +21,7 @@
    @@ -847,7 +847,7 @@

    Function Documentation

    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/namespacereflex_1_1_posix.html b/doc/html/namespacereflex_1_1_posix.html index 288a0d50e..eb8dc181a 100644 --- a/doc/html/namespacereflex_1_1_posix.html +++ b/doc/html/namespacereflex_1_1_posix.html @@ -21,7 +21,7 @@
    @@ -87,7 +87,7 @@

    Function Documentation

    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/namespacereflex_1_1_unicode.html b/doc/html/namespacereflex_1_1_unicode.html index 5067059d1..b1c6cff11 100644 --- a/doc/html/namespacereflex_1_1_unicode.html +++ b/doc/html/namespacereflex_1_1_unicode.html @@ -21,7 +21,7 @@
    @@ -87,7 +87,7 @@

    Function Documentation

    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/namespacereflex_1_1convert__flag.html b/doc/html/namespacereflex_1_1convert__flag.html index 5ed220b73..be82682f8 100644 --- a/doc/html/namespacereflex_1_1convert__flag.html +++ b/doc/html/namespacereflex_1_1convert__flag.html @@ -21,7 +21,7 @@
    @@ -216,7 +216,7 @@

    Variable Documentation

    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/namespaces.html b/doc/html/namespaces.html index da80f64a6..dfff320ea 100644 --- a/doc/html/namespaces.html +++ b/doc/html/namespaces.html @@ -21,7 +21,7 @@
    @@ -60,7 +60,7 @@ +Converted on Mon Jan 21 2019 21:57:11 by Doxygen 1.8.11
    diff --git a/doc/html/pattern_8h.html b/doc/html/pattern_8h.html index a9d2fdb8c..77bbe7935 100644 --- a/doc/html/pattern_8h.html +++ b/doc/html/pattern_8h.html @@ -21,7 +21,7 @@
    @@ -127,7 +127,7 @@ +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/posix_8h.html b/doc/html/posix_8h.html index 2dcbbeb19..c36711315 100644 --- a/doc/html/posix_8h.html +++ b/doc/html/posix_8h.html @@ -21,7 +21,7 @@
    @@ -104,7 +104,7 @@ +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/ranges_8h.html b/doc/html/ranges_8h.html index d08670fe3..0f4476e84 100644 --- a/doc/html/ranges_8h.html +++ b/doc/html/ranges_8h.html @@ -21,7 +21,7 @@
    @@ -104,7 +104,7 @@ +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/reflex_8cpp.html b/doc/html/reflex_8cpp.html index 928c361bd..497a93c31 100644 --- a/doc/html/reflex_8cpp.html +++ b/doc/html/reflex_8cpp.html @@ -21,7 +21,7 @@
    @@ -66,16 +66,16 @@
    - - - - - - - - - - + + + + + + + + + +
    index.md File Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Class Hierarchy

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    input.h File Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    matcher.h File Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Namespace Members

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Namespace Members

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Namespace Members

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Namespace Members

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    reflex Namespace Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    reflex::Posix Namespace Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    reflex::Unicode Namespace Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    reflex::convert_flag Namespace Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    Namespace List

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    pattern.h File Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    posix.h File Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    ranges.h File Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    reflex.cpp File Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    @@ -353,7 +353,7 @@

    Variable Documentation

    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/reflex_8cpp__incl.map b/doc/html/reflex_8cpp__incl.map index 18bb95f1e..89d9793b7 100644 --- a/doc/html/reflex_8cpp__incl.map +++ b/doc/html/reflex_8cpp__incl.map @@ -1,12 +1,12 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/doc/html/reflex_8cpp__incl.md5 b/doc/html/reflex_8cpp__incl.md5 index bbcc80085..96c16218f 100644 --- a/doc/html/reflex_8cpp__incl.md5 +++ b/doc/html/reflex_8cpp__incl.md5 @@ -1 +1 @@ -818b89925fdd9db2fd1f210d4f3280c8 \ No newline at end of file +b75dcdff887fa3bb626b3c74f6728001 \ No newline at end of file diff --git a/doc/html/reflex_8cpp__incl.png b/doc/html/reflex_8cpp__incl.png index 021777c7f..337252cb2 100644 Binary files a/doc/html/reflex_8cpp__incl.png and b/doc/html/reflex_8cpp__incl.png differ diff --git a/doc/html/reflex_8h.html b/doc/html/reflex_8h.html index 673049341..21c5cbead 100644 --- a/doc/html/reflex_8h.html +++ b/doc/html/reflex_8h.html @@ -21,7 +21,7 @@
    @@ -61,6 +61,7 @@ More...

    #include <reflex/convert.h>
    #include <reflex/error.h>
    +#include <reflex/input.h>
    #include <reflex/pattern.h>
    #include <reflex/utf8.h>
    #include <cctype>
    @@ -77,15 +78,15 @@
    - - - - - - - - - + + + + + + + + +
    @@ -116,7 +117,7 @@ Macros
    - +
    reflex.h File Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
     
    #define PLATFORM   "(unknown OS)"
     
    #define REFLEX_VERSION   "1.0.11"
    #define REFLEX_VERSION   "1.0.12"
     

    Detailed Description

    @@ -143,7 +144,7 @@
    - +
    #define REFLEX_VERSION   "1.0.11"#define REFLEX_VERSION   "1.0.12"
    @@ -153,7 +154,7 @@
    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/reflex_8h__incl.map b/doc/html/reflex_8h__incl.map index 637863037..985bd34e0 100644 --- a/doc/html/reflex_8h__incl.map +++ b/doc/html/reflex_8h__incl.map @@ -1,11 +1,11 @@ - - - - - - - - - + + + + + + + + + diff --git a/doc/html/reflex_8h__incl.md5 b/doc/html/reflex_8h__incl.md5 index fdcee1d66..ba3174076 100644 --- a/doc/html/reflex_8h__incl.md5 +++ b/doc/html/reflex_8h__incl.md5 @@ -1 +1 @@ -e128d967167cf221c1622b460d13e9ed \ No newline at end of file +07bfbed4b3a3889871f7ad1be15d4b79 \ No newline at end of file diff --git a/doc/html/reflex_8h__incl.png b/doc/html/reflex_8h__incl.png index 0abbb9e3b..0cf91f06f 100644 Binary files a/doc/html/reflex_8h__incl.png and b/doc/html/reflex_8h__incl.png differ diff --git a/doc/html/setop_8h.html b/doc/html/setop_8h.html index 8b015c5e8..e448330ce 100644 --- a/doc/html/setop_8h.html +++ b/doc/html/setop_8h.html @@ -21,7 +21,7 @@
    setop.h File Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -134,7 +134,7 @@

    Example

    std::set<int> s1;
    s1.insert(1);
    assert(reflex::is_in_set(1, s1) == true);
    std::set<int> s2;
    s2.insert(1);
    s2.insert(2);
    assert(reflex::is_disjoint(s1, s2) == false);
    assert(reflex::is_subset(s1, s2) == true);
    reflex::lazy_union< std::set<int>,std::set<int> > U(s1, s2);
    for (reflex::lazy_union< std::set<int>,std::set<int> >::iterator i = U.begin(); i != U.end(); ++i)
    std::cout << *i << std::endl; // prints 1 and 2
    reflex::lazy_intersection< std::set<int>,std::set<int> > I(s1, s2);
    for (reflex::lazy_intersection< std::set<int>,std::set<int> >::iterator i = I.begin(); i != I.end(); ++i)
    std::cout << *i << std::endl; // prints 1
    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/stdmatcher_8h.html b/doc/html/stdmatcher_8h.html index 1bae3a144..93da5d336 100644 --- a/doc/html/stdmatcher_8h.html +++ b/doc/html/stdmatcher_8h.html @@ -21,7 +21,7 @@
    stdmatcher.h File Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -102,7 +102,7 @@
    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/struct_reflex_1_1_code-members.html b/doc/html/struct_reflex_1_1_code-members.html index fe1cbdbef..9e8652a93 100644 --- a/doc/html/struct_reflex_1_1_code-members.html +++ b/doc/html/struct_reflex_1_1_code-members.html @@ -21,7 +21,7 @@
    Member List

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -64,7 +64,7 @@
    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/struct_reflex_1_1_code.html b/doc/html/struct_reflex_1_1_code.html index 4783fe1ea..dccbe237c 100644 --- a/doc/html/struct_reflex_1_1_code.html +++ b/doc/html/struct_reflex_1_1_code.html @@ -21,7 +21,7 @@
    Reflex::Code Struct Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -173,7 +173,7 @@

    Member Data Documentation

    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/struct_reflex_1_1_library-members.html b/doc/html/struct_reflex_1_1_library-members.html index dae8c1ac5..3a0ccf3b3 100644 --- a/doc/html/struct_reflex_1_1_library-members.html +++ b/doc/html/struct_reflex_1_1_library-members.html @@ -21,7 +21,7 @@
    Member List

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -65,7 +65,7 @@
    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/struct_reflex_1_1_library.html b/doc/html/struct_reflex_1_1_library.html index 74aba8884..313410ba6 100644 --- a/doc/html/struct_reflex_1_1_library.html +++ b/doc/html/struct_reflex_1_1_library.html @@ -21,7 +21,7 @@
    Reflex::Library Struct Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -160,7 +160,7 @@
    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/struct_reflex_1_1_rule-members.html b/doc/html/struct_reflex_1_1_rule-members.html index 8d6174c57..a2c855340 100644 --- a/doc/html/struct_reflex_1_1_rule-members.html +++ b/doc/html/struct_reflex_1_1_rule-members.html @@ -21,7 +21,7 @@
    Member List

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -63,7 +63,7 @@
    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/struct_reflex_1_1_rule.html b/doc/html/struct_reflex_1_1_rule.html index f38566bc0..acb2c7334 100644 --- a/doc/html/struct_reflex_1_1_rule.html +++ b/doc/html/struct_reflex_1_1_rule.html @@ -21,7 +21,7 @@
    Reflex::Rule Struct Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -154,7 +154,7 @@

    Member Data Documentation

    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/structreflex_1_1_abstract_matcher_1_1_const-members.html b/doc/html/structreflex_1_1_abstract_matcher_1_1_const-members.html index 85bb14311..6b4beab6d 100644 --- a/doc/html/structreflex_1_1_abstract_matcher_1_1_const-members.html +++ b/doc/html/structreflex_1_1_abstract_matcher_1_1_const-members.html @@ -21,7 +21,7 @@
    Member List

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -70,7 +70,7 @@
    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/structreflex_1_1_abstract_matcher_1_1_const.html b/doc/html/structreflex_1_1_abstract_matcher_1_1_const.html index fadb670c7..007172a9b 100644 --- a/doc/html/structreflex_1_1_abstract_matcher_1_1_const.html +++ b/doc/html/structreflex_1_1_abstract_matcher_1_1_const.html @@ -21,7 +21,7 @@
    reflex::AbstractMatcher::Const Struct Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -325,7 +325,7 @@
    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/structreflex_1_1_abstract_matcher_1_1_option-members.html b/doc/html/structreflex_1_1_abstract_matcher_1_1_option-members.html index 25fba6051..2685c78f4 100644 --- a/doc/html/structreflex_1_1_abstract_matcher_1_1_option-members.html +++ b/doc/html/structreflex_1_1_abstract_matcher_1_1_option-members.html @@ -21,7 +21,7 @@
    Member List

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -64,7 +64,7 @@
    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/structreflex_1_1_abstract_matcher_1_1_option.html b/doc/html/structreflex_1_1_abstract_matcher_1_1_option.html index bd23d88b6..590f66c1e 100644 --- a/doc/html/structreflex_1_1_abstract_matcher_1_1_option.html +++ b/doc/html/structreflex_1_1_abstract_matcher_1_1_option.html @@ -21,7 +21,7 @@
    reflex::AbstractMatcher::Option Struct Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -156,7 +156,7 @@

    Member Data Documentation

    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/structreflex_1_1_bits_1_1_bitref-members.html b/doc/html/structreflex_1_1_bits_1_1_bitref-members.html index 52f329825..734a5c385 100644 --- a/doc/html/structreflex_1_1_bits_1_1_bitref-members.html +++ b/doc/html/structreflex_1_1_bits_1_1_bitref-members.html @@ -21,7 +21,7 @@
    Member List

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -68,7 +68,7 @@
    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/structreflex_1_1_bits_1_1_bitref.html b/doc/html/structreflex_1_1_bits_1_1_bitref.html index bf8c748d9..7c9c64ab8 100644 --- a/doc/html/structreflex_1_1_bits_1_1_bitref.html +++ b/doc/html/structreflex_1_1_bits_1_1_bitref.html @@ -21,7 +21,7 @@
    reflex::Bits::Bitref Struct Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -329,7 +329,7 @@

    Member Data Documentation

    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/structreflex_1_1_input_1_1file__encoding-members.html b/doc/html/structreflex_1_1_input_1_1file__encoding-members.html index ae0b16f7b..c839b17ab 100644 --- a/doc/html/structreflex_1_1_input_1_1file__encoding-members.html +++ b/doc/html/structreflex_1_1_input_1_1file__encoding-members.html @@ -21,7 +21,7 @@
    Member List

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -80,7 +80,7 @@
    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/structreflex_1_1_input_1_1file__encoding.html b/doc/html/structreflex_1_1_input_1_1file__encoding.html index 84ac3d1d8..38183a286 100644 --- a/doc/html/structreflex_1_1_input_1_1file__encoding.html +++ b/doc/html/structreflex_1_1_input_1_1file__encoding.html @@ -21,7 +21,7 @@
    reflex::Input::file_encoding Struct Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -575,7 +575,7 @@
    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/structreflex_1_1_matcher_1_1_f_s_m-members.html b/doc/html/structreflex_1_1_matcher_1_1_f_s_m-members.html index 8cb2e7275..270223c75 100644 --- a/doc/html/structreflex_1_1_matcher_1_1_f_s_m-members.html +++ b/doc/html/structreflex_1_1_matcher_1_1_f_s_m-members.html @@ -21,7 +21,7 @@
    Member List

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -67,7 +67,7 @@
    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/structreflex_1_1_matcher_1_1_f_s_m.html b/doc/html/structreflex_1_1_matcher_1_1_f_s_m.html index fd4787feb..a5ae439cf 100644 --- a/doc/html/structreflex_1_1_matcher_1_1_f_s_m.html +++ b/doc/html/structreflex_1_1_matcher_1_1_f_s_m.html @@ -21,7 +21,7 @@
    reflex::Matcher::FSM Struct Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -173,7 +173,7 @@
    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/structreflex_1_1_pattern_1_1_option-members.html b/doc/html/structreflex_1_1_pattern_1_1_option-members.html index 16017ace6..36ef2f6c9 100644 --- a/doc/html/structreflex_1_1_pattern_1_1_option-members.html +++ b/doc/html/structreflex_1_1_pattern_1_1_option-members.html @@ -21,7 +21,7 @@
    Member List

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -74,7 +74,7 @@
    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/structreflex_1_1_pattern_1_1_option.html b/doc/html/structreflex_1_1_pattern_1_1_option.html index 190a60248..3d7bdf84d 100644 --- a/doc/html/structreflex_1_1_pattern_1_1_option.html +++ b/doc/html/structreflex_1_1_pattern_1_1_option.html @@ -21,7 +21,7 @@
    reflex::Pattern::Option Struct Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -320,7 +320,7 @@
    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/structreflex_1_1_pattern_1_1_position-members.html b/doc/html/structreflex_1_1_pattern_1_1_position-members.html index ae9eb6829..8d02eca12 100644 --- a/doc/html/structreflex_1_1_pattern_1_1_position-members.html +++ b/doc/html/structreflex_1_1_pattern_1_1_position-members.html @@ -21,7 +21,7 @@
    Member List

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -86,7 +86,7 @@
    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/structreflex_1_1_pattern_1_1_position.html b/doc/html/structreflex_1_1_pattern_1_1_position.html index 38f05edbe..7b024ce50 100644 --- a/doc/html/structreflex_1_1_pattern_1_1_position.html +++ b/doc/html/structreflex_1_1_pattern_1_1_position.html @@ -21,7 +21,7 @@
    reflex::Pattern::Position Struct Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -718,7 +718,7 @@

    Member Data Documentation

    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/structreflex_1_1_pattern_1_1_state-members.html b/doc/html/structreflex_1_1_pattern_1_1_state-members.html index 18a0bc5ad..c8ac93e3b 100644 --- a/doc/html/structreflex_1_1_pattern_1_1_state-members.html +++ b/doc/html/structreflex_1_1_pattern_1_1_state-members.html @@ -21,7 +21,7 @@
    Member List

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -71,7 +71,7 @@
    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/structreflex_1_1_pattern_1_1_state.html b/doc/html/structreflex_1_1_pattern_1_1_state.html index ffa32c2bb..0c6ca92e0 100644 --- a/doc/html/structreflex_1_1_pattern_1_1_state.html +++ b/doc/html/structreflex_1_1_pattern_1_1_state.html @@ -21,7 +21,7 @@
    reflex::Pattern::State Struct Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -289,7 +289,7 @@

    Member Data Documentation

    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/structreflex_1_1_posix_1_1_tables_1_1lt-members.html b/doc/html/structreflex_1_1_posix_1_1_tables_1_1lt-members.html index 2baca025b..7515c4cf4 100644 --- a/doc/html/structreflex_1_1_posix_1_1_tables_1_1lt-members.html +++ b/doc/html/structreflex_1_1_posix_1_1_tables_1_1lt-members.html @@ -21,7 +21,7 @@
    Member List

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -61,7 +61,7 @@
    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/structreflex_1_1_posix_1_1_tables_1_1lt.html b/doc/html/structreflex_1_1_posix_1_1_tables_1_1lt.html index 5b66dbed6..6bcd624a4 100644 --- a/doc/html/structreflex_1_1_posix_1_1_tables_1_1lt.html +++ b/doc/html/structreflex_1_1_posix_1_1_tables_1_1lt.html @@ -21,7 +21,7 @@
    reflex::Posix::Tables::lt Struct Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -106,7 +106,7 @@

    Member Function Documentation

    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/structreflex_1_1_type_op-members.html b/doc/html/structreflex_1_1_type_op-members.html index 0fd215f63..6c6c3560c 100644 --- a/doc/html/structreflex_1_1_type_op-members.html +++ b/doc/html/structreflex_1_1_type_op-members.html @@ -21,7 +21,7 @@
    Member List

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -63,7 +63,7 @@
    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/structreflex_1_1_type_op.html b/doc/html/structreflex_1_1_type_op.html index a93cac903..ec0603a5f 100644 --- a/doc/html/structreflex_1_1_type_op.html +++ b/doc/html/structreflex_1_1_type_op.html @@ -21,7 +21,7 @@
    reflex::TypeOp< T > Struct Template Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -141,7 +141,7 @@
    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/structreflex_1_1_type_op_3_01const_01_t_01_4-members.html b/doc/html/structreflex_1_1_type_op_3_01const_01_t_01_4-members.html index 45de2116a..e12df22d7 100644 --- a/doc/html/structreflex_1_1_type_op_3_01const_01_t_01_4-members.html +++ b/doc/html/structreflex_1_1_type_op_3_01const_01_t_01_4-members.html @@ -21,7 +21,7 @@
    Member List

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -63,7 +63,7 @@
    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/structreflex_1_1_type_op_3_01const_01_t_01_4.html b/doc/html/structreflex_1_1_type_op_3_01const_01_t_01_4.html index 5f96ff677..7edf1cd66 100644 --- a/doc/html/structreflex_1_1_type_op_3_01const_01_t_01_4.html +++ b/doc/html/structreflex_1_1_type_op_3_01const_01_t_01_4.html @@ -21,7 +21,7 @@
    reflex::TypeOp< const T > Struct Template Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -126,7 +126,7 @@
    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/structreflex_1_1lazy__intersection-members.html b/doc/html/structreflex_1_1lazy__intersection-members.html index dd1ae701b..29863af19 100644 --- a/doc/html/structreflex_1_1lazy__intersection-members.html +++ b/doc/html/structreflex_1_1lazy__intersection-members.html @@ -21,7 +21,7 @@
    Member List

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -66,7 +66,7 @@
    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/structreflex_1_1lazy__intersection.html b/doc/html/structreflex_1_1lazy__intersection.html index abda545ab..01b44c9d8 100644 --- a/doc/html/structreflex_1_1lazy__intersection.html +++ b/doc/html/structreflex_1_1lazy__intersection.html @@ -21,7 +21,7 @@
    reflex::lazy_intersection< S1, S2 > Struct Template Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -238,7 +238,7 @@

    Member Data Documentation

    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/structreflex_1_1lazy__intersection_1_1iterator-members.html b/doc/html/structreflex_1_1lazy__intersection_1_1iterator-members.html index 85d0a5dc5..a677335d7 100644 --- a/doc/html/structreflex_1_1lazy__intersection_1_1iterator-members.html +++ b/doc/html/structreflex_1_1lazy__intersection_1_1iterator-members.html @@ -21,7 +21,7 @@
    Member List

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -74,7 +74,7 @@
    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/structreflex_1_1lazy__intersection_1_1iterator.html b/doc/html/structreflex_1_1lazy__intersection_1_1iterator.html index bc4c4755e..de7263df7 100644 --- a/doc/html/structreflex_1_1lazy__intersection_1_1iterator.html +++ b/doc/html/structreflex_1_1lazy__intersection_1_1iterator.html @@ -21,7 +21,7 @@
    reflex::lazy_intersection< S1, S2 >::iterator Struct Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -434,7 +434,7 @@

    Member Data Documentation

    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/structreflex_1_1lazy__union-members.html b/doc/html/structreflex_1_1lazy__union-members.html index a8800e281..d807fd419 100644 --- a/doc/html/structreflex_1_1lazy__union-members.html +++ b/doc/html/structreflex_1_1lazy__union-members.html @@ -21,7 +21,7 @@
    Member List

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -66,7 +66,7 @@
    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/structreflex_1_1lazy__union.html b/doc/html/structreflex_1_1lazy__union.html index 834691d1b..66d960bee 100644 --- a/doc/html/structreflex_1_1lazy__union.html +++ b/doc/html/structreflex_1_1lazy__union.html @@ -21,7 +21,7 @@
    reflex::lazy_union< S1, S2 > Struct Template Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -238,7 +238,7 @@

    Member Data Documentation

    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/structreflex_1_1lazy__union_1_1iterator-members.html b/doc/html/structreflex_1_1lazy__union_1_1iterator-members.html index f29d3e31f..23069d9d7 100644 --- a/doc/html/structreflex_1_1lazy__union_1_1iterator-members.html +++ b/doc/html/structreflex_1_1lazy__union_1_1iterator-members.html @@ -21,7 +21,7 @@
    Member List

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -75,7 +75,7 @@
    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/structreflex_1_1lazy__union_1_1iterator.html b/doc/html/structreflex_1_1lazy__union_1_1iterator.html index 2935346af..956761fb6 100644 --- a/doc/html/structreflex_1_1lazy__union_1_1iterator.html +++ b/doc/html/structreflex_1_1lazy__union_1_1iterator.html @@ -21,7 +21,7 @@
    reflex::lazy_union< S1, S2 >::iterator Struct Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -450,7 +450,7 @@

    Member Data Documentation

    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/structreflex_1_1range__compare-members.html b/doc/html/structreflex_1_1range__compare-members.html index eb31dd990..0029f6ab1 100644 --- a/doc/html/structreflex_1_1range__compare-members.html +++ b/doc/html/structreflex_1_1range__compare-members.html @@ -21,7 +21,7 @@
    Member List

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -61,7 +61,7 @@
    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/structreflex_1_1range__compare.html b/doc/html/structreflex_1_1range__compare.html index c0eb5cc53..33e2e8d8a 100644 --- a/doc/html/structreflex_1_1range__compare.html +++ b/doc/html/structreflex_1_1range__compare.html @@ -21,7 +21,7 @@
    reflex::range_compare< T > Struct Template Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -127,7 +127,7 @@
    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/timer_8h.html b/doc/html/timer_8h.html index 9b22f2fd5..8ecee9c65 100644 --- a/doc/html/timer_8h.html +++ b/doc/html/timer_8h.html @@ -21,7 +21,7 @@
    timer.h File Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -95,7 +95,7 @@
    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/traits_8h.html b/doc/html/traits_8h.html index e4e3dc89b..9bde6c274 100644 --- a/doc/html/traits_8h.html +++ b/doc/html/traits_8h.html @@ -21,7 +21,7 @@
    traits.h File Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -94,7 +94,7 @@
    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/unicode_8h.html b/doc/html/unicode_8h.html index 9c69a8f5c..976ab3b6f 100644 --- a/doc/html/unicode_8h.html +++ b/doc/html/unicode_8h.html @@ -21,7 +21,7 @@
    unicode.h File Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -96,7 +96,7 @@
    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/utf8_8h.html b/doc/html/utf8_8h.html index 5c0b1a6c6..e7fc32d39 100644 --- a/doc/html/utf8_8h.html +++ b/doc/html/utf8_8h.html @@ -21,7 +21,7 @@
    utf8.h File Reference

    -
    updated Fri Jan 18 2019 by Robert van Engelen
    +
    updated Mon Jan 21 2019 by Robert van Engelen
      @@ -72,11 +72,11 @@
    - + - + @@ -149,7 +149,7 @@
    +Converted on Mon Jan 21 2019 21:57:05 by Doxygen 1.8.11
    diff --git a/doc/html/utf8_8h__dep__incl.map b/doc/html/utf8_8h__dep__incl.map index ef954d51e..4db210752 100644 --- a/doc/html/utf8_8h__dep__incl.map +++ b/doc/html/utf8_8h__dep__incl.map @@ -1,9 +1,9 @@ - + - + diff --git a/doc/html/utf8_8h__dep__incl.md5 b/doc/html/utf8_8h__dep__incl.md5 index b4058d30f..d1b643471 100644 --- a/doc/html/utf8_8h__dep__incl.md5 +++ b/doc/html/utf8_8h__dep__incl.md5 @@ -1 +1 @@ -5896fca3d604ac1c04e1e61ffe8b132f \ No newline at end of file +c7258215b430fa9011a1829e2fa0a43d \ No newline at end of file diff --git a/doc/html/utf8_8h__dep__incl.png b/doc/html/utf8_8h__dep__incl.png index 84b079050..250a7b246 100644 Binary files a/doc/html/utf8_8h__dep__incl.png and b/doc/html/utf8_8h__dep__incl.png differ diff --git a/doc/index.md b/doc/index.md index 4e05bc088..2bd15ec60 100644 --- a/doc/index.md +++ b/doc/index.md @@ -50,17 +50,16 @@ machines differ from Flex in supporting the new pattern-matching features. RE/flex incorporates proper object-oriented design principles and does not rely on macros and globals as Flex does. Macros and globals are added to the source -code generated by `reflex` only when the Flex-compatibility option -`−−flex` is used. However, in all cases the `reflex` scanner generator -produces C++ scanner classes derived from a base lexer class template, with a -matcher engine as the template parameter. This offers an extensible approach -that permits new regex matching engines to be included in this framework in the -future. - -You can use the `reflex` scanner generator with two options `−−flex` and -`−−bison` to output Flex C-compatible source code. These options generate the -global non-reentrant "yy" functions and variables, such as `yylex()` and -`yytext`. +code generated by `reflex` only when option `−−flex` is used. A RE/flex +scanner is a generated class derived from a base lexer class template, with its +matcher engine defined as a template parameter. This flexible approach permits +new regex matching engines or libraries to be included in the RE/flex framework +in the future. + +For backward compatibility with Flex and Bison that requires global definitions +of functions and variables, you should use `reflex` with option `−−flex` +and option `−−bison`. These options combined generate the global non-reentrant +"yy" functions and variables, such as `yylex()` and `yytext`. In this document we refer to a *regex* as a shorthand for *regular expression*. Some of you may not agree with this broad use of terminology. The term regular @@ -95,8 +94,8 @@ The typographical conventions used by this document are: * `Courier` denotes lexer specifications and file names. -* `Courier` denotes commands and command or program output displayed on - a terminal. +* `Courier` denotes commands and command or program output displayed in + a terminal window. 🔝 [Back to table of contents](#) @@ -1798,6 +1797,11 @@ are the classic Flex actions shown in the second column of this table: `set_debug(n)` | `set_debug(n)` | reflex option `-d` sets `n=1` `debug()` | `debug()` | nonzero when debugging +A `reflex::Input` input source is denoted `i` in the table, which can be +`FILE*` descriptor, `std::istream`, a string `std::string` or `const char*`, or +a wide string `std::wstring` or `const wchar_t*`. Output `o` is a +`std::ostream` object. + Note that Flex `switch_streams(i, o)` is the same as invoking the `in(i)` and `out(o)` methods. Flex `yyrestart(i)` is the same as invoking `in(i)` to set input to a file, stream, or string. Invoking `switch_streams(i, o)` and @@ -1807,9 +1811,12 @@ boundary flags for anchor and word boundary matching, and resets the matcher to consume buffered input. You can also set the input with `in() = &i` (or `yyin = &i)` with option -`−−flex`). This does not reset the matcher. This means that when an end of -input (EOF) was reached, you should clear the EOF state first with -`matcher().set_end(false)` or reset the matcher state with `matcher().reset()`. +`−−flex`). This however does not reset the matcher. This means that when an +end of input (EOF) was reached, you should clear the EOF state first with +`matcher().set_end(false)` or reset the matcher state with `matcher().reset()`. +Resetting the matcher state also flushes the remaining input from the buffer, +which would otherwise still be consumed. Using `in(i)` (or `yyrestart(i)` with +option `−−flex`) is therefore preferable. The `matcher().input()`, `matcher().winput()`, and `matcher().peek()` methods return a non-negative character code and EOF (-1) when the end of input is @@ -1858,7 +1865,7 @@ The `lineno()` method returns the line number of the match, starting at line 1. The `columno()` method returns the column offset of a match, starting at column 0. This method takes tab spacing and wide characters into account, unless all of the RE/flex source code is compiled with `WITH_BYTE_COLUMNO` to -count bytes. +count bytes instead of wide characters and tabs. Because `matcher()` returns the current matcher object, the following Flex-like actions are also supported: @@ -1887,15 +1894,18 @@ create a new matcher, push/pop a matcher on/from a stack, and delete a matcher: `ptr_matcher()` | `YY_CURRENT_BUFFER` | pointer to current matcher `has_matcher()` | `YY_CURRENT_BUFFER != 0` | current matcher is usable -The `pop_matcher()` action returns `true` when successful and `false` -otherwise. When `false`, `has_matcher()` returns `false` and `ptr_matcher()` -returns `NULL`. - The matcher type `m` is a Lexer class-specific `Matcher` type, which depends on the underlying matcher used by the scanner. Therefore, `new_matcher(i)` instantiates a `reflex::Matcher` or `reflex::BoostPosixMatcher` depending on the `−−matcher` option. +The `push_matcher()` and `pop_matcher()` functions can be used to temporarily +switch to another input source while preserving the original input source +associated with the matcher on the stack with `push_matcher()`. The +`pop_matcher()` action returns `true` when successful and `false` otherwise, +when the stack is empty. When `false`, `has_matcher()` returns `false` and +`ptr_matcher()` returns `NULL`. See also \ref reflex-multiple-input. + The following Flex functions are also supported with `reflex` option `−−flex` and take `std::string` and `char*` arguments: diff --git a/doc/man/reflex.1 b/doc/man/reflex.1 index 2ec640293..ce05e9a8d 100644 --- a/doc/man/reflex.1 +++ b/doc/man/reflex.1 @@ -1,4 +1,4 @@ -.TH REFLEX "1" "January 18, 2019" "reflex 1.0.11" "User Commands" +.TH REFLEX "1" "January 21, 2019" "reflex 1.0.12" "User Commands" .SH NAME reflex \- the regex\-centric fast and flexible lexical analyzer generator .SH SYNOPSIS diff --git a/include/reflex/input.h b/include/reflex/input.h index 4e46eb1d7..fa043ca40 100644 --- a/include/reflex/input.h +++ b/include/reflex/input.h @@ -174,6 +174,15 @@ by one from stdin, e.g. reading input from a tty: fputc(c, stdout); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Or if you prefer to use an int character and check for EOF explicitly: + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.cpp} + reflex::Input input(stdin); + int c; + while ((c = input.get()) != EOF) + fputc(c, stdout); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Example ------- @@ -521,6 +530,14 @@ class Input { return istream_->eof(); return true; } + /// Get a single character or EOF when end-of-input is reached. + int get() + { + char c; + if (get(&c, 1)) + return c; + return EOF; + } /// Copy character sequence data into buffer. size_t get( char *s, ///< points to the string buffer to fill with input diff --git a/src/reflex.cpp b/src/reflex.cpp index 20aa51b38..f24c97eec 100644 --- a/src/reflex.cpp +++ b/src/reflex.cpp @@ -645,7 +645,7 @@ void Reflex::parse() ifs.open(infile.c_str(), std::ifstream::in); if (!ifs.is_open()) abort("cannot open file ", infile.c_str()); - in = &ifs; + in = ifs; } parse_section_1(); parse_section_2(); @@ -663,8 +663,8 @@ void Reflex::include(const std::string& filename) abort("cannot open file ", infile.c_str()); std::string save_infile = infile; infile = filename; - std::istream *save_in = in; - in = &ifs; + reflex::Input save_in = in; + in = ifs; size_t save_lineno = lineno; lineno = 0; parse_section_1(); @@ -678,17 +678,23 @@ void Reflex::include(const std::string& filename) /// Fetch next line from the input, return true if ok. bool Reflex::get_line() { - if (in->eof()) + if (in.eof()) return false; - if (!in->good()) + if (!in.good()) abort("error in reading"); ++lineno; - std::getline(*in, line); + line.clear(); + int c; + while ((c = in.get()) != EOF && c != '\n') + { + if (c != '\r') + line.push_back(c); + } linelen = line.length(); while (linelen > 0 && std::isspace(line.at(linelen - 1))) --linelen; line.resize(linelen); - if (in->eof() && line.empty()) + if (in.eof() && line.empty()) return false; return true; } @@ -1336,7 +1342,7 @@ void Reflex::parse_section_1() /// Parse section 2 of a lex specification. void Reflex::parse_section_2() { - if (in->eof()) + if (in.eof()) error("missing %% section 2"); bool init = true; std::stack scopes; @@ -1416,7 +1422,7 @@ void Reflex::parse_section_2() if (!scopes.empty()) { const char *name = conditions.at(*scopes.top().begin()).c_str(); - if (in->eof()) + if (in.eof()) error("EOF encountered inside scope ", name); else error("%% section ending encountered inside scope ", name); @@ -1457,7 +1463,7 @@ void Reflex::parse_section_2() /// Parse section 3 of a lex specification. void Reflex::parse_section_3() { - if (in->eof()) + if (in.eof()) error("missing %% section 3"); while (get_line()) section_3.push_back(Code(line, infile, lineno)); diff --git a/src/reflex.h b/src/reflex.h index d5b606c1b..96ab88422 100644 --- a/src/reflex.h +++ b/src/reflex.h @@ -39,6 +39,7 @@ #include #include +#include #include #include #include @@ -64,7 +65,7 @@ #endif // DO NOT ALTER THIS LINE: the makemake.sh script updates the version -#define REFLEX_VERSION "1.0.11" +#define REFLEX_VERSION "1.0.12" /// RE/flex scanner generator class, a variation of the classic "lex" tool to generate scanners. /** @@ -199,7 +200,7 @@ class Reflex CodesMap section_2; ///< lexer user code in section 2 container Codes section_3; ///< main user code in section 3 container std::string infile; ///< input file name - std::istream *in; ///< input stream with lex spec + reflex::Input in; ///< input lex spec std::ostream *out; ///< output stream std::string line; ///< current line read from input size_t lineno; ///< current line number at input