GNU Octave
3.8.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
Main Page
Namespaces
Classes
Files
File List
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
libinterp
parse-tree
pt-cbinop.h
Go to the documentation of this file.
1
/*
2
3
Copyright (C) 2008-2013 Jaroslav Hajek
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 the
9
Free Software Foundation; either version 3 of the License, or (at your
10
option) any later version.
11
12
Octave is distributed in the hope that it will be useful, but WITHOUT
13
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15
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
<http://www.gnu.org/licenses/>.
20
21
*/
22
23
#if !defined (octave_pt_cbinop_h)
24
#define octave_pt_cbinop_h 1
25
26
#include <string>
27
28
class
tree_walker
;
29
30
class
octave_value
;
31
class
octave_value_list
;
32
class
octave_lvalue
;
33
34
#include "
ov.h
"
35
#include "
pt-binop.h
"
36
#include "
symtab.h
"
37
38
// Binary expressions that can be reduced to compound operations
39
40
class
41
tree_compound_binary_expression
:
public
tree_binary_expression
42
{
43
public
:
44
45
tree_compound_binary_expression
(
tree_expression
*a,
tree_expression
*b,
46
int
l,
int
c,
47
octave_value::binary_op
t,
48
tree_expression
*ca,
tree_expression
*cb,
49
octave_value::compound_binary_op
ct)
50
:
tree_binary_expression
(a, b, l, c, t), op_lhs (ca), op_rhs (cb),
51
etype (ct) { }
52
53
octave_value::compound_binary_op
cop_type
(
void
)
const
{
return
etype; }
54
55
private
:
56
57
tree_expression
*
op_lhs
;
58
tree_expression
*
op_rhs
;
59
octave_value::compound_binary_op
etype
;
60
61
// No copying!
62
63
tree_compound_binary_expression
(
const
tree_compound_binary_expression
&);
64
65
tree_compound_binary_expression
&
operator
=
66
(
const
tree_compound_binary_expression
&);
67
};
68
69
// a "virtual constructor"
70
71
tree_binary_expression
*
72
maybe_compound_binary_expression
(
tree_expression
*a,
tree_expression
*b,
73
int
l = -1,
int
c = -1,
74
octave_value::binary_op
t
75
=
octave_value::unknown_binary_op
);
76
77
#endif
Generated on Mon Dec 30 2013 03:04:37 for GNU Octave by
1.8.1.2