We aggregate information from all open source repositories to provide the most of useful open source products, from Enterprise product to small libraries across all platforms. Please search and find what you want.

RE/flex

RE/flex is the fast and flexible C++ lexical analyzer generator with Unicode support, indent/nodent/dedent anchors, lazy quantifiers, word boundaries and many other features that Flex lacks. Intended for fast scanning of UTF-8/16/32 files, strings, and streams. Compatible with Flex lexer specifications and supports Bison/Yacc and other parser generators. The reflex scanner generator tool generates clean lexer class code that is MT-safe. Generates Graphviz files to visualize state machine DFAs. RE/flex also offers a collection of class templates to wrap C++ regex engines in a unified API for scanning and searching large data sources. This API makes pattern matching with C++11 std::regex and Boost.Regex a breeze!

RE/flex source code is hosted at GitHub https://github.com/Genivia/RE-flex

You’re probably paying too much for cell phone service. Wirefly compares hundreds of plans to help you save. Enter what you need (minutes, data, texts) into Wirefly’s innovative plan comparison tools and see your savings instantly.

Website https://www.genivia.com/reflex.html
Tags
License
Features
  • RE/flex is fast: faster than Flex, see Wiki for performance comparisons
  • Compatible with Flex and Bison to eliminate a learning curve
  • Extensive documentation in the online manual
  • Adds Unicode support, property matching \p{C} and C++11, Java, C#, and Python Unicode properties for identifier name matching
  • Adds indent/nodent/dedent anchors to match rules on text with indentation
  • Adds lazy quantifiers to the POSIX regular expression syntax
  • Adds word boundaries to the POSIX regular expression syntax
  • Works with Bison and supports reentrant, bison-bridge and bison-locations
  • Includes many examples, such as a tokenizer for C/C++ code, a tokenizer for Python code, a tokenizer for Java code, and more
  • Generates clean MT-safe source code that defines a C++ Lexer class derived from an abstract lexer class
  • Fast and adaptive buffering of input files (UTF-8/16/32, ASCII, ISO-8859-1, EBCDIC), C++ streams, and (wide) strings
  • Generates Graphviz files to visualize DFAs with the Graphviz dot tool
  • Configurable Lexer class generation to customize the interface for various parsers, including Yacc and Bison
  • %class and %init to customize the generated Lexer classes
  • %include to modularize lex specifications
  • RE/flex generates lex.yy.cpp files while Flex generates lex.yy.cc files (C++ with option -+)
  • Adds an extensible hierarchy of pattern matcher engines, with a choice of regex engines, such as Boost.Regex and RE/flex regex
  • The RE/flex regex library makes C++11 std::regex and Boost.Regex much easier to use in plain C++ code for pattern matching on (wide) strings, files, and streams of potentially unlimited length