Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r66742 - trunk/libs/spirit/doc
From: hartmut.kaiser_at_[hidden]
Date: 2010-11-24 19:00:16


Author: hkaiser
Date: 2010-11-24 19:00:15 EST (Wed, 24 Nov 2010)
New Revision: 66742
URL: http://svn.boost.org/trac/boost/changeset/66742

Log:
Spirit: doc updates
Text files modified:
   trunk/libs/spirit/doc/spirit2.qbk | 4 ++--
   trunk/libs/spirit/doc/what_s_new.qbk | 34 ++++++++++++++++++++++++++++++++++
   2 files changed, 36 insertions(+), 2 deletions(-)

Modified: trunk/libs/spirit/doc/spirit2.qbk
==============================================================================
--- trunk/libs/spirit/doc/spirit2.qbk (original)
+++ trunk/libs/spirit/doc/spirit2.qbk 2010-11-24 19:00:15 EST (Wed, 24 Nov 2010)
@@ -8,7 +8,7 @@
 
 [article Spirit
     [quickbook 1.4]
- [version 2.4.1]
+ [version 2.4.2]
     [authors [de Guzman, Joel], [Kaiser, Hartmut]]
     [copyright 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 Joel de Guzman, Hartmut Kaiser]
     [/ purpose Parser and Generator Library]
@@ -397,7 +397,7 @@
 [/ Here we go ]
 
 This is the documentation of the newest version of __spirit__ (currently,
-V2.4.1). If you're looking for the documentation of Spirit's previous version
+V2.4.2). If you're looking for the documentation of Spirit's previous version
 (formerly Spirit V1.8), see __classic__.
 
 [include preface.qbk]

Modified: trunk/libs/spirit/doc/what_s_new.qbk
==============================================================================
--- trunk/libs/spirit/doc/what_s_new.qbk (original)
+++ trunk/libs/spirit/doc/what_s_new.qbk 2010-11-24 19:00:15 EST (Wed, 24 Nov 2010)
@@ -9,6 +9,40 @@
 [section What's New]
 
 [/////////////////////////////////////////////////////////////////////////////]
+[section:spirit_2_4_2 Spirit V2.4.2]
+
+[heading What's changed in __qi__ and __karma__ from V2.4.1 (Boost V1.45.0) to V2.4.2 (Boost V1.46.0)]
+
+[heading Bug Fixes]
+
+ * Fixed a problem in the Lexer giving problems to assign tokens to all lexer
+ states at once. This is now possible by simply using "*" as the state name.
+ For instance this will add the token int_ to all lexer states:
+``
+ template <typename Lexer>
+ struct lexer : lex::lexer<Lexer>
+ {
+ lexer()
+ {
+ int_ = "[1-9][0-9]*";
+ this->self("*") = int_;
+ }
+ lex::token_def<int> int_;
+ };
+``
+ Note: the `self("*") = ...` must be executed after all lexer states have
+ been introduced to the lexer object.
+ * Fixed lexer lookahead. The lookahead operation is now evaluated using the
+ lexer state the `token_def` instance used as its argument is associated
+ with.
+ * Fixed a problem in the `multi_pass` iterator causing wrong tokens to be
+ returned to the user. This could happen in conjunction with a lexer which
+ performed lexer state changes and was using `pass_fail` in semantic actions
+ to make a token match fail.
+
+[endsect] [/ spirit_2_4_2]
+
+[/////////////////////////////////////////////////////////////////////////////]
 [section:spirit_2_4_1 Spirit V2.4.1]
 
 [heading What's changed in __qi__ and __karma__ from V2.4 (Boost V1.44.0) to V2.4.1 (Boost V1.45.0)]


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk