Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::spirit::lex::lexertl::lexer< Token, Iterator, Functor > Class Template Reference

#include <lexer.hpp>

Inheritance diagram for boost::spirit::lex::lexertl::lexer< Token, Iterator, Functor >:

Public Types

typedef
boost::detail::iterator_traits
< Iterator >::value_type 
char_type
 
typedef std::basic_string
< char_type
string_type
 
typedef
boost::lexer::basic_rules
< char_type
basic_rules_type
 
typedef Token token_type
 
typedef Token::id_type id_type
 
typedef iterator< Functor > iterator_type
 

Public Member Functions

 operator safe_bool () const
 
iterator_type begin (Iterator &first, Iterator const &last, char_type const *initial_state=0) const
 
iterator_type end () const
 
std::size_t add_token (char_type const *state, char_type tokendef, std::size_t token_id, char_type const *targetstate)
 
std::size_t add_token (char_type const *state, string_type const &tokendef, std::size_t token_id, char_type const *targetstate)
 
void add_pattern (char_type const *state, string_type const &name, string_type const &patterndef)
 
boost::lexer::rules const & get_rules () const
 
void clear (char_type const *state)
 
std::size_t add_state (char_type const *state)
 
string_type initial_state () const
 
string_type all_states () const
 
template<typename F >
void add_action (std::size_t unique_id, std::size_t state, F act)
 
bool init_dfa (bool minimize=false) const
 

Protected Member Functions

 lexer (unsigned int flags)
 

Friends

template<typename Lexer , typename F >
bool generate_static (Lexer const &, std::basic_ostream< typename Lexer::char_type > &, typename Lexer::char_type const *, F)
 

Member Typedef Documentation

template<typename Token = token<>, typename Iterator = typename Token::iterator_type, typename Functor = functor<Token, lexertl::detail::data, Iterator>>
typedef boost::lexer::basic_rules<char_type> boost::spirit::lex::lexertl::lexer< Token, Iterator, Functor >::basic_rules_type
template<typename Token = token<>, typename Iterator = typename Token::iterator_type, typename Functor = functor<Token, lexertl::detail::data, Iterator>>
typedef boost::detail::iterator_traits<Iterator>::value_type boost::spirit::lex::lexertl::lexer< Token, Iterator, Functor >::char_type
template<typename Token = token<>, typename Iterator = typename Token::iterator_type, typename Functor = functor<Token, lexertl::detail::data, Iterator>>
typedef Token::id_type boost::spirit::lex::lexertl::lexer< Token, Iterator, Functor >::id_type
template<typename Token = token<>, typename Iterator = typename Token::iterator_type, typename Functor = functor<Token, lexertl::detail::data, Iterator>>
typedef iterator<Functor> boost::spirit::lex::lexertl::lexer< Token, Iterator, Functor >::iterator_type
template<typename Token = token<>, typename Iterator = typename Token::iterator_type, typename Functor = functor<Token, lexertl::detail::data, Iterator>>
typedef std::basic_string<char_type> boost::spirit::lex::lexertl::lexer< Token, Iterator, Functor >::string_type
template<typename Token = token<>, typename Iterator = typename Token::iterator_type, typename Functor = functor<Token, lexertl::detail::data, Iterator>>
typedef Token boost::spirit::lex::lexertl::lexer< Token, Iterator, Functor >::token_type

Constructor & Destructor Documentation

template<typename Token = token<>, typename Iterator = typename Token::iterator_type, typename Functor = functor<Token, lexertl::detail::data, Iterator>>
boost::spirit::lex::lexertl::lexer< Token, Iterator, Functor >::lexer ( unsigned int  flags)
inlineprotected

Member Function Documentation

