1 1.1.1.6 christos flex NEWS 2 1.1 christos 3 1.1.1.6 christos * Noteworthy changes in release 2.6.4 (2017-05-06) [stable] 4 1.1.1.6 christos 5 1.1.1.6 christos ** build 6 1.1.1.6 christos 7 1.1.1.6 christos *** The indent target now knows about flex's new (as of 2.6.0) 8 1.1.1.6 christos layout. The indent rules it would apply are not correct and do 9 1.1.1.6 christos need to be fixed. 10 1.1.1.6 christos 11 1.1.1.6 christos *** The files included in the flex distribution are now built by the 12 1.1.1.6 christos version of flex that is included in the distribution. 13 1.1.1.6 christos 14 1.1.1.6 christos *** The configure script has a better idea of which headers are 15 1.1.1.6 christos required to build flex. It will also error when missing functions 16 1.1.1.6 christos are detected. 17 1.1.1.6 christos 18 1.1.1.6 christos *** We have lowered the versions of automake and gettext that 19 1.1.1.6 christos configure.ac lists as required for building flex. In autogen.sh, 20 1.1.1.6 christos we now check for how to call libtoolize and use what we find in 21 1.1.1.6 christos the rest of the script. 22 1.1.1.6 christos 23 1.1.1.6 christos *** Since files in lib/ are picked up as needed by src/, we no longer 24 1.1.1.6 christos generate a Makefile for that directory. 25 1.1.1.6 christos 26 1.1.1.6 christos *** Flex can be cross compiled. 27 1.1.1.6 christos 28 1.1.1.6 christos ** documentation 29 1.1.1.6 christos 30 1.1.1.6 christos *** Some typos were removed from the manual. 31 1.1.1.6 christos 32 1.1.1.6 christos ** scanner 33 1.1.1.6 christos 34 1.1.1.6 christos *** Some minor performance enhancements. 35 1.1.1.6 christos 36 1.1.1.6 christos *** We honor user defined yy_* macros again. We are also more careful 37 1.1.1.6 christos to not leak macro definitions into header files. 38 1.1.1.6 christos 39 1.1.1.6 christos *** A number of portability fixes were introduced so building flex is 40 1.1.1.6 christos more reliable on more platforms. Additionally, outdated function 41 1.1.1.6 christos calls were removed. 42 1.1.1.6 christos 43 1.1.1.6 christos *** When building the flex executable itself, %# comments from 44 1.1.1.6 christos flex.skl are removed when generating the C source code array. This 45 1.1.1.6 christos reduces the size of flex. 46 1.1.1.6 christos 47 1.1.1.6 christos ** test suite 48 1.1 christos 49 1.1.1.6 christos *** All scripts in the test suite are now run by $(SHELL) and the 50 1.1.1.6 christos needed portability fixes have been included. 51 1.1.1.6 christos 52 1.1.1.6 christos *** Test suite dependencies are handled much better. This only matters 53 1.1.1.6 christos if you are actively developing flex or its test suite. 54 1.1.1.6 christos 55 1.1.1.6 christos *** Tests that depend on platform dependent features now properly skip 56 1.1.1.6 christos when those platforms are not present. 57 1.1.1.6 christos 58 1.1.1.6 christos *** When running "make check", you can now pas V=0 to silence more of 59 1.1.1.6 christos the build. This is useful when you're less connncerned about the 60 1.1.1.6 christos details of building and linking the test programs themselves. 61 1.1.1.6 christos 62 1.1.1.6 christos * Noteworthy changes in release 2.6.3 (2016-12-30) [stable] 63 1.1.1.5 christos 64 1.1.1.5 christos ** scanner 65 1.1.1.5 christos 66 1.1.1.5 christos *** several bug fixes resolved problems introduced in recent flex 67 1.1.1.5 christos versions regarding processing of comments, literals and various 68 1.1.1.5 christos quoting scenarios. 69 1.1.1.5 christos 70 1.1.1.5 christos *** If the path to m4 was sufficiently long, a buffer overflow could 71 1.1.1.5 christos occur. This has been resolved. The fix also removes dependence on 72 1.1.1.5 christos the constant PATH_MAX. 73 1.1.1.5 christos 74 1.1.1.5 christos ** build 75 1.1.1.5 christos 76 1.1.1.5 christos *** A new configure option --disable-bootstrap changes the behavior of 77 1.1.1.5 christos the build system when building flex. The default 78 1.1.1.5 christos "--enable-bootstrap" behavior is to build flex, then to use that 79 1.1.1.5 christos flex to build flex again. With --disable-bootstrap, the scanner is 80 1.1.1.5 christos simply built by sedding the scanner source. This is friendlier to 81 1.1.1.5 christos cross compilation. 82 1.1.1.5 christos 83 1.1.1.5 christos *** The compatibility functions in lib/ are no longer built as a 84 1.1.1.5 christos library. Instead, they are built as $(LIBOBJ) objects. This is 85 1.1.1.5 christos simpler and friendlier to cross compilation. 86 1.1.1.5 christos 87 1.1.1.5 christos *** It is now possible to build flex without building the accompanying 88 1.1.1.5 christos libfl. This is friendlier to cross compilation. See the 89 1.1.1.5 christos --disable-libfl option to configure. Resolves #99. 90 1.1.1.5 christos 91 1.1.1.5 christos *** the PIC version of libfl was not correctly built. It is no longer 92 1.1.1.5 christos included in the build/installation targets of flex since it was 93 1.1.1.5 christos unused. 94 1.1.1.5 christos 95 1.1.1.5 christos *** the distributed man page is only rebuilt when the relevant source 96 1.1.1.5 christos files change or when the binary doesn't exist. In particular, this 97 1.1.1.5 christos is friendlier to cross compilation. Resolves #108 98 1.1.1.5 christos 99 1.1.1.5 christos ** test 100 1.1.1.5 christos 101 1.1.1.5 christos *** the shell scripts in the test suite are more portable across different shell implementations. 102 1.1.1.5 christos 103 1.1.1.5 christos * version 2.6.2 released 2016-10-24 104 1.1.1.5 christos 105 1.1.1.5 christos ** flex internals 106 1.1.1.5 christos 107 1.1.1.5 christos *** a segfalt involving yyrestart(NULL) has been fixed 108 1.1.1.5 christos 109 1.1.1.5 christos *** flex should now handle quoting when mixed with m4 processing correctly 110 1.1.1.5 christos 111 1.1.1.5 christos *** flex handles `[[' and `]]' correctly 112 1.1.1.5 christos 113 1.1.1.5 christos *** flex no longer generates non-ANSI code 114 1.1.1.5 christos 115 1.1.1.5 christos *** more compilation warnings were squashed in generated scanners 116 1.1.1.5 christos 117 1.1.1.5 christos *** prevented a buffer overflow that could occur when input buffers were the exact wrong size 118 1.1.1.5 christos 119 1.1.1.5 christos ** test suite 120 1.1.1.5 christos 121 1.1.1.5 christos *** input filenames on MSWindows are now calculated correctly 122 1.1.1.5 christos 123 1.1.1.5 christos *** general code cleanups in a number of tests now make the test suite compile much more cleanly 124 1.1.1.5 christos 125 1.1.1.5 christos ** build system 126 1.1.1.5 christos 127 1.1.1.5 christos *** the xz archive has been replaced with an lzip archive 128 1.1.1.5 christos 129 1.1.1.5 christos *** a new option to configure --enable-warnings to encapsulate passing 130 1.1.1.5 christos of warning-related flags which is useful in testing flex 131 1.1.1.5 christos 132 1.1.1.5 christos *** make indent now works for out of source builds 133 1.1.1.5 christos 134 1.1.1.5 christos *** Portability warnings when generating Makefile.in files are now suppressed; they were just noise and the use of GNU extensions in Makefile.{am,in,} was intentional and well known. 135 1.1.1.5 christos 136 1.1.1.5 christos ** bugs 137 1.1.1.5 christos 138 1.1.1.5 christos *** resolved gh#67 139 1.1.1.5 christos 140 1.1.1.5 christos ** new sv translation from the translation project 141 1.1.1.5 christos 142 1.1.1.5 christos * version 2.6.1 released 2016-03-01 143 1.1.1.5 christos 144 1.1.1.5 christos ** flex resources 145 1.1.1.5 christos 146 1.1.1.5 christos *** The flex project is now hosted at github. Consider this a "period of transition". In particular, you should start at https://github.com/westes/flex for the flex codebase, issue tracking and pull requests. 147 1.1.1.5 christos 148 1.1.1.5 christos *** New releases of flex are to be found at https://github.com/westes/flex/releases. 149 1.1.1.5 christos 150 1.1.1.5 christos ** flex internals 151 1.1.1.5 christos 152 1.1.1.5 christos *** Flex now uses more modern and more standard names for variable types. There's more work to be done on that front yet, though. 153 1.1.1.5 christos 154 1.1.1.5 christos *** A number of compiler warnings have been remedied. 155 1.1.1.5 christos 156 1.1.1.5 christos *** Line directives should now work as expected and be absent when that is expected. 157 1.1.1.5 christos 158 1.1.1.5 christos ** test suite 159 1.1.1.5 christos 160 1.1.1.5 christos *** When running the test suite, c++ files are compiled with the c++ header inside the flex distribution, rather than relying on the build system's flex header , which might not be installed yet or which might be out of date with respect to what flex tests expect. 161 1.1.1.5 christos 162 1.1.1.5 christos *** Some portability fixes in the test suite such as opening files for reading in binary mode 163 1.1.1.5 christos 164 1.1.1.5 christos ** Building flex 165 1.1.1.5 christos 166 1.1.1.5 christos *** The file src/scan.c asdistributed with flex source is now built with the current version of flex. Occasionally this had to be done manually to pick up new flex features. It's now just a part of flex's build system. 167 1.1.1.5 christos 168 1.1.1.5 christos *** The pdf version of the manual is no longer distributed with flex, although if you have the texinfo package installed, you can still build it. 169 1.1.1.5 christos 170 1.1.1.5 christos *** lots of general build system cleanup 171 1.1.1.5 christos 172 1.1.1.5 christos *** the build system tries a bit harder to find libtoolize and texi2dvi. 173 1.1.1.5 christos 174 1.1.1.5 christos *** When help2man and texi2dvi are missing, the error messages are now much more helpful. 175 1.1.1.5 christos 176 1.1.1.5 christos ** bug fixes 177 1.1.1.5 christos 178 1.1.1.5 christos *** resolved github issues #53, #54, #55, #61. 179 1.1.1.5 christos 180 1.1.1.5 christos *** Resolved sf bugs #128, #129, #155, #160, #184, #187, #195. 181 1.1.1.5 christos 182 1.1.1.4 christos * version 2.6.0 released 2015-11-17 183 1.1.1.4 christos 184 1.1.1.4 christos ** User Visible Changes 185 1.1.1.4 christos 186 1.1.1.4 christos *** C++ scanners now use references instead of pointers. See the manual for details. 187 1.1.1.4 christos 188 1.1.1.4 christos *** A number of compiler warnings were addressed, so flex generated scanners should be quieter under compiler warning scenarios. 189 1.1.1.4 christos 190 1.1.1.4 christos *** Allow error reporting routines to accept varying number of arguments 191 1.1.1.4 christos 192 1.1.1.4 christos *** Removed deprecated 'register' storage class specifier 193 1.1.1.4 christos 194 1.1.1.4 christos *** Changeed output formats from octal to hexadecimal 195 1.1.1.4 christos 196 1.1.1.4 christos *** check limits before using array index cclp; resolves sf-166 197 1.1.1.4 christos 198 1.1.1.4 christos *** Suppress clang warning about empty @param paragraph; resolves sf#158 199 1.1.1.4 christos 200 1.1.1.4 christos *** Fixed malloc/realloc replacement, resolves sf bug#151. 201 1.1.1.4 christos 202 1.1.1.4 christos *** Adjusted buffer sizes on ia64. 203 1.1.1.4 christos 204 1.1.1.4 christos *** various documentation and code clean up fixes: resolves sf bugs #167, #168, among other patches. 205 1.1.1.4 christos 206 1.1.1.4 christos ** Flex Internals 207 1.1.1.4 christos 208 1.1.1.4 christos *** flex is now organized into subdirectories. This keeps the tree neater at the top level and puts like things near each other and unlike things away from each other. 209 1.1.1.4 christos 210 1.1.1.4 christos *** The test suite has been reorganized and is now run with the parallel test suite harness from automake. 211 1.1.1.4 christos 212 1.1.1.4 christos *** Cleaned up the automake parts of the build system to better reflect what automake does on its own. Also added a call to libtoolize in autogen.sh because autoreconf gets confused without a prior run of libtoolize. 213 1.1.1.4 christos 214 1.1.1.4 christos *** po/Makefile now includes a rule to fetch the latest translations from the translation project. "make -f po/Makefile getpo" from the top level of the flex tree will fetch the files. 215 1.1.1.4 christos 216 1.1.1.4 christos *** New da translation from the translation project 217 1.1.1.4 christos 218 1.1.1.4 christos * flex version 2.5.39 released 2014-03-26 219 1.1.1.3 christos 220 1.1.1.3 christos ** no user visible changes in this release 221 1.1.1.3 christos 222 1.1.1.3 christos * version 2.5.38 released 2014-02-14 223 1.1.1.3 christos 224 1.1.1.3 christos ** internationalization 225 1.1.1.3 christos 226 1.1.1.3 christos *** add sr translation from the translation project 227 1.1.1.3 christos 228 1.1.1.3 christos *** update da, es, ko, nl, pt_BR, ro, ru, sv, tr, vi, zh_CN translations from the translation project 229 1.1.1.3 christos 230 1.1.1.3 christos *** rename zh_tw to its proper zh_TW name 231 1.1.1.3 christos 232 1.1.1.2 christos * version 2.5.37 released 2012-08-03 233 1.1.1.2 christos 234 1.1.1.2 christos ** Import flex into git. See 235 1.1.1.2 christos git://flex.git.sourceforge.net/gitroot/flex/flex. 236 1.1.1.2 christos 237 1.1.1.2 christos ** Fix make install target to not fail when the flex++ program is 238 1.1.1.2 christos already installed 239 1.1.1.2 christos 240 1.1.1.2 christos ** New translations from the translation project: de, fi, pl, vi 241 1.1.1.2 christos 242 1.1.1.2 christos * version 2.5.36 released 2012-07-20 243 1.1.1.2 christos 244 1.1.1.2 christos ** various portability fixes that quiet compiler warnings on 64-bit 245 1.1.1.2 christos hosts 246 1.1.1.2 christos 247 1.1.1.2 christos ** various manual fixes, including correcting the name of a %option and 248 1.1.1.2 christos updating some simple examples to use ANSI C syntax 249 1.1.1.2 christos 250 1.1.1.2 christos ** various bug fixes that prevent certain error conditions from 251 1.1.1.2 christos persisting when they should not persist 252 1.1.1.2 christos 253 1.1.1.2 christos ** improvements to the test suite so it behaves better when linking 254 1.1.1.2 christos compiled files 255 1.1.1.2 christos 256 1.1.1.2 christos ** new translations from the translation project: ca, da, es, fi, fr, 257 1.1.1.2 christos ga, ko, pt_br, ro, ru, sv, tr, zh_cn 258 1.1.1.2 christos 259 1.1.1.2 christos ** the flex distribution is now built with automake 1.10.1 and automake 260 1.1.1.2 christos 2.61 261 1.1.1.2 christos 262 1.1 christos * version 2.5.35 released 2008-02-26 263 1.1 christos 264 1.1 christos ** fixed bug that prevented flex from accepting certain comments in the 265 1.1 christos scanner file (resolves bugs #1849809 and #1849805) 266 1.1 christos 267 1.1 christos ** fix bug that prevented headers for all functions from being generated 268 1.1 christos (resolves bug #1628314) 269 1.1 christos 270 1.1 christos ** change yy_size_t to be size_t (resolves bug #1849812) 271 1.1 christos 272 1.1 christos ** new de, nl, pl, pt_br, vi translations from the translation project 273 1.1 christos 274 1.1 christos * version 2.5.34 released 2007-12-12 275 1.1 christos 276 1.1 christos ** introduce yylex_init_extra; see the manual for details 277 1.1 christos 278 1.1 christos ** introduce %option extra-type="your_type *" (resolves bug #1744505) 279 1.1 christos 280 1.1 christos ** The flex program now parses multiple short concatenated options (resolves bug 281 1.1 christos #1619820). Thanks to Petr Machata of Red Hat on this issue. 282 1.1 christos 283 1.1 christos ** better checking after yyalloc/yyrealloc (resolves bug #1595967) 284 1.1 christos 285 1.1 christos ** flex now provides for a libfl_pic.a compiled with position 286 1.1 christos independent code. Particularly useful when including a flex scanner 287 1.1 christos in a shared library and with more recent versions of gcc. Thanks to the Debian project for the idea. 288 1.1 christos 289 1.1 christos ** SourceForge feature request #1658379: Expose YY_BUF_SIZE in the 290 1.1 christos header file. 291 1.1 christos 292 1.1 christos ** flex better escapes filenames with special characters in them 293 1.1 christos (resolves bug #1623600) 294 1.1 christos 295 1.1 christos ** a memory leak was plugged(resolves bug #1601111) 296 1.1 christos 297 1.1 christos ** pattern language expanded; see the manual for details on the below 298 1.1 christos highlights 299 1.1 christos 300 1.1 christos *** pattern options added to specify patterns as case-insensitive or 301 1.1 christos case-sensitive 302 1.1 christos 303 1.1 christos *** pattern options to specify whether the "." character should match 304 1.1 christos the newline character 305 1.1 christos 306 1.1 christos *** pattern options added to allow ignoring of whitespace in patterns 307 1.1 christos 308 1.1 christos *** POSIX character classes may be negated in patterns 309 1.1 christos 310 1.1 christos *** patterns may now use set difference, union operators 311 1.1 christos 312 1.1 christos ** the manual now contains an appendix listing various common patterns 313 1.1 christos which may be useful when writing scanners 314 1.1 christos 315 1.1 christos ** some memory leaks were removed from the C++ scanner (but the C++ 316 1.1 christos scanner is still experimental and may change radically without 317 1.1 christos notice) 318 1.1 christos 319 1.1 christos ** c++ scanners can now use yywrap 320 1.1 christos 321 1.1 christos ** added new unit test for c++ and yywrap 322 1.1 christos 323 1.1 christos ** portability fixes to some unit tests 324 1.1 christos 325 1.1 christos ** flex man page and flex manual in pdf now distributed in the flex 326 1.1 christos distribution 327 1.1 christos 328 1.1 christos ** new ca, vi, ga, nl translations from the translation project 329 1.1 christos 330 1.1 christos ** flex no longer comes with an rpm spec file 331 1.1 christos 332 1.1 christos ** flex development now happens with automake 1.9.6 333 1.1 christos 334 1.1 christos * version 2.5.33 released 2006-2-20 335 1.1 christos 336 1.1 christos ** all flex resources are now to be found from the website at 337 1.1 christos http://flex.sourceforge.net/ 338 1.1 christos 339 1.1 christos ** there was no release 2.5.32 published 340 1.1 christos 341 1.1 christos ** numerous bug and security fixes 342 1.1 christos 343 1.1 christos ** new nl, vi, sv, ro, po, ga, ca, fr, tr translations from the translation project 344 1.1 christos 345 1.1 christos ** upgrade to use gettext 0.12 (this now makes the "pdf" and "ps" 346 1.1 christos targets in the build system able to be run successfully) 347 1.1 christos 348 1.1 christos * version 2.5.31 released 2003-4-1 349 1.1 christos 350 1.1 christos ** remove --enable-maintainer-mode configure option; none of the 351 1.1 christos Makefiles were using it and it can be unduely confusing 352 1.1 christos 353 1.1 christos * version 2.5.30 released 2003-4-1 354 1.1 christos 355 1.1 christos ** yylineno is per-buffer in reentrant scanners 356 1.1 christos 357 1.1 christos ** added %top directive for placing code at the top of the generated 358 1.1 christos scanner; see manual for details 359 1.1 christos 360 1.1 christos ** flex now uses m4 to generate scanners; while this means that 361 1.1 christos scanners are more readable, it means that flex requires m4 to be 362 1.1 christos installed; see manual for details 363 1.1 christos 364 1.1 christos * version 2.5.29 released 2003-3-5 365 1.1 christos 366 1.1 christos ** Automatic stack management for multiple input buffers in C and C++ scanners 367 1.1 christos 368 1.1 christos ** moved the flex documentation to a new doc/ subdirectory 369 1.1 christos 370 1.1 christos ** cleanups to the yy namespace 371 1.1 christos 372 1.1 christos * version 2.5.28 released 2003-2-12 373 1.1 christos 374 1.1 christos ** flex is now hosted at sourceforge 375 1.1 christos 376 1.1 christos ** Fixed trailing slash bug in YY_INPUT macro def 377 1.1 christos 378 1.1 christos ** Flex now warns if always-interactive is specified with fast or full 379 1.1 christos 380 1.1 christos * version 2.5.27 released 2003-1-21 381 1.1 christos 382 1.1 christos ** flex now works with recent bison versions 383 1.1 christos 384 1.1 christos ** new pt_br translation from the translation project 385 1.1 christos 386 1.1 christos * version 2.5.26 released 2003-1-14 387 1.1 christos 388 1.1 christos ** Fixed table deserialization bug on big-endian archs. Patch sent from Bryce Nichols <bryce (a] bnichols.org> 389 1.1 christos 390 1.1 christos ** yyleng has proper declarations now; this caused flex to generate 391 1.1 christos unusable scanners for some programs 392 1.1 christos 393 1.1 christos ** the flex distribution now includes a spec file suitable for use 394 1.1 christos with rpm 395 1.1 christos 396 1.1 christos ** some more c++ fixes 397 1.1 christos 398 1.1 christos ** new es translation from the translation project 399 1.1 christos 400 1.1 christos ** slight tweeks to the flex_int*_t types 401 1.1 christos 402 1.1 christos ** flex now warns about pattern ranges that might be ambiguous when 403 1.1 christos generating a case-insensitive scanner 404 1.1 christos 405 1.1 christos 406 1.1 christos * version 2.5.25 released 2002-12-2 407 1.1 christos 408 1.1 christos ** flex now uses flex_int*_t types. For C99 systems, they are just the 409 1.1 christos int*_t types; for non-C99 systems, we just make some typedefs 410 1.1 christos 411 1.1 christos ** new pt_br translation from the translation project 412 1.1 christos 413 1.1 christos * version 2.5.24 released 2002-11-25 414 1.1 christos 415 1.1 christos * more portability fixes 416 1.1 christos 417 1.1 christos ** the manual continues to be updated and edited, but it's still got a 418 1.1 christos ways to go 419 1.1 christos 420 1.1 christos ** it is possible to have multiple c++ scanners in the same program again 421 1.1 christos 422 1.1 christos ** new turkish translation from the translation project 423 1.1 christos 424 1.1 christos * version 2.5.23 released 2002-10-21 425 1.1 christos 426 1.1 christos ** more portability fixes 427 1.1 christos 428 1.1 christos ** the manual includes a title page and a table-of-contents when printed 429 1.1 christos 430 1.1 christos ** the test suite can be run with "make check" from the top-level 431 1.1 christos directory 432 1.1 christos 433 1.1 christos ** configure now accepts the --enable-maintainer-mode option 434 1.1 christos 435 1.1 christos ** gettext functionality is now only available externally 436 1.1 christos 437 1.1 christos ** the constant FLEX_BETA is defined if flex is a beta release 438 1.1 christos 439 1.1 christos ** the script create-test was not included in the distribution and it 440 1.1 christos should have been 441 1.1 christos 442 1.1 christos * version 2.5.22 released 2002-10-10 443 1.1 christos 444 1.1 christos ** more portability fixes around how we get ahold of the integral 445 1.1 christos types; there is a constant FLEX_NEED_INTEGRAL_TYPE_DEFINITIONS 446 1.1 christos which you should define if you don't have the <inttypes.h> header 447 1.1 christos file (after you complain to your C vendor for not providing a 448 1.1 christos reasonable C environment) 449 1.1 christos 450 1.1 christos ** more test suite cleanups; in particular, the test suite should run 451 1.1 christos correctly when build from a different directory 452 1.1 christos 453 1.1 christos ** upgraded automake to 1.7 and consequently autoconf to 2.54; this 454 1.1 christos means, among other things, that there is some support for 455 1.1 christos formatting the manual in postscript and pdf in the distributed 456 1.1 christos Makefile.in (and therefore in the Makefile built by configure) 457 1.1 christos 458 1.1 christos ** the flex.1 manpage is generated by help2man; (this has been true 459 1.1 christos for quite a while but was not listed here) 460 1.1 christos 461 1.1 christos ** flex now includes three defined constants to indicate which version 462 1.1 christos of flex generated a scanner (YY_FLEX_{MAJOR,MINOR,SUBMINOR}_VERSION) 463 1.1 christos 464 1.1 christos ** flex tries its best to output only the relevant portions of the 465 1.1 christos skeleton when generating a scanner, thus avoiding as much 466 1.1 christos conditional compilation as possible 467 1.1 christos 468 1.1 christos * version 2.5.21 released 2002-9-17 469 1.1 christos 470 1.1 christos ** one of the tests in the test suite broke the dist target 471 1.1 christos 472 1.1 christos * version 2.5.20 released 2002-9-16 473 1.1 christos 474 1.1 christos ** A flex scanner has the ability to save the DFA tables to a file, 475 1.1 christos and load them at runtime when needed; see the manual for details 476 1.1 christos 477 1.1 christos ** Added %option bison-bridge (--bison-bridge) 478 1.1 christos 479 1.1 christos ** Removed %option reentrant-bison/--reentrant-bison/-Rb 480 1.1 christos 481 1.1 christos ** yylineno is present in all scanners; Modified nasty performance 482 1.1 christos penalty warning with yylineno in documentation 483 1.1 christos 484 1.1 christos ** test-table-opts is now run last in the test suite because it's so fat 485 1.1 christos 486 1.1 christos ** flex can, to some extent, diagnose where internal problems occur 487 1.1 christos 488 1.1 christos ** new translations from the translation project: fr, ca, de, ru, sv 489 1.1 christos 490 1.1 christos **Flex generates C99 defs now; see YY_TRADITIONAL_FUNC_DEFS in the 491 1.1 christos manual if that's not a good thing for you 492 1.1 christos 493 1.1 christos * version 2.5.19 released 2002-9-5 494 1.1 christos 495 1.1 christos ** prevent segfault on input lines which are longer than the allocated 496 1.1 christos space (problem report from Manoj Srivastava 497 1.1 christos <srivasta (a] golden-gryphon.com>) 498 1.1 christos 499 1.1 christos ** Changed option 'header' to 'header-file' 500 1.1 christos 501 1.1 christos * version 2.5.18 released 2002-9-4 502 1.1 christos 503 1.1 christos ** portability fixes for integer constants and in the way the test 504 1.1 christos suite reports its results 505 1.1 christos 506 1.1 christos ** the test for bison was reporting bison missing when it was, in 507 1.1 christos fact, found 508 1.1 christos 509 1.1 christos ** if we don't find GNU indent, we're more careful when we're not 510 1.1 christos finding it 511 1.1 christos 512 1.1 christos * version 2.5.17 released 2002-8-29 513 1.1 christos 514 1.1 christos ** more portability fixes 515 1.1 christos 516 1.1 christos ** updated config.sub and config.guess 517 1.1 christos 518 1.1 christos ** flex is indented by GNU indent (this was done earlier but not 519 1.1 christos explicitly documented) 520 1.1 christos 521 1.1 christos * version 2.5.16 released 2002-8-28 522 1.1 christos 523 1.1 christos ** c++ scanners compile again 524 1.1 christos 525 1.1 christos ** there is now an indent target in the top-level Makefile; configure 526 1.1 christos checks for GNU indent which is required for proper operation of the 527 1.1 christos indent target 528 1.1 christos 529 1.1 christos ** some more portability fixes were made 530 1.1 christos 531 1.1 christos ** %options and invocation sections of manual merged 532 1.1 christos 533 1.1 christos ** a c++ test was added to the test suite 534 1.1 christos 535 1.1 christos ** we're trying to clean up more files in the test suite's make clean 536 1.1 christos targets 537 1.1 christos 538 1.1 christos * version 2.5.15 released 2002-8-21 539 1.1 christos 540 1.1 christos ** reject-state buffer is now dynamically allocated and REJECT buffer 541 1.1 christos variables are reentrant-safe 542 1.1 christos 543 1.1 christos ** manual now discusses memory usage 544 1.1 christos 545 1.1 christos ** skeleton now processed by m4 before mkskel.sh; (this only matters 546 1.1 christos if you want to change the skeleton or if you're doing flex development) 547 1.1 christos 548 1.1 christos ** zh_cn translation added from translation project 549 1.1 christos 550 1.1 christos ** a bug that caused a segfault has now been fixed 551 1.1 christos 552 1.1 christos ** the test suite now respects the usual CFLAGS, etc. variables 553 1.1 christos 554 1.1 christos ** removed some warnings which some tests trigggered with the -s option 555 1.1 christos 556 1.1 christos ** the flex-generated header file now tries to be smarter about 557 1.1 christos conditionally including start conditions 558 1.1 christos 559 1.1 christos ** tables code omitted from generated scanner when not used 560 1.1 christos 561 1.1 christos * version 2.5.14 released 2002-8-15 562 1.1 christos 563 1.1 christos ** the tests using the reentrant c scanner as c++ were reworked 564 1.1 christos slightly to be sure that the c++ was enforced 565 1.1 christos 566 1.1 christos ** de translation now included in the distribution 567 1.1 christos 568 1.1 christos ** various portability fixes regarding nls support, c++ include 569 1.1 christos headers, etc. 570 1.1 christos 571 1.1 christos * version 2.5.13 released 2002-8-15 572 1.1 christos 573 1.1 christos ** the header file output with %option header is now much smaller 574 1.1 christos 575 1.1 christos ** Fixed type mismatch in printf in scanner skeleton 576 1.1 christos 577 1.1 christos ** yylex_init now reports errors 578 1.1 christos 579 1.1 christos * version 2.5.12 released 2002-8-8 580 1.1 christos 581 1.1 christos ** updated gettext support to 0.11.5 582 1.1 christos 583 1.1 christos ** new fr translation from the translation project 584 1.1 christos 585 1.1 christos ** bison is no longer needed to build flex; If you are building flex 586 1.1 christos from a release (i.e., not from a cvs snapshot), then you don't need 587 1.1 christos to have a pre-built lex around either (unless you modify scan.l, of 588 1.1 christos course); (This has been true for some time, but was not mentioned 589 1.1 christos here.) 590 1.1 christos 591 1.1 christos * version 2.5.11 released 2002-7-31 592 1.1 christos 593 1.1 christos ** Fixed bug where yyless did not consider yylineno 594 1.1 christos 595 1.1 christos ** the yylineno performance hit is now gone 596 1.1 christos 597 1.1 christos ** fixed some typos in the manual and we now include texinfo.tex in 598 1.1 christos the distribution 599 1.1 christos 600 1.1 christos ** traditional prototypes output for C scanners, controlled by a 601 1.1 christos preprocessor symbol; see documentation for details 602 1.1 christos 603 1.1 christos * version 2.5.10 released 2002-7-24 604 1.1 christos 605 1.1 christos ** yy_globals renamed to yyscanner and yy_globals_t renamed to 606 1.1 christos yy_guts_t 607 1.1 christos 608 1.1 christos ** added dist-bzip2 option to Makefile.am so we now produce a bzip2'd 609 1.1 christos archive in addition to the standard gzip archive 610 1.1 christos 611 1.1 christos * version 2.5.9 612 1.1 christos 613 1.1 christos ** new tests in test suite: test-mem-{nr,r}, test-posix, 614 1.1 christos test-posixly-correct, test-debug-{nr,r} 615 1.1 christos 616 1.1 christos ** made changes to work with gcc-3.2 development code 617 1.1 christos 618 1.1 christos ** ability to choose which memory functions are used in flex 619 1.1 christos 620 1.1 christos ** new yylex_destroy() function for the non-reentrant scanner 621 1.1 christos 622 1.1 christos ** new handling of POSIXLY_CORRECT environment variable 623 1.1 christos 624 1.1 christos ** the test suite now has its copyrights explicitly described 625 1.1 christos 626 1.1 christos ** new ca, de, fr, ru, sv, tr translations 627 1.1 christos 628 1.1 christos * version 2.5.8 629 1.1 christos 630 1.1 christos ** a new --posix option generates scanners with posix-style abc{1,3} 631 1.1 christos compatible parsing, see manual for the screwy details 632 1.1 christos 633 1.1 christos * version 2.5.7 634 1.1 christos 635 1.1 christos ** configure.in now includes a call to AC_PREREQ to enforce the 636 1.1 christos requirement for autoconf at least 2.50 (This only effects you if 637 1.1 christos you're doing flex development.) 638 1.1 christos 639 1.1 christos ** configure now uses autoconf's versioning information and configure 640 1.1 christos --help reports the bug-reporting address for flex 641 1.1 christos 642 1.1 christos ** test suite now only reports success versus failure; reporting 643 1.1 christos skipped is problematic under the current setup 644 1.1 christos 645 1.1 christos ** compilation with --disable-nls now works 646 1.1 christos 647 1.1 christos ** flex can now be built in a separate directory 648 1.1 christos 649 1.1 christos * version 2.5.6 650 1.1 christos 651 1.1 christos ** gettext support added (from gettext 0.11) 652 1.1 christos 653 1.1 christos *** translations for ca, da, de, es, fr, ko, ru, sv, tr included 654 1.1 christos 655 1.1 christos ** distribution now built under automake 1.6 and autoconf 2.53 656 1.1 christos 657 1.1 christos ** command-line option parsing happens differently now: 658 1.1 christos 659 1.1 christos *** Added long option parsing 660 1.1 christos 661 1.1 christos *** Options -n and -c, previously deprecated, now simply do nothing 662 1.1 christos 663 1.1 christos *** Options are now parsed left to right 664 1.1 christos 665 1.1 christos ** added a number of new options 666 1.1 christos 667 1.1 christos *** All positive %options are now accessible from the command line 668 1.1 christos 669 1.1 christos *** Added option -D, to define a preprocessor symbol 670 1.1 christos 671 1.1 christos *** Added option --header=FILE to specify a C .h file to generate 672 1.1 christos 673 1.1 christos *** added option --yywrap to call yywrap on EOF 674 1.1 christos 675 1.1 christos *** added option --yylineno to track line count in yylineno 676 1.1 christos 677 1.1 christos *** --yyclass=NAME name of C++ class when generating c++ scanners 678 1.1 christos 679 1.1 christos *** for long option names which are associated with existing short 680 1.1 christos options, see accompanying documentation 681 1.1 christos 682 1.1 christos *** new %option nounistd or command-line --nounistd added to prevent 683 1.1 christos flex from generating #include <unistd.h> on systems that don't 684 1.1 christos have that include file 685 1.1 christos 686 1.1 christos ** Support for reentrant C scanners has been added 687 1.1 christos 688 1.1 christos *** Updated the manual with the new reentrant API 689 1.1 christos 690 1.1 christos *** Two new options %option reentrant (-R) and 691 1.1 christos %option reentrant-bison (-Rb) 692 1.1 christos 693 1.1 christos *** All globals optionally placed into struct yyglobals_t 694 1.1 christos 695 1.1 christos *** All access to globals replaced by macro invocations 696 1.1 christos 697 1.1 christos *** All functions optionally take one additional 698 1.1 christos argument, yy_globals 699 1.1 christos 700 1.1 christos *** New style for invoking reentrant scanner: 701 1.1 christos yylex_init(void** scanner ); 702 1.1 christos yylex( scanner ); 703 1.1 christos yylex_destroy( scanner ); 704 1.1 christos 705 1.1 christos *** Added get/set functions for members of struct yy_globals_t 706 1.1 christos e.g., yyget_text, yyget_leng, etc 707 1.1 christos 708 1.1 christos *** Prefix substitution added for new functions 709 1.1 christos 710 1.1 christos *** Macro shortcuts to the lengthy get/set functions 711 1.1 christos provided for use in actions, e.g., yytext, yyleng, etc 712 1.1 christos 713 1.1 christos *** Arbitrary, user-defined data, "yyextra", may be added to scanner 714 1.1 christos 715 1.1 christos ** %option nomain no longer implies %option yywrap 716 1.1 christos But the inverse is still true 717 1.1 christos 718 1.1 christos ** Developer test suite added 719 1.1 christos 720 1.1 christos *** TESTS/ directory has been added. Users can 721 1.1 christos 'make test' in the TESTS directory to execute the test suite 722 1.1 christos 723 1.1 christos ** Support for bison variables yylval and yylloc added 724 1.1 christos 725 1.1 christos ** automake support for the build process 726 1.1 christos 727 1.1 christos ** manual is now in texinfo/info format 728 1.1 christos 729 1.1 christos *** flex.1 removed from distribution 730 1.1 christos 731 1.1 christos ** flex no longer generates C-language scanners with C++-style 732 1.1 christos comments 733 1.1 christos 734 1.1 christos ** flex now generates scanners in c++ which are compatible with 735 1.1 christos recent c++ compilers 736 1.1 christos 737 1.1 christos ** flex input scanner now recognizes '\r' as an EOL character 738 1.1 christos 739 1.1 christos See the file ONEWS for changes in earlier releases. 740 1.1 christos 741 1.1.1.6 christos See the file COPYING for copying conditions. 742 1.1.1.6 christos 743 1.1 christos Local Variables: 744 1.1 christos mode: text 745 1.1 christos mode: outline-minor 746 1.1 christos end: 747