|
Boost-Commit : |
From: hartmut.kaiser_at_[hidden]
Date: 2008-04-20 22:04:07
Author: hkaiser
Date: 2008-04-20 22:04:06 EDT (Sun, 20 Apr 2008)
New Revision: 44672
URL: http://svn.boost.org/trac/boost/changeset/44672
Log:
Spirit.Lex: pending commits, fixed static lexer.
Text files modified:
trunk/boost/spirit/home/lex/lexer/lexertl/lexertl_functor.hpp | 2 +-
trunk/boost/spirit/home/lex/lexer/lexertl/lexertl_static_functor.hpp | 7 ++++++-
trunk/boost/spirit/home/lex/lexer/lexertl/lexertl_static_lexer.hpp | 4 ++++
trunk/boost/spirit/home/support/iterators/detail/combine_policies.hpp | 2 +-
trunk/boost/spirit/home/support/iterators/detail/split_functor_input_policy.hpp | 1 -
5 files changed, 12 insertions(+), 4 deletions(-)
Modified: trunk/boost/spirit/home/lex/lexer/lexertl/lexertl_functor.hpp
==============================================================================
--- trunk/boost/spirit/home/lex/lexer/lexertl/lexertl_functor.hpp (original)
+++ trunk/boost/spirit/home/lex/lexer/lexertl/lexertl_functor.hpp 2008-04-20 22:04:06 EDT (Sun, 20 Apr 2008)
@@ -352,7 +352,7 @@
return mp.shared->ftor.rules.state(statename);
}
- // we don't need this
+ // we don't need this, but it must be there
template <typename MultiPass>
static void destroy(MultiPass const& mp)
{}
Modified: trunk/boost/spirit/home/lex/lexer/lexertl/lexertl_static_functor.hpp
==============================================================================
--- trunk/boost/spirit/home/lex/lexer/lexertl/lexertl_static_functor.hpp (original)
+++ trunk/boost/spirit/home/lex/lexer/lexertl/lexertl_static_functor.hpp 2008-04-20 22:04:06 EDT (Sun, 20 Apr 2008)
@@ -257,7 +257,7 @@
///////////////////////////////////////////////////////////////////////
template <typename MultiPass>
- result_type& operator()(MultiPass& mp, result_type& result)
+ static result_type& get_next(MultiPass& mp, result_type& result)
{
shared& data = mp.shared->ftor;
if (data.first == data.last)
@@ -342,6 +342,11 @@
{
return mp.shared->ftor.rules.state(statename);
}
+
+ // we don't need this, but it must be there
+ template <typename MultiPass>
+ static void destroy(MultiPass const& mp)
+ {}
};
#if defined(BOOST_SPIRIT_STATIC_EOF)
Modified: trunk/boost/spirit/home/lex/lexer/lexertl/lexertl_static_lexer.hpp
==============================================================================
--- trunk/boost/spirit/home/lex/lexer/lexertl/lexertl_static_lexer.hpp (original)
+++ trunk/boost/spirit/home/lex/lexer/lexertl/lexertl_static_lexer.hpp 2008-04-20 22:04:06 EDT (Sun, 20 Apr 2008)
@@ -69,6 +69,9 @@
typedef std::basic_string<char_type> string_type;
public:
+ typedef Token token_type;
+ typedef typename Token::id_type id_type;
+
// interface for token definition management
void add_token (char_type const* state, string_type const& tokendef,
std::size_t token_id)
@@ -167,6 +170,7 @@
// Every lexer type to be used as a lexer for Spirit has to conform to
// a public interface
typedef Token token_type;
+ typedef typename Token::id_type id_type;
typedef TokenSet token_set;
typedef lexertl_iterator<Functor> iterator_type;
Modified: trunk/boost/spirit/home/support/iterators/detail/combine_policies.hpp
==============================================================================
--- trunk/boost/spirit/home/support/iterators/detail/combine_policies.hpp (original)
+++ trunk/boost/spirit/home/support/iterators/detail/combine_policies.hpp 2008-04-20 22:04:06 EDT (Sun, 20 Apr 2008)
@@ -414,7 +414,7 @@
// multi_pass template, combining 4 separate policies into one. Any other
// multi_pass policy class needs to follow the scheme as shown below.
template<
- typename Input, typename Ownership, typename Checking,
+ typename Ownership, typename Checking, typename Input,
typename Storage
>
struct default_policy
Modified: trunk/boost/spirit/home/support/iterators/detail/split_functor_input_policy.hpp
==============================================================================
--- trunk/boost/spirit/home/support/iterators/detail/split_functor_input_policy.hpp (original)
+++ trunk/boost/spirit/home/support/iterators/detail/split_functor_input_policy.hpp 2008-04-20 22:04:06 EDT (Sun, 20 Apr 2008)
@@ -154,7 +154,6 @@
return ftor;
}
- protected:
mutable functor_type ftor;
};
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