|
void | prepare () |
|
bool | compress_stack_validate (int priority, std::vector< expr_stack_entry > &expression_stack, std::vector< ExpressionPart > &parenthesis_stack, std::stack< variant > &value_stack, std::stack< OperatorType > &operator_stack) |
|
bool | compress_stack_evaluate (int priority, std::vector< expr_stack_entry > &expression_stack, std::vector< ExpressionPart > &parenthesis_stack, std::stack< variant > &value_stack, std::stack< OperatorType > &operator_stack) |
|
unsigned int | get_nr_comma_separated_expressions (std::vector< expr_stack_entry > &expression_stack, std::vector< ExpressionPart > &parenthesis_stack, std::stack< variant > &value_stack) const |
|
ExpressionPart | find_last_parenthesis (std::vector< expr_stack_entry > &expression_stack, std::vector< ExpressionPart > &parenthesis_stack) const |
|
Definition at line 29 of file expression_processor.h.
◆ expr_stack_entry
typedef std::pair<unsigned int, unsigned int> cgv::ppp::expression_processor::expr_stack_entry |
|
protected |
◆ expression_processor()
cgv::ppp::expression_processor::expression_processor |
( |
| ) |
|
◆ assign_func_decl()
bool cgv::ppp::expression_processor::assign_func_decl |
( |
const std::vector< variant > & |
values | ) |
const |
◆ classify_call()
int cgv::ppp::expression_processor::classify_call |
( |
unsigned |
i | ) |
const |
◆ compress_stack_evaluate()
bool cgv::ppp::expression_processor::compress_stack_evaluate |
( |
int |
priority, |
|
|
std::vector< expr_stack_entry > & |
expression_stack, |
|
|
std::vector< ExpressionPart > & |
parenthesis_stack, |
|
|
std::stack< variant > & |
value_stack, |
|
|
std::stack< OperatorType > & |
operator_stack |
|
) |
| |
|
protected |
◆ compress_stack_validate()
bool cgv::ppp::expression_processor::compress_stack_validate |
( |
int |
priority, |
|
|
std::vector< expr_stack_entry > & |
expression_stack, |
|
|
std::vector< ExpressionPart > & |
parenthesis_stack, |
|
|
std::stack< variant > & |
value_stack, |
|
|
std::stack< OperatorType > & |
operator_stack |
|
) |
| |
|
protected |
◆ evaluate()
store for each started expression the sizes of the value and operator stacks before this expression
store for each started expression the expression part that started the expression, i.e. open parentheses or commas
stack of values that will still be processed
stack of operators that separate the not yet processed values
Definition at line 598 of file expression_processor.cxx.
References evaluate(), cgv::ppp::variant::get_element(), cgv::ppp::variant::get_element_name(), cgv::ppp::variant::get_int(), cgv::ppp::variant::get_str(), cgv::ppp::variant::is_func(), cgv::ppp::variant::is_int(), cgv::ppp::variant::is_str(), cgv::ppp::variant::ref_func(), cgv::ppp::variant::ref_value(), and cgv::utils::to_string().
Referenced by evaluate().
◆ extract_begins()
void cgv::ppp::expression_processor::extract_begins |
( |
std::vector< unsigned > & |
begins, |
|
|
unsigned |
i0 = 0 , |
|
|
unsigned |
ie = -1 |
|
) |
| const |
◆ find_last_parenthesis()
ExpressionPart cgv::ppp::expression_processor::find_last_parenthesis |
( |
std::vector< expr_stack_entry > & |
expression_stack, |
|
|
std::vector< ExpressionPart > & |
parenthesis_stack |
|
) |
| const |
|
protected |
◆ get_last_error()
const std::string & cgv::ppp::expression_processor::get_last_error |
( |
| ) |
const |
◆ get_last_error_token()
const token & cgv::ppp::expression_processor::get_last_error_token |
( |
| ) |
const |
◆ get_nr_comma_separated_expressions()
unsigned int cgv::ppp::expression_processor::get_nr_comma_separated_expressions |
( |
std::vector< expr_stack_entry > & |
expression_stack, |
|
|
std::vector< ExpressionPart > & |
parenthesis_stack, |
|
|
std::stack< variant > & |
value_stack |
|
) |
| const |
|
protected |
◆ is_func_decl()
bool cgv::ppp::expression_processor::is_func_decl |
( |
| ) |
const |
◆ parse()
bool cgv::ppp::expression_processor::parse |
( |
const token & |
input_token | ) |
|
◆ prepare()
void cgv::ppp::expression_processor::prepare |
( |
| ) |
|
|
protected |
◆ validate()
bool cgv::ppp::expression_processor::validate |
( |
bool |
allow_several_values = false | ) |
|
store for each started expression the sizes of the value and operator stacks before this expression
store for each started expression the expression part that started the expression, i.e. open parentheses or commas
stack of values that will still be processed
stack of operators that separate the not yet processed values
Definition at line 354 of file expression_processor.cxx.
Referenced by cgv::ppp::command_token::split_off_from().
◆ debug_evaluate
bool cgv::ppp::expression_processor::debug_evaluate |
|
protected |
◆ debug_parse
bool cgv::ppp::expression_processor::debug_parse |
|
protected |
◆ expression_tokens
◆ found_error
bool cgv::ppp::expression_processor::found_error |
◆ issued_error
bool cgv::ppp::expression_processor::issued_error |
◆ last_error
std::string cgv::ppp::expression_processor::last_error |
|
mutableprotected |
◆ last_error_token
token cgv::ppp::expression_processor::last_error_token |
|
mutableprotected |
The documentation for this class was generated from the following files: