51 :
tree_expression (l, c), lhs (le), rhs (re), preserve (plhs), etype (t)
68 error (
"invalid number of output arguments for expression X = RHS");
91 error (
"value on right hand side of assignment is undefined");
104 error (
"invalid number of elements on RHS of assignment");
111 if (ult.
numel () != 1)
123 retval = ult.
value ();
181 bool plhs,
int l,
int c)
226 for (std::list<octave_lvalue>::const_iterator p = lvalue_list.begin ();
227 p != lvalue_list.end ();
229 n_out += p->numel ();
234 && rhs_val1(0).is_cs_list ()
235 ? rhs_val1(0).list_value ()
247 std::list<octave_value_list> retval_list;
251 for (std::list<octave_lvalue>::iterator p = lvalue_list.begin ();
252 p != lvalue_list.end ();
273 retval_list.push_back (ovl);
279 error (
"some elements undefined in return list");
294 retval_list.push_back (rhs_val(k));
322 error (
"element number %d undefined in return list", k+1);
351 retval = retval_list;
tree_multi_assignment(bool plhs=false, int l=-1, int c=-1)
octave_value rvalue1(int nargout=1)
tree_simple_assignment(bool plhs=false, int l=-1, int c=-1, octave_value::assign_op t=octave_value::op_asn_eq)
~tree_simple_assignment(void)
static bool statement_printing_enabled(void)
octave_value_list slice(octave_idx_type offset, octave_idx_type len, bool tags=false) const
octave_value::assign_op etype
~tree_multi_assignment(void)
octave_idx_type length(void) const
tree_expression * dup(symbol_table::scope_id scope, symbol_table::context_id context) const
octave_value_list rvalue(int nargout)
virtual tree_expression * dup(symbol_table::scope_id, symbol_table::context_id context) const =0
void error(const char *fmt,...)
static std::string assign_op_as_string(assign_op)
virtual void copy_base(const tree_expression &e)
void accept(tree_walker &tw)
virtual void visit_simple_assignment(tree_simple_assignment &)=0
std::list< tree_expression * >::iterator iterator
octave_value value(void) const
bool print_result(void) const
bool is_black_hole(void) const
void gripe_nonbraced_cs_list_assignment(void)
std::string oper(void) const
octave_value rvalue1(int nargout=1)
static llvm::LLVMContext & context
octave_value::assign_op op_type(void) const
void numel(octave_idx_type n)
tree_argument_list * dup(symbol_table::scope_id scope, symbol_table::context_id context) const
std::string oper(void) const
virtual std::string name(void) const
virtual octave_value rvalue1(int nargout=1)
void assign(octave_value::assign_op, const octave_value &)
octave_value_list ovl(const octave_value &a0)
virtual void visit_multi_assignment(tree_multi_assignment &)=0
bool is_cs_list(void) const
void print_with_name(std::ostream &os, const std::string &name) const
virtual octave_lvalue lvalue(void)
virtual octave_value_list rvalue(int nargout)
bool is_undefined(void) const
octave_value_list list_value(void) const
void accept(tree_walker &tw)
tree_expression * dup(symbol_table::scope_id scope, symbol_table::context_id context) const
octave_value_list rvalue(int nargout)
std::list< octave_lvalue > lvalue_list(void)