GNU Octave  6.2.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
octave::tree_index_expression Class Reference

#include "pt-idx.h"

Inheritance diagram for octave::tree_index_expression:
Collaboration diagram for octave::tree_index_expression:

Public Member Functions

 tree_index_expression (const tree_index_expression &)=delete
 
 tree_index_expression (tree_expression *e, const std::string &n, int l=-1, int c=-1)
 
 tree_index_expression (tree_expression *e, tree_expression *df, int l=-1, int c=-1)
 
 tree_index_expression (tree_expression *e=nullptr, tree_argument_list *lst=nullptr, int l=-1, int c=-1, char t='(')
 
 ~tree_index_expression (void)
 
void accept (tree_walker &tw)
 
void append (const std::string &n)
 
void append (tree_argument_list *lst=nullptr, char t='(')
 
void append (tree_expression *df)
 
std::list< tree_argument_list * > arg_lists (void)
 
std::list< string_vectorarg_names (void)
 
const std::string bp_cond (void) const
 
void column (int c)
 
virtual int column (void) const
 
virtual void copy_base (const tree_expression &e)
 
virtual void delete_breakpoint (void)
 
tree_index_expressiondup (symbol_scope &scope) const
 
std::list< tree_expression * > dyn_fields (void)
 
octave_value evaluate (tree_evaluator &tw, int nargout=1)
 
octave_value_list evaluate_n (tree_evaluator &tw, int nargout=1)
 
tree_expressionexpression (void)
 
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_active_breakpoint (tree_evaluator &tw) const
 
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
 
bool is_for_cmd_expr (void) const
 
virtual bool is_identifier (void) const
 
bool is_index_expression (void) const
 
virtual bool is_matrix (void) const
 
bool is_postfix_indexed (void) const
 
virtual bool is_prefix_expression (void) const
 
virtual bool is_unary_expression (void) const
 
bool is_word_list_cmd (void) const
 
virtual bool iscell (void) const
 
void line (int l)
 
virtual int line (void) const
 
octave_lvalue lvalue (tree_evaluator &tw)
 
bool lvalue_ok (void) const
 
void mark_as_for_cmd_expr (void)
 
virtual void mark_braindead_shortcircuit (void)
 
tree_expressionmark_in_parens (void)
 
void mark_word_list_cmd (void)
 
bool meets_bp_condition (tree_evaluator &tw) const
 
std::string name (void) const
 
virtual std::string oper (void) const
 
tree_index_expressionoperator= (const tree_index_expression &)=delete
 
virtual std::string original_text (void) const
 
int paren_count (void) const
 
char postfix_index (void) const
 
bool print_result (void) const
 
bool rvalue_ok (void) const
 
virtual void set_breakpoint (const std::string &condition)
 
void set_location (int l, int c)
 
tree_expressionset_postfix_index (char type)
 
tree_expressionset_print_flag (bool print)
 
std::string str_print_code (void)
 
std::string type_tags (void)
 

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)
 
octave_map make_arg_struct (void) const
 

Private Attributes

std::list< string_vectorm_arg_nm
 
std::list< tree_argument_list * > m_args
 
std::string * m_bp_cond
 
int m_column_num
 
std::list< tree_expression * > m_dyn_field
 
tree_expressionm_expr
 
int m_line_num
 
std::string m_type
 
bool m_word_list_cmd
 

Detailed Description

Definition at line 51 of file pt-idx.h.

Constructor & Destructor Documentation

◆ tree_index_expression() [1/5]

octave::tree_index_expression::tree_index_expression ( tree_expression e = nullptr,
tree_argument_list lst = nullptr,
int  l = -1,
int  c = -1,
char  t = '(' 
)

Definition at line 53 of file pt-idx.cc.

References append().

Referenced by dup().

◆ tree_index_expression() [2/5]

octave::tree_index_expression::tree_index_expression ( tree_expression e,
const std::string &  n,
int  l = -1,
int  c = -1 
)

Definition at line 62 of file pt-idx.cc.

References append(), and n.

◆ tree_index_expression() [3/5]

octave::tree_index_expression::tree_index_expression ( tree_expression e,
tree_expression df,
int  l = -1,
int  c = -1 
)

Definition at line 71 of file pt-idx.cc.

References append().

◆ tree_index_expression() [4/5]

octave::tree_index_expression::tree_index_expression ( const tree_index_expression )
delete

◆ ~tree_index_expression()

octave::tree_index_expression::~tree_index_expression ( void  )

Definition at line 110 of file pt-idx.cc.

References m_args, m_dyn_field, and m_expr.

◆ tree_index_expression() [5/5]

octave::tree_index_expression::tree_index_expression ( int  l,
int  c 
)
private

Definition at line 49 of file pt-idx.cc.

Member Function Documentation

◆ accept()

void octave::tree_index_expression::accept ( tree_walker tw)
inlinevirtual

Implements octave::tree.

Definition at line 114 of file pt-idx.h.

References octave::tree_walker::visit_index_expression().

◆ append() [1/3]

void octave::tree_index_expression::append ( const std::string &  n)

Definition at line 93 of file pt-idx.cc.

References m_arg_nm, m_args, m_dyn_field, m_type, and n.

◆ append() [2/3]

◆ append() [3/3]

void octave::tree_index_expression::append ( tree_expression df)

Definition at line 102 of file pt-idx.cc.

References m_arg_nm, m_args, m_dyn_field, and m_type.

◆ arg_lists()

std::list<tree_argument_list *> octave::tree_index_expression::arg_lists ( void  )
inline

◆ arg_names()

std::list<string_vector> octave::tree_index_expression::arg_names ( void  )
inline

◆ bp_cond()

const std::string octave::tree::bp_cond ( void  ) const
inlineinherited

◆ column() [1/2]

void octave::tree::column ( int  c)
inlineinherited

Definition at line 66 of file pt.h.

References octave::tree::m_column_num.

◆ column() [2/2]

◆ copy_base()

◆ delete_breakpoint()

virtual void octave::tree::delete_breakpoint ( void  )
inlinevirtualinherited

◆ dup()

◆ dyn_fields()

std::list<tree_expression *> octave::tree_index_expression::dyn_fields ( void  )
inline

◆ evaluate()

octave_value octave::tree_index_expression::evaluate ( tree_evaluator tw,
int  nargout = 1 
)
inlinevirtual

Implements octave::tree_expression.

Definition at line 105 of file pt-idx.h.

References evaluate_n(), octave_value(), and retval.

◆ evaluate_n()

octave_value_list octave::tree_index_expression::evaluate_n ( tree_evaluator tw,
int  nargout = 1 
)
virtual

◆ expression()

◆ get_struct_index()

std::string octave::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

◆ is_active_breakpoint()

◆ is_assignment_expression()

virtual bool octave::tree_expression::is_assignment_expression ( void  ) const
inlinevirtualinherited

◆ is_binary_expression()

virtual bool octave::tree_expression::is_binary_expression ( void  ) const
inlinevirtualinherited

Reimplemented in octave::tree_binary_expression.

Definition at line 80 of file pt-exp.h.

◆ is_boolean_expression()

virtual bool octave::tree_expression::is_boolean_expression ( void  ) const
inlinevirtualinherited

Reimplemented in octave::tree_boolean_expression.

Definition at line 82 of file pt-exp.h.

◆ is_breakpoint()

bool octave::tree::is_breakpoint ( void  ) const
inlineinherited

◆ is_constant()

virtual bool octave::tree_expression::is_constant ( void  ) const
inlinevirtualinherited

◆ is_for_cmd_expr()

bool octave::tree_expression::is_for_cmd_expr ( void  ) const
inlineinherited

Definition at line 111 of file pt-exp.h.

References octave::tree_expression::for_cmd_expr.

Referenced by octave::tree_colon_expression::evaluate().

◆ is_identifier()

◆ is_index_expression()

bool octave::tree_index_expression::is_index_expression ( void  ) const
inlinevirtual

Reimplemented from octave::tree_expression.

Definition at line 79 of file pt-idx.h.

◆ is_matrix()

virtual bool octave::tree_expression::is_matrix ( void  ) const
inlinevirtualinherited

◆ is_postfix_indexed()

bool octave::tree_expression::is_postfix_indexed ( void  ) const
inlineinherited

◆ is_prefix_expression()

virtual bool octave::tree_expression::is_prefix_expression ( void  ) const
inlinevirtualinherited

Definition at line 76 of file pt-exp.h.

◆ is_unary_expression()

virtual bool octave::tree_expression::is_unary_expression ( void  ) const
inlinevirtualinherited

Reimplemented in octave::tree_unary_expression.

Definition at line 78 of file pt-exp.h.

Referenced by octave::strip_trans_herm().

◆ is_word_list_cmd()

bool octave::tree_index_expression::is_word_list_cmd ( void  ) const
inline

Definition at line 95 of file pt-idx.h.

References m_word_list_cmd.

Referenced by evaluate_n().

◆ iscell()

virtual bool octave::tree_expression::iscell ( void  ) const
inlinevirtualinherited

Reimplemented in octave::tree_cell.

Definition at line 68 of file pt-exp.h.

◆ line() [1/2]

void octave::tree::line ( int  l)
inlineinherited

Definition at line 64 of file pt.h.

References octave::tree::m_line_num.

◆ line() [2/2]

virtual int octave::tree::line ( void  ) const
inlinevirtualinherited

Reimplemented in octave::tree_statement.

Definition at line 60 of file pt.h.

References octave::tree::m_line_num.

Referenced by octave::anon_fcn_validator::error(), octave::tree_identifier::eval_undefined_error(), octave::base_parser::finish_if_command(), octave::base_parser::finish_switch_command(), octave::tree_statement::line(), octave::base_parser::make_colon_expression(), octave::base_parser::make_fcn_name(), 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(), octave::tree_breakpoint::take_action(), octave::tree_checker::visit_argument_list(), octave::tree_breakpoint::visit_break_command(), octave::tree_evaluator::visit_break_command(), octave::tree_breakpoint::visit_complex_for_command(), octave::tree_checker::visit_complex_for_command(), octave::tree_evaluator::visit_complex_for_command(), octave::tree_breakpoint::visit_continue_command(), octave::tree_evaluator::visit_continue_command(), octave::tree_breakpoint::visit_decl_command(), octave::tree_evaluator::visit_decl_command(), octave::tree_breakpoint::visit_do_until_command(), octave::tree_evaluator::visit_do_until_command(), octave::tree_evaluator::visit_if_command(), octave::tree_breakpoint::visit_no_op_command(), octave::tree_evaluator::visit_no_op_command(), octave::tree_breakpoint::visit_return_command(), octave::tree_evaluator::visit_return_command(), octave::tree_checker::visit_simple_assignment(), octave::tree_breakpoint::visit_simple_for_command(), octave::tree_checker::visit_simple_for_command(), octave::tree_evaluator::visit_simple_for_command(), octave::tree_breakpoint::visit_switch_command(), octave::tree_evaluator::visit_switch_command(), octave::tree_checker::visit_try_catch_command(), octave::tree_evaluator::visit_try_catch_command(), octave::tree_evaluator::visit_unwind_protect_command(), octave::tree_breakpoint::visit_while_command(), and octave::tree_evaluator::visit_while_command().

◆ lvalue()

◆ lvalue_ok()

bool octave::tree_index_expression::lvalue_ok ( void  ) const
inlinevirtual

Reimplemented from octave::tree_expression.

Definition at line 97 of file pt-idx.h.

References octave::tree_expression::lvalue_ok(), and m_expr.

◆ make_arg_struct()

octave_map octave::tree_index_expression::make_arg_struct ( void  ) const
private

◆ mark_as_for_cmd_expr()

void octave::tree_expression::mark_as_for_cmd_expr ( void  )
inlineinherited

Definition at line 109 of file pt-exp.h.

References octave::tree_expression::for_cmd_expr.

Referenced by octave::base_parser::make_for_command().

◆ mark_braindead_shortcircuit()

virtual void octave::tree_expression::mark_braindead_shortcircuit ( void  )
inlinevirtualinherited

◆ mark_in_parens()

tree_expression* octave::tree_expression::mark_in_parens ( void  )
inlineinherited

Definition at line 113 of file pt-exp.h.

References octave::tree_expression::num_parens.

◆ mark_word_list_cmd()

void octave::tree_index_expression::mark_word_list_cmd ( void  )
inline

Definition at line 93 of file pt-idx.h.

References m_word_list_cmd.

◆ meets_bp_condition()

◆ name()

std::string octave::tree_index_expression::name ( void  ) const
virtual

