#include "pt-exp.h"
Public Member Functions | |
tree_expression (int l=-1, int c=-1) | |
virtual | ~tree_expression (void) |
virtual void | accept (tree_walker &tw)=0 |
virtual int | column (void) const |
void | column (int c) |
virtual void | copy_base (const tree_expression &e) |
virtual void | delete_breakpoint (void) |
virtual tree_expression * | dup (symbol_table::scope_id, symbol_table::context_id context) const =0 |
virtual bool | has_magic_end (void) const =0 |
virtual bool | is_assignment_expression (void) const |
virtual bool | is_binary_expression (void) const |
virtual bool | is_boolean_expression (void) const |
bool | is_breakpoint (void) const |
virtual bool | is_constant (void) const |
virtual bool | is_identifier (void) const |
virtual bool | is_index_expression (void) const |
virtual bool | is_logically_true (const char *) |
virtual bool | is_matrix_constant (void) const |
bool | is_postfix_indexed (void) const |
virtual bool | is_prefix_expression (void) const |
virtual bool | is_unary_expression (void) const |
virtual int | line (void) const |
void | line (int l) |
virtual octave_lvalue | lvalue (void) |
virtual bool | lvalue_ok (void) const |
virtual void | mark_braindead_shortcircuit (const std::string &) |
tree_expression * | mark_in_parens (void) |
tree_expression * | mark_postfix_indexed (void) |
virtual std::string | name (void) const |
virtual std::string | oper (void) const |
virtual std::string | original_text (void) const |
int | paren_count (void) const |
bool | print_result (void) const |
virtual octave_value_list | rvalue (int nargout, const std::list< octave_lvalue > *lvalue_list) |
virtual octave_value_list | rvalue (int nargout) |
virtual octave_value | rvalue1 (int nargout=1) |
virtual bool | rvalue_ok (void) const |
virtual void | set_breakpoint (void) |
tree_expression * | set_print_flag (bool print) |
std::string | str_print_code (void) |
Protected Attributes | |
int | num_parens |
bool | postfix_indexed |
bool | print_flag |
Private Member Functions | |
tree_expression (const tree_expression &) | |
tree_expression & | operator= (const tree_expression &) |
Definition at line 37 of file pt-exp.h.
virtual tree_expression::~tree_expression | ( | void | ) | [inline, virtual] |
tree_expression::tree_expression | ( | const tree_expression & | ) | [private] |
virtual void tree::accept | ( | tree_walker & | tw | ) | [pure virtual, inherited] |
Implemented in tree_simple_assignment, tree_multi_assignment, tree_binary_expression, tree_no_op_command, tree_function_def, tree_colon_expression, tree_constant, tree_global_command, tree_static_command, tree_try_catch_command, tree_unwind_protect_command, tree_fcn_handle, tree_anon_fcn_handle, tree_identifier, tree_index_expression, tree_break_command, tree_continue_command, tree_return_command, tree_while_command, tree_do_until_command, tree_simple_for_command, tree_complex_for_command, tree_if_clause, tree_if_command, tree_switch_case, tree_switch_command, tree_prefix_expression, and tree_postfix_expression.
Referenced by tree_print_code::print_fcn_handle_body(), tree::str_print_code(), tree_print_code::visit_argument_list(), tree_print_code::visit_binary_expression(), tree_checker::visit_binary_expression(), tree_print_code::visit_colon_expression(), tree_checker::visit_colon_expression(), tree_print_code::visit_complex_for_command(), tree_checker::visit_complex_for_command(), tree_print_code::visit_decl_elt(), tree_checker::visit_decl_elt(), tree_print_code::visit_do_until_command(), tree_checker::visit_do_until_command(), tree_print_code::visit_if_clause(), tree_checker::visit_if_clause(), tree_print_code::visit_index_expression(), tree_checker::visit_index_expression(), tree_print_code::visit_multi_assignment(), tree_checker::visit_multi_assignment(), tree_print_code::visit_postfix_expression(), tree_checker::visit_postfix_expression(), tree_print_code::visit_prefix_expression(), tree_checker::visit_prefix_expression(), tree_print_code::visit_simple_assignment(), tree_checker::visit_simple_assignment(), tree_print_code::visit_simple_for_command(), tree_checker::visit_simple_for_command(), tree_print_code::visit_statement(), tree_evaluator::visit_statement(), tree_checker::visit_statement(), tree_breakpoint::visit_statement(), tree_print_code::visit_switch_case(), tree_checker::visit_switch_case(), tree_print_code::visit_switch_command(), tree_checker::visit_switch_command(), tree_print_code::visit_while_command(), and tree_checker::visit_while_command().
virtual int tree::column | ( | void | ) | const [inline, virtual, inherited] |
Reimplemented in tree_colon_expression.
Definition at line 47 of file pt.h.
Referenced by tree_statement::column(), tree_colon_expression::column(), tree_postfix_expression::dup(), tree_prefix_expression::dup(), tree_switch_command::dup(), tree_if_command::dup(), tree_matrix::dup(), tree_complex_for_command::dup(), tree_simple_for_command::dup(), tree_do_until_command::dup(), tree_while_command::dup(), tree_return_command::dup(), tree_continue_command::dup(), tree_break_command::dup(), tree_index_expression::dup(), tree_identifier::dup(), tree_anon_fcn_handle::dup(), tree_fcn_handle::dup(), tree_unwind_protect_command::dup(), tree_try_catch_command::dup(), tree_static_command::dup(), tree_global_command::dup(), tree_constant::dup(), tree_function_def::dup(), tree_no_op_command::dup(), tree_cell::dup(), tree_boolean_expression::dup(), tree_binary_expression::dup(), tree_identifier::eval_undefined_error(), tree_anon_fcn_handle::rvalue1(), tree_evaluator::visit_simple_for_command(), and tree_evaluator::visit_switch_command().
virtual void tree_expression::copy_base | ( | const tree_expression & | e | ) | [inline, virtual] |
Definition at line 118 of file pt-exp.h.
References num_parens, postfix_indexed, and print_flag.
Referenced by tree_postfix_expression::dup(), tree_prefix_expression::dup(), tree_matrix::dup(), tree_index_expression::dup(), tree_identifier::dup(), tree_anon_fcn_handle::dup(), tree_fcn_handle::dup(), tree_constant::dup(), tree_colon_expression::dup(), tree_cell::dup(), tree_boolean_expression::dup(), tree_binary_expression::dup(), tree_multi_assignment::dup(), and tree_simple_assignment::dup().
virtual void tree::delete_breakpoint | ( | void | ) | [inline, virtual, inherited] |
Definition at line 55 of file pt.h.
Referenced by tree_statement::delete_breakpoint(), and tree_breakpoint::take_action().
virtual tree_expression* tree_expression::dup | ( | symbol_table::scope_id | , | |
symbol_table::context_id | context | |||
) | const [pure virtual] |
Implemented in tree_simple_assignment, tree_multi_assignment, tree_binary_expression, tree_boolean_expression, tree_colon_expression, tree_constant, tree_fcn_handle, tree_anon_fcn_handle, tree_identifier, tree_index_expression, tree_prefix_expression, and tree_postfix_expression.
Referenced by tree_postfix_expression::dup(), tree_prefix_expression::dup(), tree_statement::dup(), tree_switch_command::dup(), tree_switch_case::dup(), tree_if_clause::dup(), tree_complex_for_command::dup(), tree_simple_for_command::dup(), tree_do_until_command::dup(), tree_while_command::dup(), tree_index_expression::dup(), tree_decl_elt::dup(), tree_colon_expression::dup(), tree_boolean_expression::dup(), tree_binary_expression::dup(), tree_multi_assignment::dup(), tree_simple_assignment::dup(), and tree_argument_list::dup().
virtual bool tree_expression::has_magic_end | ( | void | ) | const [pure virtual] |
Implemented in tree_simple_assignment, tree_multi_assignment, tree_binary_expression, tree_colon_expression, tree_constant, tree_fcn_handle, tree_anon_fcn_handle, tree_identifier, tree_index_expression, and tree_unary_expression.
Referenced by tree_argument_list::append(), and tree_argument_list::has_magic_end().
virtual bool tree_expression::is_assignment_expression | ( | void | ) | const [inline, virtual] |
Reimplemented in tree_simple_assignment, and tree_multi_assignment.
Definition at line 61 of file pt-exp.h.
Referenced by tree_evaluator::visit_statement().
virtual bool tree_expression::is_binary_expression | ( | void | ) | const [inline, virtual] |
Reimplemented in tree_binary_expression.
virtual bool tree_expression::is_boolean_expression | ( | void | ) | const [inline, virtual] |
Reimplemented in tree_boolean_expression.
bool tree::is_breakpoint | ( | void | ) | const [inline, inherited] |
Definition at line 57 of file pt.h.
Referenced by tree_statement::is_breakpoint(), tree_breakpoint::take_action(), tree_evaluator::visit_break_command(), tree_evaluator::visit_complex_for_command(), tree_evaluator::visit_continue_command(), tree_evaluator::visit_do_until_command(), tree_evaluator::visit_global_command(), tree_evaluator::visit_if_command(), tree_evaluator::visit_if_command_list(), tree_evaluator::visit_no_op_command(), tree_evaluator::visit_return_command(), tree_evaluator::visit_simple_for_command(), tree_evaluator::visit_statement(), tree_evaluator::visit_static_command(), tree_evaluator::visit_switch_command(), and tree_evaluator::visit_while_command().
virtual bool tree_expression::is_constant | ( | void | ) | const [inline, virtual] |
Reimplemented in tree_constant.
Definition at line 53 of file pt-exp.h.
Referenced by tree_argument_list::all_elements_are_constant(), and octave_fcn_binder::maybe_binder().
virtual bool tree_expression::is_identifier | ( | void | ) | const [inline, virtual] |
Reimplemented in tree_identifier.
Definition at line 57 of file pt-exp.h.
Referenced by tree_argument_list::append(), octave_fcn_binder::maybe_binder(), tree_index_expression::rvalue(), and tree_evaluator::visit_statement().
virtual bool tree_expression::is_index_expression | ( | void | ) | const [inline, virtual] |
Reimplemented in tree_index_expression.
Definition at line 59 of file pt-exp.h.
Referenced by octave_fcn_binder::maybe_binder().
Definition at line 39 of file pt-exp.cc.
References error(), error_state, octave_value::is_defined(), octave_value::is_true(), and rvalue1().
Referenced by tree_evaluator::visit_do_until_command(), tree_evaluator::visit_if_command_list(), and tree_evaluator::visit_while_command().
virtual bool tree_expression::is_matrix_constant | ( | void | ) | const [inline, virtual] |
bool tree_expression::is_postfix_indexed | ( | void | ) | const [inline] |
Definition at line 88 of file pt-exp.h.
Referenced by tree_identifier::rvalue().
virtual bool tree_expression::is_prefix_expression | ( | void | ) | const [inline, virtual] |
virtual bool tree_expression::is_unary_expression | ( | void | ) | const [inline, virtual] |
Reimplemented in tree_unary_expression.
Definition at line 65 of file pt-exp.h.
Referenced by strip_not(), and strip_trans_herm().
virtual int tree::line | ( | void | ) | const [inline, virtual, inherited] |
Reimplemented in tree_colon_expression.
Definition at line 45 of file pt.h.
Referenced by tree_breakpoint::do_decl_command(), tree_postfix_expression::dup(), tree_prefix_expression::dup(), tree_switch_command::dup(), tree_if_command::dup(), tree_matrix::dup(), tree_complex_for_command::dup(), tree_simple_for_command::dup(), tree_do_until_command::dup(), tree_while_command::dup(), tree_return_command::dup(), tree_continue_command::dup(), tree_break_command::dup(), tree_index_expression::dup(), tree_identifier::dup(), tree_anon_fcn_handle::dup(), tree_fcn_handle::dup(), tree_unwind_protect_command::dup(), tree_try_catch_command::dup(), tree_static_command::dup(), tree_global_command::dup(), tree_constant::dup(), tree_function_def::dup(), tree_no_op_command::dup(), tree_cell::dup(), tree_boolean_expression::dup(), tree_binary_expression::dup(), tree_identifier::eval_undefined_error(), tree_statement::line(), tree_colon_expression::line(), tree_anon_fcn_handle::rvalue1(), tree_breakpoint::take_action(), tree_checker::visit_argument_list(), tree_breakpoint::visit_break_command(), tree_checker::visit_complex_for_command(), tree_breakpoint::visit_complex_for_command(), tree_breakpoint::visit_continue_command(), tree_breakpoint::visit_do_until_command(), tree_breakpoint::visit_if_command(), tree_breakpoint::visit_if_command_list(), tree_breakpoint::visit_no_op_command(), tree_breakpoint::visit_return_command(), tree_checker::visit_simple_assignment(), tree_evaluator::visit_simple_for_command(), tree_checker::visit_simple_for_command(), tree_breakpoint::visit_simple_for_command(), tree_breakpoint::visit_switch_case_list(), tree_evaluator::visit_switch_command(), tree_breakpoint::visit_switch_command(), and tree_breakpoint::visit_while_command().
octave_lvalue tree_expression::lvalue | ( | void | ) | [virtual] |
Reimplemented in tree_identifier, tree_black_hole, and tree_index_expression.
Definition at line 78 of file pt-exp.cc.
References error().
Referenced by tree_index_expression::lvalue(), tree_argument_list::lvalue_list(), tree_postfix_expression::rvalue1(), tree_prefix_expression::rvalue1(), tree_simple_assignment::rvalue1(), tree_evaluator::visit_complex_for_command(), and tree_evaluator::visit_simple_for_command().
virtual bool tree_expression::lvalue_ok | ( | void | ) | const [inline, virtual] |
Reimplemented in tree_identifier, and tree_index_expression.
Definition at line 73 of file pt-exp.h.
Referenced by tree_checker::visit_argument_list(), tree_checker::visit_simple_assignment(), and tree_checker::visit_simple_for_command().
virtual void tree_expression::mark_braindead_shortcircuit | ( | const std::string & | ) | [inline, virtual] |
Reimplemented in tree_binary_expression.
tree_expression* tree_expression::mark_in_parens | ( | void | ) | [inline] |
tree_expression* tree_expression::mark_postfix_indexed | ( | void | ) | [inline] |
virtual std::string tree_expression::name | ( | void | ) | const [inline, virtual] |
Reimplemented in tree_fcn_handle, tree_identifier, tree_black_hole, and tree_index_expression.
Definition at line 94 of file pt-exp.h.
Referenced by tree_index_expression::name(), tree_multi_assignment::rvalue(), and tree_simple_assignment::rvalue1().
virtual std::string tree_expression::oper | ( | void | ) | const [inline, virtual] |
Reimplemented in tree_simple_assignment, tree_multi_assignment, tree_binary_expression, tree_boolean_expression, and tree_unary_expression.
tree_expression& tree_expression::operator= | ( | const tree_expression & | ) | [private] |
std::string tree_expression::original_text | ( | void | ) | const [virtual] |
Reimplemented in tree_constant.
int tree_expression::paren_count | ( | void | ) | const [inline] |
Definition at line 86 of file pt-exp.h.
Referenced by tree_print_code::print_parens(), and tree_print_code::visit_index_expression().
bool tree_expression::print_result | ( | void | ) | const [inline] |
Definition at line 90 of file pt-exp.h.
Referenced by tree_statement::print_result(), tree_identifier::rvalue(), tree_multi_assignment::rvalue(), tree_simple_assignment::rvalue1(), and tree_evaluator::visit_statement().
octave_value_list tree_expression::rvalue | ( | int | nargout, | |
const std::list< octave_lvalue > * | lvalue_list | |||
) | [virtual] |
Reimplemented in tree_index_expression.
Definition at line 72 of file pt-exp.cc.
References rvalue().
octave_value_list tree_expression::rvalue | ( | int | nargout | ) | [virtual] |
Reimplemented in tree_simple_assignment, tree_multi_assignment, tree_binary_expression, tree_boolean_expression, tree_colon_expression, tree_constant, tree_fcn_handle, tree_anon_fcn_handle, tree_identifier, tree_index_expression, tree_prefix_expression, and tree_postfix_expression.
Definition at line 65 of file pt-exp.cc.
References error().
Referenced by octave_user_function::do_multi_index_op(), rvalue(), and tree_multi_assignment::rvalue().
octave_value tree_expression::rvalue1 | ( | int | nargout = 1 |
) | [virtual] |
Reimplemented in tree_simple_assignment, tree_multi_assignment, tree_binary_expression, tree_boolean_expression, tree_compound_binary_expression, tree_colon_expression, tree_constant, tree_fcn_handle, tree_anon_fcn_handle, tree_identifier, tree_index_expression, tree_prefix_expression, and tree_postfix_expression.
Definition at line 58 of file pt-exp.cc.
References error(), and octave_value().
Referenced by tree_argument_list::convert_to_const_vector(), do_global_init(), do_static_init(), tree_decl_elt::eval(), tree_index_expression::get_struct_index(), tm_row_const::tm_row_const_rep::init(), is_logically_true(), tree_switch_case::label_matches(), octave_fcn_binder::maybe_binder(), tree_index_expression::rvalue(), tree_postfix_expression::rvalue1(), tree_prefix_expression::rvalue1(), tree_colon_expression::rvalue1(), tree_compound_binary_expression::rvalue1(), tree_boolean_expression::rvalue1(), tree_binary_expression::rvalue1(), tree_simple_assignment::rvalue1(), tree_evaluator::visit_complex_for_command(), tree_evaluator::visit_simple_for_command(), tree_evaluator::visit_statement(), and tree_evaluator::visit_switch_command().
virtual bool tree_expression::rvalue_ok | ( | void | ) | const [inline, virtual] |
virtual void tree::set_breakpoint | ( | void | ) | [inline, virtual, inherited] |
Definition at line 53 of file pt.h.
Referenced by tree_statement::set_breakpoint(), and tree_breakpoint::take_action().
tree_expression* tree_expression::set_print_flag | ( | bool | ) | [inline] |
Definition at line 112 of file pt-exp.h.
Referenced by tree_statement::set_print_flag(), and tree_evaluator::visit_statement().
std::string tree::str_print_code | ( | void | ) | [inherited] |
Definition at line 39 of file pt.cc.
References tree::accept().
Referenced by tree_argument_list::get_arg_names().
int tree_expression::num_parens [protected] |
Definition at line 133 of file pt-exp.h.
Referenced by copy_base().
bool tree_expression::postfix_indexed [protected] |
Definition at line 137 of file pt-exp.h.
Referenced by copy_base().
bool tree_expression::print_flag [protected] |
Definition at line 140 of file pt-exp.h.
Referenced by copy_base().