Menu

Tree [8baaca] master /
 History

HTTPS access


File Date Author Commit
 .github 2024-12-10 Ulya Trofimovich Ulya Trofimovich [ca18e4] Benchmarks (C/C++): rewrite using google-benchm...
 bazel 2024-02-22 Ivan Egorov Ivan Egorov [15f503] [bazel] Fix _re2c_impl
 benchmarks 2025-02-08 Ulya Trofimovich Ulya Trofimovich [28cb6b] Benchmarks(C/C++): use pkg-config in CMake to l...
 bootstrap 2025-02-16 Ulya Trofimovich Ulya Trofimovich [8baaca] Release 4.1.
 build 2024-12-11 Ulya Trofimovich Ulya Trofimovich [bec027] build/__distcheck.sh: add missing `-j $(nproc)`...
 cmake 2024-11-14 Ulya Trofimovich Ulya Trofimovich [cf7e2c] CMake: align disabled warnings with configure.ac.
 doc 2025-02-15 Ulya Trofimovich Ulya Trofimovich [ee033a] Update CHANGELOG for release 4.1 (plus a small ...
 examples 2025-02-16 Ulya Trofimovich Ulya Trofimovich [bdf3e8] Update Zig examples for newer compiler version.
 fuzz 2022-06-12 Ulya Trofimovich Ulya Trofimovich [ac5c06] Remove staDFA algorithm.
 include 2025-02-05 Ulya Trofimovich Ulya Trofimovich [ba3185] Zig backend: use `const` for `yych` declaration...
 lib 2024-11-10 Sergei Trofimovich Sergei Trofimovich [c4e779] *.ypp: use api.prefix in all bison-generated pa...
 libre2c_old 2020-12-17 Tim Gates Tim Gates [fd84b6] docs: fix simple typo, otheriwse -> otherwise
 src 2025-02-04 Ulya Trofimovich Ulya Trofimovich [6c0d89] Allow escaped double quote in the generic lexer...
 test 2025-02-05 Ulya Trofimovich Ulya Trofimovich [ba3185] Zig backend: use `const` for `yych` declaration...
 .gitattributes 2024-04-19 Ulya Trofimovich Ulya Trofimovich [197ff0] Move and rename backend specific tests.
 .gitignore 2023-04-25 helly25 helly25 [3205c8] Provide a min viable http://bazel.build integra...
 .gitmodules 2024-12-11 Ulya Trofimovich Ulya Trofimovich [4d5f6d] Restructure benchmark layout (prepare to add ne...
 .travis.yml 2021-07-25 Ulya Trofimovich Ulya Trofimovich [477f35] Travis CI: use Ubuntu 20.04 (Focal Fossa) to ha...
 BUILD.bazel 2025-02-01 Gregg Reynolds Gregg Reynolds [7c5eac] support WORKSPACE; use lastest skylib
 BUILD.md 2025-01-21 Ulya Trofimovich Ulya Trofimovich [5a9be3] BUILD.md: add a list of prebuilt packages on Re...
 CHANGELOG 2025-02-15 Ulya Trofimovich Ulya Trofimovich [ee033a] Update CHANGELOG for release 4.1 (plus a small ...
 CMakeLists.txt 2025-02-16 Ulya Trofimovich Ulya Trofimovich [8baaca] Release 4.1.
 CMakePresets.json 2024-07-24 Ulya Trofimovich Ulya Trofimovich [29d5c8] Update GitHub Actions config and CMake presets ...
 CONTRIBUTING.md 2024-09-26 Ulya Trofimovich Ulya Trofimovich [db1a4d] Update CONTRIBUTING.md.
 IDEAS.md 2024-02-25 Sergei Trofimovich Sergei Trofimovich [0fe50b] IDEAS.md: fix typo s/inforamtion/information/
 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.
 MODULE.bazel 2025-02-01 Gregg Reynolds Gregg Reynolds [7c5eac] support WORKSPACE; use lastest skylib
 Makefile.am 2025-02-14 Ulya Trofimovich Ulya Trofimovich [d3db8a] Update docs (add description of actions).
 Makefile.lib.am 2024-12-11 Ulya Trofimovich Ulya Trofimovich [4d5f6d] Restructure benchmark layout (prepare to add ne...
 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 2025-02-01 Gregg Reynolds Gregg Reynolds [7c5eac] support WORKSPACE; use lastest skylib
 WORKSPACE.bzlmod 2025-02-01 Gregg Reynolds Gregg Reynolds [7c5eac] support WORKSPACE; use lastest skylib
 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 2025-02-16 Ulya Trofimovich Ulya Trofimovich [8baaca] Release 4.1.
 release.sh 2024-11-19 Ulya Trofimovich Ulya Trofimovich [b8a4cd] Release 4.0.
 run_tests.py.in 2024-07-21 Ulya Trofimovich Ulya Trofimovich [bf61e0] Always apply default syntax file, but allow ove...
 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.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.