The end | ![]() |
![]() |
![]() |
![]() |
I set out to write these pages for those interested in using some of Spirit's (and Phoenix's) more advanced tools in their own code. However, it quickly became clear that describing the tools themselves wouldn't help anyone very much. After all, that's exactly what I started out with — the Spirit and Phoenix documentation. That's not to say that this documentation isn't any good; it is. However, after reading it, I found that I had little feel for the power of closures, lambda functions, lazy functions and the functor parser and no idea at all that they would simplify the process of writing some real code.
What I have ended up writing here is probably a mish-mash. Nonetheless, I have tried to convey the idea that the hard part to writing YAC was figuring out the logical steps that need to be taken. I hope I've showed that, thereafter, the Spirit and Phoenix libraries make it simple to translate this logic into code. They allow the code writer to concentrate on the bigger picture and, as such, they're great.
I have asked an interminable number of questions on the Spirit users' mailing list, (archived here) over the last month or so and received an enormous amount of useful advice. In particular, I'd like to thank Joel de Guzman, Joćo Abecasis, Bryan Ross, Hartmut Kaiser, Martin Wille, Alex Rousskov and Carl Barron who have all kept me on the right track. Thanks, guys!
Needless to say, YAC wouldn't exist without Spirit, a truly fabulous library. However, Joel de Guzman also wrote the QuickDoc utility that I used to write this document. I hacked the original source (here's the patch) to output the valid XHTML 1.1 code you're now reading, but the original already did a great job. Thank you, Joel!
Angus Leeming
10th March, 2004
![]() |
![]() |
![]() |
Copyright © 2004 Angus Leeming
Distributed under the Boost Software License,
Version 1.0. (See accompanying file
LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt
)