Reimplemented from octave::tree_expression.

Definition at line 133 of file pt-idx.cc.

References m_expr, and octave::tree_expression::name().

Referenced by octave::tree_argument_list::variable_names().

◆ oper()

virtual std::string octave::tree_expression::oper ( void  ) const
inlinevirtualinherited

◆ operator=()

tree_index_expression& octave::tree_index_expression::operator= ( const tree_index_expression )
delete

◆ original_text()

std::string octave::tree_expression::original_text ( void  ) const
virtualinherited

Reimplemented in octave::tree_constant.

Definition at line 49 of file pt-exp.cc.

◆ paren_count()

int octave::tree_expression::paren_count ( void  ) const
inlineinherited

◆ postfix_index()

char octave::tree_expression::postfix_index ( void  ) const
inlineinherited

Definition at line 94 of file pt-exp.h.

References octave::tree_expression::postfix_index_type.

Referenced by octave::tree_identifier::evaluate_n().

◆ print_result()

◆ rvalue_ok()

bool octave::tree_index_expression::rvalue_ok ( void  ) const
inlinevirtual

Reimplemented from octave::tree_expression.

Definition at line 99 of file pt-idx.h.

◆ set_breakpoint()

virtual void octave::tree::set_breakpoint ( const std::string &  condition)
inlinevirtualinherited

◆ set_location()

void octave::tree::set_location ( int  l,
int  c 
)
inlineinherited

◆ set_postfix_index()

tree_expression* octave::tree_expression::set_postfix_index ( char  type)
inlineinherited

◆ set_print_flag()

tree_expression* octave::tree_expression::set_print_flag ( bool  print)
inlineinherited

◆ str_print_code()

std::string octave::tree::str_print_code ( void  )
inherited

Definition at line 46 of file pt.cc.

References octave::tree::accept(), and retval.

Referenced by octave::jit_info::compile(), and octave::tree_argument_list::get_arg_names().

◆ type_tags()

std::string octave::tree_index_expression::type_tags ( void  )
inline

Member Data Documentation

◆ for_cmd_expr

bool octave::tree_expression::for_cmd_expr
protectedinherited

◆ m_arg_nm

std::list<string_vector> octave::tree_index_expression::m_arg_nm
private

Definition at line 137 of file pt-idx.h.

Referenced by append(), arg_names(), dup(), evaluate_n(), and lvalue().

◆ m_args

std::list<tree_argument_list *> octave::tree_index_expression::m_args
private

Definition at line 130 of file pt-idx.h.

Referenced by ~tree_index_expression(), append(), arg_lists(), dup(), evaluate_n(), and lvalue().

◆ m_bp_cond

◆ m_column_num

int octave::tree::m_column_num
privateinherited

Definition at line 120 of file pt.h.

Referenced by octave::tree::column(), and octave::tree::set_location().

◆ m_dyn_field

std::list<tree_expression *> octave::tree_index_expression::m_dyn_field
private

Definition at line 140 of file pt-idx.h.

Referenced by ~tree_index_expression(), append(), dup(), dyn_fields(), evaluate_n(), and lvalue().

◆ m_expr

tree_expression* octave::tree_index_expression::m_expr
private

Definition at line 127 of file pt-idx.h.

Referenced by ~tree_index_expression(), dup(), evaluate_n(), expression(), lvalue(), lvalue_ok(), and name().

◆ m_line_num

int octave::tree::m_line_num
privateinherited

Definition at line 119 of file pt.h.

Referenced by octave::tree::line(), and octave::tree::set_location().

◆ m_type

std::string octave::tree_index_expression::m_type
private

Definition at line 133 of file pt-idx.h.

Referenced by append(), dup(), evaluate_n(), lvalue(), and type_tags().

◆ m_word_list_cmd

bool octave::tree_index_expression::m_word_list_cmd
private

Definition at line 143 of file pt-idx.h.

Referenced by is_word_list_cmd(), and mark_word_list_cmd().

◆ num_parens

int octave::tree_expression::num_parens
protectedinherited

◆ postfix_index_type

char octave::tree_expression::postfix_index_type
protectedinherited

◆ print_flag

bool octave::tree_expression::print_flag
protectedinherited

The documentation for this class was generated from the following files: