OpcUaCanOpen
CANopen OPC-UA server
exprtk::lexer::generator Class Reference

#include <exprtk.hpp>

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 2196 of file exprtk.hpp.

Member Typedef Documentation

◆ char_t

Definition at line 2203 of file exprtk.hpp.

◆ token_list_itr_t

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

Definition at line 2202 of file exprtk.hpp.

◆ token_list_t

Definition at line 2201 of file exprtk.hpp.

◆ token_t

Definition at line 2200 of file exprtk.hpp.

Constructor & Destructor Documentation

◆ generator()

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

Definition at line 2205 of file exprtk.hpp.

Member Function Documentation

◆ begin()

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

Definition at line 2253 of file exprtk.hpp.

◆ clear()

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

Definition at line 2213 of file exprtk.hpp.

◆ empty()

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

Definition at line 2243 of file exprtk.hpp.

◆ finished()

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

Definition at line 2305 of file exprtk.hpp.

◆ insert_front()

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

Definition at line 2310 of file exprtk.hpp.

◆ is_comment_start()

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

Definition at line 2349 of file exprtk.hpp.

◆ is_end()

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

Definition at line 2344 of file exprtk.hpp.

◆ next_token()

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

Definition at line 2269 of file exprtk.hpp.

◆ operator[]() [1/2]

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

Definition at line 2289 of file exprtk.hpp.

◆ operator[]() [2/2]

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

Definition at line 2297 of file exprtk.hpp.

◆ peek_next_token()

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

Definition at line 2279 of file exprtk.hpp.

◆ process()

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

Definition at line 2223 of file exprtk.hpp.

◆ remaining()

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

Definition at line 2332 of file exprtk.hpp.

◆ restore()

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

Definition at line 2264 of file exprtk.hpp.

◆ scan_number()

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

Definition at line 2604 of file exprtk.hpp.

◆ scan_operator()

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

Definition at line 2507 of file exprtk.hpp.

◆ scan_special_function()

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

Definition at line 2710 of file exprtk.hpp.

◆ scan_string()

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

Definition at line 2746 of file exprtk.hpp.

◆ scan_symbol()

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

Definition at line 2572 of file exprtk.hpp.

◆ scan_token()

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

Definition at line 2451 of file exprtk.hpp.

◆ size()

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

Definition at line 2248 of file exprtk.hpp.

◆ skip_comments()

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

Definition at line 2374 of file exprtk.hpp.

◆ skip_whitespace()

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

Definition at line 2366 of file exprtk.hpp.

◆ store()

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

Definition at line 2259 of file exprtk.hpp.

◆ substr()

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

Definition at line 2324 of file exprtk.hpp.

Friends And Related Function Documentation

◆ token_inserter

friend class token_inserter
friend

Definition at line 2858 of file exprtk.hpp.

◆ token_joiner

friend class token_joiner
friend

Definition at line 2859 of file exprtk.hpp.

◆ token_modifier

friend class token_modifier
friend

Definition at line 2857 of file exprtk.hpp.

◆ token_scanner

friend class token_scanner
friend

Definition at line 2856 of file exprtk.hpp.

Member Data Documentation

◆ base_itr_

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

Definition at line 2852 of file exprtk.hpp.

◆ eof_token_

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

Definition at line 2851 of file exprtk.hpp.

◆ s_end_

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

Definition at line 2854 of file exprtk.hpp.

◆ s_itr_

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

Definition at line 2853 of file exprtk.hpp.

◆ store_token_itr_

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

Definition at line 2850 of file exprtk.hpp.

◆ token_itr_

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

Definition at line 2849 of file exprtk.hpp.

◆ token_list_

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

Definition at line 2848 of file exprtk.hpp.


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