Path: csiph.com!xmission!news.snarked.org!border2.nntp.dca1.giganews.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: Robert van Engelen Newsgroups: comp.compilers Subject: [ANN] major release of RE/flex 1.2.8 Date: Tue, 16 Jul 2019 10:25:12 -0400 (EDT) Organization: Compilers Central Lines: 80 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <19-07-008@comp.compilers> Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="86781"; mail-complaints-to="abuse@iecc.com" Keywords: lex, available Posted-Date: 16 Jul 2019 10:25:12 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Xref: csiph.com comp.compilers:2348 Hi all, I'm pleased to announce a major release of RE/flex 1.2.8. Thanks to many users of RE/flex and their feedback, we improved RE/flex, added new features, and included new examples. RE/flex is the regex-centric, fast lexical analyzer generator for C++. RE/flex can be used as a faster and reliable drop-in replacement of Flex++. RE/flex offers the following features, to name a few: - Compatible with Flex to eliminate a learning curve, making a transition to RE/flex frustration-free. - Generates reusable source code that is easy to understand. - Works with Bison and supports reentrant, bison-bridge, bison-locations, Bison 3.0 C++ interface `%skeleton "lalr1.cc"` and Bison complete symbols. - Includes many examples, such as a tokenizer for C/C++ source code, a tokenizer for Python source code, a tokenizer for Java source code, and more. - Extensive documentation included. - Full Unicode support with Unicode property matching \p{C} and C++11, Java, C#, and Python Unicode properties for identifier name matching. - Indent/nodent/dedent anchors to match text with indentation, including \t (tab) adjustments. - Lazy quantifiers, so hacks are no longer needed to work around greedy repetitions in Flex. - Word boundary anchors. - Freespace mode option to improve readability of lexer specifications. - %class and %init directives to customize the generated Lexer classes. - %include to modularize lexer specifications. - Includes an extensible hierarchy of pattern matcher engines, with a choice of regex engines, including the RE/flex regex engine and Boost.Regex. - Generates clean source code that defines an thread-safe (reentrant) C++ Lexer class derived from an abstract lexer class template, parameterized by matcher class type. - Multiple lexer classes can be combined and used in one application, e.g. by multiple threads. - Configurable Lexer class generation to customize the interface for various parsers, including Yacc and Bison. - Generates scanners for lexical analysis on files, C++ streams, and (wide) strings, with automatic fast conversion of UTF-16/32 to UTF-8 for matching Unicode on UTF-encoded input files. - Generates lex.yy.cpp files while Flex++ generates lex.yy.cc files, to distinguish the generated files. - Generates Graphviz files to visualize FSMs with the Graphviz dot tool. RE/flex is available on GitHub and SourceForge: https://github.com/Genivia/RE-flex https://sourceforge.net/projects/re-flex Documentation: https://re-flex.sourceforge.net Https://www.genivia.com/doc/reflex/index.html Give us your feedback, comments, suggestions. Thanks for using RE/flex!! - Robert