Need help with re2c?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

skvadrik
577 Stars 112 Forks Other 2.7K Commits 29 Opened issues

Description

lexer generator for C, C++ and Go

Services available

!
?

Need anything else?

Contributors list

# 187,733
C
Haskell
Shell
1819 commits
# 10,483
PHP
phalcon
PHPUnit
Symfony
35 commits
# 55,457
Linux
gentoo
portage
agda
23 commits
# 597,483
C
C++
Shell
11 commits
# 77,636
atomic
Ada
Haxe
node
9 commits
# 195,125
Shell
z80
assembl...
sdcc
4 commits
# 60,996
hlsl
Linux
netflix
flex
4 commits
# 125,067
oltp
Lua
Postgre...
luajit
4 commits
# 739,093
C
C++
Shell
3 commits
# 261,715
Shell
gstream...
file-fo...
euler
2 commits
# 96,591
GitHub ...
epidemi...
Flutter
Firebas...
2 commits
# 72,149
python-...
jython
gentoo
portage
2 commits
# 661,981
C
C++
Shell
1 commit
# 111,336
Git
Common ...
Shell
Lisp
1 commit
# 57,322
Perl
Linux
macOS
express...
1 commit
# 159,061
Swift
Objecti...
typescr...
angular...
1 commit
# 534,919
Shell
OCaml
The Jul...
1 commit
# 20,173
Django
python-...
opal
Redis
1 commit
# 144,850
Perl
XML
hammers...
osx
1 commit
# 31,777
cython
fortran
compute...
sed
1 commit

DESCRIPTION

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

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

re2c has two build systems: Autotools and CMake. Both are maintained and tested on Travis CI. See the documentation for instructions how to build re2c.

FEEDBACK

Bugtracker:

  • https://github.com/skvadrik/re2c/issues

Mailing lists:

IRC channel:

  • freenode/#re2c

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

AUTHORS

Re2c was originally written by Peter Bumbulis [email protected]. Since then many people contributed to the project. The current maintainer is Ulya Trofimovich [email protected].

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.