<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Acknowledgments</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
<link rel="home" href="../index.html" title="Spirit 2.4.1">
<link rel="up" href="../index.html" title="Spirit 2.4.1">
<link rel="prev" href="repository.html" title="Spirit Repository">
<link rel="next" href="references.html" title="References">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
<td align="center"><a href="../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="repository.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="references.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="spirit.acknowledgments"></a><a class="link" href="acknowledgments.html" title="Acknowledgments">Acknowledgments</a>
</h2></div></div></div>
<p>
      This version of Spirit is a complete rewrite of the <span class="emphasis"><em>classic</em></span>
      Spirit many people have been contributing to (see below). But there are a couple
      of people who already managed to help significantly during this rewrite. We
      would like to express our special acknowledgement to:
    </p>
<p>
      <span class="bold"><strong>Eric Niebler</strong></span> for writing Boost.Proto, without
      which this rewrite wouldn't have been possible, and helping with examples,
      advice, and suggestions on how to use Boost.Proto in the best possible way.
    </p>
<p>
      <span class="bold"><strong>Ben Hanson</strong></span> for providing us with an early
      version of his <a href="http://www.benhanson.net/lexertl.html" target="_top">Lexertl</a>
      library, which is proposed to be included into Boost (as Boost.Lexer). At the
      time of this writing the Boost review for this library is still pending.
    </p>
<p>
      <span class="bold"><strong>Francois Barel</strong></span> for his silent but steady work
      on making and keeping Spirit compatible with all versions of gcc, older and
      newest ones. He not only contributed subrules to Spirit V2.1, but always keeps
      an eye on the small details which are so important to make a difference.
    </p>
<p>
      <span class="bold"><strong>Andreas Haberstroh</strong></span> for proof reading the documentation
      and fixing those non-native-speaker-quirks we managed to introduce into the
      first versions of the documentation.
    </p>
<p>
      <span class="bold"><strong>Chris Hoeppler</strong></span> for taking up the editorial
      tasks for the initial version of this documentation together with Andreas Haberstroh.
      Chris did a lot especially at the last minute when we are about to release.
    </p>
<p>
      <span class="bold"><strong>Michael Caisse</strong></span> also for last minute editing
      work on the 2.1 release documentation.
    </p>
<p>
      <span class="bold"><strong>Tobias Schwinger</strong></span> for proposing expectation
      points and GCC port of an early version.
    </p>
<p>
      <span class="bold"><strong>Dave Abrahams</strong></span> as always, for countless advice
      and help on C++, library development, interfaces, usability and ease of use,
      for reviewing the code and providing valuable feedback and for always keeping
      us on our toes.
    </p>
<p>
      <span class="bold"><strong>OvermindDL</strong></span> for his creative ideas on the mailing
      list helping to resolve even more difficult user problems.
    </p>
<p>
      <span class="bold"><strong>Carl Barron</strong></span> for his early adoption and valuable
      feedback on the Lexer library forcing us to design a proper API covering all
      of his use cases. He also contributed an early version of the variadic attribute
      API for Qi.
    </p>
<p>
      <span class="bold"><strong>Daniel James</strong></span> for improving and maintaining
      Quickbook, the tool we use for this documentation. Also, for bits and pieces
      here and there such documentation suggestions and editorial patches.
    </p>
<p>
      <span class="bold"><strong>Stephan Menzel</strong></span> for his early adoption of Qi
      and Karma and his willingness to invest time to spot bugs which were hard to
      isolate. Also, for his feedback on the documentation.
    </p>
<p>
      <span class="bold"><strong>Ray Burkholder</strong></span> and <span class="bold"><strong>Dainis
      Polis</strong></span> for last minute feedback on the documentation.
    </p>
<p>
      <span class="bold"><strong>Steve Brandt</strong></span> for his his effort trying to
      put Qi and Karma to some use while writing a source to source language transformation
      tool. He made many incredible suggestions helping to improve the usability
      of both libraries.
    </p>
<p>
      Special thanks to spirit-devel and spirit-general mailing lists for participating
      in the discussions, being early adopters of pre-release versions of Spirit2
      from the very start and helping out in various tasks such as helping with support,
      bug tracking, benchmarking and testing, etc. The list include: <span class="bold"><strong>Larry
      Evans</strong></span>, <span class="bold"><strong>Richard Webb</strong></span>, <span class="bold"><strong>Martin Wille</strong></span>, <span class="bold"><strong>Dan Marsden</strong></span>,
      <span class="bold"><strong>Cedric Venet</strong></span>, <span class="bold"><strong>Allan
      Odgaard</strong></span>, <span class="bold"><strong>Matthias Vallentin</strong></span>, <span class="bold"><strong>Justinas V.D.</strong></span>, <span class="bold"><strong>Darid Tromer</strong></span>.
    </p>
