Menu

Tree [ece4bb] master 3.1 /
 History

HTTPS access


File Date Author Commit
 .github 2023-04-11 Ulya Trofimovich Ulya Trofimovich [6b7a43] GitHub actions: replace `set-output` command wi...
 bazel 2023-04-25 helly25 helly25 [3205c8] Provide a min viable http://bazel.build integra...
 benchmarks 2022-07-28 Ulya Trofimovich Ulya Trofimovich [511a03] libre2c: remove GTOP shortest path finding algo...
 bootstrap 2023-07-19 Ulya Trofimovich Ulya Trofimovich [ece4bb] Release 3.1.
 build 2023-07-13 Ulya Trofimovich Ulya Trofimovich [0384cf] Fix build scripts for Wine to run on NixOS.
 cmake 2022-10-23 Doug Cook (WINDOWS) Doug Cook (WINDOWS) [d4ba85] CMake - Windows-compatible doc bootstrapping
 doc 2023-07-13 Ulya Trofimovich Ulya Trofimovich [c633d5] Update documentation for capturing and non-capt...
 examples 2022-10-09 Ulya Trofimovich Ulya Trofimovich [77714f] Always wrap the generated code in braces.
 fuzz 2022-06-12 Ulya Trofimovich Ulya Trofimovich [ac5c06] Remove staDFA algorithm.
 include 2022-11-07 Ulya Trofimovich Ulya Trofimovich [8a0d0a] Sort definitions in unicode_categories.txt
 lib 2023-07-08 Ulya Trofimovich Ulya Trofimovich [bb143b] libre2c: omit redundant semicolon after namespace.
 libre2c_old 2020-12-17 Tim Gates Tim Gates [fd84b6] docs: fix simple typo, otheriwse -> otherwise
 src 2023-07-13 Ulya Trofimovich Ulya Trofimovich [3a98b5] Add configuration `re2c:leftmost-captures`.
 test 2023-07-13 Ulya Trofimovich Ulya Trofimovich [c86a8b] Add tests for `re2c:leftmost-captures` and `re2...
 .gitattributes 2022-10-24 Doug Cook (WINDOWS) Doug Cook (WINDOWS) [34753d] Fix repository CRLF on Windows
 .gitignore 2023-04-25 helly25 helly25 [3205c8] Provide a min viable http://bazel.build integra...
 .gitmodules 2021-05-30 Ulya Trofimovich Ulya Trofimovich [f8f10c] Submatch Java benchmark: add REgen as a Git sub...
 .travis.yml 2021-07-25 Ulya Trofimovich Ulya Trofimovich [477f35] Travis CI: use Ubuntu 20.04 (Focal Fossa) to ha...
 BUILD.bazel 2023-04-25 helly25 helly25 [3205c8] Provide a min viable http://bazel.build integra...
 BUILD.md 2023-07-13 Ulya Trofimovich Ulya Trofimovich [e868cc] Document configure option --enable-parsers in B...
 CHANGELOG 2023-07-18 Ulya Trofimovich Ulya Trofimovich [5abc35] Update CHANGELOG.
 CMakeLists.txt 2023-07-19 Ulya Trofimovich Ulya Trofimovich [ece4bb] Release 3.1.
 CMakePresets.json 2022-10-23 Doug Cook (WINDOWS) Doug Cook (WINDOWS) [d4ba85] CMake - Windows-compatible doc bootstrapping
 CONTRIBUTING.md 2022-10-29 Doug Cook (WINDOWS) Doug Cook (WINDOWS) [374b5e] BUILD.md - update dependencies, info about cmak...
 IDEAS.md 2022-02-22 Ulya Trofimovich Ulya Trofimovich [34cb2e] Add IDEAS.md with (as the name suggests) some i...
 LICENSE 2019-03-04 Ulya Trofimovich Ulya Trofimovich [a64620] Moved LICENSE, README, NO_WARRANTY and CHANGELO...
 MAINTAINERS.md 2022-06-13 Ulya Trofimovich Ulya Trofimovich [dc8f26] Remove TDFA(0) algorithm.
 Makefile.am 2022-11-24 Ulya Trofimovich Ulya Trofimovich [819656] Merge compile.cc into main.cc, get rid of heade...
 Makefile.lib.am 2023-07-19 Ulya Trofimovich Ulya Trofimovich [60b40d] Makefile.lib.am: remove nonexistent header from...
 NO_WARRANTY 2019-03-04 Ulya Trofimovich Ulya Trofimovich [a64620] Moved LICENSE, README, NO_WARRANTY and CHANGELO...
 README.md 2022-01-24 Ulya Trofimovich Ulya Trofimovich [f18ce1] Update README.md and BUILD.md.
 WORKSPACE 2023-04-25 helly25 helly25 [3205c8] Provide a min viable http://bazel.build integra...
 add-release.txt 2015-11-22 Ulya Trofimovich Ulya Trofimovich [708d89] Prepare release 0.15: updated release instructi...
 autogen.sh 2022-07-05 Sergei Trofimovich Sergei Trofimovich [243083] autogen.sh: drop dangerous 'git clean -dfx' com...
 configure.ac 2023-07-19 Ulya Trofimovich Ulya Trofimovich [ece4bb] Release 3.1.
 release.sh 2023-07-19 Ulya Trofimovich Ulya Trofimovich [c3f267] release.sh: make the script NixOS-friendly, fix...
 run_tests.py.in 2023-04-27 Ulya Trofimovich Ulya Trofimovich [580ab1] run_tests.py: remove exception for overflow-1.r...
 sf-cheatsheet 2015-03-26 Ulya Trofimovich Ulya Trofimovich [89ea6c] Added text file 'sf-cheatsheet' to make some no...

Read Me

DESCRIPTION

re2c is a free and open-source lexer generator for C/C++, Go and Rust.

Its main goal is generating fast lexers: at least as fast as their reasonably
optimized hand-coded counterparts. Instead of using traditional table-driven
approach, re2c encodes the generated finite state automata directly in the form
of conditional jumps and comparisons. The resulting programs are faster and
often smaller than their table-driven analogues, and they are much easier to
debug and understand. re2c applies quite a few optimizations in order to speed
up and compress the generated code.

Another distinctive feature is its flexible interface: instead of assuming a
fixed program template, re2c lets the programmer write most of the interface
code and adapt the generated lexer to any particular environment.

DOCUMENTATION

Official re2c website is re2c.org. It has a lot of examples.

DOWNLOAD

Release tarballs: https://github.com/skvadrik/re2c/releases

Source code:

$ git clone https://github.com/skvadrik/re2c.git
$ git clone https://git.code.sf.net/p/re2c/code-git

Github is the main repo, sourceforge is a mirror and can be slightly outdated.

CONTRIBUTING

re2c is an Open Source, community-driven project. See
CONTRIBUTING.md
for details about contributions to this repository.

BUILD

See BUILD.md or the online docs for
instructions how to build re2c.

FEEDBACK

Bugtracker:

Mailing lists:

  • re2c-general@lists.sourceforge.net
  • re2c-devel@lists.sourceforge.net

IRC channels:

  • irc.oftc.net/#re2c
  • irc.libera.chat/#re2c

You are welcome to ask for help or share your thoughts and ideas.

AUTHORS

re2c was originally written by Peter Bumbulis peter@csg.uwaterloo.ca. Since
then many volunteers have contributed to the project. The current maintainer is
Ulya Trofimovich skvadrik@gmail.com.