Projects / Flexc++


Flexc++ is a tool for generating scanners based on regular expressions. Flexc++ is highly comparable to the programs flex and flex++. The goal was to create a similar program, but to implement it completely in C++. Most flex and flex++ grammars should be usable with flexc++ with minor adjustments.

Operating Systems

Recent releases

  •  02 Mar 2010 21:59

    Release Notes: This release introduces repetition operators (e.g., a{2,10}), adds a couple of sections to the manual, and fixes a bug with hexadecimal characters.

    •  23 Feb 2010 08:47

      Release Notes: This release has exactly the same functionality as 0.4.0, but flex is no longer required to build flexc++. This means that you either need a previous version of flexc++ or the sources from the Web site that include the generated code for the scanner. If you want to build flexc++ from the repository without prior installation, you should checkout version 0.4.0 first. This version still requires flex to generate the scanner. After this step, version 0.4.1 can be built with flexc++ itself.

      •  21 Feb 2010 01:03

        Release Notes: Many changes were made in this release. The lex-skeleton was re-factored and many bugs were fixed. The less(n), more(), atBol(), and setBol() functions were implemented. Interactive scanning was fixed. The bugs with the lookahead operator were fixed as well, which required a large refactoring of lex().

        •  28 Apr 2009 19:13

          Release Notes: The main feature of this release is the major overhaul of the stream switching mechanism. It is now possible to provide your own class with extra information on streams, etc. Another new feature is that the {+} and {-} operators are now supported for character classes. A bug related to the lookahead operator is fixed. Please note that the default tool to build the project is now icmake.

          •  04 Apr 2009 21:31

            Release Notes: The man page now requires Yodl 2.14.0 or beyond. flexc++ is terminated on failure to open files. OFoldStream is used to write skeletons, providing neat, indented code. Flexc++ can now generate code inside a specifiable namespace. Warnings on patterns which cannot be matched state specific location. EOL-comments can now be used in the lexer specification. Simple actions can now contain multiline C-comments as well. Generated code can now also output to streams other than cout. A bug with lookahead was fixed.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.