<p>
      <span class="bold"><strong>Joao Abecasis</strong></span> for his early support and involvement
      in Spirit2 development and for disturbing my peace every once in a while for
      a couple of jokes.
    </p>
<p>
      The list goes on and on... if you've been mentioned thank Joel and Hartmut,
      if not, kick Joao :-)
    </p>
<a name="spirit.acknowledgments.acknowledgements_from_the_spirit_v1__emphasis_classic__emphasis__documentation"></a><h4>
<a name="id1222491"></a>
      <a class="link" href="acknowledgments.html#spirit.acknowledgments.acknowledgements_from_the_spirit_v1__emphasis_classic__emphasis__documentation">Acknowledgements
      from the Spirit V1 <span class="emphasis"><em>classic</em></span> Documentation</a>
    </h4>
<p>
      Special thanks for working on Spirit <span class="emphasis"><em>classic</em></span> to:
    </p>
<p>
      <span class="bold"><strong>Dan Nuffer</strong></span> for his work on lexers, parse trees,
      ASTs, XML parsers, the multi-pass iterator as well as administering Spirit's
      site, editing, maintaining the CVS and doing the releases plus a zillion of
      other chores that were almost taken for granted.
    </p>
<p>
      <span class="bold"><strong>Hartmut Kaiser</strong></span> for his work on the C parser,
      the work on the C/C++ preprocessor, utility parsers, the original port to Intel
      5.0, various work on Phoenix, porting to v1.5, the meta-parsers, the grouping-parsers,
      extensive testing and painstaking attention to details.
    </p>
<p>
      <span class="bold"><strong>Martin Wille</strong></span> who improved grammar multi thread
      safety, contributed the eol_p parser, the dynamic parsers, documentation and
      for taking an active role in almost every aspect from brainstorming and design
      to coding. And, as always, helps keep the regression tests for g++ on Linux
      as green as ever :-).
    </p>
<p>
      <span class="bold"><strong>Martijn W. Van Der Lee</strong></span> our Web site administrator
      and for contributing the RFC821 parser.
    </p>
<p>
      <span class="bold"><strong>Giovanni Bajo</strong></span> for last minute tweaks of Spirit
      1.8.0 for CodeWarrior 8.3. Actually, I'm ashamed Giovanni was not in this list
      already. He's done a lot since Spirit 1.5, the first Boost.Spirit release.
      He's instrumental in the porting of the Spirit iterators stuff to the new Boost
      Iterators Library (version 2). He also did various bug fixes and wrote some
      tests here and there.
    </p>
<p>
      <span class="bold"><strong>Juan Carlos Arevalo-Baeza (JCAB)*</strong></span> for his
      work on the C++ parser, the position iterator, ports to v1.5 and keeping the
      mailing list discussions alive and kicking.
    </p>
<p>
      <span class="bold"><strong>Vaclav Vesely</strong></span>, lots of stuff, the no_actions
      directive, various patches fixes, the distinct parsers, the lazy parser, some
      phoenix tweaks and add-ons (e.g. new_). Also, *Stefan Slapeta] and wife for
      editing Vaclav's distinct parser doc.
    </p>
<p>
      <span class="bold"><strong>Raghavendra Satish</strong></span> for doing the original
      v1.3 port to VC++ and his work on Phoenix.
    </p>
<p>
      <span class="bold"><strong>Noah Stein</strong></span> for following up and helping Ragav
      on the VC++ ports.
    </p>
<p>
      <span class="bold"><strong>Hakki Dogusan</strong></span>, for his original v1.0 Pascal
      parser.
    </p>
<p>
      <span class="bold"><strong>John (EBo) David</strong></span> for his work on the VM and
      watching over my shoulder as I code giving the impression of distance eXtreme
      programming.
    </p>
<p>
      <span class="bold"><strong>Chris Uzdavinis</strong></span> for feeding in comments and
      valuable suggestions as well as editing the documentation.
    </p>
<p>
      <span class="bold"><strong>Carsten Stoll</strong></span>, for his work on dynamic parsers.
    </p>
<p>
      <span class="bold"><strong>Andy Elvey</strong></span> and his conifer parser.
    </p>
<p>
      <span class="bold"><strong>Bruce Florman</strong></span>, who did the original v1.0 port
      to VC++.
    </p>
<p>
      <span class="bold"><strong>Jeff Westfahl</strong></span> for porting the loop parsers
      to v1.5 and contributing the file iterator.
    </p>
<p>
      <span class="bold"><strong>Peter Simons</strong></span> for the RFC date parser example
      and tutorial plus helping out with some nitty gritty details.
    </p>
<p>
      <span class="bold"><strong>Markus Sch&#246;pflin</strong></span> for suggesting the end_p parser
      and lots of other nifty things and his active presence in the mailing list.
    </p>
