#include "pt-exp.h"
Public Member Functions | |
tree_expression () | |
virtual | ~tree_expression ()=default |
virtual void | copy_base (const tree_expression &e) |
size_t | delim_count () const |
virtual tree_expression * | dup (symbol_scope &scope) const =0 |
virtual octave_value | evaluate (tree_evaluator &tw, int nargout=1)=0 |
virtual octave_value_list | evaluate_n (tree_evaluator &tw, int nargout=1)=0 |
virtual bool | is_assignment_expression () const |
virtual bool | is_binary_expression () const |
virtual bool | is_boolean_expression () const |
virtual bool | is_colon_expression () const |
virtual bool | is_constant () const |
bool | is_for_cmd_expr () const |
virtual bool | is_identifier () const |
virtual bool | is_index_expression () const |
virtual bool | is_matrix () const |
bool | is_postfix_indexed () const |
virtual bool | is_prefix_expression () const |
virtual bool | is_unary_expression () const |
virtual bool | iscell () const |
virtual octave_lvalue | lvalue (tree_evaluator &) |
virtual bool | lvalue_ok () const |
void | mark_as_for_cmd_expr () |
tree_expression * | mark_in_delims (const token &open_delim, const token &close_delim) |
virtual std::string | name () const |
virtual std::string | oper () const |
virtual std::string | original_text () const |
char | postfix_index () const |
bool | print_result () const |
virtual bool | rvalue_ok () const |
tree_expression * | set_postfix_index (char type) |
tree_expression * | set_print_flag (bool print) |
![]() | |
tree () | |
virtual | ~tree ()=default |
virtual void | accept (tree_walker &tw)=0 |
virtual filepos | beg_pos () const =0 |
const std::string | bp_cond () const |
virtual int | column () const |
virtual void | delete_breakpoint () |
virtual filepos | end_pos () const =0 |
bool | is_active_breakpoint (tree_evaluator &tw) const |
bool | is_breakpoint () const |
virtual comment_list | leading_comments () const |
virtual int | line () const |
bool | meets_bp_condition (tree_evaluator &tw) const |
virtual void | set_breakpoint (const std::string &condition) |
std::string | str_print_code () |
Protected Attributes | |
tree_delimiter_list | m_delims |
bool | m_for_cmd_expr |
char | m_postfix_index_type |
bool | m_print_flag |
|
virtualdefault |
|
inlinevirtual |
Reimplemented in tree_array_list.
Definition at line 137 of file pt-exp.h.
References m_delims, m_postfix_index_type, and m_print_flag.
Referenced by tree_array_list::copy_base(), tree_simple_assignment::dup(), tree_binary_expression::dup(), tree_braindead_shortcircuit_binary_expression::dup(), tree_boolean_expression::dup(), tree_superclass_ref::dup(), tree_metaclass_query::dup(), tree_colon_expression::dup(), tree_constant::dup(), tree_fcn_handle::dup(), tree_anon_fcn_handle::dup(), tree_identifier::dup(), tree_index_expression::dup(), tree_prefix_expression::dup(), and tree_postfix_expression::dup().
|
inline |
Definition at line 97 of file pt-exp.h.
References tree_delimiter_list::count(), and m_delims.
Referenced by tree_print_code::visit_index_expression().
|
pure virtual |
Implemented in tree_black_hole, tree_array_list, tree_simple_assignment, tree_multi_assignment, tree_binary_expression, tree_braindead_shortcircuit_binary_expression, tree_boolean_expression, tree_cell, tree_superclass_ref, tree_metaclass_query, tree_colon_expression, tree_constant, tree_fcn_handle, tree_anon_fcn_handle, tree_identifier, tree_index_expression, tree_matrix, tree_prefix_expression, and tree_postfix_expression.
Referenced by tree_simple_assignment::dup(), tree_binary_expression::dup(), tree_braindead_shortcircuit_binary_expression::dup(), tree_boolean_expression::dup(), tree_colon_expression::dup(), tree_decl_elt::dup(), tree_anon_fcn_handle::dup(), tree_index_expression::dup(), tree_prefix_expression::dup(), tree_postfix_expression::dup(), and tree_evaluator::evaluate_anon_fcn_handle().
|
pure virtual |
Implemented in tree_binary_expression, tree_braindead_shortcircuit_binary_expression, tree_boolean_expression, tree_compound_binary_expression, tree_cell, tree_metaclass_query, tree_colon_expression, tree_constant, tree_matrix, tree_prefix_expression, tree_postfix_expression, tree_simple_assignment, tree_multi_assignment, tree_superclass_ref, tree_fcn_handle, tree_anon_fcn_handle, tree_identifier, and tree_index_expression.
Referenced by tree_evaluator::eval_decl_elt(), tree_binary_expression::evaluate(), tree_braindead_shortcircuit_binary_expression::evaluate(), tree_boolean_expression::evaluate(), tree_compound_binary_expression::evaluate(), tree_colon_expression::evaluate(), tree_prefix_expression::evaluate(), tree_postfix_expression::evaluate(), tree_simple_assignment::evaluate(), tree_index_expression::evaluate_n(), base_parser::finish_array_list(), tree_index_expression::get_struct_index(), cdef_class::make_meta_class(), tree_evaluator::switch_case_label_matches(), base_parser::validate_matrix_for_assignment(), tree_evaluator::visit_complex_for_command(), tree_evaluator::visit_decl_elt(), tree_evaluator::visit_simple_for_command(), tree_evaluator::visit_statement(), and tree_evaluator::visit_switch_command().
|
pure virtual |
Implemented in tree_simple_assignment, tree_multi_assignment, tree_binary_expression, tree_braindead_shortcircuit_binary_expression, tree_boolean_expression, tree_compound_binary_expression, tree_cell, tree_superclass_ref, tree_metaclass_query, tree_colon_expression, tree_constant, tree_fcn_handle, tree_anon_fcn_handle, tree_identifier, tree_index_expression, tree_matrix, tree_prefix_expression, and tree_postfix_expression.
Referenced by tree_evaluator::eval_string(), tree_multi_assignment::evaluate_n(), and tree_evaluator::execute_user_function().
|
inlinevirtual |
Reimplemented in tree_simple_assignment, and tree_multi_assignment.
Definition at line 72 of file pt-exp.h.
Referenced by bp_table::condition_valid(), tree_evaluator::eval_string(), and tree_evaluator::visit_statement().
|
inlinevirtual |
Reimplemented in tree_binary_expression.
Definition at line 78 of file pt-exp.h.
Referenced by base_parser::maybe_convert_to_braindead_shortcircuit().
|
inlinevirtual |
Reimplemented in tree_boolean_expression.
|
inlinevirtual |
Reimplemented in tree_colon_expression.
|
inlinevirtual |
Reimplemented in tree_constant.
Definition at line 62 of file pt-exp.h.
Referenced by base_parser::make_colon_expression(), and base_parser::validate_matrix_for_assignment().
|
inline |
Definition at line 117 of file pt-exp.h.
References m_for_cmd_expr.
Referenced by tree_colon_expression::evaluate().
|
inlinevirtual |
Reimplemented in tree_identifier.
Definition at line 68 of file pt-exp.h.
Referenced by tree_evaluator::eval_string(), tree_index_expression::evaluate_n(), tree_evaluator::is_defined(), tree_evaluator::is_variable(), base_parser::make_assign_op(), base_parser::make_try_command(), tree_argument_list::push_back(), and tree_evaluator::visit_statement().
|
inlinevirtual |
Reimplemented in tree_index_expression.
Definition at line 70 of file pt-exp.h.
Referenced by base_parser::make_assign_op(), base_parser::make_index_expression(), base_parser::make_indirect_ref(), and base_parser::make_indirect_ref().
|
inlinevirtual |
Reimplemented in tree_matrix.
Definition at line 64 of file pt-exp.h.
Referenced by base_parser::validate_array_list(), and base_parser::validate_matrix_for_assignment().
|
inline |
Definition at line 99 of file pt-exp.h.
References m_postfix_index_type.
Referenced by tree_superclass_ref::evaluate_n(), tree_identifier::evaluate_n(), base_parser::make_index_expression(), base_parser::make_indirect_ref(), and base_parser::make_indirect_ref().
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in tree_unary_expression.
|
inlinevirtual |
|
virtual |
Reimplemented in tree_identifier, tree_black_hole, and tree_index_expression.
Definition at line 43 of file pt-exp.cc.
References error().
Referenced by tree_prefix_expression::evaluate(), tree_postfix_expression::evaluate(), tree_simple_assignment::evaluate(), tree_index_expression::lvalue(), tree_evaluator::visit_complex_for_command(), and tree_evaluator::visit_simple_for_command().
|
inlinevirtual |
Reimplemented in tree_identifier, and tree_index_expression.
Definition at line 84 of file pt-exp.h.
Referenced by tree_index_expression::lvalue_ok(), tree_checker::visit_argument_list(), tree_checker::visit_simple_assignment(), and tree_checker::visit_simple_for_command().
|
inline |
Definition at line 115 of file pt-exp.h.
References m_for_cmd_expr.
Referenced by base_parser::make_for_command().
|
inline |
Definition at line 119 of file pt-exp.h.
References m_delims, and tree_delimiter_list::push().
Referenced by tree_index_expression::append(), and base_parser::finish_array_list().
|
inlinevirtual |
Reimplemented in tree_fcn_handle, tree_identifier, tree_black_hole, and tree_index_expression.
Definition at line 111 of file pt-exp.h.
Referenced by tree_simple_assignment::evaluate(), tree_multi_assignment::evaluate_n(), tree_evaluator::final_index_error(), base_parser::make_assign_op(), base_parser::make_for_command(), and tree_index_expression::name().
|
inlinevirtual |
Reimplemented in tree_simple_assignment, tree_multi_assignment, tree_binary_expression, tree_boolean_expression, and tree_unary_expression.
|
virtual |
Reimplemented in tree_constant.
|
inline |
Definition at line 102 of file pt-exp.h.
References m_postfix_index_type.
Referenced by tree_identifier::evaluate_n().
|
inline |
Definition at line 107 of file pt-exp.h.
References m_print_flag.
Referenced by tree_evaluator::eval_string(), tree_simple_assignment::evaluate(), tree_multi_assignment::evaluate_n(), tree_identifier::evaluate_n(), tree_statement::print_result(), and tree_evaluator::visit_statement().
|
inlinevirtual |
Reimplemented in tree_simple_assignment, tree_multi_assignment, tree_binary_expression, tree_boolean_expression, tree_compound_binary_expression, tree_cell, tree_colon_expression, tree_constant, tree_fcn_handle, tree_anon_fcn_handle, tree_index_expression, tree_matrix, tree_prefix_expression, and tree_postfix_expression.
|
inline |
Definition at line 125 of file pt-exp.h.
References m_postfix_index_type.
Referenced by base_parser::make_index_expression(), base_parser::make_indirect_ref(), and base_parser::make_indirect_ref().
|
inline |
Definition at line 131 of file pt-exp.h.
References m_print_flag.
Referenced by tree_evaluator::eval_string(), base_parser::make_anon_fcn_handle(), and tree_statement::set_print_flag().
|
protected |
Definition at line 164 of file pt-exp.h.
Referenced by tree_array_list::beg_pos(), copy_base(), delim_count(), tree_array_list::end_pos(), and mark_in_delims().
|
protected |
Definition at line 158 of file pt-exp.h.
Referenced by is_for_cmd_expr(), and mark_as_for_cmd_expr().
|
protected |
Definition at line 154 of file pt-exp.h.
Referenced by copy_base(), is_postfix_indexed(), postfix_index(), and set_postfix_index().
|
protected |
Definition at line 161 of file pt-exp.h.
Referenced by copy_base(), print_result(), and set_print_flag().