|
Public Types |
| enum | order_labels {
order_factorial = 0,
order_pow,
order_div,
order_prod,
order_wedge,
order_minus,
order_plus,
order_dot,
order_equals,
order_unequals,
order_less_than,
order_greater_than,
order_conditions,
order_arrow,
order_set_option,
order_colon,
order_comma,
order_tilde
} |
Public Member Functions |
| | preprocessor () |
| void | erase () |
| void | strip_outer_brackets () const |
Static Public Attributes |
| static const unsigned char | orders [] |
| static const char *const | order_names [] |
Private Member Functions |
| void | parse_ (const std::string &) |
| void | parse_internal_ () |
| bool | unwind_ (unsigned int tolevel, unsigned int bracketgoal=0, bool usebracket=true) const |
| unsigned char | get_token_ (unsigned char prev_token) |
| void | show_and_throw_ (const std::string &str) const |
| void | bracket_strings_ (unsigned int cb, std::string &obrack, std::string &cbrack) const |
| bool | is_infix_operator_ (unsigned char c) const |
| bool | is_link_ (unsigned char c) const |
| unsigned int | is_opening_bracket_ (unsigned char c) const |
| unsigned int | is_closing_bracket_ (unsigned char c) const |
| unsigned int | is_bracket_ (unsigned char c) const |
| bool | is_already_bracketed_ (const std::string &str) const |
| bool | is_digits_ (const std::string &str) const |
| unsigned int | current_bracket_ (bool deep=false) const |
| void | print_stack () const |
| bool | default_is_product_ () const |
Private Attributes |
| bool | verbatim_ |
| bool | next_is_product_ |
| bool | eat_initial_whitespace_ |
| unsigned int | cur_pos |
| std::string | cur_str |
| accu_t | cur |
| std::vector< accu_t > | accus |
Static Private Attributes |
| static const unsigned char | open_brackets [] = { '{', '(', '[' } |
| static const unsigned char | close_brackets [] = { '}', ')', ']' } |
Friends |
| std::istream & | operator>> (std::istream &, preprocessor &) |
| std::ostream & | operator<< (std::ostream &, const preprocessor &) |
Classes |
| class | accu_t |
|
|
Initial value: { "\\factorial", "\\pow", "\\div", "\\prod", "\\wedge",
"\\sub", "\\sum", "\\sequence",
"\\equals", "\\unequals", "\\less",
"\\greater", "\\conditional",
"\\arrow", "\\setoption", "\\declare",
"\\comma", "\\tie", 0 }
|