#include "pt-idx.h"
Public Member Functions | |
tree_index_expression (tree_expression *e, const token &dot_tok, const token &open_paren, tree_expression *df, const token &close_paren) | |
tree_index_expression (tree_expression *e, const token &dot_tok, const token &struct_elt_tok) | |
tree_index_expression (tree_expression *e, const token &open_delim, tree_argument_list *lst, const token &close_delim, char t) | |
~tree_index_expression () | |
void | accept (tree_walker &tw) |
tree_index_expression * | append (const token &dot_tok, const token &open_paren, tree_expression *df, const token &close_paren) |
tree_index_expression * | append (const token &dot_tok, const token &struct_elt_tok) |
tree_index_expression * | append (const token &open_delim, tree_argument_list *lst, const token &close_delim, char t='(') |
std::list< tree_argument_list * > | arg_lists () |
std::list< string_vector > | arg_names () |
filepos | beg_pos () const |
tree_index_expression * | dup (symbol_scope &scope) const |
std::list< tree_expression * > | dyn_fields () |
filepos | end_pos () const |
octave_value | evaluate (tree_evaluator &tw, int nargout=1) |
octave_value_list | evaluate_n (tree_evaluator &tw, int nargout=1) |
tree_expression * | expression () |
std::string | get_struct_index (tree_evaluator &tw, std::list< string_vector >::const_iterator p_arg_nm, std::list< tree_expression * >::const_iterator p_dyn_field) const |
bool | is_index_expression () const |
bool | is_word_list_cmd () const |
comment_list | leading_comments () const |
octave_lvalue | lvalue (tree_evaluator &tw) |
bool | lvalue_ok () const |
void | mark_word_list_cmd () |
std::string | name () const |
bool | rvalue_ok () const |
std::string | type_tags () |
![]() | |
tree_expression () | |
virtual | ~tree_expression ()=default |
virtual void | copy_base (const tree_expression &e) |
size_t | delim_count () const |
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_matrix () const |
bool | is_postfix_indexed () const |
virtual bool | is_prefix_expression () const |
virtual bool | is_unary_expression () const |
virtual bool | iscell () const |
void | mark_as_for_cmd_expr () |
tree_expression * | mark_in_delims (const token &open_delim, const token &close_delim) |
virtual std::string | oper () const |
virtual std::string | original_text () const |
char | postfix_index () const |
bool | print_result () const |
tree_expression * | set_postfix_index (char type) |
tree_expression * | set_print_flag (bool print) |
![]() | |
tree () | |
virtual | ~tree ()=default |
const std::string | bp_cond () const |
virtual int | column () const |
virtual void | delete_breakpoint () |
bool | is_active_breakpoint (tree_evaluator &tw) const |
bool | is_breakpoint () 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 () |
Additional Inherited Members | |
![]() | |
tree_delimiter_list | m_delims |
bool | m_for_cmd_expr |
char | m_postfix_index_type |
bool | m_print_flag |
tree_index_expression::tree_index_expression | ( | tree_expression * | e, |
const token & | open_delim, | ||
tree_argument_list * | lst, | ||
const token & | close_delim, | ||
char | t | ||
) |
Definition at line 49 of file pt-idx.cc.
Referenced by tree_index_expression(), and tree_index_expression().
tree_index_expression::tree_index_expression | ( | tree_expression * | e, |
const token & | dot_tok, | ||
const token & | struct_elt_tok | ||
) |
Definition at line 55 of file pt-idx.cc.
References tree_index_expression(), and append().
tree_index_expression::tree_index_expression | ( | tree_expression * | e, |
const token & | dot_tok, | ||
const token & | open_paren, | ||
tree_expression * | df, | ||
const token & | close_paren | ||
) |
Definition at line 61 of file pt-idx.cc.
References tree_index_expression(), and append().
|
inlinevirtual |
Implements tree.
Definition at line 112 of file pt-idx.h.
References tree_walker::visit_index_expression().
tree_index_expression * tree_index_expression::append | ( | const token & | dot_tok, |
const token & | open_paren, | ||
tree_expression * | df, | ||
const token & | close_paren | ||
) |
Definition at line 96 of file pt-idx.cc.
References tree_expression::mark_in_delims().
tree_index_expression * tree_index_expression::append | ( | const token & | dot_tok, |
const token & | struct_elt_tok | ||
) |
Definition at line 84 of file pt-idx.cc.
References token::text().
tree_index_expression * tree_index_expression::append | ( | const token & | open_delim, |
tree_argument_list * | lst, | ||
const token & | close_delim, | ||
char | t = '(' |
||
) |
Definition at line 68 of file pt-idx.cc.
References error(), tree_argument_list::get_arg_names(), tree_argument_list::has_magic_tilde(), and tree_argument_list::mark_in_delims().
Referenced by tree_index_expression(), tree_index_expression(), base_parser::make_index_expression(), base_parser::make_indirect_ref(), and base_parser::make_indirect_ref().
|
inline |
Definition at line 83 of file pt-idx.h.
Referenced by tree_print_code::visit_index_expression(), and tree_walker::visit_index_expression().
|
inline |
Definition at line 87 of file pt-idx.h.
Referenced by end_pos(), tree_print_code::visit_index_expression(), and tree_walker::visit_index_expression().
|
inlinevirtual |
|
virtual |
Implements tree_expression.
Definition at line 287 of file pt-idx.cc.
References tree_expression::copy_base(), and tree_expression::dup().
|
inline |
Definition at line 89 of file pt-idx.h.
Referenced by tree_print_code::visit_index_expression(), and tree_walker::visit_index_expression().
|
virtual |
Implements tree.
Definition at line 137 of file pt-idx.cc.
References arg_names(), tree_argument_list::end_pos(), token::end_pos(), tree::end_pos(), error(), and filepos::increment_column().
|
inlinevirtual |
Implements tree_expression.
Definition at line 103 of file pt-idx.h.
References evaluate_n(), and octave_value_list::length().
|
virtual |
Implements tree_expression.
Definition at line 388 of file pt-idx.cc.
References tree_evaluator::append_index_list(), octave_function::call(), octave_value_list::clear(), tree_evaluator::clear_index_list(), tree_evaluator::convert_to_const_vector(), err_indexed_cs_list(), error(), tree_expression::evaluate(), tree_evaluator::final_index_error(), symbol_table::find_function(), octave_value::function_value(), tree_evaluator::get_interpreter(), get_struct_index(), interpreter::get_symbol_table(), tree_evaluator::index_list(), tree_evaluator::index_type(), tree_evaluator::indexed_object(), octave_value::is_classdef_meta(), octave_value::is_cs_list(), octave_value::is_function(), tree_expression::is_identifier(), octave_value::is_package(), octave_value::is_undefined(), tree_evaluator::is_variable(), is_word_list_cmd(), string_vector::isempty(), octave_value::isjava(), octave_value::isobject(), octave_value_list::length(), tree_evaluator::lvalue_list(), tree_evaluator::make_value_list(), panic_if, tree_evaluator::set_index_list(), tree_evaluator::set_indexed_object(), tree_evaluator::set_lvalue_list(), octave_value_list::stash_name_tags(), and octave_value::subsref().
Referenced by evaluate().
|
inline |
Definition at line 81 of file pt-idx.h.
Referenced by tree_print_code::visit_index_expression(), and tree_walker::visit_index_expression().
std::string tree_index_expression::get_struct_index | ( | tree_evaluator & | tw, |
std::list< string_vector >::const_iterator | p_arg_nm, | ||
std::list< tree_expression * >::const_iterator | p_dyn_field | ||
) | const |
Definition at line 189 of file pt-idx.cc.
References error(), tree_expression::evaluate(), and octave_value::xstring_value().
Referenced by evaluate_n(), and lvalue().
|
inlinevirtual |
Reimplemented from tree_expression.
|
inline |
Definition at line 93 of file pt-idx.h.
Referenced by evaluate_n().
|
inlinevirtual |
Reimplemented from tree.
Definition at line 76 of file pt-idx.h.
References tree::leading_comments().
|
virtual |
Reimplemented from tree_expression.
Definition at line 214 of file pt-idx.cc.
References tree_evaluator::append_index_list(), tree_evaluator::clear_index_list(), error(), get_struct_index(), tree_evaluator::index_list(), tree_evaluator::index_type(), tree_evaluator::indexed_object(), tree_expression::lvalue(), tree_evaluator::make_value_list(), octave_lvalue::set_index(), tree_evaluator::set_index_list(), tree_evaluator::set_indexed_object(), and octave_lvalue::value().
|
inlinevirtual |
Reimplemented from tree_expression.
Definition at line 95 of file pt-idx.h.
References tree_expression::lvalue_ok().
|
inline |
Definition at line 91 of file pt-idx.h.
Referenced by base_parser::make_word_list_command().
|
virtual |
Reimplemented from tree_expression.
Definition at line 131 of file pt-idx.cc.
References tree_expression::name().
Referenced by tree_argument_list::variable_names().
|
inlinevirtual |
Reimplemented from tree_expression.
|
inline |
Definition at line 85 of file pt-idx.h.
Referenced by tree_print_code::visit_index_expression(), and tree_walker::visit_index_expression().