23 #if defined (HAVE_CONFIG_H)
134 || statement_context ==
script));
201 p != init_list->
end ();
p++)
283 #if defined (HAVE_LLVM)
310 loop_body->
accept (*
this);
321 loop_body->
accept (*
this);
340 if (rhs.
ndims () > 2)
367 loop_body->
accept (*
this);
375 error (
"invalid type in for loop expression near line %d, column %d",
399 error (
"in statement 'for [X, Y] = VAL', VAL must be a structure");
439 loop_body->
accept (*
this);
680 bool do_bind_ans =
false;
686 do_bind_ans = (!
id->is_variable ());
701 catch (
const std::bad_alloc&)
709 "out of memory or dimension too large for Octave's index type");
729 error (
"invalid statement found in statement list!");
786 error (
"missing value in switch command near line %d, column %d",
796 p != lst->
end ();
p++)
816 bool execution_error =
false;
843 catch (
const octave::execution_exception&)
848 execution_error =
true;
879 catch_code->
accept (*
this);
915 catch (
const octave::execution_exception&)
969 if (unwind_protect_code)
973 unwind_protect_code->
accept (*
this);
975 catch (
const octave::execution_exception&)
1001 #if defined (HAVE_LLVM)
1027 loop_body->
accept (*
this);
1040 #if defined (HAVE_LLVM)
1052 int until_line = cmd.
line ();
1053 int until_column = cmd.
column ();
1063 loop_body->
accept (*
this);
1086 bool is_end_of_fcn_or_script)
const
1088 bool break_on_this_statement =
false;
1092 break_on_this_statement =
true;
1098 else if (is_breakpoint)
1100 break_on_this_statement =
true;
1118 break_on_this_statement =
true;
1137 break_on_this_statement =
true;
1146 break_on_this_statement =
true;
1160 if (is_end_of_fcn_or_script
1165 if (break_on_this_statement)
octave_lvalue lvalue(void)
string_vector keys(void) const
tree_identifier * identifier(void)
const Cell & contents(const_iterator p) const
void visit_funcall(tree_funcall &)
bool is_range(void) const
Octave interface to the compression and uncompression libraries.
void visit_argument_list(tree_argument_list &)
void visit_global_command(tree_global_command &)
tree_statement_list * cleanup(void)
octave_value reshape(const dim_vector &dv) const
The value of lines which begin with a space character are not saved in the history list A value of all commands are saved on the history list
bool label_matches(const octave_value &val)
void visit_parameter_list(tree_parameter_list &)
tree_expression * switch_value(void)
void visit_octave_user_script(octave_user_script &)
void visit_octave_user_function_header(octave_user_function &)
tree_expression * control_expr(void)
octave_idx_type numel(void) const
Number of elements in the array.
void visit_if_command_list(tree_if_command_list &)
static bool all_scripts(void)
identity matrix If supplied two scalar respectively For allows like xample val
F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T const F77_REAL const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T F77_REAL F77_REAL &F77_RET_T F77_DBLE F77_DBLE &F77_RET_T const F77_DBLE const F77_DBLE * f
static bool in_loop_command
void accept(tree_walker &tw)
static bool have_breakpoints(void)
octave_map map_value(void) const
bool is_scalar_type(void) const
bool is_defined(void) const
bool is_default_case(void)
static bool execute(tree_simple_for_command &cmd, const octave_value &bounds)
tree_command * command(void)
void do_decl_init_list(decl_elt_init_fcn fcn, tree_decl_init_list *init_list)
bool is_end_of_fcn_or_script(void) const
#define DEFUN(name, args_name, nargout_name, doc)
void error(const char *fmt,...)
static void reset_debug_state(void)
void visit_try_catch_command(tree_try_catch_command &)
std::string name(void) const
#define SET_INTERNAL_VARIABLE(NM)
tree_switch_case_list * case_list(void)
void visit_persistent_command(tree_persistent_command &)
void visit_constant(tree_constant &)
void visit_simple_assignment(tree_simple_assignment &)
std::list< tree_decl_elt * >::iterator iterator
tree_statement_list * commands(void)
void visit_prefix_expression(tree_prefix_expression &)
virtual octave_value do_keyboard(const octave_value_list &args=octave_value_list()) const
OCTAVE_EXPORT octave_value_list return the number of command line arguments passed to Octave If called with the optional argument the function t
static bool statement_printing_enabled(void)
static void set_location(int l, int c)
void visit_statement(tree_statement &)
tree_argument_list * left_hand_side(void)
static bool quiet_breakpoint_flag
tree_identifier * ident(void)
tree_decl_init_list * initializer_list(void)
void visit_return_command(tree_return_command &)
tree_statement_list * body(void)
tree_if_command_list * cmd_list(void)
tree_statement_list * body(void)
bool is_breakpoint(bool check_valid=false) const
static int current_line(void)
void visit_switch_command(tree_switch_command &)
int buffer_error_messages
void mark_as_static(void)
bool print_result(void) const
void visit_postfix_expression(tree_postfix_expression &)
static void do_global_init(tree_decl_elt &elt)
OCTAVE_EXPORT octave_value_list isdir nd deftypefn *std::string nm
void do_breakpoint(tree_statement &stmt) const
tree_expression * condition(void)
OCTAVE_EXPORT octave_value_list return the number of command line arguments passed to Octave If called with the optional argument the function xample nargout(@histc)
void add_fcn(void(*fcn)(void))
static size_t current_frame(void)
void visit_cell(tree_cell &)
tree_expression * control_expr(void)
void visit_identifier(tree_identifier &)
void visit_if_command(tree_if_command &)
void visit_fcn_handle(tree_fcn_handle &)
void error_with_id(const char *id, const char *fmt,...)
void accept(tree_walker &tw)
static size_t current_frame
Range range_value(void) const
bool is_matrix_type(void) const
void visit_if_clause(tree_if_clause &)
bool is_string(void) const
octave_idx_type numel(void) const
OCTINTERP_API std::string last_error_id(void)
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_binary_expression(tree_binary_expression &)
void do_unwind_protect_cleanup_code(tree_statement_list *list)
void visit_anon_fcn_handle(tree_anon_fcn_handle &)
tree_expression * left_hand_side(void)
void visit_octave_user_function_trailer(octave_user_function &)
sig_atomic_t octave_interrupt_state
void visit_break_command(tree_break_command &)
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)
static bool quit_loop_now(void)
OCTINTERP_API void bind_ans(const octave_value &val, bool print)
tree_statement_list * commands(void)
static void set_column(int c)
tree_statement_list * cleanup(void)
dim_vector dims(void) const
virtual int line(void) const
void visit_switch_case_list(tree_switch_case_list &)
void visit_while_command(tree_while_command &)
octave_function * function_value(bool silent=false) const
void visit_decl_elt(tree_decl_elt &)
octave::unwind_protect frame
void recover_from_exception(void)
OCTINTERP_API std::string last_error_message(void)
void visit_complex_for_command(tree_complex_for_command &)
bool is_end_of_fcn_or_script(void) const
virtual octave_value rvalue1(int nargout=1)
OCTINTERP_API octave_map last_error_stack(void)
void visit_simple_for_command(tree_simple_for_command &)
void visit_statement_list(tree_statement_list &)
void assign(octave_value::assign_op, const octave_value &)
bool is_else_clause(void)
static bool Vsilent_functions
=val(i)}if ode{val(i)}occurs in table i
static void do_static_init(tree_decl_elt &elt)
void assign(const std::string &k, const octave_value &val)
tree_expression * expression(void)
static int current_column(void)
void visit_function_def(tree_function_def &)
void visit_do_until_command(tree_do_until_command &)
tree_expression * expression(void)
bool is_breakpoint(bool check_active=false) const
virtual octave_lvalue lvalue(void)
void accept(tree_walker &tw)
void visit_decl_init_list(tree_decl_init_list &)
bool octave_debug_on_interrupt_state
bool is_undefined(void) const
void resize(octave_idx_type n, const octave_value &rfv=octave_value())
virtual bool is_assignment_expression(void) const
void visit_continue_command(tree_continue_command &)
static void set_line(int l)
OCTAVE_EXPORT octave_value_list error nd deftypefn *const octave_scalar_map err
bool is_undefined(void) const
static stmt_list_type statement_context
tree_statement_list * body(void)
virtual bool is_logically_true(const char *)
void visit_switch_case(tree_switch_case &)
void visit_no_op_command(tree_no_op_command &)
Vector representing the dimensions (size) of an Array.
void visit_return_list(tree_return_list &)
void visit_octave_user_function(octave_user_function &)
virtual int column(void) const
If this string is the system will ring the terminal sometimes it is useful to be able to print the original representation of the string
virtual void accept(tree_walker &tw)=0
void visit_unwind_protect_command(tree_unwind_protect_command &)
void visit_colon_expression(tree_colon_expression &)
void visit_index_expression(tree_index_expression &)
void visit_multi_assignment(tree_multi_assignment &)
virtual bool is_identifier(void) const
return octave_value(v1.char_array_value().concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string())? '\'': '"'))
void visit_matrix(tree_matrix &)
tree_expression * condition(void)
octave_value do_index_op(const octave_value_list &idx, bool resize_ok=false)