[3031] | 1 | This is the file NEWS for the flex package. It records user -visible
|
---|
| 2 | changes between releases of flex.
|
---|
| 3 |
|
---|
| 4 | See the file COPYING for copying conditions.
|
---|
| 5 |
|
---|
| 6 | * version 2.5.33 released 2006-2-20
|
---|
| 7 |
|
---|
| 8 | ** all flex resources are now to be found from the website at
|
---|
| 9 | http://flex.sourceforge.net/
|
---|
| 10 |
|
---|
| 11 | ** there was no release 2.5.32 published
|
---|
| 12 |
|
---|
| 13 | ** numerous bug and security fixes
|
---|
| 14 |
|
---|
| 15 | ** new nl, vi, sv, ro, po, ga, ca, fr, tr translations from the translation project
|
---|
| 16 |
|
---|
| 17 | ** upgrade to use gettext 0.12 (this now makes the "pdf" and "ps"
|
---|
| 18 | targets in the build system able to be run successfully)
|
---|
| 19 |
|
---|
| 20 | * version 2.5.31 released 2003-4-1
|
---|
| 21 |
|
---|
| 22 | ** remove --enable-maintainer-mode configure option; none of the
|
---|
| 23 | Makefiles were using it and it can be unduely confusing
|
---|
| 24 |
|
---|
| 25 | * version 2.5.30 released 2003-4-1
|
---|
| 26 |
|
---|
| 27 | ** yylineno is per-buffer in reentrant scanners
|
---|
| 28 |
|
---|
| 29 | ** added %top directive for placing code at the top of the generated
|
---|
| 30 | scanner; see manual for details
|
---|
| 31 |
|
---|
| 32 | ** flex now uses m4 to generate scanners; while this means that
|
---|
| 33 | scanners are more readable, it means that flex requires m4 to be
|
---|
| 34 | installed; see manual for details
|
---|
| 35 |
|
---|
| 36 | * version 2.5.29 released 2003-3-5
|
---|
| 37 |
|
---|
| 38 | ** Automatic stack management for multiple input buffers in C and C++ scanners
|
---|
| 39 |
|
---|
| 40 | ** moved the flex documentation to a new doc/ subdirectory
|
---|
| 41 |
|
---|
| 42 | ** cleanups to the yy namespace
|
---|
| 43 |
|
---|
| 44 | * version 2.5.28 released 2003-2-12
|
---|
| 45 |
|
---|
| 46 | ** flex is now hosted at sourceforge
|
---|
| 47 |
|
---|
| 48 | ** Fixed trailing slash bug in YY_INPUT macro def
|
---|
| 49 |
|
---|
| 50 | ** Flex now warns if always-interactive is specified with fast or full
|
---|
| 51 |
|
---|
| 52 | * version 2.5.27 released 2003-1-21
|
---|
| 53 |
|
---|
| 54 | ** flex now works with recent bison versions
|
---|
| 55 |
|
---|
| 56 | ** new pt_br translation from the translation project
|
---|
| 57 |
|
---|
| 58 | * version 2.5.26 released 2003-1-14
|
---|
| 59 |
|
---|
| 60 | ** Fixed table deserialization bug on big-endian archs. Patch sent from Bryce Nichols <bryce@bnichols.org>
|
---|
| 61 |
|
---|
| 62 | ** yyleng has proper declarations now; this caused flex to generate
|
---|
| 63 | unusable scanners for some programs
|
---|
| 64 |
|
---|
| 65 | ** the flex distribution now includes a spec file suitable for use
|
---|
| 66 | with rpm
|
---|
| 67 |
|
---|
| 68 | ** some more c++ fixes
|
---|
| 69 |
|
---|
| 70 | ** new es translation from the translation project
|
---|
| 71 |
|
---|
| 72 | ** slight tweeks to the flex_int*_t types
|
---|
| 73 |
|
---|
| 74 | ** flex now warns about pattern ranges that might be ambiguous when
|
---|
| 75 | generating a case-insensitive scanner
|
---|
| 76 |
|
---|
| 77 |
|
---|
| 78 | * version 2.5.25 released 2002-12-2
|
---|
| 79 |
|
---|
| 80 | ** flex now uses flex_int*_t types. For C99 systems, they are just the
|
---|
| 81 | int*_t types; for non-C99 systems, we just make some typedefs
|
---|
| 82 |
|
---|
| 83 | ** new pt_br translation from the translation project
|
---|
| 84 |
|
---|
| 85 | * version 2.5.24 released 2002-11-25
|
---|
| 86 |
|
---|
| 87 | * more portability fixes
|
---|
| 88 |
|
---|
| 89 | ** the manual continues to be updated and edited, but it's still got a
|
---|
| 90 | ways to go
|
---|
| 91 |
|
---|
| 92 | ** it is possible to have multiple c++ scanners in the same program again
|
---|
| 93 |
|
---|
| 94 | ** new turkish translation from the translation project
|
---|
| 95 |
|
---|
| 96 | * version 2.5.23 released 2002-10-21
|
---|
| 97 |
|
---|
| 98 | ** more portability fixes
|
---|
| 99 |
|
---|
| 100 | ** the manual includes a title page and a table-of-contents when printed
|
---|
| 101 |
|
---|
| 102 | ** the test suite can be run with "make check" from the top-level
|
---|
| 103 | directory
|
---|
| 104 |
|
---|
| 105 | ** configure now accepts the --enable-maintainer-mode option
|
---|
| 106 |
|
---|
| 107 | ** gettext functionality is now only available externally
|
---|
| 108 |
|
---|
| 109 | ** the constant FLEX_BETA is defined if flex is a beta release
|
---|
| 110 |
|
---|
| 111 | ** the script create-test was not included in the distribution and it
|
---|
| 112 | should have been
|
---|
| 113 |
|
---|
| 114 | * version 2.5.22 released 2002-10-10
|
---|
| 115 |
|
---|
| 116 | ** more portability fixes around how we get ahold of the integral
|
---|
| 117 | types; there is a constant FLEX_NEED_INTEGRAL_TYPE_DEFINITIONS
|
---|
| 118 | which you should define if you don't have the <inttypes.h> header
|
---|
| 119 | file (after you complain to your C vendor for not providing a
|
---|
| 120 | reasonable C environment)
|
---|
| 121 |
|
---|
| 122 | ** more test suite cleanups; in particular, the test suite should run
|
---|
| 123 | correctly when build from a different directory
|
---|
| 124 |
|
---|
| 125 | ** upgraded automake to 1.7 and consequently autoconf to 2.54; this
|
---|
| 126 | means, among other things, that there is some support for
|
---|
| 127 | formatting the manual in postscript and pdf in the distributed
|
---|
| 128 | Makefile.in (and therefore in the Makefile built by configure)
|
---|
| 129 |
|
---|
| 130 | ** the flex.1 manpage is generated by help2man; (this has been true
|
---|
| 131 | for quite a while but was not listed here)
|
---|
| 132 |
|
---|
| 133 | ** flex now includes three defined constants to indicate which version
|
---|
| 134 | of flex generated a scanner (YY_FLEX_{MAJOR,MINOR,SUBMINOR}_VERSION)
|
---|
| 135 |
|
---|
| 136 | ** flex tries its best to output only the relevant portions of the
|
---|
| 137 | skeleton when generating a scanner, thus avoiding as much
|
---|
| 138 | conditional compilation as possible
|
---|
| 139 |
|
---|
| 140 | * version 2.5.21 released 2002-9-17
|
---|
| 141 |
|
---|
| 142 | ** one of the tests in the test suite broke the dist target
|
---|
| 143 |
|
---|
| 144 | * version 2.5.20 released 2002-9-16
|
---|
| 145 |
|
---|
| 146 | ** A flex scanner has the ability to save the DFA tables to a file,
|
---|
| 147 | and load them at runtime when needed; see the manual for details
|
---|
| 148 |
|
---|
| 149 | ** Added %option bison-bridge (--bison-bridge)
|
---|
| 150 |
|
---|
| 151 | ** Removed %option reentrant-bison/--reentrant-bison/-Rb
|
---|
| 152 |
|
---|
| 153 | ** yylineno is present in all scanners; Modified nasty performance
|
---|
| 154 | penalty warning with yylineno in documentation
|
---|
| 155 |
|
---|
| 156 | ** test-table-opts is now run last in the test suite because it's so fat
|
---|
| 157 |
|
---|
| 158 | ** flex can, to some extent, diagnose where internal problems occur
|
---|
| 159 |
|
---|
| 160 | ** new translations from the translation project: fr, ca, de, ru, sv
|
---|
| 161 |
|
---|
| 162 | **Flex generates C99 defs now; see YY_TRADITIONAL_FUNC_DEFS in the
|
---|
| 163 | manual if that's not a good thing for you
|
---|
| 164 |
|
---|
| 165 | * version 2.5.19 released 2002-9-5
|
---|
| 166 |
|
---|
| 167 | ** prevent segfault on input lines which are longer than the allocated
|
---|
| 168 | space (problem report from Manoj Srivastava
|
---|
| 169 | <srivasta@golden-gryphon.com>)
|
---|
| 170 |
|
---|
| 171 | ** Changed option 'header' to 'header-file'
|
---|
| 172 |
|
---|
| 173 | * version 2.5.18 released 2002-9-4
|
---|
| 174 |
|
---|
| 175 | ** portability fixes for integer constants and in the way the test
|
---|
| 176 | suite reports its results
|
---|
| 177 |
|
---|
| 178 | ** the test for bison was reporting bison missing when it was, in
|
---|
| 179 | fact, found
|
---|
| 180 |
|
---|
| 181 | ** if we don't find GNU indent, we're more careful when we're not
|
---|
| 182 | finding it
|
---|
| 183 |
|
---|
| 184 | * version 2.5.17 released 2002-8-29
|
---|
| 185 |
|
---|
| 186 | ** more portability fixes
|
---|
| 187 |
|
---|
| 188 | ** updated config.sub and config.guess
|
---|
| 189 |
|
---|
| 190 | ** flex is indented by GNU indent (this was done earlier but not
|
---|
| 191 | explicitly documented)
|
---|
| 192 |
|
---|
| 193 | * version 2.5.16 released 2002-8-28
|
---|
| 194 |
|
---|
| 195 | ** c++ scanners compile again
|
---|
| 196 |
|
---|
| 197 | ** there is now an indent target in the top-level Makefile; configure
|
---|
| 198 | checks for GNU indent which is required for proper operation of the
|
---|
| 199 | indent target
|
---|
| 200 |
|
---|
| 201 | ** some more portability fixes were made
|
---|
| 202 |
|
---|
| 203 | ** %options and invocation sections of manual merged
|
---|
| 204 |
|
---|
| 205 | ** a c++ test was added to the test suite
|
---|
| 206 |
|
---|
| 207 | ** we're trying to clean up more files in the test suite's make clean
|
---|
| 208 | targets
|
---|
| 209 |
|
---|
| 210 | * version 2.5.15 released 2002-8-21
|
---|
| 211 |
|
---|
| 212 | ** reject-state buffer is now dynamically allocated and REJECT buffer
|
---|
| 213 | variables are reentrant-safe
|
---|
| 214 |
|
---|
| 215 | ** manual now discusses memory usage
|
---|
| 216 |
|
---|
| 217 | ** skeleton now processed by m4 before mkskel.sh; (this only matters
|
---|
| 218 | if you want to change the skeleton or if you're doing flex development)
|
---|
| 219 |
|
---|
| 220 | ** zh_cn translation added from translation project
|
---|
| 221 |
|
---|
| 222 | ** a bug that caused a segfault has now been fixed
|
---|
| 223 |
|
---|
| 224 | ** the test suite now respects the usual CFLAGS, etc. variables
|
---|
| 225 |
|
---|
| 226 | ** removed some warnings which some tests trigggered with the -s option
|
---|
| 227 |
|
---|
| 228 | ** the flex-generated header file now tries to be smarter about
|
---|
| 229 | conditionally including start conditions
|
---|
| 230 |
|
---|
| 231 | ** tables code omitted from generated scanner when not used
|
---|
| 232 |
|
---|
| 233 | * version 2.5.14 released 2002-8-15
|
---|
| 234 |
|
---|
| 235 | ** the tests using the reentrant c scanner as c++ were reworked
|
---|
| 236 | slightly to be sure that the c++ was enforced
|
---|
| 237 |
|
---|
| 238 | ** de translation now included in the distribution
|
---|
| 239 |
|
---|
| 240 | ** various portability fixes regarding nls support, c++ include
|
---|
| 241 | headers, etc.
|
---|
| 242 |
|
---|
| 243 | * version 2.5.13 released 2002-8-15
|
---|
| 244 |
|
---|
| 245 | ** the header file output with %option header is now much smaller
|
---|
| 246 |
|
---|
| 247 | ** Fixed type mismatch in printf in scanner skeleton
|
---|
| 248 |
|
---|
| 249 | ** yylex_init now reports errors
|
---|
| 250 |
|
---|
| 251 | * version 2.5.12 released 2002-8-8
|
---|
| 252 |
|
---|
| 253 | ** updated gettext support to 0.11.5
|
---|
| 254 |
|
---|
| 255 | ** new fr translation from the translation project
|
---|
| 256 |
|
---|
| 257 | ** bison is no longer needed to build flex; If you are building flex
|
---|
| 258 | from a release (i.e., not from a cvs snapshot), then you don't need
|
---|
| 259 | to have a pre-built lex around either (unless you modify scan.l, of
|
---|
| 260 | course); (This has been true for some time, but was not mentioned
|
---|
| 261 | here.)
|
---|
| 262 |
|
---|
| 263 | * version 2.5.11 released 2002-7-31
|
---|
| 264 |
|
---|
| 265 | ** Fixed bug where yyless did not consider yylineno
|
---|
| 266 |
|
---|
| 267 | ** the yylineno performance hit is now gone
|
---|
| 268 |
|
---|
| 269 | ** fixed some typos in the manual and we now include texinfo.tex in
|
---|
| 270 | the distribution
|
---|
| 271 |
|
---|
| 272 | ** traditional prototypes output for C scanners, controlled by a
|
---|
| 273 | preprocessor symbol; see documentation for details
|
---|
| 274 |
|
---|
| 275 | * version 2.5.10 released 2002-7-24
|
---|
| 276 |
|
---|
| 277 | ** yy_globals renamed to yyscanner and yy_globals_t renamed to
|
---|
| 278 | yy_guts_t
|
---|
| 279 |
|
---|
| 280 | ** added dist-bzip2 option to Makefile.am so we now produce a bzip2'd
|
---|
| 281 | archive in addition to the standard gzip archive
|
---|
| 282 |
|
---|
| 283 | * version 2.5.9
|
---|
| 284 |
|
---|
| 285 | ** new tests in test suite: test-mem-{nr,r}, test-posix,
|
---|
| 286 | test-posixly-correct, test-debug-{nr,r}
|
---|
| 287 |
|
---|
| 288 | ** made changes to work with gcc-3.2 development code
|
---|
| 289 |
|
---|
| 290 | ** ability to choose which memory functions are used in flex
|
---|
| 291 |
|
---|
| 292 | ** new yylex_destroy() function for the non-reentrant scanner
|
---|
| 293 |
|
---|
| 294 | ** new handling of POSIXLY_CORRECT environment variable
|
---|
| 295 |
|
---|
| 296 | ** the test suite now has its copyrights explicitly described
|
---|
| 297 |
|
---|
| 298 | ** new ca, de, fr, ru, sv, tr translations
|
---|
| 299 |
|
---|
| 300 | * version 2.5.8
|
---|
| 301 |
|
---|
| 302 | ** a new --posix option generates scanners with posix-style abc{1,3}
|
---|
| 303 | compatible parsing, see manual for the screwy details
|
---|
| 304 |
|
---|
| 305 | * version 2.5.7
|
---|
| 306 |
|
---|
| 307 | ** configure.in now includes a call to AC_PREREQ to enforce the
|
---|
| 308 | requirement for autoconf at least 2.50 (This only effects you if
|
---|
| 309 | you're doing flex development.)
|
---|
| 310 |
|
---|
| 311 | ** configure now uses autoconf's versioning information and configure
|
---|
| 312 | --help reports the bug-reporting address for flex
|
---|
| 313 |
|
---|
| 314 | ** test suite now only reports success versus failure; reporting
|
---|
| 315 | skipped is problematic under the current setup
|
---|
| 316 |
|
---|
| 317 | ** compilation with --disable-nls now works
|
---|
| 318 |
|
---|
| 319 | ** flex can now be built in a separate directory
|
---|
| 320 |
|
---|
| 321 | * version 2.5.6
|
---|
| 322 |
|
---|
| 323 | ** gettext support added (from gettext 0.11)
|
---|
| 324 |
|
---|
| 325 | *** translations for ca, da, de, es, fr, ko, ru, sv, tr included
|
---|
| 326 |
|
---|
| 327 | ** distribution now built under automake 1.6 and autoconf 2.53
|
---|
| 328 |
|
---|
| 329 | ** command-line option parsing happens differently now:
|
---|
| 330 |
|
---|
| 331 | *** Added long option parsing
|
---|
| 332 |
|
---|
| 333 | *** Options -n and -c, previously deprecated, now simply do nothing
|
---|
| 334 |
|
---|
| 335 | *** Options are now parsed left to right
|
---|
| 336 |
|
---|
| 337 | ** added a number of new options
|
---|
| 338 |
|
---|
| 339 | *** All positive %options are now accessible from the command line
|
---|
| 340 |
|
---|
| 341 | *** Added option -D, to define a preprocessor symbol
|
---|
| 342 |
|
---|
| 343 | *** Added option --header=FILE to specify a C .h file to generate
|
---|
| 344 |
|
---|
| 345 | *** added option --yywrap to call yywrap on EOF
|
---|
| 346 |
|
---|
| 347 | *** added option --yylineno to track line count in yylineno
|
---|
| 348 |
|
---|
| 349 | *** --yyclass=NAME name of C++ class when generating c++ scanners
|
---|
| 350 |
|
---|
| 351 | *** for long option names which are associated with existing short
|
---|
| 352 | options, see accompanying documentation
|
---|
| 353 |
|
---|
| 354 | *** new %option nounistd or command-line --nounistd added to prevent
|
---|
| 355 | flex from generating #include <unistd.h> on systems that don't
|
---|
| 356 | have that include file
|
---|
| 357 |
|
---|
| 358 | ** Support for reentrant C scanners has been added
|
---|
| 359 |
|
---|
| 360 | *** Updated the manual with the new reentrant API
|
---|
| 361 |
|
---|
| 362 | *** Two new options %option reentrant (-R) and
|
---|
| 363 | %option reentrant-bison (-Rb)
|
---|
| 364 |
|
---|
| 365 | *** All globals optionally placed into struct yyglobals_t
|
---|
| 366 |
|
---|
| 367 | *** All access to globals replaced by macro invocations
|
---|
| 368 |
|
---|
| 369 | *** All functions optionally take one additional
|
---|
| 370 | argument, yy_globals
|
---|
| 371 |
|
---|
| 372 | *** New style for invoking reentrant scanner:
|
---|
| 373 | yylex_init(void** scanner );
|
---|
| 374 | yylex( scanner );
|
---|
| 375 | yylex_destroy( scanner );
|
---|
| 376 |
|
---|
| 377 | *** Added get/set functions for members of struct yy_globals_t
|
---|
| 378 | e.g., yyget_text, yyget_leng, etc
|
---|
| 379 |
|
---|
| 380 | *** Prefix substitution added for new functions
|
---|
| 381 |
|
---|
| 382 | *** Macro shortcuts to the lengthy get/set functions
|
---|
| 383 | provided for use in actions, e.g., yytext, yyleng, etc
|
---|
| 384 |
|
---|
| 385 | *** Arbitrary, user-defined data, "yyextra", may be added to scanner
|
---|
| 386 |
|
---|
| 387 | ** %option nomain no longer implies %option yywrap
|
---|
| 388 | But the inverse is still true
|
---|
| 389 |
|
---|
| 390 | ** Developer test suite added
|
---|
| 391 |
|
---|
| 392 | *** TESTS/ directory has been added. Users can
|
---|
| 393 | 'make test' in the TESTS directory to execute the test suite
|
---|
| 394 |
|
---|
| 395 | ** Support for bison variables yylval and yylloc added
|
---|
| 396 |
|
---|
| 397 | ** automake support for the build process
|
---|
| 398 |
|
---|
| 399 | ** manual is now in texinfo/info format
|
---|
| 400 |
|
---|
| 401 | *** flex.1 removed from distribution
|
---|
| 402 |
|
---|
| 403 | ** flex no longer generates C-language scanners with C++-style
|
---|
| 404 | comments
|
---|
| 405 |
|
---|
| 406 | ** flex now generates scanners in c++ which are compatible with
|
---|
| 407 | recent c++ compilers
|
---|
| 408 |
|
---|
| 409 | ** flex input scanner now recognizes '\r' as an EOL character
|
---|
| 410 |
|
---|
| 411 | See the file ONEWS for changes in earlier releases.
|
---|
| 412 |
|
---|
| 413 | Local Variables:
|
---|
| 414 | mode: text
|
---|
| 415 | mode: outline-minor
|
---|
| 416 | end:
|
---|