GNU Octave  4.4.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
pt-unop.cc
Go to the documentation of this file.
1 /*
2 
3 Copyright (C) 1996-2018 John W. Eaton
4 
5 This file is part of Octave.
6 
7 Octave is free software: you can redistribute it and/or modify it
8 under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11 
12 Octave is distributed in the hope that it will be useful, but
13 WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16 
17 You should have received a copy of the GNU General Public License
18 along with Octave; see the file COPYING. If not, see
19 <https://www.gnu.org/licenses/>.
20 
21 */
22 
23 #if defined (HAVE_CONFIG_H)
24 # include "config.h"
25 #endif
26 
27 #include "ov.h"
28 #include "pt-unop.h"
29 
30 namespace octave
31 {
32  // Unary expressions.
33 
36  {
38  }
39 
40  // Prefix expressions.
41 
44  {
46  = new tree_prefix_expression (m_op ? m_op->dup (scope) : nullptr,
47  line (), column (), m_etype);
48 
49  new_pe->copy_base (*this);
50 
51  return new_pe;
52  }
53 
54  // Postfix expressions.
55 
58  {
60  = new tree_postfix_expression (m_op ? m_op->dup (scope) : nullptr,
61  line (), column (), m_etype);
62 
63  new_pe->copy_base (*this);
64 
65  return new_pe;
66  }
67 }
virtual int line(void) const
Definition: pt.h:56
virtual int column(void) const
Definition: pt.h:58
tree_expression * dup(symbol_scope &scope) const
Definition: pt-unop.cc:43
std::string oper(void) const
Definition: pt-unop.cc:35
virtual void copy_base(const tree_expression &e)
Definition: pt-exp.h:130
tree_expression * m_op
Definition: pt-unop.h:79
tree_postfix_expression(int l=-1, int c=-1)
Definition: pt-unop.h:125
octave_value::unary_op m_etype
Definition: pt-unop.h:82
tree_expression * dup(symbol_scope &scope) const
Definition: pt-unop.cc:57
static std::string unary_op_as_string(unary_op)
Definition: ov.cc:121
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
Definition: utils.cc:888
tree_prefix_expression(int l=-1, int c=-1)
Definition: pt-unop.h:91
virtual tree_expression * dup(symbol_scope &scope) const =0