Previous: C++ Scanner Interface, Up: C++ Parsers [Contents][Index]
This section demonstrates the use of a C++ parser with a simple but complete example. This example should be available on your system, ready to compile, in the directory .../bison/examples/calc++. It focuses on the use of Bison, therefore the design of the various C++ classes is very naive: no accessors, no encapsulation of members etc. We will use a Lex scanner, and more precisely, a Flex scanner, to demonstrate the various interactions. A hand-written scanner is actually easier to interface with.
• Calc++ --- C++ Calculator: | The specifications | |
• Calc++ Parsing Driver: | An active parsing context | |
• Calc++ Parser: | A parser class | |
• Calc++ Scanner: | A pure C++ Flex scanner | |
• Calc++ Top Level: | Conducting the band |