PulseView  unreleased development snapshot
A Qt-based sigrok GUI
exprtk::lexer::generator Class Reference

#include <exprtk.hpp>

Collaboration diagram for exprtk::lexer::generator:

Public Types

typedef token token_t
 
typedef std::vector< token_ttoken_list_t
 
typedef std::vector< token_t >::iterator token_list_itr_t
 
typedef details::char_t char_t
 

Public Member Functions

 generator ()
 
void clear ()
 
bool process (const std::string &str)
 
bool empty () const
 
std::size_t size () const
 
void begin ()
 
void store ()
 
void restore ()
 
token_tnext_token ()
 
token_tpeek_next_token ()
 
token_toperator[] (const std::size_t &index)
 
token_t operator[] (const std::size_t &index) const
 
bool finished () const
 
void insert_front (token_t::token_type tk_type)
 
std::string substr (const std::size_t &begin, const std::size_t &end)
 
std::string remaining () const
 

Private Member Functions

bool is_end (details::char_cptr itr)
 
bool is_comment_start (details::char_cptr itr)
 
void skip_whitespace ()
 
void skip_comments ()
 
void scan_token ()
 
void scan_operator ()
 
void scan_symbol ()
 
void scan_number ()
 
void scan_special_function ()
 
void scan_string ()
 

Private Attributes

token_list_t token_list_
 
token_list_itr_t token_itr_
 
token_list_itr_t store_token_itr_
 
token_t eof_token_
 
details::char_cptr base_itr_
 
details::char_cptr s_itr_
 
details::char_cptr s_end_
 

Friends

class token_scanner
 
class token_modifier
 
class token_inserter
 
class token_joiner
 

Detailed Description

Definition at line 2198 of file exprtk.hpp.

Member Typedef Documentation

Definition at line 2205 of file exprtk.hpp.

typedef std::vector<token_t>::iterator exprtk::lexer::generator::token_list_itr_t

Definition at line 2204 of file exprtk.hpp.

Definition at line 2203 of file exprtk.hpp.

Definition at line 2202 of file exprtk.hpp.

Constructor & Destructor Documentation

exprtk::lexer::generator::generator ( )
inline

Definition at line 2207 of file exprtk.hpp.

Member Function Documentation

void exprtk::lexer::generator::begin ( )
inline

Definition at line 2255 of file exprtk.hpp.

void exprtk::lexer::generator::clear ( )
inline

Definition at line 2215 of file exprtk.hpp.

bool exprtk::lexer::generator::empty ( ) const
inline

Definition at line 2245 of file exprtk.hpp.

bool exprtk::lexer::generator::finished ( ) const
inline

Definition at line 2307 of file exprtk.hpp.

void exprtk::lexer::generator::insert_front ( token_t::token_type  tk_type)
inline

Definition at line 2312 of file exprtk.hpp.

Here is the call graph for this function:

bool exprtk::lexer::generator::is_comment_start ( details::char_cptr  itr)
inlineprivate

Definition at line 2351 of file exprtk.hpp.

bool exprtk::lexer::generator::is_end ( details::char_cptr  itr)
inlineprivate

Definition at line 2346 of file exprtk.hpp.

token_t& exprtk::lexer::generator::next_token ( )
inline

Definition at line 2271 of file exprtk.hpp.

token_t& exprtk::lexer::generator::operator[] ( const std::size_t &  index)
inline

Definition at line 2291 of file exprtk.hpp.

token_t exprtk::lexer::generator::operator[] ( const std::size_t &  index) const
inline

Definition at line 2299 of file exprtk.hpp.

token_t& exprtk::lexer::generator::peek_next_token ( )
inline

Definition at line 2281 of file exprtk.hpp.

bool exprtk::lexer::generator::process ( const std::string &  str)
inline

Definition at line 2225 of file exprtk.hpp.

std::string exprtk::lexer::generator::remaining ( ) const
inline

Definition at line 2334 of file exprtk.hpp.

void exprtk::lexer::generator::restore ( )
inline

Definition at line 2266 of file exprtk.hpp.

void exprtk::lexer::generator::scan_number ( )
inlineprivate

Definition at line 2606 of file exprtk.hpp.

Here is the call graph for this function:

void exprtk::lexer::generator::scan_operator ( )
inlineprivate

Definition at line 2509 of file exprtk.hpp.

Here is the call graph for this function:

void exprtk::lexer::generator::scan_special_function ( )
inlineprivate

Definition at line 2712 of file exprtk.hpp.

Here is the call graph for this function:

void exprtk::lexer::generator::scan_string ( )
inlineprivate

Definition at line 2748 of file exprtk.hpp.

Here is the call graph for this function:

void exprtk::lexer::generator::scan_symbol ( )
inlineprivate

Definition at line 2574 of file exprtk.hpp.

Here is the call graph for this function:

void exprtk::lexer::generator::scan_token ( )
inlineprivate

Definition at line 2453 of file exprtk.hpp.

Here is the call graph for this function:

std::size_t exprtk::lexer::generator::size ( ) const
inline

Definition at line 2250 of file exprtk.hpp.

Here is the caller graph for this function:

void exprtk::lexer::generator::skip_comments ( )
inlineprivate

Definition at line 2376 of file exprtk.hpp.

Here is the call graph for this function:

void exprtk::lexer::generator::skip_whitespace ( )
inlineprivate

Definition at line 2368 of file exprtk.hpp.

Here is the call graph for this function:

void exprtk::lexer::generator::store ( )
inline

Definition at line 2261 of file exprtk.hpp.

std::string exprtk::lexer::generator::substr ( const std::size_t &  begin,
const std::size_t &  end 
)
inline

Definition at line 2326 of file exprtk.hpp.

Friends And Related Function Documentation

friend class token_inserter
friend

Definition at line 2860 of file exprtk.hpp.

friend class token_joiner
friend

Definition at line 2861 of file exprtk.hpp.

friend class token_modifier
friend

Definition at line 2859 of file exprtk.hpp.

friend class token_scanner
friend

Definition at line 2858 of file exprtk.hpp.

Member Data Documentation

details::char_cptr exprtk::lexer::generator::base_itr_
private

Definition at line 2854 of file exprtk.hpp.

token_t exprtk::lexer::generator::eof_token_
private

Definition at line 2853 of file exprtk.hpp.

details::char_cptr exprtk::lexer::generator::s_end_
private

Definition at line 2856 of file exprtk.hpp.

details::char_cptr exprtk::lexer::generator::s_itr_
private

Definition at line 2855 of file exprtk.hpp.

token_list_itr_t exprtk::lexer::generator::store_token_itr_
private

Definition at line 2852 of file exprtk.hpp.

token_list_itr_t exprtk::lexer::generator::token_itr_
private

Definition at line 2851 of file exprtk.hpp.

token_list_t exprtk::lexer::generator::token_list_
private

Definition at line 2850 of file exprtk.hpp.


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