template<typename Token = token<>, typename Iterator = typename Token::iterator_type, typename Functor = functor<Token, lexertl::detail::data, Iterator>>
template<typename F >
void boost::spirit::lex::lexertl::lexer< Token, Iterator, Functor >::add_action ( std::size_t  unique_id,
std::size_t  state,
act 
)
inline
template<typename Token = token<>, typename Iterator = typename Token::iterator_type, typename Functor = functor<Token, lexertl::detail::data, Iterator>>
void boost::spirit::lex::lexertl::lexer< Token, Iterator, Functor >::add_pattern ( char_type const *  state,
string_type const &  name,
string_type const &  patterndef 
)
inline
template<typename Token = token<>, typename Iterator = typename Token::iterator_type, typename Functor = functor<Token, lexertl::detail::data, Iterator>>
std::size_t boost::spirit::lex::lexertl::lexer< Token, Iterator, Functor >::add_state ( char_type const *  state)
inline
template<typename Token = token<>, typename Iterator = typename Token::iterator_type, typename Functor = functor<Token, lexertl::detail::data, Iterator>>
std::size_t boost::spirit::lex::lexertl::lexer< Token, Iterator, Functor >::add_token ( char_type const *  state,
char_type  tokendef,
std::size_t  token_id,
char_type const *  targetstate 
)
inline
template<typename Token = token<>, typename Iterator = typename Token::iterator_type, typename Functor = functor<Token, lexertl::detail::data, Iterator>>
std::size_t boost::spirit::lex::lexertl::lexer< Token, Iterator, Functor >::add_token ( char_type const *  state,
string_type const &  tokendef,
std::size_t  token_id,
char_type const *  targetstate 
)
inline
template<typename Token = token<>, typename Iterator = typename Token::iterator_type, typename Functor = functor<Token, lexertl::detail::data, Iterator>>
string_type boost::spirit::lex::lexertl::lexer< Token, Iterator, Functor >::all_states ( ) const
inline
template<typename Token = token<>, typename Iterator = typename Token::iterator_type, typename Functor = functor<Token, lexertl::detail::data, Iterator>>
iterator_type boost::spirit::lex::lexertl::lexer< Token, Iterator, Functor >::begin ( Iterator &  first,
Iterator const &  last,
char_type const *  initial_state = 0 
) const
inline
template<typename Token = token<>, typename Iterator = typename Token::iterator_type, typename Functor = functor<Token, lexertl::detail::data, Iterator>>
void boost::spirit::lex::lexertl::lexer< Token, Iterator, Functor >::clear ( char_type const *  state)
inline

References boost::asio::s.

template<typename Token = token<>, typename Iterator = typename Token::iterator_type, typename Functor = functor<Token, lexertl::detail::data, Iterator>>
iterator_type boost::spirit::lex::lexertl::lexer< Token, Iterator, Functor >::end ( void  ) const
inline
template<typename Token = token<>, typename Iterator = typename Token::iterator_type, typename Functor = functor<Token, lexertl::detail::data, Iterator>>
boost::lexer::rules const& boost::spirit::lex::lexertl::lexer< Token, Iterator, Functor >::get_rules ( ) const
inline
template<typename Token = token<>, typename Iterator = typename Token::iterator_type, typename Functor = functor<Token, lexertl::detail::data, Iterator>>
bool boost::spirit::lex::lexertl::lexer< Token, Iterator, Functor >::init_dfa ( bool  minimize = false) const
inline
template<typename Token = token<>, typename Iterator = typename Token::iterator_type, typename Functor = functor<Token, lexertl::detail::data, Iterator>>
string_type boost::spirit::lex::lexertl::lexer< Token, Iterator, Functor >::initial_state ( ) const
inline
template<typename Token = token<>, typename Iterator = typename Token::iterator_type, typename Functor = functor<Token, lexertl::detail::data, Iterator>>
boost::spirit::lex::lexertl::lexer< Token, Iterator, Functor >::operator safe_bool ( ) const
inline

Friends And Related Function Documentation

template<typename Token = token<>, typename Iterator = typename Token::iterator_type, typename Functor = functor<Token, lexertl::detail::data, Iterator>>
template<typename Lexer , typename F >
bool generate_static ( Lexer const &  ,
std::basic_ostream< typename Lexer::char_type > &  ,
typename Lexer::char_type const *  ,
 
)
friend

The documentation for this class was generated from the following file: