Flex Bison C++ Template is a code template that can be used to integrate a Flex scanner and Bison parser pair into a modern C++ program. These two universal tools are very difficult to incorporate into a good C++ design. The template utilizes both Flex and Bison in C++ mode and their output are encapsulated into classes. Thus the lexer and parser become fully reentrant, and multiple distinct lexer-parser pairs can easily be linked into one binary. The code implements a simple infix-notation calculator as an example, which can be used as a starting-point for you to insert your grammar.
|Tags||Software Development Code Generators|
|Operating Systems||OS Independent|
Release Notes: A very subtle bug with the newly introduced virtual yywrap() function in the FlexLexer class was corrected. Depending on how the header was included, the class contained the virtual yywrap() function or not. These differing class declarations lead to very strange NULL pointer exceptions, because the different compiled objects assume different class memory layouts. Ultimately, the exprtest program always segfaulted.
Release Notes: This version solves compilation errors that occurred when no %union directive is used in the grammar. Furthermore, it fixes a problem with the new flex version 2.5.35.