Releases: jflex-de/jflex
Releases · jflex-de/jflex
Jflex 1.5.0
Released 2014-03-23
- the "switch" and "table" code generation options are deprecated
and will be removed in JFlex 1.6 - the JFlex license has been changed from GPL to BSD.
- updated JFlex to CUP version 0.11a.
- changed the build from Ant to Maven. 523d7a9
- JFlex now mostly conforms with Unicode Regular Expressions UTS#18
Basic Unicode Support - Level 1. Supplementary code points (above
the Basic Multilingual Plane) are not yet supported. - new meta characters supported:
\s, \S, \d, \D, \w, \W
. - nested character sets now supported, e.g.
[[[ABC]D]E[FG]]
- new character set operations supported: union (e.g.
[A||B]
), intersection (e.g.
[A&&B]
), set-difference (e.g.[A--B]
), and symmetric difference (e.g.[A~~B]
). - the meaning of the dot (".") meta character has been changed from
[^\n]
to
[^\n\r\u000B\u000C\u0085\u2028\u2029]
. Use the new--legacydot
option to
cause "." to be interpreted as[^\n]
. - new
\R
meta character matches any newline:
"\r\n" | [\n\r\u000B\u000C\u0085\u2028\u2029]
. - new option --noinputstreamctor to not include an InputStream
constructor in the generated scanner. - %include can now be used in the rules section (#117)
- yychar and zzAtBOL should be reset for nested input streams (#107 & #108 )
- fixed bug #109 (could not match input for empty string matches.)
- fixed bug #112 & #119 (properly update zzFin when reallocating zzBuffer)
- fixed bug #115 (noncompileable scanner generation when default locale is Turkish)
- fixed bug #114 (zzEOFDone not included with pushed nested stream state)
- fixed bug #105 (can't build examples/java/)
- fixed bug #106 (impossible char class range should trigger syntax error)
1.4.3
1.4.2
Released 2008-05-28
- implemented feature request #75:
Now supports generics syntax for %type, %extends, etc - implemented feature request #156:
Provided %ctorarg option to add arguments to constructor - fixed bug #80 (Reader.read might return 0)
- fixed bug #57 (Ambiguous error message in macro expansion)
- fixed bug #89 (Syntax error in input may cause NullPointerException)
- fixed bug #85 (Need to defend against path blanks in jflex bash script)
- fixed bug #82 (EOF actions may be ignored for same lex state)
- fixed bug #81 (syntax error in generated ZZ_CMAP)
- fixed bug #77 (lookahead and "|" actions)
- fixed bug #74 (yytext() longer than expected with lookahead)
- fixed bug #73 (OS/2 Java 1.1.8 Issues)
- fixed bug #40 (dangerous lookahead check may fail)
1.4.1
Released 2004-11-07
- merged in patch by Don Brown (fixes #70 Uses Old JUnit method assertFalse)
- merged in patch by Don Brown (fixes #62 buffer expansion bug in yy_refill())
Thanks to Binesh Bannerjee for providing a simpler test case for this problem. - fixed bug #69 (ArrayIndexOutOfBounds in IntCharSet)
- fixed bug #68 (Cannot use lookahead with ignorecase)
- converted dangerous lookahead error to warning
- print info for EOF actions as well in %debug mode
- fixed line number count for EOF actions
- internal: removed unused methods in LexScan.flex and IntCharSet
1.4
Released 2004-04-12
- new, very fast minimization algorithm (also fixes memory issues)
- new
--jlex
option for strict compatibility to JLex. Currently it
changes%ignorecase
to JLex semantics, that is, character classes
are interpreted in a caseless way, too.
(fixes bus #59,%ignorecase
ignored by char classes).
Thanks to Edward D. Willink for spotting the incompatibility. - support for even larger scanners (up to 64K DFA states).
Thanks to Karin Vespoor. - removed eclipse compiler warnings for generated classes
(feature request #144) - implemented faster character classes (feature request #143).
Expressions like[a-z] | [A-Z]
are interpreted as one atomic class
[a-zA-Z]
, reducing NFA states and generation time significantly
for some specifications. This affects the generation process only,
generated scanners remain the same. - new %apiprivate switch (feature request #141/1) that causes all
generated and skeleton methods to be made private. Exceptions to this
are user defined functions and the constructor. Thanks to Stephen
Ostermiller for the suggestion. - allow user defined javadoc class comments (feature request #141/2)
If the user code section ends with a javadoc comment, JFlex takes this
instead of the generated comment. Thanks to Stephen Ostermiller for
the suggestion. - fixed bug #50 (undefined macros in complement expressions do
not throw exception in generator). Thanks to Stephen Ostermiller
for the bug report. - fixed bug #51 (yypushStream/yypopStream in skeleton.nested
work as advertised) - fixed bug #57 (no wrong macro warnings on regexp negation)
- fixed bug #58 (%cupsym now also affects %cupdebug)
Thanks to Eric Schweitz for the fix. - fixed bug #52 (single-line %initthrow works now
in case of extra whitespace before newline) - yyreset() does no longer close the associated reader (use yyclose()
explicitly for that). Makes some reader objects reusable (feature
request #140). Thanks to Stephen Ostermiller for the suggestion. - fixed modifier order in generated code, removes jikes compiler warnings
Thanks to Michael Wildpaner for the fix. - ant task now also works with ant >= 1.4 (fixes bug #54)
- yyreset() does not declare an execption any more (fixes bug #65)
- %cup does not include %eofclose in JLex mode (--jlex). (Fixes bug #63)
- optional parameter to %eofclose: "%eofclose false" turns off %eofclose if
it was turned on previously (e.g. by %cup). (Fixes bug #63) - jflex build script switched to ant
- internal: central Options class for better integration with
build tools and IDEs - internal: change naming scheme for generated internal variables from
yy_ to zz to comply with Java naming standard. Thanks to Max Gilead
for the patch.