]> granicus.if.org Git - re2c/log
re2c
9 years agoRelease 0.14.3. 0.14.3
Ulya Trofimovich [Wed, 20 May 2015 12:22:26 +0000 (13:22 +0100)]
Release 0.14.3.

9 years agoAdded simple test for yacc-style brackets (see patch #27)
Ulya Trofimovich [Wed, 20 May 2015 12:17:12 +0000 (13:17 +0100)]
Added simple test for yacc-style brackets (see patch #27)

9 years agoFixed '#27 re2c crashes reading files containing %{ %}' (patch by Rui)
Ulya Trofimovich [Wed, 20 May 2015 12:08:12 +0000 (13:08 +0100)]
Fixed '#27 re2c crashes reading files containing %{ %}' (patch by Rui)

9 years agoMakefile.am: dropped distfiles for MSVC (they are broken anyway)
Ulya Trofimovich [Mon, 13 Apr 2015 09:23:57 +0000 (10:23 +0100)]
Makefile.am: dropped distfiles for MSVC (they are broken anyway)

9 years agoAdded full another test for bug #57.
Ulya Trofimovich [Thu, 26 Mar 2015 12:00:58 +0000 (12:00 +0000)]
Added full another test for bug #57.

9 years agoUpdated version to 0.14.3.dev
Ulya Trofimovich [Wed, 25 Mar 2015 21:34:42 +0000 (21:34 +0000)]
Updated version to 0.14.3.dev

9 years agoRelease 0.14.2. 0.14.2
Ulya Trofimovich [Wed, 25 Mar 2015 21:21:03 +0000 (21:21 +0000)]
Release 0.14.2.

9 years agoFixed bug #57: Wrong result only if another rule is present
Ulya Trofimovich [Wed, 25 Mar 2015 16:25:10 +0000 (16:25 +0000)]
Fixed bug #57: Wrong result only if another rule is present

When making regexp alternative, only 'RegExp::PRIVATE' attribute
should be propagated. Propagating 'RegExp::SHARED' attribute is
a mistake, as can be observed from the following example:

    name = "smth1";
    "smth2" | name | "smth3" { ... }
    name                     { ... }

Here, 'name' must have 'RegExp::PRIVATE' attribute, but it gets
broken after alternation. See #bug57 or test 'bug57.re' for full
working example.

9 years agoUpdated version to 0.14.2.dev
Ulya Trofimovich [Sat, 28 Feb 2015 00:04:20 +0000 (00:04 +0000)]
Updated version to 0.14.2.dev

9 years agoRelease 0.14.1. 0.14.1
Ulya Trofimovich [Fri, 27 Feb 2015 23:52:00 +0000 (23:52 +0000)]
Release 0.14.1.

9 years agoPad version with '0' instead of nulls
Mike Gilbert [Fri, 27 Feb 2015 23:07:43 +0000 (18:07 -0500)]
Pad version with '0' instead of nulls

This produces a more usable output for scripts.

9 years agoUpdated version to 0.14.1.dev
Ulya Trofimovich [Mon, 23 Feb 2015 18:51:38 +0000 (18:51 +0000)]
Updated version to 0.14.1.dev

9 years agoRelease 0.14. 0.14
Ulya Trofimovich [Mon, 23 Feb 2015 17:28:35 +0000 (17:28 +0000)]
Release 0.14.

9 years agoMakefile.am: added bootstrap/re2c.1 to dist files.
Ulya Trofimovich [Mon, 23 Feb 2015 17:25:26 +0000 (17:25 +0000)]
Makefile.am: added bootstrap/re2c.1 to dist files.

9 years agoMakefile.am: copy re2c.1 to bootstrap files
Ulya Trofimovich [Mon, 23 Feb 2015 17:23:58 +0000 (17:23 +0000)]
Makefile.am: copy re2c.1 to bootstrap files

9 years agoMakefile.am: added forgotten header.
Ulya Trofimovich [Mon, 23 Feb 2015 17:18:02 +0000 (17:18 +0000)]
Makefile.am: added forgotten header.

9 years agoMakefile.am: removed obsolete MSVC files and added forgotten header.
Ulya Trofimovich [Mon, 23 Feb 2015 17:15:40 +0000 (17:15 +0000)]
Makefile.am: removed obsolete MSVC files and added forgotten header.

9 years agoUpdated CHANGELOG and index.html
Ulya Trofimovich [Mon, 23 Feb 2015 17:09:20 +0000 (17:09 +0000)]
Updated CHANGELOG and index.html

9 years agoUpdated docs.
Ulya Trofimovich [Mon, 23 Feb 2015 17:00:45 +0000 (17:00 +0000)]
Updated docs.

9 years agoAdded tests from PHP repository: https://github.com/php/php-src
Ulya Trofimovich [Mon, 23 Feb 2015 13:30:42 +0000 (13:30 +0000)]
Added tests from PHP repository: https://github.com/php/php-src

Test results are almost identical to re2c-0.13.6
(there're some few changes, I believe they are due to
commit 255262b02928d3f38c00dd91952e3253c11c78f1 and
completely harmless).

9 years agoRenamed YYEOI -> YYLESSTHAN
Ulya Trofimovich [Mon, 23 Feb 2015 12:04:38 +0000 (12:04 +0000)]
Renamed YYEOI -> YYLESSTHAN

9 years agoRevert "Renamed re2c primitives:"
Ulya Trofimovich [Mon, 23 Feb 2015 11:50:30 +0000 (11:50 +0000)]
Revert "Renamed re2c primitives:"

This reverts commit 7f816a85b03dd26f279868b1d0eaddb50bc8eb4c.

9 years agoRenamed re2c primitives:
Ulya Trofimovich [Mon, 9 Feb 2015 17:26:36 +0000 (17:26 +0000)]
Renamed re2c primitives:

    YYPEEK       ---> RE2C_PEEK
    YYSKIP       ---> RE2C_SKIP
    YYBACKUP     ---> RE2C_BACKUP
    YYBACKUPCTX  ---> RE2C_BACKUP_CTX
    YYRESTORE    ---> RE2C_RESTORE
    YYRESTORECTX ---> RE2C_RESTORE_CTX
    YYEOI        ---> RE2C_LESS_THAN

Updated tests and examples accordingly.

Renamed functions:

    expr_eoi        ---> expr_less_than
    expr_eoi_one    ---> expr_less_than_one
    stmt_backupctx  ---> stmt_backup_ctx
    stmt_restorectx ---> stmt_restore_ctx

9 years agoFixed changelog formatting on re2c.org.
Ulya Trofimovich [Sun, 18 Jan 2015 20:27:58 +0000 (20:27 +0000)]
Fixed changelog formatting on re2c.org.

9 years agoAdded some examples of "--input custom" usage.
Ulya Trofimovich [Sun, 18 Jan 2015 15:56:06 +0000 (15:56 +0000)]
Added some examples of "--input custom" usage.

Had to modify .gitignore to unmask README in subfolders.

9 years agoReplaced "YYHAS (n)" with "YYEOI (n)".
Ulya Trofimovich [Sun, 18 Jan 2015 14:12:16 +0000 (14:12 +0000)]
Replaced "YYHAS (n)" with "YYEOI (n)".

The actual meaning of this primitive is to check if
there's not enough characters left in the input stream,
e.g. "(YYLIMIT - YYCURSOR) < n" or whatever else.

9 years agoAdded tests for "--input custom".
Ulya Trofimovich [Sun, 18 Jan 2015 13:47:51 +0000 (13:47 +0000)]
Added tests for "--input custom".

This implied modifying runtests.sh, as it couldn't handle
test names of the form "basename.--long-switch.re":
it inserted '-' in front of all switches.

9 years agoRemoved "--input istream".
Ulya Trofimovich [Sun, 18 Jan 2015 13:43:08 +0000 (13:43 +0000)]
Removed "--input istream".

It's impossible to correctly implement this switch in general,
since not all istreams support seek (simplest counterexample:
std::cin).

Even for simple istreams like std::istringstream, proper
error handling requires adding something like "YYERROR ()".

9 years agoA little cleanup of new input API:
Ulya Trofimovich [Tue, 13 Jan 2015 15:30:01 +0000 (15:30 +0000)]
A little cleanup of new input API:

- moved enum and pretty-printing functions to a class
- renamed files 'input.{h,cc}' to 'input_api.{h,cc}'
- for "--input istream": moved input position increment to 'stmt_restorectx'
- main.cc: removed useless include

9 years agoNew input API.
Ulya Trofimovich [Sun, 11 Jan 2015 19:39:32 +0000 (19:39 +0000)]
New input API.

- command-line switch "--input <default | istream | custom>"
- with "--input default" (the default) no changes to generated code
- with "--input istream" assume YYCURSOR is std::istream object
    and YYLIMIT is length of input stream
- with "--input custom" expose primitives:
    YYPEEK ()
    YYSKIP ()
    YYBACKUP ()
    YYBACKUPCTX ()
    YYRESTORE ()
    YYRESTORECTX ()
    YYHAS (n)

9 years agoAdded test for bug #46.
Ulya Trofimovich [Fri, 26 Sep 2014 21:35:28 +0000 (22:35 +0100)]
Added test for bug #46.

9 years agoAdded test for bug #47.
Ulya Trofimovich [Fri, 26 Sep 2014 21:23:54 +0000 (22:23 +0100)]
Added test for bug #47.

9 years agoFixed bug #47: Dot output label escaped characters.
Ulya Trofimovich [Fri, 26 Sep 2014 16:14:20 +0000 (17:14 +0100)]
Fixed bug #47: Dot output label escaped characters.

Double-escape special characters for dot.
Example:
    17 -> 18 [label="\n"]
results in an "unlabeled" arrow in the rendered graph, but
    17 -> 18 [label="\\n"]
is ok.

9 years agoRemoved outdated MSVC files, cleaned .gitignore
Ulya Trofimovich [Fri, 26 Sep 2014 15:15:49 +0000 (16:15 +0100)]
Removed outdated MSVC files, cleaned .gitignore

9 years agoBack up re2c.1 manpage for those who build from git but don't have asciidoc.
Ulya Trofimovich [Fri, 26 Sep 2014 15:14:35 +0000 (16:14 +0100)]
Back up re2c.1 manpage for those who build from git but don't have asciidoc.

9 years agoUpdated version to 0.13.8.dev
Ulya Trofimovich [Wed, 24 Sep 2014 11:09:31 +0000 (12:09 +0100)]
Updated version to 0.13.8.dev

9 years agoRevert "Updated version to 0.13.6.dev"
Ulya Trofimovich [Wed, 24 Sep 2014 11:05:02 +0000 (12:05 +0100)]
Revert "Updated version to 0.13.6.dev"

This reverts commit bbb49c05b95ba951c764a8159e6d461d4a9b6265.

9 years agoUpdated version to 0.13.6.dev
Ulya Trofimovich [Fri, 22 Aug 2014 20:52:46 +0000 (23:52 +0300)]
Updated version to 0.13.6.dev

9 years agoRelease 0.13.7.5. 0.13.7.5
Ulya Trofimovich [Fri, 22 Aug 2014 20:47:11 +0000 (23:47 +0300)]
Release 0.13.7.5.

9 years agoAlternation of 'RegExp's should preserve 'ins_access' attribute.
Ulya Trofimovich [Fri, 22 Aug 2014 20:15:11 +0000 (23:15 +0300)]
Alternation of 'RegExp's should preserve 'ins_access' attribute.

When one builds 'AltOp' from two 'RegExp's, one sometimes has to
break these 'RegExp's in pieces in order to merge their common prefix.
In such cases, if one of the original 'RegExp's has 'ins_access'
set to 'PRIVATE', it is lost (defaults to 'SHARED') after alternation.

This commit fixes Gentoo bug https://bugs.gentoo.org/show_bug.cgi?id=518904.

9 years agoReplaced hand-written dynamic type introspection with dynamic_cast.
Ulya Trofimovich [Fri, 22 Aug 2014 20:07:05 +0000 (23:07 +0300)]
Replaced hand-written dynamic type introspection with dynamic_cast.

9 years agoFixed typo in comment.
Ulya Trofimovich [Thu, 21 Aug 2014 10:48:33 +0000 (13:48 +0300)]
Fixed typo in comment.

9 years agorun_tests.sh: set locale "LC_ALL=C" for sed.
Ulya Trofimovich [Tue, 29 Jul 2014 21:05:32 +0000 (00:05 +0300)]
run_tests.sh: set locale "LC_ALL=C" for sed.

This fixes test failure on MacOS X.

9 years agorelease.sh: force directory removal
Ulya Trofimovich [Tue, 29 Jul 2014 15:17:55 +0000 (18:17 +0300)]
release.sh: force directory removal

9 years agoUpdated version to 0.13.7.5.dev
Ulya Trofimovich [Tue, 29 Jul 2014 15:17:10 +0000 (18:17 +0300)]
Updated version to 0.13.7.5.dev

9 years agoRelease 0.13.7.4. 0.13.7.4
Ulya Trofimovich [Tue, 29 Jul 2014 15:11:41 +0000 (18:11 +0300)]
Release 0.13.7.4.

9 years agorelease.sh: don't forget to push as well as push tags
Ulya Trofimovich [Tue, 29 Jul 2014 15:08:07 +0000 (18:08 +0300)]
release.sh: don't forget to push as well as push tags

9 years agorelease.sh: updated to use '--enable-docs' in configure
Ulya Trofimovich [Tue, 29 Jul 2014 15:07:07 +0000 (18:07 +0300)]
release.sh: updated to use '--enable-docs' in configure

9 years agorelease.sh: renamed configure.in -> configure.ac
Ulya Trofimovich [Tue, 29 Jul 2014 15:05:00 +0000 (18:05 +0300)]
release.sh: renamed configure.in -> configure.ac

9 years agoEnable 'make docs' only if configured with '--enable-docs'.
Ulya Trofimovich [Tue, 29 Jul 2014 14:53:49 +0000 (17:53 +0300)]
Enable 'make docs' only if configured with '--enable-docs'.

./configure --enable-docs checks for asciidoc and a2x

9 years agoDisallow to use yacc/byacc instead of bison to build parser.
Ulya Trofimovich [Tue, 29 Jul 2014 11:59:08 +0000 (14:59 +0300)]
Disallow to use yacc/byacc instead of bison to build parser.

Currently parser fails to build with yacc/byacc.
A slightly modified parser, build by byacc, causes 3 tests to fail.

9 years agoRenamed configure.in -> configure.ac
Ulya Trofimovich [Mon, 28 Jul 2014 19:10:04 +0000 (22:10 +0300)]
Renamed configure.in -> configure.ac

9 years agoFixed compile error for freebsd5 (found by Sergei Trofimovich).
Ulya Trofimovich [Mon, 28 Jul 2014 15:57:49 +0000 (18:57 +0300)]
Fixed compile error for freebsd5 (found by Sergei Trofimovich).

Sample error:
    parser.y: In function `void re2c::parse(re2c::Scanner&, std::ostream&, std::ostream*)':
    parser.y:564: error: `yyparse' undeclared (first use this function)

9 years agorun_tests.sh: avoid non-portable sed feature
Ulya Trofimovich [Mon, 28 Jul 2014 15:07:52 +0000 (18:07 +0300)]
run_tests.sh: avoid non-portable sed feature

9 years agorelease.sh: clean tarball directory before rsync'ing to sourceforge
Ulya Trofimovich [Mon, 28 Jul 2014 15:05:22 +0000 (18:05 +0300)]
release.sh: clean tarball directory before rsync'ing to sourceforge

(shouldn't push old tarballs)

9 years agoUpdate version to 0.13.7.4.dev
Ulya Trofimovich [Mon, 28 Jul 2014 15:03:34 +0000 (18:03 +0300)]
Update version to 0.13.7.4.dev

9 years agoRelease 0.13.7.3. 0.13.7.3
Ulya Trofimovich [Mon, 28 Jul 2014 11:08:59 +0000 (14:08 +0300)]
Release 0.13.7.3.

9 years agoGot rid of asciidoc build-time dependency.
Ulya Trofimovich [Mon, 28 Jul 2014 10:58:36 +0000 (13:58 +0300)]
Got rid of asciidoc build-time dependency.

9 years agoFixed compilation warning for clang.
Ulya Trofimovich [Mon, 28 Jul 2014 08:41:19 +0000 (11:41 +0300)]
Fixed compilation warning for clang.

Sample warning:
    warning: struct 'RegExp' was previously declared as a class [-Wmismatched-tags]
    struct RegExp; // forward
    ^

9 years agoUpdated version to 0.13.8.dev.
Ulya Trofimovich [Sun, 27 Jul 2014 08:38:41 +0000 (11:38 +0300)]
Updated version to 0.13.8.dev.

9 years agoRelease 0.13.7.2. 0.13.7.2
Ulya Trofimovich [Sun, 27 Jul 2014 08:20:28 +0000 (11:20 +0300)]
Release 0.13.7.2.

9 years agoMakefile.am: added prerequisites for man page.
Ulya Trofimovich [Sun, 27 Jul 2014 08:14:57 +0000 (11:14 +0300)]
Makefile.am: added prerequisites for man page.

9 years agoMakefile.am: include man page into dist, respect users CXXFLAGS.
Ulya Trofimovich [Sun, 27 Jul 2014 07:11:23 +0000 (10:11 +0300)]
Makefile.am: include man page into dist, respect users CXXFLAGS.

9 years agorelease.sh: allow version of a more general form.
Ulya Trofimovich [Sun, 27 Jul 2014 06:50:53 +0000 (09:50 +0300)]
release.sh: allow version of a more general form.

9 years agoUpdated version to 0.13.8.dev
Ulya Fokanova [Sat, 26 Jul 2014 09:17:27 +0000 (12:17 +0300)]
Updated version to 0.13.8.dev

9 years agoAdded tagging to release.sh
Ulya Fokanova [Sat, 26 Jul 2014 09:07:41 +0000 (12:07 +0300)]
Added tagging to release.sh

9 years agoRelease 0.13.7.1. 0.13.7.1
Ulya Fokanova [Sat, 26 Jul 2014 08:56:24 +0000 (11:56 +0300)]
Release 0.13.7.1.

9 years agoAdded missing headers to tarball and dist-check to release.sh.
Ulya Fokanova [Sat, 26 Jul 2014 08:52:34 +0000 (11:52 +0300)]
Added missing headers to tarball and dist-check to release.sh.

9 years agoUpdate version to 0.13.8.dev
Ulya Fokanova [Fri, 25 Jul 2014 15:51:34 +0000 (18:51 +0300)]
Update version to 0.13.8.dev

9 years agoRelease 0.13.7.
Ulya Fokanova [Fri, 25 Jul 2014 15:44:07 +0000 (18:44 +0300)]
Release 0.13.7.

9 years agoPrepare release 0.13.7.
Ulya Fokanova [Fri, 25 Jul 2014 15:41:53 +0000 (18:41 +0300)]
Prepare release 0.13.7.

10 years agoReduced space taken by Unicode tests (~700MB -> ~14MB).
Ulya Fokanova [Mon, 21 Apr 2014 14:21:57 +0000 (17:21 +0300)]
Reduced space taken by Unicode tests (~700MB -> ~14MB).

Dynamically generate Unicode strings, used in tests,
instead of hardcoding them in source files.

10 years agoAdded tests for '--encoding-policy' option.
Ulya Fokanova [Sun, 13 Apr 2014 11:04:08 +0000 (14:04 +0300)]
Added tests for '--encoding-policy' option.

10 years agoAdded option to control how invalid code points are treated.
Ulya Fokanova [Sun, 13 Apr 2014 10:25:01 +0000 (13:25 +0300)]
Added option to control how invalid code points are treated.

Usage: 're2c --encoding-policy <fail | substitute | ignore> ...'

When re2c encounters invalis code point (e.g., surrogate in Unicode),
it acts with regard to current encoding policy:
    'fail' - fail with error;
    'substitute' - silently substitute offending code point with
        error code point;
    'ignore' - ignore offending code point, consider it valid.

10 years agoMoved encoding-specific character handling to 'Enc' class.
Ulya Fokanova [Wed, 9 Apr 2014 22:56:16 +0000 (01:56 +0300)]
Moved encoding-specific character handling to 'Enc' class.

10 years agoDisallow to set multiple encodings.
Ulya Fokanova [Wed, 9 Apr 2014 22:35:37 +0000 (01:35 +0300)]
Disallow to set multiple encodings.

Fail, if someone tries to set non-ASCII encoding
when another non-ASCII encoding is already set.
If encoding has been set successfully, it is
guaranteed to be valid.

10 years agoMoved 'Range' stuff to separate file.
Ulya Fokanova [Wed, 9 Apr 2014 22:15:40 +0000 (01:15 +0300)]
Moved 'Range' stuff to separate file.

10 years agoMakefile: enabled GCC warnings.
Ulya Fokanova [Wed, 9 Apr 2014 22:00:46 +0000 (01:00 +0300)]
Makefile: enabled GCC warnings.

10 years agoMoved character-printing functions to separate file.
Ulya Fokanova [Wed, 9 Apr 2014 21:48:47 +0000 (00:48 +0300)]
Moved character-printing functions to separate file.

10 years agoAllow all encoding flags in inplace configurations regardless to '-r' flag.
Ulya Fokanova [Tue, 25 Feb 2014 11:08:42 +0000 (14:08 +0300)]
Allow all encoding flags in inplace configurations regardless to '-r' flag.

Also allow use '-r' together with '-e'. Added test.

10 years agoAllow flag names in inplace configurations start with digit (to allow '-8').
Ulya Fokanova [Tue, 25 Feb 2014 11:06:58 +0000 (14:06 +0300)]
Allow flag names in inplace configurations start with digit (to allow '-8').

10 years agoUTF-16: Fixed handling of single 2-word code point.
Ulya Fokanova [Tue, 25 Feb 2014 10:51:22 +0000 (13:51 +0300)]
UTF-16: Fixed handling of single 2-word code point.

10 years agoUTF-16 support. Tests for UTF-16 support. Updated docs.
Ulya Fokanova [Mon, 24 Feb 2014 20:38:26 +0000 (23:38 +0300)]
UTF-16 support. Tests for UTF-16 support. Updated docs.

10 years agoRemoved obsolete enum member.
Ulya Fokanova [Mon, 17 Feb 2014 13:17:45 +0000 (16:17 +0300)]
Removed obsolete enum member.

'UTF32_16' encoding mode is no longer supported
(since commit 4243cf488ca2c53471831ad5096994ba895d7ff5).

10 years agoUpdated documentation.
Ulya Fokanova [Thu, 23 Jan 2014 10:18:40 +0000 (13:18 +0300)]
Updated documentation.

10 years agoAdded '-8' option to usage.
Ulya Fokanova [Thu, 23 Jan 2014 10:17:31 +0000 (13:17 +0300)]
Added '-8' option to usage.

10 years agoReplaced boolean parameter with enum.
Ulya Fokanova [Wed, 22 Jan 2014 13:38:01 +0000 (16:38 +0300)]
Replaced boolean parameter with enum.

10 years agoAdded default rule '*'.
Ulya Fokanova [Wed, 22 Jan 2014 11:21:25 +0000 (14:21 +0300)]
Added default rule '*'.

Usage:
                  * { /* C/C++ code */ }
    <c1, ..., cN> * { /* C/C++ code */ }
    <*>           * { /* C/C++ code */ }

Default rule violates rule order: no matter where it stands
(before all rules, in the middle, or after), it's the last
rule which will be applied.

10 years agoFixed segfault: regexp [^]* with 'bFlag' enabled.
Ulya Fokanova [Mon, 20 Jan 2014 16:07:42 +0000 (19:07 +0300)]
Fixed segfault: regexp [^]* with 'bFlag' enabled.

Changed 'unmap' function: now spans, that must be unmapped,
are always binded to upper adjacent span (if such span exists).
The previous version of 'unmap' used to bind unmapped spans
either to upper, or to lower adjacent span. Because of this change,
some tests need to be updated.

10 years agoRemoved compatibility encoding mode 'UTF32_16', generate error message when multiple...
Ulya Fokanova [Mon, 20 Jan 2014 15:43:41 +0000 (18:43 +0300)]
Removed compatibility encoding mode 'UTF32_16', generate error message when multiple encodings are set.

10 years agoRenamed '-z' flag to '-8' flag.
Ulya Fokanova [Mon, 20 Jan 2014 14:58:46 +0000 (17:58 +0300)]
Renamed '-z' flag to '-8' flag.

10 years agoRenamed 'uncompile' to 'decompile'.
Ulya Fokanova [Mon, 20 Jan 2014 11:09:34 +0000 (14:09 +0300)]
Renamed 'uncompile' to 'decompile'.

10 years agoChanged 'unsigned int' to 'int' (now comparison '< 0' makes sense).
Ulya Fokanova [Mon, 13 Jan 2014 10:13:14 +0000 (13:13 +0300)]
Changed 'unsigned int' to 'int' (now comparison '< 0' makes sense).

10 years agoFixed bugs introduced by UTF-8 support (commit 28ee7c95bca46ad3cdb965741c5c29e21c50df...
Ulya Fokanova [Sat, 11 Jan 2014 10:11:52 +0000 (13:11 +0300)]
Fixed bugs introduced by UTF-8 support (commit 28ee7c95bca46ad3cdb965741c5c29e21c50df14) and added tests that revealed them.

Bugs:
1) dot broken in EBCDIC mode
2) ranges that have 1-2 symbols (without "-") considered empty

10 years agoReplaced 'echo' with 'printf' in generation of switches for test.
Ulya Fokanova [Fri, 10 Jan 2014 15:29:12 +0000 (18:29 +0300)]
Replaced 'echo' with 'printf' in generation of switches for test.

'echo' doesn't distinguish between options and arguments,
so in cases like 'echo "-e"' is outputs empty string. It
results in dropping re2c's "-e" flag in tests with names
like "test.e.re".

10 years agoFixed '.' (dot) in UTF-8 mode.
Ulya Fokanova [Fri, 10 Jan 2014 13:16:45 +0000 (16:16 +0300)]
Fixed '.' (dot) in UTF-8 mode.

10 years agoMoved all encoding-related stuff to separate class.
Ulya Fokanova [Wed, 8 Jan 2014 09:40:44 +0000 (12:40 +0300)]
Moved all encoding-related stuff to separate class.

This class stores only encoding flags.
Everything else (number of code points,
number of different characters in input
stream, size of symbol, size of character,
etc.) is generated on the fly.

10 years agoAdded UTF-8 encoding support and tests for it.
Ulya Fokanova [Mon, 6 Jan 2014 18:48:21 +0000 (21:48 +0300)]
Added UTF-8 encoding support and tests for it.

10 years agoSwitch on valgrind options that reveal memleaks.
Ulya Fokanova [Mon, 6 Jan 2014 18:43:38 +0000 (21:43 +0300)]
Switch on valgrind options that reveal memleaks.

10 years agoFixed missprint in EBCDIC range expansion and updated broken tests.
Ulya Fokanova [Mon, 30 Dec 2013 22:24:15 +0000 (01:24 +0300)]
Fixed missprint in EBCDIC range expansion and updated broken tests.