boost::lexer::basic_generator< CharT, Traits > Class Template Reference

#include <generator.hpp>

List of all members.

Public Types

typedef
detail::internals::size_t_vector 
size_t_vector
typedef basic_rules< CharT > rules

Static Public Member Functions

static void build (const rules &rules_, basic_state_machine< CharT > &state_machine_)
static void minimise (basic_state_machine< CharT > &state_machine_)

Protected Types

typedef detail::basic_charset
< CharT > 
charset
typedef detail::ptr_list< charsetcharset_list
typedef std::auto_ptr< charsetcharset_ptr
typedef detail::equivset equivset
typedef detail::ptr_list
< equivset
equivset_list
typedef std::auto_ptr< equivsetequivset_ptr
typedef charset::index_set index_set
typedef std::vector< index_setindex_set_vector
typedef detail::basic_parser
< CharT > 
parser
typedef parser::node_ptr_vector node_ptr_vector
typedef std::set< const
detail::node * > 
node_set
typedef detail::ptr_vector
< node_set
node_set_vector
typedef std::vector< const
detail::node * > 
node_vector
typedef detail::ptr_vector
< node_vector
node_vector_vector
typedef parser::string string
typedef std::pair< string, stringstring_pair
typedef
parser::tokeniser::string_token 
string_token
typedef std::deque< string_pairmacro_deque
typedef std::pair< string,
const detail::node * > 
macro_pair
typedef parser::macro_map::iterator macro_iter
typedef std::pair< macro_iter,
bool > 
macro_iter_pair
typedef
parser::tokeniser::token_map 
token_map

Static Protected Member Functions

static detail::nodebuild_tree (const rules &rules_, const std::size_t state_, node_ptr_vector &node_ptr_vector_, detail::internals &internals_, index_set_vector &set_mapping_)
static void build_macros (token_map &token_map_, const macro_deque &macrodeque_, typename parser::macro_map &macromap_, const regex_flags flags_, const std::locale &locale_, node_ptr_vector &node_ptr_vector_, bool &seen_BOL_assertion_, bool &seen_EOL_assertion_)
static void build_dfa (detail::node *root_, const index_set_vector &set_mapping_, const std::size_t dfa_alphabet_, size_t_vector &dfa_)
static std::size_t closure (typename detail::node::node_vector *followpos_, node_set_vector &seen_sets_, node_vector_vector &seen_vectors_, size_t_vector &hash_vector_, const std::size_t size_, size_t_vector &dfa_)
static void closure_ex (detail::node *node_, bool &end_state_, std::size_t &id_, std::size_t &unique_id_, std::size_t &state_, node_set *set_ptr_, node_vector *vector_ptr_, std::size_t &hash_)
static void partition_tokens (const token_map &map_, charset_list &lhs_)
static void fill_rhs_list (const token_map &map_, charset_list &list_)
static void fill_lookup (const string_token &token_, size_t_vector *lookup_, const std::size_t index_)
static void build_equiv_list (const node_vector *vector_, const index_set_vector &set_mapping_, equivset_list &lhs_)
static void fill_rhs_list (const node_vector *vector_, const index_set_vector &set_mapping_, equivset_list &list_)
static void fixup_bol (detail::node *&root_, node_ptr_vector &node_ptr_vector_)
static void minimise_dfa (const std::size_t dfa_alphabet_, size_t_vector &dfa_, std::size_t size_)

template<typename CharT, typename Traits = char_traits<CharT>>
class boost::lexer::basic_generator< CharT, Traits >


Member Typedef Documentation

template<typename CharT, typename Traits = char_traits<CharT>>
typedef detail::internals::size_t_vector boost::lexer::basic_generator< CharT, Traits >::size_t_vector

template<typename CharT, typename Traits = char_traits<CharT>>
typedef basic_rules<CharT> boost::lexer::basic_generator< CharT, Traits >::rules

template<typename CharT, typename Traits = char_traits<CharT>>
typedef detail::basic_charset<CharT> boost::lexer::basic_generator< CharT, Traits >::charset [protected]

