GNU Octave
4.0.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
|
#include "pt-idx.h"
Protected Attributes | |
bool | for_cmd_expr |
int | num_parens |
char | postfix_index_type |
bool | print_flag |
Private Member Functions | |
tree_index_expression (int l, int c) | |
tree_index_expression (const tree_index_expression &) | |
std::string | get_struct_index (std::list< string_vector >::const_iterator p_arg_nm, std::list< tree_expression * >::const_iterator p_dyn_field) const |
octave_map | make_arg_struct (void) const |
tree_index_expression & | operator= (const tree_index_expression &) |
Private Attributes | |
std::list< string_vector > | arg_nm |
std::list< tree_argument_list * > | args |
std::list< tree_expression * > | dyn_field |
tree_expression * | expr |
std::string | type |
tree_index_expression::tree_index_expression | ( | tree_expression * | e = 0 , |
tree_argument_list * | lst = 0 , |
||
int | l = -1 , |
||
int | c = -1 , |
||
char | t = '(' |
||
) |
tree_index_expression::tree_index_expression | ( | tree_expression * | e, |
const std::string & | n, | ||
int | l = -1 , |
||
int | c = -1 |
||
) |
tree_index_expression::tree_index_expression | ( | tree_expression * | e, |
tree_expression * | df, | ||
int | l = -1 , |
||
int | c = -1 |
||
) |
tree_index_expression::~tree_index_expression | ( | void | ) |
|
private |
|
virtual |
Implements tree.
Definition at line 720 of file pt-idx.cc.
References tree_walker::visit_index_expression().
Referenced by tree_checker::visit_return_list(), and tree_print_code::visit_return_list().
void tree_index_expression::append | ( | tree_argument_list * | lst = 0 , |
char | t = '(' |
||
) |
Definition at line 77 of file pt-idx.cc.
References arg_nm, args, dyn_field, error(), tree_argument_list::get_arg_names(), tree_argument_list::has_magic_tilde(), and type.
Referenced by octave_base_parser::make_index_expression(), octave_base_parser::make_indirect_ref(), and tree_index_expression().
void tree_index_expression::append | ( | const std::string & | n | ) |
void tree_index_expression::append | ( | tree_expression * | df | ) |
|
inline |
Definition at line 74 of file pt-idx.h.
Referenced by octave_fcn_binder::maybe_binder(), jit_convert::resolve(), tree_checker::visit_index_expression(), and tree_print_code::visit_index_expression().
|
inline |
Definition at line 78 of file pt-idx.h.
Referenced by octave_fcn_binder::maybe_binder(), and tree_print_code::visit_index_expression().
|
inlinevirtualinherited |
Reimplemented in tree_colon_expression, and tree_statement.
Definition at line 47 of file pt.h.
Referenced by tree_statement::column(), tree_colon_expression::column(), tree_break_command::dup(), tree_cell::dup(), tree_funcall::dup(), tree_try_catch_command::dup(), tree_continue_command::dup(), tree_fcn_handle::dup(), tree_no_op_command::dup(), tree_constant::dup(), tree_while_command::dup(), dup(), tree_binary_expression::dup(), tree_return_command::dup(), tree_prefix_expression::dup(), tree_function_def::dup(), tree_identifier::dup(), tree_unwind_protect_command::dup(), tree_anon_fcn_handle::dup(), tree_if_command::dup(), tree_postfix_expression::dup(), tree_do_until_command::dup(), tree_boolean_expression::dup(), tree_global_command::dup(), tree_simple_for_command::dup(), tree_persistent_command::dup(), tree_switch_command::dup(), tree_complex_for_command::dup(), tree_identifier::eval_undefined_error(), octave_base_parser::finish_array_list(), octave_base_parser::finish_colon_expression(), octave_base_parser::finish_if_command(), octave_base_parser::finish_switch_command(), octave_base_parser::make_index_expression(), octave_base_parser::make_indirect_ref(), octave_base_parser::maybe_warn_assign_as_truth_value(), octave_base_parser::maybe_warn_variable_switch_label(), tree_anon_fcn_handle::rvalue1(), tree_evaluator::visit_if_command_list(), tree_evaluator::visit_simple_for_command(), and tree_evaluator::visit_switch_command().
|
inlinevirtualinherited |
Definition at line 129 of file pt-exp.h.
References tree_expression::num_parens, tree_expression::postfix_index_type, and tree_expression::print_flag.
Referenced by tree_array_list::copy_base(), tree_funcall::dup(), tree_fcn_handle::dup(), tree_simple_assignment::dup(), tree_constant::dup(), dup(), tree_colon_expression::dup(), tree_binary_expression::dup(), tree_prefix_expression::dup(), tree_identifier::dup(), tree_anon_fcn_handle::dup(), tree_multi_assignment::dup(), tree_postfix_expression::dup(), and tree_boolean_expression::dup().
|
inlinevirtualinherited |
Reimplemented in tree_statement.
Definition at line 61 of file pt.h.
Referenced by tree_statement::delete_breakpoint(), and tree_breakpoint::take_action().
|
virtual |
Implements tree_expression.
Definition at line 676 of file pt-idx.cc.
References arg_nm, args, tree::column(), tree_expression::copy_base(), tree_expression::dup(), tree_argument_list::dup(), dyn_field, expr, tree_index_expression(), and type.
Referenced by tree_return_list::dup().
|
inline |
Definition at line 72 of file pt-idx.h.
Referenced by octave_fcn_binder::maybe_binder(), jit_convert::resolve(), tree_checker::visit_index_expression(), tree_print_code::visit_index_expression(), and ctor_analyzer::visit_index_expression().
|
private |
Definition at line 205 of file pt-idx.cc.
References error(), error_state, octave_value::is_string(), panic_impossible, octave_value::rows(), tree_expression::rvalue1(), and octave_value::string_value().
Referenced by lvalue(), make_arg_struct(), and rvalue().
|
virtual |
Implements tree_expression.
Definition at line 126 of file pt-idx.cc.
References args, and tree_argument_list::has_magic_end().
|
inlinevirtualinherited |
Reimplemented in tree_multi_assignment, and tree_simple_assignment.
Definition at line 63 of file pt-exp.h.
Referenced by eval_string(), octave_base_parser::maybe_warn_assign_as_truth_value(), tree_evaluator::visit_statement(), and jit_convert::visit_statement().
|
inlinevirtualinherited |
Reimplemented in tree_binary_expression.
|
inlinevirtualinherited |
Reimplemented in tree_boolean_expression.
|
inlineinherited |
Definition at line 63 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_list(), tree_evaluator::visit_no_op_command(), tree_evaluator::visit_persistent_command(), tree_evaluator::visit_return_command(), tree_evaluator::visit_simple_for_command(), tree_evaluator::visit_statement(), tree_evaluator::visit_switch_command(), and tree_evaluator::visit_while_command().
|
inlinevirtualinherited |
|
inlinevirtualinherited |
Reimplemented in tree_constant.
Definition at line 53 of file pt-exp.h.
Referenced by tree_argument_list::all_elements_are_constant(), octave_base_parser::finish_colon_expression(), octave_fcn_binder::maybe_binder(), octave_base_parser::maybe_warn_variable_switch_label(), and octave_base_parser::validate_matrix_for_assignment().
|
inlineinherited |
Definition at line 109 of file pt-exp.h.
Referenced by tree_colon_expression::rvalue1().
|
inlinevirtualinherited |
Reimplemented in tree_identifier.
Definition at line 59 of file pt-exp.h.
Referenced by tree_argument_list::append(), compute_attribute_value(), eval_string(), tree_argument_list::is_valid_lvalue_list(), octave_base_parser::make_try_command(), octave_fcn_binder::maybe_binder(), rvalue(), tree_argument_list::variable_names(), tree_evaluator::visit_statement(), and jit_convert::visit_statement().
|
inlinevirtual |
Reimplemented from tree_expression.
Definition at line 39 of file pt-exp.cc.
References error(), error_state, octave_value::is_defined(), octave_value::is_true(), and tree_expression::rvalue1().
Referenced by tree_evaluator::visit_do_until_command(), tree_evaluator::visit_if_command_list(), and tree_evaluator::visit_while_command().
|
inlinevirtualinherited |
Reimplemented in tree_matrix.
Definition at line 55 of file pt-exp.h.
Referenced by octave_base_parser::validate_array_list(), and octave_base_parser::validate_matrix_for_assignment().
|
inlineinherited |
Definition at line 90 of file pt-exp.h.
Referenced by octave_base_parser::make_index_expression(), octave_base_parser::make_indirect_ref(), tree_funcall::rvalue(), and tree_identifier::rvalue().
|
inlinevirtualinherited |
|
inlinevirtualinherited |
Reimplemented in tree_unary_expression.
Definition at line 67 of file pt-exp.h.
Referenced by strip_not(), and strip_trans_herm().
|
inlinevirtualinherited |
Reimplemented in tree_colon_expression, and tree_statement.
Definition at line 45 of file pt.h.
Referenced by tree_breakpoint::do_decl_command(), tree_try_catch_command::dup(), tree_while_command::dup(), tree_binary_expression::dup(), tree_prefix_expression::dup(), tree_unwind_protect_command::dup(), tree_anon_fcn_handle::dup(), tree_if_command::dup(), tree_postfix_expression::dup(), tree_do_until_command::dup(), tree_boolean_expression::dup(), tree_global_command::dup(), tree_simple_for_command::dup(), tree_persistent_command::dup(), tree_switch_command::dup(), tree_complex_for_command::dup(), tree_identifier::eval_undefined_error(), octave_base_parser::finish_array_list(), octave_base_parser::finish_colon_expression(), octave_base_parser::finish_if_command(), octave_base_parser::finish_switch_command(), tree_statement::line(), tree_colon_expression::line(), octave_base_parser::make_index_expression(), octave_base_parser::make_indirect_ref(), octave_base_parser::maybe_warn_assign_as_truth_value(), octave_base_parser::maybe_warn_variable_switch_label(), 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_evaluator::visit_if_command_list(), tree_breakpoint::visit_if_command_list(), tree_breakpoint::visit_no_op_command(), tree_breakpoint::visit_return_command(), tree_checker::visit_simple_assignment(), tree_checker::visit_simple_for_command(), tree_evaluator::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(), tree_checker::visit_try_catch_command(), and tree_breakpoint::visit_while_command().
|
virtual |
Reimplemented from tree_expression.
Definition at line 475 of file pt-idx.cc.
References arg_nm, args, dyn_field, error(), error_state, expr, get_struct_index(), gripe_indexed_cs_list(), gripe_invalid_inquiry_subscript(), octave_value_list::has_magic_colon(), octave_value::is_cell(), octave_value::is_matrix_type(), octave_value::is_string(), octave_value::is_undefined(), octave_value::is_zero_by_zero(), tree_expression::lvalue(), make_value_list(), octave_lvalue::numel(), octave_value::numel(), octave_value(), panic_impossible, octave_lvalue::set_index(), octave_value::subsref(), type, and octave_lvalue::value().
|
inlinevirtual |
Reimplemented from tree_expression.
|
private |
Definition at line 234 of file pt-idx.cc.
References arg_nm, args, octave_map::assign(), dyn_field, error_state, get_struct_index(), make_subs_cell(), panic_impossible, and type.
|
inlineinherited |
Definition at line 107 of file pt-exp.h.
Referenced by octave_base_parser::make_for_command().
|
inlinevirtualinherited |
Reimplemented in tree_binary_expression.
|
inlineinherited |
|
virtual |
Reimplemented from tree_expression.
Definition at line 145 of file pt-idx.cc.
References expr, and tree_expression::name().
Referenced by tree_identifier::has_magic_end(), tree_identifier::static_workspace_error(), and tree_argument_list::variable_names().
|
inlinevirtualinherited |
Reimplemented in tree_boolean_expression, tree_multi_assignment, tree_binary_expression, tree_simple_assignment, and tree_unary_expression.
|
private |
|
virtualinherited |
Reimplemented in tree_constant.
Definition at line 85 of file pt-exp.cc.
Referenced by tree_funcall::print_raw().
|
inlineinherited |
Definition at line 88 of file pt-exp.h.
Referenced by octave_base_parser::maybe_warn_assign_as_truth_value(), tree_print_code::print_parens(), and tree_print_code::visit_index_expression().
|
inlineinherited |
Definition at line 92 of file pt-exp.h.
Referenced by tree_funcall::rvalue(), and tree_identifier::rvalue().
|
inlineinherited |
Definition at line 97 of file pt-exp.h.
Referenced by jit_convert::do_assign(), eval_string(), tree_statement::print_result(), tree_identifier::rvalue(), tree_multi_assignment::rvalue(), tree_simple_assignment::rvalue1(), tree_evaluator::visit_statement(), and jit_convert::visit_statement().
|
virtual |
Reimplemented from tree_expression.
Definition at line 282 of file pt-idx.cc.
Referenced by tree_identifier::rvalue(), and rvalue1().
|
virtual |
Reimplemented from tree_expression.
Definition at line 288 of file pt-idx.cc.
References arg_nm, args, octave_value::do_multi_index_op(), dyn_field, error_state, expr, octave_value::function_value(), get_struct_index(), gripe_indexed_cs_list(), tree_argument_list::has_magic_end(), octave_value::is_cs_list(), octave_value::is_function(), tree_expression::is_identifier(), octave_function::is_postfix_index_handled(), octave_value::is_undefined(), tree_identifier::is_variable(), octave_base_list< elt_type >::length(), octave_value_list::length(), make_value_list(), octave_value(), panic_impossible, tree_expression::rvalue1(), octave_value_list::stash_name_tags(), octave_value::subsref(), and type.
|
virtual |
Reimplemented from tree_expression.
Definition at line 462 of file pt-idx.cc.
References octave_value_list::empty(), and rvalue().
|
inlinevirtual |
Reimplemented from tree_expression.
|
inlinevirtualinherited |
Reimplemented in tree_statement.
Definition at line 59 of file pt.h.
Referenced by tree_statement::set_breakpoint(), and tree_breakpoint::take_action().
Definition at line 53 of file pt.h.
Referenced by tree_statement::set_location().
|
inlineinherited |
Definition at line 117 of file pt-exp.h.
Referenced by octave_base_parser::make_index_expression(), and octave_base_parser::make_indirect_ref().
|
inlineinherited |
Definition at line 123 of file pt-exp.h.
Referenced by eval_string(), and tree_statement::set_print_flag().
|
inherited |
Definition at line 39 of file pt.cc.
References tree::accept().
Referenced by jit_info::compile(), and tree_argument_list::get_arg_names().
|
inline |
Definition at line 76 of file pt-idx.h.
Referenced by octave_fcn_binder::maybe_binder(), jit_convert::resolve(), and tree_print_code::visit_index_expression().
|
private |
|
private |
Definition at line 104 of file pt-idx.h.
Referenced by append(), tree_identifier::do_lookup(), dup(), has_magic_end(), lvalue(), make_arg_struct(), rvalue(), and ~tree_index_expression().
|
private |
Definition at line 114 of file pt-idx.h.
Referenced by append(), dup(), lvalue(), make_arg_struct(), rvalue(), and ~tree_index_expression().
|
private |
|
protectedinherited |
Definition at line 144 of file pt-exp.h.
Referenced by tree_expression::copy_base().
|
protectedinherited |
Definition at line 149 of file pt-exp.h.
Referenced by tree_expression::copy_base().
|
protectedinherited |
Definition at line 156 of file pt-exp.h.
Referenced by tree_expression::copy_base().
|
private |