Acknowledgements |
Special thanks to:
Paul Mensonides for his invaluable help while developing the macro expansion engine and his insightful tips. He developed the recursive macro expansion algorithm implemented herein and also contributed most of the small testcases used for testing the correctness of the macro expansion.
Dan Nuffer, who wrote the initial Re2C based C++ lexer and the Slex (Spirit Lex) scanner generator sample.
Martin Wille for helping with the port to linux and for contributing the automated test scripts.
Vladimir Prus for helping with the command line and config file options analysis fro the Wave driver executable.
Juan Carlos Arevalo-Baeza, who wrote the Spirit cpp_lexer sample, from which are taken some ideas.
and last but not least
Joel de Guzman for nudging me into this adventure and for his work on the Spirit parser framework, without which the Wave library wouldn't have been possible.
The Wave library uses the following Boost [8] libraries:
Boost Spirit (LL parser framework that represents parsers directly as EBNF grammars in inlined C++)
Boost Iterator Adaptor Library (Adapt a base type into a standard conforming iterator)
Boost Filesystem Library (Portable paths, iteration over directories, and other useful filesystem operations)
Program options and arguments library (currently under Boost review)
and other small parts of different Boost libraries.
Copyright © 2003 Hartmut Kaiser
Permission to copy, use, modify, sell and distribute this document
is granted provided this copyright notice appears in all copies. This document
is provided "as is" without express or implied warranty, and with
no claim as to its suitability for any purpose.