exprtk::parser< T > Class Template Reference

#include <exprtk.hpp>

Inheritance diagram for exprtk::parser< T >:
Inheritance graph

Classes

class  dependent_entity_collector
 
class  settings_store
 
struct  unknown_symbol_resolver
 

Public Types

enum  collect_type { e_ct_none = 0 , e_ct_variables = 1 , e_ct_functions = 2 , e_ct_assignments = 4 }
 
enum  symbol_type {
  e_st_unknown = 0 , e_st_variable = 1 , e_st_vector = 2 , e_st_vecelem = 3 ,
  e_st_string = 4 , e_st_function = 5 , e_st_local_variable = 6 , e_st_local_vector = 7 ,
  e_st_local_string = 8
}
 
typedef settings_store settings_t
 
enum  token_advance_mode { e_hold = 0 , e_advance = 1 }
 
typedef generator generator_t
 

Public Member Functions

 parser (const settings_t &settings=settings_t())
 
 ~parser ()
 
void init_precompilation ()
 
bool compile (const std::string &expression_string, expression< T > &expr)
 
expression_t compile (const std::string &expression_string, symbol_table_t &symtab)
 
void process_lexer_errors ()
 
bool run_assemblies ()
 
settings_storesettings ()
 
parser_error::type get_error (const std::size_t &index) const
 
std::string error () const
 
std::size_t error_count () const
 
dependent_entity_collectordec ()
 
bool replace_symbol (const std::string &old_symbol, const std::string &new_symbol)
 
bool remove_replace_symbol (const std::string &symbol)
 
void enable_unknown_symbol_resolver (unknown_symbol_resolver *usr=reinterpret_cast< unknown_symbol_resolver * >(0))
 
void enable_unknown_symbol_resolver (unknown_symbol_resolver &usr)
 
void disable_unknown_symbol_resolver ()
 
void register_loop_runtime_check (loop_runtime_check &lrtchk)
 
void clear_loop_runtime_check ()
 
bool init (const std::string &str)
 
generator_tlexer ()
 
const generator_tlexer () const
 
void store_token ()
 
void restore_token ()
 
void next_token ()
 
const token_tcurrent_token () const
 
void advance_token (const token_advance_mode mode)
 
bool token_is (const token_t::token_type &ttype, const token_advance_mode mode=e_advance)
 
bool token_is (const token_t::token_type &ttype, const std::string &value, const token_advance_mode mode=e_advance)
 
bool peek_token_is (const token_t::token_type &ttype)
 
bool peek_token_is (const std::string &s)
 

Friends

template<typename ParserType >
void details::disable_type_checking (ParserType &p)
 

Member Typedef Documentation

◆ generator_t

typedef generator exprtk::lexer::parser_helper::generator_t
inherited

◆ settings_t

template<typename T >
typedef settings_store exprtk::parser< T >::settings_t

Member Enumeration Documentation

◆ collect_type

template<typename T >
enum exprtk::parser::collect_type
Enumerator
e_ct_none 
e_ct_variables 
e_ct_functions 
e_ct_assignments 

◆ symbol_type

template<typename T >
enum exprtk::parser::symbol_type
Enumerator
e_st_unknown 
e_st_variable 
e_st_vector 
e_st_vecelem 
e_st_string 
e_st_function 
e_st_local_variable 
e_st_local_vector 
e_st_local_string 

◆ token_advance_mode

Enumerator
e_hold 
e_advance 

Constructor & Destructor Documentation

◆ parser()

template<typename T >
exprtk::parser< T >::parser ( const settings_t settings = settings_t())
inline

◆ ~parser()

template<typename T >
exprtk::parser< T >::~parser ( )
inline

Member Function Documentation

◆ advance_token()

void exprtk::lexer::parser_helper::advance_token ( const token_advance_mode  mode)
inlineinherited

◆ clear_loop_runtime_check()

template<typename T >
void exprtk::parser< T >::clear_loop_runtime_check ( )
inline

◆ compile() [1/2]

◆ compile() [2/2]

template<typename T >
expression_t exprtk::parser< T >::compile ( const std::string expression_string,
symbol_table_t symtab 
)
inline

◆ current_token()

const token_t & exprtk::lexer::parser_helper::current_token ( ) const
inlineinherited

◆ dec()

◆ disable_unknown_symbol_resolver()

template<typename T >
void exprtk::parser< T >::disable_unknown_symbol_resolver ( )
inline

◆ enable_unknown_symbol_resolver() [1/2]

template<typename T >
void exprtk::parser< T >::enable_unknown_symbol_resolver ( unknown_symbol_resolver usr)
inline

◆ enable_unknown_symbol_resolver() [2/2]

template<typename T >
void exprtk::parser< T >::enable_unknown_symbol_resolver ( unknown_symbol_resolver usr = reinterpret_cast<unknown_symbol_resolver*>(0))
inline

◆ error()

template<typename T >
std::string exprtk::parser< T >::error ( ) const
inline

References string.

◆ error_count()

template<typename T >
std::size_t exprtk::parser< T >::error_count ( ) const
inline

◆ get_error()

template<typename T >
parser_error::type exprtk::parser< T >::get_error ( const std::size_t &  index) const
inline

References index.

◆ init()

bool exprtk::lexer::parser_helper::init ( const std::string str)
inlineinherited

◆ init_precompilation()

template<typename T >
void exprtk::parser< T >::init_precompilation ( )
inline

◆ lexer() [1/2]

generator_t & exprtk::lexer::parser_helper::lexer ( )
inlineinherited

◆ lexer() [2/2]

const generator_t & exprtk::lexer::parser_helper::lexer ( ) const
inlineinherited

◆ next_token()

void exprtk::lexer::parser_helper::next_token ( )
inlineinherited

◆ peek_token_is() [1/2]

bool exprtk::lexer::parser_helper::peek_token_is ( const std::string s)
inlineinherited

◆ peek_token_is() [2/2]

bool exprtk::lexer::parser_helper::peek_token_is ( const token_t::token_type ttype)
inlineinherited

◆ process_lexer_errors()

◆ register_loop_runtime_check()

template<typename T >
void exprtk::parser< T >::register_loop_runtime_check ( loop_runtime_check lrtchk)
inline

◆ remove_replace_symbol()

template<typename T >
bool exprtk::parser< T >::remove_replace_symbol ( const std::string symbol)
inline

◆ replace_symbol()

template<typename T >
bool exprtk::parser< T >::replace_symbol ( const std::string old_symbol,
const std::string new_symbol 
)
inline

◆ restore_token()

void exprtk::lexer::parser_helper::restore_token ( )
inlineinherited

◆ run_assemblies()

◆ settings()

template<typename T >
settings_store & exprtk::parser< T >::settings ( )
inline

◆ store_token()

void exprtk::lexer::parser_helper::store_token ( )
inlineinherited

◆ token_is() [1/2]

bool exprtk::lexer::parser_helper::token_is ( const token_t::token_type ttype,
const std::string value,
const token_advance_mode  mode = e_advance 
)
inlineinherited

◆ token_is() [2/2]

bool exprtk::lexer::parser_helper::token_is ( const token_t::token_type ttype,
const token_advance_mode  mode = e_advance 
)
inlineinherited

Friends And Related Function Documentation

◆ details::disable_type_checking

template<typename T >
template<typename ParserType >
void details::disable_type_checking ( ParserType &  p)
friend

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