template<typename CharT, typename Traits = char_traits<CharT>>
typedef detail::ptr_list<charset> boost::lexer::basic_generator< CharT, Traits >::charset_list [protected]

template<typename CharT, typename Traits = char_traits<CharT>>
typedef std::auto_ptr<charset> boost::lexer::basic_generator< CharT, Traits >::charset_ptr [protected]

template<typename CharT, typename Traits = char_traits<CharT>>
typedef detail::equivset boost::lexer::basic_generator< CharT, Traits >::equivset [protected]

template<typename CharT, typename Traits = char_traits<CharT>>
typedef detail::ptr_list<equivset> boost::lexer::basic_generator< CharT, Traits >::equivset_list [protected]

template<typename CharT, typename Traits = char_traits<CharT>>
typedef std::auto_ptr<equivset> boost::lexer::basic_generator< CharT, Traits >::equivset_ptr [protected]

template<typename CharT, typename Traits = char_traits<CharT>>
typedef charset::index_set boost::lexer::basic_generator< CharT, Traits >::index_set [protected]

template<typename CharT, typename Traits = char_traits<CharT>>
typedef std::vector<index_set> boost::lexer::basic_generator< CharT, Traits >::index_set_vector [protected]

template<typename CharT, typename Traits = char_traits<CharT>>
typedef detail::basic_parser<CharT> boost::lexer::basic_generator< CharT, Traits >::parser [protected]

template<typename CharT, typename Traits = char_traits<CharT>>
typedef parser::node_ptr_vector boost::lexer::basic_generator< CharT, Traits >::node_ptr_vector [protected]

template<typename CharT, typename Traits = char_traits<CharT>>
typedef std::set<const detail::node *> boost::lexer::basic_generator< CharT, Traits >::node_set [protected]

template<typename CharT, typename Traits = char_traits<CharT>>
typedef detail::ptr_vector<node_set> boost::lexer::basic_generator< CharT, Traits >::node_set_vector [protected]

template<typename CharT, typename Traits = char_traits<CharT>>
typedef std::vector<const detail::node *> boost::lexer::basic_generator< CharT, Traits >::node_vector [protected]

template<typename CharT, typename Traits = char_traits<CharT>>
typedef detail::ptr_vector<node_vector> boost::lexer::basic_generator< CharT, Traits >::node_vector_vector [protected]

template<typename CharT, typename Traits = char_traits<CharT>>
typedef parser::string boost::lexer::basic_generator< CharT, Traits >::string [protected]

template<typename CharT, typename Traits = char_traits<CharT>>
typedef std::pair<string, string> boost::lexer::basic_generator< CharT, Traits >::string_pair [protected]

template<typename CharT, typename Traits = char_traits<CharT>>
typedef parser::tokeniser::string_token boost::lexer::basic_generator< CharT, Traits >::string_token [protected]

template<typename CharT, typename Traits = char_traits<CharT>>
typedef std::deque<string_pair> boost::lexer::basic_generator< CharT, Traits >::macro_deque [protected]

template<typename CharT, typename Traits = char_traits<CharT>>
typedef std::pair<string, const detail::node *> boost::lexer::basic_generator< CharT, Traits >::macro_pair [protected]

template<typename CharT, typename Traits = char_traits<CharT>>
typedef parser::macro_map::iterator boost::lexer::basic_generator< CharT, Traits >::macro_iter [protected]

template<typename CharT, typename Traits = char_traits<CharT>>
typedef std::pair<macro_iter, bool> boost::lexer::basic_generator< CharT, Traits >::macro_iter_pair [protected]

template<typename CharT, typename Traits = char_traits<CharT>>
typedef parser::tokeniser::token_map boost::lexer::basic_generator< CharT, Traits >::token_map [protected]


Member Function Documentation

template<typename CharT, typename Traits = char_traits<CharT>>
static void boost::lexer::basic_generator< CharT, Traits >::build ( const rules rules_,
basic_state_machine< CharT > &  state_machine_ 
) [inline, static]

