Skip to content
Navigation Menu
{{ message }}
forked from bingmann/flex-bison-cpp-example
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathclassCalcNode.html
More file actions
189 lines (170 loc) · 11.9 KB
/
Copy pathclassCalcNode.html
File metadata and controls
189 lines (170 loc) · 11.9 KB
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Flex Bison C++ Example: CalcNode Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.9 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Class List</span></a></li>
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class Members</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>CalcNode Class Reference</h1><!-- doxytag: class="CalcNode" --><a class="el" href="classCalcNode.html" title="CalcNode is the abstract base class for calculation nodes.">CalcNode</a> is the abstract base class for calculation nodes.
<a href="#_details">More...</a>
<p>
<code>#include <<a class="el" href="expression_8h_source.html">expression.h</a>></code>
<p>
<div class="dynheader">
Inheritance diagram for CalcNode:</div>
<div class="dynsection">
<p><center><img src="classCalcNode.png" usemap="#CalcNode_map" border="0" alt=""></center>
<map name="CalcNode_map">
<area href="classCNAdd.html" alt="CNAdd" shape="rect" coords="89,56,168,80">
<area href="classCNConstant.html" alt="CNConstant" shape="rect" coords="89,112,168,136">
<area href="classCNDivide.html" alt="CNDivide" shape="rect" coords="89,168,168,192">
<area href="classCNModulo.html" alt="CNModulo" shape="rect" coords="89,224,168,248">
<area href="classCNMultiply.html" alt="CNMultiply" shape="rect" coords="89,280,168,304">
<area href="classCNNegate.html" alt="CNNegate" shape="rect" coords="89,336,168,360">
<area href="classCNPower.html" alt="CNPower" shape="rect" coords="89,392,168,416">
<area href="classCNSubtract.html" alt="CNSubtract" shape="rect" coords="89,448,168,472">
</map>
</div>
<p>
<a href="classCalcNode-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classCalcNode.html#d277e8092667f224a6f7f607885a3a4d">~CalcNode</a> ()</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">required for virtual functions. <a href="#d277e8092667f224a6f7f607885a3a4d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="classCalcNode.html#0c036b9e80266101e155bf76da1b868a">evaluate</a> () const =0</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">evaluate the complete calculation tree and return the floating point result value <a href="#0c036b9e80266101e155bf76da1b868a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCalcNode.html#ce46c07f593f0b4727faa46cbeb8f6e8">print</a> (std::ostream &os, unsigned int depth=0) const =0</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">output the calculation tree to the given stream. <a href="#ce46c07f593f0b4727faa46cbeb8f6e8"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classCalcNode.html#605eaaacf8c3d3367c722bf7787fc4d2">indent</a> (unsigned int d)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">helper function for <a class="el" href="classCalcNode.html#ce46c07f593f0b4727faa46cbeb8f6e8" title="output the calculation tree to the given stream.">print()</a> which makes the indention string <a href="#605eaaacf8c3d3367c722bf7787fc4d2"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a class="el" href="classCalcNode.html" title="CalcNode is the abstract base class for calculation nodes.">CalcNode</a> is the abstract base class for calculation nodes.
<p>
From it the different nullary, unary and binary nodes are derived.
<p>Definition at line <a class="el" href="expression_8h_source.html#l00015">15</a> of file <a class="el" href="expression_8h_source.html">expression.h</a>.</p>
<hr><h2>Constructor & Destructor Documentation</h2>
<a class="anchor" name="d277e8092667f224a6f7f607885a3a4d"></a><!-- doxytag: member="CalcNode::~CalcNode" ref="d277e8092667f224a6f7f607885a3a4d" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual CalcNode::~CalcNode </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td><code> [inline, virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
required for virtual functions.
<p>
in the derived classes the operands are deleted.
<p>Definition at line <a class="el" href="expression_8h_source.html#l00020">20</a> of file <a class="el" href="expression_8h_source.html">expression.h</a>.</p>
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="0c036b9e80266101e155bf76da1b868a"></a><!-- doxytag: member="CalcNode::evaluate" ref="0c036b9e80266101e155bf76da1b868a" args="() const =0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual double CalcNode::evaluate </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td> const<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
evaluate the complete calculation tree and return the floating point result value
<p>
<p>Implemented in <a class="el" href="classCNConstant.html#f8f9ed8124c661e1dd31df7e6eed94c3">CNConstant</a>, <a class="el" href="classCNNegate.html#d8742ef807da75fea0d512467d5331cd">CNNegate</a>, <a class="el" href="classCNAdd.html#5b558f1853ec5555c1ff3503f44b30e7">CNAdd</a>, <a class="el" href="classCNSubtract.html#e57879411a77bf2a5b16f28aa488a3d6">CNSubtract</a>, <a class="el" href="classCNMultiply.html#51ce205165bfa5842002721332c14f5c">CNMultiply</a>, <a class="el" href="classCNDivide.html#416c36cec11a481a20bbe3409c1e42db">CNDivide</a>, <a class="el" href="classCNModulo.html#ea0edc20d0feeaded4e44182039f8396">CNModulo</a>, and <a class="el" href="classCNPower.html#9461646cf8e9fc0cb54318e04d73ed72">CNPower</a>.</p>
<p>Referenced by <a class="el" href="expression_8h_source.html#l00284">CNPower::evaluate()</a>, <a class="el" href="expression_8h_source.html#l00250">CNModulo::evaluate()</a>, <a class="el" href="expression_8h_source.html#l00215">CNDivide::evaluate()</a>, <a class="el" href="expression_8h_source.html#l00181">CNMultiply::evaluate()</a>, <a class="el" href="expression_8h_source.html#l00147">CNSubtract::evaluate()</a>, <a class="el" href="expression_8h_source.html#l00113">CNAdd::evaluate()</a>, and <a class="el" href="expression_8h_source.html#l00080">CNNegate::evaluate()</a>.</p>
</div>
</div><p>
<a class="anchor" name="605eaaacf8c3d3367c722bf7787fc4d2"></a><!-- doxytag: member="CalcNode::indent" ref="605eaaacf8c3d3367c722bf7787fc4d2" args="(unsigned int d)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static std::string CalcNode::indent </td>
<td>(</td>
<td class="paramtype">unsigned int </td>
<td class="paramname"> <em>d</em> </td>
<td> ) </td>
<td><code> [inline, static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
helper function for <a class="el" href="classCalcNode.html#ce46c07f593f0b4727faa46cbeb8f6e8" title="output the calculation tree to the given stream.">print()</a> which makes the indention string
<p>
<p>Definition at line <a class="el" href="expression_8h_source.html#l00033">33</a> of file <a class="el" href="expression_8h_source.html">expression.h</a>.</p>
<p>Referenced by <a class="el" href="expression_8h_source.html#l00289">CNPower::print()</a>, <a class="el" href="expression_8h_source.html#l00255">CNModulo::print()</a>, <a class="el" href="expression_8h_source.html#l00220">CNDivide::print()</a>, <a class="el" href="expression_8h_source.html#l00186">CNMultiply::print()</a>, <a class="el" href="expression_8h_source.html#l00152">CNSubtract::print()</a>, <a class="el" href="expression_8h_source.html#l00118">CNAdd::print()</a>, <a class="el" href="expression_8h_source.html#l00085">CNNegate::print()</a>, and <a class="el" href="expression_8h_source.html#l00057">CNConstant::print()</a>.</p>
</div>
</div><p>
<a class="anchor" name="ce46c07f593f0b4727faa46cbeb8f6e8"></a><!-- doxytag: member="CalcNode::print" ref="ce46c07f593f0b4727faa46cbeb8f6e8" args="(std::ostream &os, unsigned int depth=0) const =0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void CalcNode::print </td>
<td>(</td>
<td class="paramtype">std::ostream & </td>
<td class="paramname"> <em>os</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int </td>
<td class="paramname"> <em>depth</em> = <code>0</code></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td> const<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
output the calculation tree to the given stream.
<p>
tries to format the output to make tree levels visible.
<p>Implemented in <a class="el" href="classCNConstant.html#cacd0c4f899f52b2ec29ad102fc17d9a">CNConstant</a>, <a class="el" href="classCNNegate.html#05186ba465d67b4c7d82775aff6bfcc7">CNNegate</a>, <a class="el" href="classCNAdd.html#73128b63182541df1e0d8797c1c3f4a9">CNAdd</a>, <a class="el" href="classCNSubtract.html#2a1f71490f4492af059f80ebd862a442">CNSubtract</a>, <a class="el" href="classCNMultiply.html#a97ab488dd08e3c3248df351465e0d1d">CNMultiply</a>, <a class="el" href="classCNDivide.html#0126b757dde799c062ce16abfeda197d">CNDivide</a>, <a class="el" href="classCNModulo.html#9dbb4fee67eb934535924e6ee8ffc810">CNModulo</a>, and <a class="el" href="classCNPower.html#23b22f144f66e242794826719eb4a47a">CNPower</a>.</p>
<p>Referenced by <a class="el" href="expression_8h_source.html#l00289">CNPower::print()</a>, <a class="el" href="expression_8h_source.html#l00255">CNModulo::print()</a>, <a class="el" href="expression_8h_source.html#l00220">CNDivide::print()</a>, <a class="el" href="expression_8h_source.html#l00186">CNMultiply::print()</a>, <a class="el" href="expression_8h_source.html#l00152">CNSubtract::print()</a>, <a class="el" href="expression_8h_source.html#l00118">CNAdd::print()</a>, and <a class="el" href="expression_8h_source.html#l00085">CNNegate::print()</a>.</p>
</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li>src/<a class="el" href="expression_8h_source.html">expression.h</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sat Sep 5 10:26:25 2009 for Flex Bison C++ Example by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
</body>
</html>
You can’t perform that action at this time.
