GNU Octave  4.4.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
octave::tree Class Referenceabstract

#include "pt.h"

Inheritance diagram for octave::tree:
Collaboration diagram for octave::tree:

Public Member Functions

 tree (int l=-1, int c=-1)
 
 tree (const tree &)=delete
 
virtual ~tree (void)=default
 
virtual void accept (tree_walker &tw)=0
 
const std::string bp_cond (void) const
 
virtual int column (void) const
 
void column (int c)
 
virtual void delete_breakpoint (void)
 
bool is_breakpoint (bool check_active=false) const
 
virtual int line (void) const
 
void line (int l)
 
bool meets_bp_condition (void) const
 
treeoperator= (const tree &)=delete
 
virtual void set_breakpoint (const std::string &condition)
 
void set_location (int l, int c)
 
std::string str_print_code (void)
 

Private Attributes

std::stringm_bp_cond
 
int m_column_num
 
int m_line_num
 

Detailed Description

Definition at line 40 of file pt.h.

Constructor & Destructor Documentation

◆ tree() [1/2]

octave::tree::tree ( int  l = -1,
int  c = -1 
)
inline

Definition at line 44 of file pt.h.

◆ tree() [2/2]

octave::tree::tree ( const tree )
delete

◆ ~tree()

virtual octave::tree::~tree ( void  )
virtualdefault

Member Function Documentation

◆ accept()

virtual void octave::tree::accept ( tree_walker tw)
pure virtual

Implemented in octave::tree_classdef, octave::tree_classdef_enum_block, octave::tree_classdef_events_block, octave::tree_classdef_methods_block, octave::tree_classdef_properties_block, octave::tree_complex_for_command, octave::tree_switch_command, octave::tree_simple_for_command, octave::tree_decl_command, octave::tree_classdef_element< T >, octave::tree_classdef_element< tree_classdef_event *>, octave::tree_classdef_element< tree_classdef_property *>, octave::tree_classdef_element< tree_classdef_enum *>, octave::tree_classdef_element< octave_value >, octave::tree_switch_case, octave::tree_boolean_expression, octave::tree_do_until_command, octave::tree_multi_assignment, octave::tree_unwind_protect_command, octave::tree_if_command, octave::tree_postfix_expression, octave::tree_anon_fcn_handle, octave::tree_identifier, octave::tree_statement, octave::tree_function_def, octave::tree_prefix_expression, octave::tree_binary_expression, octave::tree_index_expression, octave::tree_return_command, octave::tree_colon_expression, octave::tree_while_command, octave::tree_constant, octave::tree_array_list, octave::tree_simple_assignment, octave::tree_try_catch_command, octave::tree_fcn_handle, octave::tree_funcall, octave::tree_continue_command, octave::tree_no_op_command, octave::tree_if_clause, octave::tree_matrix, octave::tree_cell, octave::tree_compound_binary_expression, and octave::tree_break_command.

Referenced by octave::tree_evaluator::evaluate(), octave::tree_evaluator::evaluate_n(), str_print_code(), octave::jit_convert::visit(), octave::tree_print_code::visit_argument_list(), octave::tree_checker::visit_binary_expression(), octave::tree_print_code::visit_binary_expression(), octave::tree_checker::visit_colon_expression(), octave::tree_print_code::visit_colon_expression(), octave::tree_checker::visit_complex_for_command(), octave::tree_print_code::visit_complex_for_command(), octave::tree_checker::visit_decl_elt(), octave::tree_print_code::visit_decl_elt(), octave::tree_checker::visit_do_until_command(), octave::tree_print_code::visit_do_until_command(), octave::tree_checker::visit_if_clause(), octave::tree_print_code::visit_if_clause(), octave::tree_checker::visit_multi_assignment(), octave::tree_print_code::visit_multi_assignment(), octave::tree_checker::visit_simple_assignment(), octave::tree_print_code::visit_simple_assignment(), octave::tree_checker::visit_simple_for_command(), octave::tree_print_code::visit_simple_for_command(), octave::tree_checker::visit_statement(), octave::tree_breakpoint::visit_statement(), octave::tree_print_code::visit_statement(), octave::tree_evaluator::visit_statement(), octave::tree_checker::visit_switch_case(), octave::tree_print_code::visit_switch_case(), octave::tree_checker::visit_switch_command(), octave::tree_print_code::visit_switch_command(), octave::tree_checker::visit_while_command(), and octave::tree_print_code::visit_while_command().

◆ bp_cond()

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

Definition at line 97 of file pt.h.

References m_bp_cond.

Referenced by octave::tree_statement::bp_cond(), and octave::tree_breakpoint::take_action().

◆ column() [1/2]

◆ column() [2/2]

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

Definition at line 62 of file pt.h.

References c, and m_column_num.

◆ delete_breakpoint()

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

Reimplemented in octave::tree_statement.

Definition at line 78 of file pt.h.

References m_bp_cond.

Referenced by octave::tree_statement::delete_breakpoint(), and octave::tree_breakpoint::take_action().

◆ is_breakpoint()

◆ line() [1/2]

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

Reimplemented in octave::tree_statement.

Definition at line 56 of file pt.h.

References m_line_num.

Referenced by octave::tree_colon_expression::dup(), octave::tree_binary_expression::dup(), octave::tree_prefix_expression::dup(), octave::tree_anon_fcn_handle::dup(), octave::tree_postfix_expression::dup(), octave::tree_boolean_expression::dup(), octave::tree_identifier::eval_undefined_error(), octave::tree_statement::line(), 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_checker::visit_complex_for_command(), octave::tree_breakpoint::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_checker::visit_simple_for_command(), octave::tree_breakpoint::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().

◆ line() [2/2]

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

Definition at line 60 of file pt.h.

References m_line_num.

◆ meets_bp_condition()

bool octave::tree::meets_bp_condition ( void  ) const

◆ operator=()

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

◆ set_breakpoint()

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

Reimplemented in octave::tree_statement.

Definition at line 70 of file pt.h.

References m_bp_cond, and string.

Referenced by octave::tree_statement::set_breakpoint(), and octave::tree_breakpoint::take_action().

◆ set_location()

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

Definition at line 64 of file pt.h.

References c, m_column_num, and m_line_num.

Referenced by octave::tree_statement::set_location().

◆ str_print_code()

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

Definition at line 42 of file pt.cc.

References accept(), retval, and string.

Referenced by octave::jit_info::compile().

Member Data Documentation

◆ m_bp_cond

std::string* octave::tree::m_bp_cond
private

Definition at line 114 of file pt.h.

Referenced by bp_cond(), delete_breakpoint(), is_breakpoint(), meets_bp_condition(), and set_breakpoint().

◆ m_column_num

int octave::tree::m_column_num
private

Definition at line 111 of file pt.h.

Referenced by column(), and set_location().

◆ m_line_num

int octave::tree::m_line_num
private

Definition at line 110 of file pt.h.

Referenced by line(), and set_location().


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