#include <expr.h>
Classes | |
class | op_t |
class | parser_t |
struct | token_t |
Public Types | |
enum | check_expr_kind_t { EXPR_GENERAL , EXPR_ASSERTION , EXPR_CHECK } |
typedef std::list< check_expr_pair > | check_expr_list |
typedef std::pair< expr_t, check_expr_kind_t > | check_expr_pair |
typedef intrusive_ptr< const op_t > | const_ptr_op_t |
typedef function< result_type(call_scope_t &)> | func_t |
typedef intrusive_ptr< op_t > | ptr_op_t |
typedef value_t | result_type |
Public Member Functions | |
result_type | calc () |
result_type | calc (scope_t &scope) |
virtual void | compile (scope_t &scope) |
value_t & | constant_value () |
const value_t & | constant_value () const |
virtual string | context_to_str () const |
virtual void | dump (std::ostream &out) const |
string | dump_to_str () const |
expr_t () | |
expr_t (const expr_t &other) | |
expr_t (const string &_str, const parse_flags_t &flags=PARSE_DEFAULT) | |
expr_t (ptr_op_t _ptr, scope_t *_context=NULL) | |
expr_t (std::istream &in, const parse_flags_t &flags=PARSE_DEFAULT) | |
scope_t * | get_context () |
func_t & | get_function () |
ptr_op_t | get_op () throw () |
bool | is_constant () const |
bool | is_function () const |
virtual void | mark_uncompiled () |
virtual | operator bool () const throw () |
result_type | operator() (scope_t &scope) |
expr_t & | operator= (const expr_t &_expr) |
void | parse (const string &str, const parse_flags_t &flags=PARSE_DEFAULT) |
virtual void | parse (std::istream &in, const parse_flags_t &flags=PARSE_DEFAULT, const optional< string > &original_string=none) |
result_type | preview (std::ostream &out, scope_t &scope) const |
string | preview_to_str (scope_t &) const |
virtual void | print (std::ostream &out) const |
string | print_to_str () const |
virtual value_t | real_calc (scope_t &scope) |
void | recompile (scope_t &scope) |
void | set_context (scope_t *scope) |
void | set_text (const string &txt) |
virtual string | text () const throw () |
virtual | ~expr_t () |
Protected Attributes | |
bool | compiled |
scope_t * | context |
ptr_op_t | ptr |
string | str |
typedef std::list<check_expr_pair> ledger::expr_t::check_expr_list |
typedef std::pair<expr_t, check_expr_kind_t> ledger::expr_t::check_expr_pair |
typedef intrusive_ptr<const op_t> ledger::expr_t::const_ptr_op_t |
|
inherited |
Definition at line 75 of file exprbase.h.
typedef intrusive_ptr<op_t> ledger::expr_t::ptr_op_t |
|
inherited |
Definition at line 73 of file exprbase.h.
ledger::expr_t::expr_t | ( | ) |
Referenced by expr_t(), ledger::merged_expr_t::merged_expr_t(), operator=(), ledger::predicate_t::predicate_t(), ledger::predicate_t::predicate_t(), ledger::predicate_t::predicate_t(), and ledger::predicate_t::predicate_t().
ledger::expr_t::expr_t | ( | const expr_t & | other | ) |
ledger::expr_t::expr_t | ( | const string & | _str, |
const parse_flags_t & | flags = PARSE_DEFAULT ) |
References ledger::PARSE_DEFAULT.
ledger::expr_t::expr_t | ( | std::istream & | in, |
const parse_flags_t & | flags = PARSE_DEFAULT ) |
References ledger::PARSE_DEFAULT.
|
virtual |
|
inlineinherited |
Definition at line 180 of file exprbase.h.
References assert, ledger::expr_base_t< ResultType >::calc(), and context.
|
inlineinherited |
Definition at line 155 of file exprbase.h.
References ledger::_log_stream, ledger::expr_base_t< ResultType >::compile(), compiled, DEBUG, ledger::expr_base_t< ResultType >::dump(), ledger::expr_base_t< ResultType >::real_calc(), SHOW_DEBUG, and str.
|
virtual |
Reimplemented from ledger::expr_base_t< value_t >.
Reimplemented in ledger::merged_expr_t.
value_t & ledger::expr_t::constant_value | ( | ) |
const value_t & ledger::expr_t::constant_value | ( | ) | const |
|
virtual |
Reimplemented from ledger::expr_base_t< value_t >.
|
virtual |
Reimplemented from ledger::expr_base_t< value_t >.
|
inlineinherited |
Definition at line 201 of file exprbase.h.
References ledger::expr_base_t< ResultType >::dump().
|
inlineinherited |
Definition at line 185 of file exprbase.h.
References context.
func_t & ledger::expr_t::get_function | ( | ) |
ptr_op_t ledger::expr_t::get_op | ( | ) | ||||
throw | ( | ) |
bool ledger::expr_t::is_constant | ( | ) | const |
bool ledger::expr_t::is_function | ( | ) | const |
|
inlinevirtualinherited |
Definition at line 134 of file exprbase.h.
References compiled.
|
virtual |
Reimplemented from ledger::expr_base_t< value_t >.
|
inlineinherited |
Definition at line 151 of file exprbase.h.
References ledger::expr_base_t< ResultType >::calc().
|
inline |
Definition at line 88 of file expr.h.
References parse(), ledger::PARSE_DEFAULT, and ledger::expr_base_t< value_t >::str.
Referenced by parse().
|
virtual |
Reimplemented from ledger::expr_base_t< value_t >.
References ledger::PARSE_DEFAULT.
|
inlineinherited |
Definition at line 215 of file exprbase.h.
References ledger::expr_base_t< ResultType >::calc(), ledger::expr_base_t< ResultType >::compile(), ledger::expr_base_t< ResultType >::dump(), ledger::expr_base_t< ResultType >::print(), and ledger::expr_base_t< ResultType >::text().
|
inlineinherited |
Definition at line 206 of file exprbase.h.
References ledger::expr_base_t< ResultType >::preview().
|
virtual |
Reimplemented from ledger::expr_base_t< value_t >.
|
inlineinherited |
Definition at line 196 of file exprbase.h.
References ledger::expr_base_t< ResultType >::print().
Implements ledger::expr_base_t< value_t >.
Reimplemented in ledger::predicate_t.
Referenced by ledger::predicate_t::real_calc().
|
inlineinherited |
Definition at line 138 of file exprbase.h.
References ledger::expr_base_t< ResultType >::compile(), and compiled.
|
inlineinherited |
Definition at line 188 of file exprbase.h.
References context.
|
inlineinherited |
Definition at line 118 of file exprbase.h.
|
inlinevirtualinherited |
Definition at line 115 of file exprbase.h.
References str.
|
protectedinherited |
Definition at line 80 of file exprbase.h.
Referenced by calc(), compile(), expr_base_t(), expr_base_t(), mark_uncompiled(), operator=(), recompile(), and set_text().
|
protectedinherited |
Definition at line 78 of file exprbase.h.
Referenced by calc(), compile(), expr_base_t(), expr_base_t(), get_context(), operator=(), ledger::expr_t::op_t::print(), and set_context().
|
protectedinherited |
Definition at line 79 of file exprbase.h.
Referenced by calc(), expr_base_t(), operator bool(), operator=(), ledger::expr_t::parse(), ledger::predicate_t::predicate_t(), set_text(), and text().