A bug in re2c's internal buffering caused issues with a input files in some circumstances. As a consequence re2c would either report an error or even crash. No further changes have been made.
This new development release adds a few minor features. Most notably re2c now allows for transparent handling of #line directives in input files and has improved -r functionality. Note that the -r interface indeed changed a lot, check out the CHANGELOG.
The ongoing efforts of moving PHP from flex to re2c made us add a few more features. Most prominently the new switch -F which allows to accept a good part of the flex syntax for regular expressions. Using that flag even flex style definitions that have neither a '=' sign nor a ';' at the end work. There also is the new -r switch that allows to reuse a scanner definition. That way you can use the same scanner definition with different character types, different input or different output mechanisms.... read more
This is hopefully the last development release of the 0.13 cycle and leads to a new stable release 0.14 soon. This version is being used to replace the use of flex as the PHP scanner generator. At the time of this writing, the efforts are extremely promising and more than 98% of the 5K PHP tests already pass.
Two new maintenance releases fix some minor build issues, knowingly for MacOS and AIX. The current development version 0.13.1 also brings a nice feature addition if you are on windows. Thanks to William Swanson, re2c source package now ships with a rules file that enables full re2c integration into visual studio 2005. Last but not least, if you are interested in testing re2c, there have been quite some compatibility issues in the past. So you will be delighted to hear that testing re2c has become much easier now. In general the test script run-tests.sh has increased compatibility and allows auto detection of a cygwin environment and presence of a visual studio build. If detected the test suite will automatically use that build. In all other cases the tester will hopefully experience much less even no more issues when running the test suite.
This new stable version of re2c fixes issue on Mac OS X (See issue #1743180 fwrite with 0 length crashes on OS X).
This brand new development version of re2c comes with initial support for (f)lex like conditions. That is, this version is the first step towards full condition support where re2c checks for a condition and based on that switches to a specific sub block handling only rules for that specific condition.
This verison is fully compatible with older versions and in fact you need the new switches -c and -t to get condition support. Also a lot of new inplace configurations have been added.... read more
This release fixes a bug in handling of high ASCII characters on EBCDIC platforms only.
Every user of re2c is highly suggested to switch to this new version. It fixes one bug last presnet in 0.11.3. That but resulted in wrongcode generation for high characters in 8 bit mode. That is characters with the highest bit set were interpreted wrong and could result in wrong output or even re2c failure.
Version 0.12.0 ends the development branch 0.11.*. This version also replaces the old stable branch 0.10.*. Also from now on new development will be done in the 0.13.* branch.
Current version 0.11.3 will be re-released as 0.12.0 with one minor bug fix regarding the handling of command line arguments. The anticipated time frame for this re-release is early may 2007. And 0.12 will replace 0.10 as the stable branch.
The new developer series 0.13 will bring (f)lex-like condition support using two new switches -c and -t. Check out the documentation on those switches and also refer to the document section "scanner with condition support".... read more
Thew new release 0.11.3 comes with two new features requested by users in private mails.
First 0.11.3 allows underscores in named definitions. The second addition is the new option --no-generation-date that can be used to suppress generation of date/time information in the generated files.
Last but not least both 0.10.8 and 0.11.3 fix a bug in hanlding of long forms of command line switches.
Scanners generated with re2c can now use signed character input even when in 8 bit mode and -s or -b switches are in effect. To do so you simply activate re2c's new auto conversion feature which will convert the input to unsigned characters on the fly. Check the documentation on the new inplace configuration re2c:yych:conversion on how this works.
Starting with this version of re2c you can also customize most names used in the generated code and avoid compiler defines. For this reason the following new inplace configurations are available:... read more
When the input uses signed characters and -s or -b switches are in effect re2c allows to automatically convert to the unsigned character type that is then necessary for its internal single character. When this setting is zero or an empty string the conversion is disabled. Using a non zero number the conversion is taken from YYCTYPE. If that is given by an inplace configuration that value is being used. Otherwise it will be (YYCTYPE) and changes to that configuration are no longer possible. When this setting is a string the braces must be specified. Now assuming your input is a char* buffer and you are using above mentioned switches you can set YYCTYPE to unsigned char and this setting to either 1 or "(unsigned char)".
You can now avoid the use of #defines and even rename generated variable names and labels. The following new inplace configurations are available.
re2c:variable:yytarget... read more
These two new re2c versions fix a warning in the generated code that some compilers issue. No feature additions or other changes have been made.
This brand new version of re2c has extended unicode support using the new -u switch. Using it allows generating a parser that supports Unicode chars (UTF-32). This means the generated code can deal with any valid Unicode character up to 0x10FFFF. When UTF-8 or UTF-16 needs to be supported you need to convert the incoming stream to UTF-32 upon input yourself. Note that re2c requires unsigned integer as the internal data type.... read more
The upcoming version 0.11.0 will have full Unicode support using the new -u switch.
Using it allows generating a parser that supports Unicode chars (UTF-32). This means the
generated code can deal with any valid Unicode character up to 0x10FFFF. When
UTF-8 or UTF-16 needs to be supported you need to convert the incoming stream
to UTF-32 upon input yourself. Note that re2c requires unsigned integer as the internal data type.
This brand new version of re2c fixes two issues. The first is a bug with dealing with unterminated code blocks. The second is a problem with the way re2c is building itself. If you are not using the the rpm build script then your re2c was broken. No further issues are known at this point.
A minor mistake was detected in the last two version of re2c that resulted in this new release. The issues was that the long form of -1 switch was implemented wrong while being documented correct. This relase also brings built in support for MSVC 2003. As usual there are no known bugs at the time of this release.
This new version of re2c finalized the move from cvs to subversion and only changes a tiny whitespace inconsistency in the generated code. No bugs are known since a whole month now.
The re2c project decided to switch to subversion as configuration management when we integrated libre2c that had it's own subversion repository until now.
libre2c is a library intended to make it easier to use re2c scanners. It provides convenient ways to help generating scanners for typical input like reading from files or char buffers.
To check out both modules you simply check out trunk of re2c's project subversion repository:... read more
The brand new version 0.10.3 of re2c adds GCC's computed goto support and fixes a minor issue using '-ws' and '-wb'. Last but not least re2c from now on generates nested if's for yyaccept blocks when using command line switches '-s' or '-b'. And once again re2c comes with no known bugs.
New version 0.10.2 of re2c brings two major bug fixes, a bunch of small tweaks and smaller fixes as well as a revised interface to storable states.
The first important bug fix reintroduces code that got lost with versions 0.10.0 and 0.10.1 due to an internal overoptimization.
The second major fix solves an issue when re2c is used with -b flag with complex rules where re2c would generate more than 8 tables.... read more
After working with rc1 a bunch of tiny things came up. Maybe most remarkably the addition of tutorial like lessons to get users starting with re2c. Code wise the most interesting change is that from now on re2c will default to two pass generation which allows to have re2c generate a YYMAXFILL define anywhere in the code rather than only after the last block.
- Changed to generate YYMARKER only when needed or in single pass mode.
- Added -1 switch to force single pass generation and make two pass the default.
- Fixed -i switch.
- Added configuration 'yyfill:enable' to allow suppression of YYFILL() blocks.
- Added tutorial like lessons to re2c.
- Added /*!ignore!re2c */ to support documenting of re2c source.
- Fixed issue with multiline re2c comments (/*!max:re2c ... */ and alike).... read more