blob: a4b5d5cb1334bc9e7da4e3f53d454c9aa04b69bf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
-- File: BinaryExpression.cdl
-- Created: Thu Jan 10 12:27:32 1991
-- Author: Arnaud BOUZY
-- <adn@topsn3>
---Copyright: Matra Datavision 1991
deferred class BinaryExpression from Expr
inherits GeneralExpression from Expr
---Purpose: Defines all binary expressions. The order of the two
-- operands is significant.
uses NamedUnknown from Expr
raises OutOfRange from Standard,
NumericError from Standard,
InvalidOperand from Expr
is
FirstOperand(me)
---C++: inline
---C++: return const &
---Level : Internal
returns any GeneralExpression
is static;
SecondOperand(me)
---C++: inline
---C++: return const &
---Level : Internal
returns any GeneralExpression
is static;
SetFirstOperand(me : mutable; exp : GeneralExpression)
---Purpose: Sets first operand of <me>
-- Raises InvalidOperand if exp = me
---Level : Internal
raises InvalidOperand
is static;
SetSecondOperand(me : mutable; exp : GeneralExpression)
---Purpose: Sets second operand of <me>
-- Raises InvalidOperand if <exp> contains <me>.
---Level : Internal
raises InvalidOperand
is static;
CreateFirstOperand(me : mutable; exp : GeneralExpression)
---Purpose: Sets first operand of <me>
---Level : Internal
is static protected;
CreateSecondOperand(me : mutable; exp : GeneralExpression)
---Purpose: Sets second operand of <me>
-- Raises InvalidOperand if <exp> contains <me>.
---Level : Internal
is static protected;
NbSubExpressions(me)
---Purpose: returns the number of sub-expressions contained
-- in <me> ( >= 0)
returns Integer
is static;
SubExpression(me; I : Integer)
---Purpose: returns the <I>-th sub-expression of <me>
-- raises OutOfRange if <I> > NbSubExpressions(me)
---C++: return const &
returns any GeneralExpression
raises OutOfRange
is static;
ContainsUnknowns(me)
---Purpose: Does <me> contain NamedUnknown ?
returns Boolean
is static;
Contains(me; exp : GeneralExpression)
---Purpose: Tests if <me> contains <exp>.
returns Boolean
is static;
Replace(me : mutable ; var : NamedUnknown ; with : GeneralExpression)
---Purpose: Replaces all occurences of <var> with <with> in <me>.
-- Raises InvalidOperand if <with> contains <me>.
raises InvalidOperand
is static;
Simplified(me)
---Purpose: Returns a GeneralExpression after replacement of
-- NamedUnknowns by an associated expression and after
-- values computation.
returns any GeneralExpression
raises NumericError;
fields
myFirstOperand : GeneralExpression;
mySecondOperand : GeneralExpression;
end BinaryExpression;
|