Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.compilers > #1640

OSS Announcement: New lexer/scanner/matcher library for java

Path csiph.com!xmission!news.glorb.com!news.linkpendium.com!news.linkpendium.com!news.iecc.com!.POSTED!nerds-end
From Matt Timmermans <matt.timmermans@gmail.com>
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> (permalink)
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

Show key headers only | View raw


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

Back to comp.compilers | Previous | Next | Find similar | Unroll thread


Thread

OSS Announcement: New lexer/scanner/matcher library for java Matt Timmermans <matt.timmermans@gmail.com> - 2015-10-17 11:36 -0700

csiph-web