MADARA  3.1.8
PrintVisitor.cpp
Go to the documentation of this file.
1 /* -*- C++ -*- */
2 #ifndef _PRINT_VISITOR_CPP_
3 #define _PRINT_VISITOR_CPP_
4 
5 #ifdef _USE_VISITORS_
6 
7 #include <iostream>
8 
41 
43 
44 void
45 madara::expression::PrintVisitor::visit (const LeafNode &node)
46 {
48  "%" PRId64 " ", node.item ()));
49  //std::cout << node.item () << " ";
50 }
51 
53 void
54 madara::expression::PrintVisitor::visit (const VariableNode &node)
55 {
57  "%s ", node.key ().c_str ()));
58 }
59 
61 void
62 madara::expression::PrintVisitor::visit (const VariableDecrementNode &node)
63 {
65  "%s -= ", node.key ().c_str ()));
66 }
67 
69 void
70 madara::expression::PrintVisitor::visit (const VariableDivideNode &node)
71 {
73  "%s /= ", node.key ().c_str ()));
74 }
75 
77 void
78 madara::expression::PrintVisitor::visit (const VariableIncrementNode &node)
79 {
81  "%s += ", node.key ().c_str ()));
82 }
83 
85 void
86 madara::expression::PrintVisitor::visit (const VariableMultiplyNode &node)
87 {
89  "%s *= ", node.key ().c_str ()));
90 }
91 
93 void
94 madara::expression::PrintVisitor::visit (const VariableCompareNode &node)
95 {
97  "compare(%s) ", node.key ().c_str ()));
98 }
99 
101 void
102 madara::expression::PrintVisitor::visit (const ListNode &node)
103 {
105  "list "));
106 }
107 
109 void
110 madara::expression::PrintVisitor::visit (const CompositeNegateNode &)
111 {
113  "-"));
114 }
115 
117 
118 void
119 madara::expression::PrintVisitor::visit (const CompositePredecrementNode &)
120 {
122  "--"));
123 }
124 
126 
127 void
128 madara::expression::PrintVisitor::visit (const CompositePreincrementNode &)
129 {
131  "++"));
132 }
133 
135 
136 void
137 madara::expression::PrintVisitor::visit (const CompositeNotNode &)
138 {
140  "!"));
141 }
142 
144 
145 void
146 madara::expression::PrintVisitor::visit (const CompositeAddNode &)
147 {
149  "+ "));
150 }
151 
153 
154 void
155 madara::expression::PrintVisitor::visit (const CompositeAndNode &)
156 {
158  "&& "));
159 }
160 
162 
163 void
164 madara::expression::PrintVisitor::visit (const CompositeOrNode &)
165 {
167  "|| "));
168 }
169 
171 void
172 madara::expression::PrintVisitor::visit (const CompositeEqualityNode &)
173 {
175  "== "));
176 }
177 
179 void
180 madara::expression::PrintVisitor::visit (const CompositeInequalityNode &)
181 {
183  "!= "));
184 }
185 
187 void
188 madara::expression::PrintVisitor::visit (const CompositeGreaterThanEqualNode &)
189 {
191  ">= "));
192 }
193 
195 void
196 madara::expression::PrintVisitor::visit (const CompositeGreaterThanNode &)
197 {
199  "> "));
200 }
201 
203 void
204 madara::expression::PrintVisitor::visit (const CompositeLessThanEqualNode &)
205 {
207  "<= "));
208 }
209 
211 void
212 madara::expression::PrintVisitor::visit (const CompositeLessThanNode &)
213 {
215  "< "));
216 }
217 
219 
220 void
221 madara::expression::PrintVisitor::visit (const CompositeAssignmentNode &)
222 {
224  "= "));
225 }
226 
228 
229 void
230 madara::expression::PrintVisitor::visit (const CompositeSubtractNode &)
231 {
233  "- "));
234 }
235 
237 
238 void
239 madara::expression::PrintVisitor::visit (const CompositeDivideNode &)
240 {
242  "/ "));
243 }
244 
246 
247 void
248 madara::expression::PrintVisitor::visit (const CompositeMultiplyNode &)
249 {
251  "* "));
252 }
253 
255 
256 void
257 madara::expression::PrintVisitor::visit (const CompositeModulusNode &)
258 {
260  "% "));
261 }
262 
264 
265 void
266 madara::expression::PrintVisitor::visit (const CompositeBothNode &)
267 {
269  "; "));
270 }
271 
273 
274 void
275 madara::expression::PrintVisitor::visit (const CompositeSequentialNode &)
276 {
278  ", "));
279 }
280 
282 
283 void
284 madara::expression::PrintVisitor::visit (const CompositeFunctionNode &)
285 {
287  "function call "));
288 }
289 
291 
292 void
293 madara::expression::PrintVisitor::visit (const CompositeForLoop &)
294 {
296  "for loop "));
297 }
298 
300 
301 void
302 madara::expression::PrintVisitor::visit (const CompositeImpliesNode &)
303 {
305  "=> "));
306 }
307 
308 #endif // _USE_VISITORS_
309 
310 #endif /* _PRINT_VISITOR_CPP_ */
#define MADARA_LOG_EMERGENCY
Used for errors that cause the fatal shutdown of any portion of the infrastructure.
Definition: LogMacros.h:36
#define MADARA_DEBUG(L, X)
Definition: LogMacros.h:137