JFlex - The Fast Scanner Generator for Java


Current stable version is JFlex 1.5.1 released on Mar 21, 2014


[2014-03-21]     Two months and JFlex 1.5.1 is out! See below for release notes.

[2014-01-21]     It's been a long time coming: JFlex 1.5 is out!

[2009-01-31]     JFlex 1.4.3 released.

[2008-05-27]     JFlex 1.4.2 released.

[2007-10-29]     There now exists a JFlex Maven plugin, contributed by Régis Décamps. It integrates JFlex into the Maven software project management tool.

What is it?

JFlex is a lexical analyzer generator (also known as scanner generator) for Java(tm), written in Java(tm). It is also a rewrite of the very useful tool JLex which was developed by Elliot Berk at Princeton University. As Vern Paxson states for his C/C++ tool flex: They do not share any code though.

JFlex is designed to work together with the LALR parser generator CUP by Scott Hudson, and the Java modification of Berkeley Yacc BYacc/J by Bob Jamison. It can also be used together with other parser generators like ANTLR or as a standalone tool.

Features of JFlex.

Is it free?

Yes. It is released under a permissive open-source BSD-style license and available for free download. See also Copyright, License & Warranty.

What's new in version 1.5.1?

Version 1.5.1 fixes the start scripts, adds direct CUP2 support, and tweaks the documentation.

See also the change log file for the complete list of changes.

What's new in version 1.5?

Version 1.5 is the first new major release in a few years. The most important changes are

  • JFlex now conforms with Unicode Regular Expressions UTS#18 Basic Unicode Support - Level 1. Supplementary code points (above the Basic Multilingual Plane) are not yet supported. Huge thanks to Steve Rowe for his extensive work on this!
  • Support for new meta characters \s, \S, \d, \D, \w, \W, nested character sets and new character set operations (union, intersection, set difference, symmetric difference).
  • The "." meta character now stands for all non-newline characters. Old behaviour available with the --legacydot option.
  • New \R meta character stands for all newline characters.
  • Moved to a more permissive BSD-style license.
  • JFlex now needs at least JDK 1.5 to run.
  • Changed the build from Ant to Maven.
  • Updated JFlex to CUP version 0.11a.
  • Fixed outstanding bugs.

What's new on these pages?

There is a list of files on this website ordered by modification date.

What platforms does JFlex support?

JFlex should run on any platform that supports a JRE/JDK 1.5 or above.

Java is a trademark of Sun Microsystems. JFlex is not sponsored by or affiliated with Sun Microsystems

most recently modified at 2014-03-21 18:27 UTC by Gerwin Klein