Path: csiph.com!xmission!news.glorb.com!news.linkpendium.com!news.linkpendium.com!news.iecc.com!.POSTED!nerds-end From: Matt Timmermans Newsgroups: comp.compilers Subject: OSS Announcement: New lexer/scanner/matcher library for java Date: Sat, 17 Oct 2015 11:36:57 -0700 (PDT) Organization: Compilers Central Lines: 32 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <15-10-013@comp.compilers> NNTP-Posting-Host: news.iecc.com Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 X-Trace: miucha.iecc.com 1445230815 84738 2001:470:1f07:1126:0:676f:7373:6970 (19 Oct 2015 05:00:15 GMT) X-Complaints-To: abuse@iecc.com NNTP-Posting-Date: Mon, 19 Oct 2015 05:00:15 +0000 (UTC) Keywords: available, lex, DFA, Java Posted-Date: 19 Oct 2015 01:00:15 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:1640 DFAlex: http://mtimmerm.github.io/dfalex/ Java programmers use regular expressions for all kinds of tasks... but they are slow and dangerously use unbounded stack. The DFA technology used in lexers supports faster and more robust ways to do these sorts of things, but available implementations only build lexers. (how annoying) This library builds DFAs for you and helps you use them for all the kinds of things we use regular expressions for. It gives you an easy to use representation of the actual DFA, which you can use with matcher classes or on its own. Some features: - arbitrary output types - no code generation - no dependencies - transitions on character ranges (handy for unicode) - generate multiple DFAs simultaneously. They will share equivalent states. - methods for combining patterns specified with regexes or programmatically. (no need for quadruple backslashes!) - really fast building + minimization - can cache prebuilt DFAs if "really fast" building isn't fast enough. - pretty nice modern Java 8 code There will be a parser generator sometime too, that requires no code generation and uses this DFA builder to make the LR DFA. Cheers, Matt