<p>
      <span class="bold"><strong>Doug Gregor</strong></span> for mentoring and his ability
      to see things that others don't.
    </p>
<p>
      <span class="bold"><strong>David Abrahams</strong></span> for giving Joel a job that
      allows him to still work on Spirit, plus countless advice and help on C++ and
      specifically template metaprogramming.
    </p>
<p>
      <span class="bold"><strong>Aleksey Gurtovoy</strong></span> for his MPL library from
      which we stole many metaprogramming tricks especially for less conforming compilers
      such as Borland and VC6/7.
    </p>
<p>
      <span class="bold"><strong>Gustavo Guerra</strong></span> for his last minute review
      of Spirit and constant feedback, plus patches here and there (e.g. proposing
      the new dot behavior of the real numerics parsers).
    </p>
<p>
      <span class="bold"><strong>Nicola Musatti</strong></span>, <span class="bold"><strong>Paul
      Snively</strong></span>, <span class="bold"><strong>Alisdair Meredith</strong></span> and
      <span class="bold"><strong>Hugo Duncan</strong></span> for testing and sending in various
      patches.
    </p>
<p>
      <span class="bold"><strong>Steve Rowe</strong></span> for his splendid work on the TSTs
      that will soon be taken into Spirit.
    </p>
<p>
      <span class="bold"><strong>Jonathan de Halleux</strong></span> for his work on actors.
    </p>
<p>
      <span class="bold"><strong>Angus Leeming</strong></span> for last minute editing work
      on the 1.8.0 release documentation, his work on Phoenix and his active presence
      in the Spirit mailing list.
    </p>
<p>
      <span class="bold"><strong>Joao Abecasis</strong></span> for his active presence in the
      Spirit mailing list, providing user support, participating in the discussions
      and so on.
    </p>
<p>
      <span class="bold"><strong>Guillaume Melquiond</strong></span> for a last minute patch
      to multi_pass for 1.8.1.
    </p>
<p>
      <span class="bold"><strong>Peder Holt</strong></span> for his porting work on Phoenix,
      Fusion and Spirit to VC6.
    </p>
<p>
      To Joel's wife Mariel who did the graphics in this document.
    </p>
<p>
      My, there's a lot in this list! And it's a continuing list. We add people to
      this list every time. We hope we did not forget anyone. If we missed someone
      you know who has helped in any way, please inform us.
    </p>
<p>
      Special thanks also to people who gave feedback and valuable comments, particularly
      members of Boost and Spirit mailing lists. This includes all those who participated
      in the review:
    </p>
<p>
      <span class="bold"><strong>John Maddock</strong></span>, our review manager, <span class="bold"><strong>Aleksey Gurtovoy</strong></span>, <span class="bold"><strong>Andre Hentz</strong></span>,
      <span class="bold"><strong>Beman Dawes</strong></span>, <span class="bold"><strong>Carl Daniel</strong></span>,
      <span class="bold"><strong>Christopher Currie</strong></span>, <span class="bold"><strong>Dan
      Gohman</strong></span>, <span class="bold"><strong>Dan Nuffer</strong></span>, <span class="bold"><strong>Daryle
      Walker</strong></span>, <span class="bold"><strong>David Abrahams</strong></span>, <span class="bold"><strong>David B. Held</strong></span>, <span class="bold"><strong>Dirk Gerrits</strong></span>,
      <span class="bold"><strong>Douglas Gregor</strong></span>, <span class="bold"><strong>Hartmut
      Kaiser</strong></span>, <span class="bold"><strong>Iain K.Hanson</strong></span>, <span class="bold"><strong>Juan Carlos Arevalo-Baeza</strong></span>, <span class="bold"><strong>Larry
      Evans</strong></span>, <span class="bold"><strong>Martin Wille</strong></span>, <span class="bold"><strong>Mattias Flodin</strong></span>, <span class="bold"><strong>Noah Stein</strong></span>,
      <span class="bold"><strong>Nuno Lucas</strong></span>, <span class="bold"><strong>Peter Dimov</strong></span>,
      <span class="bold"><strong>Peter Simons</strong></span>, <span class="bold"><strong>Petr Kocmid</strong></span>,
      <span class="bold"><strong>Ross Smith</strong></span>, <span class="bold"><strong>Scott Kirkwood</strong></span>,
      <span class="bold"><strong>Steve Cleary</strong></span>, <span class="bold"><strong>Thorsten
      Ottosen</strong></span>, <span class="bold"><strong>Tom Wenisch</strong></span>, <span class="bold"><strong>Vladimir Prus</strong></span>
    </p>
<p>
      Finally thanks to SourceForge for hosting the Spirit project and Boost: a C++
      community comprised of extremely talented library authors who participate in
      the discussion and peer review of well crafted C++ libraries.
    </p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2001-2010 Joel de Guzman, Hartmut Kaiser<p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
      </p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="repository.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="references.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
