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.

Andrei Alexandrescu for allowing to use his flex_string class, a policy based std::basic_string<> compatible string implementation.

Reece Dunn, Vesa Karvonen, Faisal Vali and Porter Schermerhorn for reporting several problems and bugs.

Tarmo Pikaro for reporting several bug while compiling specific headers from the Microsoft Windows SDK.

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.


Last updated: Monday, January 5, 2004 14:57