#include "pt-eval.h"
Definition at line 37 of file pt-eval.h.
typedef void(* tree_evaluator::decl_elt_init_fcn)(tree_decl_elt &) |
tree_evaluator::tree_evaluator | ( | const tree_evaluator & | ) | [private] |
void tree_evaluator::do_breakpoint | ( | tree_statement & | stmt | ) | const [private] |
Definition at line 1103 of file pt-eval.cc.
References tree_statement::is_breakpoint(), and tree_statement::is_end_of_fcn_or_script().
Referenced by visit_break_command(), visit_complex_for_command(), visit_continue_command(), visit_do_until_command(), visit_global_command(), visit_if_command(), visit_if_command_list(), visit_no_op_command(), visit_return_command(), visit_simple_for_command(), visit_statement(), visit_static_command(), visit_switch_command(), and visit_while_command().
void tree_evaluator::do_breakpoint | ( | bool | is_breakpoint, | |
bool | is_end_of_fcn_or_script = false | |||
) | const [private] |
Definition at line 1109 of file pt-eval.cc.
References current_frame, octave_call_stack::current_frame(), dbstep_flag, do_keyboard(), and octave_debug_on_interrupt_state.
void tree_evaluator::do_decl_init_list | ( | decl_elt_init_fcn | fcn, | |
tree_decl_init_list * | init_list | |||
) | [private] |
Definition at line 190 of file pt-eval.cc.
References octave_base_list< elt_type >::begin(), octave_base_list< elt_type >::end(), and error_state.
Referenced by visit_global_command(), and visit_static_command().
octave_value tree_evaluator::do_keyboard | ( | const octave_value_list & | args = octave_value_list () |
) | const [private, virtual] |
Definition at line 1187 of file pt-eval.cc.
Referenced by do_breakpoint().
void tree_evaluator::do_unwind_protect_cleanup_code | ( | tree_statement_list * | list | ) |
Definition at line 910 of file pt-eval.cc.
References tree_statement_list::accept(), unwind_protect::add_fcn(), tree_break_command::breaking, octave_call_stack::current_statement(), unwind_protect::discard_top(), error_state, octave_interrupt_state, unwind_protect::protect_var(), tree_return_command::returning, unwind_protect::run(), unwind_protect::run_top(), and octave_call_stack::set_statement().
Referenced by visit_unwind_protect_command().
tree_evaluator& tree_evaluator::operator= | ( | const tree_evaluator & | ) | [private] |
void tree_evaluator::reset_debug_state | ( | void | ) | [static] |
Definition at line 125 of file pt-eval.cc.
References dbstep_flag, debug_mode, bp_table::have_breakpoints(), and Vdebugging.
Referenced by DEFUN(), main_loop(), and visit_return_command().
void tree_evaluator::visit_anon_fcn_handle | ( | tree_anon_fcn_handle & | ) | [virtual] |
void tree_evaluator::visit_argument_list | ( | tree_argument_list & | ) | [virtual] |
void tree_evaluator::visit_binary_expression | ( | tree_binary_expression & | ) | [virtual] |
void tree_evaluator::visit_break_command | ( | tree_break_command & | cmd | ) | [virtual] |
Implements tree_walker.
Definition at line 91 of file pt-eval.cc.
References tree_break_command::breaking, debug_mode, do_breakpoint(), error_state, function, in_loop_command, tree::is_breakpoint(), script, and statement_context.
void tree_evaluator::visit_cell | ( | tree_cell & | ) | [virtual] |
void tree_evaluator::visit_colon_expression | ( | tree_colon_expression & | ) | [virtual] |
void tree_evaluator::visit_complex_for_command | ( | tree_complex_for_command & | cmd | ) | [virtual] |
Implements tree_walker.
Definition at line 415 of file pt-eval.cc.
References tree_statement_list::accept(), octave_lvalue::assign(), octave_base_list< elt_type >::begin(), tree_complex_for_command::body(), octave_map::contents(), tree_complex_for_command::control_expr(), debug_mode, do_breakpoint(), error(), error_state, in_loop_command, tree::is_breakpoint(), octave_value::is_map(), octave_value::is_undefined(), octave_map::keys(), tree_complex_for_command::left_hand_side(), tree_expression::lvalue(), octave_value::map_value(), Array< T >::numel(), octave_value(), octave_value::op_asn_eq, quit_loop_now(), and tree_expression::rvalue1().
void tree_evaluator::visit_constant | ( | tree_constant & | ) | [virtual] |
void tree_evaluator::visit_continue_command | ( | tree_continue_command & | cmd | ) | [virtual] |
Implements tree_walker.
Definition at line 111 of file pt-eval.cc.
References tree_continue_command::continuing, debug_mode, do_breakpoint(), error_state, function, in_loop_command, tree::is_breakpoint(), script, and statement_context.
void tree_evaluator::visit_decl_elt | ( | tree_decl_elt & | ) | [virtual] |
void tree_evaluator::visit_decl_init_list | ( | tree_decl_init_list & | ) | [virtual] |
void tree_evaluator::visit_do_until_command | ( | tree_do_until_command & | cmd | ) | [virtual] |
Implements tree_walker.
Definition at line 1063 of file pt-eval.cc.
References tree_statement_list::accept(), tree_while_command::body(), tree_while_command::condition(), debug_mode, do_breakpoint(), error_state, in_loop_command, tree::is_breakpoint(), tree_expression::is_logically_true(), panic_impossible, unwind_protect::protect_var(), and quit_loop_now().
void tree_evaluator::visit_fcn_handle | ( | tree_fcn_handle & | ) | [virtual] |
void tree_evaluator::visit_function_def | ( | tree_function_def & | cmd | ) | [virtual] |
Implements tree_walker.
Definition at line 511 of file pt-eval.cc.
References f, tree_function_def::function(), octave_value::function_value(), symbol_table::install_cmdline_function(), octave_function::name(), octave_value(), and symbol_table::varref().
void tree_evaluator::visit_global_command | ( | tree_global_command & | cmd | ) | [virtual] |
Implements tree_walker.
Definition at line 209 of file pt-eval.cc.
References debug_mode, do_breakpoint(), do_decl_init_list(), do_global_init(), tree_decl_command::initializer_list(), and tree::is_breakpoint().
void tree_evaluator::visit_identifier | ( | tree_identifier & | ) | [virtual] |
void tree_evaluator::visit_if_clause | ( | tree_if_clause & | ) | [virtual] |
void tree_evaluator::visit_if_command | ( | tree_if_command & | cmd | ) | [virtual] |
Implements tree_walker.
Definition at line 543 of file pt-eval.cc.
References tree_if_command_list::accept(), tree_if_command::cmd_list(), debug_mode, do_breakpoint(), and tree::is_breakpoint().
void tree_evaluator::visit_if_command_list | ( | tree_if_command_list & | lst | ) | [virtual] |
Implements tree_walker.
Definition at line 555 of file pt-eval.cc.
References tree_statement_list::accept(), octave_base_list< elt_type >::begin(), tree_if_clause::commands(), tree_if_clause::condition(), debug_mode, do_breakpoint(), octave_base_list< elt_type >::end(), error_state, tree::is_breakpoint(), tree_if_clause::is_else_clause(), and tree_expression::is_logically_true().
void tree_evaluator::visit_index_expression | ( | tree_index_expression & | ) | [virtual] |
void tree_evaluator::visit_matrix | ( | tree_matrix & | ) | [virtual] |
void tree_evaluator::visit_multi_assignment | ( | tree_multi_assignment & | ) | [virtual] |
void tree_evaluator::visit_no_op_command | ( | tree_no_op_command & | cmd | ) | [virtual] |
Implements tree_walker.
Definition at line 606 of file pt-eval.cc.
References debug_mode, do_breakpoint(), tree::is_breakpoint(), and tree_no_op_command::is_end_of_fcn_or_script().
void tree_evaluator::visit_octave_user_function | ( | octave_user_function & | ) | [virtual] |
void tree_evaluator::visit_octave_user_function_header | ( | octave_user_function & | ) |
Definition at line 499 of file pt-eval.cc.
References panic_impossible.
void tree_evaluator::visit_octave_user_function_trailer | ( | octave_user_function & | ) |
Definition at line 505 of file pt-eval.cc.
References panic_impossible.
void tree_evaluator::visit_octave_user_script | ( | octave_user_script & | ) | [virtual] |
void tree_evaluator::visit_parameter_list | ( | tree_parameter_list & | ) | [virtual] |
void tree_evaluator::visit_postfix_expression | ( | tree_postfix_expression & | ) | [virtual] |
void tree_evaluator::visit_prefix_expression | ( | tree_prefix_expression & | ) | [virtual] |
void tree_evaluator::visit_return_command | ( | tree_return_command & | cmd | ) | [virtual] |
Implements tree_walker.
Definition at line 643 of file pt-eval.cc.
References current_frame, octave_call_stack::current_frame(), debug_mode, do_breakpoint(), error_state, function, in_loop_command, tree::is_breakpoint(), reset_debug_state(), tree_return_command::returning, script, statement_context, and Vdebugging.
void tree_evaluator::visit_return_list | ( | tree_return_list & | ) | [virtual] |
void tree_evaluator::visit_simple_assignment | ( | tree_simple_assignment & | ) | [virtual] |
void tree_evaluator::visit_simple_for_command | ( | tree_simple_for_command & | cmd | ) | [virtual] |
Implements tree_walker.
Definition at line 285 of file pt-eval.cc.
References tree_statement_list::accept(), arg(), octave_lvalue::assign(), Range::base(), tree_simple_for_command::body(), tree::column(), tree_simple_for_command::control_expr(), debug_mode, octave_value::dims(), do_breakpoint(), octave_value::do_index_op(), error(), error_state, in_loop_command, Range::inc(), tree::is_breakpoint(), octave_value::is_cell(), octave_value::is_map(), octave_value::is_matrix_type(), octave_value::is_range(), octave_value::is_scalar_type(), octave_value::is_string(), octave_value::is_undefined(), tree_simple_for_command::left_hand_side(), tree::line(), tree_expression::lvalue(), octave_value::ndims(), Range::nelem(), octave_value::op_asn_eq, quit_loop_now(), octave_value::range_value(), dim_vector::redim(), octave_value::reshape(), octave_value_list::resize(), and tree_expression::rvalue1().
void tree_evaluator::visit_statement | ( | tree_statement & | stmt | ) | [virtual] |
Implements tree_walker.
Definition at line 678 of file pt-eval.cc.
References tree::accept(), bind_ans(), tree_statement::command(), debug_mode, do_breakpoint(), tree_statement::echo_code(), ECHO_FUNCTIONS, ECHO_SCRIPTS, error_state, tree_statement::expression(), function, gripe_library_execution_error(), tree_expression::is_assignment_expression(), tree::is_breakpoint(), tree_expression::is_identifier(), octave_value::is_undefined(), tree_expression::print_result(), tree_expression::rvalue1(), script, tree_expression::set_print_flag(), octave_call_stack::set_statement(), statement_context, Vdebugging, Vecho_executing_commands, and Vsilent_functions.
void tree_evaluator::visit_statement_list | ( | tree_statement_list & | lst | ) | [virtual] |
Implements tree_walker.
Definition at line 753 of file pt-eval.cc.
References tree_statement::accept(), octave_base_list< elt_type >::begin(), tree_break_command::breaking, tree_continue_command::continuing, octave_base_list< elt_type >::end(), error(), error_state, and tree_return_command::returning.
void tree_evaluator::visit_static_command | ( | tree_static_command & | cmd | ) | [virtual] |
Implements tree_walker.
Definition at line 218 of file pt-eval.cc.
References debug_mode, do_breakpoint(), do_decl_init_list(), do_static_init(), tree_decl_command::initializer_list(), and tree::is_breakpoint().
void tree_evaluator::visit_switch_case | ( | tree_switch_case & | ) | [virtual] |
void tree_evaluator::visit_switch_case_list | ( | tree_switch_case_list & | ) | [virtual] |
void tree_evaluator::visit_switch_command | ( | tree_switch_command & | cmd | ) | [virtual] |
Implements tree_walker.
Definition at line 823 of file pt-eval.cc.
References tree_statement_list::accept(), octave_base_list< elt_type >::begin(), tree_switch_command::case_list(), tree::column(), tree_switch_case::commands(), debug_mode, do_breakpoint(), octave_base_list< elt_type >::end(), error(), error_state, tree::is_breakpoint(), tree_switch_case::is_default_case(), tree_switch_case::label_matches(), tree::line(), tree_expression::rvalue1(), and tree_switch_command::switch_value().
void tree_evaluator::visit_try_catch_command | ( | tree_try_catch_command & | cmd | ) | [virtual] |
Implements tree_walker.
Definition at line 867 of file pt-eval.cc.
References tree_statement_list::accept(), tree_try_catch_command::body(), buffer_error_messages, tree_try_catch_command::cleanup(), error_state, unwind_protect::protect_var(), Vdebug_on_error, and Vdebug_on_warning.
void tree_evaluator::visit_unwind_protect_command | ( | tree_unwind_protect_command & | cmd | ) | [virtual] |
Implements tree_walker.
Definition at line 993 of file pt-eval.cc.
References tree_statement_list::accept(), tree_unwind_protect_command::body(), tree_unwind_protect_command::cleanup(), and do_unwind_protect_cleanup_code().
void tree_evaluator::visit_while_command | ( | tree_while_command & | cmd | ) | [virtual] |
Implements tree_walker.
Definition at line 1021 of file pt-eval.cc.
References tree_statement_list::accept(), tree_while_command::body(), tree_while_command::condition(), debug_mode, do_breakpoint(), error_state, in_loop_command, tree::is_breakpoint(), tree_expression::is_logically_true(), panic_impossible, unwind_protect::protect_var(), and quit_loop_now().
size_t tree_evaluator::current_frame = 0 [static] |
Definition at line 146 of file pt-eval.h.
Referenced by DEFUN(), do_breakpoint(), and visit_return_command().
int tree_evaluator::dbstep_flag = 0 [static] |
Definition at line 143 of file pt-eval.h.
Referenced by DEFUN(), do_breakpoint(), and reset_debug_state().
bool tree_evaluator::debug_mode = false [static] |
Definition at line 148 of file pt-eval.h.
Referenced by DEFUN(), bp_table::do_add_breakpoint(), bp_table::do_remove_all_breakpoints(), bp_table::do_remove_all_breakpoints_in_file(), bp_table::do_remove_breakpoint(), reset_debug_state(), user_abort(), visit_break_command(), visit_complex_for_command(), visit_continue_command(), visit_do_until_command(), visit_global_command(), visit_if_command(), visit_if_command_list(), visit_no_op_command(), visit_return_command(), visit_simple_for_command(), visit_statement(), visit_static_command(), visit_switch_command(), and visit_while_command().
bool tree_evaluator::in_loop_command = false [static] |
Definition at line 162 of file pt-eval.h.
Referenced by visit_break_command(), visit_complex_for_command(), visit_continue_command(), visit_do_until_command(), visit_return_command(), visit_simple_for_command(), and visit_while_command().
tree_evaluator::stmt_list_type tree_evaluator::statement_context = tree_evaluator::other [static] |
Definition at line 159 of file pt-eval.h.
Referenced by octave_user_function::do_multi_index_op(), octave_user_script::do_multi_index_op(), visit_break_command(), visit_continue_command(), visit_return_command(), and visit_statement().