1 | * JFlex 1.4.3 (Jan 31, 2009)
|
---|
2 | - fixed bug #2018299 (lookahead syntax error)
|
---|
3 | - fixed bug #2010261 (min_int in Java example scanner)
|
---|
4 | - fixed bug #2007221 (zzEOFDone not reset in yyreset(Reader))
|
---|
5 | - fixed bug #1999301 (%type and %int at the same time should produce error msg)
|
---|
6 |
|
---|
7 | * JFlex 1.4.2 (May 27, 2008)
|
---|
8 | - implemented feature request #1212181:
|
---|
9 | Now supports generics syntax for %type, %extends, etc
|
---|
10 | - implemented feature request #1762500:
|
---|
11 | Provided %ctorarg option to add arguments to constructor
|
---|
12 | - fixed bug #1464525 (Reader.read might return 0)
|
---|
13 | - fixed bug #1968897 (Ambiguous error message in macro expansion)
|
---|
14 | - fixed bug #1832973 (Syntax error in input may cause NullPointerException)
|
---|
15 | - fixed bug #1629920 (Need to defend against path blanks in jflex bash script)
|
---|
16 | - fixed bug #1540228 (EOF actions may be ignored for same lex state)
|
---|
17 | - fixed bug #1498726 (syntax error in generated ZZ_CMAP)
|
---|
18 | - fixed bug #1282840 (lookahead and "|" actions)
|
---|
19 | - fixed bug #1164852 (yytext() longer than expected with lookahead)
|
---|
20 | - fixed bug #1065521 (OS/2 Java 1.1.8 Issues)
|
---|
21 | - fixed bug #421495 (dangerous lookahead check may fail)
|
---|
22 |
|
---|
23 | * JFlex 1.4.1 (November 7, 2004)
|
---|
24 | - merged in patch by Don Brown (fixes #1049791 Uses Old JUnit method assertFalse)
|
---|
25 | - merged in patch by Don Brown (fixes #887821 buffer expansion bug in yy_refill())
|
---|
26 | Thanks to Binesh Bannerjee for providing a simpler test case for this problem.
|
---|
27 | - fixed bug #1035407 (ArrayIndexOutOfBounds in IntCharSet)
|
---|
28 | - fixed bug #1003569 (Cannot use lookahead with ignorecase)
|
---|
29 | - converted dangerous lookahead error to warning
|
---|
30 | - print info for EOF actions as well in %debug mode
|
---|
31 | - fixed line number count for EOF actions
|
---|
32 | - internal: removed unused methods in LexScan.flex and IntCharSet
|
---|
33 |
|
---|
34 | * JFlex 1.4 (April 12, 2004)
|
---|
35 | - new, very fast minimization algorithm (also fixes memory issues)
|
---|
36 | - new --jlex option for strict compatibility to JLex. Currently it
|
---|
37 | changes %ignorecase to JLex semantics, that is, character classes
|
---|
38 | are interpreted in a caseless way, too.
|
---|
39 | (fixes bus #751757, %ignorecase ignored by char classes).
|
---|
40 | Thanks to Edward D. Willink for spotting the incompatibility.
|
---|
41 | - support for even larger scanners (up to 64K DFA states).
|
---|
42 | Thanks to Karin Vespoor.
|
---|
43 | - removed eclipse compiler warnings for generated classes
|
---|
44 | (feature request #778747)
|
---|
45 | - implemented faster character classes (feature request #604589).
|
---|
46 | Expressions like [a-z] | [A-Z] are interpreted as one atomic class
|
---|
47 | [a-zA-Z], reducing NFA states and generation time significantly
|
---|
48 | for some specifications. This affects the generation process only,
|
---|
49 | generated scanners remain the same.
|
---|
50 | - new %apiprivate switch (feature request #513500/1) that causes all
|
---|
51 | generated and skeleton methods to be made private. Exceptions to this
|
---|
52 | are user defined functions and the constructor. Thanks to Stephen
|
---|
53 | Ostermiller for the suggestion.
|
---|
54 | - allow user defined javadoc class comments (feature request #513500/2)
|
---|
55 | If the user code section ends with a javadoc comment, JFlex takes this
|
---|
56 | instead of the generated comment. Thanks to Stephen Ostermiller for
|
---|
57 | the suggestion.
|
---|
58 | - fixed bug #491095 (undefined macros in complement expressions do
|
---|
59 | not throw exception in generator). Thanks to Stephen Ostermiller
|
---|
60 | for the bug report.
|
---|
61 | - fixed bug #495422 (yypushStream/yypopStream in skeleton.nested
|
---|
62 | work as advertised)
|
---|
63 | - fixed bug #611118 (no wrong macro warnings on regexp negation)
|
---|
64 | - fixed bug #655528 (%cupsym now also affects %cupdebug)
|
---|
65 | Thanks to Eric Schweitz for the fix.
|
---|
66 | - fixed bug #510010 (single-line %initthrow works now
|
---|
67 | in case of extra whitespace before newline)
|
---|
68 | - yyreset() does no longer close the associated reader (use yyclose()
|
---|
69 | explicitly for that). Makes some reader objects reusable (feature
|
---|
70 | request #513492). Thanks to Stephen Ostermiller for the suggestion.
|
---|
71 | - fixed modifier order in generated code, removes jikes compiler warnings
|
---|
72 | Thanks to Michael Wildpaner for the fix.
|
---|
73 | - ant task now also works with ant >= 1.4 (fixes bug #526905)
|
---|
74 | - yyreset() does not declare an execption any more (fixes bug #913132)
|
---|
75 | - %cup does not include %eofclose in JLex mode (--jlex). (Fixes bug #910562)
|
---|
76 | - optional parameter to %eofclose: "%eofclose false" turns off %eofclose if
|
---|
77 | it was turned on previously (e.g. by %cup). (Fixes bug #910562)
|
---|
78 | - jflex build script switched to ant
|
---|
79 | - internal: central Options class for better integration with
|
---|
80 | build tools and IDEs
|
---|
81 | - internal: change naming scheme for generated internal variables from
|
---|
82 | yy_ to zz to comply with Java naming standard. Thanks to Max Gilead
|
---|
83 | for the patch.
|
---|
84 |
|
---|
85 |
|
---|
86 | * JFlex 1.3.5 (October 8, 2001)
|
---|
87 | - fixed all bugs reported for version 1.3.4. Thanks to
|
---|
88 | Amin Ahmad and Fred Wehrhahn for their excellent bug reports.
|
---|
89 | - implemented feature request #459014: vim syntax file.
|
---|
90 | Thanks to Michael Brailsford for his help and suggestions.
|
---|
91 | - JFlex should run with JDK 1.1 out-of-the-box again.
|
---|
92 |
|
---|
93 |
|
---|
94 | * JFlex 1.3.4 (October 1, 2001)
|
---|
95 | - fixed all bugs reported for version 1.3.3. Thanks to Mike Akerman
|
---|
96 | for his excellent bug reports and his help.
|
---|
97 | - implemented feature request #459355: exclusive start states.
|
---|
98 | Thanks to Ed Beroset for the suggestion.
|
---|
99 | - introduced %s and %x shorthands for state declarations
|
---|
100 |
|
---|
101 |
|
---|
102 | * JFlex 1.3.3 (September 21, 2001)
|
---|
103 | - fixed all reported bugs except #39 (lookahead check at generation
|
---|
104 | time may fail). Thanks to Axel Schwolow, Karl Meissner, Angelo
|
---|
105 | Borsotti, and Paolo Di Francesco for their excellent bug reports.
|
---|
106 | - enhanced %debug output. JFlex scanners in debug mode now print line,
|
---|
107 | column, matched text, and executed action (with line number in spec)
|
---|
108 | for each processed token. Thanks to
|
---|
109 | <a href="http://meissner.v0.net/msd.htm">Karl Meissner</a> for the
|
---|
110 | suggestion.
|
---|
111 | - introduced %cupdebug directive for readable CUP debugging. Generated
|
---|
112 | scanners print line, column, matched text, and CUP symbol name for
|
---|
113 | each returned token. Again thanks to Karl Meissner for tips and
|
---|
114 | contributed Java reflection code.
|
---|
115 | - new %cupsym to customize CUP generated symbols class name. Thanks
|
---|
116 | to Karl Meissner and Paolo Di Francesco.
|
---|
117 | - new %throws as shorthand for %yylexthrow
|
---|
118 | - code generation now customizable at command line with --table,
|
---|
119 | --pack, and --switch
|
---|
120 | - command line switch --info prints system and JVM information (useful
|
---|
121 | for bug reports)
|
---|
122 | - command line switch --nobak for not generating backup files
|
---|
123 | - an Ant task for the Ant build tool http://jakarta.apache.org/ant/
|
---|
124 | contributed by Rafal Mantiuk. Many thanks to him.
|
---|
125 | - better error message for missing ] in char class. Thanks to Karl
|
---|
126 | Meissner.
|
---|
127 | - performance enhancements in the runtime system. The engine is now
|
---|
128 | 10%-50% faster. These are only the first implementations of a few of
|
---|
129 | the many suggestions from Angelo Borsotti. Thanks to Angelo for many
|
---|
130 | insights, tips, and fruitful discussions.
|
---|
131 | - a new warning if a rule can never be matched
|
---|
132 | - macros and regular expression can now span multiple lines (note
|
---|
133 | that <tt>|</tt> at the end of a line in a rule is a special action,
|
---|
134 | not the <tt>|</tt> operator)
|
---|
135 | - updated the manual to contain more information about the generated
|
---|
136 | class, clarified the description of lexical states. Thanks to Michael
|
---|
137 | Binz, Angelo Borsotti, Vasily Karyaev and for the suggestions.
|
---|
138 | - Simplified java example lexer, and allow // style comments at EOF.
|
---|
139 | Thanks to Thomas Mulcahy.
|
---|
140 | - Byacc/J example updated to version 1.1
|
---|
141 | - New interpreter example using CUP. Thanks to Bernhard Rumpe for
|
---|
142 | the code.
|
---|
143 |
|
---|
144 |
|
---|
145 | * JFlex 1.3.2 (February 24, 2001)
|
---|
146 | - fixed bug #32 (this time for real). Thanks to Thilo Goetz for
|
---|
147 | his quick report.
|
---|
148 | - updated the binary scanning example with the more comprehensive and
|
---|
149 | usable class StraightStreamReader by Stephen Ostermiller. Thanks go to
|
---|
150 | him for his contribution. The original version of this class is at
|
---|
151 | http://www.smo.f2s.com/utils/
|
---|
152 | - added a link to a Japanese translation of the JFlex manual (it's in Japanese
|
---|
153 | Shift_JIS encoding). The translation is for an older release (1.1.2), but
|
---|
154 | most of the text still applies to the current version. See the change log
|
---|
155 | for the differences between 1.1.2 and the current version. Many thanks to
|
---|
156 | Yuichi Nakajima, Yukio Ikeda, Katsuhiko Yamazaki, and Koji Ooya for
|
---|
157 | their efforts.
|
---|
158 | If you would like to translate the JFlex manual into another language, or
|
---|
159 | if you already have done so, please let me know. I will include a link to
|
---|
160 | it on the documentation page. I can also give you access to the latex
|
---|
161 | sources of the manual, so that printable versions of your translation can
|
---|
162 | be generated, too.
|
---|
163 |
|
---|
164 |
|
---|
165 | * JFlex 1.3.1 (February 20, 2001)
|
---|
166 | - fixed all JFlex bugs reported for 1.3 (bugs #32-#36)
|
---|
167 | Thanks to Hans Kratz, Vasily Karyaev, Alexey Yakovets, and Tom Moog for
|
---|
168 | their excellent reports.
|
---|
169 | - added two new example scanners:
|
---|
170 | . a demonstration how to scan binary files
|
---|
171 | . a small calculator example for Cup, based on the example in the Linux
|
---|
172 | Gazette by Richard A. Sevenich and Christopher Lopes. See also
|
---|
173 | http://www.linuxgazette.com/issue39/sevenich.html
|
---|
174 | http://www.linuxgazette.com/issue41/sevenich.html
|
---|
175 | http://www.linuxgazette.com/issue41/lopes/lopes.html
|
---|
176 | - manual section about encodings, platforms and Unicode.
|
---|
177 | Thanks to Stephen Ostermiller for his valuable input.
|
---|
178 | - switch for skipping the minimization step in DFA generation (--nomin).
|
---|
179 | This feature is still in alpha status and not yet extensively tested. It
|
---|
180 | might be useful when you have very large scanners and not much memory
|
---|
181 | available.
|
---|
182 | - switch for generating graphviz dot files for graphical representation (ps
|
---|
183 | or gif) of generated NFA, DFA and minimized DFA (--dot). Might be useful for
|
---|
184 | teaching. This feature is also still in alpha status and not fully finished
|
---|
185 | yet. It is included as preview, comments are welcome, please try it out and
|
---|
186 | tell me what you think. For information on graphviz see
|
---|
187 | http://www.research.att.com:80/sw/tools/graphviz/
|
---|
188 | - changed to --style long command line switches (single - still recognized).
|
---|
189 | - moved part of the project to http://sourceforge.net/projects/jflex/
|
---|
190 |
|
---|
191 |
|
---|
192 | * JFlex 1.3 (October 21, 2000)
|
---|
193 |
|
---|
194 | - Fixed all bugs reported for 1.2.2 (bugs #23-#27).
|
---|
195 | - Better start script for Linux.
|
---|
196 | - Customize for internal error handling in yy_ScanError.
|
---|
197 | - Empty charclass [], and any (=negated empty) charclass [^].
|
---|
198 | - New negation operator ! for regexps.
|
---|
199 | - New upto operator ~ for regexps.
|
---|
200 | - Customizable buffer size (%buffer).
|
---|
201 | - New char yycharat(int) for efficient access to single characters in matched text.
|
---|
202 | - Split up of too large lex tables for even larger scanner sizes.
|
---|
203 | - New additional external skeleton with support for nested input streams.
|
---|
204 | - JLex compatibility: BOL ^ and EOL $ use unicode line separators as in
|
---|
205 | http://www.unicode.org/unicode/reports/tr18/tr18-5.1.html.
|
---|
206 | - New resetStream method for reusing scanner objects.
|
---|
207 | _ BYacc/J support (%byaccj) + BYacc/J example.
|
---|
208 | - Include files in lexer specs (%include).
|
---|
209 | - New --dump switch for a dump of the generated charclasses, NFA, DFA, and minimized DFA tables.
|
---|
210 |
|
---|
211 |
|
---|
212 | * JFlex 1.2.2 (August 23, 1999)
|
---|
213 | - Updated JFlex to the new CUP version 0.10j.
|
---|
214 | - Eliminated some remaining platform dependent newlines in the generated source code
|
---|
215 | (affecting the readabilty of the generated code only, no functional changes).
|
---|
216 | - Minor improvements in error reporting (out of memory).
|
---|
217 | - Added a --version command line option for printing the current jflex version.
|
---|
218 | - Updated the Java 1.2 lexer/parser example to CUP 0.10j.
|
---|
219 |
|
---|
220 |
|
---|
221 | * JFlex 1.2.1 (June 25, 1999)
|
---|
222 | - Fixed all bugs reported for version 1.2 (#19-#22).
|
---|
223 | - Webpage redesigned and moved to http://www.jflex.de.
|
---|
224 | - Example java lexer/parser switched to Java 1.2.
|
---|
225 |
|
---|
226 |
|
---|
227 | * JFlex 1.2 (March 21, 1999)
|
---|
228 | - Fixed all bugs for 1.1.2.
|
---|
229 | - JFlex now works again with Solaris JIT.
|
---|
230 | - Significant Unicode optimizations in scanning and generation performance,
|
---|
231 | - changed the empty string match wrt. EOF behavior to the one that is commonly expected.
|
---|
232 | - added command line switches for more customization
|
---|
233 | - external skeleton files
|
---|
234 | - new GUI without any console output
|
---|
235 | - <<EOF>> as in lex/flex
|
---|
236 | - better error messages
|
---|
237 | - better generation speed
|
---|
238 | - better generation memory efficiency
|
---|
239 | - | Action, trailing context (/ operator)
|
---|
240 | - new %final, %abstract and %extends directives
|
---|
241 | - uses jar file
|
---|
242 | - included makefile for JFlex,
|
---|
243 | - %pack now uses string packing,
|
---|
244 | - %pack now default code generation method,
|
---|
245 | - new %switch directive for old default code generation method,
|
---|
246 | - more convenient declaration of exceptions,
|
---|
247 | - new %int switch,
|
---|
248 | - manual now written in latex, available as html and in printable .ps.gz and pdf file formats.
|
---|
249 |
|
---|
250 |
|
---|
251 | * JFlex 1.1.2
|
---|
252 | - All bugs reported for version 1.1.1 (#8-#10) have been fixed.
|
---|
253 |
|
---|
254 |
|
---|
255 | * JFlex 1.1.1
|
---|
256 | - All bugs reported for version 1.1 (i.e. bug #7 and feature request #6) have been fixed.
|
---|
257 | - Scanning speed was optimized further.
|
---|
258 |
|
---|
259 |
|
---|
260 | * JFlex 1.1 adds new features and fixes all known bugs of 1.0
|
---|
261 | - Revised directory structure.
|
---|
262 | - Fixed all reported bugs (#1-#5 and some unreported ones).
|
---|
263 | - Fixed thousands of typos in the manual.
|
---|
264 | - whitespace characters in regular expressions,
|
---|
265 | - flex style repeat expressions,
|
---|
266 | - %caseless switch,
|
---|
267 | - %eofclose switch,
|
---|
268 | - method for closing the input stream,
|
---|
269 | - method for the current lexical state,
|
---|
270 | - method for rereading matched text,
|
---|
271 | - backup of files that are overwitten in the generation process,
|
---|
272 | - improved error reporting,
|
---|
273 | - graphical UI when no filename is provided on the commandline
|
---|
274 |
|
---|
275 |
|
---|
276 | * JFlex 1.0 (May 1998) was the first public release of JFlex.
|
---|
277 | It was developed using Sun's JDK 1.1, JFlex (bootstrapped) and the parser generator CUP |
---|