template<typename CharT, typename Traits = char_traits<CharT>>
static void boost::lexer::basic_generator< CharT, Traits >::minimise ( basic_state_machine< CharT > &  state_machine_  )  [inline, static]

template<typename CharT, typename Traits = char_traits<CharT>>
static detail::node* boost::lexer::basic_generator< CharT, Traits >::build_tree ( const rules rules_,
const std::size_t  state_,
node_ptr_vector node_ptr_vector_,
detail::internals internals_,
index_set_vector set_mapping_ 
) [inline, static, protected]

template<typename CharT, typename Traits = char_traits<CharT>>
static void boost::lexer::basic_generator< CharT, Traits >::build_macros ( token_map token_map_,
const macro_deque macrodeque_,
typename parser::macro_map macromap_,
const regex_flags  flags_,
const std::locale &  locale_,
node_ptr_vector node_ptr_vector_,
bool &  seen_BOL_assertion_,
bool &  seen_EOL_assertion_ 
) [inline, static, protected]

template<typename CharT, typename Traits = char_traits<CharT>>
static void boost::lexer::basic_generator< CharT, Traits >::build_dfa ( detail::node root_,
const index_set_vector set_mapping_,
const std::size_t  dfa_alphabet_,
size_t_vector dfa_ 
) [inline, static, protected]

template<typename CharT, typename Traits = char_traits<CharT>>
static std::size_t boost::lexer::basic_generator< CharT, Traits >::closure ( typename detail::node::node_vector followpos_,
node_set_vector seen_sets_,
node_vector_vector seen_vectors_,
size_t_vector hash_vector_,
const std::size_t  size_,
size_t_vector dfa_ 
) [inline, static, protected]

template<typename CharT, typename Traits = char_traits<CharT>>
static void boost::lexer::basic_generator< CharT, Traits >::closure_ex ( detail::node node_,
bool &  end_state_,
std::size_t &  id_,
std::size_t &  unique_id_,
std::size_t &  state_,
node_set set_ptr_,
node_vector vector_ptr_,
std::size_t &  hash_ 
) [inline, static, protected]

template<typename CharT, typename Traits = char_traits<CharT>>
static void boost::lexer::basic_generator< CharT, Traits >::partition_tokens ( const token_map map_,
charset_list lhs_ 
) [inline, static, protected]

template<typename CharT, typename Traits = char_traits<CharT>>
static void boost::lexer::basic_generator< CharT, Traits >::fill_rhs_list ( const token_map map_,
charset_list list_ 
) [inline, static, protected]

template<typename CharT, typename Traits = char_traits<CharT>>
static void boost::lexer::basic_generator< CharT, Traits >::fill_lookup ( const string_token token_,
size_t_vector lookup_,
const std::size_t  index_ 
) [inline, static, protected]

template<typename CharT, typename Traits = char_traits<CharT>>
static void boost::lexer::basic_generator< CharT, Traits >::build_equiv_list ( const node_vector vector_,
const index_set_vector set_mapping_,
equivset_list lhs_ 
) [inline, static, protected]

template<typename CharT, typename Traits = char_traits<CharT>>
static void boost::lexer::basic_generator< CharT, Traits >::fill_rhs_list ( const node_vector vector_,
const index_set_vector set_mapping_,
equivset_list list_ 
) [inline, static, protected]

template<typename CharT, typename Traits = char_traits<CharT>>
static void boost::lexer::basic_generator< CharT, Traits >::fixup_bol ( detail::node *&  root_,
node_ptr_vector node_ptr_vector_ 
) [inline, static, protected]

template<typename CharT, typename Traits = char_traits<CharT>>
static void boost::lexer::basic_generator< CharT, Traits >::minimise_dfa ( const std::size_t  dfa_alphabet_,
size_t_vector dfa_,
std::size_t  size_ 
) [inline, static, protected]


The documentation for this class was generated from the following file:
Generated on Fri Jul 30 03:00:10 2010 for rphp by  doxygen 1.5.4