|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r72466 - trunk/libs/spirit/example/qi/compiler_tutorial/conjure2
From: hartmut.kaiser_at_[hidden]
Date: 2011-06-07 08:51:01
Author: hkaiser
Date: 2011-06-07 08:51:00 EDT (Tue, 07 Jun 2011)
New Revision: 72466
URL: http://svn.boost.org/trac/boost/changeset/72466
Log:
Spirit: more comments
Text files modified:
trunk/libs/spirit/example/qi/compiler_tutorial/conjure2/lexer.hpp | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)
Modified: trunk/libs/spirit/example/qi/compiler_tutorial/conjure2/lexer.hpp
==============================================================================
--- trunk/libs/spirit/example/qi/compiler_tutorial/conjure2/lexer.hpp (original)
+++ trunk/libs/spirit/example/qi/compiler_tutorial/conjure2/lexer.hpp 2011-06-07 08:51:00 EDT (Tue, 07 Jun 2011)
@@ -28,8 +28,15 @@
template <typename BaseIterator>
struct get_lexer_type
{
+ // Our token needs to be able to carry several token values:
+ // std::string, unsigned int, and bool
typedef boost::mpl::vector<std::string, unsigned int, bool>
token_value_types;
+
+ // Using the position_token class as the token type to be returned
+ // from the lexer iterators allows to retain positional information
+ // as every token instance stores an iterator pair pointing to the
+ // matched input sequence.
typedef lex::lexertl::position_token<
BaseIterator, token_value_types, boost::mpl::false_
> token_type;
@@ -44,7 +51,7 @@
, boost::spirit::lex::lexertl::static_::lexer_conjure_static
> type;
#elif CONJURE_LEXER_STATIC_SWITCH != 0
- // use the lexer based on pre-generated static DFA tables
+ // use the lexer based on pre-generated static code
typedef lex::lexertl::static_actor_lexer<
token_type
, boost::spirit::lex::lexertl::static_::lexer_conjure_static_switch
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