RayZaler 0.1
The free opto-mechanical simulation framework
|
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 token | token_t |
typedef generator | generator_t |
Public Member Functions | |
parser (const settings_t &settings=settings_t()) | |
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_store & | settings () |
parser_error::type | get_error (const std::size_t &index) const |
std::string | error () const |
std::size_t | error_count () const |
dependent_entity_collector & | dec () |
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_t & | lexer () |
const generator_t & | lexer () const |
void | store_token () |
void | restore_token () |
void | next_token () |
const token_t & | current_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) |