141 || statement_context ==
script));
208 p != init_list->
end (); p++)
349 loop_body->
accept (*
this);
360 loop_body->
accept (*
this);
379 if (rhs.
ndims () > 2)
406 loop_body->
accept (*
this);
415 ::error (
"invalid type in for loop expression near line %d, column %d",
471 std::string key = keys[i];
483 loop_body->
accept (*
this);
490 error (
"in statement 'for [X, Y] = VAL', VAL must be a structure");
526 std::string nm = f->
name ();
733 bool do_bind_ans =
false;
739 do_bind_ans = (!
id->is_variable ());
754 catch (octave_execution_exception)
758 catch (std::bad_alloc)
769 "out of memory or dimension too large for Octave's index type");
827 error (
"invalid statement found in statement list!");
861 p != lst->
end (); p++)
881 ::error (
"missing value in switch command near line %d, column %d",
944 catch_code->
accept (*
this);
1041 if (unwind_protect_code)
1045 unwind_protect_code->
accept (*
this);
1095 loop_body->
accept (*
this);
1137 loop_body->
accept (*
this);
1162 bool is_end_of_fcn_or_script)
const
1164 bool break_on_this_statement =
false;
1168 break_on_this_statement =
true;
1174 else if (is_breakpoint)
1176 break_on_this_statement =
true;
1194 break_on_this_statement =
true;
1213 break_on_this_statement =
true;
1222 break_on_this_statement =
true;
1236 if (is_end_of_fcn_or_script
1241 if (break_on_this_statement)
1256 DEFUN (max_recursion_depth, args, nargout,
1258 @deftypefn {Built-in Function} {@var{val} =} max_recursion_depth ()\n\
1259 @deftypefnx {Built-in Function} {@var{old_val} =} max_recursion_depth (@var{new_val})\n\
1260 @deftypefnx {Built-in Function} {} max_recursion_depth (@var{new_val}, \"local\")\n\
1261 Query or set the internal limit on the number of times a function may\n\
1262 be called recursively.\n\
1264 If the limit is exceeded, an error message is printed and control returns to\n\
1267 When called from inside a function with the @qcode{\"local\"} option, the\n\
1268 variable is changed locally for the function and any subroutines it calls.\n\
1269 The original variable value is restored when exiting the function.\n\
1287 DEFUN (silent_functions, args, nargout,
1289 @deftypefn {Built-in Function} {@var{val} =} silent_functions ()\n\
1290 @deftypefnx {Built-in Function} {@var{old_val} =} silent_functions (@var{new_val})\n\
1291 @deftypefnx {Built-in Function} {} silent_functions (@var{new_val}, \"local\")\n\
1292 Query or set the internal variable that controls whether internal\n\
1293 output from a function is suppressed.\n\
1295 If this option is disabled, Octave will display the results produced by\n\
1296 evaluating expressions within a function body that are not terminated with\n\
1299 When called from inside a function with the @qcode{\"local\"} option, the\n\
1300 variable is changed locally for the function and any subroutines it calls.\n\
1301 The original variable value is restored when exiting the function.\n\
octave_lvalue lvalue(void)
string_vector keys(void) const
void visit_colon_expression(tree_colon_expression &)
tree_identifier * identifier(void)
void visit_simple_for_command(tree_simple_for_command &)
const Cell & contents(const_iterator p) const
bool is_range(void) const
void visit_cell(tree_cell &)
void visit_funcall(tree_funcall &)
void visit_parameter_list(tree_parameter_list &)
tree_statement_list * cleanup(void)
octave_value reshape(const dim_vector &dv) const
static bool statement_printing_enabled(void)
bool label_matches(const octave_value &val)
static tree_evaluator std_evaluator
void do_decl_init_list(decl_elt_init_fcn fcn, tree_decl_init_list *init_list)
tree_expression * switch_value(void)
void visit_switch_case_list(tree_switch_case_list &)
void visit_decl_init_list(tree_decl_init_list &)
tree_expression * control_expr(void)
octave_idx_type numel(void) const
Number of elements in the array.
static bool all_scripts(void)
void visit_simple_assignment(tree_simple_assignment &)
void visit_multi_assignment(tree_multi_assignment &)
void accept(tree_walker &tw)
octave_idx_type nelem(void) const
static bool have_breakpoints(void)
octave_map map_value(void) const
void visit_break_command(tree_break_command &)
bool is_scalar_type(void) const
void visit_postfix_expression(tree_postfix_expression &)
bool is_default_case(void)
static bool execute(tree_simple_for_command &cmd, const octave_value &bounds)
tree_command * command(void)
bool is_end_of_fcn_or_script(void) const
#define DEFUN(name, args_name, nargout_name, doc)
void error(const char *fmt,...)
std::string name(void) const
#define SET_INTERNAL_VARIABLE(NM)
tree_switch_case_list * case_list(void)
static stmt_list_type statement_context
void visit_statement(tree_statement &)
void gripe_library_execution_error(void)
tree_statement_list * commands(void)
virtual octave_value do_keyboard(const octave_value_list &args=octave_value_list()) const
void bind_ans(const octave_value &val, bool print)
void do_unwind_protect_cleanup_code(tree_statement_list *list)
static void set_location(int l, int c)
void visit_function_def(tree_function_def &)
static bool quiet_breakpoint_flag
tree_argument_list * left_hand_side(void)
void visit_octave_user_function_trailer(octave_user_function &)
void visit_argument_list(tree_argument_list &)
tree_identifier * ident(void)
void visit_no_op_command(tree_no_op_command &)
tree_decl_init_list * initializer_list(void)
tree_statement_list * body(void)
tree_if_command_list * cmd_list(void)
tree_statement_list * body(void)
void visit_constant(tree_constant &)
std::list< tree_decl_elt * >::iterator iterator
static int current_line(void)
void visit_while_command(tree_while_command &)
int buffer_error_messages
void mark_as_static(void)
bool print_result(void) const
static void do_global_init(tree_decl_elt &elt)
void visit_if_clause(tree_if_clause &)
tree_expression * condition(void)
F77_RET_T const double const double * f
void add_fcn(void(*fcn)(void))
static size_t current_frame(void)
void visit_global_command(tree_global_command &)
tree_expression * control_expr(void)
void visit_decl_elt(tree_decl_elt &)
void error_with_id(const char *id, const char *fmt,...)
void accept(tree_walker &tw)
octave_map last_error_stack(void)
Range range_value(void) const
bool is_matrix_type(void) const
bool is_string(void) const
void visit_fcn_handle(tree_fcn_handle &)
void visit_if_command(tree_if_command &)
octave_value function(void)
double elem(octave_idx_type i) const
tree_statement_list * body(void)
static void install_cmdline_function(const std::string &name, const octave_value &fcn)
#define panic_impossible()
void visit_do_until_command(tree_do_until_command &)
tree_expression * left_hand_side(void)
sig_atomic_t octave_interrupt_state
static void reset_debug_state(void)
static void assign(const std::string &name, const octave_value &value=octave_value(), scope_id scope=xcurrent_scope, context_id context=xdefault_context, bool force_add=false)
dim_vector redim(int n) const
tree_statement_list * body(void)
void visit_return_command(tree_return_command &)
static bool quit_loop_now(void)
bool is_breakpoint(void) const
tree_statement_list * commands(void)
void visit_octave_user_function(octave_user_function &)
static void set_column(int c)
tree_statement_list * cleanup(void)
void visit_octave_user_function_header(octave_user_function &)
tree_evaluator * current_evaluator
dim_vector dims(void) const
virtual int line(void) const
octave_function * function_value(bool silent=false) const
bool is_end_of_fcn_or_script(void) const
virtual octave_value rvalue1(int nargout=1)
void assign(octave_value::assign_op, const octave_value &)
void visit_binary_expression(tree_binary_expression &)
static size_t current_frame
bool is_else_clause(void)
static bool Vsilent_functions
static void do_static_init(tree_decl_elt &elt)
void visit_continue_command(tree_continue_command &)
void assign(const std::string &k, const octave_value &val)
bool is_breakpoint(void) const
tree_expression * expression(void)
static int current_column(void)
tree_expression * expression(void)
virtual octave_lvalue lvalue(void)
void accept(tree_walker &tw)
bool octave_debug_on_interrupt_state
void visit_unwind_protect_command(tree_unwind_protect_command &)
bool is_undefined(void) const
void visit_statement_list(tree_statement_list &)
void resize(octave_idx_type n, const octave_value &rfv=octave_value())
virtual bool is_assignment_expression(void) const
void visit_index_expression(tree_index_expression &)
std::string last_error_id(void)
static void set_line(int l)
void visit_persistent_command(tree_persistent_command &)
static bool in_loop_command
void visit_if_command_list(tree_if_command_list &)
bool is_undefined(void) const
tree_statement_list * body(void)
void visit_identifier(tree_identifier &)
void do_breakpoint(tree_statement &stmt) const
virtual bool is_logically_true(const char *)
void visit_prefix_expression(tree_prefix_expression &)
void visit_switch_case(tree_switch_case &)
virtual int column(void) const
void visit_return_list(tree_return_list &)
void visit_anon_fcn_handle(tree_anon_fcn_handle &)
void visit_complex_for_command(tree_complex_for_command &)
virtual void accept(tree_walker &tw)=0
void visit_matrix(tree_matrix &)
virtual bool is_identifier(void) const
void visit_try_catch_command(tree_try_catch_command &)
return octave_value(v1.char_array_value().concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string())? '\'': '"'))
void visit_switch_command(tree_switch_command &)
std::string last_error_message(void)
tree_expression * condition(void)
void visit_octave_user_script(octave_user_script &)
octave_value do_index_op(const octave_value_list &idx, bool resize_ok=false)