1[![logo][logo-url]][reflex-url] 2 3The examples with Bison require the installation of [Bison][bison-url]. 4 5Examples with RE/flex C++ lexer methods 6--------------------------------------- 7 8- `minic.l,` `minic.y`, `minic.hpp`, and `minicdemo.c` Mini C compiler with Bison 3.2 C++ complete parser, generates Java bytecode in class files 9- `braille.l` a braille translator, inspired by the re2c example but extended and fixed to make it usable 10- `ptokens.l` and `pdefs.l` a Python source tokenizer 11- `calc.l` and `calc.y` calculator with Bison 3.2 bison-bridge parser, supports Unicode identifier variables, resolves input errors 12- `csv.l` scanner to parse CSV rows from a file into a C++ vector 13- `yaml.l` YAML 1.2 parser and writer 14- `indent1.l` indentation detection and reformatting example, basic 15- `indent2.l` indentation detection and reformatting example, advanced with start conditions 16- `unicode.l` a very simple Unicode word matcher to demonstrate Unicode matching 17- `scanstrings.l` demonstrates string and buffer scanning 18- `mmap.l` demonstrates mmap(2) to scan C/C++ source code files fast with RE/flex read-only memory scanning 19- `gz.l` demonstrates scanning zlib-compressed (and uncompressed) C/C++ source code files 20- `dos.l` demonstrates scanning DOS-formatted files with `reflex::BufferedInput::dos_streambuf` 21- `fastfind.l` demonstrates fast search for patterns in input, rather than scanning the input 22- `tag.l` simple lexer to print out all XML/HTML tags 23- `tag_lazy.l` simple lexer to print XML/HTML tags, uses lazy quants 24- `tag_lazystates.l` lexer to print XML tags, uses lazy quants and states 25- `tag_unicode.l` lexer to print XML tags, uses lazy quants and states, checks UTF-8 validity 26- `tag_tidy.l` lexer to tidy and normalize HTML 27- `cow.l` scanner to convert cows 28- `cows.l` scanner to convert cows, uses word boundary anchors 29- `reflexexample3.l` example RE/flex scanner adapted from the Flex documentation with C bison 30- `reflexexample3.lxx` example RE/flex scanner adapted from the Flex documentation with C++ bison 31- `reflexexample4.l` example RE/flex scanner adapted from the Flex documentation with C bison-bridge 32- `reflexexample4.lxx` example RE/flex scanner adapted from the Flex documentation with C++ bison-bridge 33- `reflexexample5.l` example RE/flex scanner adapted from the Flex documentation with C bison-bridge 34- `reflexexample5.lxx` example RE/flex scanner adapted from the Flex documentation with C++ bison-bridge 35- `reflexexample6.l` example RE/flex reentrant scanner with state stacks 36- `reflexexample7.l` example RE/flex scanner adapted from the Flex documentation with C bison-locations 37- `reflexexample7.lxx` example RE/flex scanner adapted from the Flex documentation with C++ bison-locations 38- `reflexexample8.l` example RE/flex scanner adapted from the Flex documentation with C bison-bridge and bison-locations 39- `reflexexample8.lxx` example RE/flex scanner adapted from the Flex documentation with C++ bison-bridge and bison-locations 40- `reflexexample9.lxx` example RE/flex scanner with Bison 3.0 %skeleton "lalr1.cc" C++ parser with bison-cc and bison-locations 41- `reflexexample10.l` example RE/flex scanner adapted from the Flex documentation to use multiple buffers 42- `reflexexample11.lxx` example RE/flex scanner with Bison 3.2 C++ bison-complete and bison-locations 43 44Examples with the backward-compatible Flex lexer functions 45---------------------------------------------------------- 46 47- `json.l` JSON parser and writer 48- `ctokens.l` and `cdefs.l` a C/C++ source tokenizer 49- `jtokens.l` and `jdefs.l` a Java source tokenizer, meets the official Java Lexical Structure requirements 50- `readline.l` demonstrates scanning with readline(3) interactive input 51- `yyscanstrings.l` demonstrates string and buffer scanning 52- `echo.l` classic interactive scanner to echo input 53- `wc.l` word count example 54- `wcu.l` word count example with Unicode matching (RE/flex only) 55- `wcpp.l` word count example with lexer class variables 56- `wcwc.l` word count example with custom lexer class 57- `flexexample1.l` example taken from the Flex documentation 58- `flexexample2.l` example from <http://matt.might.net/articles/standalone-lexers-with-lex> 59- `flexexample3.l` example from the Flex documentation with C bison 60- `flexexample3.lxx` example from the Flex documentation with C++ bison 61- `flexexample4.l` example from the Flex documentation with C bison-bridge 62- `flexexample4.lxx` example from the Flex documentation with C++ bison-bridge 63- `flexexample5.l` example from the Flex documentation with C bison-bridge 64- `flexexample5.lxx` example from the Flex documentation with C++ bison-bridge 65- `flexexample6.l` example reentrant scanner with state stacks 66- `flexexample7.l` example from the Flex documentation with C bison-locations 67- `flexexample7.lxx` example from the Flex documentation with C++ bison-locations 68- `flexexample8.l` example from the Flex documentation with C bison-bridge and bison-locations 69- `flexexample8.lxx` example from the Flex documentation with C++ bison-bridge and bison-locations 70- `flexexample9.lxx` example Bison 3.0 %skeleton "lalr1.cc" C++ parser with bison-cc and bison-locations 71- `flexexample10.l` example from the Flex documentation to use multiple buffers 72- `reflexexample11.lxx` example reentrant scanner with Bison 3.2 C++ bison-complete and bison-locations 73 74Regex pattern matching with the easy-to-use RE/flex regex API 75------------------------------------------------------------- 76 77- `cards.cpp` RE/flex regex API demo: matches credit card numbers (uses the fast RE/flex regex matcher) 78- `cvt2utf` demonstrates `reflex::Input` UTF-8 normalization to convert files to UTF-8/16/32 79- `fastsearch.cpp` demonstrates super fast search with regex patterns compiled to C++ (typically much faster than any grep tool) 80- `ugrep.cpp` file searcher (simple version), [fully-featured high-performance version on GitHub](https://github.com/Genivia/ugrep) 81- `url_boost.cpp` RE/flex regex API demo: capture domain, path, and query keys from URLs (uses the Boost.Regex library) 82- `url_pcre2.cpp` RE/flex regex API demo: capture domain, path, and query keys from URLs (uses the PCRE2 library) 83 84[logo-url]: https://www.genivia.com/images/reflex-logo.png 85[reflex-url]: https://www.genivia.com/get-reflex.html 86[manual-url]: https://www.genivia.com/doc/reflex/html 87[bison-url]: http://dinosaur.compilertools.net/#bison 88