GNU Octave
4.0.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
|
#include "pt-exp.h"
Public Member Functions | |
tree_expression (int l=-1, int c=-1) | |
virtual | ~tree_expression (void) |
virtual void | accept (tree_walker &tw)=0 |
virtual int | column (void) const |
void | column (int c) |
virtual void | copy_base (const tree_expression &e) |
virtual void | delete_breakpoint (void) |
virtual tree_expression * | dup (symbol_table::scope_id, symbol_table::context_id context) const =0 |
virtual bool | has_magic_end (void) const =0 |
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_cell (void) const |
virtual bool | is_constant (void) const |
bool | is_for_cmd_expr (void) const |
virtual bool | is_identifier (void) const |
virtual bool | is_index_expression (void) const |
virtual bool | is_logically_true (const char *) |
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 |
virtual int | line (void) const |
void | line (int l) |
virtual octave_lvalue | lvalue (void) |
virtual bool | lvalue_ok (void) const |
void | mark_as_for_cmd_expr (void) |
virtual void | mark_braindead_shortcircuit (void) |
tree_expression * | mark_in_parens (void) |
virtual std::string | name (void) const |
virtual std::string | oper (void) const |
virtual std::string | original_text (void) const |
int | paren_count (void) const |
char | postfix_index (void) const |
bool | print_result (void) const |
virtual octave_value_list | rvalue (int nargout) |
virtual octave_value_list | rvalue (int nargout, const std::list< octave_lvalue > *lvalue_list) |
virtual octave_value | rvalue1 (int nargout=1) |
virtual bool | rvalue_ok (void) const |
virtual void | set_breakpoint (void) |
void | set_location (int l, int c) |
tree_expression * | set_postfix_index (char type) |
tree_expression * | set_print_flag (bool print) |
std::string | str_print_code (void) |
Protected Attributes | |
bool | for_cmd_expr |
int | num_parens |
char | postfix_index_type |
bool | print_flag |
Private Member Functions | |
tree_expression (const tree_expression &) | |
tree_expression & | operator= (const tree_expression &) |
|
inlinevirtual |
|
private |
|
pure virtualinherited |
Implemented in tree_classdef, tree_classdef_enum_block, tree_classdef_events_block, tree_classdef_methods_block, tree_complex_for_command, tree_switch_command, tree_classdef_properties_block, tree_persistent_command, tree_simple_for_command, tree_global_command, tree_switch_case, tree_classdef_element< T >, tree_classdef_element< tree_classdef_property * >, tree_classdef_element< tree_classdef_enum * >, tree_classdef_element< tree_classdef_event * >, tree_classdef_element< octave_value >, tree_do_until_command, tree_postfix_expression, tree_multi_assignment, tree_if_command, tree_anon_fcn_handle, tree_unwind_protect_command, tree_identifier, tree_function_def, tree_prefix_expression, tree_statement, tree_return_command, tree_binary_expression, tree_colon_expression, tree_index_expression, tree_while_command, tree_funcall, tree_constant, tree_simple_assignment, tree_no_op_command, tree_fcn_handle, tree_continue_command, tree_try_catch_command, tree_if_clause, tree_array_list, tree_matrix, tree_cell, and tree_break_command.
Referenced by tree_print_code::print_fcn_handle_body(), tree::str_print_code(), jit_convert::visit(), tree_print_code::visit_argument_list(), tree_checker::visit_binary_expression(), tree_print_code::visit_binary_expression(), tree_checker::visit_colon_expression(), tree_print_code::visit_colon_expression(), tree_checker::visit_complex_for_command(), tree_print_code::visit_complex_for_command(), tree_checker::visit_decl_elt(), tree_print_code::visit_decl_elt(), tree_checker::visit_do_until_command(), tree_print_code::visit_do_until_command(), tree_checker::visit_if_clause(), tree_print_code::visit_if_clause(), tree_checker::visit_index_expression(), tree_print_code::visit_index_expression(), ctor_analyzer::visit_index_expression(), tree_checker::visit_multi_assignment(), tree_print_code::visit_multi_assignment(), ctor_analyzer::visit_multi_assignment(), tree_checker::visit_postfix_expression(), tree_print_code::visit_postfix_expression(), tree_checker::visit_prefix_expression(), tree_print_code::visit_prefix_expression(), tree_checker::visit_simple_assignment(), tree_print_code::visit_simple_assignment(), ctor_analyzer::visit_simple_assignment(), tree_checker::visit_simple_for_command(), tree_print_code::visit_simple_for_command(), tree_checker::visit_statement(), tree_evaluator::visit_statement(), tree_breakpoint::visit_statement(), tree_print_code::visit_statement(), ctor_analyzer::visit_statement(), tree_checker::visit_switch_case(), tree_print_code::visit_switch_case(), tree_checker::visit_switch_command(), tree_print_code::visit_switch_command(), tree_checker::visit_while_command(), and tree_print_code::visit_while_command().
|
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(), tree_index_expression::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().
|
inlinevirtual |
Definition at line 129 of file pt-exp.h.
References num_parens, postfix_index_type, and print_flag.
Referenced by tree_array_list::copy_base(), tree_funcall::dup(), tree_fcn_handle::dup(), tree_simple_assignment::dup(), tree_constant::dup(), tree_index_expression::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().
|
pure virtual |
Implemented in tree_boolean_expression, tree_postfix_expression, tree_multi_assignment, tree_anon_fcn_handle, tree_identifier, tree_prefix_expression, tree_binary_expression, tree_colon_expression, tree_index_expression, tree_constant, tree_simple_assignment, tree_fcn_handle, tree_array_list, tree_matrix, tree_funcall, and tree_cell.
Referenced by tree_if_clause::dup(), tree_simple_assignment::dup(), tree_while_command::dup(), tree_argument_list::dup(), tree_decl_elt::dup(), tree_index_expression::dup(), tree_colon_expression::dup(), tree_binary_expression::dup(), tree_statement::dup(), tree_prefix_expression::dup(), tree_multi_assignment::dup(), tree_postfix_expression::dup(), tree_do_until_command::dup(), tree_boolean_expression::dup(), tree_switch_case::dup(), tree_simple_for_command::dup(), tree_switch_command::dup(), and tree_complex_for_command::dup().
|
pure virtual |
Implemented in tree_multi_assignment, tree_anon_fcn_handle, tree_binary_expression, tree_colon_expression, tree_index_expression, tree_identifier, tree_simple_assignment, tree_unary_expression, tree_fcn_handle, tree_constant, tree_array_list, and tree_funcall.
Referenced by tree_argument_list::append(), and tree_argument_list::has_magic_end().
|
inlinevirtual |
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().
|
inlinevirtual |
Reimplemented in tree_binary_expression.
|
inlinevirtual |
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().
|
inlinevirtual |
|
inlinevirtual |
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().
|
inline |
Definition at line 109 of file pt-exp.h.
Referenced by tree_colon_expression::rvalue1().
|
inlinevirtual |
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(), tree_index_expression::rvalue(), tree_argument_list::variable_names(), tree_evaluator::visit_statement(), and jit_convert::visit_statement().
|
inlinevirtual |
Reimplemented in tree_index_expression.
Definition at line 61 of file pt-exp.h.
Referenced by tree_argument_list::is_valid_lvalue_list(), octave_base_parser::make_index_expression(), octave_base_parser::make_indirect_ref(), octave_fcn_binder::maybe_binder(), and tree_argument_list::variable_names().
Definition at line 39 of file pt-exp.cc.
References error(), error_state, octave_value::is_defined(), octave_value::is_true(), and rvalue1().
Referenced by tree_evaluator::visit_do_until_command(), tree_evaluator::visit_if_command_list(), and tree_evaluator::visit_while_command().
|
inlinevirtual |
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().
|
inline |
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().
|
inlinevirtual |
|
inlinevirtual |
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 in tree_black_hole, tree_identifier, and tree_index_expression.
Definition at line 78 of file pt-exp.cc.
References error().
Referenced by tree_index_expression::lvalue(), tree_argument_list::lvalue_list(), tree_simple_assignment::rvalue1(), tree_prefix_expression::rvalue1(), tree_postfix_expression::rvalue1(), 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 75 of file pt-exp.h.
Referenced by tree_checker::visit_argument_list(), tree_checker::visit_simple_assignment(), and tree_checker::visit_simple_for_command().
|
inline |
Definition at line 107 of file pt-exp.h.
Referenced by octave_base_parser::make_for_command().
|
inlinevirtual |
Reimplemented in tree_binary_expression.
|
inline |
|
inlinevirtual |
Reimplemented in tree_black_hole, tree_index_expression, tree_identifier, and tree_fcn_handle.
Definition at line 101 of file pt-exp.h.
Referenced by compute_attribute_value(), jit_convert::do_assign(), tree_index_expression::name(), tree_multi_assignment::rvalue(), tree_simple_assignment::rvalue1(), and jit_convert::visit_statement().
|
inlinevirtual |
Reimplemented in tree_boolean_expression, tree_multi_assignment, tree_binary_expression, tree_simple_assignment, and tree_unary_expression.
|
private |
|
virtual |
Reimplemented in tree_constant.
Definition at line 85 of file pt-exp.cc.
Referenced by tree_funcall::print_raw().
|
inline |
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().
|
inline |
Definition at line 92 of file pt-exp.h.
Referenced by tree_funcall::rvalue(), and tree_identifier::rvalue().
|
inline |
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 in tree_boolean_expression, tree_postfix_expression, tree_multi_assignment, tree_anon_fcn_handle, tree_identifier, tree_prefix_expression, tree_binary_expression, tree_index_expression, tree_colon_expression, tree_funcall, tree_constant, tree_fcn_handle, tree_simple_assignment, tree_compound_binary_expression, tree_matrix, and tree_cell.
Definition at line 65 of file pt-exp.cc.
References error().
Referenced by octave_user_function::do_multi_index_op(), eval_string(), rvalue(), and tree_multi_assignment::rvalue().
|
virtual |
Reimplemented in tree_identifier, and tree_index_expression.
Definition at line 72 of file pt-exp.cc.
References rvalue().
|
virtual |
Reimplemented in tree_boolean_expression, tree_postfix_expression, tree_multi_assignment, tree_anon_fcn_handle, tree_identifier, tree_prefix_expression, tree_binary_expression, tree_index_expression, tree_colon_expression, tree_constant, tree_fcn_handle, tree_simple_assignment, tree_funcall, tree_compound_binary_expression, tree_matrix, and tree_cell.
Definition at line 58 of file pt-exp.cc.
References error(), and octave_value().
Referenced by compute_attribute_value(), tree_argument_list::convert_to_const_vector(), do_global_init(), do_static_init(), tree_decl_elt::eval(), octave_base_parser::finish_array_list(), tree_index_expression::get_struct_index(), tm_row_const::tm_row_const_rep::init(), is_logically_true(), tree_switch_case::label_matches(), octave_fcn_binder::maybe_binder(), tree_index_expression::rvalue(), tree_compound_binary_expression::rvalue1(), tree_simple_assignment::rvalue1(), tree_colon_expression::rvalue1(), tree_binary_expression::rvalue1(), tree_prefix_expression::rvalue1(), tree_postfix_expression::rvalue1(), tree_boolean_expression::rvalue1(), octave_base_parser::validate_matrix_for_assignment(), tree_evaluator::visit_complex_for_command(), tree_evaluator::visit_simple_for_command(), and tree_evaluator::visit_statement().
|
inlinevirtual |
Reimplemented in tree_boolean_expression, tree_postfix_expression, tree_multi_assignment, tree_anon_fcn_handle, tree_prefix_expression, tree_binary_expression, tree_index_expression, tree_colon_expression, tree_constant, tree_fcn_handle, tree_simple_assignment, tree_compound_binary_expression, tree_matrix, and tree_cell.
|
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().
|
inline |
Definition at line 117 of file pt-exp.h.
Referenced by octave_base_parser::make_index_expression(), and octave_base_parser::make_indirect_ref().
|
inline |
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().
|
protected |
Definition at line 144 of file pt-exp.h.
Referenced by copy_base().
|
protected |
Definition at line 149 of file pt-exp.h.
Referenced by copy_base().
|
protected |
Definition at line 156 of file pt-exp.h.
Referenced by copy_base().