token #0: &
token #1: &&
token #2: =
token #3: &=
token #4: \|
token #5: \|=
token #6: ^
token #7: ^=
token #8: ,
token #9: :
token #10: \/
token #11: \/=
token #12: \.
token #13: \.\*
token #14: \.\.\.
token #15: ==
token #16: >
token #17: >=
token #18: \{
token #19: <
token #20: <=
token #21: \(
token #22: \[
token #23: \-
token #24: \-=
token #25: \-\-
token #26: \%
token #27: \%=
token #28: !
token #29: !=
token #30: \|\|
token #31: \+
token #32: \+=
token #33: \+\+
token #34: \->
token #35: \->\*
token #36: \?
token #37: \}
token #38: \)
token #39: \]
token #40: ::
token #41: ;
token #42: \<\<
token #43: \<\<=
token #44: \>\>
token #45: \>\>=
token #46: \*
token #47: \~
token #48: \*=
token #49: asm
token #50: auto
token #51: bool
token #52: false
token #53: true
token #54: break
token #55: case
token #56: catch
token #57: char
token #58: class
token #59: const
token #60: const_cast
token #61: continue
token #62: default
token #63: defined
token #64: delete
token #65: do
token #66: double
token #67: dynamic_cast
token #68: else
token #69: enum
token #70: explicit
token #71: extern
token #72: float
token #73: for
token #74: friend
token #75: goto
token #76: if
token #77: inline
token #78: int
token #79: long
token #80: mutable
token #81: namespace
token #82: new
token #83: operator
token #84: private
token #85: protected
token #86: public
token #87: register
token #88: reinterpret_cast
token #89: return
token #90: short
token #91: signed
token #92: sizeof
token #93: static
token #94: static_cast
token #95: struct
token #96: switch
token #97: template
token #98: this
token #99: throw
token #100: try
token #101: typedef
token #102: typeid
token #103: typename
token #104: union
token #105: unsigned
token #106: using
token #107: virtual
token #108: void
token #109: volatile
token #110: wchar_t
token #111: while
token #112: define
token #113: ifdef
token #114: ifndef
token #115: elif
token #116: else
token #117: endif
token #118: error
token #119: include
token #120: line
token #121: pragma
token #122: undef
token #123: [a-zA-Z_][a-zA-Z0-9_]*
token #124: 0[0-7]*([uU][lL]|[lL][uU])?
token #125: [1-9][0-9]*([uU][lL]|[lL][uU])?
token #126: (0x|0X)[0-9a-fA-F]+([uU][lL]|[lL][uU])?
token #127: ([0-9]+\.[0-9]*|[0-9]*\.[0-9]+)([eE]([\-\+])?[0-9]+)?([fF][lL]|[lL][fF])?
token #128: [0-9]+[eE]([\-\+])?[0-9]+([fF][lL]|[lL][fF])?
token #129: \/\*([^*\n]*|\*+[^*/\n]*|\n)*\*\/
token #130: \/\/.*
token #131: '([^\\']|\\.)*'
token #132: \"([^\\"]|\\.)*\"
token #133: \\\n
token #134: [\t\ ]+
token #135: \12|\xd|\xd\12
token #136: ##
token #137: #
token #138: .
testing string: /*=============================================================================
    Lexer

    Spirit V1.2
    Copyright (c) 2001, Daniel C. Nuffer

    This software is provided 'as-is', without any express or implied
    warranty. In no event will the copyright holder be held liable for
    any damages arising from the use of this software.

    Permission is granted to anyone to use this software for any purpose,
    including commercial applications, and to alter it and redistribute
    it freely, subject to the following restrictions:

    1.  The origin of this software must not be misrepresented; you must
        not claim that you wrote the original software. If you use this
        software in a product, an acknowledgment in the product documentation
        would be appreciated but is not required.

    2.  Altered source versions must be plainly marked as such, and must
        not be misrepresented as being the original software.

    3.  This notice may not be removed or altered from any source
        distribution.

    Acknowledgements:

        Special thanks to Dan Nuffer, John (EBo) David, Chris Uzdavinis,
        and Doug Gregor. These people are most instrumental in steering
        Spirit in the right direction.

        Special thanks also to people who have contributed to the code base
        and sample code, ported Spirit to various platforms and compilers,
        gave suggestions, reported and provided bug fixes. Alexander
        Hirner, Andy Elvey, Bogdan Kushnir, Brett Calcott, Bruce Florman,
        Changzhe Han, Colin McPhail, Hakki Dogusan, Jan Bares, Joseph
        Smith, Martijn W. van der Lee, Raghavendra Satish, Remi Delcos, Tom
        Spilman, Vladimir Prus, W. Scott Dillman, David A. Greene, Bob
        Bailey, Hartmut Kaiser.

        Finally special thanks also to people who gave feedback and
        valuable comments, particularly members of Spirit's Source Forge
        mailing list and boost.org.

    URL: http://spirit.sourceforge.net/


    TODO List:
        create regression test suite.
        complete existing regex functionality.
        refactor createdfa() and make_ccl class.
        callback objects (called when a match is made.)
        lexer states.
        beginning/ending contexts.
        ^ and $
        DFA minimization.
        DFA table compression.
        DFA serialization to save recomputing the DFA.

=============================================================================*/
#ifndef BOOST_SPIRIT_LEXER_HPP
#define BOOST_SPIRIT_LEXER_HPP

///////////////////////////////////////////////////////////////////////////////
#include <set>
#include <map>
#include <stack>
#include <utility> // for pair
#ifdef BOOST_SPIRIT_DEBUG
#include <iostream>
#endif

///////////////////////////////////////////////////////////////////////////////
namespace spirit
{

typedef unsigned char uchar;
typedef unsigned int node_id_t;
static node_id_t invalid_node = node_id_t(-1);
typedef std::set<node_id_t> node_set;
typedef std::vector<uchar> uchar_vector;
typedef std::map<node_id_t, node_set> followpos_t;
typedef std::vector<uchar_vector> state_match_t;
typedef std::pair<std::vector<std::vector<node_id_t> >, 
                  std::vector<node_id_t> > dfa_t;

class bad_regex : public std::exception
{
};

namespace lexerimpl
{

class node
{
public:

    virtual ~node() {}

    virtual node* clone() const = 0;
    virtual bool nullable() const = 0;
    virtual node_set firstpos() const = 0;
    virtual node_set lastpos() const = 0;
    virtual void compute_followpos(followpos_t& followpos) const = 0;
    virtual void compute_state_match(state_match_t& state_match) const = 0;
    virtual void get_eof_ids(node_set& eof_set) const = 0;
#ifdef BOOST_SPIRIT_DEBUG
    virtual void dump(std::ostream& out) const = 0;
#endif

    static node_id_t leaf_count;
};

class char_node : public node
{

public:

	char_node(const uchar c);
    char_node(const char_node& x);
    virtual ~char_node(){}

    virtual node* clone() const;
    virtual bool nullable() const;
    virtual node_set firstpos() const;
    virtual node_set lastpos() const;
    virtual void compute_followpos(followpos_t& followpos) const;
    virtual void compute_state_match(state_match_t& state_match ) const;
    virtual void get_eof_ids(node_set& eof_set) const;
#ifdef BOOST_SPIRIT_DEBUG
    virtual void dump(std::ostream& out) const;
#endif

private:

	uchar m_char;
    node_id_t m_node_num;
};

char_node::char_node(const uchar c)
    : node()
    , m_char(c)
    , m_node_num(node::leaf_count++)
{
}

char_node::char_node(const char_node& x)
    : node(x)
    , m_char(x.m_char)
    , m_node_num(node::leaf_count++)
{
}

node * 
char_node::clone() const
{
    return new char_node(*this);
}

bool 
char_node::nullable() const
{
    return false;
}

node_set 
char_node::firstpos() const
{
    node_set rval;
    rval.insert(m_node_num);
    return rval;
}

node_set 
char_node::lastpos() const
{
    return firstpos();
}

void 
char_node::compute_followpos(followpos_t&) const
{
    return;
}

void
char_node::compute_state_match(state_match_t& state_match) const
{
    if (state_match.size() < m_node_num + 1)
        state_match.resize(m_node_num + 1);
    state_match[m_node_num].resize(256);
    state_match[m_node_num][m_char] = 1;
}

void 
char_node::get_eof_ids(node_set&) const
{
    return;
}

#ifdef BOOST_SPIRIT_DEBUG
void 
char_node::dump(std::ostream& out) const
{
    out << "\nchar_node m_char = " << m_char;
    out << " m_node_num = " << m_node_num;
    out << " nullable() = " << (nullable() ? "true" : "false");
    out << " firstpos() = ";
    node_set fp = firstpos();
    std::copy(fp.begin(), fp.end(), 
            std::ostream_iterator<node_id_t>(out, ","));

    out << " lastpos() = ";
    node_set lp = lastpos();
    std::copy(lp.begin(), lp.end(), 
            std::ostream_iterator<node_id_t>(out, ","));
}
#endif


class epsilon_node : public node
{

public:

	epsilon_node();
    epsilon_node(const epsilon_node& x);
    virtual ~epsilon_node(){}

    virtual node* clone() const;
    virtual bool nullable() const;
    virtual node_set firstpos() const;
    virtual node_set lastpos() const;
    virtual void compute_followpos(followpos_t& followpos) const;
    virtual void compute_state_match(state_match_t& state_match ) const;
    virtual void get_eof_ids(node_set& eof_set) const;
#ifdef BOOST_SPIRIT_DEBUG
    virtual void dump(std::ostream& out) const;
#endif

private:

    node_id_t m_node_num;
};

inline
epsilon_node::epsilon_node()
    : node()
    , m_node_num(node::leaf_count++)
{
}

epsilon_node::epsilon_node(const epsilon_node& x)
    : node(x)
    , m_node_num(node::leaf_count++)
{
}

node * 
epsilon_node::clone() const
{
    return new epsilon_node(*this);
}

bool 
epsilon_node::nullable() const
{
    return true;
}

node_set 
epsilon_node::firstpos() const
{
    return node_set();
}

node_set 
epsilon_node::lastpos() const
{
    return node_set();
}

void 
epsilon_node::compute_followpos(followpos_t&) const
{
    return;
}

void
epsilon_node::compute_state_match(state_match_t& state_match) const
{
    if (state_match.size() < m_node_num + 1)
        state_match.resize(m_node_num + 1);
    state_match[m_node_num].resize(256, 1);
}

void 
epsilon_node::get_eof_ids(node_set&) const
{
    return;
}

#ifdef BOOST_SPIRIT_DEBUG
void 
epsilon_node::dump(std::ostream& out) const
{
    out << "\nepsilon_node";
    out << " m_node_num = " << m_node_num;
    out << " nullable() = " << (nullable() ? "true" : "false");
    out << " firstpos() = ";
    node_set fp = firstpos();
    std::copy(fp.begin(), fp.end(), 
            std::ostream_iterator<node_id_t>(out, ","));

    out << " lastpos() = ";
    node_set lp = lastpos();
    std::copy(lp.begin(), lp.end(), 
            std::ostream_iterator<node_id_t>(out, ","));
}
#endif


class or_node : public node
{

public:

	or_node(const node * left, const node * right);
    or_node(const or_node& x);
    virtual ~or_node(){}

    virtual node* clone() const;
    virtual bool nullable() const;
    virtual node_set firstpos() const;
    virtual node_set lastpos() const;
    virtual void compute_followpos(followpos_t& followpos) const;
    virtual void compute_state_match(state_match_t& state_match ) const;
    virtual void get_eof_ids(node_set& eof_set) const;
#ifdef BOOST_SPIRIT_DEBUG
    virtual void dump(std::ostream& out) const;
#endif

private:

    std::auto_ptr<const node > m_left;
    std::auto_ptr<const node > m_right;	
};

inline
or_node::or_node(const node * left, const node * right)
    : node()
    , m_left(left)
    , m_right(right)
{
}

or_node::or_node(const or_node& x)
    : node(x)
    , m_left(x.m_left->clone())
    , m_right(x.m_right->clone())
{
}

node * 
or_node::clone() const
{
    return new or_node(*this);
}

bool 
or_node::nullable() const
{
    return m_left->nullable() || m_right->nullable();
}

node_set 
or_node::firstpos() const
{
    node_set rval;
    node_set l = m_left->firstpos();
    node_set r = m_right->firstpos();
    std::set_union(l.begin(), l.end(), r.begin(), r.end(),
            std::inserter(rval, rval.begin()));
    return rval;
}

node_set 
or_node::lastpos() const
{
    node_set rval;
    node_set l = m_left->lastpos();
    node_set r = m_right->lastpos();
    std::set_union(l.begin(), l.end(), r.begin(), r.end(),
            std::inserter(rval, rval.begin()));
    return rval;
}

void 
or_node::compute_followpos(followpos_t& followpos) const
{
    m_left->compute_followpos(followpos);
    m_right->compute_followpos(followpos);
}

void
or_node::compute_state_match(state_match_t& state_match) const
{
    m_left->compute_state_match(state_match);
    m_right->compute_state_match(state_match);
}

void 
or_node::get_eof_ids(node_set& eof_nodes) const
{
    m_left->get_eof_ids(eof_nodes);
    m_right->get_eof_ids(eof_nodes);
}

#ifdef BOOST_SPIRIT_DEBUG
void 
or_node::dump(std::ostream& out) const
{
    out << "\nor_node";
    out << " nullable() = " << (nullable() ? "true" : "false");
    out << " firstpos() = ";
    node_set fp = firstpos();
    std::copy(fp.begin(), fp.end(), 
            std::ostream_iterator<node_id_t>(out, ","));

    out << " lastpos() = ";
    node_set lp = lastpos();
    std::copy(lp.begin(), lp.end(), 
            std::ostream_iterator<node_id_t>(out, ","));

    m_left->dump(out);
    m_right->dump(out);
}
#endif


class cat_node : public node
{

public:

	cat_node(const node * left, const node * right);
    cat_node(const cat_node& x);
    virtual ~cat_node(){}

    virtual node* clone() const;
    virtual bool nullable() const;
    virtual node_set firstpos() const;
    virtual node_set lastpos() const;
    virtual void compute_followpos(followpos_t& followpos) const;
    virtual void compute_state_match(state_match_t& state_match ) const;
    virtual void get_eof_ids(node_set& eof_set) const;
#ifdef BOOST_SPIRIT_DEBUG
    virtual void dump(std::ostream& out) const;
#endif

private:

    std::auto_ptr<const node > m_left;
    std::auto_ptr<const node > m_right;	
};

inline
cat_node::cat_node(const node * left, const node * right)
    : node()
    , m_left(left)
    , m_right(right)
{
}

cat_node::cat_node(const cat_node& x)
    : node(x)
    , m_left(x.m_left->clone())
    , m_right(x.m_right->clone())
{
}

node * 
cat_node::clone() const
{
    return new cat_node(*this);
}

bool 
cat_node::nullable() const
{
    return m_left->nullable() && m_right->nullable();
}

node_set 
cat_node::firstpos() const
{
    if (m_left->nullable())
    {
        node_set rval;
        node_set l = m_left->firstpos();
        node_set r = m_right->firstpos();
        std::set_union(l.begin(), l.end(), r.begin(), r.end(),
                std::inserter(rval, rval.begin()));
        return rval;
    }
    else
    {
        return m_left->firstpos();
    }
}

node_set 
cat_node::lastpos() const
{
    if (m_right->nullable())
    {
        node_set rval;
        node_set l = m_left->lastpos();
        node_set r = m_right->lastpos();
        std::set_union(l.begin(), l.end(), r.begin(), r.end(),
                std::inserter(rval, rval.begin()));
        return rval;
    }
    else
    {
        return m_right->lastpos();
    }
}

void 
cat_node::compute_followpos(followpos_t& followpos) const
{
    node_set l = m_left->lastpos();
    for (node_set::iterator i = l.begin();
            i != l.end();
            ++i)
    {
        node_set rf = m_right->firstpos();
        followpos[*i].insert(rf.begin(), rf.end());
    }

    m_left->compute_followpos(followpos);
    m_right->compute_followpos(followpos);
}

void
cat_node::compute_state_match(state_match_t& state_match) const
{
    m_left->compute_state_match(state_match);
    m_right->compute_state_match(state_match);
}

void 
cat_node::get_eof_ids(node_set& eof_nodes) const
{
    m_left->get_eof_ids(eof_nodes);
    m_right->get_eof_ids(eof_nodes);
}

#ifdef BOOST_SPIRIT_DEBUG
void 
cat_node::dump(std::ostream& out) const
{
    out << "\ncat_node";
    out << " nullable() = " << (nullable() ? "true" : "false");
    out << " firstpos() = ";
    node_set fp = firstpos();
    std::copy(fp.begin(), fp.end(), 
            std::ostream_iterator<node_id_t>(out, ","));

    out << " lastpos() = ";
    node_set lp = lastpos();
    std::copy(lp.begin(), lp.end(), 
            std::ostream_iterator<node_id_t>(out, ","));

    m_left->dump(out);
    m_right->dump(out);
}
#endif


class star_node : public node
{

public:

	star_node(const node * left);
    star_node(const star_node& x);
    virtual ~star_node(){}

    virtual node* clone() const;
    virtual bool nullable() const;
    virtual node_set firstpos() const;
    virtual node_set lastpos() const;
    virtual void compute_followpos(followpos_t& followpos) const;
    virtual void compute_state_match(state_match_t& state_match ) const;
    virtual void get_eof_ids(node_set& eof_set) const;
#ifdef BOOST_SPIRIT_DEBUG
    virtual void dump(std::ostream& out) const;
#endif

private:

    std::auto_ptr<const node > m_left;
};

inline
star_node::star_node(const node * left)
    : node()
    , m_left(left)
{
}

inline
star_node::star_node(const star_node& x)
    : node(x)
    , m_left(x.m_left->clone())
{
}

node * 
star_node::clone() const
{
    return new star_node(*this);
}

bool 
star_node::nullable() const
{
    return true;
}

node_set 
star_node::firstpos() const
{
    return m_left->firstpos();
}

node_set 
star_node::lastpos() const
{
    return m_left->lastpos();
}

void 
star_node::compute_followpos(followpos_t& followpos) const
{
    node_set lp = this->lastpos();
    for (node_set::iterator i = lp.begin();
            i != lp.end();
            ++i)
    {
        node_set fp = this->firstpos();
        followpos[*i].insert(fp.begin(), fp.end());
    }

    m_left->compute_followpos(followpos);
}

void
star_node::compute_state_match(state_match_t& state_match) const
{
    m_left->compute_state_match(state_match);
}

void 
star_node::get_eof_ids(node_set& eof_nodes) const
{
    m_left->get_eof_ids(eof_nodes);
}

#ifdef BOOST_SPIRIT_DEBUG
void 
star_node::dump(std::ostream& out) const
{
    out << "\nstar_node";
    out << " nullable() = " << (nullable() ? "true" : "false");
    out << " firstpos() = ";
    node_set fp = firstpos();
    std::copy(fp.begin(), fp.end(), 
            std::ostream_iterator<node_id_t>(out, ","));

    out << " lastpos() = ";
    node_set lp = lastpos();
    std::copy(lp.begin(), lp.end(), 
            std::ostream_iterator<node_id_t>(out, ","));

    m_left->dump(out);
}
#endif


class eof_node : public node
{

public:

	eof_node();
    eof_node(const eof_node& x);
    virtual ~eof_node(){}

    virtual node* clone() const;
    virtual bool nullable() const;
    virtual node_set firstpos() const;
    virtual node_set lastpos() const;
    virtual void compute_followpos(followpos_t& followpos) const;
    virtual void compute_state_match(state_match_t& state_match ) const;
    virtual void get_eof_ids(node_set& eof_set) const;
#ifdef BOOST_SPIRIT_DEBUG
    virtual void dump(std::ostream& out) const;
#endif

private:

    node_id_t m_node_num;
};

inline
eof_node::eof_node()
    : node()
    , m_node_num(node::leaf_count++)
{
}

eof_node::eof_node(const eof_node& x)
    : node(x)
    , m_node_num(node::leaf_count++)
{
}

node * 
eof_node::clone() const
{
    return new eof_node(*this);
}

bool 
eof_node::nullable() const
{
    return false;
}

node_set 
eof_node::firstpos() const
{
    node_set rval;
    rval.insert(m_node_num);
    return rval;
}

node_set 
eof_node::lastpos() const
{
    node_set rval;
    rval.insert(m_node_num);
    return rval;
}

void 
eof_node::compute_followpos(followpos_t&) const
{
    return;
}

void
eof_node::compute_state_match(state_match_t& state_match) const
{
    if (state_match.size() < m_node_num + 1)
        state_match.resize(m_node_num + 1);
    state_match[m_node_num].resize(256, 0);
}

void 
eof_node::get_eof_ids(node_set& eof_nodes) const
{
    eof_nodes.insert(m_node_num);
}

#ifdef BOOST_SPIRIT_DEBUG
void 
eof_node::dump(std::ostream& out) const
{
    out << "\neof_node";
    out << " m_node_num = " << m_node_num;
    out << " nullable() = " << (nullable() ? "true" : "false");
    out << " firstpos() = ";
    node_set fp = firstpos();
    std::copy(fp.begin(), fp.end(), 
            std::ostream_iterator<node_id_t>(out, ","));

    out << " lastpos() = ";
    node_set lp = lastpos();
    std::copy(lp.begin(), lp.end(), 
            std::ostream_iterator<node_id_t>(out, ","));
}
#endif

class ccl_node : public node
{

public:

	ccl_node(const std::vector<uchar>& v);
    ccl_node(const uchar c1, const uchar c2);
    ccl_node(const ccl_node& x);
    virtual ~ccl_node(){}

    virtual node* clone() const;
    virtual bool nullable() const;
    virtual node_set firstpos() const;
    virtual node_set lastpos() const;
    virtual void compute_followpos(followpos_t& followpos) const;
    virtual void compute_state_match(state_match_t& state_match ) const;
    virtual void get_eof_ids(node_set& eof_set) const;
#ifdef BOOST_SPIRIT_DEBUG
    virtual void dump(std::ostream& out) const;
#endif

private:

    std::vector<uchar> m_match;
    node_id_t m_node_num;
};

ccl_node::ccl_node(const std::vector<uchar>& v)
    : node()
    , m_match(v)
    , m_node_num(node::leaf_count++)
{
    m_match.resize(256); // make sure it's the right size
}

ccl_node::ccl_node(const uchar c1, const uchar c2)
    : node()
    , m_match(256, 0)
    , m_node_num(node::leaf_count++)
{
    assert(c1 < c2);
    for (size_t i = c1; i <= c2; ++i)
    {
        m_match[i] = 1;
    }
}

ccl_node::ccl_node(const ccl_node& x)
    : node(x)
    , m_match(x.m_match)
    , m_node_num(node::leaf_count++)
{
}

node * 
ccl_node::clone() const
{
    return new ccl_node(*this);
}

bool 
ccl_node::nullable() const
{
    return false;
}

node_set 
ccl_node::firstpos() const
{
    node_set rval;
    rval.insert(m_node_num);
    return rval;
}

node_set 
ccl_node::lastpos() const
{
    return firstpos();
}

void 
ccl_node::compute_followpos(followpos_t&) const
{
    return;
}

void
ccl_node::compute_state_match(state_match_t& state_match) const
{
    if (state_match.size() < m_node_num + 1)
        state_match.resize(m_node_num + 1);
    state_match[m_node_num] = m_match;
}

void 
ccl_node::get_eof_ids(node_set&) const
{
    return;
}

#ifdef BOOST_SPIRIT_DEBUG
void 
ccl_node::dump(std::ostream& out) const
{
    out << "\nccl_node m_match = ";
    for (size_t i = 0; i < m_match.size(); ++i)
    {
        if (m_match[i])
            out << i << ", ";
    }
    out << " m_node_num = " << m_node_num;
    out << " nullable() = " << (nullable() ? "true" : "false");
    out << " firstpos() = ";
    node_set fp = firstpos();
    std::copy(fp.begin(), fp.end(), 
            std::ostream_iterator<node_id_t>(out, ","));

    out << " lastpos() = ";
    node_set lp = lastpos();
    std::copy(lp.begin(), lp.end(), 
            std::ostream_iterator<node_id_t>(out, ","));
}
#endif


node_id_t node::leaf_count = 0;

template <typename IteratorT>
class make_concat
{
public:

    make_concat(std::stack<node*>& the_stack)
        : m_stack(the_stack)
        {}

    void operator()(const IteratorT&, const IteratorT&) const
    {
        node* right = m_stack.top();
        m_stack.pop();
        node* left = m_stack.top();
        m_stack.pop();
        node* newnode = new cat_node(left, right);
        m_stack.push(newnode);
    }

    std::stack<node*>& m_stack;
};

template <typename CharT>
unsigned char get_byte(CharT c, unsigned int byte)
{
    static unsigned long mask[] =
    {
        0xFF000000,
        0x00FF0000,
        0x0000FF00,
        0x000000FF
    };

    return (c & mask[byte]) >> ((sizeof(c) - 1 - byte) * 8);
}

template <typename IteratorT>
class make_char
{
public:
    typedef typename std::iterator_traits<IteratorT>::value_type char_t;

    make_char(std::stack<node*>& the_stack)
        : m_stack(the_stack)
        {}

    void operator()(IteratorT& first, const IteratorT& last) const
    {
        node* newnode;
        char_t the_char;
        lex_escape_ch_p[ref(the_char)].parse(first, last);
        if (sizeof(*first) == 1)
        {
            newnode = new char_node(the_char);
        }
        else
        {
            newnode = new char_node(get_byte(the_char, 0));
            for (unsigned int i = 1; i < sizeof(the_char); ++i)
            {
                node* cnode = new char_node(get_byte(the_char, i));
                node* top_node = new cat_node(newnode, cnode);
                newnode = top_node;
            }
        }
        m_stack.push(newnode);
    }

    std::stack<node*>& m_stack;
};

template <typename IteratorT>
class make_star
{
public:
    typedef typename std::iterator_traits<IteratorT>::value_type char_t;

    make_star(std::stack<node*>& the_stack)
        : m_stack(the_stack)
        {}

    void operator()(const char_t) const
    {
        node* left = m_stack.top();
        m_stack.pop();
        node* newnode = new star_node(left);
        m_stack.push(newnode);
    }

    std::stack<node*>& m_stack;
};

template <typename IteratorT>
class make_or
{
public:

    make_or(std::stack<node*>& the_stack)
        : m_stack(the_stack)
        {}

    void operator()(const IteratorT&, const IteratorT&) const
    {
        node* right = m_stack.top();
        m_stack.pop();
        node* left = m_stack.top();
        m_stack.pop();
        node* newnode = new or_node(left, right);
        m_stack.push(newnode);
    }

    std::stack<node*>& m_stack;
};

template <typename IteratorT>
class make_plus
{
public:
    typedef typename std::iterator_traits<IteratorT>::value_type char_t;

    make_plus(std::stack<node*>& the_stack)
        : m_stack(the_stack)
        {}

    void operator()(const char_t) const
    {
        node* left = m_stack.top();
        m_stack.pop();

        node* copy = left->clone();

        node* new_star = new star_node(copy);
        node* new_cat = new cat_node(left, new_star);
        m_stack.push(new_cat);
    }

    std::stack<node*>& m_stack;
};

template <typename IteratorT>
class make_optional
{
public:
    typedef typename std::iterator_traits<IteratorT>::value_type char_t;

    make_optional(std::stack<node*>& the_stack)
        : m_stack(the_stack)
        {}

    void operator()(const char_t) const
    {
        node* left = m_stack.top();
        m_stack.pop();

        node* new_or = new or_node(left, new epsilon_node());
        m_stack.push(new_or);
    }

    std::stack<node*>& m_stack;
};

namespace ccl_utils
{
    template <typename char_t>
    impl::range_run<char_t> negate_range_run(
            const impl::range_run<char_t>& rr)
    {
        impl::range_run<char_t> newrr;
        newrr.set(impl::full_range<char_t>());
        for (impl::range_run<char_t>::const_iterator iter = rr.begin(); 
                iter != rr.end(); ++iter)
            newrr.clear(*iter);
        return newrr;
    }

    template <typename char_t>
    void create_nodes(const impl::range_run<char_t>& rr, 
            std::stack<node*>& stack) 
    {

        if (sizeof(char_t) == 1)
        {
            std::vector<uchar> ccl;
            ccl.resize(256);
            for (impl::range_run<char_t>::const_iterator iter = rr.begin(); 
                    iter != rr.end(); ++iter)
            {
                for (int i = iter->first; i <= iter->last; ++i)
                {
                    assert(uchar(i) < 256 && ccl.size() == 256);
                    ccl[uchar(i)] = 1;
                }
            }

            node* new_ccl = new ccl_node(ccl);
            stack.push(new_ccl);
        }
        else
        {
            bool mb_first_time = true;
            for (impl::range_run<char_t>::const_iterator iter = rr.begin(); 
                    iter != rr.end(); ++iter)
            {
                if (iter->first == iter->last)
                {
                    handle_mb_char(iter->first, mb_first_time, stack);
                }
                else
                {
                    handle_mb_range(iter->first, iter->last, mb_first_time, stack);
                }
                mb_first_time = false;
            }
        }
    }

    template <typename char_t>
    void handle_mb_char(char_t c, bool first_time,
            std::stack<node*>& stack)
    {
        node* newnode = create_mb_node_seq(c);

        if (first_time)
        {
            stack.push(newnode);
        }
        else
        {
            node* top = stack.top();
            stack.pop();

            node* newtop = new or_node(top, newnode);
            stack.push(newtop);
        }
    }

    template <typename char_t>
    node* create_mb_node_seq(char_t c)
    {
        node* newnode = new char_node(get_byte(c, 0));
        for (unsigned int i = 1; i < sizeof(c); ++i)
        {
            node* cnode = new char_node(get_byte(c, i));
            node* top_node = new cat_node(newnode, cnode);
            newnode = top_node;
        }
        return newnode;
    }

    template <typename char_t>
    size_t compute_differing_byte(char_t c1, char_t c2)
    {
        size_t rval = 0;
        while (rval < sizeof(c1) && get_byte(c1, rval) == get_byte(c2, rval))
           ++rval;

        return rval; 
    }

    template <typename char_t>
    void handle_mb_range(char_t c1, char_t c2, bool first_time,
            std::stack<node*>& stack)
    {
        // The algorithm can't handle negative value chars, which don't make
        // much sense anyway.
        if (c1 < 0)
            c1 = 0;

        assert(c1 < c2);
        node* newnode = 0;
        node* savednode = 0;
        const size_t differing_byte = compute_differing_byte(c1, c2);
        const size_t sizem1 = sizeof(c1) - 1;
        const size_t ndb = sizem1 - differing_byte;
        for (size_t i = differing_byte; i < sizeof(c1); ++i)
        {
            // generate node for the first byte
            if (differing_byte == 0 && i == ndb)
            {
                size_t diff = get_byte(c2, 0) - get_byte(c1, 0);
                if (diff == 1)
                    continue;
                else if (diff == 2)
                    newnode = new char_node(get_byte(c1, 0) + 1);
                else
                    newnode = new ccl_node(get_byte(c1, 0) + 1, 
                            get_byte(c2, 0) - 1);
            }
            else
            {
                newnode = new char_node(get_byte(c1, 0));
            }
            for (size_t j = 1; j < sizeof(c1); ++j)
            {
                node* cnode;
                if (i == sizem1 && j == differing_byte && j != sizem1)
                {
                    size_t diff = get_byte(c2, j) - get_byte(c1, j);
                    if (diff == 1)
                    {
                        delete newnode;
                        goto end_outer_for; // got to skip this entire section
                    }
                    else if (diff == 2)
                        cnode = new char_node(get_byte(c1, j)+1);
                    else 
                        cnode = new ccl_node(get_byte(c1, j)+1, 
                                get_byte(c2, j)-1);
                }

                else if (i == differing_byte && j == sizem1)
                {
                    if (i != sizem1)
                        cnode = new ccl_node(get_byte(c1, j), 0xFF);
                    else
                        cnode = new ccl_node(get_byte(c1, j), get_byte(c2, j));
                }

                else if (i != differing_byte && i != sizem1 && 
                        j == (sizem1 - i + differing_byte))
                    cnode = new ccl_node(get_byte(c1, j)+1, 0xFF);

                else if (i + j - differing_byte > sizem1)
                    cnode = new ccl_node(0, 0xFF);

                else //if (is plain)
                    cnode = new char_node(get_byte(c1, j));


                node* top_node = new cat_node(newnode, cnode);
                newnode = top_node;
            }

            // or together the various parts
            if (savednode)
            {
                node* top_node = new or_node(savednode, newnode);
                savednode = top_node;
            }
            else
            {
                savednode = newnode;
            }
end_outer_for:
            continue;
        }

        // the silly cast is to get rid of a gcc warning, when sizem1 == 0
        // which happens when CharT=char
        for (size_t i = 0; i < ndb; ++i)
        {
            newnode = new char_node(get_byte(c2, 0));
            for (size_t j = 1; j < sizeof(c2); ++j)
            {
                node* cnode;
                if (i == differing_byte && j == sizem1 && i != sizem1)
                    cnode = new ccl_node(0, get_byte(c2, j));

                else if (i != differing_byte && i != sizem1 && 
                        j == (sizem1 - i + differing_byte))
                    cnode = new ccl_node(0, get_byte(c2, j)-1);

                else if (i + j - differing_byte > sizem1)
                    cnode = new ccl_node(0, 0xFF);

                else //if (is plain)
                    cnode = new char_node(get_byte(c2, j));


                node* top_node = new cat_node(newnode, cnode);
                newnode = top_node;
            }

            // or together the various parts
            if (savednode)
            {
                node* top_node = new or_node(savednode, newnode);
                savednode = top_node;
            }
            else
            {
                savednode = newnode;
            }
        }

        
        if (first_time)
        {
            stack.push(savednode);
        }
        else
        {
            node* top = stack.top();
            stack.pop();

            node* newtop = new or_node(top, savednode);
            stack.push(newtop);
        }
    }
} // namespace ccl_utils


template <typename IteratorT>
class make_ccl
{
public:
    typedef typename std::iterator_traits<IteratorT>::value_type char_t;

    make_ccl(std::stack<node*>& the_stack)
        : m_stack(the_stack)
        {}

    void operator()(const IteratorT& first_, const IteratorT& last) const
    {
        IteratorT first = first_;

        assert(*first == '[');

        ++first; // skip over '['
        bool negated_ccl = false;
        if (*first == '^')
        {
            negated_ccl = true;
            ++first;
        }

        impl::range_run<char_t> rr;
        while (first != last && *first != ']')
        {
            if (*first == '[') // it's a ccl_expr like [:space:]
            {
                // TODO: write this
            }
            else
            {
                char_t c1;
                lex_escape_ch_p[ref(c1)].parse(first, last);
                if (*first == '-') // insert a range
                {
                    ++first;
                    char_t c2;
                    lex_escape_ch_p[ref(c2)].parse(first, last);
                    assert(c1 < c2); // Throw exception?
                    rr.set(impl::range<char_t>(c1, c2));
                }
                else // insert 1 char
                {
                    rr.set(impl::range<char_t>(c1, c1));
                }
            }
        }

        if (negated_ccl)
        {
            rr = ccl_utils::negate_range_run(rr);
        }

        ccl_utils::create_nodes(rr, m_stack);
    }

    std::stack<node*>& m_stack;
};

template <typename IteratorT>
class make_any_char
{
public:
    typedef typename std::iterator_traits<IteratorT>::value_type char_t;
    std::stack<node*>& m_stack;

    make_any_char(std::stack<node*>& the_stack)
        : m_stack(the_stack)
        {}

    void operator()(const char_t c) const
    {
        assert(c == '.');
        do_any_char();
    }

    void do_any_char() const
    {
        static impl::range_run<char_t> rr;
        rr.set(impl::full_range<char_t>());
        char_t newline = '\n';
        rr.clear(impl::range<char_t>(newline, newline));

        ccl_utils::create_nodes(rr, m_stack);

    }

};


template <typename IteratorT>
class grammar
{
public:

	typedef rule<IteratorT> rule_t;
    typedef typename std::iterator_traits<IteratorT>::value_type char_t;


	rule_t regex, re, series, singleton, singleton2, fullccl, ccl, string, 
        escseq, ccl_char;
	symbols<> ccl_expr;

    std::stack<node*> node_stack;

	grammar()
	{
		regex = 
            re >> !('/' >> re) >> !ch_p('$');

		re =
			  series >> *(('|' >> series)[make_or<IteratorT>(node_stack)]);

		series =
			  singleton >> *(singleton[make_concat<IteratorT>(node_stack)] );

		singleton = 
			  ch_p('.')[make_any_char<IteratorT>(node_stack)] >> singleton2
			| fullccl >> singleton2
            // TODO: Write a string node generator
			| '"' >> string >> '"' >> singleton2
			| '(' >> re >> ')' >> singleton2
			| ((anychar - chset<>("/|*+?.(){}\\")) | escseq)
                [make_char<IteratorT>(node_stack)] 
              >> singleton2;

		singleton2 =
			  ch_p('*')[make_star<IteratorT>(node_stack)] >> singleton2
			| ch_p('+')[make_plus<IteratorT>(node_stack)] >> singleton2
			| ch_p('?')[make_optional<IteratorT>(node_stack)] >> singleton2
            // TODO: Write a specified repetition generator
			| '"' >> string >> '"' >> singleton2
			| '{' >> uint_p >> '}' >> singleton2
			| '{' >> uint_p >> ',' >> '}' >> singleton2
			| '{' >> uint_p >> ',' >> uint_p >> '}' >> singleton2
			| epsilon;

		fullccl =
			('[' >> !ch_p('^') >> ccl >> ']')[make_ccl<IteratorT>(node_stack)];

		ccl =
            *(ccl_expr | (ccl_char >> !('-' >> ccl_char)));

		ccl_char =
			((anychar - chset<>("\\\n]")) | escseq);

		ccl_expr =
			"[:alnum:]",
			"[:alpha:]",
			"[:blank:]",
			"[:cntrl:]",
			"[:digit:]",
			"[:graph:]",
			"[:lower:]",
			"[:print:]",
			"[:punct:]",
			"[:space:]",
			"[:upper:]",
			"[:xdigit:]";

		string =
			*((anychar - chset<>("\"\\")) | escseq);

		escseq =
			ch_p('\\') >> 
				longest[
				(  (anychar - '\n')
				 | chset<>("0-7").repeat(1,11) 
				 | chset<>("xX") >> xdigit.repeat(1,8)
				)];

	    BOOST_SPIRIT_DEBUG_RULE(regex);
        BOOST_SPIRIT_DEBUG_RULE(re);
        BOOST_SPIRIT_DEBUG_RULE(series);
        BOOST_SPIRIT_DEBUG_RULE(singleton);
        BOOST_SPIRIT_DEBUG_RULE(singleton2);
        BOOST_SPIRIT_DEBUG_RULE(fullccl);
        BOOST_SPIRIT_DEBUG_RULE(ccl);
        BOOST_SPIRIT_DEBUG_RULE(string);
        BOOST_SPIRIT_DEBUG_RULE(escseq);
        BOOST_SPIRIT_DEBUG_RULE(ccl_char);
	}
}; // class grammar

template <typename IteratorT>
node* parse(grammar<IteratorT>& g, IteratorT expr)
{
    parse_info<IteratorT>
        result = boost::spirit::parse(expr, g.regex);

    if (!result.full)
    {
        return 0;
    }

    assert(g.node_stack.size() == 1);
    node* rval = g.node_stack.top();
    g.node_stack.pop();
    node* an_eof_node = new eof_node();
    rval = new cat_node(rval, an_eof_node);
    return rval;
}

bool regex_match(const dfa_t& dfa, const char*& first, const char* last,
        int& regex_index)
{
    node_id_t s = 0;
    node_id_t last_accepting_index = invalid_node;
    const uchar* p = (const uchar*)first;
    const uchar* last_accepting_cpos = (const uchar*)first;
    while ((const char*)p != last)
    {
        s = dfa.first[s][*p];
        if (s == invalid_node)
            break;
        ++p;
        if (dfa.second[s] != invalid_node)
        {
            last_accepting_index = s;
            last_accepting_cpos = p;
        }
    }
    if (last_accepting_index != invalid_node)
    {
        // execute dfa.second[last_accepting_state]
#ifdef BOOST_SPIRIT_DEBUG
        std::cout << "dfa.second[" << last_accepting_index << "] = " << 
            dfa.second[last_accepting_index] << '\n';
#endif
        first = (const char*)last_accepting_cpos;
        regex_index = dfa.second[last_accepting_index];
        return true;
    }
    else
        return false;
}

bool regex_match(const dfa_t& dfa, const wchar_t*& first, const wchar_t* last,
        int& regex_index)
{
    node_id_t s = 0;
    node_id_t last_accepting_index = invalid_node;
    const wchar_t* wp = first;
    const wchar_t* last_accepting_cpos = first;
    while ((const wchar_t*)wp != last)
    {
        for (unsigned int i = 0; i < sizeof(wchar_t); ++i)
        {
            s = dfa.first[s][get_byte(*wp,i)];
            if (s == invalid_node)
            {
                goto break_while;
            }
        }
        ++wp;
        if (dfa.second[s] != invalid_node)
        {
            last_accepting_index = s;
            last_accepting_cpos = wp;
        }

    }

break_while:
    if (last_accepting_index != invalid_node)
    {
        // execute dfa.second[s]
#ifdef BOOST_SPIRIT_DEBUG
        std::cout << "dfa.second[" << last_accepting_index << "] = " << 
            dfa.second[last_accepting_index] << '\n';
#endif
        first = (const wchar_t*)last_accepting_cpos;
        regex_index = dfa.second[last_accepting_index];
        return true;
    }
    else
        return false;
}

} // namespace lexerimpl

template <typename CharT, typename TokenT = int>
class lexer
{
    public:
        lexer()
            : g()
            , m_compiled_dfa(false)
            {}

        void register_regex(const CharT* regex, TokenT id);

        template <typename IteratorT>
        TokenT next_token(IteratorT& first, IteratorT& last);

        void createdfa();

#ifdef BOOST_SPIRIT_DEBUG
        void dump(std::ostream& out);
#endif

    private:

        lexerimpl::grammar<const CharT*> g;

        mutable bool m_compiled_dfa;
        mutable dfa_t m_dfa;

        typedef std::vector<std::pair<std::basic_string<CharT>, TokenT> > regex_list_t;
        regex_list_t m_regex_list;
};

template <typename CharT, typename TokenT>
void
lexer<CharT, TokenT>::register_regex(const CharT* regex, TokenT id)
{
    m_regex_list.push_back(std::make_pair(regex, id));
}

template <typename CharT, typename TokenT>
template <typename IteratorT>
TokenT
lexer<CharT, TokenT>::next_token(IteratorT& first, IteratorT& last)
{
    if (!m_compiled_dfa)
    {
        createdfa();
    }

    int regex_index;
    if (!lexerimpl::regex_match(m_dfa, first, last, regex_index))
        return -1;
    else
        return m_regex_list[regex_index].second;
}


// Algorithm from Compilers: Principles, Techniques, and Tools p. 141
template <typename CharT, typename TokenT>
void 
lexer<CharT, TokenT>::createdfa()
{
    using std::map;
    using std::set;
    using std::vector;
    using std::find;

    using namespace lexerimpl;
    node::leaf_count = 0;
    // parse the expressions into a tree
    regex_list_t::iterator ri = m_regex_list.begin();
    std::auto_ptr<node> tree(parse(g, (*ri).first.c_str()));
    if (tree.get() == 0)
        throw bad_regex();

    ++ri;
    for ( ;ri != m_regex_list.end(); ++ri)
    {
        std::auto_ptr<node> next_tree(parse(g, (*ri).first.c_str()));
        if (next_tree.get() == 0)
            throw bad_regex();
        std::auto_ptr<node> newnode(new or_node(tree.release(), next_tree.release()));
        tree = newnode;
    }


#ifdef BOOST_SPIRIT_DEBUG
    tree->dump(std::cout);
#endif

    // compute followpos(root)
    followpos_t followpos;
    tree->compute_followpos(followpos);

    // the dfa states <-> nfa state groups
    map<node_set, node_id_t> dstates1;
    map<node_id_t, node_set> dstates2;

    // the dfa transitions
    m_dfa.first.push_back(vector<node_id_t>(256, invalid_node));
    m_dfa.second.push_back(invalid_node);

    // whether the dfa state has been processed yet
    vector<node_id_t> marked;

    // used to give a unique id to each dfa state
    node_id_t num_states = 0;

    // initially, the only unmarked state in Dstates is firstpos(root).
    marked.push_back(0);
    node_set fpr = tree->firstpos();
    dstates1[fpr] = 0;
    dstates2[0] = fpr;
    state_match_t state_match;
    tree->compute_state_match(state_match);
    node_set eof_node_ids;
    tree->get_eof_ids(eof_node_ids);
    // translate the eof_node_ids into a 0-based index
    map<node_id_t, node_id_t> eof_node_id_map;
    unsigned int x = 0;
    for (node_set::iterator node_id_it = eof_node_ids.begin();
            node_id_it != eof_node_ids.end();
            ++node_id_it)
    {
        eof_node_id_map[*node_id_it] = x++;
    }
    
    // figure out if this is an acceptance state
    for(node_set::iterator nsi = eof_node_ids.begin();
            nsi != eof_node_ids.end(); ++nsi)
    {
        node_id_t eof_node_id = *nsi;
        if (fpr.find(eof_node_id) != fpr.end())
        {
            // store the first one we come to as the
            // matched pattern
            m_dfa.second[0] = 
                eof_node_id_map[eof_node_id];
            // don't bother searching for more
            break;
        }
    }

    vector<node_id_t>::iterator i = find(marked.begin(), marked.end(), 
            node_id_t(0));
    while (marked.end() != i)
    {
        *i = 1;
        node_id_t T = i - marked.begin();
        assert(T < dstates2.size());
        node_set Tstates = dstates2[T];
        for (node_id_t j = 0; j < 256; ++j)
        {
            node_set U;
            for (node_set::iterator k = Tstates.begin();
                    k != Tstates.end(); ++k)
            {
                node_id_t p = *k;
                assert(p < state_match.size());
                assert(j < state_match[p].size());
                if (state_match[p][j])
                {
                    node_set fpp = followpos[p];
                    U.insert(fpp.begin(), fpp.end());
                }
            }
            if (U.size() > 0)
            {
                map<node_set, node_id_t>::iterator l = dstates1.find(U);
                node_id_t target_state;
                if (l == dstates1.end()) // not in the states yet
                {
                    ++num_states;
                    dstates1[U] = target_state = num_states;
                    dstates2[target_state] = U;
                    marked.push_back(0);
                    m_dfa.first.push_back(
                            vector<node_id_t>(256, invalid_node));
                    m_dfa.second.push_back(invalid_node);
                    // figure out if this is an acceptance state
                    for(node_set::iterator nsi = eof_node_ids.begin();
                            nsi != eof_node_ids.end(); ++nsi)
                    {
                        node_id_t eof_node_id = *nsi;
                        if (U.find(eof_node_id) != U.end())
                        {
                            // store the first one we come to as the
                            // matched pattern
                            m_dfa.second[target_state] = 
                                eof_node_id_map[eof_node_id];
                            // don't bother searching for more
                            break;
                        }
                    }
                }
                else
                {
                    target_state = dstates1[U];
                }

                assert(T < m_dfa.first.size());
                assert(j < m_dfa.first[T].size());
                m_dfa.first[T][j] = target_state;
            }
            
        }

        i = find(marked.begin(), marked.end(), node_id_t(0));
    }
    m_compiled_dfa = true;
}


#ifdef BOOST_SPIRIT_DEBUG
template <typename CharT, typename TokenT>
void
lexer<CharT, TokenT>::dump(std::ostream& out)
{
    out << "\nm_dfa has " << m_dfa.first.size() << " states\n";
    for (node_id_t i = 0; i < m_dfa.first.size(); ++i)
    {
        out << "state " << i << ":";
        for (node_id_t j = 0; j < m_dfa.first[i].size(); ++j)
        {
            if (m_dfa.first[i][j] != invalid_node)
                out << j << "->" << m_dfa.first[i][j] << " ";
        }
        out << "\n";
    }
    out << "acceptance states: ";
    for(unsigned int i = 0; i < m_dfa.second.size(); ++i)
    {
        if (m_dfa.second[i] != invalid_node)
            out << '<' << i << ',' << m_dfa.second[i] << "> ";
    }
    out << endl;
}
#endif

} // namespace spirit

#endif


matched token #129 :/*=============================================================================
    Lexer

    Spirit V1.2
    Copyright (c) 2001, Daniel C. Nuffer

    This software is provided 'as-is', without any express or implied
    warranty. In no event will the copyright holder be held liable for
    any damages arising from the use of this software.

    Permission is granted to anyone to use this software for any purpose,
    including commercial applications, and to alter it and redistribute
    it freely, subject to the following restrictions:

    1.  The origin of this software must not be misrepresented; you must
        not claim that you wrote the original software. If you use this
        software in a product, an acknowledgment in the product documentation
        would be appreciated but is not required.

    2.  Altered source versions must be plainly marked as such, and must
        not be misrepresented as being the original software.

    3.  This notice may not be removed or altered from any source
        distribution.

    Acknowledgements:

        Special thanks to Dan Nuffer, John (EBo) David, Chris Uzdavinis,
        and Doug Gregor. These people are most instrumental in steering
        Spirit in the right direction.

        Special thanks also to people who have contributed to the code base
        and sample code, ported Spirit to various platforms and compilers,
        gave suggestions, reported and provided bug fixes. Alexander
        Hirner, Andy Elvey, Bogdan Kushnir, Brett Calcott, Bruce Florman,
        Changzhe Han, Colin McPhail, Hakki Dogusan, Jan Bares, Joseph
        Smith, Martijn W. van der Lee, Raghavendra Satish, Remi Delcos, Tom
        Spilman, Vladimir Prus, W. Scott Dillman, David A. Greene, Bob
        Bailey, Hartmut Kaiser.

        Finally special thanks also to people who gave feedback and
        valuable comments, particularly members of Spirit's Source Forge
        mailing list and boost.org.

    URL: http://spirit.sourceforge.net/


    TODO List:
        create regression test suite.
        complete existing regex functionality.
        refactor createdfa() and make_ccl class.
        callback objects (called when a match is made.)
        lexer states.
        beginning/ending contexts.
        ^ and $
        DFA minimization.
        DFA table compression.
        DFA serialization to save recomputing the DFA.

=============================================================================*/
matched token #135 :

matched token #137 :#
matched token #114 :ifndef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_LEXER_HPP
matched token #135 :

matched token #137 :#
matched token #112 :define
matched token #134 : 
matched token #123 :BOOST_SPIRIT_LEXER_HPP
matched token #135 :

matched token #135 :

matched token #130 :///////////////////////////////////////////////////////////////////////////////
matched token #135 :

matched token #137 :#
matched token #119 :include
matched token #134 : 
matched token #19 :<
matched token #123 :set
matched token #16 :>
matched token #135 :

matched token #137 :#
matched token #119 :include
matched token #134 : 
matched token #19 :<
matched token #123 :map
matched token #16 :>
matched token #135 :

matched token #137 :#
matched token #119 :include
matched token #134 : 
matched token #19 :<
matched token #123 :stack
matched token #16 :>
matched token #135 :

matched token #137 :#
matched token #119 :include
matched token #134 : 
matched token #19 :<
matched token #123 :utility
matched token #16 :>
matched token #134 : 
matched token #130 :// for pair
matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #137 :#
matched token #119 :include
matched token #134 : 
matched token #19 :<
matched token #123 :iostream
matched token #16 :>
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #130 :///////////////////////////////////////////////////////////////////////////////
matched token #135 :

matched token #81 :namespace
matched token #134 : 
matched token #123 :spirit
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #135 :

matched token #101 :typedef
matched token #134 : 
matched token #105 :unsigned
matched token #134 : 
matched token #57 :char
matched token #134 : 
matched token #123 :uchar
matched token #41 :;
matched token #135 :

matched token #101 :typedef
matched token #134 : 
matched token #105 :unsigned
matched token #134 : 
matched token #78 :int
matched token #134 : 
matched token #123 :node_id_t
matched token #41 :;
matched token #135 :

matched token #93 :static
matched token #134 : 
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :invalid_node
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :node_id_t
matched token #21 :(
matched token #23 :-
matched token #125 :1
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #101 :typedef
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :set
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #134 : 
matched token #123 :node_set
matched token #41 :;
matched token #135 :

matched token #101 :typedef
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :vector
matched token #19 :<
matched token #123 :uchar
matched token #16 :>
matched token #134 : 
matched token #123 :uchar_vector
matched token #41 :;
matched token #135 :

matched token #101 :typedef
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :map
matched token #19 :<
matched token #123 :node_id_t
matched token #8 :,
matched token #134 : 
matched token #123 :node_set
matched token #16 :>
matched token #134 : 
matched token #123 :followpos_t
matched token #41 :;
matched token #135 :

matched token #101 :typedef
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :vector
matched token #19 :<
matched token #123 :uchar_vector
matched token #16 :>
matched token #134 : 
matched token #123 :state_match_t
matched token #41 :;
matched token #135 :

matched token #101 :typedef
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :pair
matched token #19 :<
matched token #123 :std
matched token #40 :::
matched token #123 :vector
matched token #19 :<
matched token #123 :std
matched token #40 :::
matched token #123 :vector
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #134 : 
matched token #16 :>
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :                  
matched token #123 :std
matched token #40 :::
matched token #123 :vector
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #134 : 
matched token #16 :>
matched token #134 : 
matched token #123 :dfa_t
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :bad_regex
matched token #134 : 
matched token #9 ::
matched token #134 : 
matched token #86 :public
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :exception
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #81 :namespace
matched token #134 : 
matched token #123 :lexerimpl
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :node
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #47 :~
matched token #123 :node
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #18 :{
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #51 :bool
matched token #134 : 
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node_set
matched token #134 : 
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node_set
matched token #134 : 
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos_t
matched token #0 :&
matched token #134 : 
matched token #123 :followpos
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match_t
matched token #0 :&
matched token #134 : 
matched token #123 :state_match
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :node_set
matched token #0 :&
matched token #134 : 
matched token #123 :eof_set
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :ostream
matched token #0 :&
matched token #134 : 
matched token #123 :out
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #93 :static
matched token #134 : 
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :leaf_count
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :char_node
matched token #134 : 
matched token #9 ::
matched token #134 : 
matched token #86 :public
matched token #134 : 
matched token #123 :node
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #135 :

matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :	
matched token #123 :char_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :uchar
matched token #134 : 
matched token #123 :c
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :char_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :char_node
matched token #0 :&
matched token #134 : 
matched token #123 :x
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #47 :~
matched token #123 :char_node
matched token #21 :(
matched token #38 :)
matched token #18 :{
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #51 :bool
matched token #134 : 
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node_set
matched token #134 : 
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node_set
matched token #134 : 
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos_t
matched token #0 :&
matched token #134 : 
matched token #123 :followpos
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match_t
matched token #0 :&
matched token #134 : 
matched token #123 :state_match
matched token #134 : 
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :node_set
matched token #0 :&
matched token #134 : 
matched token #123 :eof_set
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :ostream
matched token #0 :&
matched token #134 : 
matched token #123 :out
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #84 :private
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :	
matched token #123 :uchar
matched token #134 : 
matched token #123 :m_char
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :m_node_num
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #123 :char_node
matched token #40 :::
matched token #123 :char_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :uchar
matched token #134 : 
matched token #123 :c
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #9 ::
matched token #134 : 
matched token #123 :node
matched token #21 :(
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_char
matched token #21 :(
matched token #123 :c
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_node_num
matched token #21 :(
matched token #123 :node
matched token #40 :::
matched token #123 :leaf_count
matched token #33 :++
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :char_node
matched token #40 :::
matched token #123 :char_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :char_node
matched token #0 :&
matched token #134 : 
matched token #123 :x
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #9 ::
matched token #134 : 
matched token #123 :node
matched token #21 :(
matched token #123 :x
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_char
matched token #21 :(
matched token #123 :x
matched token #12 :.
matched token #123 :m_char
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_node_num
matched token #21 :(
matched token #123 :node
matched token #40 :::
matched token #123 :leaf_count
matched token #33 :++
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #135 :

matched token #123 :char_node
matched token #40 :::
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :char_node
matched token #21 :(
matched token #46 :*
matched token #98 :this
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #51 :bool
matched token #134 : 
matched token #135 :

matched token #123 :char_node
matched token #40 :::
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #52 :false
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node_set
matched token #134 : 
matched token #135 :

matched token #123 :char_node
matched token #40 :::
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :rval
matched token #12 :.
matched token #123 :insert
matched token #21 :(
matched token #123 :m_node_num
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node_set
matched token #134 : 
matched token #135 :

matched token #123 :char_node
matched token #40 :::
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :char_node
matched token #40 :::
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos_t
matched token #0 :&
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #135 :

matched token #123 :char_node
matched token #40 :::
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match_t
matched token #0 :&
matched token #134 : 
matched token #123 :state_match
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :state_match
matched token #12 :.
matched token #123 :size
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #123 :m_node_num
matched token #134 : 
matched token #31 :+
matched token #134 : 
matched token #125 :1
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #123 :state_match
matched token #12 :.
matched token #123 :resize
matched token #21 :(
matched token #123 :m_node_num
matched token #134 : 
matched token #31 :+
matched token #134 : 
matched token #125 :1
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :state_match
matched token #22 :[
matched token #123 :m_node_num
matched token #39 :]
matched token #12 :.
matched token #123 :resize
matched token #21 :(
matched token #125 :256
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :state_match
matched token #22 :[
matched token #123 :m_node_num
matched token #39 :]
matched token #22 :[
matched token #123 :m_char
matched token #39 :]
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #125 :1
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :char_node
matched token #40 :::
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :node_set
matched token #0 :&
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :char_node
matched token #40 :::
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :ostream
matched token #0 :&
matched token #134 : 
matched token #123 :out
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :"\nchar_node m_char = "
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #123 :m_char
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" m_node_num = "
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #123 :m_node_num
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" nullable() = "
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #21 :(
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #36 :?
matched token #134 : 
matched token #132 :"true"
matched token #134 : 
matched token #9 ::
matched token #134 : 
matched token #132 :"false"
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" firstpos() = "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :fp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :copy
matched token #21 :(
matched token #123 :fp
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :fp
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :ostream_iterator
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #21 :(
matched token #123 :out
matched token #8 :,
matched token #134 : 
matched token #132 :","
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" lastpos() = "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :lp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :copy
matched token #21 :(
matched token #123 :lp
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :lp
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :ostream_iterator
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #21 :(
matched token #123 :out
matched token #8 :,
matched token #134 : 
matched token #132 :","
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :epsilon_node
matched token #134 : 
matched token #9 ::
matched token #134 : 
matched token #86 :public
matched token #134 : 
matched token #123 :node
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #135 :

matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :	
matched token #123 :epsilon_node
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :epsilon_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :epsilon_node
matched token #0 :&
matched token #134 : 
matched token #123 :x
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #47 :~
matched token #123 :epsilon_node
matched token #21 :(
matched token #38 :)
matched token #18 :{
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #51 :bool
matched token #134 : 
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node_set
matched token #134 : 
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node_set
matched token #134 : 
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos_t
matched token #0 :&
matched token #134 : 
matched token #123 :followpos
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match_t
matched token #0 :&
matched token #134 : 
matched token #123 :state_match
matched token #134 : 
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :node_set
matched token #0 :&
matched token #134 : 
matched token #123 :eof_set
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :ostream
matched token #0 :&
matched token #134 : 
matched token #123 :out
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #84 :private
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :m_node_num
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #77 :inline
matched token #135 :

matched token #123 :epsilon_node
matched token #40 :::
matched token #123 :epsilon_node
matched token #21 :(
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #9 ::
matched token #134 : 
matched token #123 :node
matched token #21 :(
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_node_num
matched token #21 :(
matched token #123 :node
matched token #40 :::
matched token #123 :leaf_count
matched token #33 :++
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :epsilon_node
matched token #40 :::
matched token #123 :epsilon_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :epsilon_node
matched token #0 :&
matched token #134 : 
matched token #123 :x
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #9 ::
matched token #134 : 
matched token #123 :node
matched token #21 :(
matched token #123 :x
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_node_num
matched token #21 :(
matched token #123 :node
matched token #40 :::
matched token #123 :leaf_count
matched token #33 :++
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #135 :

matched token #123 :epsilon_node
matched token #40 :::
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :epsilon_node
matched token #21 :(
matched token #46 :*
matched token #98 :this
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #51 :bool
matched token #134 : 
matched token #135 :

matched token #123 :epsilon_node
matched token #40 :::
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #53 :true
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node_set
matched token #134 : 
matched token #135 :

matched token #123 :epsilon_node
matched token #40 :::
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #123 :node_set
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node_set
matched token #134 : 
matched token #135 :

matched token #123 :epsilon_node
matched token #40 :::
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #123 :node_set
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :epsilon_node
matched token #40 :::
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos_t
matched token #0 :&
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #135 :

matched token #123 :epsilon_node
matched token #40 :::
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match_t
matched token #0 :&
matched token #134 : 
matched token #123 :state_match
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :state_match
matched token #12 :.
matched token #123 :size
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #123 :m_node_num
matched token #134 : 
matched token #31 :+
matched token #134 : 
matched token #125 :1
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #123 :state_match
matched token #12 :.
matched token #123 :resize
matched token #21 :(
matched token #123 :m_node_num
matched token #134 : 
matched token #31 :+
matched token #134 : 
matched token #125 :1
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :state_match
matched token #22 :[
matched token #123 :m_node_num
matched token #39 :]
matched token #12 :.
matched token #123 :resize
matched token #21 :(
matched token #125 :256
matched token #8 :,
matched token #134 : 
matched token #125 :1
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :epsilon_node
matched token #40 :::
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :node_set
matched token #0 :&
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :epsilon_node
matched token #40 :::
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :ostream
matched token #0 :&
matched token #134 : 
matched token #123 :out
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :"\nepsilon_node"
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" m_node_num = "
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #123 :m_node_num
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" nullable() = "
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #21 :(
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #36 :?
matched token #134 : 
matched token #132 :"true"
matched token #134 : 
matched token #9 ::
matched token #134 : 
matched token #132 :"false"
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" firstpos() = "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :fp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :copy
matched token #21 :(
matched token #123 :fp
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :fp
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :ostream_iterator
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #21 :(
matched token #123 :out
matched token #8 :,
matched token #134 : 
matched token #132 :","
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" lastpos() = "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :lp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :copy
matched token #21 :(
matched token #123 :lp
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :lp
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :ostream_iterator
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #21 :(
matched token #123 :out
matched token #8 :,
matched token #134 : 
matched token #132 :","
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :or_node
matched token #134 : 
matched token #9 ::
matched token #134 : 
matched token #86 :public
matched token #134 : 
matched token #123 :node
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #135 :

matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :	
matched token #123 :or_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :node
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #123 :left
matched token #8 :,
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #123 :node
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #123 :right
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :or_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :or_node
matched token #0 :&
matched token #134 : 
matched token #123 :x
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #47 :~
matched token #123 :or_node
matched token #21 :(
matched token #38 :)
matched token #18 :{
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #51 :bool
matched token #134 : 
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node_set
matched token #134 : 
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node_set
matched token #134 : 
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos_t
matched token #0 :&
matched token #134 : 
matched token #123 :followpos
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match_t
matched token #0 :&
matched token #134 : 
matched token #123 :state_match
matched token #134 : 
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :node_set
matched token #0 :&
matched token #134 : 
matched token #123 :eof_set
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :ostream
matched token #0 :&
matched token #134 : 
matched token #123 :out
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #84 :private
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :auto_ptr
matched token #19 :<
matched token #59 :const
matched token #134 : 
matched token #123 :node
matched token #134 : 
matched token #16 :>
matched token #134 : 
matched token #123 :m_left
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :auto_ptr
matched token #19 :<
matched token #59 :const
matched token #134 : 
matched token #123 :node
matched token #134 : 
matched token #16 :>
matched token #134 : 
matched token #123 :m_right
matched token #41 :;
matched token #134 :	
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #77 :inline
matched token #135 :

matched token #123 :or_node
matched token #40 :::
matched token #123 :or_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :node
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #123 :left
matched token #8 :,
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #123 :node
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #123 :right
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #9 ::
matched token #134 : 
matched token #123 :node
matched token #21 :(
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_left
matched token #21 :(
matched token #123 :left
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_right
matched token #21 :(
matched token #123 :right
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :or_node
matched token #40 :::
matched token #123 :or_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :or_node
matched token #0 :&
matched token #134 : 
matched token #123 :x
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #9 ::
matched token #134 : 
matched token #123 :node
matched token #21 :(
matched token #123 :x
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_left
matched token #21 :(
matched token #123 :x
matched token #12 :.
matched token #123 :m_left
matched token #34 :->
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_right
matched token #21 :(
matched token #123 :x
matched token #12 :.
matched token #123 :m_right
matched token #34 :->
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #135 :

matched token #123 :or_node
matched token #40 :::
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :or_node
matched token #21 :(
matched token #46 :*
matched token #98 :this
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #51 :bool
matched token #134 : 
matched token #135 :

matched token #123 :or_node
matched token #40 :::
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #123 :m_left
matched token #34 :->
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #30 :||
matched token #134 : 
matched token #123 :m_right
matched token #34 :->
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node_set
matched token #134 : 
matched token #135 :

matched token #123 :or_node
matched token #40 :::
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :l
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_left
matched token #34 :->
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :r
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_right
matched token #34 :->
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :set_union
matched token #21 :(
matched token #123 :l
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :l
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :r
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :r
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :inserter
matched token #21 :(
matched token #123 :rval
matched token #8 :,
matched token #134 : 
matched token #123 :rval
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node_set
matched token #134 : 
matched token #135 :

matched token #123 :or_node
matched token #40 :::
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :l
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_left
matched token #34 :->
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :r
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_right
matched token #34 :->
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :set_union
matched token #21 :(
matched token #123 :l
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :l
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :r
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :r
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :inserter
matched token #21 :(
matched token #123 :rval
matched token #8 :,
matched token #134 : 
matched token #123 :rval
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :or_node
matched token #40 :::
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos_t
matched token #0 :&
matched token #134 : 
matched token #123 :followpos
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :m_left
matched token #34 :->
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :m_right
matched token #34 :->
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #135 :

matched token #123 :or_node
matched token #40 :::
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match_t
matched token #0 :&
matched token #134 : 
matched token #123 :state_match
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :m_left
matched token #34 :->
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :m_right
matched token #34 :->
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :or_node
matched token #40 :::
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :node_set
matched token #0 :&
matched token #134 : 
matched token #123 :eof_nodes
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :m_left
matched token #34 :->
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :eof_nodes
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :m_right
matched token #34 :->
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :eof_nodes
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :or_node
matched token #40 :::
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :ostream
matched token #0 :&
matched token #134 : 
matched token #123 :out
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :"\nor_node"
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" nullable() = "
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #21 :(
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #36 :?
matched token #134 : 
matched token #132 :"true"
matched token #134 : 
matched token #9 ::
matched token #134 : 
matched token #132 :"false"
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" firstpos() = "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :fp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :copy
matched token #21 :(
matched token #123 :fp
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :fp
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :ostream_iterator
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #21 :(
matched token #123 :out
matched token #8 :,
matched token #134 : 
matched token #132 :","
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" lastpos() = "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :lp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :copy
matched token #21 :(
matched token #123 :lp
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :lp
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :ostream_iterator
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #21 :(
matched token #123 :out
matched token #8 :,
matched token #134 : 
matched token #132 :","
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :m_left
matched token #34 :->
matched token #123 :dump
matched token #21 :(
matched token #123 :out
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :m_right
matched token #34 :->
matched token #123 :dump
matched token #21 :(
matched token #123 :out
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :cat_node
matched token #134 : 
matched token #9 ::
matched token #134 : 
matched token #86 :public
matched token #134 : 
matched token #123 :node
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #135 :

matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :	
matched token #123 :cat_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :node
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #123 :left
matched token #8 :,
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #123 :node
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #123 :right
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :cat_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :cat_node
matched token #0 :&
matched token #134 : 
matched token #123 :x
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #47 :~
matched token #123 :cat_node
matched token #21 :(
matched token #38 :)
matched token #18 :{
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #51 :bool
matched token #134 : 
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node_set
matched token #134 : 
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node_set
matched token #134 : 
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos_t
matched token #0 :&
matched token #134 : 
matched token #123 :followpos
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match_t
matched token #0 :&
matched token #134 : 
matched token #123 :state_match
matched token #134 : 
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :node_set
matched token #0 :&
matched token #134 : 
matched token #123 :eof_set
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :ostream
matched token #0 :&
matched token #134 : 
matched token #123 :out
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #84 :private
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :auto_ptr
matched token #19 :<
matched token #59 :const
matched token #134 : 
matched token #123 :node
matched token #134 : 
matched token #16 :>
matched token #134 : 
matched token #123 :m_left
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :auto_ptr
matched token #19 :<
matched token #59 :const
matched token #134 : 
matched token #123 :node
matched token #134 : 
matched token #16 :>
matched token #134 : 
matched token #123 :m_right
matched token #41 :;
matched token #134 :	
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #77 :inline
matched token #135 :

matched token #123 :cat_node
matched token #40 :::
matched token #123 :cat_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :node
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #123 :left
matched token #8 :,
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #123 :node
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #123 :right
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #9 ::
matched token #134 : 
matched token #123 :node
matched token #21 :(
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_left
matched token #21 :(
matched token #123 :left
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_right
matched token #21 :(
matched token #123 :right
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :cat_node
matched token #40 :::
matched token #123 :cat_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :cat_node
matched token #0 :&
matched token #134 : 
matched token #123 :x
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #9 ::
matched token #134 : 
matched token #123 :node
matched token #21 :(
matched token #123 :x
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_left
matched token #21 :(
matched token #123 :x
matched token #12 :.
matched token #123 :m_left
matched token #34 :->
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_right
matched token #21 :(
matched token #123 :x
matched token #12 :.
matched token #123 :m_right
matched token #34 :->
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #135 :

matched token #123 :cat_node
matched token #40 :::
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :cat_node
matched token #21 :(
matched token #46 :*
matched token #98 :this
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #51 :bool
matched token #134 : 
matched token #135 :

matched token #123 :cat_node
matched token #40 :::
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #123 :m_left
matched token #34 :->
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #1 :&&
matched token #134 : 
matched token #123 :m_right
matched token #34 :->
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node_set
matched token #134 : 
matched token #135 :

matched token #123 :cat_node
matched token #40 :::
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :m_left
matched token #34 :->
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :node_set
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :node_set
matched token #134 : 
matched token #123 :l
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_left
matched token #34 :->
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :node_set
matched token #134 : 
matched token #123 :r
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_right
matched token #34 :->
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :std
matched token #40 :::
matched token #123 :set_union
matched token #21 :(
matched token #123 :l
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :l
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :r
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :r
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #135 :

matched token #134 :                
matched token #123 :std
matched token #40 :::
matched token #123 :inserter
matched token #21 :(
matched token #123 :rval
matched token #8 :,
matched token #134 : 
matched token #123 :rval
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #89 :return
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #134 :    
matched token #68 :else
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #89 :return
matched token #134 : 
matched token #123 :m_left
matched token #34 :->
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node_set
matched token #134 : 
matched token #135 :

matched token #123 :cat_node
matched token #40 :::
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :m_right
matched token #34 :->
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :node_set
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :node_set
matched token #134 : 
matched token #123 :l
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_left
matched token #34 :->
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :node_set
matched token #134 : 
matched token #123 :r
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_right
matched token #34 :->
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :std
matched token #40 :::
matched token #123 :set_union
matched token #21 :(
matched token #123 :l
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :l
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :r
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :r
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #135 :

matched token #134 :                
matched token #123 :std
matched token #40 :::
matched token #123 :inserter
matched token #21 :(
matched token #123 :rval
matched token #8 :,
matched token #134 : 
matched token #123 :rval
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #89 :return
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #134 :    
matched token #68 :else
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #89 :return
matched token #134 : 
matched token #123 :m_right
matched token #34 :->
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :cat_node
matched token #40 :::
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos_t
matched token #0 :&
matched token #134 : 
matched token #123 :followpos
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :l
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_left
matched token #34 :->
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #123 :node_set
matched token #40 :::
matched token #123 :iterator
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :l
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #123 :i
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :l
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #33 :++
matched token #123 :i
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :node_set
matched token #134 : 
matched token #123 :rf
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_right
matched token #34 :->
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :followpos
matched token #22 :[
matched token #46 :*
matched token #123 :i
matched token #39 :]
matched token #12 :.
matched token #123 :insert
matched token #21 :(
matched token #123 :rf
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :rf
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :m_left
matched token #34 :->
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :m_right
matched token #34 :->
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #135 :

matched token #123 :cat_node
matched token #40 :::
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match_t
matched token #0 :&
matched token #134 : 
matched token #123 :state_match
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :m_left
matched token #34 :->
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :m_right
matched token #34 :->
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :cat_node
matched token #40 :::
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :node_set
matched token #0 :&
matched token #134 : 
matched token #123 :eof_nodes
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :m_left
matched token #34 :->
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :eof_nodes
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :m_right
matched token #34 :->
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :eof_nodes
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :cat_node
matched token #40 :::
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :ostream
matched token #0 :&
matched token #134 : 
matched token #123 :out
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :"\ncat_node"
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" nullable() = "
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #21 :(
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #36 :?
matched token #134 : 
matched token #132 :"true"
matched token #134 : 
matched token #9 ::
matched token #134 : 
matched token #132 :"false"
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" firstpos() = "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :fp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :copy
matched token #21 :(
matched token #123 :fp
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :fp
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :ostream_iterator
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #21 :(
matched token #123 :out
matched token #8 :,
matched token #134 : 
matched token #132 :","
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" lastpos() = "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :lp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :copy
matched token #21 :(
matched token #123 :lp
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :lp
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :ostream_iterator
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #21 :(
matched token #123 :out
matched token #8 :,
matched token #134 : 
matched token #132 :","
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :m_left
matched token #34 :->
matched token #123 :dump
matched token #21 :(
matched token #123 :out
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :m_right
matched token #34 :->
matched token #123 :dump
matched token #21 :(
matched token #123 :out
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :star_node
matched token #134 : 
matched token #9 ::
matched token #134 : 
matched token #86 :public
matched token #134 : 
matched token #123 :node
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #135 :

matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :	
matched token #123 :star_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :node
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #123 :left
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :star_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :star_node
matched token #0 :&
matched token #134 : 
matched token #123 :x
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #47 :~
matched token #123 :star_node
matched token #21 :(
matched token #38 :)
matched token #18 :{
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #51 :bool
matched token #134 : 
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node_set
matched token #134 : 
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node_set
matched token #134 : 
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos_t
matched token #0 :&
matched token #134 : 
matched token #123 :followpos
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match_t
matched token #0 :&
matched token #134 : 
matched token #123 :state_match
matched token #134 : 
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :node_set
matched token #0 :&
matched token #134 : 
matched token #123 :eof_set
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :ostream
matched token #0 :&
matched token #134 : 
matched token #123 :out
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #84 :private
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :auto_ptr
matched token #19 :<
matched token #59 :const
matched token #134 : 
matched token #123 :node
matched token #134 : 
matched token #16 :>
matched token #134 : 
matched token #123 :m_left
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #77 :inline
matched token #135 :

matched token #123 :star_node
matched token #40 :::
matched token #123 :star_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :node
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #123 :left
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #9 ::
matched token #134 : 
matched token #123 :node
matched token #21 :(
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_left
matched token #21 :(
matched token #123 :left
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #77 :inline
matched token #135 :

matched token #123 :star_node
matched token #40 :::
matched token #123 :star_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :star_node
matched token #0 :&
matched token #134 : 
matched token #123 :x
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #9 ::
matched token #134 : 
matched token #123 :node
matched token #21 :(
matched token #123 :x
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_left
matched token #21 :(
matched token #123 :x
matched token #12 :.
matched token #123 :m_left
matched token #34 :->
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #135 :

matched token #123 :star_node
matched token #40 :::
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :star_node
matched token #21 :(
matched token #46 :*
matched token #98 :this
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #51 :bool
matched token #134 : 
matched token #135 :

matched token #123 :star_node
matched token #40 :::
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #53 :true
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node_set
matched token #134 : 
matched token #135 :

matched token #123 :star_node
matched token #40 :::
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #123 :m_left
matched token #34 :->
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node_set
matched token #134 : 
matched token #135 :

matched token #123 :star_node
matched token #40 :::
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #123 :m_left
matched token #34 :->
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :star_node
matched token #40 :::
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos_t
matched token #0 :&
matched token #134 : 
matched token #123 :followpos
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :lp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #98 :this
matched token #34 :->
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #123 :node_set
matched token #40 :::
matched token #123 :iterator
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :lp
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #123 :i
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :lp
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #33 :++
matched token #123 :i
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :node_set
matched token #134 : 
matched token #123 :fp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #98 :this
matched token #34 :->
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :followpos
matched token #22 :[
matched token #46 :*
matched token #123 :i
matched token #39 :]
matched token #12 :.
matched token #123 :insert
matched token #21 :(
matched token #123 :fp
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :fp
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :m_left
matched token #34 :->
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #135 :

matched token #123 :star_node
matched token #40 :::
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match_t
matched token #0 :&
matched token #134 : 
matched token #123 :state_match
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :m_left
matched token #34 :->
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :star_node
matched token #40 :::
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :node_set
matched token #0 :&
matched token #134 : 
matched token #123 :eof_nodes
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :m_left
matched token #34 :->
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :eof_nodes
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :star_node
matched token #40 :::
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :ostream
matched token #0 :&
matched token #134 : 
matched token #123 :out
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :"\nstar_node"
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" nullable() = "
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #21 :(
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #36 :?
matched token #134 : 
matched token #132 :"true"
matched token #134 : 
matched token #9 ::
matched token #134 : 
matched token #132 :"false"
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" firstpos() = "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :fp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :copy
matched token #21 :(
matched token #123 :fp
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :fp
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :ostream_iterator
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #21 :(
matched token #123 :out
matched token #8 :,
matched token #134 : 
matched token #132 :","
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" lastpos() = "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :lp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :copy
matched token #21 :(
matched token #123 :lp
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :lp
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :ostream_iterator
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #21 :(
matched token #123 :out
matched token #8 :,
matched token #134 : 
matched token #132 :","
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :m_left
matched token #34 :->
matched token #123 :dump
matched token #21 :(
matched token #123 :out
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :eof_node
matched token #134 : 
matched token #9 ::
matched token #134 : 
matched token #86 :public
matched token #134 : 
matched token #123 :node
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #135 :

matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :	
matched token #123 :eof_node
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :eof_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :eof_node
matched token #0 :&
matched token #134 : 
matched token #123 :x
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #47 :~
matched token #123 :eof_node
matched token #21 :(
matched token #38 :)
matched token #18 :{
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #51 :bool
matched token #134 : 
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node_set
matched token #134 : 
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node_set
matched token #134 : 
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos_t
matched token #0 :&
matched token #134 : 
matched token #123 :followpos
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match_t
matched token #0 :&
matched token #134 : 
matched token #123 :state_match
matched token #134 : 
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :node_set
matched token #0 :&
matched token #134 : 
matched token #123 :eof_set
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :ostream
matched token #0 :&
matched token #134 : 
matched token #123 :out
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #84 :private
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :m_node_num
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #77 :inline
matched token #135 :

matched token #123 :eof_node
matched token #40 :::
matched token #123 :eof_node
matched token #21 :(
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #9 ::
matched token #134 : 
matched token #123 :node
matched token #21 :(
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_node_num
matched token #21 :(
matched token #123 :node
matched token #40 :::
matched token #123 :leaf_count
matched token #33 :++
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :eof_node
matched token #40 :::
matched token #123 :eof_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :eof_node
matched token #0 :&
matched token #134 : 
matched token #123 :x
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #9 ::
matched token #134 : 
matched token #123 :node
matched token #21 :(
matched token #123 :x
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_node_num
matched token #21 :(
matched token #123 :node
matched token #40 :::
matched token #123 :leaf_count
matched token #33 :++
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #135 :

matched token #123 :eof_node
matched token #40 :::
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :eof_node
matched token #21 :(
matched token #46 :*
matched token #98 :this
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #51 :bool
matched token #134 : 
matched token #135 :

matched token #123 :eof_node
matched token #40 :::
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #52 :false
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node_set
matched token #134 : 
matched token #135 :

matched token #123 :eof_node
matched token #40 :::
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :rval
matched token #12 :.
matched token #123 :insert
matched token #21 :(
matched token #123 :m_node_num
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node_set
matched token #134 : 
matched token #135 :

matched token #123 :eof_node
matched token #40 :::
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :rval
matched token #12 :.
matched token #123 :insert
matched token #21 :(
matched token #123 :m_node_num
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :eof_node
matched token #40 :::
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos_t
matched token #0 :&
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #135 :

matched token #123 :eof_node
matched token #40 :::
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match_t
matched token #0 :&
matched token #134 : 
matched token #123 :state_match
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :state_match
matched token #12 :.
matched token #123 :size
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #123 :m_node_num
matched token #134 : 
matched token #31 :+
matched token #134 : 
matched token #125 :1
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #123 :state_match
matched token #12 :.
matched token #123 :resize
matched token #21 :(
matched token #123 :m_node_num
matched token #134 : 
matched token #31 :+
matched token #134 : 
matched token #125 :1
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :state_match
matched token #22 :[
matched token #123 :m_node_num
matched token #39 :]
matched token #12 :.
matched token #123 :resize
matched token #21 :(
matched token #125 :256
matched token #8 :,
matched token #134 : 
matched token #124 :0
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :eof_node
matched token #40 :::
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :node_set
matched token #0 :&
matched token #134 : 
matched token #123 :eof_nodes
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :eof_nodes
matched token #12 :.
matched token #123 :insert
matched token #21 :(
matched token #123 :m_node_num
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :eof_node
matched token #40 :::
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :ostream
matched token #0 :&
matched token #134 : 
matched token #123 :out
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :"\neof_node"
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" m_node_num = "
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #123 :m_node_num
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" nullable() = "
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #21 :(
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #36 :?
matched token #134 : 
matched token #132 :"true"
matched token #134 : 
matched token #9 ::
matched token #134 : 
matched token #132 :"false"
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" firstpos() = "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :fp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :copy
matched token #21 :(
matched token #123 :fp
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :fp
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :ostream_iterator
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #21 :(
matched token #123 :out
matched token #8 :,
matched token #134 : 
matched token #132 :","
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" lastpos() = "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :lp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :copy
matched token #21 :(
matched token #123 :lp
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :lp
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :ostream_iterator
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #21 :(
matched token #123 :out
matched token #8 :,
matched token #134 : 
matched token #132 :","
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :ccl_node
matched token #134 : 
matched token #9 ::
matched token #134 : 
matched token #86 :public
matched token #134 : 
matched token #123 :node
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #135 :

matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :	
matched token #123 :ccl_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :vector
matched token #19 :<
matched token #123 :uchar
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :v
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :ccl_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :uchar
matched token #134 : 
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #123 :uchar
matched token #134 : 
matched token #123 :c2
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :ccl_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :ccl_node
matched token #0 :&
matched token #134 : 
matched token #123 :x
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #47 :~
matched token #123 :ccl_node
matched token #21 :(
matched token #38 :)
matched token #18 :{
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #51 :bool
matched token #134 : 
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node_set
matched token #134 : 
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node_set
matched token #134 : 
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos_t
matched token #0 :&
matched token #134 : 
matched token #123 :followpos
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match_t
matched token #0 :&
matched token #134 : 
matched token #123 :state_match
matched token #134 : 
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :node_set
matched token #0 :&
matched token #134 : 
matched token #123 :eof_set
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :ostream
matched token #0 :&
matched token #134 : 
matched token #123 :out
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #84 :private
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :vector
matched token #19 :<
matched token #123 :uchar
matched token #16 :>
matched token #134 : 
matched token #123 :m_match
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :m_node_num
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #123 :ccl_node
matched token #40 :::
matched token #123 :ccl_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :vector
matched token #19 :<
matched token #123 :uchar
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :v
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #9 ::
matched token #134 : 
matched token #123 :node
matched token #21 :(
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_match
matched token #21 :(
matched token #123 :v
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_node_num
matched token #21 :(
matched token #123 :node
matched token #40 :::
matched token #123 :leaf_count
matched token #33 :++
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :m_match
matched token #12 :.
matched token #123 :resize
matched token #21 :(
matched token #125 :256
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #130 :// make sure it's the right size
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :ccl_node
matched token #40 :::
matched token #123 :ccl_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :uchar
matched token #134 : 
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #123 :uchar
matched token #134 : 
matched token #123 :c2
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #9 ::
matched token #134 : 
matched token #123 :node
matched token #21 :(
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_match
matched token #21 :(
matched token #125 :256
matched token #8 :,
matched token #134 : 
matched token #124 :0
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_node_num
matched token #21 :(
matched token #123 :node
matched token #40 :::
matched token #123 :leaf_count
matched token #33 :++
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :assert
matched token #21 :(
matched token #123 :c1
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #123 :c2
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #123 :size_t
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :c1
matched token #41 :;
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #20 :<=
matched token #134 : 
matched token #123 :c2
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :i
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :m_match
matched token #22 :[
matched token #123 :i
matched token #39 :]
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #125 :1
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :ccl_node
matched token #40 :::
matched token #123 :ccl_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :ccl_node
matched token #0 :&
matched token #134 : 
matched token #123 :x
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #9 ::
matched token #134 : 
matched token #123 :node
matched token #21 :(
matched token #123 :x
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_match
matched token #21 :(
matched token #123 :x
matched token #12 :.
matched token #123 :m_match
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_node_num
matched token #21 :(
matched token #123 :node
matched token #40 :::
matched token #123 :leaf_count
matched token #33 :++
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #135 :

matched token #123 :ccl_node
matched token #40 :::
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :ccl_node
matched token #21 :(
matched token #46 :*
matched token #98 :this
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #51 :bool
matched token #134 : 
matched token #135 :

matched token #123 :ccl_node
matched token #40 :::
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #52 :false
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node_set
matched token #134 : 
matched token #135 :

matched token #123 :ccl_node
matched token #40 :::
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :rval
matched token #12 :.
matched token #123 :insert
matched token #21 :(
matched token #123 :m_node_num
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node_set
matched token #134 : 
matched token #135 :

matched token #123 :ccl_node
matched token #40 :::
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :ccl_node
matched token #40 :::
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos_t
matched token #0 :&
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #135 :

matched token #123 :ccl_node
matched token #40 :::
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match_t
matched token #0 :&
matched token #134 : 
matched token #123 :state_match
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :state_match
matched token #12 :.
matched token #123 :size
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #123 :m_node_num
matched token #134 : 
matched token #31 :+
matched token #134 : 
matched token #125 :1
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #123 :state_match
matched token #12 :.
matched token #123 :resize
matched token #21 :(
matched token #123 :m_node_num
matched token #134 : 
matched token #31 :+
matched token #134 : 
matched token #125 :1
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :state_match
matched token #22 :[
matched token #123 :m_node_num
matched token #39 :]
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_match
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :ccl_node
matched token #40 :::
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :node_set
matched token #0 :&
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :ccl_node
matched token #40 :::
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :ostream
matched token #0 :&
matched token #134 : 
matched token #123 :out
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :"\nccl_node m_match = "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #123 :size_t
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #123 :m_match
matched token #12 :.
matched token #123 :size
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :i
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :m_match
matched token #22 :[
matched token #123 :i
matched token #39 :]
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :", "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" m_node_num = "
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #123 :m_node_num
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" nullable() = "
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #21 :(
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #36 :?
matched token #134 : 
matched token #132 :"true"
matched token #134 : 
matched token #9 ::
matched token #134 : 
matched token #132 :"false"
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" firstpos() = "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :fp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :copy
matched token #21 :(
matched token #123 :fp
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :fp
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :ostream_iterator
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #21 :(
matched token #123 :out
matched token #8 :,
matched token #134 : 
matched token #132 :","
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" lastpos() = "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :lp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :copy
matched token #21 :(
matched token #123 :lp
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :lp
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :ostream_iterator
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #21 :(
matched token #123 :out
matched token #8 :,
matched token #134 : 
matched token #132 :","
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #135 :

matched token #123 :node_id_t
matched token #134 : 
matched token #123 :node
matched token #40 :::
matched token #123 :leaf_count
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :IteratorT
matched token #16 :>
matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :make_concat
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :make_concat
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :the_stack
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #9 ::
matched token #134 : 
matched token #123 :m_stack
matched token #21 :(
matched token #123 :the_stack
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #108 :void
matched token #134 : 
matched token #83 :operator
matched token #21 :(
matched token #38 :)
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :IteratorT
matched token #0 :&
matched token #8 :,
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #123 :IteratorT
matched token #0 :&
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :right
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_stack
matched token #12 :.
matched token #123 :top
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :m_stack
matched token #12 :.
matched token #123 :pop
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :left
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_stack
matched token #12 :.
matched token #123 :top
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :m_stack
matched token #12 :.
matched token #123 :pop
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :newnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :cat_node
matched token #21 :(
matched token #123 :left
matched token #8 :,
matched token #134 : 
matched token #123 :right
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :m_stack
matched token #12 :.
matched token #123 :push
matched token #21 :(
matched token #123 :newnode
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :m_stack
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :CharT
matched token #16 :>
matched token #135 :

matched token #105 :unsigned
matched token #134 : 
matched token #57 :char
matched token #134 : 
matched token #123 :get_byte
matched token #21 :(
matched token #123 :CharT
matched token #134 : 
matched token #123 :c
matched token #8 :,
matched token #134 : 
matched token #105 :unsigned
matched token #134 : 
matched token #78 :int
matched token #134 : 
matched token #123 :byte
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #93 :static
matched token #134 : 
matched token #105 :unsigned
matched token #134 : 
matched token #79 :long
matched token #134 : 
matched token #123 :mask
matched token #22 :[
matched token #39 :]
matched token #134 : 
matched token #2 :=
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #126 :0xFF000000
matched token #8 :,
matched token #135 :

matched token #134 :        
matched token #126 :0x00FF0000
matched token #8 :,
matched token #135 :

matched token #134 :        
matched token #126 :0x0000FF00
matched token #8 :,
matched token #135 :

matched token #134 :        
matched token #126 :0x000000FF
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #21 :(
matched token #123 :c
matched token #134 : 
matched token #0 :&
matched token #134 : 
matched token #123 :mask
matched token #22 :[
matched token #123 :byte
matched token #39 :]
matched token #38 :)
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #21 :(
matched token #21 :(
matched token #92 :sizeof
matched token #21 :(
matched token #123 :c
matched token #38 :)
matched token #134 : 
matched token #23 :-
matched token #134 : 
matched token #125 :1
matched token #134 : 
matched token #23 :-
matched token #134 : 
matched token #123 :byte
matched token #38 :)
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #125 :8
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :IteratorT
matched token #16 :>
matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :make_char
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #134 :    
matched token #101 :typedef
matched token #134 : 
matched token #103 :typename
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :iterator_traits
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #40 :::
matched token #123 :value_type
matched token #134 : 
matched token #123 :char_t
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :make_char
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :the_stack
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #9 ::
matched token #134 : 
matched token #123 :m_stack
matched token #21 :(
matched token #123 :the_stack
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #108 :void
matched token #134 : 
matched token #83 :operator
matched token #21 :(
matched token #38 :)
matched token #21 :(
matched token #123 :IteratorT
matched token #0 :&
matched token #134 : 
matched token #123 :first
matched token #8 :,
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #123 :IteratorT
matched token #0 :&
matched token #134 : 
matched token #123 :last
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :newnode
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :char_t
matched token #134 : 
matched token #123 :the_char
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :lex_escape_ch_p
matched token #22 :[
matched token #123 :ref
matched token #21 :(
matched token #123 :the_char
matched token #38 :)
matched token #39 :]
matched token #12 :.
matched token #123 :parse
matched token #21 :(
matched token #123 :first
matched token #8 :,
matched token #134 : 
matched token #123 :last
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #92 :sizeof
matched token #21 :(
matched token #46 :*
matched token #123 :first
matched token #38 :)
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #125 :1
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #123 :newnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :char_node
matched token #21 :(
matched token #123 :the_char
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #134 :        
matched token #68 :else
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #123 :newnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :char_node
matched token #21 :(
matched token #123 :get_byte
matched token #21 :(
matched token #123 :the_char
matched token #8 :,
matched token #134 : 
matched token #124 :0
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #105 :unsigned
matched token #134 : 
matched token #78 :int
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #125 :1
matched token #41 :;
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #92 :sizeof
matched token #21 :(
matched token #123 :the_char
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :i
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #18 :{
matched token #135 :

matched token #134 :                
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :cnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :char_node
matched token #21 :(
matched token #123 :get_byte
matched token #21 :(
matched token #123 :the_char
matched token #8 :,
matched token #134 : 
matched token #123 :i
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :top_node
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :cat_node
matched token #21 :(
matched token #123 :newnode
matched token #8 :,
matched token #134 : 
matched token #123 :cnode
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #123 :newnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :top_node
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #37 :}
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #134 :        
matched token #123 :m_stack
matched token #12 :.
matched token #123 :push
matched token #21 :(
matched token #123 :newnode
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :m_stack
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :IteratorT
matched token #16 :>
matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :make_star
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #134 :    
matched token #101 :typedef
matched token #134 : 
matched token #103 :typename
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :iterator_traits
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #40 :::
matched token #123 :value_type
matched token #134 : 
matched token #123 :char_t
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :make_star
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :the_stack
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #9 ::
matched token #134 : 
matched token #123 :m_stack
matched token #21 :(
matched token #123 :the_stack
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #108 :void
matched token #134 : 
matched token #83 :operator
matched token #21 :(
matched token #38 :)
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :char_t
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :left
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_stack
matched token #12 :.
matched token #123 :top
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :m_stack
matched token #12 :.
matched token #123 :pop
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :newnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :star_node
matched token #21 :(
matched token #123 :left
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :m_stack
matched token #12 :.
matched token #123 :push
matched token #21 :(
matched token #123 :newnode
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :m_stack
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :IteratorT
matched token #16 :>
matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :make_or
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :make_or
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :the_stack
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #9 ::
matched token #134 : 
matched token #123 :m_stack
matched token #21 :(
matched token #123 :the_stack
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #108 :void
matched token #134 : 
matched token #83 :operator
matched token #21 :(
matched token #38 :)
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :IteratorT
matched token #0 :&
matched token #8 :,
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #123 :IteratorT
matched token #0 :&
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :right
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_stack
matched token #12 :.
matched token #123 :top
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :m_stack
matched token #12 :.
matched token #123 :pop
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :left
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_stack
matched token #12 :.
matched token #123 :top
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :m_stack
matched token #12 :.
matched token #123 :pop
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :newnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :or_node
matched token #21 :(
matched token #123 :left
matched token #8 :,
matched token #134 : 
matched token #123 :right
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :m_stack
matched token #12 :.
matched token #123 :push
matched token #21 :(
matched token #123 :newnode
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :m_stack
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :IteratorT
matched token #16 :>
matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :make_plus
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #134 :    
matched token #101 :typedef
matched token #134 : 
matched token #103 :typename
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :iterator_traits
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #40 :::
matched token #123 :value_type
matched token #134 : 
matched token #123 :char_t
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :make_plus
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :the_stack
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #9 ::
matched token #134 : 
matched token #123 :m_stack
matched token #21 :(
matched token #123 :the_stack
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #108 :void
matched token #134 : 
matched token #83 :operator
matched token #21 :(
matched token #38 :)
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :char_t
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :left
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_stack
matched token #12 :.
matched token #123 :top
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :m_stack
matched token #12 :.
matched token #123 :pop
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :copy
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :left
matched token #34 :->
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :new_star
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :star_node
matched token #21 :(
matched token #123 :copy
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :new_cat
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :cat_node
matched token #21 :(
matched token #123 :left
matched token #8 :,
matched token #134 : 
matched token #123 :new_star
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :m_stack
matched token #12 :.
matched token #123 :push
matched token #21 :(
matched token #123 :new_cat
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :m_stack
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :IteratorT
matched token #16 :>
matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :make_optional
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #134 :    
matched token #101 :typedef
matched token #134 : 
matched token #103 :typename
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :iterator_traits
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #40 :::
matched token #123 :value_type
matched token #134 : 
matched token #123 :char_t
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :make_optional
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :the_stack
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #9 ::
matched token #134 : 
matched token #123 :m_stack
matched token #21 :(
matched token #123 :the_stack
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #108 :void
matched token #134 : 
matched token #83 :operator
matched token #21 :(
matched token #38 :)
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :char_t
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :left
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_stack
matched token #12 :.
matched token #123 :top
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :m_stack
matched token #12 :.
matched token #123 :pop
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :new_or
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :or_node
matched token #21 :(
matched token #123 :left
matched token #8 :,
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :epsilon_node
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :m_stack
matched token #12 :.
matched token #123 :push
matched token #21 :(
matched token #123 :new_or
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :m_stack
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #81 :namespace
matched token #134 : 
matched token #123 :ccl_utils
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :char_t
matched token #16 :>
matched token #135 :

matched token #134 :    
matched token #123 :impl
matched token #40 :::
matched token #123 :range_run
matched token #19 :<
matched token #123 :char_t
matched token #16 :>
matched token #134 : 
matched token #123 :negate_range_run
matched token #21 :(
matched token #135 :

matched token #134 :            
matched token #59 :const
matched token #134 : 
matched token #123 :impl
matched token #40 :::
matched token #123 :range_run
matched token #19 :<
matched token #123 :char_t
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :rr
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :impl
matched token #40 :::
matched token #123 :range_run
matched token #19 :<
matched token #123 :char_t
matched token #16 :>
matched token #134 : 
matched token #123 :newrr
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :newrr
matched token #12 :.
matched token #123 :set
matched token #21 :(
matched token #123 :impl
matched token #40 :::
matched token #123 :full_range
matched token #19 :<
matched token #123 :char_t
matched token #16 :>
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #123 :impl
matched token #40 :::
matched token #123 :range_run
matched token #19 :<
matched token #123 :char_t
matched token #16 :>
matched token #40 :::
matched token #123 :const_iterator
matched token #134 : 
matched token #123 :iter
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :rr
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #135 :

matched token #134 :                
matched token #123 :iter
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :rr
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :iter
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #123 :newrr
matched token #12 :.
matched token #123 :clear
matched token #21 :(
matched token #46 :*
matched token #123 :iter
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #89 :return
matched token #134 : 
matched token #123 :newrr
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :char_t
matched token #16 :>
matched token #135 :

matched token #134 :    
matched token #108 :void
matched token #134 : 
matched token #123 :create_nodes
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :impl
matched token #40 :::
matched token #123 :range_run
matched token #19 :<
matched token #123 :char_t
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :rr
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :stack
matched token #38 :)
matched token #134 : 
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #92 :sizeof
matched token #21 :(
matched token #123 :char_t
matched token #38 :)
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #125 :1
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :vector
matched token #19 :<
matched token #123 :uchar
matched token #16 :>
matched token #134 : 
matched token #123 :ccl
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #123 :ccl
matched token #12 :.
matched token #123 :resize
matched token #21 :(
matched token #125 :256
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #123 :impl
matched token #40 :::
matched token #123 :range_run
matched token #19 :<
matched token #123 :char_t
matched token #16 :>
matched token #40 :::
matched token #123 :const_iterator
matched token #134 : 
matched token #123 :iter
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :rr
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #135 :

matched token #134 :                    
matched token #123 :iter
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :rr
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :iter
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #18 :{
matched token #135 :

matched token #134 :                
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #78 :int
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :iter
matched token #34 :->
matched token #123 :first
matched token #41 :;
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #20 :<=
matched token #134 : 
matched token #123 :iter
matched token #34 :->
matched token #123 :last
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :i
matched token #38 :)
matched token #135 :

matched token #134 :                
matched token #18 :{
matched token #135 :

matched token #134 :                    
matched token #123 :assert
matched token #21 :(
matched token #123 :uchar
matched token #21 :(
matched token #123 :i
matched token #38 :)
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #125 :256
matched token #134 : 
matched token #1 :&&
matched token #134 : 
matched token #123 :ccl
matched token #12 :.
matched token #123 :size
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #125 :256
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                    
matched token #123 :ccl
matched token #22 :[
matched token #123 :uchar
matched token #21 :(
matched token #123 :i
matched token #38 :)
matched token #39 :]
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #125 :1
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #37 :}
matched token #135 :

matched token #134 :            
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :            
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :new_ccl
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :ccl_node
matched token #21 :(
matched token #123 :ccl
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #123 :stack
matched token #12 :.
matched token #123 :push
matched token #21 :(
matched token #123 :new_ccl
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #134 :        
matched token #68 :else
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #51 :bool
matched token #134 : 
matched token #123 :mb_first_time
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #53 :true
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #123 :impl
matched token #40 :::
matched token #123 :range_run
matched token #19 :<
matched token #123 :char_t
matched token #16 :>
matched token #40 :::
matched token #123 :const_iterator
matched token #134 : 
matched token #123 :iter
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :rr
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #135 :

matched token #134 :                    
matched token #123 :iter
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :rr
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :iter
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #18 :{
matched token #135 :

matched token #134 :                
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :iter
matched token #34 :->
matched token #123 :first
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #123 :iter
matched token #34 :->
matched token #123 :last
matched token #38 :)
matched token #135 :

matched token #134 :                
matched token #18 :{
matched token #135 :

matched token #134 :                    
matched token #123 :handle_mb_char
matched token #21 :(
matched token #123 :iter
matched token #34 :->
matched token #123 :first
matched token #8 :,
matched token #134 : 
matched token #123 :mb_first_time
matched token #8 :,
matched token #134 : 
matched token #123 :stack
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #37 :}
matched token #135 :

matched token #134 :                
matched token #68 :else
matched token #135 :

matched token #134 :                
matched token #18 :{
matched token #135 :

matched token #134 :                    
matched token #123 :handle_mb_range
matched token #21 :(
matched token #123 :iter
matched token #34 :->
matched token #123 :first
matched token #8 :,
matched token #134 : 
matched token #123 :iter
matched token #34 :->
matched token #123 :last
matched token #8 :,
matched token #134 : 
matched token #123 :mb_first_time
matched token #8 :,
matched token #134 : 
matched token #123 :stack
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #37 :}
matched token #135 :

matched token #134 :                
matched token #123 :mb_first_time
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #52 :false
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #37 :}
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :char_t
matched token #16 :>
matched token #135 :

matched token #134 :    
matched token #108 :void
matched token #134 : 
matched token #123 :handle_mb_char
matched token #21 :(
matched token #123 :char_t
matched token #134 : 
matched token #123 :c
matched token #8 :,
matched token #134 : 
matched token #51 :bool
matched token #134 : 
matched token #123 :first_time
matched token #8 :,
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :stack
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :newnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :create_mb_node_seq
matched token #21 :(
matched token #123 :c
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :first_time
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #123 :stack
matched token #12 :.
matched token #123 :push
matched token #21 :(
matched token #123 :newnode
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #134 :        
matched token #68 :else
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :top
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :stack
matched token #12 :.
matched token #123 :top
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #123 :stack
matched token #12 :.
matched token #123 :pop
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :            
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :newtop
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :or_node
matched token #21 :(
matched token #123 :top
matched token #8 :,
matched token #134 : 
matched token #123 :newnode
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #123 :stack
matched token #12 :.
matched token #123 :push
matched token #21 :(
matched token #123 :newtop
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :char_t
matched token #16 :>
matched token #135 :

matched token #134 :    
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :create_mb_node_seq
matched token #21 :(
matched token #123 :char_t
matched token #134 : 
matched token #123 :c
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :newnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :char_node
matched token #21 :(
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c
matched token #8 :,
matched token #134 : 
matched token #124 :0
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #105 :unsigned
matched token #134 : 
matched token #78 :int
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #125 :1
matched token #41 :;
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #92 :sizeof
matched token #21 :(
matched token #123 :c
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :i
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :cnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :char_node
matched token #21 :(
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c
matched token #8 :,
matched token #134 : 
matched token #123 :i
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :top_node
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :cat_node
matched token #21 :(
matched token #123 :newnode
matched token #8 :,
matched token #134 : 
matched token #123 :cnode
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #123 :newnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :top_node
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #134 :        
matched token #89 :return
matched token #134 : 
matched token #123 :newnode
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :char_t
matched token #16 :>
matched token #135 :

matched token #134 :    
matched token #123 :size_t
matched token #134 : 
matched token #123 :compute_differing_byte
matched token #21 :(
matched token #123 :char_t
matched token #134 : 
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #123 :char_t
matched token #134 : 
matched token #123 :c2
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :size_t
matched token #134 : 
matched token #123 :rval
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #111 :while
matched token #134 : 
matched token #21 :(
matched token #123 :rval
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #92 :sizeof
matched token #21 :(
matched token #123 :c1
matched token #38 :)
matched token #134 : 
matched token #1 :&&
matched token #134 : 
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #123 :rval
matched token #38 :)
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c2
matched token #8 :,
matched token #134 : 
matched token #123 :rval
matched token #38 :)
matched token #38 :)
matched token #135 :

matched token #134 :           
matched token #33 :++
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #89 :return
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #134 : 
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :char_t
matched token #16 :>
matched token #135 :

matched token #134 :    
matched token #108 :void
matched token #134 : 
matched token #123 :handle_mb_range
matched token #21 :(
matched token #123 :char_t
matched token #134 : 
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #123 :char_t
matched token #134 : 
matched token #123 :c2
matched token #8 :,
matched token #134 : 
matched token #51 :bool
matched token #134 : 
matched token #123 :first_time
matched token #8 :,
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :stack
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #130 :// The algorithm can't handle negative value chars, which don't make
matched token #135 :

matched token #134 :        
matched token #130 :// much sense anyway.
matched token #135 :

matched token #134 :        
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :c1
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #124 :0
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #123 :c1
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #123 :assert
matched token #21 :(
matched token #123 :c1
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #123 :c2
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :newnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :savednode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #59 :const
matched token #134 : 
matched token #123 :size_t
matched token #134 : 
matched token #123 :differing_byte
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :compute_differing_byte
matched token #21 :(
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #123 :c2
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #59 :const
matched token #134 : 
matched token #123 :size_t
matched token #134 : 
matched token #123 :sizem1
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #92 :sizeof
matched token #21 :(
matched token #123 :c1
matched token #38 :)
matched token #134 : 
matched token #23 :-
matched token #134 : 
matched token #125 :1
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #59 :const
matched token #134 : 
matched token #123 :size_t
matched token #134 : 
matched token #123 :ndb
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :sizem1
matched token #134 : 
matched token #23 :-
matched token #134 : 
matched token #123 :differing_byte
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #123 :size_t
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :differing_byte
matched token #41 :;
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #92 :sizeof
matched token #21 :(
matched token #123 :c1
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :i
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #130 :// generate node for the first byte
matched token #135 :

matched token #134 :            
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :differing_byte
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #124 :0
matched token #134 : 
matched token #1 :&&
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #123 :ndb
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #18 :{
matched token #135 :

matched token #134 :                
matched token #123 :size_t
matched token #134 : 
matched token #123 :diff
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c2
matched token #8 :,
matched token #134 : 
matched token #124 :0
matched token #38 :)
matched token #134 : 
matched token #23 :-
matched token #134 : 
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #124 :0
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :diff
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #125 :1
matched token #38 :)
matched token #135 :

matched token #134 :                    
matched token #61 :continue
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #68 :else
matched token #134 : 
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :diff
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #125 :2
matched token #38 :)
matched token #135 :

matched token #134 :                    
matched token #123 :newnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :char_node
matched token #21 :(
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #124 :0
matched token #38 :)
matched token #134 : 
matched token #31 :+
matched token #134 : 
matched token #125 :1
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #68 :else
matched token #135 :

matched token #134 :                    
matched token #123 :newnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :ccl_node
matched token #21 :(
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #124 :0
matched token #38 :)
matched token #134 : 
matched token #31 :+
matched token #134 : 
matched token #125 :1
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :                            
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c2
matched token #8 :,
matched token #134 : 
matched token #124 :0
matched token #38 :)
matched token #134 : 
matched token #23 :-
matched token #134 : 
matched token #125 :1
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #37 :}
matched token #135 :

matched token #134 :            
matched token #68 :else
matched token #135 :

matched token #134 :            
matched token #18 :{
matched token #135 :

matched token #134 :                
matched token #123 :newnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :char_node
matched token #21 :(
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #124 :0
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #37 :}
matched token #135 :

matched token #134 :            
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #123 :size_t
matched token #134 : 
matched token #123 :j
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #125 :1
matched token #41 :;
matched token #134 : 
matched token #123 :j
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #92 :sizeof
matched token #21 :(
matched token #123 :c1
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :j
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #18 :{
matched token #135 :

matched token #134 :                
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :cnode
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :i
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #123 :sizem1
matched token #134 : 
matched token #1 :&&
matched token #134 : 
matched token #123 :j
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #123 :differing_byte
matched token #134 : 
matched token #1 :&&
matched token #134 : 
matched token #123 :j
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :sizem1
matched token #38 :)
matched token #135 :

matched token #134 :                
matched token #18 :{
matched token #135 :

matched token #134 :                    
matched token #123 :size_t
matched token #134 : 
matched token #123 :diff
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c2
matched token #8 :,
matched token #134 : 
matched token #123 :j
matched token #38 :)
matched token #134 : 
matched token #23 :-
matched token #134 : 
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #123 :j
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                    
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :diff
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #125 :1
matched token #38 :)
matched token #135 :

matched token #134 :                    
matched token #18 :{
matched token #135 :

matched token #134 :                        
matched token #64 :delete
matched token #134 : 
matched token #123 :newnode
matched token #41 :;
matched token #135 :

matched token #134 :                        
matched token #75 :goto
matched token #134 : 
matched token #123 :end_outer_for
matched token #41 :;
matched token #134 : 
matched token #130 :// got to skip this entire section
matched token #135 :

matched token #134 :                    
matched token #37 :}
matched token #135 :

matched token #134 :                    
matched token #68 :else
matched token #134 : 
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :diff
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #125 :2
matched token #38 :)
matched token #135 :

matched token #134 :                        
matched token #123 :cnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :char_node
matched token #21 :(
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #123 :j
matched token #38 :)
matched token #31 :+
matched token #125 :1
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                    
matched token #68 :else
matched token #134 : 
matched token #135 :

matched token #134 :                        
matched token #123 :cnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :ccl_node
matched token #21 :(
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #123 :j
matched token #38 :)
matched token #31 :+
matched token #125 :1
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :                                
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c2
matched token #8 :,
matched token #134 : 
matched token #123 :j
matched token #38 :)
matched token #23 :-
matched token #125 :1
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :                
matched token #68 :else
matched token #134 : 
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :i
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #123 :differing_byte
matched token #134 : 
matched token #1 :&&
matched token #134 : 
matched token #123 :j
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #123 :sizem1
matched token #38 :)
matched token #135 :

matched token #134 :                
matched token #18 :{
matched token #135 :

matched token #134 :                    
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :i
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :sizem1
matched token #38 :)
matched token #135 :

matched token #134 :                        
matched token #123 :cnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :ccl_node
matched token #21 :(
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #123 :j
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #126 :0xFF
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                    
matched token #68 :else
matched token #135 :

matched token #134 :                        
matched token #123 :cnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :ccl_node
matched token #21 :(
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #123 :j
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c2
matched token #8 :,
matched token #134 : 
matched token #123 :j
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :                
matched token #68 :else
matched token #134 : 
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :i
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :differing_byte
matched token #134 : 
matched token #1 :&&
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :sizem1
matched token #134 : 
matched token #1 :&&
matched token #134 : 
matched token #135 :

matched token #134 :                        
matched token #123 :j
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #21 :(
matched token #123 :sizem1
matched token #134 : 
matched token #23 :-
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #31 :+
matched token #134 : 
matched token #123 :differing_byte
matched token #38 :)
matched token #38 :)
matched token #135 :

matched token #134 :                    
matched token #123 :cnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :ccl_node
matched token #21 :(
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #123 :j
matched token #38 :)
matched token #31 :+
matched token #125 :1
matched token #8 :,
matched token #134 : 
matched token #126 :0xFF
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :                
matched token #68 :else
matched token #134 : 
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :i
matched token #134 : 
matched token #31 :+
matched token #134 : 
matched token #123 :j
matched token #134 : 
matched token #23 :-
matched token #134 : 
matched token #123 :differing_byte
matched token #134 : 
matched token #16 :>
matched token #134 : 
matched token #123 :sizem1
matched token #38 :)
matched token #135 :

matched token #134 :                    
matched token #123 :cnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :ccl_node
matched token #21 :(
matched token #124 :0
matched token #8 :,
matched token #134 : 
matched token #126 :0xFF
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :                
matched token #68 :else
matched token #134 : 
matched token #130 ://if (is plain)
matched token #135 :

matched token #134 :                    
matched token #123 :cnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :char_node
matched token #21 :(
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #123 :j
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #135 :

matched token #134 :                
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :top_node
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :cat_node
matched token #21 :(
matched token #123 :newnode
matched token #8 :,
matched token #134 : 
matched token #123 :cnode
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #123 :newnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :top_node
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :            
matched token #130 :// or together the various parts
matched token #135 :

matched token #134 :            
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :savednode
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #18 :{
matched token #135 :

matched token #134 :                
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :top_node
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :or_node
matched token #21 :(
matched token #123 :savednode
matched token #8 :,
matched token #134 : 
matched token #123 :newnode
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #123 :savednode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :top_node
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #37 :}
matched token #135 :

matched token #134 :            
matched token #68 :else
matched token #135 :

matched token #134 :            
matched token #18 :{
matched token #135 :

matched token #134 :                
matched token #123 :savednode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :newnode
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #37 :}
matched token #135 :

matched token #123 :end_outer_for
matched token #9 ::
matched token #135 :

matched token #134 :            
matched token #61 :continue
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #130 :// the silly cast is to get rid of a gcc warning, when sizem1 == 0
matched token #135 :

matched token #134 :        
matched token #130 :// which happens when CharT=char
matched token #135 :

matched token #134 :        
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #123 :size_t
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #123 :ndb
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :i
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #123 :newnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :char_node
matched token #21 :(
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c2
matched token #8 :,
matched token #134 : 
matched token #124 :0
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #123 :size_t
matched token #134 : 
matched token #123 :j
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #125 :1
matched token #41 :;
matched token #134 : 
matched token #123 :j
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #92 :sizeof
matched token #21 :(
matched token #123 :c2
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :j
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #18 :{
matched token #135 :

matched token #134 :                
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :cnode
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :i
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #123 :differing_byte
matched token #134 : 
matched token #1 :&&
matched token #134 : 
matched token #123 :j
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #123 :sizem1
matched token #134 : 
matched token #1 :&&
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :sizem1
matched token #38 :)
matched token #135 :

matched token #134 :                    
matched token #123 :cnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :ccl_node
matched token #21 :(
matched token #124 :0
matched token #8 :,
matched token #134 : 
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c2
matched token #8 :,
matched token #134 : 
matched token #123 :j
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :                
matched token #68 :else
matched token #134 : 
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :i
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :differing_byte
matched token #134 : 
matched token #1 :&&
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :sizem1
matched token #134 : 
matched token #1 :&&
matched token #134 : 
matched token #135 :

matched token #134 :                        
matched token #123 :j
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #21 :(
matched token #123 :sizem1
matched token #134 : 
matched token #23 :-
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #31 :+
matched token #134 : 
matched token #123 :differing_byte
matched token #38 :)
matched token #38 :)
matched token #135 :

matched token #134 :                    
matched token #123 :cnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :ccl_node
matched token #21 :(
matched token #124 :0
matched token #8 :,
matched token #134 : 
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c2
matched token #8 :,
matched token #134 : 
matched token #123 :j
matched token #38 :)
matched token #23 :-
matched token #125 :1
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :                
matched token #68 :else
matched token #134 : 
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :i
matched token #134 : 
matched token #31 :+
matched token #134 : 
matched token #123 :j
matched token #134 : 
matched token #23 :-
matched token #134 : 
matched token #123 :differing_byte
matched token #134 : 
matched token #16 :>
matched token #134 : 
matched token #123 :sizem1
matched token #38 :)
matched token #135 :

matched token #134 :                    
matched token #123 :cnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :ccl_node
matched token #21 :(
matched token #124 :0
matched token #8 :,
matched token #134 : 
matched token #126 :0xFF
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :                
matched token #68 :else
matched token #134 : 
matched token #130 ://if (is plain)
matched token #135 :

matched token #134 :                    
matched token #123 :cnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :char_node
matched token #21 :(
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c2
matched token #8 :,
matched token #134 : 
matched token #123 :j
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #135 :

matched token #134 :                
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :top_node
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :cat_node
matched token #21 :(
matched token #123 :newnode
matched token #8 :,
matched token #134 : 
matched token #123 :cnode
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #123 :newnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :top_node
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :            
matched token #130 :// or together the various parts
matched token #135 :

matched token #134 :            
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :savednode
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #18 :{
matched token #135 :

matched token #134 :                
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :top_node
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :or_node
matched token #21 :(
matched token #123 :savednode
matched token #8 :,
matched token #134 : 
matched token #123 :newnode
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #123 :savednode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :top_node
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #37 :}
matched token #135 :

matched token #134 :            
matched token #68 :else
matched token #135 :

matched token #134 :            
matched token #18 :{
matched token #135 :

matched token #134 :                
matched token #123 :savednode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :newnode
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #37 :}
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #135 :

matched token #134 :        
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :first_time
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #123 :stack
matched token #12 :.
matched token #123 :push
matched token #21 :(
matched token #123 :savednode
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #134 :        
matched token #68 :else
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :top
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :stack
matched token #12 :.
matched token #123 :top
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #123 :stack
matched token #12 :.
matched token #123 :pop
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :            
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :newtop
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :or_node
matched token #21 :(
matched token #123 :top
matched token #8 :,
matched token #134 : 
matched token #123 :savednode
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #123 :stack
matched token #12 :.
matched token #123 :push
matched token #21 :(
matched token #123 :newtop
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #37 :}
matched token #134 : 
matched token #130 :// namespace ccl_utils
matched token #135 :

matched token #135 :

matched token #135 :

matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :IteratorT
matched token #16 :>
matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :make_ccl
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #134 :    
matched token #101 :typedef
matched token #134 : 
matched token #103 :typename
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :iterator_traits
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #40 :::
matched token #123 :value_type
matched token #134 : 
matched token #123 :char_t
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :make_ccl
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :the_stack
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #9 ::
matched token #134 : 
matched token #123 :m_stack
matched token #21 :(
matched token #123 :the_stack
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #108 :void
matched token #134 : 
matched token #83 :operator
matched token #21 :(
matched token #38 :)
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :IteratorT
matched token #0 :&
matched token #134 : 
matched token #123 :first_
matched token #8 :,
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #123 :IteratorT
matched token #0 :&
matched token #134 : 
matched token #123 :last
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :IteratorT
matched token #134 : 
matched token #123 :first
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :first_
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #123 :assert
matched token #21 :(
matched token #46 :*
matched token #123 :first
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #131 :'['
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #33 :++
matched token #123 :first
matched token #41 :;
matched token #134 : 
matched token #130 :// skip over '['
matched token #135 :

matched token #134 :        
matched token #51 :bool
matched token #134 : 
matched token #123 :negated_ccl
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #52 :false
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #46 :*
matched token #123 :first
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #131 :'^'
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #123 :negated_ccl
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #53 :true
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #33 :++
matched token #123 :first
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #123 :impl
matched token #40 :::
matched token #123 :range_run
matched token #19 :<
matched token #123 :char_t
matched token #16 :>
matched token #134 : 
matched token #123 :rr
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #111 :while
matched token #134 : 
matched token #21 :(
matched token #123 :first
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :last
matched token #134 : 
matched token #1 :&&
matched token #134 : 
matched token #46 :*
matched token #123 :first
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #131 :']'
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #46 :*
matched token #123 :first
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #131 :'['
matched token #38 :)
matched token #134 : 
matched token #130 :// it's a ccl_expr like [:space:]
matched token #135 :

matched token #134 :            
matched token #18 :{
matched token #135 :

matched token #134 :                
matched token #130 :// TODO: write this
matched token #135 :

matched token #134 :            
matched token #37 :}
matched token #135 :

matched token #134 :            
matched token #68 :else
matched token #135 :

matched token #134 :            
matched token #18 :{
matched token #135 :

matched token #134 :                
matched token #123 :char_t
matched token #134 : 
matched token #123 :c1
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #123 :lex_escape_ch_p
matched token #22 :[
matched token #123 :ref
matched token #21 :(
matched token #123 :c1
matched token #38 :)
matched token #39 :]
matched token #12 :.
matched token #123 :parse
matched token #21 :(
matched token #123 :first
matched token #8 :,
matched token #134 : 
matched token #123 :last
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #46 :*
matched token #123 :first
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #131 :'-'
matched token #38 :)
matched token #134 : 
matched token #130 :// insert a range
matched token #135 :

matched token #134 :                
matched token #18 :{
matched token #135 :

matched token #134 :                    
matched token #33 :++
matched token #123 :first
matched token #41 :;
matched token #135 :

matched token #134 :                    
matched token #123 :char_t
matched token #134 : 
matched token #123 :c2
matched token #41 :;
matched token #135 :

matched token #134 :                    
matched token #123 :lex_escape_ch_p
matched token #22 :[
matched token #123 :ref
matched token #21 :(
matched token #123 :c2
matched token #38 :)
matched token #39 :]
matched token #12 :.
matched token #123 :parse
matched token #21 :(
matched token #123 :first
matched token #8 :,
matched token #134 : 
matched token #123 :last
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                    
matched token #123 :assert
matched token #21 :(
matched token #123 :c1
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #123 :c2
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #130 :// Throw exception?
matched token #135 :

matched token #134 :                    
matched token #123 :rr
matched token #12 :.
matched token #123 :set
matched token #21 :(
matched token #123 :impl
matched token #40 :::
matched token #123 :range
matched token #19 :<
matched token #123 :char_t
matched token #16 :>
matched token #21 :(
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #123 :c2
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #37 :}
matched token #135 :

matched token #134 :                
matched token #68 :else
matched token #134 : 
matched token #130 :// insert 1 char
matched token #135 :

matched token #134 :                
matched token #18 :{
matched token #135 :

matched token #134 :                    
matched token #123 :rr
matched token #12 :.
matched token #123 :set
matched token #21 :(
matched token #123 :impl
matched token #40 :::
matched token #123 :range
matched token #19 :<
matched token #123 :char_t
matched token #16 :>
matched token #21 :(
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #123 :c1
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #37 :}
matched token #135 :

matched token #134 :            
matched token #37 :}
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :negated_ccl
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #123 :rr
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :ccl_utils
matched token #40 :::
matched token #123 :negate_range_run
matched token #21 :(
matched token #123 :rr
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #123 :ccl_utils
matched token #40 :::
matched token #123 :create_nodes
matched token #21 :(
matched token #123 :rr
matched token #8 :,
matched token #134 : 
matched token #123 :m_stack
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :m_stack
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :IteratorT
matched token #16 :>
matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :make_any_char
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #134 :    
matched token #101 :typedef
matched token #134 : 
matched token #103 :typename
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :iterator_traits
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #40 :::
matched token #123 :value_type
matched token #134 : 
matched token #123 :char_t
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :m_stack
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :make_any_char
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :the_stack
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #9 ::
matched token #134 : 
matched token #123 :m_stack
matched token #21 :(
matched token #123 :the_stack
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #108 :void
matched token #134 : 
matched token #83 :operator
matched token #21 :(
matched token #38 :)
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :char_t
matched token #134 : 
matched token #123 :c
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :assert
matched token #21 :(
matched token #123 :c
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #131 :'.'
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :do_any_char
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #108 :void
matched token #134 : 
matched token #123 :do_any_char
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #93 :static
matched token #134 : 
matched token #123 :impl
matched token #40 :::
matched token #123 :range_run
matched token #19 :<
matched token #123 :char_t
matched token #16 :>
matched token #134 : 
matched token #123 :rr
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :rr
matched token #12 :.
matched token #123 :set
matched token #21 :(
matched token #123 :impl
matched token #40 :::
matched token #123 :full_range
matched token #19 :<
matched token #123 :char_t
matched token #16 :>
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :char_t
matched token #134 : 
matched token #123 :newline
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #131 :'\n'
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :rr
matched token #12 :.
matched token #123 :clear
matched token #21 :(
matched token #123 :impl
matched token #40 :::
matched token #123 :range
matched token #19 :<
matched token #123 :char_t
matched token #16 :>
matched token #21 :(
matched token #123 :newline
matched token #8 :,
matched token #134 : 
matched token #123 :newline
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #123 :ccl_utils
matched token #40 :::
matched token #123 :create_nodes
matched token #21 :(
matched token #123 :rr
matched token #8 :,
matched token #134 : 
matched token #123 :m_stack
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #135 :

matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :IteratorT
matched token #16 :>
matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :grammar
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :	
matched token #101 :typedef
matched token #134 : 
matched token #123 :rule
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #134 : 
matched token #123 :rule_t
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #101 :typedef
matched token #134 : 
matched token #103 :typename
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :iterator_traits
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #40 :::
matched token #123 :value_type
matched token #134 : 
matched token #123 :char_t
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #135 :

matched token #134 :	
matched token #123 :rule_t
matched token #134 : 
matched token #123 :regex
matched token #8 :,
matched token #134 : 
matched token #123 :re
matched token #8 :,
matched token #134 : 
matched token #123 :series
matched token #8 :,
matched token #134 : 
matched token #123 :singleton
matched token #8 :,
matched token #134 : 
matched token #123 :singleton2
matched token #8 :,
matched token #134 : 
matched token #123 :fullccl
matched token #8 :,
matched token #134 : 
matched token #123 :ccl
matched token #8 :,
matched token #134 : 
matched token #123 :string
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :        
matched token #123 :escseq
matched token #8 :,
matched token #134 : 
matched token #123 :ccl_char
matched token #41 :;
matched token #135 :

matched token #134 :	
matched token #123 :symbols
matched token #19 :<
matched token #16 :>
matched token #134 : 
matched token #123 :ccl_expr
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #134 : 
matched token #123 :node_stack
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :	
matched token #123 :grammar
matched token #21 :(
matched token #38 :)
matched token #135 :

matched token #134 :	
matched token #18 :{
matched token #135 :

matched token #134 :		
matched token #123 :regex
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :re
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #28 :!
matched token #21 :(
matched token #131 :'/'
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :re
matched token #38 :)
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #28 :!
matched token #123 :ch_p
matched token #21 :(
matched token #131 :'$'
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :		
matched token #123 :re
matched token #134 : 
matched token #2 :=
matched token #135 :

matched token #134 :			  
matched token #123 :series
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #46 :*
matched token #21 :(
matched token #21 :(
matched token #131 :'|'
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :series
matched token #38 :)
matched token #22 :[
matched token #123 :make_or
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #21 :(
matched token #123 :node_stack
matched token #38 :)
matched token #39 :]
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :		
matched token #123 :series
matched token #134 : 
matched token #2 :=
matched token #135 :

matched token #134 :			  
matched token #123 :singleton
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #46 :*
matched token #21 :(
matched token #123 :singleton
matched token #22 :[
matched token #123 :make_concat
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #21 :(
matched token #123 :node_stack
matched token #38 :)
matched token #39 :]
matched token #134 : 
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :		
matched token #123 :singleton
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #135 :

matched token #134 :			  
matched token #123 :ch_p
matched token #21 :(
matched token #131 :'.'
matched token #38 :)
matched token #22 :[
matched token #123 :make_any_char
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #21 :(
matched token #123 :node_stack
matched token #38 :)
matched token #39 :]
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :singleton2
matched token #135 :

matched token #134 :			
matched token #4 :|
matched token #134 : 
matched token #123 :fullccl
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :singleton2
matched token #135 :

matched token #134 :            
matched token #130 :// TODO: Write a string node generator
matched token #135 :

matched token #134 :			
matched token #4 :|
matched token #134 : 
matched token #131 :'"'
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :string
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #131 :'"'
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :singleton2
matched token #135 :

matched token #134 :			
matched token #4 :|
matched token #134 : 
matched token #131 :'('
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :re
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #131 :')'
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :singleton2
matched token #135 :

matched token #134 :			
matched token #4 :|
matched token #134 : 
matched token #21 :(
matched token #21 :(
matched token #123 :anychar
matched token #134 : 
matched token #23 :-
matched token #134 : 
matched token #123 :chset
matched token #19 :<
matched token #16 :>
matched token #21 :(
matched token #132 :"/|*+?.(){}\\"
matched token #38 :)
matched token #38 :)
matched token #134 : 
matched token #4 :|
matched token #134 : 
matched token #123 :escseq
matched token #38 :)
matched token #135 :

matched token #134 :                
matched token #22 :[
matched token #123 :make_char
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #21 :(
matched token #123 :node_stack
matched token #38 :)
matched token #39 :]
matched token #134 : 
matched token #135 :

matched token #134 :              
matched token #44 :>>
matched token #134 : 
matched token #123 :singleton2
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :		
matched token #123 :singleton2
matched token #134 : 
matched token #2 :=
matched token #135 :

matched token #134 :			  
matched token #123 :ch_p
matched token #21 :(
matched token #131 :'*'
matched token #38 :)
matched token #22 :[
matched token #123 :make_star
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #21 :(
matched token #123 :node_stack
matched token #38 :)
matched token #39 :]
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :singleton2
matched token #135 :

matched token #134 :			
matched token #4 :|
matched token #134 : 
matched token #123 :ch_p
matched token #21 :(
matched token #131 :'+'
matched token #38 :)
matched token #22 :[
matched token #123 :make_plus
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #21 :(
matched token #123 :node_stack
matched token #38 :)
matched token #39 :]
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :singleton2
matched token #135 :

matched token #134 :			
matched token #4 :|
matched token #134 : 
matched token #123 :ch_p
matched token #21 :(
matched token #131 :'?'
matched token #38 :)
matched token #22 :[
matched token #123 :make_optional
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #21 :(
matched token #123 :node_stack
matched token #38 :)
matched token #39 :]
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :singleton2
matched token #135 :

matched token #134 :            
matched token #130 :// TODO: Write a specified repetition generator
matched token #135 :

matched token #134 :			
matched token #4 :|
matched token #134 : 
matched token #131 :'"'
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :string
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #131 :'"'
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :singleton2
matched token #135 :

matched token #134 :			
matched token #4 :|
matched token #134 : 
matched token #131 :'{'
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :uint_p
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #131 :'}'
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :singleton2
matched token #135 :

matched token #134 :			
matched token #4 :|
matched token #134 : 
matched token #131 :'{'
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :uint_p
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #131 :','
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #131 :'}'
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :singleton2
matched token #135 :

matched token #134 :			
matched token #4 :|
matched token #134 : 
matched token #131 :'{'
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :uint_p
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #131 :','
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :uint_p
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #131 :'}'
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :singleton2
matched token #135 :

matched token #134 :			
matched token #4 :|
matched token #134 : 
matched token #123 :epsilon
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :		
matched token #123 :fullccl
matched token #134 : 
matched token #2 :=
matched token #135 :

matched token #134 :			
matched token #21 :(
matched token #131 :'['
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #28 :!
matched token #123 :ch_p
matched token #21 :(
matched token #131 :'^'
matched token #38 :)
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :ccl
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #131 :']'
matched token #38 :)
matched token #22 :[
matched token #123 :make_ccl
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #21 :(
matched token #123 :node_stack
matched token #38 :)
matched token #39 :]
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :		
matched token #123 :ccl
matched token #134 : 
matched token #2 :=
matched token #135 :

matched token #134 :            
matched token #46 :*
matched token #21 :(
matched token #123 :ccl_expr
matched token #134 : 
matched token #4 :|
matched token #134 : 
matched token #21 :(
matched token #123 :ccl_char
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #28 :!
matched token #21 :(
matched token #131 :'-'
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :ccl_char
matched token #38 :)
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :		
matched token #123 :ccl_char
matched token #134 : 
matched token #2 :=
matched token #135 :

matched token #134 :			
matched token #21 :(
matched token #21 :(
matched token #123 :anychar
matched token #134 : 
matched token #23 :-
matched token #134 : 
matched token #123 :chset
matched token #19 :<
matched token #16 :>
matched token #21 :(
matched token #132 :"\\\n]"
matched token #38 :)
matched token #38 :)
matched token #134 : 
matched token #4 :|
matched token #134 : 
matched token #123 :escseq
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :		
matched token #123 :ccl_expr
matched token #134 : 
matched token #2 :=
matched token #135 :

matched token #134 :			
matched token #132 :"[:alnum:]"
matched token #8 :,
matched token #135 :

matched token #134 :			
matched token #132 :"[:alpha:]"
matched token #8 :,
matched token #135 :

matched token #134 :			
matched token #132 :"[:blank:]"
matched token #8 :,
matched token #135 :

matched token #134 :			
matched token #132 :"[:cntrl:]"
matched token #8 :,
matched token #135 :

matched token #134 :			
matched token #132 :"[:digit:]"
matched token #8 :,
matched token #135 :

matched token #134 :			
matched token #132 :"[:graph:]"
matched token #8 :,
matched token #135 :

matched token #134 :			
matched token #132 :"[:lower:]"
matched token #8 :,
matched token #135 :

matched token #134 :			
matched token #132 :"[:print:]"
matched token #8 :,
matched token #135 :

matched token #134 :			
matched token #132 :"[:punct:]"
matched token #8 :,
matched token #135 :

matched token #134 :			
matched token #132 :"[:space:]"
matched token #8 :,
matched token #135 :

matched token #134 :			
matched token #132 :"[:upper:]"
matched token #8 :,
matched token #135 :

matched token #134 :			
matched token #132 :"[:xdigit:]"
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :		
matched token #123 :string
matched token #134 : 
matched token #2 :=
matched token #135 :

matched token #134 :			
matched token #46 :*
matched token #21 :(
matched token #21 :(
matched token #123 :anychar
matched token #134 : 
matched token #23 :-
matched token #134 : 
matched token #123 :chset
matched token #19 :<
matched token #16 :>
matched token #21 :(
matched token #132 :"\"\\"
matched token #38 :)
matched token #38 :)
matched token #134 : 
matched token #4 :|
matched token #134 : 
matched token #123 :escseq
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :		
matched token #123 :escseq
matched token #134 : 
matched token #2 :=
matched token #135 :

matched token #134 :			
matched token #123 :ch_p
matched token #21 :(
matched token #131 :'\\'
matched token #38 :)
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #135 :

matched token #134 :				
matched token #123 :longest
matched token #22 :[
matched token #135 :

matched token #134 :				
matched token #21 :(
matched token #134 :  
matched token #21 :(
matched token #123 :anychar
matched token #134 : 
matched token #23 :-
matched token #134 : 
matched token #131 :'\n'
matched token #38 :)
matched token #135 :

matched token #134 :				 
matched token #4 :|
matched token #134 : 
matched token #123 :chset
matched token #19 :<
matched token #16 :>
matched token #21 :(
matched token #132 :"0-7"
matched token #38 :)
matched token #12 :.
matched token #123 :repeat
matched token #21 :(
matched token #125 :1
matched token #8 :,
matched token #125 :11
matched token #38 :)
matched token #134 : 
matched token #135 :

matched token #134 :				 
matched token #4 :|
matched token #134 : 
matched token #123 :chset
matched token #19 :<
matched token #16 :>
matched token #21 :(
matched token #132 :"xX"
matched token #38 :)
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :xdigit
matched token #12 :.
matched token #123 :repeat
matched token #21 :(
matched token #125 :1
matched token #8 :,
matched token #125 :8
matched token #38 :)
matched token #135 :

matched token #134 :				
matched token #38 :)
matched token #39 :]
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :	    
matched token #123 :BOOST_SPIRIT_DEBUG_RULE
matched token #21 :(
matched token #123 :regex
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :BOOST_SPIRIT_DEBUG_RULE
matched token #21 :(
matched token #123 :re
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :BOOST_SPIRIT_DEBUG_RULE
matched token #21 :(
matched token #123 :series
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :BOOST_SPIRIT_DEBUG_RULE
matched token #21 :(
matched token #123 :singleton
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :BOOST_SPIRIT_DEBUG_RULE
matched token #21 :(
matched token #123 :singleton2
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :BOOST_SPIRIT_DEBUG_RULE
matched token #21 :(
matched token #123 :fullccl
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :BOOST_SPIRIT_DEBUG_RULE
matched token #21 :(
matched token #123 :ccl
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :BOOST_SPIRIT_DEBUG_RULE
matched token #21 :(
matched token #123 :string
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :BOOST_SPIRIT_DEBUG_RULE
matched token #21 :(
matched token #123 :escseq
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :BOOST_SPIRIT_DEBUG_RULE
matched token #21 :(
matched token #123 :ccl_char
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :	
matched token #37 :}
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #134 : 
matched token #130 :// class grammar
matched token #135 :

matched token #135 :

matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :IteratorT
matched token #16 :>
matched token #135 :

matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :parse
matched token #21 :(
matched token #123 :grammar
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :g
matched token #8 :,
matched token #134 : 
matched token #123 :IteratorT
matched token #134 : 
matched token #123 :expr
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :parse_info
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #135 :

matched token #134 :        
matched token #123 :result
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :spirit
matched token #40 :::
matched token #123 :parse
matched token #21 :(
matched token #123 :expr
matched token #8 :,
matched token #134 : 
matched token #123 :g
matched token #12 :.
matched token #123 :regex
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #28 :!
matched token #123 :result
matched token #12 :.
matched token #123 :full
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #89 :return
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :assert
matched token #21 :(
matched token #123 :g
matched token #12 :.
matched token #123 :node_stack
matched token #12 :.
matched token #123 :size
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #125 :1
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :rval
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :g
matched token #12 :.
matched token #123 :node_stack
matched token #12 :.
matched token #123 :top
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :g
matched token #12 :.
matched token #123 :node_stack
matched token #12 :.
matched token #123 :pop
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :an_eof_node
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :eof_node
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :rval
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :cat_node
matched token #21 :(
matched token #123 :rval
matched token #8 :,
matched token #134 : 
matched token #123 :an_eof_node
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #51 :bool
matched token #134 : 
matched token #123 :regex_match
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :dfa_t
matched token #0 :&
matched token #134 : 
matched token #123 :dfa
matched token #8 :,
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #57 :char
matched token #46 :*
matched token #0 :&
matched token #134 : 
matched token #123 :first
matched token #8 :,
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #57 :char
matched token #46 :*
matched token #134 : 
matched token #123 :last
matched token #8 :,
matched token #135 :

matched token #134 :        
matched token #78 :int
matched token #0 :&
matched token #134 : 
matched token #123 :regex_index
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :s
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :last_accepting_index
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :invalid_node
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #59 :const
matched token #134 : 
matched token #123 :uchar
matched token #46 :*
matched token #134 : 
matched token #123 :p
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :uchar
matched token #46 :*
matched token #38 :)
matched token #123 :first
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #59 :const
matched token #134 : 
matched token #123 :uchar
matched token #46 :*
matched token #134 : 
matched token #123 :last_accepting_cpos
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :uchar
matched token #46 :*
matched token #38 :)
matched token #123 :first
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #111 :while
matched token #134 : 
matched token #21 :(
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #57 :char
matched token #46 :*
matched token #38 :)
matched token #123 :p
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :last
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :s
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :dfa
matched token #12 :.
matched token #123 :first
matched token #22 :[
matched token #123 :s
matched token #39 :]
matched token #22 :[
matched token #46 :*
matched token #123 :p
matched token #39 :]
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :s
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #123 :invalid_node
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #54 :break
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #33 :++
matched token #123 :p
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :dfa
matched token #12 :.
matched token #123 :second
matched token #22 :[
matched token #123 :s
matched token #39 :]
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :invalid_node
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #123 :last_accepting_index
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :s
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #123 :last_accepting_cpos
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :p
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #134 :    
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :last_accepting_index
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :invalid_node
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #130 :// execute dfa.second[last_accepting_state]
matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #134 :        
matched token #123 :std
matched token #40 :::
matched token #123 :cout
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :"dfa.second["
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #123 :last_accepting_index
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :"] = "
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :dfa
matched token #12 :.
matched token #123 :second
matched token #22 :[
matched token #123 :last_accepting_index
matched token #39 :]
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #131 :'\n'
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #134 :        
matched token #123 :first
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #57 :char
matched token #46 :*
matched token #38 :)
matched token #123 :last_accepting_cpos
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :regex_index
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :dfa
matched token #12 :.
matched token #123 :second
matched token #22 :[
matched token #123 :last_accepting_index
matched token #39 :]
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #89 :return
matched token #134 : 
matched token #53 :true
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #134 :    
matched token #68 :else
matched token #135 :

matched token #134 :        
matched token #89 :return
matched token #134 : 
matched token #52 :false
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #51 :bool
matched token #134 : 
matched token #123 :regex_match
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :dfa_t
matched token #0 :&
matched token #134 : 
matched token #123 :dfa
matched token #8 :,
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #110 :wchar_t
matched token #46 :*
matched token #0 :&
matched token #134 : 
matched token #123 :first
matched token #8 :,
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #110 :wchar_t
matched token #46 :*
matched token #134 : 
matched token #123 :last
matched token #8 :,
matched token #135 :

matched token #134 :        
matched token #78 :int
matched token #0 :&
matched token #134 : 
matched token #123 :regex_index
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :s
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :last_accepting_index
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :invalid_node
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #59 :const
matched token #134 : 
matched token #110 :wchar_t
matched token #46 :*
matched token #134 : 
matched token #123 :wp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :first
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #59 :const
matched token #134 : 
matched token #110 :wchar_t
matched token #46 :*
matched token #134 : 
matched token #123 :last_accepting_cpos
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :first
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #111 :while
matched token #134 : 
matched token #21 :(
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #110 :wchar_t
matched token #46 :*
matched token #38 :)
matched token #123 :wp
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :last
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #105 :unsigned
matched token #134 : 
matched token #78 :int
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #92 :sizeof
matched token #21 :(
matched token #110 :wchar_t
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :i
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #123 :s
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :dfa
matched token #12 :.
matched token #123 :first
matched token #22 :[
matched token #123 :s
matched token #39 :]
matched token #22 :[
matched token #123 :get_byte
matched token #21 :(
matched token #46 :*
matched token #123 :wp
matched token #8 :,
matched token #123 :i
matched token #38 :)
matched token #39 :]
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :s
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #123 :invalid_node
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #18 :{
matched token #135 :

matched token #134 :                
matched token #75 :goto
matched token #134 : 
matched token #123 :break_while
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #37 :}
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #134 :        
matched token #33 :++
matched token #123 :wp
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :dfa
matched token #12 :.
matched token #123 :second
matched token #22 :[
matched token #123 :s
matched token #39 :]
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :invalid_node
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #123 :last_accepting_index
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :s
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #123 :last_accepting_cpos
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :wp
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :break_while
matched token #9 ::
matched token #135 :

matched token #134 :    
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :last_accepting_index
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :invalid_node
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #130 :// execute dfa.second[s]
matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #134 :        
matched token #123 :std
matched token #40 :::
matched token #123 :cout
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :"dfa.second["
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #123 :last_accepting_index
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :"] = "
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :dfa
matched token #12 :.
matched token #123 :second
matched token #22 :[
matched token #123 :last_accepting_index
matched token #39 :]
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #131 :'\n'
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #134 :        
matched token #123 :first
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #110 :wchar_t
matched token #46 :*
matched token #38 :)
matched token #123 :last_accepting_cpos
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :regex_index
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :dfa
matched token #12 :.
matched token #123 :second
matched token #22 :[
matched token #123 :last_accepting_index
matched token #39 :]
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #89 :return
matched token #134 : 
matched token #53 :true
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #134 :    
matched token #68 :else
matched token #135 :

matched token #134 :        
matched token #89 :return
matched token #134 : 
matched token #52 :false
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #37 :}
matched token #134 : 
matched token #130 :// namespace lexerimpl
matched token #135 :

matched token #135 :

matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :CharT
matched token #8 :,
matched token #134 : 
matched token #103 :typename
matched token #134 : 
matched token #123 :TokenT
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #78 :int
matched token #16 :>
matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :lexer
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #134 :        
matched token #123 :lexer
matched token #21 :(
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #9 ::
matched token #134 : 
matched token #123 :g
matched token #21 :(
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #8 :,
matched token #134 : 
matched token #123 :m_compiled_dfa
matched token #21 :(
matched token #52 :false
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #18 :{
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #108 :void
matched token #134 : 
matched token #123 :register_regex
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :CharT
matched token #46 :*
matched token #134 : 
matched token #123 :regex
matched token #8 :,
matched token #134 : 
matched token #123 :TokenT
matched token #134 : 
matched token #123 :id
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :IteratorT
matched token #16 :>
matched token #135 :

matched token #134 :        
matched token #123 :TokenT
matched token #134 : 
matched token #123 :next_token
matched token #21 :(
matched token #123 :IteratorT
matched token #0 :&
matched token #134 : 
matched token #123 :first
matched token #8 :,
matched token #134 : 
matched token #123 :IteratorT
matched token #0 :&
matched token #134 : 
matched token #123 :last
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #108 :void
matched token #134 : 
matched token #123 :createdfa
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #134 :        
matched token #108 :void
matched token #134 : 
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :ostream
matched token #0 :&
matched token #134 : 
matched token #123 :out
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #84 :private
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #123 :lexerimpl
matched token #40 :::
matched token #123 :grammar
matched token #19 :<
matched token #59 :const
matched token #134 : 
matched token #123 :CharT
matched token #46 :*
matched token #16 :>
matched token #134 : 
matched token #123 :g
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #80 :mutable
matched token #134 : 
matched token #51 :bool
matched token #134 : 
matched token #123 :m_compiled_dfa
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #80 :mutable
matched token #134 : 
matched token #123 :dfa_t
matched token #134 : 
matched token #123 :m_dfa
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #101 :typedef
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :vector
matched token #19 :<
matched token #123 :std
matched token #40 :::
matched token #123 :pair
matched token #19 :<
matched token #123 :std
matched token #40 :::
matched token #123 :basic_string
matched token #19 :<
matched token #123 :CharT
matched token #16 :>
matched token #8 :,
matched token #134 : 
matched token #123 :TokenT
matched token #16 :>
matched token #134 : 
matched token #16 :>
matched token #134 : 
matched token #123 :regex_list_t
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :regex_list_t
matched token #134 : 
matched token #123 :m_regex_list
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :CharT
matched token #8 :,
matched token #134 : 
matched token #103 :typename
matched token #134 : 
matched token #123 :TokenT
matched token #16 :>
matched token #135 :

matched token #108 :void
matched token #135 :

matched token #123 :lexer
matched token #19 :<
matched token #123 :CharT
matched token #8 :,
matched token #134 : 
matched token #123 :TokenT
matched token #16 :>
matched token #40 :::
matched token #123 :register_regex
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :CharT
matched token #46 :*
matched token #134 : 
matched token #123 :regex
matched token #8 :,
matched token #134 : 
matched token #123 :TokenT
matched token #134 : 
matched token #123 :id
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :m_regex_list
matched token #12 :.
matched token #123 :push_back
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :make_pair
matched token #21 :(
matched token #123 :regex
matched token #8 :,
matched token #134 : 
matched token #123 :id
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :CharT
matched token #8 :,
matched token #134 : 
matched token #103 :typename
matched token #134 : 
matched token #123 :TokenT
matched token #16 :>
matched token #135 :

matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :IteratorT
matched token #16 :>
matched token #135 :

matched token #123 :TokenT
matched token #135 :

matched token #123 :lexer
matched token #19 :<
matched token #123 :CharT
matched token #8 :,
matched token #134 : 
matched token #123 :TokenT
matched token #16 :>
matched token #40 :::
matched token #123 :next_token
matched token #21 :(
matched token #123 :IteratorT
matched token #0 :&
matched token #134 : 
matched token #123 :first
matched token #8 :,
matched token #134 : 
matched token #123 :IteratorT
matched token #0 :&
matched token #134 : 
matched token #123 :last
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #28 :!
matched token #123 :m_compiled_dfa
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :createdfa
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #78 :int
matched token #134 : 
matched token #123 :regex_index
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #28 :!
matched token #123 :lexerimpl
matched token #40 :::
matched token #123 :regex_match
matched token #21 :(
matched token #123 :m_dfa
matched token #8 :,
matched token #134 : 
matched token #123 :first
matched token #8 :,
matched token #134 : 
matched token #123 :last
matched token #8 :,
matched token #134 : 
matched token #123 :regex_index
matched token #38 :)
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #89 :return
matched token #134 : 
matched token #23 :-
matched token #125 :1
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #68 :else
matched token #135 :

matched token #134 :        
matched token #89 :return
matched token #134 : 
matched token #123 :m_regex_list
matched token #22 :[
matched token #123 :regex_index
matched token #39 :]
matched token #12 :.
matched token #123 :second
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #135 :

matched token #130 :// Algorithm from Compilers: Principles, Techniques, and Tools p. 141
matched token #135 :

matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :CharT
matched token #8 :,
matched token #134 : 
matched token #103 :typename
matched token #134 : 
matched token #123 :TokenT
matched token #16 :>
matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :lexer
matched token #19 :<
matched token #123 :CharT
matched token #8 :,
matched token #134 : 
matched token #123 :TokenT
matched token #16 :>
matched token #40 :::
matched token #123 :createdfa
matched token #21 :(
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #106 :using
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :map
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #106 :using
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :set
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #106 :using
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :vector
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #106 :using
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :find
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #106 :using
matched token #134 : 
matched token #81 :namespace
matched token #134 : 
matched token #123 :lexerimpl
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node
matched token #40 :::
matched token #123 :leaf_count
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #130 :// parse the expressions into a tree
matched token #135 :

matched token #134 :    
matched token #123 :regex_list_t
matched token #40 :::
matched token #123 :iterator
matched token #134 : 
matched token #123 :ri
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_regex_list
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :auto_ptr
matched token #19 :<
matched token #123 :node
matched token #16 :>
matched token #134 : 
matched token #123 :tree
matched token #21 :(
matched token #123 :parse
matched token #21 :(
matched token #123 :g
matched token #8 :,
matched token #134 : 
matched token #21 :(
matched token #46 :*
matched token #123 :ri
matched token #38 :)
matched token #12 :.
matched token #123 :first
matched token #12 :.
matched token #123 :c_str
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :tree
matched token #12 :.
matched token #123 :get
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #124 :0
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #99 :throw
matched token #134 : 
matched token #123 :bad_regex
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #33 :++
matched token #123 :ri
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #134 : 
matched token #41 :;
matched token #123 :ri
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :m_regex_list
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :ri
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :std
matched token #40 :::
matched token #123 :auto_ptr
matched token #19 :<
matched token #123 :node
matched token #16 :>
matched token #134 : 
matched token #123 :next_tree
matched token #21 :(
matched token #123 :parse
matched token #21 :(
matched token #123 :g
matched token #8 :,
matched token #134 : 
matched token #21 :(
matched token #46 :*
matched token #123 :ri
matched token #38 :)
matched token #12 :.
matched token #123 :first
matched token #12 :.
matched token #123 :c_str
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :next_tree
matched token #12 :.
matched token #123 :get
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #124 :0
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #99 :throw
matched token #134 : 
matched token #123 :bad_regex
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :std
matched token #40 :::
matched token #123 :auto_ptr
matched token #19 :<
matched token #123 :node
matched token #16 :>
matched token #134 : 
matched token #123 :newnode
matched token #21 :(
matched token #82 :new
matched token #134 : 
matched token #123 :or_node
matched token #21 :(
matched token #123 :tree
matched token #12 :.
matched token #123 :release
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :next_tree
matched token #12 :.
matched token #123 :release
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :tree
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :newnode
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #134 :    
matched token #123 :tree
matched token #34 :->
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :cout
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #130 :// compute followpos(root)
matched token #135 :

matched token #134 :    
matched token #123 :followpos_t
matched token #134 : 
matched token #123 :followpos
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :tree
matched token #34 :->
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #130 :// the dfa states <-> nfa state groups
matched token #135 :

matched token #134 :    
matched token #123 :map
matched token #19 :<
matched token #123 :node_set
matched token #8 :,
matched token #134 : 
matched token #123 :node_id_t
matched token #16 :>
matched token #134 : 
matched token #123 :dstates1
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :map
matched token #19 :<
matched token #123 :node_id_t
matched token #8 :,
matched token #134 : 
matched token #123 :node_set
matched token #16 :>
matched token #134 : 
matched token #123 :dstates2
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #130 :// the dfa transitions
matched token #135 :

matched token #134 :    
matched token #123 :m_dfa
matched token #12 :.
matched token #123 :first
matched token #12 :.
matched token #123 :push_back
matched token #21 :(
matched token #123 :vector
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #21 :(
matched token #125 :256
matched token #8 :,
matched token #134 : 
matched token #123 :invalid_node
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :m_dfa
matched token #12 :.
matched token #123 :second
matched token #12 :.
matched token #123 :push_back
matched token #21 :(
matched token #123 :invalid_node
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #130 :// whether the dfa state has been processed yet
matched token #135 :

matched token #134 :    
matched token #123 :vector
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #134 : 
matched token #123 :marked
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #130 :// used to give a unique id to each dfa state
matched token #135 :

matched token #134 :    
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :num_states
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #130 :// initially, the only unmarked state in Dstates is firstpos(root).
matched token #135 :

matched token #134 :    
matched token #123 :marked
matched token #12 :.
matched token #123 :push_back
matched token #21 :(
matched token #124 :0
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :fpr
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :tree
matched token #34 :->
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :dstates1
matched token #22 :[
matched token #123 :fpr
matched token #39 :]
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :dstates2
matched token #22 :[
matched token #124 :0
matched token #39 :]
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :fpr
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :state_match_t
matched token #134 : 
matched token #123 :state_match
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :tree
matched token #34 :->
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :eof_node_ids
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :tree
matched token #34 :->
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :eof_node_ids
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #130 :// translate the eof_node_ids into a 0-based index
matched token #135 :

matched token #134 :    
matched token #123 :map
matched token #19 :<
matched token #123 :node_id_t
matched token #8 :,
matched token #134 : 
matched token #123 :node_id_t
matched token #16 :>
matched token #134 : 
matched token #123 :eof_node_id_map
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #105 :unsigned
matched token #134 : 
matched token #78 :int
matched token #134 : 
matched token #123 :x
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #123 :node_set
matched token #40 :::
matched token #123 :iterator
matched token #134 : 
matched token #123 :node_id_it
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :eof_node_ids
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #123 :node_id_it
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :eof_node_ids
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #33 :++
matched token #123 :node_id_it
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :eof_node_id_map
matched token #22 :[
matched token #46 :*
matched token #123 :node_id_it
matched token #39 :]
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :x
matched token #33 :++
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #134 :    
matched token #135 :

matched token #134 :    
matched token #130 :// figure out if this is an acceptance state
matched token #135 :

matched token #134 :    
matched token #73 :for
matched token #21 :(
matched token #123 :node_set
matched token #40 :::
matched token #123 :iterator
matched token #134 : 
matched token #123 :nsi
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :eof_node_ids
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #123 :nsi
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :eof_node_ids
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :nsi
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :eof_node_id
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #46 :*
matched token #123 :nsi
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :fpr
matched token #12 :.
matched token #123 :find
matched token #21 :(
matched token #123 :eof_node_id
matched token #38 :)
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :fpr
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #130 :// store the first one we come to as the
matched token #135 :

matched token #134 :            
matched token #130 :// matched pattern
matched token #135 :

matched token #134 :            
matched token #123 :m_dfa
matched token #12 :.
matched token #123 :second
matched token #22 :[
matched token #124 :0
matched token #39 :]
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #135 :

matched token #134 :                
matched token #123 :eof_node_id_map
matched token #22 :[
matched token #123 :eof_node_id
matched token #39 :]
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #130 :// don't bother searching for more
matched token #135 :

matched token #134 :            
matched token #54 :break
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :vector
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #40 :::
matched token #123 :iterator
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :find
matched token #21 :(
matched token #123 :marked
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :marked
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :node_id_t
matched token #21 :(
matched token #124 :0
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #111 :while
matched token #134 : 
matched token #21 :(
matched token #123 :marked
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :i
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #46 :*
matched token #123 :i
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #125 :1
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :T
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #23 :-
matched token #134 : 
matched token #123 :marked
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :assert
matched token #21 :(
matched token #123 :T
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #123 :dstates2
matched token #12 :.
matched token #123 :size
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :node_set
matched token #134 : 
matched token #123 :Tstates
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :dstates2
matched token #22 :[
matched token #123 :T
matched token #39 :]
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :j
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #134 : 
matched token #123 :j
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #125 :256
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :j
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #123 :node_set
matched token #134 : 
matched token #123 :U
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #123 :node_set
matched token #40 :::
matched token #123 :iterator
matched token #134 : 
matched token #123 :k
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :Tstates
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                    
matched token #123 :k
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :Tstates
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :k
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #18 :{
matched token #135 :

matched token #134 :                
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :p
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #46 :*
matched token #123 :k
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #123 :assert
matched token #21 :(
matched token #123 :p
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #123 :state_match
matched token #12 :.
matched token #123 :size
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #123 :assert
matched token #21 :(
matched token #123 :j
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #123 :state_match
matched token #22 :[
matched token #123 :p
matched token #39 :]
matched token #12 :.
matched token #123 :size
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :state_match
matched token #22 :[
matched token #123 :p
matched token #39 :]
matched token #22 :[
matched token #123 :j
matched token #39 :]
matched token #38 :)
matched token #135 :

matched token #134 :                
matched token #18 :{
matched token #135 :

matched token #134 :                    
matched token #123 :node_set
matched token #134 : 
matched token #123 :fpp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :followpos
matched token #22 :[
matched token #123 :p
matched token #39 :]
matched token #41 :;
matched token #135 :

matched token #134 :                    
matched token #123 :U
matched token #12 :.
matched token #123 :insert
matched token #21 :(
matched token #123 :fpp
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :fpp
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #37 :}
matched token #135 :

matched token #134 :            
matched token #37 :}
matched token #135 :

matched token #134 :            
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :U
matched token #12 :.
matched token #123 :size
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #16 :>
matched token #134 : 
matched token #124 :0
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #18 :{
matched token #135 :

matched token #134 :                
matched token #123 :map
matched token #19 :<
matched token #123 :node_set
matched token #8 :,
matched token #134 : 
matched token #123 :node_id_t
matched token #16 :>
matched token #40 :::
matched token #123 :iterator
matched token #134 : 
matched token #123 :l
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :dstates1
matched token #12 :.
matched token #123 :find
matched token #21 :(
matched token #123 :U
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :target_state
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :l
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #123 :dstates1
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #134 : 
matched token #130 :// not in the states yet
matched token #135 :

matched token #134 :                
matched token #18 :{
matched token #135 :

matched token #134 :                    
matched token #33 :++
matched token #123 :num_states
matched token #41 :;
matched token #135 :

matched token #134 :                    
matched token #123 :dstates1
matched token #22 :[
matched token #123 :U
matched token #39 :]
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :target_state
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :num_states
matched token #41 :;
matched token #135 :

matched token #134 :                    
matched token #123 :dstates2
matched token #22 :[
matched token #123 :target_state
matched token #39 :]
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :U
matched token #41 :;
matched token #135 :

matched token #134 :                    
matched token #123 :marked
matched token #12 :.
matched token #123 :push_back
matched token #21 :(
matched token #124 :0
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                    
matched token #123 :m_dfa
matched token #12 :.
matched token #123 :first
matched token #12 :.
matched token #123 :push_back
matched token #21 :(
matched token #135 :

matched token #134 :                            
matched token #123 :vector
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #21 :(
matched token #125 :256
matched token #8 :,
matched token #134 : 
matched token #123 :invalid_node
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                    
matched token #123 :m_dfa
matched token #12 :.
matched token #123 :second
matched token #12 :.
matched token #123 :push_back
matched token #21 :(
matched token #123 :invalid_node
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                    
matched token #130 :// figure out if this is an acceptance state
matched token #135 :

matched token #134 :                    
matched token #73 :for
matched token #21 :(
matched token #123 :node_set
matched token #40 :::
matched token #123 :iterator
matched token #134 : 
matched token #123 :nsi
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :eof_node_ids
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                            
matched token #123 :nsi
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :eof_node_ids
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :nsi
matched token #38 :)
matched token #135 :

matched token #134 :                    
matched token #18 :{
matched token #135 :

matched token #134 :                        
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :eof_node_id
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #46 :*
matched token #123 :nsi
matched token #41 :;
matched token #135 :

matched token #134 :                        
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :U
matched token #12 :.
matched token #123 :find
matched token #21 :(
matched token #123 :eof_node_id
matched token #38 :)
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :U
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #135 :

matched token #134 :                        
matched token #18 :{
matched token #135 :

matched token #134 :                            
matched token #130 :// store the first one we come to as the
matched token #135 :

matched token #134 :                            
matched token #130 :// matched pattern
matched token #135 :

matched token #134 :                            
matched token #123 :m_dfa
matched token #12 :.
matched token #123 :second
matched token #22 :[
matched token #123 :target_state
matched token #39 :]
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #135 :

matched token #134 :                                
matched token #123 :eof_node_id_map
matched token #22 :[
matched token #123 :eof_node_id
matched token #39 :]
matched token #41 :;
matched token #135 :

matched token #134 :                            
matched token #130 :// don't bother searching for more
matched token #135 :

matched token #134 :                            
matched token #54 :break
matched token #41 :;
matched token #135 :

matched token #134 :                        
matched token #37 :}
matched token #135 :

matched token #134 :                    
matched token #37 :}
matched token #135 :

matched token #134 :                
matched token #37 :}
matched token #135 :

matched token #134 :                
matched token #68 :else
matched token #135 :

matched token #134 :                
matched token #18 :{
matched token #135 :

matched token #134 :                    
matched token #123 :target_state
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :dstates1
matched token #22 :[
matched token #123 :U
matched token #39 :]
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :                
matched token #123 :assert
matched token #21 :(
matched token #123 :T
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #123 :m_dfa
matched token #12 :.
matched token #123 :first
matched token #12 :.
matched token #123 :size
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #123 :assert
matched token #21 :(
matched token #123 :j
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #123 :m_dfa
matched token #12 :.
matched token #123 :first
matched token #22 :[
matched token #123 :T
matched token #39 :]
matched token #12 :.
matched token #123 :size
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #123 :m_dfa
matched token #12 :.
matched token #123 :first
matched token #22 :[
matched token #123 :T
matched token #39 :]
matched token #22 :[
matched token #123 :j
matched token #39 :]
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :target_state
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #37 :}
matched token #135 :

matched token #134 :            
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #123 :i
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :find
matched token #21 :(
matched token #123 :marked
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :marked
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :node_id_t
matched token #21 :(
matched token #124 :0
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #134 :    
matched token #123 :m_compiled_dfa
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #53 :true
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :CharT
matched token #8 :,
matched token #134 : 
matched token #103 :typename
matched token #134 : 
matched token #123 :TokenT
matched token #16 :>
matched token #135 :

matched token #108 :void
matched token #135 :

matched token #123 :lexer
matched token #19 :<
matched token #123 :CharT
matched token #8 :,
matched token #134 : 
matched token #123 :TokenT
matched token #16 :>
matched token #40 :::
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :ostream
matched token #0 :&
matched token #134 : 
matched token #123 :out
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :"\nm_dfa has "
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #123 :m_dfa
matched token #12 :.
matched token #123 :first
matched token #12 :.
matched token #123 :size
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" states\n"
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #123 :m_dfa
matched token #12 :.
matched token #123 :first
matched token #12 :.
matched token #123 :size
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :i
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :"state "
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :":"
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :j
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #134 : 
matched token #123 :j
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #123 :m_dfa
matched token #12 :.
matched token #123 :first
matched token #22 :[
matched token #123 :i
matched token #39 :]
matched token #12 :.
matched token #123 :size
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :j
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :m_dfa
matched token #12 :.
matched token #123 :first
matched token #22 :[
matched token #123 :i
matched token #39 :]
matched token #22 :[
matched token #123 :j
matched token #39 :]
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :invalid_node
matched token #38 :)
matched token #135 :

matched token #134 :                
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #123 :j
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :"->"
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #123 :m_dfa
matched token #12 :.
matched token #123 :first
matched token #22 :[
matched token #123 :i
matched token #39 :]
matched token #22 :[
matched token #123 :j
matched token #39 :]
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" "
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #134 :        
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :"\n"
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :"acceptance states: "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #73 :for
matched token #21 :(
matched token #105 :unsigned
matched token #134 : 
matched token #78 :int
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #123 :m_dfa
matched token #12 :.
matched token #123 :second
matched token #12 :.
matched token #123 :size
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :i
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :m_dfa
matched token #12 :.
matched token #123 :second
matched token #22 :[
matched token #123 :i
matched token #39 :]
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :invalid_node
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #131 :'<'
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #131 :','
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #123 :m_dfa
matched token #12 :.
matched token #123 :second
matched token #22 :[
matched token #123 :i
matched token #39 :]
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :"> "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #123 :endl
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #37 :}
matched token #134 : 
matched token #130 :// namespace spirit
matched token #135 :

matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

testing string: /*=============================================================================
    Lexer

    Spirit V1.2
    Copyright (c) 2001, Daniel C. Nuffer

    This software is provided 'as-is', without any express or implied
    warranty. In no event will the copyright holder be held liable for
    any damages arising from the use of this software.

    Permission is granted to anyone to use this software for any purpose,
    including commercial applications, and to alter it and redistribute
    it freely, subject to the following restrictions:

    1.  The origin of this software must not be misrepresented; you must
        not claim that you wrote the original software. If you use this
        software in a product, an acknowledgment in the product documentation
        would be appreciated but is not required.

    2.  Altered source versions must be plainly marked as such, and must
        not be misrepresented as being the original software.

    3.  This notice may not be removed or altered from any source
        distribution.

    Acknowledgements:

        Special thanks to Dan Nuffer, John (EBo) David, Chris Uzdavinis,
        and Doug Gregor. These people are most instrumental in steering
        Spirit in the right direction.

        Special thanks also to people who have contributed to the code base
        and sample code, ported Spirit to various platforms and compilers,
        gave suggestions, reported and provided bug fixes. Alexander
        Hirner, Andy Elvey, Bogdan Kushnir, Brett Calcott, Bruce Florman,
        Changzhe Han, Colin McPhail, Hakki Dogusan, Jan Bares, Joseph
        Smith, Martijn W. van der Lee, Raghavendra Satish, Remi Delcos, Tom
        Spilman, Vladimir Prus, W. Scott Dillman, David A. Greene, Bob
        Bailey, Hartmut Kaiser.

        Finally special thanks also to people who gave feedback and
        valuable comments, particularly members of Spirit's Source Forge
        mailing list and boost.org.

    URL: http://spirit.sourceforge.net/


    TODO List:
        create regression test suite.
        complete existing regex functionality.
        refactor createdfa() and make_ccl class.
        callback objects (called when a match is made.)
        lexer states.
        beginning/ending contexts.
        ^ and $
        DFA minimization.
        DFA table compression.
        DFA serialization to save recomputing the DFA.

=============================================================================*/
#ifndef BOOST_SPIRIT_LEXER_HPP
#define BOOST_SPIRIT_LEXER_HPP

///////////////////////////////////////////////////////////////////////////////
#include <set>
#include <map>
#include <stack>
#include <utility> // for pair
#ifdef BOOST_SPIRIT_DEBUG
#include <iostream>
#endif

///////////////////////////////////////////////////////////////////////////////
namespace spirit
{

typedef unsigned char uchar;
typedef unsigned int node_id_t;
static node_id_t invalid_node = node_id_t(-1);
typedef std::set<node_id_t> node_set;
typedef std::vector<uchar> uchar_vector;
typedef std::map<node_id_t, node_set> followpos_t;
typedef std::vector<uchar_vector> state_match_t;
typedef std::pair<std::vector<std::vector<node_id_t> >, 
                  std::vector<node_id_t> > dfa_t;

class bad_regex : public std::exception
{
};

namespace lexerimpl
{

class node
{
public:

    virtual ~node() {}

    virtual node* clone() const = 0;
    virtual bool nullable() const = 0;
    virtual node_set firstpos() const = 0;
    virtual node_set lastpos() const = 0;
    virtual void compute_followpos(followpos_t& followpos) const = 0;
    virtual void compute_state_match(state_match_t& state_match) const = 0;
    virtual void get_eof_ids(node_set& eof_set) const = 0;
#ifdef BOOST_SPIRIT_DEBUG
    virtual void dump(std::ostream& out) const = 0;
#endif

    static node_id_t leaf_count;
};

class char_node : public node
{

public:

	char_node(const uchar c);
    char_node(const char_node& x);
    virtual ~char_node(){}

    virtual node* clone() const;
    virtual bool nullable() const;
    virtual node_set firstpos() const;
    virtual node_set lastpos() const;
    virtual void compute_followpos(followpos_t& followpos) const;
    virtual void compute_state_match(state_match_t& state_match ) const;
    virtual void get_eof_ids(node_set& eof_set) const;
#ifdef BOOST_SPIRIT_DEBUG
    virtual void dump(std::ostream& out) const;
#endif

private:

	uchar m_char;
    node_id_t m_node_num;
};

char_node::char_node(const uchar c)
    : node()
    , m_char(c)
    , m_node_num(node::leaf_count++)
{
}

char_node::char_node(const char_node& x)
    : node(x)
    , m_char(x.m_char)
    , m_node_num(node::leaf_count++)
{
}

node * 
char_node::clone() const
{
    return new char_node(*this);
}

bool 
char_node::nullable() const
{
    return false;
}

node_set 
char_node::firstpos() const
{
    node_set rval;
    rval.insert(m_node_num);
    return rval;
}

node_set 
char_node::lastpos() const
{
    return firstpos();
}

void 
char_node::compute_followpos(followpos_t&) const
{
    return;
}

void
char_node::compute_state_match(state_match_t& state_match) const
{
    if (state_match.size() < m_node_num + 1)
        state_match.resize(m_node_num + 1);
    state_match[m_node_num].resize(256);
    state_match[m_node_num][m_char] = 1;
}

void 
char_node::get_eof_ids(node_set&) const
{
    return;
}

#ifdef BOOST_SPIRIT_DEBUG
void 
char_node::dump(std::ostream& out) const
{
    out << "\nchar_node m_char = " << m_char;
    out << " m_node_num = " << m_node_num;
    out << " nullable() = " << (nullable() ? "true" : "false");
    out << " firstpos() = ";
    node_set fp = firstpos();
    std::copy(fp.begin(), fp.end(), 
            std::ostream_iterator<node_id_t>(out, ","));

    out << " lastpos() = ";
    node_set lp = lastpos();
    std::copy(lp.begin(), lp.end(), 
            std::ostream_iterator<node_id_t>(out, ","));
}
#endif


class epsilon_node : public node
{

public:

	epsilon_node();
    epsilon_node(const epsilon_node& x);
    virtual ~epsilon_node(){}

    virtual node* clone() const;
    virtual bool nullable() const;
    virtual node_set firstpos() const;
    virtual node_set lastpos() const;
    virtual void compute_followpos(followpos_t& followpos) const;
    virtual void compute_state_match(state_match_t& state_match ) const;
    virtual void get_eof_ids(node_set& eof_set) const;
#ifdef BOOST_SPIRIT_DEBUG
    virtual void dump(std::ostream& out) const;
#endif

private:

    node_id_t m_node_num;
};

inline
epsilon_node::epsilon_node()
    : node()
    , m_node_num(node::leaf_count++)
{
}

epsilon_node::epsilon_node(const epsilon_node& x)
    : node(x)
    , m_node_num(node::leaf_count++)
{
}

node * 
epsilon_node::clone() const
{
    return new epsilon_node(*this);
}

bool 
epsilon_node::nullable() const
{
    return true;
}

node_set 
epsilon_node::firstpos() const
{
    return node_set();
}

node_set 
epsilon_node::lastpos() const
{
    return node_set();
}

void 
epsilon_node::compute_followpos(followpos_t&) const
{
    return;
}

void
epsilon_node::compute_state_match(state_match_t& state_match) const
{
    if (state_match.size() < m_node_num + 1)
        state_match.resize(m_node_num + 1);
    state_match[m_node_num].resize(256, 1);
}

void 
epsilon_node::get_eof_ids(node_set&) const
{
    return;
}

#ifdef BOOST_SPIRIT_DEBUG
void 
epsilon_node::dump(std::ostream& out) const
{
    out << "\nepsilon_node";
    out << " m_node_num = " << m_node_num;
    out << " nullable() = " << (nullable() ? "true" : "false");
    out << " firstpos() = ";
    node_set fp = firstpos();
    std::copy(fp.begin(), fp.end(), 
            std::ostream_iterator<node_id_t>(out, ","));

    out << " lastpos() = ";
    node_set lp = lastpos();
    std::copy(lp.begin(), lp.end(), 
            std::ostream_iterator<node_id_t>(out, ","));
}
#endif


class or_node : public node
{

public:

	or_node(const node * left, const node * right);
    or_node(const or_node& x);
    virtual ~or_node(){}

    virtual node* clone() const;
    virtual bool nullable() const;
    virtual node_set firstpos() const;
    virtual node_set lastpos() const;
    virtual void compute_followpos(followpos_t& followpos) const;
    virtual void compute_state_match(state_match_t& state_match ) const;
    virtual void get_eof_ids(node_set& eof_set) const;
#ifdef BOOST_SPIRIT_DEBUG
    virtual void dump(std::ostream& out) const;
#endif

private:

    std::auto_ptr<const node > m_left;
    std::auto_ptr<const node > m_right;	
};

inline
or_node::or_node(const node * left, const node * right)
    : node()
    , m_left(left)
    , m_right(right)
{
}

or_node::or_node(const or_node& x)
    : node(x)
    , m_left(x.m_left->clone())
    , m_right(x.m_right->clone())
{
}

node * 
or_node::clone() const
{
    return new or_node(*this);
}

bool 
or_node::nullable() const
{
    return m_left->nullable() || m_right->nullable();
}

node_set 
or_node::firstpos() const
{
    node_set rval;
    node_set l = m_left->firstpos();
    node_set r = m_right->firstpos();
    std::set_union(l.begin(), l.end(), r.begin(), r.end(),
            std::inserter(rval, rval.begin()));
    return rval;
}

node_set 
or_node::lastpos() const
{
    node_set rval;
    node_set l = m_left->lastpos();
    node_set r = m_right->lastpos();
    std::set_union(l.begin(), l.end(), r.begin(), r.end(),
            std::inserter(rval, rval.begin()));
    return rval;
}

void 
or_node::compute_followpos(followpos_t& followpos) const
{
    m_left->compute_followpos(followpos);
    m_right->compute_followpos(followpos);
}

void
or_node::compute_state_match(state_match_t& state_match) const
{
    m_left->compute_state_match(state_match);
    m_right->compute_state_match(state_match);
}

void 
or_node::get_eof_ids(node_set& eof_nodes) const
{
    m_left->get_eof_ids(eof_nodes);
    m_right->get_eof_ids(eof_nodes);
}

#ifdef BOOST_SPIRIT_DEBUG
void 
or_node::dump(std::ostream& out) const
{
    out << "\nor_node";
    out << " nullable() = " << (nullable() ? "true" : "false");
    out << " firstpos() = ";
    node_set fp = firstpos();
    std::copy(fp.begin(), fp.end(), 
            std::ostream_iterator<node_id_t>(out, ","));

    out << " lastpos() = ";
    node_set lp = lastpos();
    std::copy(lp.begin(), lp.end(), 
            std::ostream_iterator<node_id_t>(out, ","));

    m_left->dump(out);
    m_right->dump(out);
}
#endif


class cat_node : public node
{

public:

	cat_node(const node * left, const node * right);
    cat_node(const cat_node& x);
    virtual ~cat_node(){}

    virtual node* clone() const;
    virtual bool nullable() const;
    virtual node_set firstpos() const;
    virtual node_set lastpos() const;
    virtual void compute_followpos(followpos_t& followpos) const;
    virtual void compute_state_match(state_match_t& state_match ) const;
    virtual void get_eof_ids(node_set& eof_set) const;
#ifdef BOOST_SPIRIT_DEBUG
    virtual void dump(std::ostream& out) const;
#endif

private:

    std::auto_ptr<const node > m_left;
    std::auto_ptr<const node > m_right;	
};

inline
cat_node::cat_node(const node * left, const node * right)
    : node()
    , m_left(left)
    , m_right(right)
{
}

cat_node::cat_node(const cat_node& x)
    : node(x)
    , m_left(x.m_left->clone())
    , m_right(x.m_right->clone())
{
}

node * 
cat_node::clone() const
{
    return new cat_node(*this);
}

bool 
cat_node::nullable() const
{
    return m_left->nullable() && m_right->nullable();
}

node_set 
cat_node::firstpos() const
{
    if (m_left->nullable())
    {
        node_set rval;
        node_set l = m_left->firstpos();
        node_set r = m_right->firstpos();
        std::set_union(l.begin(), l.end(), r.begin(), r.end(),
                std::inserter(rval, rval.begin()));
        return rval;
    }
    else
    {
        return m_left->firstpos();
    }
}

node_set 
cat_node::lastpos() const
{
    if (m_right->nullable())
    {
        node_set rval;
        node_set l = m_left->lastpos();
        node_set r = m_right->lastpos();
        std::set_union(l.begin(), l.end(), r.begin(), r.end(),
                std::inserter(rval, rval.begin()));
        return rval;
    }
    else
    {
        return m_right->lastpos();
    }
}

void 
cat_node::compute_followpos(followpos_t& followpos) const
{
    node_set l = m_left->lastpos();
    for (node_set::iterator i = l.begin();
            i != l.end();
            ++i)
    {
        node_set rf = m_right->firstpos();
        followpos[*i].insert(rf.begin(), rf.end());
    }

    m_left->compute_followpos(followpos);
    m_right->compute_followpos(followpos);
}

void
cat_node::compute_state_match(state_match_t& state_match) const
{
    m_left->compute_state_match(state_match);
    m_right->compute_state_match(state_match);
}

void 
cat_node::get_eof_ids(node_set& eof_nodes) const
{
    m_left->get_eof_ids(eof_nodes);
    m_right->get_eof_ids(eof_nodes);
}

#ifdef BOOST_SPIRIT_DEBUG
void 
cat_node::dump(std::ostream& out) const
{
    out << "\ncat_node";
    out << " nullable() = " << (nullable() ? "true" : "false");
    out << " firstpos() = ";
    node_set fp = firstpos();
    std::copy(fp.begin(), fp.end(), 
            std::ostream_iterator<node_id_t>(out, ","));

    out << " lastpos() = ";
    node_set lp = lastpos();
    std::copy(lp.begin(), lp.end(), 
            std::ostream_iterator<node_id_t>(out, ","));

    m_left->dump(out);
    m_right->dump(out);
}
#endif


class star_node : public node
{

public:

	star_node(const node * left);
    star_node(const star_node& x);
    virtual ~star_node(){}

    virtual node* clone() const;
    virtual bool nullable() const;
    virtual node_set firstpos() const;
    virtual node_set lastpos() const;
    virtual void compute_followpos(followpos_t& followpos) const;
    virtual void compute_state_match(state_match_t& state_match ) const;
    virtual void get_eof_ids(node_set& eof_set) const;
#ifdef BOOST_SPIRIT_DEBUG
    virtual void dump(std::ostream& out) const;
#endif

private:

    std::auto_ptr<const node > m_left;
};

inline
star_node::star_node(const node * left)
    : node()
    , m_left(left)
{
}

inline
star_node::star_node(const star_node& x)
    : node(x)
    , m_left(x.m_left->clone())
{
}

node * 
star_node::clone() const
{
    return new star_node(*this);
}

bool 
star_node::nullable() const
{
    return true;
}

node_set 
star_node::firstpos() const
{
    return m_left->firstpos();
}

node_set 
star_node::lastpos() const
{
    return m_left->lastpos();
}

void 
star_node::compute_followpos(followpos_t& followpos) const
{
    node_set lp = this->lastpos();
    for (node_set::iterator i = lp.begin();
            i != lp.end();
            ++i)
    {
        node_set fp = this->firstpos();
        followpos[*i].insert(fp.begin(), fp.end());
    }

    m_left->compute_followpos(followpos);
}

void
star_node::compute_state_match(state_match_t& state_match) const
{
    m_left->compute_state_match(state_match);
}

void 
star_node::get_eof_ids(node_set& eof_nodes) const
{
    m_left->get_eof_ids(eof_nodes);
}

#ifdef BOOST_SPIRIT_DEBUG
void 
star_node::dump(std::ostream& out) const
{
    out << "\nstar_node";
    out << " nullable() = " << (nullable() ? "true" : "false");
    out << " firstpos() = ";
    node_set fp = firstpos();
    std::copy(fp.begin(), fp.end(), 
            std::ostream_iterator<node_id_t>(out, ","));

    out << " lastpos() = ";
    node_set lp = lastpos();
    std::copy(lp.begin(), lp.end(), 
            std::ostream_iterator<node_id_t>(out, ","));

    m_left->dump(out);
}
#endif


class eof_node : public node
{

public:

	eof_node();
    eof_node(const eof_node& x);
    virtual ~eof_node(){}

    virtual node* clone() const;
    virtual bool nullable() const;
    virtual node_set firstpos() const;
    virtual node_set lastpos() const;
    virtual void compute_followpos(followpos_t& followpos) const;
    virtual void compute_state_match(state_match_t& state_match ) const;
    virtual void get_eof_ids(node_set& eof_set) const;
#ifdef BOOST_SPIRIT_DEBUG
    virtual void dump(std::ostream& out) const;
#endif

private:

    node_id_t m_node_num;
};

inline
eof_node::eof_node()
    : node()
    , m_node_num(node::leaf_count++)
{
}

eof_node::eof_node(const eof_node& x)
    : node(x)
    , m_node_num(node::leaf_count++)
{
}

node * 
eof_node::clone() const
{
    return new eof_node(*this);
}

bool 
eof_node::nullable() const
{
    return false;
}

node_set 
eof_node::firstpos() const
{
    node_set rval;
    rval.insert(m_node_num);
    return rval;
}

node_set 
eof_node::lastpos() const
{
    node_set rval;
    rval.insert(m_node_num);
    return rval;
}

void 
eof_node::compute_followpos(followpos_t&) const
{
    return;
}

void
eof_node::compute_state_match(state_match_t& state_match) const
{
    if (state_match.size() < m_node_num + 1)
        state_match.resize(m_node_num + 1);
    state_match[m_node_num].resize(256, 0);
}

void 
eof_node::get_eof_ids(node_set& eof_nodes) const
{
    eof_nodes.insert(m_node_num);
}

#ifdef BOOST_SPIRIT_DEBUG
void 
eof_node::dump(std::ostream& out) const
{
    out << "\neof_node";
    out << " m_node_num = " << m_node_num;
    out << " nullable() = " << (nullable() ? "true" : "false");
    out << " firstpos() = ";
    node_set fp = firstpos();
    std::copy(fp.begin(), fp.end(), 
            std::ostream_iterator<node_id_t>(out, ","));

    out << " lastpos() = ";
    node_set lp = lastpos();
    std::copy(lp.begin(), lp.end(), 
            std::ostream_iterator<node_id_t>(out, ","));
}
#endif

class ccl_node : public node
{

public:

	ccl_node(const std::vector<uchar>& v);
    ccl_node(const uchar c1, const uchar c2);
    ccl_node(const ccl_node& x);
    virtual ~ccl_node(){}

    virtual node* clone() const;
    virtual bool nullable() const;
    virtual node_set firstpos() const;
    virtual node_set lastpos() const;
    virtual void compute_followpos(followpos_t& followpos) const;
    virtual void compute_state_match(state_match_t& state_match ) const;
    virtual void get_eof_ids(node_set& eof_set) const;
#ifdef BOOST_SPIRIT_DEBUG
    virtual void dump(std::ostream& out) const;
#endif

private:

    std::vector<uchar> m_match;
    node_id_t m_node_num;
};

ccl_node::ccl_node(const std::vector<uchar>& v)
    : node()
    , m_match(v)
    , m_node_num(node::leaf_count++)
{
    m_match.resize(256); // make sure it's the right size
}

ccl_node::ccl_node(const uchar c1, const uchar c2)
    : node()
    , m_match(256, 0)
    , m_node_num(node::leaf_count++)
{
    assert(c1 < c2);
    for (size_t i = c1; i <= c2; ++i)
    {
        m_match[i] = 1;
    }
}

ccl_node::ccl_node(const ccl_node& x)
    : node(x)
    , m_match(x.m_match)
    , m_node_num(node::leaf_count++)
{
}

node * 
ccl_node::clone() const
{
    return new ccl_node(*this);
}

bool 
ccl_node::nullable() const
{
    return false;
}

node_set 
ccl_node::firstpos() const
{
    node_set rval;
    rval.insert(m_node_num);
    return rval;
}

node_set 
ccl_node::lastpos() const
{
    return firstpos();
}

void 
ccl_node::compute_followpos(followpos_t&) const
{
    return;
}

void
ccl_node::compute_state_match(state_match_t& state_match) const
{
    if (state_match.size() < m_node_num + 1)
        state_match.resize(m_node_num + 1);
    state_match[m_node_num] = m_match;
}

void 
ccl_node::get_eof_ids(node_set&) const
{
    return;
}

#ifdef BOOST_SPIRIT_DEBUG
void 
ccl_node::dump(std::ostream& out) const
{
    out << "\nccl_node m_match = ";
    for (size_t i = 0; i < m_match.size(); ++i)
    {
        if (m_match[i])
            out << i << ", ";
    }
    out << " m_node_num = " << m_node_num;
    out << " nullable() = " << (nullable() ? "true" : "false");
    out << " firstpos() = ";
    node_set fp = firstpos();
    std::copy(fp.begin(), fp.end(), 
            std::ostream_iterator<node_id_t>(out, ","));

    out << " lastpos() = ";
    node_set lp = lastpos();
    std::copy(lp.begin(), lp.end(), 
            std::ostream_iterator<node_id_t>(out, ","));
}
#endif


node_id_t node::leaf_count = 0;

template <typename IteratorT>
class make_concat
{
public:

    make_concat(std::stack<node*>& the_stack)
        : m_stack(the_stack)
        {}

    void operator()(const IteratorT&, const IteratorT&) const
    {
        node* right = m_stack.top();
        m_stack.pop();
        node* left = m_stack.top();
        m_stack.pop();
        node* newnode = new cat_node(left, right);
        m_stack.push(newnode);
    }

    std::stack<node*>& m_stack;
};

template <typename CharT>
unsigned char get_byte(CharT c, unsigned int byte)
{
    static unsigned long mask[] =
    {
        0xFF000000,
        0x00FF0000,
        0x0000FF00,
        0x000000FF
    };

    return (c & mask[byte]) >> ((sizeof(c) - 1 - byte) * 8);
}

template <typename IteratorT>
class make_char
{
public:
    typedef typename std::iterator_traits<IteratorT>::value_type char_t;

    make_char(std::stack<node*>& the_stack)
        : m_stack(the_stack)
        {}

    void operator()(IteratorT& first, const IteratorT& last) const
    {
        node* newnode;
        char_t the_char;
        lex_escape_ch_p[ref(the_char)].parse(first, last);
        if (sizeof(*first) == 1)
        {
            newnode = new char_node(the_char);
        }
        else
        {
            newnode = new char_node(get_byte(the_char, 0));
            for (unsigned int i = 1; i < sizeof(the_char); ++i)
            {
                node* cnode = new char_node(get_byte(the_char, i));
                node* top_node = new cat_node(newnode, cnode);
                newnode = top_node;
            }
        }
        m_stack.push(newnode);
    }

    std::stack<node*>& m_stack;
};

template <typename IteratorT>
class make_star
{
public:
    typedef typename std::iterator_traits<IteratorT>::value_type char_t;

    make_star(std::stack<node*>& the_stack)
        : m_stack(the_stack)
        {}

    void operator()(const char_t) const
    {
        node* left = m_stack.top();
        m_stack.pop();
        node* newnode = new star_node(left);
        m_stack.push(newnode);
    }

    std::stack<node*>& m_stack;
};

template <typename IteratorT>
class make_or
{
public:

    make_or(std::stack<node*>& the_stack)
        : m_stack(the_stack)
        {}

    void operator()(const IteratorT&, const IteratorT&) const
    {
        node* right = m_stack.top();
        m_stack.pop();
        node* left = m_stack.top();
        m_stack.pop();
        node* newnode = new or_node(left, right);
        m_stack.push(newnode);
    }

    std::stack<node*>& m_stack;
};

template <typename IteratorT>
class make_plus
{
public:
    typedef typename std::iterator_traits<IteratorT>::value_type char_t;

    make_plus(std::stack<node*>& the_stack)
        : m_stack(the_stack)
        {}

    void operator()(const char_t) const
    {
        node* left = m_stack.top();
        m_stack.pop();

        node* copy = left->clone();

        node* new_star = new star_node(copy);
        node* new_cat = new cat_node(left, new_star);
        m_stack.push(new_cat);
    }

    std::stack<node*>& m_stack;
};

template <typename IteratorT>
class make_optional
{
public:
    typedef typename std::iterator_traits<IteratorT>::value_type char_t;

    make_optional(std::stack<node*>& the_stack)
        : m_stack(the_stack)
        {}

    void operator()(const char_t) const
    {
        node* left = m_stack.top();
        m_stack.pop();

        node* new_or = new or_node(left, new epsilon_node());
        m_stack.push(new_or);
    }

    std::stack<node*>& m_stack;
};

namespace ccl_utils
{
    template <typename char_t>
    impl::range_run<char_t> negate_range_run(
            const impl::range_run<char_t>& rr)
    {
        impl::range_run<char_t> newrr;
        newrr.set(impl::full_range<char_t>());
        for (impl::range_run<char_t>::const_iterator iter = rr.begin(); 
                iter != rr.end(); ++iter)
            newrr.clear(*iter);
        return newrr;
    }

    template <typename char_t>
    void create_nodes(const impl::range_run<char_t>& rr, 
            std::stack<node*>& stack) 
    {

        if (sizeof(char_t) == 1)
        {
            std::vector<uchar> ccl;
            ccl.resize(256);
            for (impl::range_run<char_t>::const_iterator iter = rr.begin(); 
                    iter != rr.end(); ++iter)
            {
                for (int i = iter->first; i <= iter->last; ++i)
                {
                    assert(uchar(i) < 256 && ccl.size() == 256);
                    ccl[uchar(i)] = 1;
                }
            }

            node* new_ccl = new ccl_node(ccl);
            stack.push(new_ccl);
        }
        else
        {
            bool mb_first_time = true;
            for (impl::range_run<char_t>::const_iterator iter = rr.begin(); 
                    iter != rr.end(); ++iter)
            {
                if (iter->first == iter->last)
                {
                    handle_mb_char(iter->first, mb_first_time, stack);
                }
                else
                {
                    handle_mb_range(iter->first, iter->last, mb_first_time, stack);
                }
                mb_first_time = false;
            }
        }
    }

    template <typename char_t>
    void handle_mb_char(char_t c, bool first_time,
            std::stack<node*>& stack)
    {
        node* newnode = create_mb_node_seq(c);

        if (first_time)
        {
            stack.push(newnode);
        }
        else
        {
            node* top = stack.top();
            stack.pop();

            node* newtop = new or_node(top, newnode);
            stack.push(newtop);
        }
    }

    template <typename char_t>
    node* create_mb_node_seq(char_t c)
    {
        node* newnode = new char_node(get_byte(c, 0));
        for (unsigned int i = 1; i < sizeof(c); ++i)
        {
            node* cnode = new char_node(get_byte(c, i));
            node* top_node = new cat_node(newnode, cnode);
            newnode = top_node;
        }
        return newnode;
    }

    template <typename char_t>
    size_t compute_differing_byte(char_t c1, char_t c2)
    {
        size_t rval = 0;
        while (rval < sizeof(c1) && get_byte(c1, rval) == get_byte(c2, rval))
           ++rval;

        return rval; 
    }

    template <typename char_t>
    void handle_mb_range(char_t c1, char_t c2, bool first_time,
            std::stack<node*>& stack)
    {
        // The algorithm can't handle negative value chars, which don't make
        // much sense anyway.
        if (c1 < 0)
            c1 = 0;

        assert(c1 < c2);
        node* newnode = 0;
        node* savednode = 0;
        const size_t differing_byte = compute_differing_byte(c1, c2);
        const size_t sizem1 = sizeof(c1) - 1;
        const size_t ndb = sizem1 - differing_byte;
        for (size_t i = differing_byte; i < sizeof(c1); ++i)
        {
            // generate node for the first byte
            if (differing_byte == 0 && i == ndb)
            {
                size_t diff = get_byte(c2, 0) - get_byte(c1, 0);
                if (diff == 1)
                    continue;
                else if (diff == 2)
                    newnode = new char_node(get_byte(c1, 0) + 1);
                else
                    newnode = new ccl_node(get_byte(c1, 0) + 1, 
                            get_byte(c2, 0) - 1);
            }
            else
            {
                newnode = new char_node(get_byte(c1, 0));
            }
            for (size_t j = 1; j < sizeof(c1); ++j)
            {
                node* cnode;
                if (i == sizem1 && j == differing_byte && j != sizem1)
                {
                    size_t diff = get_byte(c2, j) - get_byte(c1, j);
                    if (diff == 1)
                    {
                        delete newnode;
                        goto end_outer_for; // got to skip this entire section
                    }
                    else if (diff == 2)
                        cnode = new char_node(get_byte(c1, j)+1);
                    else 
                        cnode = new ccl_node(get_byte(c1, j)+1, 
                                get_byte(c2, j)-1);
                }

                else if (i == differing_byte && j == sizem1)
                {
                    if (i != sizem1)
                        cnode = new ccl_node(get_byte(c1, j), 0xFF);
                    else
                        cnode = new ccl_node(get_byte(c1, j), get_byte(c2, j));
                }

                else if (i != differing_byte && i != sizem1 && 
                        j == (sizem1 - i + differing_byte))
                    cnode = new ccl_node(get_byte(c1, j)+1, 0xFF);

                else if (i + j - differing_byte > sizem1)
                    cnode = new ccl_node(0, 0xFF);

                else //if (is plain)
                    cnode = new char_node(get_byte(c1, j));


                node* top_node = new cat_node(newnode, cnode);
                newnode = top_node;
            }

            // or together the various parts
            if (savednode)
            {
                node* top_node = new or_node(savednode, newnode);
                savednode = top_node;
            }
            else
            {
                savednode = newnode;
            }
end_outer_for:
            continue;
        }

        // the silly cast is to get rid of a gcc warning, when sizem1 == 0
        // which happens when CharT=char
        for (size_t i = 0; i < ndb; ++i)
        {
            newnode = new char_node(get_byte(c2, 0));
            for (size_t j = 1; j < sizeof(c2); ++j)
            {
                node* cnode;
                if (i == differing_byte && j == sizem1 && i != sizem1)
                    cnode = new ccl_node(0, get_byte(c2, j));

                else if (i != differing_byte && i != sizem1 && 
                        j == (sizem1 - i + differing_byte))
                    cnode = new ccl_node(0, get_byte(c2, j)-1);

                else if (i + j - differing_byte > sizem1)
                    cnode = new ccl_node(0, 0xFF);

                else //if (is plain)
                    cnode = new char_node(get_byte(c2, j));


                node* top_node = new cat_node(newnode, cnode);
                newnode = top_node;
            }

            // or together the various parts
            if (savednode)
            {
                node* top_node = new or_node(savednode, newnode);
                savednode = top_node;
            }
            else
            {
                savednode = newnode;
            }
        }

        
        if (first_time)
        {
            stack.push(savednode);
        }
        else
        {
            node* top = stack.top();
            stack.pop();

            node* newtop = new or_node(top, savednode);
            stack.push(newtop);
        }
    }
} // namespace ccl_utils


template <typename IteratorT>
class make_ccl
{
public:
    typedef typename std::iterator_traits<IteratorT>::value_type char_t;

    make_ccl(std::stack<node*>& the_stack)
        : m_stack(the_stack)
        {}

    void operator()(const IteratorT& first_, const IteratorT& last) const
    {
        IteratorT first = first_;

        assert(*first == '[');

        ++first; // skip over '['
        bool negated_ccl = false;
        if (*first == '^')
        {
            negated_ccl = true;
            ++first;
        }

        impl::range_run<char_t> rr;
        while (first != last && *first != ']')
        {
            if (*first == '[') // it's a ccl_expr like [:space:]
            {
                // TODO: write this
            }
            else
            {
                char_t c1;
                lex_escape_ch_p[ref(c1)].parse(first, last);
                if (*first == '-') // insert a range
                {
                    ++first;
                    char_t c2;
                    lex_escape_ch_p[ref(c2)].parse(first, last);
                    assert(c1 < c2); // Throw exception?
                    rr.set(impl::range<char_t>(c1, c2));
                }
                else // insert 1 char
                {
                    rr.set(impl::range<char_t>(c1, c1));
                }
            }
        }

        if (negated_ccl)
        {
            rr = ccl_utils::negate_range_run(rr);
        }

        ccl_utils::create_nodes(rr, m_stack);
    }

    std::stack<node*>& m_stack;
};

template <typename IteratorT>
class make_any_char
{
public:
    typedef typename std::iterator_traits<IteratorT>::value_type char_t;
    std::stack<node*>& m_stack;

    make_any_char(std::stack<node*>& the_stack)
        : m_stack(the_stack)
        {}

    void operator()(const char_t c) const
    {
        assert(c == '.');
        do_any_char();
    }

    void do_any_char() const
    {
        static impl::range_run<char_t> rr;
        rr.set(impl::full_range<char_t>());
        char_t newline = '\n';
        rr.clear(impl::range<char_t>(newline, newline));

        ccl_utils::create_nodes(rr, m_stack);

    }

};


template <typename IteratorT>
class grammar
{
public:

	typedef rule<IteratorT> rule_t;
    typedef typename std::iterator_traits<IteratorT>::value_type char_t;


	rule_t regex, re, series, singleton, singleton2, fullccl, ccl, string, 
        escseq, ccl_char;
	symbols<> ccl_expr;

    std::stack<node*> node_stack;

	grammar()
	{
		regex = 
            re >> !('/' >> re) >> !ch_p('$');

		re =
			  series >> *(('|' >> series)[make_or<IteratorT>(node_stack)]);

		series =
			  singleton >> *(singleton[make_concat<IteratorT>(node_stack)] );

		singleton = 
			  ch_p('.')[make_any_char<IteratorT>(node_stack)] >> singleton2
			| fullccl >> singleton2
            // TODO: Write a string node generator
			| '"' >> string >> '"' >> singleton2
			| '(' >> re >> ')' >> singleton2
			| ((anychar - chset<>("/|*+?.(){}\\")) | escseq)
                [make_char<IteratorT>(node_stack)] 
              >> singleton2;

		singleton2 =
			  ch_p('*')[make_star<IteratorT>(node_stack)] >> singleton2
			| ch_p('+')[make_plus<IteratorT>(node_stack)] >> singleton2
			| ch_p('?')[make_optional<IteratorT>(node_stack)] >> singleton2
            // TODO: Write a specified repetition generator
			| '"' >> string >> '"' >> singleton2
			| '{' >> uint_p >> '}' >> singleton2
			| '{' >> uint_p >> ',' >> '}' >> singleton2
			| '{' >> uint_p >> ',' >> uint_p >> '}' >> singleton2
			| epsilon;

		fullccl =
			('[' >> !ch_p('^') >> ccl >> ']')[make_ccl<IteratorT>(node_stack)];

		ccl =
            *(ccl_expr | (ccl_char >> !('-' >> ccl_char)));

		ccl_char =
			((anychar - chset<>("\\\n]")) | escseq);

		ccl_expr =
			"[:alnum:]",
			"[:alpha:]",
			"[:blank:]",
			"[:cntrl:]",
			"[:digit:]",
			"[:graph:]",
			"[:lower:]",
			"[:print:]",
			"[:punct:]",
			"[:space:]",
			"[:upper:]",
			"[:xdigit:]";

		string =
			*((anychar - chset<>("\"\\")) | escseq);

		escseq =
			ch_p('\\') >> 
				longest[
				(  (anychar - '\n')
				 | chset<>("0-7").repeat(1,11) 
				 | chset<>("xX") >> xdigit.repeat(1,8)
				)];

	    BOOST_SPIRIT_DEBUG_RULE(regex);
        BOOST_SPIRIT_DEBUG_RULE(re);
        BOOST_SPIRIT_DEBUG_RULE(series);
        BOOST_SPIRIT_DEBUG_RULE(singleton);
        BOOST_SPIRIT_DEBUG_RULE(singleton2);
        BOOST_SPIRIT_DEBUG_RULE(fullccl);
        BOOST_SPIRIT_DEBUG_RULE(ccl);
        BOOST_SPIRIT_DEBUG_RULE(string);
        BOOST_SPIRIT_DEBUG_RULE(escseq);
        BOOST_SPIRIT_DEBUG_RULE(ccl_char);
	}
}; // class grammar

template <typename IteratorT>
node* parse(grammar<IteratorT>& g, IteratorT expr)
{
    parse_info<IteratorT>
        result = boost::spirit::parse(expr, g.regex);

    if (!result.full)
    {
        return 0;
    }

    assert(g.node_stack.size() == 1);
    node* rval = g.node_stack.top();
    g.node_stack.pop();
    node* an_eof_node = new eof_node();
    rval = new cat_node(rval, an_eof_node);
    return rval;
}

bool regex_match(const dfa_t& dfa, const char*& first, const char* last,
        int& regex_index)
{
    node_id_t s = 0;
    node_id_t last_accepting_index = invalid_node;
    const uchar* p = (const uchar*)first;
    const uchar* last_accepting_cpos = (const uchar*)first;
    while ((const char*)p != last)
    {
        s = dfa.first[s][*p];
        if (s == invalid_node)
            break;
        ++p;
        if (dfa.second[s] != invalid_node)
        {
            last_accepting_index = s;
            last_accepting_cpos = p;
        }
    }
    if (last_accepting_index != invalid_node)
    {
        // execute dfa.second[last_accepting_state]
#ifdef BOOST_SPIRIT_DEBUG
        std::cout << "dfa.second[" << last_accepting_index << "] = " << 
            dfa.second[last_accepting_index] << '\n';
#endif
        first = (const char*)last_accepting_cpos;
        regex_index = dfa.second[last_accepting_index];
        return true;
    }
    else
        return false;
}

bool regex_match(const dfa_t& dfa, const wchar_t*& first, const wchar_t* last,
        int& regex_index)
{
    node_id_t s = 0;
    node_id_t last_accepting_index = invalid_node;
    const wchar_t* wp = first;
    const wchar_t* last_accepting_cpos = first;
    while ((const wchar_t*)wp != last)
    {
        for (unsigned int i = 0; i < sizeof(wchar_t); ++i)
        {
            s = dfa.first[s][get_byte(*wp,i)];
            if (s == invalid_node)
            {
                goto break_while;
            }
        }
        ++wp;
        if (dfa.second[s] != invalid_node)
        {
            last_accepting_index = s;
            last_accepting_cpos = wp;
        }

    }

break_while:
    if (last_accepting_index != invalid_node)
    {
        // execute dfa.second[s]
#ifdef BOOST_SPIRIT_DEBUG
        std::cout << "dfa.second[" << last_accepting_index << "] = " << 
            dfa.second[last_accepting_index] << '\n';
#endif
        first = (const wchar_t*)last_accepting_cpos;
        regex_index = dfa.second[last_accepting_index];
        return true;
    }
    else
        return false;
}

} // namespace lexerimpl

template <typename CharT, typename TokenT = int>
class lexer
{
    public:
        lexer()
            : g()
            , m_compiled_dfa(false)
            {}

        void register_regex(const CharT* regex, TokenT id);

        template <typename IteratorT>
        TokenT next_token(IteratorT& first, IteratorT& last);

        void createdfa();

#ifdef BOOST_SPIRIT_DEBUG
        void dump(std::ostream& out);
#endif

    private:

        lexerimpl::grammar<const CharT*> g;

        mutable bool m_compiled_dfa;
        mutable dfa_t m_dfa;

        typedef std::vector<std::pair<std::basic_string<CharT>, TokenT> > regex_list_t;
        regex_list_t m_regex_list;
};

template <typename CharT, typename TokenT>
void
lexer<CharT, TokenT>::register_regex(const CharT* regex, TokenT id)
{
    m_regex_list.push_back(std::make_pair(regex, id));
}

template <typename CharT, typename TokenT>
template <typename IteratorT>
TokenT
lexer<CharT, TokenT>::next_token(IteratorT& first, IteratorT& last)
{
    if (!m_compiled_dfa)
    {
        createdfa();
    }

    int regex_index;
    if (!lexerimpl::regex_match(m_dfa, first, last, regex_index))
        return -1;
    else
        return m_regex_list[regex_index].second;
}


// Algorithm from Compilers: Principles, Techniques, and Tools p. 141
template <typename CharT, typename TokenT>
void 
lexer<CharT, TokenT>::createdfa()
{
    using std::map;
    using std::set;
    using std::vector;
    using std::find;

    using namespace lexerimpl;
    node::leaf_count = 0;
    // parse the expressions into a tree
    regex_list_t::iterator ri = m_regex_list.begin();
    std::auto_ptr<node> tree(parse(g, (*ri).first.c_str()));
    if (tree.get() == 0)
        throw bad_regex();

    ++ri;
    for ( ;ri != m_regex_list.end(); ++ri)
    {
        std::auto_ptr<node> next_tree(parse(g, (*ri).first.c_str()));
        if (next_tree.get() == 0)
            throw bad_regex();
        std::auto_ptr<node> newnode(new or_node(tree.release(), next_tree.release()));
        tree = newnode;
    }


#ifdef BOOST_SPIRIT_DEBUG
    tree->dump(std::cout);
#endif

    // compute followpos(root)
    followpos_t followpos;
    tree->compute_followpos(followpos);

    // the dfa states <-> nfa state groups
    map<node_set, node_id_t> dstates1;
    map<node_id_t, node_set> dstates2;

    // the dfa transitions
    m_dfa.first.push_back(vector<node_id_t>(256, invalid_node));
    m_dfa.second.push_back(invalid_node);

    // whether the dfa state has been processed yet
    vector<node_id_t> marked;

    // used to give a unique id to each dfa state
    node_id_t num_states = 0;

    // initially, the only unmarked state in Dstates is firstpos(root).
    marked.push_back(0);
    node_set fpr = tree->firstpos();
    dstates1[fpr] = 0;
    dstates2[0] = fpr;
    state_match_t state_match;
    tree->compute_state_match(state_match);
    node_set eof_node_ids;
    tree->get_eof_ids(eof_node_ids);
    // translate the eof_node_ids into a 0-based index
    map<node_id_t, node_id_t> eof_node_id_map;
    unsigned int x = 0;
    for (node_set::iterator node_id_it = eof_node_ids.begin();
            node_id_it != eof_node_ids.end();
            ++node_id_it)
    {
        eof_node_id_map[*node_id_it] = x++;
    }
    
    // figure out if this is an acceptance state
    for(node_set::iterator nsi = eof_node_ids.begin();
            nsi != eof_node_ids.end(); ++nsi)
    {
        node_id_t eof_node_id = *nsi;
        if (fpr.find(eof_node_id) != fpr.end())
        {
            // store the first one we come to as the
            // matched pattern
            m_dfa.second[0] = 
                eof_node_id_map[eof_node_id];
            // don't bother searching for more
            break;
        }
    }

    vector<node_id_t>::iterator i = find(marked.begin(), marked.end(), 
            node_id_t(0));
    while (marked.end() != i)
    {
        *i = 1;
        node_id_t T = i - marked.begin();
        assert(T < dstates2.size());
        node_set Tstates = dstates2[T];
        for (node_id_t j = 0; j < 256; ++j)
        {
            node_set U;
            for (node_set::iterator k = Tstates.begin();
                    k != Tstates.end(); ++k)
            {
                node_id_t p = *k;
                assert(p < state_match.size());
                assert(j < state_match[p].size());
                if (state_match[p][j])
                {
                    node_set fpp = followpos[p];
                    U.insert(fpp.begin(), fpp.end());
                }
            }
            if (U.size() > 0)
            {
                map<node_set, node_id_t>::iterator l = dstates1.find(U);
                node_id_t target_state;
                if (l == dstates1.end()) // not in the states yet
                {
                    ++num_states;
                    dstates1[U] = target_state = num_states;
                    dstates2[target_state] = U;
                    marked.push_back(0);
                    m_dfa.first.push_back(
                            vector<node_id_t>(256, invalid_node));
                    m_dfa.second.push_back(invalid_node);
                    // figure out if this is an acceptance state
                    for(node_set::iterator nsi = eof_node_ids.begin();
                            nsi != eof_node_ids.end(); ++nsi)
                    {
                        node_id_t eof_node_id = *nsi;
                        if (U.find(eof_node_id) != U.end())
                        {
                            // store the first one we come to as the
                            // matched pattern
                            m_dfa.second[target_state] = 
                                eof_node_id_map[eof_node_id];
                            // don't bother searching for more
                            break;
                        }
                    }
                }
                else
                {
                    target_state = dstates1[U];
                }

                assert(T < m_dfa.first.size());
                assert(j < m_dfa.first[T].size());
                m_dfa.first[T][j] = target_state;
            }
            
        }

        i = find(marked.begin(), marked.end(), node_id_t(0));
    }
    m_compiled_dfa = true;
}


#ifdef BOOST_SPIRIT_DEBUG
template <typename CharT, typename TokenT>
void
lexer<CharT, TokenT>::dump(std::ostream& out)
{
    out << "\nm_dfa has " << m_dfa.first.size() << " states\n";
    for (node_id_t i = 0; i < m_dfa.first.size(); ++i)
    {
        out << "state " << i << ":";
        for (node_id_t j = 0; j < m_dfa.first[i].size(); ++j)
        {
            if (m_dfa.first[i][j] != invalid_node)
                out << j << "->" << m_dfa.first[i][j] << " ";
        }
        out << "\n";
    }
    out << "acceptance states: ";
    for(unsigned int i = 0; i < m_dfa.second.size(); ++i)
    {
        if (m_dfa.second[i] != invalid_node)
            out << '<' << i << ',' << m_dfa.second[i] << "> ";
    }
    out << endl;
}
#endif

} // namespace spirit

#endif


matched token #129 :/*=============================================================================
    Lexer

    Spirit V1.2
    Copyright (c) 2001, Daniel C. Nuffer

    This software is provided 'as-is', without any express or implied
    warranty. In no event will the copyright holder be held liable for
    any damages arising from the use of this software.

    Permission is granted to anyone to use this software for any purpose,
    including commercial applications, and to alter it and redistribute
    it freely, subject to the following restrictions:

    1.  The origin of this software must not be misrepresented; you must
        not claim that you wrote the original software. If you use this
        software in a product, an acknowledgment in the product documentation
        would be appreciated but is not required.

    2.  Altered source versions must be plainly marked as such, and must
        not be misrepresented as being the original software.

    3.  This notice may not be removed or altered from any source
        distribution.

    Acknowledgements:

        Special thanks to Dan Nuffer, John (EBo) David, Chris Uzdavinis,
        and Doug Gregor. These people are most instrumental in steering
        Spirit in the right direction.

        Special thanks also to people who have contributed to the code base
        and sample code, ported Spirit to various platforms and compilers,
        gave suggestions, reported and provided bug fixes. Alexander
        Hirner, Andy Elvey, Bogdan Kushnir, Brett Calcott, Bruce Florman,
        Changzhe Han, Colin McPhail, Hakki Dogusan, Jan Bares, Joseph
        Smith, Martijn W. van der Lee, Raghavendra Satish, Remi Delcos, Tom
        Spilman, Vladimir Prus, W. Scott Dillman, David A. Greene, Bob
        Bailey, Hartmut Kaiser.

        Finally special thanks also to people who gave feedback and
        valuable comments, particularly members of Spirit's Source Forge
        mailing list and boost.org.

    URL: http://spirit.sourceforge.net/


    TODO List:
        create regression test suite.
        complete existing regex functionality.
        refactor createdfa() and make_ccl class.
        callback objects (called when a match is made.)
        lexer states.
        beginning/ending contexts.
        ^ and $
        DFA minimization.
        DFA table compression.
        DFA serialization to save recomputing the DFA.

=============================================================================*/
matched token #135 :

matched token #137 :#
matched token #114 :ifndef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_LEXER_HPP
matched token #135 :

matched token #137 :#
matched token #112 :define
matched token #134 : 
matched token #123 :BOOST_SPIRIT_LEXER_HPP
matched token #135 :

matched token #135 :

matched token #130 :///////////////////////////////////////////////////////////////////////////////
matched token #135 :

matched token #137 :#
matched token #119 :include
matched token #134 : 
matched token #19 :<
matched token #123 :set
matched token #16 :>
matched token #135 :

matched token #137 :#
matched token #119 :include
matched token #134 : 
matched token #19 :<
matched token #123 :map
matched token #16 :>
matched token #135 :

matched token #137 :#
matched token #119 :include
matched token #134 : 
matched token #19 :<
matched token #123 :stack
matched token #16 :>
matched token #135 :

matched token #137 :#
matched token #119 :include
matched token #134 : 
matched token #19 :<
matched token #123 :utility
matched token #16 :>
matched token #134 : 
matched token #130 :// for pair
matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #137 :#
matched token #119 :include
matched token #134 : 
matched token #19 :<
matched token #123 :iostream
matched token #16 :>
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #130 :///////////////////////////////////////////////////////////////////////////////
matched token #135 :

matched token #81 :namespace
matched token #134 : 
matched token #123 :spirit
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #135 :

matched token #101 :typedef
matched token #134 : 
matched token #105 :unsigned
matched token #134 : 
matched token #57 :char
matched token #134 : 
matched token #123 :uchar
matched token #41 :;
matched token #135 :

matched token #101 :typedef
matched token #134 : 
matched token #105 :unsigned
matched token #134 : 
matched token #78 :int
matched token #134 : 
matched token #123 :node_id_t
matched token #41 :;
matched token #135 :

matched token #93 :static
matched token #134 : 
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :invalid_node
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :node_id_t
matched token #21 :(
matched token #23 :-
matched token #125 :1
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #101 :typedef
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :set
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #134 : 
matched token #123 :node_set
matched token #41 :;
matched token #135 :

matched token #101 :typedef
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :vector
matched token #19 :<
matched token #123 :uchar
matched token #16 :>
matched token #134 : 
matched token #123 :uchar_vector
matched token #41 :;
matched token #135 :

matched token #101 :typedef
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :map
matched token #19 :<
matched token #123 :node_id_t
matched token #8 :,
matched token #134 : 
matched token #123 :node_set
matched token #16 :>
matched token #134 : 
matched token #123 :followpos_t
matched token #41 :;
matched token #135 :

matched token #101 :typedef
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :vector
matched token #19 :<
matched token #123 :uchar_vector
matched token #16 :>
matched token #134 : 
matched token #123 :state_match_t
matched token #41 :;
matched token #135 :

matched token #101 :typedef
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :pair
matched token #19 :<
matched token #123 :std
matched token #40 :::
matched token #123 :vector
matched token #19 :<
matched token #123 :std
matched token #40 :::
matched token #123 :vector
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #134 : 
matched token #16 :>
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :                  
matched token #123 :std
matched token #40 :::
matched token #123 :vector
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #134 : 
matched token #16 :>
matched token #134 : 
matched token #123 :dfa_t
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :bad_regex
matched token #134 : 
matched token #9 ::
matched token #134 : 
matched token #86 :public
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :exception
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #81 :namespace
matched token #134 : 
matched token #123 :lexerimpl
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :node
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #47 :~
matched token #123 :node
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #18 :{
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #51 :bool
matched token #134 : 
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node_set
matched token #134 : 
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node_set
matched token #134 : 
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos_t
matched token #0 :&
matched token #134 : 
matched token #123 :followpos
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match_t
matched token #0 :&
matched token #134 : 
matched token #123 :state_match
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :node_set
matched token #0 :&
matched token #134 : 
matched token #123 :eof_set
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :ostream
matched token #0 :&
matched token #134 : 
matched token #123 :out
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #93 :static
matched token #134 : 
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :leaf_count
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :char_node
matched token #134 : 
matched token #9 ::
matched token #134 : 
matched token #86 :public
matched token #134 : 
matched token #123 :node
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #135 :

matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :	
matched token #123 :char_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :uchar
matched token #134 : 
matched token #123 :c
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :char_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :char_node
matched token #0 :&
matched token #134 : 
matched token #123 :x
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #47 :~
matched token #123 :char_node
matched token #21 :(
matched token #38 :)
matched token #18 :{
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #51 :bool
matched token #134 : 
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node_set
matched token #134 : 
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node_set
matched token #134 : 
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos_t
matched token #0 :&
matched token #134 : 
matched token #123 :followpos
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match_t
matched token #0 :&
matched token #134 : 
matched token #123 :state_match
matched token #134 : 
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :node_set
matched token #0 :&
matched token #134 : 
matched token #123 :eof_set
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :ostream
matched token #0 :&
matched token #134 : 
matched token #123 :out
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #84 :private
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :	
matched token #123 :uchar
matched token #134 : 
matched token #123 :m_char
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :m_node_num
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #123 :char_node
matched token #40 :::
matched token #123 :char_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :uchar
matched token #134 : 
matched token #123 :c
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #9 ::
matched token #134 : 
matched token #123 :node
matched token #21 :(
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_char
matched token #21 :(
matched token #123 :c
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_node_num
matched token #21 :(
matched token #123 :node
matched token #40 :::
matched token #123 :leaf_count
matched token #33 :++
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :char_node
matched token #40 :::
matched token #123 :char_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :char_node
matched token #0 :&
matched token #134 : 
matched token #123 :x
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #9 ::
matched token #134 : 
matched token #123 :node
matched token #21 :(
matched token #123 :x
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_char
matched token #21 :(
matched token #123 :x
matched token #12 :.
matched token #123 :m_char
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_node_num
matched token #21 :(
matched token #123 :node
matched token #40 :::
matched token #123 :leaf_count
matched token #33 :++
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #135 :

matched token #123 :char_node
matched token #40 :::
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :char_node
matched token #21 :(
matched token #46 :*
matched token #98 :this
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #51 :bool
matched token #134 : 
matched token #135 :

matched token #123 :char_node
matched token #40 :::
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #52 :false
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node_set
matched token #134 : 
matched token #135 :

matched token #123 :char_node
matched token #40 :::
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :rval
matched token #12 :.
matched token #123 :insert
matched token #21 :(
matched token #123 :m_node_num
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node_set
matched token #134 : 
matched token #135 :

matched token #123 :char_node
matched token #40 :::
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :char_node
matched token #40 :::
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos_t
matched token #0 :&
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #135 :

matched token #123 :char_node
matched token #40 :::
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match_t
matched token #0 :&
matched token #134 : 
matched token #123 :state_match
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :state_match
matched token #12 :.
matched token #123 :size
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #123 :m_node_num
matched token #134 : 
matched token #31 :+
matched token #134 : 
matched token #125 :1
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #123 :state_match
matched token #12 :.
matched token #123 :resize
matched token #21 :(
matched token #123 :m_node_num
matched token #134 : 
matched token #31 :+
matched token #134 : 
matched token #125 :1
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :state_match
matched token #22 :[
matched token #123 :m_node_num
matched token #39 :]
matched token #12 :.
matched token #123 :resize
matched token #21 :(
matched token #125 :256
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :state_match
matched token #22 :[
matched token #123 :m_node_num
matched token #39 :]
matched token #22 :[
matched token #123 :m_char
matched token #39 :]
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #125 :1
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :char_node
matched token #40 :::
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :node_set
matched token #0 :&
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :char_node
matched token #40 :::
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :ostream
matched token #0 :&
matched token #134 : 
matched token #123 :out
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :"\nchar_node m_char = "
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #123 :m_char
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" m_node_num = "
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #123 :m_node_num
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" nullable() = "
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #21 :(
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #36 :?
matched token #134 : 
matched token #132 :"true"
matched token #134 : 
matched token #9 ::
matched token #134 : 
matched token #132 :"false"
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" firstpos() = "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :fp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :copy
matched token #21 :(
matched token #123 :fp
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :fp
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :ostream_iterator
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #21 :(
matched token #123 :out
matched token #8 :,
matched token #134 : 
matched token #132 :","
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" lastpos() = "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :lp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :copy
matched token #21 :(
matched token #123 :lp
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :lp
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :ostream_iterator
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #21 :(
matched token #123 :out
matched token #8 :,
matched token #134 : 
matched token #132 :","
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :epsilon_node
matched token #134 : 
matched token #9 ::
matched token #134 : 
matched token #86 :public
matched token #134 : 
matched token #123 :node
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #135 :

matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :	
matched token #123 :epsilon_node
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :epsilon_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :epsilon_node
matched token #0 :&
matched token #134 : 
matched token #123 :x
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #47 :~
matched token #123 :epsilon_node
matched token #21 :(
matched token #38 :)
matched token #18 :{
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #51 :bool
matched token #134 : 
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node_set
matched token #134 : 
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node_set
matched token #134 : 
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos_t
matched token #0 :&
matched token #134 : 
matched token #123 :followpos
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match_t
matched token #0 :&
matched token #134 : 
matched token #123 :state_match
matched token #134 : 
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :node_set
matched token #0 :&
matched token #134 : 
matched token #123 :eof_set
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :ostream
matched token #0 :&
matched token #134 : 
matched token #123 :out
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #84 :private
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :m_node_num
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #77 :inline
matched token #135 :

matched token #123 :epsilon_node
matched token #40 :::
matched token #123 :epsilon_node
matched token #21 :(
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #9 ::
matched token #134 : 
matched token #123 :node
matched token #21 :(
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_node_num
matched token #21 :(
matched token #123 :node
matched token #40 :::
matched token #123 :leaf_count
matched token #33 :++
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :epsilon_node
matched token #40 :::
matched token #123 :epsilon_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :epsilon_node
matched token #0 :&
matched token #134 : 
matched token #123 :x
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #9 ::
matched token #134 : 
matched token #123 :node
matched token #21 :(
matched token #123 :x
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_node_num
matched token #21 :(
matched token #123 :node
matched token #40 :::
matched token #123 :leaf_count
matched token #33 :++
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #135 :

matched token #123 :epsilon_node
matched token #40 :::
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :epsilon_node
matched token #21 :(
matched token #46 :*
matched token #98 :this
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #51 :bool
matched token #134 : 
matched token #135 :

matched token #123 :epsilon_node
matched token #40 :::
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #53 :true
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node_set
matched token #134 : 
matched token #135 :

matched token #123 :epsilon_node
matched token #40 :::
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #123 :node_set
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node_set
matched token #134 : 
matched token #135 :

matched token #123 :epsilon_node
matched token #40 :::
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #123 :node_set
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :epsilon_node
matched token #40 :::
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos_t
matched token #0 :&
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #135 :

matched token #123 :epsilon_node
matched token #40 :::
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match_t
matched token #0 :&
matched token #134 : 
matched token #123 :state_match
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :state_match
matched token #12 :.
matched token #123 :size
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #123 :m_node_num
matched token #134 : 
matched token #31 :+
matched token #134 : 
matched token #125 :1
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #123 :state_match
matched token #12 :.
matched token #123 :resize
matched token #21 :(
matched token #123 :m_node_num
matched token #134 : 
matched token #31 :+
matched token #134 : 
matched token #125 :1
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :state_match
matched token #22 :[
matched token #123 :m_node_num
matched token #39 :]
matched token #12 :.
matched token #123 :resize
matched token #21 :(
matched token #125 :256
matched token #8 :,
matched token #134 : 
matched token #125 :1
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :epsilon_node
matched token #40 :::
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :node_set
matched token #0 :&
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :epsilon_node
matched token #40 :::
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :ostream
matched token #0 :&
matched token #134 : 
matched token #123 :out
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :"\nepsilon_node"
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" m_node_num = "
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #123 :m_node_num
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" nullable() = "
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #21 :(
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #36 :?
matched token #134 : 
matched token #132 :"true"
matched token #134 : 
matched token #9 ::
matched token #134 : 
matched token #132 :"false"
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" firstpos() = "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :fp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :copy
matched token #21 :(
matched token #123 :fp
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :fp
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :ostream_iterator
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #21 :(
matched token #123 :out
matched token #8 :,
matched token #134 : 
matched token #132 :","
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" lastpos() = "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :lp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :copy
matched token #21 :(
matched token #123 :lp
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :lp
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :ostream_iterator
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #21 :(
matched token #123 :out
matched token #8 :,
matched token #134 : 
matched token #132 :","
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :or_node
matched token #134 : 
matched token #9 ::
matched token #134 : 
matched token #86 :public
matched token #134 : 
matched token #123 :node
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #135 :

matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :	
matched token #123 :or_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :node
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #123 :left
matched token #8 :,
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #123 :node
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #123 :right
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :or_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :or_node
matched token #0 :&
matched token #134 : 
matched token #123 :x
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #47 :~
matched token #123 :or_node
matched token #21 :(
matched token #38 :)
matched token #18 :{
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #51 :bool
matched token #134 : 
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node_set
matched token #134 : 
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node_set
matched token #134 : 
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos_t
matched token #0 :&
matched token #134 : 
matched token #123 :followpos
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match_t
matched token #0 :&
matched token #134 : 
matched token #123 :state_match
matched token #134 : 
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :node_set
matched token #0 :&
matched token #134 : 
matched token #123 :eof_set
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :ostream
matched token #0 :&
matched token #134 : 
matched token #123 :out
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #84 :private
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :auto_ptr
matched token #19 :<
matched token #59 :const
matched token #134 : 
matched token #123 :node
matched token #134 : 
matched token #16 :>
matched token #134 : 
matched token #123 :m_left
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :auto_ptr
matched token #19 :<
matched token #59 :const
matched token #134 : 
matched token #123 :node
matched token #134 : 
matched token #16 :>
matched token #134 : 
matched token #123 :m_right
matched token #41 :;
matched token #134 :	
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #77 :inline
matched token #135 :

matched token #123 :or_node
matched token #40 :::
matched token #123 :or_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :node
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #123 :left
matched token #8 :,
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #123 :node
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #123 :right
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #9 ::
matched token #134 : 
matched token #123 :node
matched token #21 :(
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_left
matched token #21 :(
matched token #123 :left
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_right
matched token #21 :(
matched token #123 :right
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :or_node
matched token #40 :::
matched token #123 :or_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :or_node
matched token #0 :&
matched token #134 : 
matched token #123 :x
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #9 ::
matched token #134 : 
matched token #123 :node
matched token #21 :(
matched token #123 :x
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_left
matched token #21 :(
matched token #123 :x
matched token #12 :.
matched token #123 :m_left
matched token #34 :->
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_right
matched token #21 :(
matched token #123 :x
matched token #12 :.
matched token #123 :m_right
matched token #34 :->
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #135 :

matched token #123 :or_node
matched token #40 :::
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :or_node
matched token #21 :(
matched token #46 :*
matched token #98 :this
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #51 :bool
matched token #134 : 
matched token #135 :

matched token #123 :or_node
matched token #40 :::
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #123 :m_left
matched token #34 :->
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #30 :||
matched token #134 : 
matched token #123 :m_right
matched token #34 :->
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node_set
matched token #134 : 
matched token #135 :

matched token #123 :or_node
matched token #40 :::
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :l
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_left
matched token #34 :->
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :r
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_right
matched token #34 :->
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :set_union
matched token #21 :(
matched token #123 :l
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :l
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :r
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :r
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :inserter
matched token #21 :(
matched token #123 :rval
matched token #8 :,
matched token #134 : 
matched token #123 :rval
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node_set
matched token #134 : 
matched token #135 :

matched token #123 :or_node
matched token #40 :::
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :l
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_left
matched token #34 :->
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :r
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_right
matched token #34 :->
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :set_union
matched token #21 :(
matched token #123 :l
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :l
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :r
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :r
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :inserter
matched token #21 :(
matched token #123 :rval
matched token #8 :,
matched token #134 : 
matched token #123 :rval
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :or_node
matched token #40 :::
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos_t
matched token #0 :&
matched token #134 : 
matched token #123 :followpos
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :m_left
matched token #34 :->
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :m_right
matched token #34 :->
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #135 :

matched token #123 :or_node
matched token #40 :::
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match_t
matched token #0 :&
matched token #134 : 
matched token #123 :state_match
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :m_left
matched token #34 :->
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :m_right
matched token #34 :->
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :or_node
matched token #40 :::
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :node_set
matched token #0 :&
matched token #134 : 
matched token #123 :eof_nodes
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :m_left
matched token #34 :->
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :eof_nodes
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :m_right
matched token #34 :->
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :eof_nodes
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :or_node
matched token #40 :::
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :ostream
matched token #0 :&
matched token #134 : 
matched token #123 :out
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :"\nor_node"
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" nullable() = "
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #21 :(
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #36 :?
matched token #134 : 
matched token #132 :"true"
matched token #134 : 
matched token #9 ::
matched token #134 : 
matched token #132 :"false"
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" firstpos() = "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :fp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :copy
matched token #21 :(
matched token #123 :fp
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :fp
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :ostream_iterator
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #21 :(
matched token #123 :out
matched token #8 :,
matched token #134 : 
matched token #132 :","
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" lastpos() = "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :lp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :copy
matched token #21 :(
matched token #123 :lp
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :lp
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :ostream_iterator
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #21 :(
matched token #123 :out
matched token #8 :,
matched token #134 : 
matched token #132 :","
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :m_left
matched token #34 :->
matched token #123 :dump
matched token #21 :(
matched token #123 :out
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :m_right
matched token #34 :->
matched token #123 :dump
matched token #21 :(
matched token #123 :out
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :cat_node
matched token #134 : 
matched token #9 ::
matched token #134 : 
matched token #86 :public
matched token #134 : 
matched token #123 :node
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #135 :

matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :	
matched token #123 :cat_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :node
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #123 :left
matched token #8 :,
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #123 :node
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #123 :right
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :cat_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :cat_node
matched token #0 :&
matched token #134 : 
matched token #123 :x
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #47 :~
matched token #123 :cat_node
matched token #21 :(
matched token #38 :)
matched token #18 :{
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #51 :bool
matched token #134 : 
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node_set
matched token #134 : 
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node_set
matched token #134 : 
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos_t
matched token #0 :&
matched token #134 : 
matched token #123 :followpos
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match_t
matched token #0 :&
matched token #134 : 
matched token #123 :state_match
matched token #134 : 
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :node_set
matched token #0 :&
matched token #134 : 
matched token #123 :eof_set
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :ostream
matched token #0 :&
matched token #134 : 
matched token #123 :out
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #84 :private
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :auto_ptr
matched token #19 :<
matched token #59 :const
matched token #134 : 
matched token #123 :node
matched token #134 : 
matched token #16 :>
matched token #134 : 
matched token #123 :m_left
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :auto_ptr
matched token #19 :<
matched token #59 :const
matched token #134 : 
matched token #123 :node
matched token #134 : 
matched token #16 :>
matched token #134 : 
matched token #123 :m_right
matched token #41 :;
matched token #134 :	
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #77 :inline
matched token #135 :

matched token #123 :cat_node
matched token #40 :::
matched token #123 :cat_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :node
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #123 :left
matched token #8 :,
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #123 :node
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #123 :right
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #9 ::
matched token #134 : 
matched token #123 :node
matched token #21 :(
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_left
matched token #21 :(
matched token #123 :left
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_right
matched token #21 :(
matched token #123 :right
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :cat_node
matched token #40 :::
matched token #123 :cat_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :cat_node
matched token #0 :&
matched token #134 : 
matched token #123 :x
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #9 ::
matched token #134 : 
matched token #123 :node
matched token #21 :(
matched token #123 :x
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_left
matched token #21 :(
matched token #123 :x
matched token #12 :.
matched token #123 :m_left
matched token #34 :->
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_right
matched token #21 :(
matched token #123 :x
matched token #12 :.
matched token #123 :m_right
matched token #34 :->
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #135 :

matched token #123 :cat_node
matched token #40 :::
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :cat_node
matched token #21 :(
matched token #46 :*
matched token #98 :this
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #51 :bool
matched token #134 : 
matched token #135 :

matched token #123 :cat_node
matched token #40 :::
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #123 :m_left
matched token #34 :->
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #1 :&&
matched token #134 : 
matched token #123 :m_right
matched token #34 :->
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node_set
matched token #134 : 
matched token #135 :

matched token #123 :cat_node
matched token #40 :::
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :m_left
matched token #34 :->
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :node_set
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :node_set
matched token #134 : 
matched token #123 :l
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_left
matched token #34 :->
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :node_set
matched token #134 : 
matched token #123 :r
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_right
matched token #34 :->
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :std
matched token #40 :::
matched token #123 :set_union
matched token #21 :(
matched token #123 :l
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :l
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :r
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :r
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #135 :

matched token #134 :                
matched token #123 :std
matched token #40 :::
matched token #123 :inserter
matched token #21 :(
matched token #123 :rval
matched token #8 :,
matched token #134 : 
matched token #123 :rval
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #89 :return
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #134 :    
matched token #68 :else
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #89 :return
matched token #134 : 
matched token #123 :m_left
matched token #34 :->
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node_set
matched token #134 : 
matched token #135 :

matched token #123 :cat_node
matched token #40 :::
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :m_right
matched token #34 :->
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :node_set
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :node_set
matched token #134 : 
matched token #123 :l
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_left
matched token #34 :->
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :node_set
matched token #134 : 
matched token #123 :r
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_right
matched token #34 :->
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :std
matched token #40 :::
matched token #123 :set_union
matched token #21 :(
matched token #123 :l
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :l
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :r
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :r
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #135 :

matched token #134 :                
matched token #123 :std
matched token #40 :::
matched token #123 :inserter
matched token #21 :(
matched token #123 :rval
matched token #8 :,
matched token #134 : 
matched token #123 :rval
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #89 :return
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #134 :    
matched token #68 :else
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #89 :return
matched token #134 : 
matched token #123 :m_right
matched token #34 :->
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :cat_node
matched token #40 :::
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos_t
matched token #0 :&
matched token #134 : 
matched token #123 :followpos
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :l
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_left
matched token #34 :->
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #123 :node_set
matched token #40 :::
matched token #123 :iterator
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :l
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #123 :i
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :l
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #33 :++
matched token #123 :i
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :node_set
matched token #134 : 
matched token #123 :rf
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_right
matched token #34 :->
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :followpos
matched token #22 :[
matched token #46 :*
matched token #123 :i
matched token #39 :]
matched token #12 :.
matched token #123 :insert
matched token #21 :(
matched token #123 :rf
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :rf
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :m_left
matched token #34 :->
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :m_right
matched token #34 :->
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #135 :

matched token #123 :cat_node
matched token #40 :::
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match_t
matched token #0 :&
matched token #134 : 
matched token #123 :state_match
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :m_left
matched token #34 :->
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :m_right
matched token #34 :->
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :cat_node
matched token #40 :::
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :node_set
matched token #0 :&
matched token #134 : 
matched token #123 :eof_nodes
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :m_left
matched token #34 :->
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :eof_nodes
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :m_right
matched token #34 :->
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :eof_nodes
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :cat_node
matched token #40 :::
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :ostream
matched token #0 :&
matched token #134 : 
matched token #123 :out
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :"\ncat_node"
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" nullable() = "
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #21 :(
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #36 :?
matched token #134 : 
matched token #132 :"true"
matched token #134 : 
matched token #9 ::
matched token #134 : 
matched token #132 :"false"
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" firstpos() = "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :fp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :copy
matched token #21 :(
matched token #123 :fp
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :fp
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :ostream_iterator
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #21 :(
matched token #123 :out
matched token #8 :,
matched token #134 : 
matched token #132 :","
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" lastpos() = "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :lp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :copy
matched token #21 :(
matched token #123 :lp
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :lp
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :ostream_iterator
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #21 :(
matched token #123 :out
matched token #8 :,
matched token #134 : 
matched token #132 :","
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :m_left
matched token #34 :->
matched token #123 :dump
matched token #21 :(
matched token #123 :out
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :m_right
matched token #34 :->
matched token #123 :dump
matched token #21 :(
matched token #123 :out
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :star_node
matched token #134 : 
matched token #9 ::
matched token #134 : 
matched token #86 :public
matched token #134 : 
matched token #123 :node
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #135 :

matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :	
matched token #123 :star_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :node
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #123 :left
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :star_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :star_node
matched token #0 :&
matched token #134 : 
matched token #123 :x
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #47 :~
matched token #123 :star_node
matched token #21 :(
matched token #38 :)
matched token #18 :{
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #51 :bool
matched token #134 : 
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node_set
matched token #134 : 
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node_set
matched token #134 : 
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos_t
matched token #0 :&
matched token #134 : 
matched token #123 :followpos
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match_t
matched token #0 :&
matched token #134 : 
matched token #123 :state_match
matched token #134 : 
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :node_set
matched token #0 :&
matched token #134 : 
matched token #123 :eof_set
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :ostream
matched token #0 :&
matched token #134 : 
matched token #123 :out
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #84 :private
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :auto_ptr
matched token #19 :<
matched token #59 :const
matched token #134 : 
matched token #123 :node
matched token #134 : 
matched token #16 :>
matched token #134 : 
matched token #123 :m_left
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #77 :inline
matched token #135 :

matched token #123 :star_node
matched token #40 :::
matched token #123 :star_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :node
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #123 :left
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #9 ::
matched token #134 : 
matched token #123 :node
matched token #21 :(
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_left
matched token #21 :(
matched token #123 :left
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #77 :inline
matched token #135 :

matched token #123 :star_node
matched token #40 :::
matched token #123 :star_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :star_node
matched token #0 :&
matched token #134 : 
matched token #123 :x
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #9 ::
matched token #134 : 
matched token #123 :node
matched token #21 :(
matched token #123 :x
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_left
matched token #21 :(
matched token #123 :x
matched token #12 :.
matched token #123 :m_left
matched token #34 :->
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #135 :

matched token #123 :star_node
matched token #40 :::
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :star_node
matched token #21 :(
matched token #46 :*
matched token #98 :this
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #51 :bool
matched token #134 : 
matched token #135 :

matched token #123 :star_node
matched token #40 :::
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #53 :true
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node_set
matched token #134 : 
matched token #135 :

matched token #123 :star_node
matched token #40 :::
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #123 :m_left
matched token #34 :->
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node_set
matched token #134 : 
matched token #135 :

matched token #123 :star_node
matched token #40 :::
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #123 :m_left
matched token #34 :->
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :star_node
matched token #40 :::
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos_t
matched token #0 :&
matched token #134 : 
matched token #123 :followpos
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :lp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #98 :this
matched token #34 :->
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #123 :node_set
matched token #40 :::
matched token #123 :iterator
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :lp
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #123 :i
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :lp
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #33 :++
matched token #123 :i
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :node_set
matched token #134 : 
matched token #123 :fp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #98 :this
matched token #34 :->
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :followpos
matched token #22 :[
matched token #46 :*
matched token #123 :i
matched token #39 :]
matched token #12 :.
matched token #123 :insert
matched token #21 :(
matched token #123 :fp
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :fp
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :m_left
matched token #34 :->
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #135 :

matched token #123 :star_node
matched token #40 :::
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match_t
matched token #0 :&
matched token #134 : 
matched token #123 :state_match
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :m_left
matched token #34 :->
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :star_node
matched token #40 :::
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :node_set
matched token #0 :&
matched token #134 : 
matched token #123 :eof_nodes
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :m_left
matched token #34 :->
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :eof_nodes
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :star_node
matched token #40 :::
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :ostream
matched token #0 :&
matched token #134 : 
matched token #123 :out
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :"\nstar_node"
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" nullable() = "
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #21 :(
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #36 :?
matched token #134 : 
matched token #132 :"true"
matched token #134 : 
matched token #9 ::
matched token #134 : 
matched token #132 :"false"
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" firstpos() = "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :fp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :copy
matched token #21 :(
matched token #123 :fp
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :fp
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :ostream_iterator
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #21 :(
matched token #123 :out
matched token #8 :,
matched token #134 : 
matched token #132 :","
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" lastpos() = "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :lp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :copy
matched token #21 :(
matched token #123 :lp
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :lp
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :ostream_iterator
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #21 :(
matched token #123 :out
matched token #8 :,
matched token #134 : 
matched token #132 :","
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :m_left
matched token #34 :->
matched token #123 :dump
matched token #21 :(
matched token #123 :out
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :eof_node
matched token #134 : 
matched token #9 ::
matched token #134 : 
matched token #86 :public
matched token #134 : 
matched token #123 :node
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #135 :

matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :	
matched token #123 :eof_node
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :eof_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :eof_node
matched token #0 :&
matched token #134 : 
matched token #123 :x
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #47 :~
matched token #123 :eof_node
matched token #21 :(
matched token #38 :)
matched token #18 :{
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #51 :bool
matched token #134 : 
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node_set
matched token #134 : 
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node_set
matched token #134 : 
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos_t
matched token #0 :&
matched token #134 : 
matched token #123 :followpos
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match_t
matched token #0 :&
matched token #134 : 
matched token #123 :state_match
matched token #134 : 
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :node_set
matched token #0 :&
matched token #134 : 
matched token #123 :eof_set
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :ostream
matched token #0 :&
matched token #134 : 
matched token #123 :out
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #84 :private
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :m_node_num
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #77 :inline
matched token #135 :

matched token #123 :eof_node
matched token #40 :::
matched token #123 :eof_node
matched token #21 :(
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #9 ::
matched token #134 : 
matched token #123 :node
matched token #21 :(
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_node_num
matched token #21 :(
matched token #123 :node
matched token #40 :::
matched token #123 :leaf_count
matched token #33 :++
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :eof_node
matched token #40 :::
matched token #123 :eof_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :eof_node
matched token #0 :&
matched token #134 : 
matched token #123 :x
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #9 ::
matched token #134 : 
matched token #123 :node
matched token #21 :(
matched token #123 :x
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_node_num
matched token #21 :(
matched token #123 :node
matched token #40 :::
matched token #123 :leaf_count
matched token #33 :++
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #135 :

matched token #123 :eof_node
matched token #40 :::
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :eof_node
matched token #21 :(
matched token #46 :*
matched token #98 :this
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #51 :bool
matched token #134 : 
matched token #135 :

matched token #123 :eof_node
matched token #40 :::
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #52 :false
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node_set
matched token #134 : 
matched token #135 :

matched token #123 :eof_node
matched token #40 :::
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :rval
matched token #12 :.
matched token #123 :insert
matched token #21 :(
matched token #123 :m_node_num
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node_set
matched token #134 : 
matched token #135 :

matched token #123 :eof_node
matched token #40 :::
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :rval
matched token #12 :.
matched token #123 :insert
matched token #21 :(
matched token #123 :m_node_num
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :eof_node
matched token #40 :::
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos_t
matched token #0 :&
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #135 :

matched token #123 :eof_node
matched token #40 :::
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match_t
matched token #0 :&
matched token #134 : 
matched token #123 :state_match
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :state_match
matched token #12 :.
matched token #123 :size
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #123 :m_node_num
matched token #134 : 
matched token #31 :+
matched token #134 : 
matched token #125 :1
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #123 :state_match
matched token #12 :.
matched token #123 :resize
matched token #21 :(
matched token #123 :m_node_num
matched token #134 : 
matched token #31 :+
matched token #134 : 
matched token #125 :1
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :state_match
matched token #22 :[
matched token #123 :m_node_num
matched token #39 :]
matched token #12 :.
matched token #123 :resize
matched token #21 :(
matched token #125 :256
matched token #8 :,
matched token #134 : 
matched token #124 :0
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :eof_node
matched token #40 :::
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :node_set
matched token #0 :&
matched token #134 : 
matched token #123 :eof_nodes
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :eof_nodes
matched token #12 :.
matched token #123 :insert
matched token #21 :(
matched token #123 :m_node_num
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :eof_node
matched token #40 :::
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :ostream
matched token #0 :&
matched token #134 : 
matched token #123 :out
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :"\neof_node"
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" m_node_num = "
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #123 :m_node_num
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" nullable() = "
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #21 :(
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #36 :?
matched token #134 : 
matched token #132 :"true"
matched token #134 : 
matched token #9 ::
matched token #134 : 
matched token #132 :"false"
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" firstpos() = "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :fp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :copy
matched token #21 :(
matched token #123 :fp
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :fp
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :ostream_iterator
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #21 :(
matched token #123 :out
matched token #8 :,
matched token #134 : 
matched token #132 :","
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" lastpos() = "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :lp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :copy
matched token #21 :(
matched token #123 :lp
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :lp
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :ostream_iterator
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #21 :(
matched token #123 :out
matched token #8 :,
matched token #134 : 
matched token #132 :","
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :ccl_node
matched token #134 : 
matched token #9 ::
matched token #134 : 
matched token #86 :public
matched token #134 : 
matched token #123 :node
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #135 :

matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :	
matched token #123 :ccl_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :vector
matched token #19 :<
matched token #123 :uchar
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :v
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :ccl_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :uchar
matched token #134 : 
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #123 :uchar
matched token #134 : 
matched token #123 :c2
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :ccl_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :ccl_node
matched token #0 :&
matched token #134 : 
matched token #123 :x
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #47 :~
matched token #123 :ccl_node
matched token #21 :(
matched token #38 :)
matched token #18 :{
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #51 :bool
matched token #134 : 
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node_set
matched token #134 : 
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #123 :node_set
matched token #134 : 
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos_t
matched token #0 :&
matched token #134 : 
matched token #123 :followpos
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match_t
matched token #0 :&
matched token #134 : 
matched token #123 :state_match
matched token #134 : 
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :node_set
matched token #0 :&
matched token #134 : 
matched token #123 :eof_set
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #134 :    
matched token #107 :virtual
matched token #134 : 
matched token #108 :void
matched token #134 : 
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :ostream
matched token #0 :&
matched token #134 : 
matched token #123 :out
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #84 :private
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :vector
matched token #19 :<
matched token #123 :uchar
matched token #16 :>
matched token #134 : 
matched token #123 :m_match
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :m_node_num
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #123 :ccl_node
matched token #40 :::
matched token #123 :ccl_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :vector
matched token #19 :<
matched token #123 :uchar
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :v
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #9 ::
matched token #134 : 
matched token #123 :node
matched token #21 :(
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_match
matched token #21 :(
matched token #123 :v
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_node_num
matched token #21 :(
matched token #123 :node
matched token #40 :::
matched token #123 :leaf_count
matched token #33 :++
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :m_match
matched token #12 :.
matched token #123 :resize
matched token #21 :(
matched token #125 :256
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #130 :// make sure it's the right size
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :ccl_node
matched token #40 :::
matched token #123 :ccl_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :uchar
matched token #134 : 
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #123 :uchar
matched token #134 : 
matched token #123 :c2
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #9 ::
matched token #134 : 
matched token #123 :node
matched token #21 :(
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_match
matched token #21 :(
matched token #125 :256
matched token #8 :,
matched token #134 : 
matched token #124 :0
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_node_num
matched token #21 :(
matched token #123 :node
matched token #40 :::
matched token #123 :leaf_count
matched token #33 :++
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :assert
matched token #21 :(
matched token #123 :c1
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #123 :c2
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #123 :size_t
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :c1
matched token #41 :;
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #20 :<=
matched token #134 : 
matched token #123 :c2
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :i
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :m_match
matched token #22 :[
matched token #123 :i
matched token #39 :]
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #125 :1
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :ccl_node
matched token #40 :::
matched token #123 :ccl_node
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :ccl_node
matched token #0 :&
matched token #134 : 
matched token #123 :x
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #9 ::
matched token #134 : 
matched token #123 :node
matched token #21 :(
matched token #123 :x
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_match
matched token #21 :(
matched token #123 :x
matched token #12 :.
matched token #123 :m_match
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #8 :,
matched token #134 : 
matched token #123 :m_node_num
matched token #21 :(
matched token #123 :node
matched token #40 :::
matched token #123 :leaf_count
matched token #33 :++
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #135 :

matched token #123 :ccl_node
matched token #40 :::
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :ccl_node
matched token #21 :(
matched token #46 :*
matched token #98 :this
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #51 :bool
matched token #134 : 
matched token #135 :

matched token #123 :ccl_node
matched token #40 :::
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #52 :false
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node_set
matched token #134 : 
matched token #135 :

matched token #123 :ccl_node
matched token #40 :::
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :rval
matched token #12 :.
matched token #123 :insert
matched token #21 :(
matched token #123 :m_node_num
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :node_set
matched token #134 : 
matched token #135 :

matched token #123 :ccl_node
matched token #40 :::
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :ccl_node
matched token #40 :::
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos_t
matched token #0 :&
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #135 :

matched token #123 :ccl_node
matched token #40 :::
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match_t
matched token #0 :&
matched token #134 : 
matched token #123 :state_match
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :state_match
matched token #12 :.
matched token #123 :size
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #123 :m_node_num
matched token #134 : 
matched token #31 :+
matched token #134 : 
matched token #125 :1
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #123 :state_match
matched token #12 :.
matched token #123 :resize
matched token #21 :(
matched token #123 :m_node_num
matched token #134 : 
matched token #31 :+
matched token #134 : 
matched token #125 :1
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :state_match
matched token #22 :[
matched token #123 :m_node_num
matched token #39 :]
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_match
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :ccl_node
matched token #40 :::
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :node_set
matched token #0 :&
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :ccl_node
matched token #40 :::
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :ostream
matched token #0 :&
matched token #134 : 
matched token #123 :out
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :"\nccl_node m_match = "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #123 :size_t
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #123 :m_match
matched token #12 :.
matched token #123 :size
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :i
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :m_match
matched token #22 :[
matched token #123 :i
matched token #39 :]
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :", "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" m_node_num = "
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #123 :m_node_num
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" nullable() = "
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #21 :(
matched token #123 :nullable
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #36 :?
matched token #134 : 
matched token #132 :"true"
matched token #134 : 
matched token #9 ::
matched token #134 : 
matched token #132 :"false"
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" firstpos() = "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :fp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :copy
matched token #21 :(
matched token #123 :fp
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :fp
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :ostream_iterator
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #21 :(
matched token #123 :out
matched token #8 :,
matched token #134 : 
matched token #132 :","
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" lastpos() = "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :lp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :lastpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :copy
matched token #21 :(
matched token #123 :lp
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :lp
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :ostream_iterator
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #21 :(
matched token #123 :out
matched token #8 :,
matched token #134 : 
matched token #132 :","
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #135 :

matched token #123 :node_id_t
matched token #134 : 
matched token #123 :node
matched token #40 :::
matched token #123 :leaf_count
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :IteratorT
matched token #16 :>
matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :make_concat
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :make_concat
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :the_stack
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #9 ::
matched token #134 : 
matched token #123 :m_stack
matched token #21 :(
matched token #123 :the_stack
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #108 :void
matched token #134 : 
matched token #83 :operator
matched token #21 :(
matched token #38 :)
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :IteratorT
matched token #0 :&
matched token #8 :,
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #123 :IteratorT
matched token #0 :&
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :right
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_stack
matched token #12 :.
matched token #123 :top
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :m_stack
matched token #12 :.
matched token #123 :pop
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :left
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_stack
matched token #12 :.
matched token #123 :top
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :m_stack
matched token #12 :.
matched token #123 :pop
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :newnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :cat_node
matched token #21 :(
matched token #123 :left
matched token #8 :,
matched token #134 : 
matched token #123 :right
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :m_stack
matched token #12 :.
matched token #123 :push
matched token #21 :(
matched token #123 :newnode
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :m_stack
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :CharT
matched token #16 :>
matched token #135 :

matched token #105 :unsigned
matched token #134 : 
matched token #57 :char
matched token #134 : 
matched token #123 :get_byte
matched token #21 :(
matched token #123 :CharT
matched token #134 : 
matched token #123 :c
matched token #8 :,
matched token #134 : 
matched token #105 :unsigned
matched token #134 : 
matched token #78 :int
matched token #134 : 
matched token #123 :byte
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #93 :static
matched token #134 : 
matched token #105 :unsigned
matched token #134 : 
matched token #79 :long
matched token #134 : 
matched token #123 :mask
matched token #22 :[
matched token #39 :]
matched token #134 : 
matched token #2 :=
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #126 :0xFF000000
matched token #8 :,
matched token #135 :

matched token #134 :        
matched token #126 :0x00FF0000
matched token #8 :,
matched token #135 :

matched token #134 :        
matched token #126 :0x0000FF00
matched token #8 :,
matched token #135 :

matched token #134 :        
matched token #126 :0x000000FF
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #21 :(
matched token #123 :c
matched token #134 : 
matched token #0 :&
matched token #134 : 
matched token #123 :mask
matched token #22 :[
matched token #123 :byte
matched token #39 :]
matched token #38 :)
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #21 :(
matched token #21 :(
matched token #92 :sizeof
matched token #21 :(
matched token #123 :c
matched token #38 :)
matched token #134 : 
matched token #23 :-
matched token #134 : 
matched token #125 :1
matched token #134 : 
matched token #23 :-
matched token #134 : 
matched token #123 :byte
matched token #38 :)
matched token #134 : 
matched token #46 :*
matched token #134 : 
matched token #125 :8
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :IteratorT
matched token #16 :>
matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :make_char
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #134 :    
matched token #101 :typedef
matched token #134 : 
matched token #103 :typename
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :iterator_traits
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #40 :::
matched token #123 :value_type
matched token #134 : 
matched token #123 :char_t
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :make_char
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :the_stack
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #9 ::
matched token #134 : 
matched token #123 :m_stack
matched token #21 :(
matched token #123 :the_stack
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #108 :void
matched token #134 : 
matched token #83 :operator
matched token #21 :(
matched token #38 :)
matched token #21 :(
matched token #123 :IteratorT
matched token #0 :&
matched token #134 : 
matched token #123 :first
matched token #8 :,
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #123 :IteratorT
matched token #0 :&
matched token #134 : 
matched token #123 :last
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :newnode
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :char_t
matched token #134 : 
matched token #123 :the_char
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :lex_escape_ch_p
matched token #22 :[
matched token #123 :ref
matched token #21 :(
matched token #123 :the_char
matched token #38 :)
matched token #39 :]
matched token #12 :.
matched token #123 :parse
matched token #21 :(
matched token #123 :first
matched token #8 :,
matched token #134 : 
matched token #123 :last
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #92 :sizeof
matched token #21 :(
matched token #46 :*
matched token #123 :first
matched token #38 :)
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #125 :1
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #123 :newnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :char_node
matched token #21 :(
matched token #123 :the_char
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #134 :        
matched token #68 :else
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #123 :newnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :char_node
matched token #21 :(
matched token #123 :get_byte
matched token #21 :(
matched token #123 :the_char
matched token #8 :,
matched token #134 : 
matched token #124 :0
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #105 :unsigned
matched token #134 : 
matched token #78 :int
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #125 :1
matched token #41 :;
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #92 :sizeof
matched token #21 :(
matched token #123 :the_char
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :i
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #18 :{
matched token #135 :

matched token #134 :                
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :cnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :char_node
matched token #21 :(
matched token #123 :get_byte
matched token #21 :(
matched token #123 :the_char
matched token #8 :,
matched token #134 : 
matched token #123 :i
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :top_node
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :cat_node
matched token #21 :(
matched token #123 :newnode
matched token #8 :,
matched token #134 : 
matched token #123 :cnode
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #123 :newnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :top_node
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #37 :}
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #134 :        
matched token #123 :m_stack
matched token #12 :.
matched token #123 :push
matched token #21 :(
matched token #123 :newnode
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :m_stack
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :IteratorT
matched token #16 :>
matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :make_star
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #134 :    
matched token #101 :typedef
matched token #134 : 
matched token #103 :typename
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :iterator_traits
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #40 :::
matched token #123 :value_type
matched token #134 : 
matched token #123 :char_t
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :make_star
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :the_stack
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #9 ::
matched token #134 : 
matched token #123 :m_stack
matched token #21 :(
matched token #123 :the_stack
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #108 :void
matched token #134 : 
matched token #83 :operator
matched token #21 :(
matched token #38 :)
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :char_t
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :left
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_stack
matched token #12 :.
matched token #123 :top
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :m_stack
matched token #12 :.
matched token #123 :pop
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :newnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :star_node
matched token #21 :(
matched token #123 :left
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :m_stack
matched token #12 :.
matched token #123 :push
matched token #21 :(
matched token #123 :newnode
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :m_stack
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :IteratorT
matched token #16 :>
matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :make_or
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :make_or
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :the_stack
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #9 ::
matched token #134 : 
matched token #123 :m_stack
matched token #21 :(
matched token #123 :the_stack
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #108 :void
matched token #134 : 
matched token #83 :operator
matched token #21 :(
matched token #38 :)
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :IteratorT
matched token #0 :&
matched token #8 :,
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #123 :IteratorT
matched token #0 :&
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :right
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_stack
matched token #12 :.
matched token #123 :top
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :m_stack
matched token #12 :.
matched token #123 :pop
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :left
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_stack
matched token #12 :.
matched token #123 :top
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :m_stack
matched token #12 :.
matched token #123 :pop
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :newnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :or_node
matched token #21 :(
matched token #123 :left
matched token #8 :,
matched token #134 : 
matched token #123 :right
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :m_stack
matched token #12 :.
matched token #123 :push
matched token #21 :(
matched token #123 :newnode
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :m_stack
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :IteratorT
matched token #16 :>
matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :make_plus
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #134 :    
matched token #101 :typedef
matched token #134 : 
matched token #103 :typename
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :iterator_traits
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #40 :::
matched token #123 :value_type
matched token #134 : 
matched token #123 :char_t
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :make_plus
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :the_stack
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #9 ::
matched token #134 : 
matched token #123 :m_stack
matched token #21 :(
matched token #123 :the_stack
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #108 :void
matched token #134 : 
matched token #83 :operator
matched token #21 :(
matched token #38 :)
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :char_t
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :left
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_stack
matched token #12 :.
matched token #123 :top
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :m_stack
matched token #12 :.
matched token #123 :pop
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :copy
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :left
matched token #34 :->
matched token #123 :clone
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :new_star
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :star_node
matched token #21 :(
matched token #123 :copy
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :new_cat
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :cat_node
matched token #21 :(
matched token #123 :left
matched token #8 :,
matched token #134 : 
matched token #123 :new_star
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :m_stack
matched token #12 :.
matched token #123 :push
matched token #21 :(
matched token #123 :new_cat
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :m_stack
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :IteratorT
matched token #16 :>
matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :make_optional
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #134 :    
matched token #101 :typedef
matched token #134 : 
matched token #103 :typename
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :iterator_traits
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #40 :::
matched token #123 :value_type
matched token #134 : 
matched token #123 :char_t
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :make_optional
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :the_stack
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #9 ::
matched token #134 : 
matched token #123 :m_stack
matched token #21 :(
matched token #123 :the_stack
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #108 :void
matched token #134 : 
matched token #83 :operator
matched token #21 :(
matched token #38 :)
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :char_t
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :left
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_stack
matched token #12 :.
matched token #123 :top
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :m_stack
matched token #12 :.
matched token #123 :pop
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :new_or
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :or_node
matched token #21 :(
matched token #123 :left
matched token #8 :,
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :epsilon_node
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :m_stack
matched token #12 :.
matched token #123 :push
matched token #21 :(
matched token #123 :new_or
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :m_stack
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #81 :namespace
matched token #134 : 
matched token #123 :ccl_utils
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :char_t
matched token #16 :>
matched token #135 :

matched token #134 :    
matched token #123 :impl
matched token #40 :::
matched token #123 :range_run
matched token #19 :<
matched token #123 :char_t
matched token #16 :>
matched token #134 : 
matched token #123 :negate_range_run
matched token #21 :(
matched token #135 :

matched token #134 :            
matched token #59 :const
matched token #134 : 
matched token #123 :impl
matched token #40 :::
matched token #123 :range_run
matched token #19 :<
matched token #123 :char_t
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :rr
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :impl
matched token #40 :::
matched token #123 :range_run
matched token #19 :<
matched token #123 :char_t
matched token #16 :>
matched token #134 : 
matched token #123 :newrr
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :newrr
matched token #12 :.
matched token #123 :set
matched token #21 :(
matched token #123 :impl
matched token #40 :::
matched token #123 :full_range
matched token #19 :<
matched token #123 :char_t
matched token #16 :>
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #123 :impl
matched token #40 :::
matched token #123 :range_run
matched token #19 :<
matched token #123 :char_t
matched token #16 :>
matched token #40 :::
matched token #123 :const_iterator
matched token #134 : 
matched token #123 :iter
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :rr
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #135 :

matched token #134 :                
matched token #123 :iter
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :rr
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :iter
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #123 :newrr
matched token #12 :.
matched token #123 :clear
matched token #21 :(
matched token #46 :*
matched token #123 :iter
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #89 :return
matched token #134 : 
matched token #123 :newrr
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :char_t
matched token #16 :>
matched token #135 :

matched token #134 :    
matched token #108 :void
matched token #134 : 
matched token #123 :create_nodes
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :impl
matched token #40 :::
matched token #123 :range_run
matched token #19 :<
matched token #123 :char_t
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :rr
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :stack
matched token #38 :)
matched token #134 : 
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #92 :sizeof
matched token #21 :(
matched token #123 :char_t
matched token #38 :)
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #125 :1
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :vector
matched token #19 :<
matched token #123 :uchar
matched token #16 :>
matched token #134 : 
matched token #123 :ccl
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #123 :ccl
matched token #12 :.
matched token #123 :resize
matched token #21 :(
matched token #125 :256
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #123 :impl
matched token #40 :::
matched token #123 :range_run
matched token #19 :<
matched token #123 :char_t
matched token #16 :>
matched token #40 :::
matched token #123 :const_iterator
matched token #134 : 
matched token #123 :iter
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :rr
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #135 :

matched token #134 :                    
matched token #123 :iter
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :rr
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :iter
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #18 :{
matched token #135 :

matched token #134 :                
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #78 :int
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :iter
matched token #34 :->
matched token #123 :first
matched token #41 :;
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #20 :<=
matched token #134 : 
matched token #123 :iter
matched token #34 :->
matched token #123 :last
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :i
matched token #38 :)
matched token #135 :

matched token #134 :                
matched token #18 :{
matched token #135 :

matched token #134 :                    
matched token #123 :assert
matched token #21 :(
matched token #123 :uchar
matched token #21 :(
matched token #123 :i
matched token #38 :)
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #125 :256
matched token #134 : 
matched token #1 :&&
matched token #134 : 
matched token #123 :ccl
matched token #12 :.
matched token #123 :size
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #125 :256
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                    
matched token #123 :ccl
matched token #22 :[
matched token #123 :uchar
matched token #21 :(
matched token #123 :i
matched token #38 :)
matched token #39 :]
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #125 :1
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #37 :}
matched token #135 :

matched token #134 :            
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :            
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :new_ccl
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :ccl_node
matched token #21 :(
matched token #123 :ccl
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #123 :stack
matched token #12 :.
matched token #123 :push
matched token #21 :(
matched token #123 :new_ccl
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #134 :        
matched token #68 :else
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #51 :bool
matched token #134 : 
matched token #123 :mb_first_time
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #53 :true
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #123 :impl
matched token #40 :::
matched token #123 :range_run
matched token #19 :<
matched token #123 :char_t
matched token #16 :>
matched token #40 :::
matched token #123 :const_iterator
matched token #134 : 
matched token #123 :iter
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :rr
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #135 :

matched token #134 :                    
matched token #123 :iter
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :rr
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :iter
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #18 :{
matched token #135 :

matched token #134 :                
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :iter
matched token #34 :->
matched token #123 :first
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #123 :iter
matched token #34 :->
matched token #123 :last
matched token #38 :)
matched token #135 :

matched token #134 :                
matched token #18 :{
matched token #135 :

matched token #134 :                    
matched token #123 :handle_mb_char
matched token #21 :(
matched token #123 :iter
matched token #34 :->
matched token #123 :first
matched token #8 :,
matched token #134 : 
matched token #123 :mb_first_time
matched token #8 :,
matched token #134 : 
matched token #123 :stack
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #37 :}
matched token #135 :

matched token #134 :                
matched token #68 :else
matched token #135 :

matched token #134 :                
matched token #18 :{
matched token #135 :

matched token #134 :                    
matched token #123 :handle_mb_range
matched token #21 :(
matched token #123 :iter
matched token #34 :->
matched token #123 :first
matched token #8 :,
matched token #134 : 
matched token #123 :iter
matched token #34 :->
matched token #123 :last
matched token #8 :,
matched token #134 : 
matched token #123 :mb_first_time
matched token #8 :,
matched token #134 : 
matched token #123 :stack
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #37 :}
matched token #135 :

matched token #134 :                
matched token #123 :mb_first_time
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #52 :false
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #37 :}
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :char_t
matched token #16 :>
matched token #135 :

matched token #134 :    
matched token #108 :void
matched token #134 : 
matched token #123 :handle_mb_char
matched token #21 :(
matched token #123 :char_t
matched token #134 : 
matched token #123 :c
matched token #8 :,
matched token #134 : 
matched token #51 :bool
matched token #134 : 
matched token #123 :first_time
matched token #8 :,
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :stack
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :newnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :create_mb_node_seq
matched token #21 :(
matched token #123 :c
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :first_time
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #123 :stack
matched token #12 :.
matched token #123 :push
matched token #21 :(
matched token #123 :newnode
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #134 :        
matched token #68 :else
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :top
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :stack
matched token #12 :.
matched token #123 :top
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #123 :stack
matched token #12 :.
matched token #123 :pop
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :            
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :newtop
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :or_node
matched token #21 :(
matched token #123 :top
matched token #8 :,
matched token #134 : 
matched token #123 :newnode
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #123 :stack
matched token #12 :.
matched token #123 :push
matched token #21 :(
matched token #123 :newtop
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :char_t
matched token #16 :>
matched token #135 :

matched token #134 :    
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :create_mb_node_seq
matched token #21 :(
matched token #123 :char_t
matched token #134 : 
matched token #123 :c
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :newnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :char_node
matched token #21 :(
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c
matched token #8 :,
matched token #134 : 
matched token #124 :0
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #105 :unsigned
matched token #134 : 
matched token #78 :int
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #125 :1
matched token #41 :;
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #92 :sizeof
matched token #21 :(
matched token #123 :c
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :i
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :cnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :char_node
matched token #21 :(
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c
matched token #8 :,
matched token #134 : 
matched token #123 :i
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :top_node
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :cat_node
matched token #21 :(
matched token #123 :newnode
matched token #8 :,
matched token #134 : 
matched token #123 :cnode
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #123 :newnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :top_node
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #134 :        
matched token #89 :return
matched token #134 : 
matched token #123 :newnode
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :char_t
matched token #16 :>
matched token #135 :

matched token #134 :    
matched token #123 :size_t
matched token #134 : 
matched token #123 :compute_differing_byte
matched token #21 :(
matched token #123 :char_t
matched token #134 : 
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #123 :char_t
matched token #134 : 
matched token #123 :c2
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :size_t
matched token #134 : 
matched token #123 :rval
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #111 :while
matched token #134 : 
matched token #21 :(
matched token #123 :rval
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #92 :sizeof
matched token #21 :(
matched token #123 :c1
matched token #38 :)
matched token #134 : 
matched token #1 :&&
matched token #134 : 
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #123 :rval
matched token #38 :)
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c2
matched token #8 :,
matched token #134 : 
matched token #123 :rval
matched token #38 :)
matched token #38 :)
matched token #135 :

matched token #134 :           
matched token #33 :++
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #89 :return
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #134 : 
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :char_t
matched token #16 :>
matched token #135 :

matched token #134 :    
matched token #108 :void
matched token #134 : 
matched token #123 :handle_mb_range
matched token #21 :(
matched token #123 :char_t
matched token #134 : 
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #123 :char_t
matched token #134 : 
matched token #123 :c2
matched token #8 :,
matched token #134 : 
matched token #51 :bool
matched token #134 : 
matched token #123 :first_time
matched token #8 :,
matched token #135 :

matched token #134 :            
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :stack
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #130 :// The algorithm can't handle negative value chars, which don't make
matched token #135 :

matched token #134 :        
matched token #130 :// much sense anyway.
matched token #135 :

matched token #134 :        
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :c1
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #124 :0
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #123 :c1
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #123 :assert
matched token #21 :(
matched token #123 :c1
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #123 :c2
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :newnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :savednode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #59 :const
matched token #134 : 
matched token #123 :size_t
matched token #134 : 
matched token #123 :differing_byte
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :compute_differing_byte
matched token #21 :(
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #123 :c2
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #59 :const
matched token #134 : 
matched token #123 :size_t
matched token #134 : 
matched token #123 :sizem1
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #92 :sizeof
matched token #21 :(
matched token #123 :c1
matched token #38 :)
matched token #134 : 
matched token #23 :-
matched token #134 : 
matched token #125 :1
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #59 :const
matched token #134 : 
matched token #123 :size_t
matched token #134 : 
matched token #123 :ndb
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :sizem1
matched token #134 : 
matched token #23 :-
matched token #134 : 
matched token #123 :differing_byte
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #123 :size_t
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :differing_byte
matched token #41 :;
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #92 :sizeof
matched token #21 :(
matched token #123 :c1
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :i
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #130 :// generate node for the first byte
matched token #135 :

matched token #134 :            
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :differing_byte
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #124 :0
matched token #134 : 
matched token #1 :&&
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #123 :ndb
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #18 :{
matched token #135 :

matched token #134 :                
matched token #123 :size_t
matched token #134 : 
matched token #123 :diff
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c2
matched token #8 :,
matched token #134 : 
matched token #124 :0
matched token #38 :)
matched token #134 : 
matched token #23 :-
matched token #134 : 
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #124 :0
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :diff
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #125 :1
matched token #38 :)
matched token #135 :

matched token #134 :                    
matched token #61 :continue
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #68 :else
matched token #134 : 
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :diff
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #125 :2
matched token #38 :)
matched token #135 :

matched token #134 :                    
matched token #123 :newnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :char_node
matched token #21 :(
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #124 :0
matched token #38 :)
matched token #134 : 
matched token #31 :+
matched token #134 : 
matched token #125 :1
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #68 :else
matched token #135 :

matched token #134 :                    
matched token #123 :newnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :ccl_node
matched token #21 :(
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #124 :0
matched token #38 :)
matched token #134 : 
matched token #31 :+
matched token #134 : 
matched token #125 :1
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :                            
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c2
matched token #8 :,
matched token #134 : 
matched token #124 :0
matched token #38 :)
matched token #134 : 
matched token #23 :-
matched token #134 : 
matched token #125 :1
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #37 :}
matched token #135 :

matched token #134 :            
matched token #68 :else
matched token #135 :

matched token #134 :            
matched token #18 :{
matched token #135 :

matched token #134 :                
matched token #123 :newnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :char_node
matched token #21 :(
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #124 :0
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #37 :}
matched token #135 :

matched token #134 :            
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #123 :size_t
matched token #134 : 
matched token #123 :j
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #125 :1
matched token #41 :;
matched token #134 : 
matched token #123 :j
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #92 :sizeof
matched token #21 :(
matched token #123 :c1
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :j
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #18 :{
matched token #135 :

matched token #134 :                
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :cnode
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :i
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #123 :sizem1
matched token #134 : 
matched token #1 :&&
matched token #134 : 
matched token #123 :j
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #123 :differing_byte
matched token #134 : 
matched token #1 :&&
matched token #134 : 
matched token #123 :j
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :sizem1
matched token #38 :)
matched token #135 :

matched token #134 :                
matched token #18 :{
matched token #135 :

matched token #134 :                    
matched token #123 :size_t
matched token #134 : 
matched token #123 :diff
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c2
matched token #8 :,
matched token #134 : 
matched token #123 :j
matched token #38 :)
matched token #134 : 
matched token #23 :-
matched token #134 : 
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #123 :j
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                    
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :diff
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #125 :1
matched token #38 :)
matched token #135 :

matched token #134 :                    
matched token #18 :{
matched token #135 :

matched token #134 :                        
matched token #64 :delete
matched token #134 : 
matched token #123 :newnode
matched token #41 :;
matched token #135 :

matched token #134 :                        
matched token #75 :goto
matched token #134 : 
matched token #123 :end_outer_for
matched token #41 :;
matched token #134 : 
matched token #130 :// got to skip this entire section
matched token #135 :

matched token #134 :                    
matched token #37 :}
matched token #135 :

matched token #134 :                    
matched token #68 :else
matched token #134 : 
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :diff
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #125 :2
matched token #38 :)
matched token #135 :

matched token #134 :                        
matched token #123 :cnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :char_node
matched token #21 :(
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #123 :j
matched token #38 :)
matched token #31 :+
matched token #125 :1
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                    
matched token #68 :else
matched token #134 : 
matched token #135 :

matched token #134 :                        
matched token #123 :cnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :ccl_node
matched token #21 :(
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #123 :j
matched token #38 :)
matched token #31 :+
matched token #125 :1
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :                                
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c2
matched token #8 :,
matched token #134 : 
matched token #123 :j
matched token #38 :)
matched token #23 :-
matched token #125 :1
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :                
matched token #68 :else
matched token #134 : 
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :i
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #123 :differing_byte
matched token #134 : 
matched token #1 :&&
matched token #134 : 
matched token #123 :j
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #123 :sizem1
matched token #38 :)
matched token #135 :

matched token #134 :                
matched token #18 :{
matched token #135 :

matched token #134 :                    
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :i
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :sizem1
matched token #38 :)
matched token #135 :

matched token #134 :                        
matched token #123 :cnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :ccl_node
matched token #21 :(
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #123 :j
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #126 :0xFF
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                    
matched token #68 :else
matched token #135 :

matched token #134 :                        
matched token #123 :cnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :ccl_node
matched token #21 :(
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #123 :j
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c2
matched token #8 :,
matched token #134 : 
matched token #123 :j
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :                
matched token #68 :else
matched token #134 : 
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :i
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :differing_byte
matched token #134 : 
matched token #1 :&&
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :sizem1
matched token #134 : 
matched token #1 :&&
matched token #134 : 
matched token #135 :

matched token #134 :                        
matched token #123 :j
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #21 :(
matched token #123 :sizem1
matched token #134 : 
matched token #23 :-
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #31 :+
matched token #134 : 
matched token #123 :differing_byte
matched token #38 :)
matched token #38 :)
matched token #135 :

matched token #134 :                    
matched token #123 :cnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :ccl_node
matched token #21 :(
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #123 :j
matched token #38 :)
matched token #31 :+
matched token #125 :1
matched token #8 :,
matched token #134 : 
matched token #126 :0xFF
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :                
matched token #68 :else
matched token #134 : 
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :i
matched token #134 : 
matched token #31 :+
matched token #134 : 
matched token #123 :j
matched token #134 : 
matched token #23 :-
matched token #134 : 
matched token #123 :differing_byte
matched token #134 : 
matched token #16 :>
matched token #134 : 
matched token #123 :sizem1
matched token #38 :)
matched token #135 :

matched token #134 :                    
matched token #123 :cnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :ccl_node
matched token #21 :(
matched token #124 :0
matched token #8 :,
matched token #134 : 
matched token #126 :0xFF
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :                
matched token #68 :else
matched token #134 : 
matched token #130 ://if (is plain)
matched token #135 :

matched token #134 :                    
matched token #123 :cnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :char_node
matched token #21 :(
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #123 :j
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #135 :

matched token #134 :                
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :top_node
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :cat_node
matched token #21 :(
matched token #123 :newnode
matched token #8 :,
matched token #134 : 
matched token #123 :cnode
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #123 :newnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :top_node
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :            
matched token #130 :// or together the various parts
matched token #135 :

matched token #134 :            
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :savednode
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #18 :{
matched token #135 :

matched token #134 :                
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :top_node
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :or_node
matched token #21 :(
matched token #123 :savednode
matched token #8 :,
matched token #134 : 
matched token #123 :newnode
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #123 :savednode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :top_node
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #37 :}
matched token #135 :

matched token #134 :            
matched token #68 :else
matched token #135 :

matched token #134 :            
matched token #18 :{
matched token #135 :

matched token #134 :                
matched token #123 :savednode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :newnode
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #37 :}
matched token #135 :

matched token #123 :end_outer_for
matched token #9 ::
matched token #135 :

matched token #134 :            
matched token #61 :continue
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #130 :// the silly cast is to get rid of a gcc warning, when sizem1 == 0
matched token #135 :

matched token #134 :        
matched token #130 :// which happens when CharT=char
matched token #135 :

matched token #134 :        
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #123 :size_t
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #123 :ndb
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :i
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #123 :newnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :char_node
matched token #21 :(
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c2
matched token #8 :,
matched token #134 : 
matched token #124 :0
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #123 :size_t
matched token #134 : 
matched token #123 :j
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #125 :1
matched token #41 :;
matched token #134 : 
matched token #123 :j
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #92 :sizeof
matched token #21 :(
matched token #123 :c2
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :j
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #18 :{
matched token #135 :

matched token #134 :                
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :cnode
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :i
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #123 :differing_byte
matched token #134 : 
matched token #1 :&&
matched token #134 : 
matched token #123 :j
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #123 :sizem1
matched token #134 : 
matched token #1 :&&
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :sizem1
matched token #38 :)
matched token #135 :

matched token #134 :                    
matched token #123 :cnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :ccl_node
matched token #21 :(
matched token #124 :0
matched token #8 :,
matched token #134 : 
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c2
matched token #8 :,
matched token #134 : 
matched token #123 :j
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :                
matched token #68 :else
matched token #134 : 
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :i
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :differing_byte
matched token #134 : 
matched token #1 :&&
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :sizem1
matched token #134 : 
matched token #1 :&&
matched token #134 : 
matched token #135 :

matched token #134 :                        
matched token #123 :j
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #21 :(
matched token #123 :sizem1
matched token #134 : 
matched token #23 :-
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #31 :+
matched token #134 : 
matched token #123 :differing_byte
matched token #38 :)
matched token #38 :)
matched token #135 :

matched token #134 :                    
matched token #123 :cnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :ccl_node
matched token #21 :(
matched token #124 :0
matched token #8 :,
matched token #134 : 
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c2
matched token #8 :,
matched token #134 : 
matched token #123 :j
matched token #38 :)
matched token #23 :-
matched token #125 :1
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :                
matched token #68 :else
matched token #134 : 
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :i
matched token #134 : 
matched token #31 :+
matched token #134 : 
matched token #123 :j
matched token #134 : 
matched token #23 :-
matched token #134 : 
matched token #123 :differing_byte
matched token #134 : 
matched token #16 :>
matched token #134 : 
matched token #123 :sizem1
matched token #38 :)
matched token #135 :

matched token #134 :                    
matched token #123 :cnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :ccl_node
matched token #21 :(
matched token #124 :0
matched token #8 :,
matched token #134 : 
matched token #126 :0xFF
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :                
matched token #68 :else
matched token #134 : 
matched token #130 ://if (is plain)
matched token #135 :

matched token #134 :                    
matched token #123 :cnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :char_node
matched token #21 :(
matched token #123 :get_byte
matched token #21 :(
matched token #123 :c2
matched token #8 :,
matched token #134 : 
matched token #123 :j
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #135 :

matched token #134 :                
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :top_node
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :cat_node
matched token #21 :(
matched token #123 :newnode
matched token #8 :,
matched token #134 : 
matched token #123 :cnode
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #123 :newnode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :top_node
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :            
matched token #130 :// or together the various parts
matched token #135 :

matched token #134 :            
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :savednode
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #18 :{
matched token #135 :

matched token #134 :                
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :top_node
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :or_node
matched token #21 :(
matched token #123 :savednode
matched token #8 :,
matched token #134 : 
matched token #123 :newnode
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #123 :savednode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :top_node
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #37 :}
matched token #135 :

matched token #134 :            
matched token #68 :else
matched token #135 :

matched token #134 :            
matched token #18 :{
matched token #135 :

matched token #134 :                
matched token #123 :savednode
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :newnode
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #37 :}
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #135 :

matched token #134 :        
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :first_time
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #123 :stack
matched token #12 :.
matched token #123 :push
matched token #21 :(
matched token #123 :savednode
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #134 :        
matched token #68 :else
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :top
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :stack
matched token #12 :.
matched token #123 :top
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #123 :stack
matched token #12 :.
matched token #123 :pop
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :            
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :newtop
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :or_node
matched token #21 :(
matched token #123 :top
matched token #8 :,
matched token #134 : 
matched token #123 :savednode
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #123 :stack
matched token #12 :.
matched token #123 :push
matched token #21 :(
matched token #123 :newtop
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #37 :}
matched token #134 : 
matched token #130 :// namespace ccl_utils
matched token #135 :

matched token #135 :

matched token #135 :

matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :IteratorT
matched token #16 :>
matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :make_ccl
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #134 :    
matched token #101 :typedef
matched token #134 : 
matched token #103 :typename
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :iterator_traits
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #40 :::
matched token #123 :value_type
matched token #134 : 
matched token #123 :char_t
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :make_ccl
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :the_stack
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #9 ::
matched token #134 : 
matched token #123 :m_stack
matched token #21 :(
matched token #123 :the_stack
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #108 :void
matched token #134 : 
matched token #83 :operator
matched token #21 :(
matched token #38 :)
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :IteratorT
matched token #0 :&
matched token #134 : 
matched token #123 :first_
matched token #8 :,
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #123 :IteratorT
matched token #0 :&
matched token #134 : 
matched token #123 :last
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :IteratorT
matched token #134 : 
matched token #123 :first
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :first_
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #123 :assert
matched token #21 :(
matched token #46 :*
matched token #123 :first
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #131 :'['
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #33 :++
matched token #123 :first
matched token #41 :;
matched token #134 : 
matched token #130 :// skip over '['
matched token #135 :

matched token #134 :        
matched token #51 :bool
matched token #134 : 
matched token #123 :negated_ccl
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #52 :false
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #46 :*
matched token #123 :first
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #131 :'^'
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #123 :negated_ccl
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #53 :true
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #33 :++
matched token #123 :first
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #123 :impl
matched token #40 :::
matched token #123 :range_run
matched token #19 :<
matched token #123 :char_t
matched token #16 :>
matched token #134 : 
matched token #123 :rr
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #111 :while
matched token #134 : 
matched token #21 :(
matched token #123 :first
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :last
matched token #134 : 
matched token #1 :&&
matched token #134 : 
matched token #46 :*
matched token #123 :first
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #131 :']'
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #46 :*
matched token #123 :first
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #131 :'['
matched token #38 :)
matched token #134 : 
matched token #130 :// it's a ccl_expr like [:space:]
matched token #135 :

matched token #134 :            
matched token #18 :{
matched token #135 :

matched token #134 :                
matched token #130 :// TODO: write this
matched token #135 :

matched token #134 :            
matched token #37 :}
matched token #135 :

matched token #134 :            
matched token #68 :else
matched token #135 :

matched token #134 :            
matched token #18 :{
matched token #135 :

matched token #134 :                
matched token #123 :char_t
matched token #134 : 
matched token #123 :c1
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #123 :lex_escape_ch_p
matched token #22 :[
matched token #123 :ref
matched token #21 :(
matched token #123 :c1
matched token #38 :)
matched token #39 :]
matched token #12 :.
matched token #123 :parse
matched token #21 :(
matched token #123 :first
matched token #8 :,
matched token #134 : 
matched token #123 :last
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #46 :*
matched token #123 :first
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #131 :'-'
matched token #38 :)
matched token #134 : 
matched token #130 :// insert a range
matched token #135 :

matched token #134 :                
matched token #18 :{
matched token #135 :

matched token #134 :                    
matched token #33 :++
matched token #123 :first
matched token #41 :;
matched token #135 :

matched token #134 :                    
matched token #123 :char_t
matched token #134 : 
matched token #123 :c2
matched token #41 :;
matched token #135 :

matched token #134 :                    
matched token #123 :lex_escape_ch_p
matched token #22 :[
matched token #123 :ref
matched token #21 :(
matched token #123 :c2
matched token #38 :)
matched token #39 :]
matched token #12 :.
matched token #123 :parse
matched token #21 :(
matched token #123 :first
matched token #8 :,
matched token #134 : 
matched token #123 :last
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                    
matched token #123 :assert
matched token #21 :(
matched token #123 :c1
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #123 :c2
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #130 :// Throw exception?
matched token #135 :

matched token #134 :                    
matched token #123 :rr
matched token #12 :.
matched token #123 :set
matched token #21 :(
matched token #123 :impl
matched token #40 :::
matched token #123 :range
matched token #19 :<
matched token #123 :char_t
matched token #16 :>
matched token #21 :(
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #123 :c2
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #37 :}
matched token #135 :

matched token #134 :                
matched token #68 :else
matched token #134 : 
matched token #130 :// insert 1 char
matched token #135 :

matched token #134 :                
matched token #18 :{
matched token #135 :

matched token #134 :                    
matched token #123 :rr
matched token #12 :.
matched token #123 :set
matched token #21 :(
matched token #123 :impl
matched token #40 :::
matched token #123 :range
matched token #19 :<
matched token #123 :char_t
matched token #16 :>
matched token #21 :(
matched token #123 :c1
matched token #8 :,
matched token #134 : 
matched token #123 :c1
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #37 :}
matched token #135 :

matched token #134 :            
matched token #37 :}
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :negated_ccl
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #123 :rr
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :ccl_utils
matched token #40 :::
matched token #123 :negate_range_run
matched token #21 :(
matched token #123 :rr
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #123 :ccl_utils
matched token #40 :::
matched token #123 :create_nodes
matched token #21 :(
matched token #123 :rr
matched token #8 :,
matched token #134 : 
matched token #123 :m_stack
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :m_stack
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :IteratorT
matched token #16 :>
matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :make_any_char
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #134 :    
matched token #101 :typedef
matched token #134 : 
matched token #103 :typename
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :iterator_traits
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #40 :::
matched token #123 :value_type
matched token #134 : 
matched token #123 :char_t
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :m_stack
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :make_any_char
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :the_stack
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #9 ::
matched token #134 : 
matched token #123 :m_stack
matched token #21 :(
matched token #123 :the_stack
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #108 :void
matched token #134 : 
matched token #83 :operator
matched token #21 :(
matched token #38 :)
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :char_t
matched token #134 : 
matched token #123 :c
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :assert
matched token #21 :(
matched token #123 :c
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #131 :'.'
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :do_any_char
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #108 :void
matched token #134 : 
matched token #123 :do_any_char
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #59 :const
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #93 :static
matched token #134 : 
matched token #123 :impl
matched token #40 :::
matched token #123 :range_run
matched token #19 :<
matched token #123 :char_t
matched token #16 :>
matched token #134 : 
matched token #123 :rr
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :rr
matched token #12 :.
matched token #123 :set
matched token #21 :(
matched token #123 :impl
matched token #40 :::
matched token #123 :full_range
matched token #19 :<
matched token #123 :char_t
matched token #16 :>
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :char_t
matched token #134 : 
matched token #123 :newline
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #131 :'\n'
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :rr
matched token #12 :.
matched token #123 :clear
matched token #21 :(
matched token #123 :impl
matched token #40 :::
matched token #123 :range
matched token #19 :<
matched token #123 :char_t
matched token #16 :>
matched token #21 :(
matched token #123 :newline
matched token #8 :,
matched token #134 : 
matched token #123 :newline
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #123 :ccl_utils
matched token #40 :::
matched token #123 :create_nodes
matched token #21 :(
matched token #123 :rr
matched token #8 :,
matched token #134 : 
matched token #123 :m_stack
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #135 :

matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :IteratorT
matched token #16 :>
matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :grammar
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :	
matched token #101 :typedef
matched token #134 : 
matched token #123 :rule
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #134 : 
matched token #123 :rule_t
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #101 :typedef
matched token #134 : 
matched token #103 :typename
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :iterator_traits
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #40 :::
matched token #123 :value_type
matched token #134 : 
matched token #123 :char_t
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #135 :

matched token #134 :	
matched token #123 :rule_t
matched token #134 : 
matched token #123 :regex
matched token #8 :,
matched token #134 : 
matched token #123 :re
matched token #8 :,
matched token #134 : 
matched token #123 :series
matched token #8 :,
matched token #134 : 
matched token #123 :singleton
matched token #8 :,
matched token #134 : 
matched token #123 :singleton2
matched token #8 :,
matched token #134 : 
matched token #123 :fullccl
matched token #8 :,
matched token #134 : 
matched token #123 :ccl
matched token #8 :,
matched token #134 : 
matched token #123 :string
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :        
matched token #123 :escseq
matched token #8 :,
matched token #134 : 
matched token #123 :ccl_char
matched token #41 :;
matched token #135 :

matched token #134 :	
matched token #123 :symbols
matched token #19 :<
matched token #16 :>
matched token #134 : 
matched token #123 :ccl_expr
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :stack
matched token #19 :<
matched token #123 :node
matched token #46 :*
matched token #16 :>
matched token #134 : 
matched token #123 :node_stack
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :	
matched token #123 :grammar
matched token #21 :(
matched token #38 :)
matched token #135 :

matched token #134 :	
matched token #18 :{
matched token #135 :

matched token #134 :		
matched token #123 :regex
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :re
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #28 :!
matched token #21 :(
matched token #131 :'/'
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :re
matched token #38 :)
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #28 :!
matched token #123 :ch_p
matched token #21 :(
matched token #131 :'$'
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :		
matched token #123 :re
matched token #134 : 
matched token #2 :=
matched token #135 :

matched token #134 :			  
matched token #123 :series
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #46 :*
matched token #21 :(
matched token #21 :(
matched token #131 :'|'
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :series
matched token #38 :)
matched token #22 :[
matched token #123 :make_or
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #21 :(
matched token #123 :node_stack
matched token #38 :)
matched token #39 :]
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :		
matched token #123 :series
matched token #134 : 
matched token #2 :=
matched token #135 :

matched token #134 :			  
matched token #123 :singleton
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #46 :*
matched token #21 :(
matched token #123 :singleton
matched token #22 :[
matched token #123 :make_concat
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #21 :(
matched token #123 :node_stack
matched token #38 :)
matched token #39 :]
matched token #134 : 
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :		
matched token #123 :singleton
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #135 :

matched token #134 :			  
matched token #123 :ch_p
matched token #21 :(
matched token #131 :'.'
matched token #38 :)
matched token #22 :[
matched token #123 :make_any_char
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #21 :(
matched token #123 :node_stack
matched token #38 :)
matched token #39 :]
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :singleton2
matched token #135 :

matched token #134 :			
matched token #4 :|
matched token #134 : 
matched token #123 :fullccl
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :singleton2
matched token #135 :

matched token #134 :            
matched token #130 :// TODO: Write a string node generator
matched token #135 :

matched token #134 :			
matched token #4 :|
matched token #134 : 
matched token #131 :'"'
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :string
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #131 :'"'
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :singleton2
matched token #135 :

matched token #134 :			
matched token #4 :|
matched token #134 : 
matched token #131 :'('
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :re
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #131 :')'
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :singleton2
matched token #135 :

matched token #134 :			
matched token #4 :|
matched token #134 : 
matched token #21 :(
matched token #21 :(
matched token #123 :anychar
matched token #134 : 
matched token #23 :-
matched token #134 : 
matched token #123 :chset
matched token #19 :<
matched token #16 :>
matched token #21 :(
matched token #132 :"/|*+?.(){}\\"
matched token #38 :)
matched token #38 :)
matched token #134 : 
matched token #4 :|
matched token #134 : 
matched token #123 :escseq
matched token #38 :)
matched token #135 :

matched token #134 :                
matched token #22 :[
matched token #123 :make_char
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #21 :(
matched token #123 :node_stack
matched token #38 :)
matched token #39 :]
matched token #134 : 
matched token #135 :

matched token #134 :              
matched token #44 :>>
matched token #134 : 
matched token #123 :singleton2
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :		
matched token #123 :singleton2
matched token #134 : 
matched token #2 :=
matched token #135 :

matched token #134 :			  
matched token #123 :ch_p
matched token #21 :(
matched token #131 :'*'
matched token #38 :)
matched token #22 :[
matched token #123 :make_star
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #21 :(
matched token #123 :node_stack
matched token #38 :)
matched token #39 :]
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :singleton2
matched token #135 :

matched token #134 :			
matched token #4 :|
matched token #134 : 
matched token #123 :ch_p
matched token #21 :(
matched token #131 :'+'
matched token #38 :)
matched token #22 :[
matched token #123 :make_plus
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #21 :(
matched token #123 :node_stack
matched token #38 :)
matched token #39 :]
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :singleton2
matched token #135 :

matched token #134 :			
matched token #4 :|
matched token #134 : 
matched token #123 :ch_p
matched token #21 :(
matched token #131 :'?'
matched token #38 :)
matched token #22 :[
matched token #123 :make_optional
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #21 :(
matched token #123 :node_stack
matched token #38 :)
matched token #39 :]
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :singleton2
matched token #135 :

matched token #134 :            
matched token #130 :// TODO: Write a specified repetition generator
matched token #135 :

matched token #134 :			
matched token #4 :|
matched token #134 : 
matched token #131 :'"'
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :string
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #131 :'"'
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :singleton2
matched token #135 :

matched token #134 :			
matched token #4 :|
matched token #134 : 
matched token #131 :'{'
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :uint_p
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #131 :'}'
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :singleton2
matched token #135 :

matched token #134 :			
matched token #4 :|
matched token #134 : 
matched token #131 :'{'
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :uint_p
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #131 :','
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #131 :'}'
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :singleton2
matched token #135 :

matched token #134 :			
matched token #4 :|
matched token #134 : 
matched token #131 :'{'
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :uint_p
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #131 :','
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :uint_p
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #131 :'}'
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :singleton2
matched token #135 :

matched token #134 :			
matched token #4 :|
matched token #134 : 
matched token #123 :epsilon
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :		
matched token #123 :fullccl
matched token #134 : 
matched token #2 :=
matched token #135 :

matched token #134 :			
matched token #21 :(
matched token #131 :'['
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #28 :!
matched token #123 :ch_p
matched token #21 :(
matched token #131 :'^'
matched token #38 :)
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :ccl
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #131 :']'
matched token #38 :)
matched token #22 :[
matched token #123 :make_ccl
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #21 :(
matched token #123 :node_stack
matched token #38 :)
matched token #39 :]
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :		
matched token #123 :ccl
matched token #134 : 
matched token #2 :=
matched token #135 :

matched token #134 :            
matched token #46 :*
matched token #21 :(
matched token #123 :ccl_expr
matched token #134 : 
matched token #4 :|
matched token #134 : 
matched token #21 :(
matched token #123 :ccl_char
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #28 :!
matched token #21 :(
matched token #131 :'-'
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :ccl_char
matched token #38 :)
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :		
matched token #123 :ccl_char
matched token #134 : 
matched token #2 :=
matched token #135 :

matched token #134 :			
matched token #21 :(
matched token #21 :(
matched token #123 :anychar
matched token #134 : 
matched token #23 :-
matched token #134 : 
matched token #123 :chset
matched token #19 :<
matched token #16 :>
matched token #21 :(
matched token #132 :"\\\n]"
matched token #38 :)
matched token #38 :)
matched token #134 : 
matched token #4 :|
matched token #134 : 
matched token #123 :escseq
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :		
matched token #123 :ccl_expr
matched token #134 : 
matched token #2 :=
matched token #135 :

matched token #134 :			
matched token #132 :"[:alnum:]"
matched token #8 :,
matched token #135 :

matched token #134 :			
matched token #132 :"[:alpha:]"
matched token #8 :,
matched token #135 :

matched token #134 :			
matched token #132 :"[:blank:]"
matched token #8 :,
matched token #135 :

matched token #134 :			
matched token #132 :"[:cntrl:]"
matched token #8 :,
matched token #135 :

matched token #134 :			
matched token #132 :"[:digit:]"
matched token #8 :,
matched token #135 :

matched token #134 :			
matched token #132 :"[:graph:]"
matched token #8 :,
matched token #135 :

matched token #134 :			
matched token #132 :"[:lower:]"
matched token #8 :,
matched token #135 :

matched token #134 :			
matched token #132 :"[:print:]"
matched token #8 :,
matched token #135 :

matched token #134 :			
matched token #132 :"[:punct:]"
matched token #8 :,
matched token #135 :

matched token #134 :			
matched token #132 :"[:space:]"
matched token #8 :,
matched token #135 :

matched token #134 :			
matched token #132 :"[:upper:]"
matched token #8 :,
matched token #135 :

matched token #134 :			
matched token #132 :"[:xdigit:]"
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :		
matched token #123 :string
matched token #134 : 
matched token #2 :=
matched token #135 :

matched token #134 :			
matched token #46 :*
matched token #21 :(
matched token #21 :(
matched token #123 :anychar
matched token #134 : 
matched token #23 :-
matched token #134 : 
matched token #123 :chset
matched token #19 :<
matched token #16 :>
matched token #21 :(
matched token #132 :"\"\\"
matched token #38 :)
matched token #38 :)
matched token #134 : 
matched token #4 :|
matched token #134 : 
matched token #123 :escseq
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :		
matched token #123 :escseq
matched token #134 : 
matched token #2 :=
matched token #135 :

matched token #134 :			
matched token #123 :ch_p
matched token #21 :(
matched token #131 :'\\'
matched token #38 :)
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #135 :

matched token #134 :				
matched token #123 :longest
matched token #22 :[
matched token #135 :

matched token #134 :				
matched token #21 :(
matched token #134 :  
matched token #21 :(
matched token #123 :anychar
matched token #134 : 
matched token #23 :-
matched token #134 : 
matched token #131 :'\n'
matched token #38 :)
matched token #135 :

matched token #134 :				 
matched token #4 :|
matched token #134 : 
matched token #123 :chset
matched token #19 :<
matched token #16 :>
matched token #21 :(
matched token #132 :"0-7"
matched token #38 :)
matched token #12 :.
matched token #123 :repeat
matched token #21 :(
matched token #125 :1
matched token #8 :,
matched token #125 :11
matched token #38 :)
matched token #134 : 
matched token #135 :

matched token #134 :				 
matched token #4 :|
matched token #134 : 
matched token #123 :chset
matched token #19 :<
matched token #16 :>
matched token #21 :(
matched token #132 :"xX"
matched token #38 :)
matched token #134 : 
matched token #44 :>>
matched token #134 : 
matched token #123 :xdigit
matched token #12 :.
matched token #123 :repeat
matched token #21 :(
matched token #125 :1
matched token #8 :,
matched token #125 :8
matched token #38 :)
matched token #135 :

matched token #134 :				
matched token #38 :)
matched token #39 :]
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :	    
matched token #123 :BOOST_SPIRIT_DEBUG_RULE
matched token #21 :(
matched token #123 :regex
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :BOOST_SPIRIT_DEBUG_RULE
matched token #21 :(
matched token #123 :re
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :BOOST_SPIRIT_DEBUG_RULE
matched token #21 :(
matched token #123 :series
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :BOOST_SPIRIT_DEBUG_RULE
matched token #21 :(
matched token #123 :singleton
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :BOOST_SPIRIT_DEBUG_RULE
matched token #21 :(
matched token #123 :singleton2
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :BOOST_SPIRIT_DEBUG_RULE
matched token #21 :(
matched token #123 :fullccl
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :BOOST_SPIRIT_DEBUG_RULE
matched token #21 :(
matched token #123 :ccl
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :BOOST_SPIRIT_DEBUG_RULE
matched token #21 :(
matched token #123 :string
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :BOOST_SPIRIT_DEBUG_RULE
matched token #21 :(
matched token #123 :escseq
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :BOOST_SPIRIT_DEBUG_RULE
matched token #21 :(
matched token #123 :ccl_char
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :	
matched token #37 :}
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #134 : 
matched token #130 :// class grammar
matched token #135 :

matched token #135 :

matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :IteratorT
matched token #16 :>
matched token #135 :

matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :parse
matched token #21 :(
matched token #123 :grammar
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #0 :&
matched token #134 : 
matched token #123 :g
matched token #8 :,
matched token #134 : 
matched token #123 :IteratorT
matched token #134 : 
matched token #123 :expr
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :parse_info
matched token #19 :<
matched token #123 :IteratorT
matched token #16 :>
matched token #135 :

matched token #134 :        
matched token #123 :result
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :spirit
matched token #40 :::
matched token #123 :parse
matched token #21 :(
matched token #123 :expr
matched token #8 :,
matched token #134 : 
matched token #123 :g
matched token #12 :.
matched token #123 :regex
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #28 :!
matched token #123 :result
matched token #12 :.
matched token #123 :full
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #89 :return
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :assert
matched token #21 :(
matched token #123 :g
matched token #12 :.
matched token #123 :node_stack
matched token #12 :.
matched token #123 :size
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #125 :1
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :rval
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :g
matched token #12 :.
matched token #123 :node_stack
matched token #12 :.
matched token #123 :top
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :g
matched token #12 :.
matched token #123 :node_stack
matched token #12 :.
matched token #123 :pop
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node
matched token #46 :*
matched token #134 : 
matched token #123 :an_eof_node
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :eof_node
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :rval
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #82 :new
matched token #134 : 
matched token #123 :cat_node
matched token #21 :(
matched token #123 :rval
matched token #8 :,
matched token #134 : 
matched token #123 :an_eof_node
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #89 :return
matched token #134 : 
matched token #123 :rval
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #51 :bool
matched token #134 : 
matched token #123 :regex_match
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :dfa_t
matched token #0 :&
matched token #134 : 
matched token #123 :dfa
matched token #8 :,
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #57 :char
matched token #46 :*
matched token #0 :&
matched token #134 : 
matched token #123 :first
matched token #8 :,
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #57 :char
matched token #46 :*
matched token #134 : 
matched token #123 :last
matched token #8 :,
matched token #135 :

matched token #134 :        
matched token #78 :int
matched token #0 :&
matched token #134 : 
matched token #123 :regex_index
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :s
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :last_accepting_index
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :invalid_node
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #59 :const
matched token #134 : 
matched token #123 :uchar
matched token #46 :*
matched token #134 : 
matched token #123 :p
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :uchar
matched token #46 :*
matched token #38 :)
matched token #123 :first
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #59 :const
matched token #134 : 
matched token #123 :uchar
matched token #46 :*
matched token #134 : 
matched token #123 :last_accepting_cpos
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :uchar
matched token #46 :*
matched token #38 :)
matched token #123 :first
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #111 :while
matched token #134 : 
matched token #21 :(
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #57 :char
matched token #46 :*
matched token #38 :)
matched token #123 :p
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :last
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :s
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :dfa
matched token #12 :.
matched token #123 :first
matched token #22 :[
matched token #123 :s
matched token #39 :]
matched token #22 :[
matched token #46 :*
matched token #123 :p
matched token #39 :]
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :s
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #123 :invalid_node
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #54 :break
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #33 :++
matched token #123 :p
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :dfa
matched token #12 :.
matched token #123 :second
matched token #22 :[
matched token #123 :s
matched token #39 :]
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :invalid_node
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #123 :last_accepting_index
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :s
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #123 :last_accepting_cpos
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :p
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #134 :    
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :last_accepting_index
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :invalid_node
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #130 :// execute dfa.second[last_accepting_state]
matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #134 :        
matched token #123 :std
matched token #40 :::
matched token #123 :cout
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :"dfa.second["
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #123 :last_accepting_index
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :"] = "
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :dfa
matched token #12 :.
matched token #123 :second
matched token #22 :[
matched token #123 :last_accepting_index
matched token #39 :]
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #131 :'\n'
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #134 :        
matched token #123 :first
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #57 :char
matched token #46 :*
matched token #38 :)
matched token #123 :last_accepting_cpos
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :regex_index
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :dfa
matched token #12 :.
matched token #123 :second
matched token #22 :[
matched token #123 :last_accepting_index
matched token #39 :]
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #89 :return
matched token #134 : 
matched token #53 :true
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #134 :    
matched token #68 :else
matched token #135 :

matched token #134 :        
matched token #89 :return
matched token #134 : 
matched token #52 :false
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #51 :bool
matched token #134 : 
matched token #123 :regex_match
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :dfa_t
matched token #0 :&
matched token #134 : 
matched token #123 :dfa
matched token #8 :,
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #110 :wchar_t
matched token #46 :*
matched token #0 :&
matched token #134 : 
matched token #123 :first
matched token #8 :,
matched token #134 : 
matched token #59 :const
matched token #134 : 
matched token #110 :wchar_t
matched token #46 :*
matched token #134 : 
matched token #123 :last
matched token #8 :,
matched token #135 :

matched token #134 :        
matched token #78 :int
matched token #0 :&
matched token #134 : 
matched token #123 :regex_index
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :s
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :last_accepting_index
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :invalid_node
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #59 :const
matched token #134 : 
matched token #110 :wchar_t
matched token #46 :*
matched token #134 : 
matched token #123 :wp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :first
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #59 :const
matched token #134 : 
matched token #110 :wchar_t
matched token #46 :*
matched token #134 : 
matched token #123 :last_accepting_cpos
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :first
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #111 :while
matched token #134 : 
matched token #21 :(
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #110 :wchar_t
matched token #46 :*
matched token #38 :)
matched token #123 :wp
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :last
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #105 :unsigned
matched token #134 : 
matched token #78 :int
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #92 :sizeof
matched token #21 :(
matched token #110 :wchar_t
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :i
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #123 :s
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :dfa
matched token #12 :.
matched token #123 :first
matched token #22 :[
matched token #123 :s
matched token #39 :]
matched token #22 :[
matched token #123 :get_byte
matched token #21 :(
matched token #46 :*
matched token #123 :wp
matched token #8 :,
matched token #123 :i
matched token #38 :)
matched token #39 :]
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :s
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #123 :invalid_node
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #18 :{
matched token #135 :

matched token #134 :                
matched token #75 :goto
matched token #134 : 
matched token #123 :break_while
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #37 :}
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #134 :        
matched token #33 :++
matched token #123 :wp
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :dfa
matched token #12 :.
matched token #123 :second
matched token #22 :[
matched token #123 :s
matched token #39 :]
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :invalid_node
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #123 :last_accepting_index
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :s
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #123 :last_accepting_cpos
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :wp
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #123 :break_while
matched token #9 ::
matched token #135 :

matched token #134 :    
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :last_accepting_index
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :invalid_node
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #130 :// execute dfa.second[s]
matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #134 :        
matched token #123 :std
matched token #40 :::
matched token #123 :cout
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :"dfa.second["
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #123 :last_accepting_index
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :"] = "
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :dfa
matched token #12 :.
matched token #123 :second
matched token #22 :[
matched token #123 :last_accepting_index
matched token #39 :]
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #131 :'\n'
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #134 :        
matched token #123 :first
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #110 :wchar_t
matched token #46 :*
matched token #38 :)
matched token #123 :last_accepting_cpos
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :regex_index
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :dfa
matched token #12 :.
matched token #123 :second
matched token #22 :[
matched token #123 :last_accepting_index
matched token #39 :]
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #89 :return
matched token #134 : 
matched token #53 :true
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #134 :    
matched token #68 :else
matched token #135 :

matched token #134 :        
matched token #89 :return
matched token #134 : 
matched token #52 :false
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #37 :}
matched token #134 : 
matched token #130 :// namespace lexerimpl
matched token #135 :

matched token #135 :

matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :CharT
matched token #8 :,
matched token #134 : 
matched token #103 :typename
matched token #134 : 
matched token #123 :TokenT
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #78 :int
matched token #16 :>
matched token #135 :

matched token #58 :class
matched token #134 : 
matched token #123 :lexer
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #86 :public
matched token #9 ::
matched token #135 :

matched token #134 :        
matched token #123 :lexer
matched token #21 :(
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #9 ::
matched token #134 : 
matched token #123 :g
matched token #21 :(
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #8 :,
matched token #134 : 
matched token #123 :m_compiled_dfa
matched token #21 :(
matched token #52 :false
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #18 :{
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #108 :void
matched token #134 : 
matched token #123 :register_regex
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :CharT
matched token #46 :*
matched token #134 : 
matched token #123 :regex
matched token #8 :,
matched token #134 : 
matched token #123 :TokenT
matched token #134 : 
matched token #123 :id
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :IteratorT
matched token #16 :>
matched token #135 :

matched token #134 :        
matched token #123 :TokenT
matched token #134 : 
matched token #123 :next_token
matched token #21 :(
matched token #123 :IteratorT
matched token #0 :&
matched token #134 : 
matched token #123 :first
matched token #8 :,
matched token #134 : 
matched token #123 :IteratorT
matched token #0 :&
matched token #134 : 
matched token #123 :last
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #108 :void
matched token #134 : 
matched token #123 :createdfa
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #134 :        
matched token #108 :void
matched token #134 : 
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :ostream
matched token #0 :&
matched token #134 : 
matched token #123 :out
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #84 :private
matched token #9 ::
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #123 :lexerimpl
matched token #40 :::
matched token #123 :grammar
matched token #19 :<
matched token #59 :const
matched token #134 : 
matched token #123 :CharT
matched token #46 :*
matched token #16 :>
matched token #134 : 
matched token #123 :g
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #80 :mutable
matched token #134 : 
matched token #51 :bool
matched token #134 : 
matched token #123 :m_compiled_dfa
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #80 :mutable
matched token #134 : 
matched token #123 :dfa_t
matched token #134 : 
matched token #123 :m_dfa
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #101 :typedef
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :vector
matched token #19 :<
matched token #123 :std
matched token #40 :::
matched token #123 :pair
matched token #19 :<
matched token #123 :std
matched token #40 :::
matched token #123 :basic_string
matched token #19 :<
matched token #123 :CharT
matched token #16 :>
matched token #8 :,
matched token #134 : 
matched token #123 :TokenT
matched token #16 :>
matched token #134 : 
matched token #16 :>
matched token #134 : 
matched token #123 :regex_list_t
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :regex_list_t
matched token #134 : 
matched token #123 :m_regex_list
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :CharT
matched token #8 :,
matched token #134 : 
matched token #103 :typename
matched token #134 : 
matched token #123 :TokenT
matched token #16 :>
matched token #135 :

matched token #108 :void
matched token #135 :

matched token #123 :lexer
matched token #19 :<
matched token #123 :CharT
matched token #8 :,
matched token #134 : 
matched token #123 :TokenT
matched token #16 :>
matched token #40 :::
matched token #123 :register_regex
matched token #21 :(
matched token #59 :const
matched token #134 : 
matched token #123 :CharT
matched token #46 :*
matched token #134 : 
matched token #123 :regex
matched token #8 :,
matched token #134 : 
matched token #123 :TokenT
matched token #134 : 
matched token #123 :id
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :m_regex_list
matched token #12 :.
matched token #123 :push_back
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :make_pair
matched token #21 :(
matched token #123 :regex
matched token #8 :,
matched token #134 : 
matched token #123 :id
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :CharT
matched token #8 :,
matched token #134 : 
matched token #103 :typename
matched token #134 : 
matched token #123 :TokenT
matched token #16 :>
matched token #135 :

matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :IteratorT
matched token #16 :>
matched token #135 :

matched token #123 :TokenT
matched token #135 :

matched token #123 :lexer
matched token #19 :<
matched token #123 :CharT
matched token #8 :,
matched token #134 : 
matched token #123 :TokenT
matched token #16 :>
matched token #40 :::
matched token #123 :next_token
matched token #21 :(
matched token #123 :IteratorT
matched token #0 :&
matched token #134 : 
matched token #123 :first
matched token #8 :,
matched token #134 : 
matched token #123 :IteratorT
matched token #0 :&
matched token #134 : 
matched token #123 :last
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #28 :!
matched token #123 :m_compiled_dfa
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :createdfa
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #78 :int
matched token #134 : 
matched token #123 :regex_index
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #28 :!
matched token #123 :lexerimpl
matched token #40 :::
matched token #123 :regex_match
matched token #21 :(
matched token #123 :m_dfa
matched token #8 :,
matched token #134 : 
matched token #123 :first
matched token #8 :,
matched token #134 : 
matched token #123 :last
matched token #8 :,
matched token #134 : 
matched token #123 :regex_index
matched token #38 :)
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #89 :return
matched token #134 : 
matched token #23 :-
matched token #125 :1
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #68 :else
matched token #135 :

matched token #134 :        
matched token #89 :return
matched token #134 : 
matched token #123 :m_regex_list
matched token #22 :[
matched token #123 :regex_index
matched token #39 :]
matched token #12 :.
matched token #123 :second
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #135 :

matched token #130 :// Algorithm from Compilers: Principles, Techniques, and Tools p. 141
matched token #135 :

matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :CharT
matched token #8 :,
matched token #134 : 
matched token #103 :typename
matched token #134 : 
matched token #123 :TokenT
matched token #16 :>
matched token #135 :

matched token #108 :void
matched token #134 : 
matched token #135 :

matched token #123 :lexer
matched token #19 :<
matched token #123 :CharT
matched token #8 :,
matched token #134 : 
matched token #123 :TokenT
matched token #16 :>
matched token #40 :::
matched token #123 :createdfa
matched token #21 :(
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #106 :using
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :map
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #106 :using
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :set
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #106 :using
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :vector
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #106 :using
matched token #134 : 
matched token #123 :std
matched token #40 :::
matched token #123 :find
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #106 :using
matched token #134 : 
matched token #81 :namespace
matched token #134 : 
matched token #123 :lexerimpl
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node
matched token #40 :::
matched token #123 :leaf_count
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #130 :// parse the expressions into a tree
matched token #135 :

matched token #134 :    
matched token #123 :regex_list_t
matched token #40 :::
matched token #123 :iterator
matched token #134 : 
matched token #123 :ri
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :m_regex_list
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :std
matched token #40 :::
matched token #123 :auto_ptr
matched token #19 :<
matched token #123 :node
matched token #16 :>
matched token #134 : 
matched token #123 :tree
matched token #21 :(
matched token #123 :parse
matched token #21 :(
matched token #123 :g
matched token #8 :,
matched token #134 : 
matched token #21 :(
matched token #46 :*
matched token #123 :ri
matched token #38 :)
matched token #12 :.
matched token #123 :first
matched token #12 :.
matched token #123 :c_str
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :tree
matched token #12 :.
matched token #123 :get
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #124 :0
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #99 :throw
matched token #134 : 
matched token #123 :bad_regex
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #33 :++
matched token #123 :ri
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #134 : 
matched token #41 :;
matched token #123 :ri
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :m_regex_list
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :ri
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :std
matched token #40 :::
matched token #123 :auto_ptr
matched token #19 :<
matched token #123 :node
matched token #16 :>
matched token #134 : 
matched token #123 :next_tree
matched token #21 :(
matched token #123 :parse
matched token #21 :(
matched token #123 :g
matched token #8 :,
matched token #134 : 
matched token #21 :(
matched token #46 :*
matched token #123 :ri
matched token #38 :)
matched token #12 :.
matched token #123 :first
matched token #12 :.
matched token #123 :c_str
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :next_tree
matched token #12 :.
matched token #123 :get
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #124 :0
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #99 :throw
matched token #134 : 
matched token #123 :bad_regex
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :std
matched token #40 :::
matched token #123 :auto_ptr
matched token #19 :<
matched token #123 :node
matched token #16 :>
matched token #134 : 
matched token #123 :newnode
matched token #21 :(
matched token #82 :new
matched token #134 : 
matched token #123 :or_node
matched token #21 :(
matched token #123 :tree
matched token #12 :.
matched token #123 :release
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :next_tree
matched token #12 :.
matched token #123 :release
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :tree
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :newnode
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #134 :    
matched token #123 :tree
matched token #34 :->
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :cout
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #130 :// compute followpos(root)
matched token #135 :

matched token #134 :    
matched token #123 :followpos_t
matched token #134 : 
matched token #123 :followpos
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :tree
matched token #34 :->
matched token #123 :compute_followpos
matched token #21 :(
matched token #123 :followpos
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #130 :// the dfa states <-> nfa state groups
matched token #135 :

matched token #134 :    
matched token #123 :map
matched token #19 :<
matched token #123 :node_set
matched token #8 :,
matched token #134 : 
matched token #123 :node_id_t
matched token #16 :>
matched token #134 : 
matched token #123 :dstates1
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :map
matched token #19 :<
matched token #123 :node_id_t
matched token #8 :,
matched token #134 : 
matched token #123 :node_set
matched token #16 :>
matched token #134 : 
matched token #123 :dstates2
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #130 :// the dfa transitions
matched token #135 :

matched token #134 :    
matched token #123 :m_dfa
matched token #12 :.
matched token #123 :first
matched token #12 :.
matched token #123 :push_back
matched token #21 :(
matched token #123 :vector
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #21 :(
matched token #125 :256
matched token #8 :,
matched token #134 : 
matched token #123 :invalid_node
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :m_dfa
matched token #12 :.
matched token #123 :second
matched token #12 :.
matched token #123 :push_back
matched token #21 :(
matched token #123 :invalid_node
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #130 :// whether the dfa state has been processed yet
matched token #135 :

matched token #134 :    
matched token #123 :vector
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #134 : 
matched token #123 :marked
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #130 :// used to give a unique id to each dfa state
matched token #135 :

matched token #134 :    
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :num_states
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #130 :// initially, the only unmarked state in Dstates is firstpos(root).
matched token #135 :

matched token #134 :    
matched token #123 :marked
matched token #12 :.
matched token #123 :push_back
matched token #21 :(
matched token #124 :0
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :fpr
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :tree
matched token #34 :->
matched token #123 :firstpos
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :dstates1
matched token #22 :[
matched token #123 :fpr
matched token #39 :]
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :dstates2
matched token #22 :[
matched token #124 :0
matched token #39 :]
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :fpr
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :state_match_t
matched token #134 : 
matched token #123 :state_match
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :tree
matched token #34 :->
matched token #123 :compute_state_match
matched token #21 :(
matched token #123 :state_match
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :node_set
matched token #134 : 
matched token #123 :eof_node_ids
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #123 :tree
matched token #34 :->
matched token #123 :get_eof_ids
matched token #21 :(
matched token #123 :eof_node_ids
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #130 :// translate the eof_node_ids into a 0-based index
matched token #135 :

matched token #134 :    
matched token #123 :map
matched token #19 :<
matched token #123 :node_id_t
matched token #8 :,
matched token #134 : 
matched token #123 :node_id_t
matched token #16 :>
matched token #134 : 
matched token #123 :eof_node_id_map
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #105 :unsigned
matched token #134 : 
matched token #78 :int
matched token #134 : 
matched token #123 :x
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #123 :node_set
matched token #40 :::
matched token #123 :iterator
matched token #134 : 
matched token #123 :node_id_it
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :eof_node_ids
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #123 :node_id_it
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :eof_node_ids
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #33 :++
matched token #123 :node_id_it
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :eof_node_id_map
matched token #22 :[
matched token #46 :*
matched token #123 :node_id_it
matched token #39 :]
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :x
matched token #33 :++
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #134 :    
matched token #135 :

matched token #134 :    
matched token #130 :// figure out if this is an acceptance state
matched token #135 :

matched token #134 :    
matched token #73 :for
matched token #21 :(
matched token #123 :node_set
matched token #40 :::
matched token #123 :iterator
matched token #134 : 
matched token #123 :nsi
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :eof_node_ids
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #123 :nsi
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :eof_node_ids
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :nsi
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :eof_node_id
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #46 :*
matched token #123 :nsi
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :fpr
matched token #12 :.
matched token #123 :find
matched token #21 :(
matched token #123 :eof_node_id
matched token #38 :)
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :fpr
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #130 :// store the first one we come to as the
matched token #135 :

matched token #134 :            
matched token #130 :// matched pattern
matched token #135 :

matched token #134 :            
matched token #123 :m_dfa
matched token #12 :.
matched token #123 :second
matched token #22 :[
matched token #124 :0
matched token #39 :]
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #135 :

matched token #134 :                
matched token #123 :eof_node_id_map
matched token #22 :[
matched token #123 :eof_node_id
matched token #39 :]
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #130 :// don't bother searching for more
matched token #135 :

matched token #134 :            
matched token #54 :break
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :    
matched token #123 :vector
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #40 :::
matched token #123 :iterator
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :find
matched token #21 :(
matched token #123 :marked
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :marked
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #135 :

matched token #134 :            
matched token #123 :node_id_t
matched token #21 :(
matched token #124 :0
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #111 :while
matched token #134 : 
matched token #21 :(
matched token #123 :marked
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :i
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #46 :*
matched token #123 :i
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #125 :1
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :T
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #23 :-
matched token #134 : 
matched token #123 :marked
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :assert
matched token #21 :(
matched token #123 :T
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #123 :dstates2
matched token #12 :.
matched token #123 :size
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #123 :node_set
matched token #134 : 
matched token #123 :Tstates
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :dstates2
matched token #22 :[
matched token #123 :T
matched token #39 :]
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :j
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #134 : 
matched token #123 :j
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #125 :256
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :j
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #123 :node_set
matched token #134 : 
matched token #123 :U
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #123 :node_set
matched token #40 :::
matched token #123 :iterator
matched token #134 : 
matched token #123 :k
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :Tstates
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                    
matched token #123 :k
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :Tstates
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :k
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #18 :{
matched token #135 :

matched token #134 :                
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :p
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #46 :*
matched token #123 :k
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #123 :assert
matched token #21 :(
matched token #123 :p
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #123 :state_match
matched token #12 :.
matched token #123 :size
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #123 :assert
matched token #21 :(
matched token #123 :j
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #123 :state_match
matched token #22 :[
matched token #123 :p
matched token #39 :]
matched token #12 :.
matched token #123 :size
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :state_match
matched token #22 :[
matched token #123 :p
matched token #39 :]
matched token #22 :[
matched token #123 :j
matched token #39 :]
matched token #38 :)
matched token #135 :

matched token #134 :                
matched token #18 :{
matched token #135 :

matched token #134 :                    
matched token #123 :node_set
matched token #134 : 
matched token #123 :fpp
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :followpos
matched token #22 :[
matched token #123 :p
matched token #39 :]
matched token #41 :;
matched token #135 :

matched token #134 :                    
matched token #123 :U
matched token #12 :.
matched token #123 :insert
matched token #21 :(
matched token #123 :fpp
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :fpp
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #37 :}
matched token #135 :

matched token #134 :            
matched token #37 :}
matched token #135 :

matched token #134 :            
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :U
matched token #12 :.
matched token #123 :size
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #16 :>
matched token #134 : 
matched token #124 :0
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #18 :{
matched token #135 :

matched token #134 :                
matched token #123 :map
matched token #19 :<
matched token #123 :node_set
matched token #8 :,
matched token #134 : 
matched token #123 :node_id_t
matched token #16 :>
matched token #40 :::
matched token #123 :iterator
matched token #134 : 
matched token #123 :l
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :dstates1
matched token #12 :.
matched token #123 :find
matched token #21 :(
matched token #123 :U
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :target_state
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :l
matched token #134 : 
matched token #15 :==
matched token #134 : 
matched token #123 :dstates1
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #134 : 
matched token #130 :// not in the states yet
matched token #135 :

matched token #134 :                
matched token #18 :{
matched token #135 :

matched token #134 :                    
matched token #33 :++
matched token #123 :num_states
matched token #41 :;
matched token #135 :

matched token #134 :                    
matched token #123 :dstates1
matched token #22 :[
matched token #123 :U
matched token #39 :]
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :target_state
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :num_states
matched token #41 :;
matched token #135 :

matched token #134 :                    
matched token #123 :dstates2
matched token #22 :[
matched token #123 :target_state
matched token #39 :]
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :U
matched token #41 :;
matched token #135 :

matched token #134 :                    
matched token #123 :marked
matched token #12 :.
matched token #123 :push_back
matched token #21 :(
matched token #124 :0
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                    
matched token #123 :m_dfa
matched token #12 :.
matched token #123 :first
matched token #12 :.
matched token #123 :push_back
matched token #21 :(
matched token #135 :

matched token #134 :                            
matched token #123 :vector
matched token #19 :<
matched token #123 :node_id_t
matched token #16 :>
matched token #21 :(
matched token #125 :256
matched token #8 :,
matched token #134 : 
matched token #123 :invalid_node
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                    
matched token #123 :m_dfa
matched token #12 :.
matched token #123 :second
matched token #12 :.
matched token #123 :push_back
matched token #21 :(
matched token #123 :invalid_node
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                    
matched token #130 :// figure out if this is an acceptance state
matched token #135 :

matched token #134 :                    
matched token #73 :for
matched token #21 :(
matched token #123 :node_set
matched token #40 :::
matched token #123 :iterator
matched token #134 : 
matched token #123 :nsi
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :eof_node_ids
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                            
matched token #123 :nsi
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :eof_node_ids
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :nsi
matched token #38 :)
matched token #135 :

matched token #134 :                    
matched token #18 :{
matched token #135 :

matched token #134 :                        
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :eof_node_id
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #46 :*
matched token #123 :nsi
matched token #41 :;
matched token #135 :

matched token #134 :                        
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :U
matched token #12 :.
matched token #123 :find
matched token #21 :(
matched token #123 :eof_node_id
matched token #38 :)
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :U
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #135 :

matched token #134 :                        
matched token #18 :{
matched token #135 :

matched token #134 :                            
matched token #130 :// store the first one we come to as the
matched token #135 :

matched token #134 :                            
matched token #130 :// matched pattern
matched token #135 :

matched token #134 :                            
matched token #123 :m_dfa
matched token #12 :.
matched token #123 :second
matched token #22 :[
matched token #123 :target_state
matched token #39 :]
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #135 :

matched token #134 :                                
matched token #123 :eof_node_id_map
matched token #22 :[
matched token #123 :eof_node_id
matched token #39 :]
matched token #41 :;
matched token #135 :

matched token #134 :                            
matched token #130 :// don't bother searching for more
matched token #135 :

matched token #134 :                            
matched token #54 :break
matched token #41 :;
matched token #135 :

matched token #134 :                        
matched token #37 :}
matched token #135 :

matched token #134 :                    
matched token #37 :}
matched token #135 :

matched token #134 :                
matched token #37 :}
matched token #135 :

matched token #134 :                
matched token #68 :else
matched token #135 :

matched token #134 :                
matched token #18 :{
matched token #135 :

matched token #134 :                    
matched token #123 :target_state
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :dstates1
matched token #22 :[
matched token #123 :U
matched token #39 :]
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :                
matched token #123 :assert
matched token #21 :(
matched token #123 :T
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #123 :m_dfa
matched token #12 :.
matched token #123 :first
matched token #12 :.
matched token #123 :size
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #123 :assert
matched token #21 :(
matched token #123 :j
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #123 :m_dfa
matched token #12 :.
matched token #123 :first
matched token #22 :[
matched token #123 :T
matched token #39 :]
matched token #12 :.
matched token #123 :size
matched token #21 :(
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :                
matched token #123 :m_dfa
matched token #12 :.
matched token #123 :first
matched token #22 :[
matched token #123 :T
matched token #39 :]
matched token #22 :[
matched token #123 :j
matched token #39 :]
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :target_state
matched token #41 :;
matched token #135 :

matched token #134 :            
matched token #37 :}
matched token #135 :

matched token #134 :            
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #135 :

matched token #134 :        
matched token #123 :i
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #123 :find
matched token #21 :(
matched token #123 :marked
matched token #12 :.
matched token #123 :begin
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :marked
matched token #12 :.
matched token #123 :end
matched token #21 :(
matched token #38 :)
matched token #8 :,
matched token #134 : 
matched token #123 :node_id_t
matched token #21 :(
matched token #124 :0
matched token #38 :)
matched token #38 :)
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #134 :    
matched token #123 :m_compiled_dfa
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #53 :true
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #135 :

matched token #135 :

matched token #137 :#
matched token #113 :ifdef
matched token #134 : 
matched token #123 :BOOST_SPIRIT_DEBUG
matched token #135 :

matched token #97 :template
matched token #134 : 
matched token #19 :<
matched token #103 :typename
matched token #134 : 
matched token #123 :CharT
matched token #8 :,
matched token #134 : 
matched token #103 :typename
matched token #134 : 
matched token #123 :TokenT
matched token #16 :>
matched token #135 :

matched token #108 :void
matched token #135 :

matched token #123 :lexer
matched token #19 :<
matched token #123 :CharT
matched token #8 :,
matched token #134 : 
matched token #123 :TokenT
matched token #16 :>
matched token #40 :::
matched token #123 :dump
matched token #21 :(
matched token #123 :std
matched token #40 :::
matched token #123 :ostream
matched token #0 :&
matched token #134 : 
matched token #123 :out
matched token #38 :)
matched token #135 :

matched token #18 :{
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :"\nm_dfa has "
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #123 :m_dfa
matched token #12 :.
matched token #123 :first
matched token #12 :.
matched token #123 :size
matched token #21 :(
matched token #38 :)
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" states\n"
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #123 :m_dfa
matched token #12 :.
matched token #123 :first
matched token #12 :.
matched token #123 :size
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :i
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :"state "
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :":"
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #73 :for
matched token #134 : 
matched token #21 :(
matched token #123 :node_id_t
matched token #134 : 
matched token #123 :j
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #134 : 
matched token #123 :j
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #123 :m_dfa
matched token #12 :.
matched token #123 :first
matched token #22 :[
matched token #123 :i
matched token #39 :]
matched token #12 :.
matched token #123 :size
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :j
matched token #38 :)
matched token #135 :

matched token #134 :        
matched token #18 :{
matched token #135 :

matched token #134 :            
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :m_dfa
matched token #12 :.
matched token #123 :first
matched token #22 :[
matched token #123 :i
matched token #39 :]
matched token #22 :[
matched token #123 :j
matched token #39 :]
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :invalid_node
matched token #38 :)
matched token #135 :

matched token #134 :                
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #123 :j
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :"->"
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #123 :m_dfa
matched token #12 :.
matched token #123 :first
matched token #22 :[
matched token #123 :i
matched token #39 :]
matched token #22 :[
matched token #123 :j
matched token #39 :]
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :" "
matched token #41 :;
matched token #135 :

matched token #134 :        
matched token #37 :}
matched token #135 :

matched token #134 :        
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :"\n"
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :"acceptance states: "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #73 :for
matched token #21 :(
matched token #105 :unsigned
matched token #134 : 
matched token #78 :int
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #2 :=
matched token #134 : 
matched token #124 :0
matched token #41 :;
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #19 :<
matched token #134 : 
matched token #123 :m_dfa
matched token #12 :.
matched token #123 :second
matched token #12 :.
matched token #123 :size
matched token #21 :(
matched token #38 :)
matched token #41 :;
matched token #134 : 
matched token #33 :++
matched token #123 :i
matched token #38 :)
matched token #135 :

matched token #134 :    
matched token #18 :{
matched token #135 :

matched token #134 :        
matched token #76 :if
matched token #134 : 
matched token #21 :(
matched token #123 :m_dfa
matched token #12 :.
matched token #123 :second
matched token #22 :[
matched token #123 :i
matched token #39 :]
matched token #134 : 
matched token #29 :!=
matched token #134 : 
matched token #123 :invalid_node
matched token #38 :)
matched token #135 :

matched token #134 :            
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #131 :'<'
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #123 :i
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #131 :','
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #123 :m_dfa
matched token #12 :.
matched token #123 :second
matched token #22 :[
matched token #123 :i
matched token #39 :]
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #132 :"> "
matched token #41 :;
matched token #135 :

matched token #134 :    
matched token #37 :}
matched token #135 :

matched token #134 :    
matched token #123 :out
matched token #134 : 
matched token #42 :<<
matched token #134 : 
matched token #123 :endl
matched token #41 :;
matched token #135 :

matched token #37 :}
matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

matched token #37 :}
matched token #134 : 
matched token #130 :// namespace spirit
matched token #135 :

matched token #135 :

matched token #137 :#
matched token #117 :endif
matched token #135 :

matched token #135 :

