Mercurial > octave
comparison libinterp/parse-tree/pt-binop.h @ 31777:e995783d78e7 stable
capture modified operands when rewriting binary expressions in parse tree
* pt-binop.h (tree_binary_expression::lhs,
tree_binary_expression::rhs): New functions.
* oct-parse.yy (base_parser::maybe_convert_to_braindead_shortcircuit):
Reset binary expression object operands after recursive call.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 25 Jan 2023 15:28:40 -0500 |
parents | 597f3ee61a48 |
children | 9feb455dd514 |
comparison
equal
deleted
inserted
replaced
31772:c0df18c13a77 | 31777:e995783d78e7 |
---|---|
88 octave_value::binary_op op_type (void) const { return m_etype; } | 88 octave_value::binary_op op_type (void) const { return m_etype; } |
89 | 89 |
90 tree_expression * lhs (void) { return m_lhs; } | 90 tree_expression * lhs (void) { return m_lhs; } |
91 tree_expression * rhs (void) { return m_rhs; } | 91 tree_expression * rhs (void) { return m_rhs; } |
92 | 92 |
93 void lhs (tree_expression *expr) { m_lhs = expr; } | |
94 void rhs (tree_expression *expr) { m_rhs = expr; } | |
95 | |
93 tree_expression * dup (symbol_scope& scope) const; | 96 tree_expression * dup (symbol_scope& scope) const; |
94 | 97 |
95 octave_value evaluate (tree_evaluator&, int nargout = 1); | 98 octave_value evaluate (tree_evaluator&, int nargout = 1); |
96 | 99 |
97 octave_value_list evaluate_n (tree_evaluator& tw, int nargout = 1) | 100 octave_value_list evaluate_n (tree_evaluator& tw, int nargout = 1) |