Changeset 2019 for XIOS/dev/dev_trunk_graph/src/parse_expr
- Timestamp:
- 01/22/21 12:00:29 (3 years ago)
- Location:
- XIOS/dev/dev_trunk_graph/src/parse_expr
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/dev_trunk_graph/src/parse_expr/filter_expr_node.cpp
r1686 r2019 12 12 13 13 14 std::shared_ptr<COutputPin> CFilterFieldExprNode::reduce(CGarbageCollector& gc, CField& thisField , Time start_graph, Time end_graph) const14 std::shared_ptr<COutputPin> CFilterFieldExprNode::reduce(CGarbageCollector& gc, CField& thisField) const 15 15 { 16 16 std::shared_ptr<COutputPin> outputPin; … … 40 40 << "Use the keyword \"this\" if you want to reference the input data sent to this field."); 41 41 42 // field->buildFilterGraph(gc, false); 43 field->buildFilterGraph(gc, false, start_graph, end_graph); 44 outputPin = field->getInstantDataFilter(); 42 bool ret=field->buildWorkflowGraph(gc); 43 if (ret) outputPin = field->getInstantDataFilter(); // if dependency is complete build the graph other return nullptr 45 44 } 46 45 else ERROR("boost::shared_ptr<COutputPin> CFilterFieldExprNode::reduce(CGarbageCollector& gc, CField& thisField) const", … … 56 55 57 56 58 std::shared_ptr<COutputPin> CFilterTemporalFieldExprNode::reduce(CGarbageCollector& gc, CField& thisField , Time start_graph, Time end_graph) const57 std::shared_ptr<COutputPin> CFilterTemporalFieldExprNode::reduce(CGarbageCollector& gc, CField& thisField) const 59 58 { 60 59 std::shared_ptr<COutputPin> outputPin; … … 85 84 << "Use the keyword \"this\" if you want to reference the input data sent to this field."); 86 85 87 field->buildFilterGraph(gc, false);88 outputPin = field->getTemporalDataFilter(gc, thisField.freq_op.isEmpty() ? TimeStep : thisField.freq_op);86 bool ret=field->buildWorkflowGraph(gc); 87 if (ret) outputPin = field->getTemporalDataFilter(gc, thisField.freq_op.isEmpty() ? TimeStep : thisField.freq_op); 89 88 } 90 89 else … … 105 104 } 106 105 107 std::shared_ptr<COutputPin> CFilterUnaryOpExprNode::reduce(CGarbageCollector& gc, CField& thisField, Time start_graph, Time end_graph) const 108 { 109 std::shared_ptr<COutputPin> ch = child->reduce(gc, thisField, start_graph, end_graph); 110 106 std::shared_ptr<COutputPin> CFilterUnaryOpExprNode::reduce(CGarbageCollector& gc, CField& thisField) const 107 { 111 108 std::shared_ptr<CUnaryArithmeticFilter> filter(new CUnaryArithmeticFilter(gc, opId)); 112 ch->connectOutput(filter, 0); 113 114 (filter->parent_filters).resize(1); 115 (filter->parent_filters)[0] = ch; 116 117 filter->tag = ch->tag; 118 filter->start_graph = ch->start_graph; 119 filter->end_graph = ch->end_graph; 120 filter->field = &thisField; 121 122 109 auto ret=child->reduce(gc, thisField) ; 110 if (ret) ret->connectOutput(filter, 0); 111 else filter.reset() ; 123 112 return filter; 124 113 } … … 134 123 } 135 124 136 std::shared_ptr<COutputPin> CFilterScalarFieldOpExprNode::reduce(CGarbageCollector& gc, CField& thisField, Time start_graph, Time end_graph) const 137 { 138 std::shared_ptr<COutputPin> ch2 = child2->reduce(gc, thisField, start_graph, end_graph); 125 std::shared_ptr<COutputPin> CFilterScalarFieldOpExprNode::reduce(CGarbageCollector& gc, CField& thisField) const 126 { 139 127 std::shared_ptr<CScalarFieldArithmeticFilter> filter(new CScalarFieldArithmeticFilter(gc, opId, child1->reduce())); 140 ch2->connectOutput(filter, 0);141 128 142 (filter->parent_filters).resize(1); 143 (filter->parent_filters)[0] = ch2; 144 145 filter->tag = ch2->tag; 146 filter->start_graph = ch2->start_graph; 147 filter->end_graph = ch2->end_graph; 148 filter->field = &thisField; 149 129 auto ret=child2->reduce(gc, thisField) ; 130 if (ret) ret->connectOutput(filter, 0); 131 else filter.reset() ; 150 132 return filter; 151 133 } … … 161 143 } 162 144 163 std::shared_ptr<COutputPin> CFilterFieldScalarOpExprNode::reduce(CGarbageCollector& gc, CField& thisField, Time start_graph, Time end_graph) const 164 { 165 std::shared_ptr<COutputPin> ch1 = child1->reduce(gc, thisField, start_graph, end_graph); 166 145 std::shared_ptr<COutputPin> CFilterFieldScalarOpExprNode::reduce(CGarbageCollector& gc, CField& thisField) const 146 { 167 147 std::shared_ptr<CFieldScalarArithmeticFilter> filter(new CFieldScalarArithmeticFilter(gc, opId, child2->reduce())); 168 ch1->connectOutput(filter, 0); 169 170 (filter->parent_filters).resize(1); 171 (filter->parent_filters)[0] = ch1; 172 173 filter->tag = ch1->tag; 174 filter->start_graph = ch1->start_graph; 175 filter->end_graph = ch1->end_graph; 176 filter->field = &thisField; 177 148 auto ret=child1->reduce(gc, thisField) ; 149 if (ret) ret->connectOutput(filter, 0); 150 else filter.reset() ; 178 151 return filter; 179 152 } … … 189 162 } 190 163 191 std::shared_ptr<COutputPin> CFilterFieldFieldOpExprNode::reduce(CGarbageCollector& gc, CField& thisField, Time start_graph, Time end_graph) const 192 { 193 std::shared_ptr<COutputPin> ch1 = child1->reduce(gc, thisField, start_graph, end_graph); 194 std::shared_ptr<COutputPin> ch2 = child2->reduce(gc, thisField, start_graph, end_graph); 195 164 std::shared_ptr<COutputPin> CFilterFieldFieldOpExprNode::reduce(CGarbageCollector& gc, CField& thisField) const 165 { 196 166 std::shared_ptr<CFieldFieldArithmeticFilter> filter(new CFieldFieldArithmeticFilter(gc, opId)); 197 ch1->connectOutput(filter, 0); 198 ch2->connectOutput(filter, 1); 199 200 (filter->parent_filters).resize(2); 201 (filter->parent_filters)[0] = ch1; 202 (filter->parent_filters)[1] = ch2; 203 204 filter->tag = (ch1->tag || ch2->tag); 205 filter->start_graph = ch1->tag? ch1->start_graph : (ch2->tag? ch2->start_graph: -1); 206 filter->end_graph = ch1->tag? ch1->end_graph : (ch2->tag? ch2->end_graph: -1); 207 208 filter->field = &thisField; 209 210 167 auto ret1 = child1->reduce(gc, thisField); 168 auto ret2 = child2->reduce(gc, thisField); 169 if (ret1 && ret2) 170 { 171 ret1->connectOutput(filter, 0) ; 172 ret2->connectOutput(filter, 1) ; 173 } 174 else filter.reset() ; 211 175 return filter; 212 176 } … … 226 190 } 227 191 228 std::shared_ptr<COutputPin> CFilterScalarScalarFieldOpExprNode::reduce(CGarbageCollector& gc, CField& thisField, Time start_graph, Time end_graph) const 229 { 230 std::shared_ptr<COutputPin> ch3 = child3->reduce(gc, thisField, start_graph, end_graph); 231 192 std::shared_ptr<COutputPin> CFilterScalarScalarFieldOpExprNode::reduce(CGarbageCollector& gc, CField& thisField) const 193 { 232 194 std::shared_ptr<CScalarScalarFieldArithmeticFilter> filter(new CScalarScalarFieldArithmeticFilter(gc, opId, child1->reduce(),child2->reduce())); 233 ch3->connectOutput(filter, 0); 234 235 (filter->parent_filters).resize(1); 236 (filter->parent_filters)[0] = ch3; 237 238 filter->tag = ch3->tag; 239 filter->start_graph = ch3->start_graph; 240 filter->end_graph = ch3->end_graph; 241 filter->field = &thisField; 242 195 auto ret=child3->reduce(gc, thisField) ; 196 if (ret) ret->connectOutput(filter, 0); 197 else filter.reset() ; 243 198 return filter; 244 199 } … … 256 211 } 257 212 258 std::shared_ptr<COutputPin> CFilterScalarFieldScalarOpExprNode::reduce(CGarbageCollector& gc, CField& thisField, Time start_graph, Time end_graph) const 259 { 260 std::shared_ptr<COutputPin> ch2 = child2->reduce(gc, thisField, start_graph, end_graph); 261 213 std::shared_ptr<COutputPin> CFilterScalarFieldScalarOpExprNode::reduce(CGarbageCollector& gc, CField& thisField) const 214 { 262 215 std::shared_ptr<CScalarFieldScalarArithmeticFilter> filter(new CScalarFieldScalarArithmeticFilter(gc, opId, child1->reduce(),child3->reduce())); 263 ch2->connectOutput(filter, 0); 264 265 (filter->parent_filters).resize(1); 266 (filter->parent_filters)[0] = ch2; 267 268 filter->tag = ch2->tag; 269 filter->start_graph = ch2->start_graph; 270 filter->end_graph = ch2->end_graph; 271 filter->field = &thisField; 272 216 auto ret=child2->reduce(gc, thisField); 217 if (ret) ret->connectOutput(filter, 0); 218 else filter.reset() ; 273 219 return filter; 274 220 } … … 286 232 } 287 233 288 std::shared_ptr<COutputPin> CFilterScalarFieldFieldOpExprNode::reduce(CGarbageCollector& gc, CField& thisField, Time start_graph, Time end_graph) const 289 { 290 std::shared_ptr<COutputPin> ch2 = child2->reduce(gc, thisField, start_graph, end_graph); 291 std::shared_ptr<COutputPin> ch3 = child3->reduce(gc, thisField, start_graph, end_graph); 292 234 std::shared_ptr<COutputPin> CFilterScalarFieldFieldOpExprNode::reduce(CGarbageCollector& gc, CField& thisField) const 235 { 293 236 std::shared_ptr<CScalarFieldFieldArithmeticFilter> filter(new CScalarFieldFieldArithmeticFilter(gc, opId, child1->reduce())); 294 ch2->connectOutput(filter, 0); 295 ch3->connectOutput(filter, 1); 296 297 (filter->parent_filters).resize(2); 298 (filter->parent_filters)[0] = ch2; 299 (filter->parent_filters)[1] = ch3; 300 301 filter->tag = (ch3->tag || ch2->tag); 302 filter->start_graph = ch3->tag? ch3->start_graph : (ch2->tag? ch2->start_graph: -1); 303 filter->end_graph = ch3->tag? ch3->end_graph : (ch2->tag? ch2->end_graph: -1); 304 filter->field = &thisField; 305 237 auto ret1=child2->reduce(gc, thisField); 238 auto ret2=child3->reduce(gc, thisField); 239 if (ret1 && ret2) 240 { 241 ret1->connectOutput(filter, 0); 242 ret2->connectOutput(filter, 1); 243 } 244 else filter.reset() ; 306 245 return filter; 307 246 } … … 320 259 } 321 260 322 std::shared_ptr<COutputPin> CFilterFieldScalarScalarOpExprNode::reduce(CGarbageCollector& gc, CField& thisField, Time start_graph, Time end_graph) const 323 { 324 std::shared_ptr<COutputPin> ch1 = child1->reduce(gc, thisField, start_graph, end_graph); 325 261 std::shared_ptr<COutputPin> CFilterFieldScalarScalarOpExprNode::reduce(CGarbageCollector& gc, CField& thisField) const 262 { 326 263 std::shared_ptr<CFieldScalarScalarArithmeticFilter> filter(new CFieldScalarScalarArithmeticFilter(gc, opId, child2->reduce(),child3->reduce())); 327 ch1->connectOutput(filter, 0); 328 329 (filter->parent_filters).resize(1); 330 (filter->parent_filters)[0] = ch1; 331 332 filter->tag = ch1->tag; 333 filter->start_graph = ch1->start_graph; 334 filter->end_graph = ch1->end_graph; 335 filter->field = &thisField; 336 264 auto ret = child1->reduce(gc, thisField) ; 265 if (ret) ret->connectOutput(filter, 0); 266 else filter.reset() ; 337 267 return filter; 338 268 } … … 351 281 } 352 282 353 std::shared_ptr<COutputPin> CFilterFieldScalarFieldOpExprNode::reduce(CGarbageCollector& gc, CField& thisField, Time start_graph, Time end_graph) const 354 { 355 std::shared_ptr<COutputPin> ch1 = child1->reduce(gc, thisField, start_graph, end_graph); 356 std::shared_ptr<COutputPin> ch3 = child3->reduce(gc, thisField, start_graph, end_graph); 357 283 std::shared_ptr<COutputPin> CFilterFieldScalarFieldOpExprNode::reduce(CGarbageCollector& gc, CField& thisField) const 284 { 358 285 std::shared_ptr<CFieldScalarFieldArithmeticFilter> filter(new CFieldScalarFieldArithmeticFilter(gc, opId, child2->reduce())); 359 ch1->connectOutput(filter, 0); 360 ch3->connectOutput(filter, 1); 361 362 (filter->parent_filters).resize(2); 363 (filter->parent_filters)[0] = ch1; 364 (filter->parent_filters)[1] = ch3; 365 366 filter->tag = (ch3->tag || ch1->tag); 367 filter->start_graph = ch3->tag? ch3->start_graph : (ch1->tag? ch1->start_graph: -1); 368 filter->end_graph = ch3->tag? ch3->end_graph : (ch1->tag? ch1->end_graph: -1); 369 filter->field = &thisField; 370 286 auto ret1 = child1->reduce(gc, thisField); 287 auto ret2 = child3->reduce(gc, thisField); 288 if (ret1 && ret2) 289 { 290 ret1 -> connectOutput(filter, 0); 291 ret2 -> connectOutput(filter, 1); 292 } 293 else filter.reset() ; 371 294 return filter; 372 295 } … … 385 308 } 386 309 387 std::shared_ptr<COutputPin> CFilterFieldFieldScalarOpExprNode::reduce(CGarbageCollector& gc, CField& thisField, Time start_graph, Time end_graph) const 388 { 389 std::shared_ptr<COutputPin> ch1 = child1->reduce(gc, thisField, start_graph, end_graph); 390 std::shared_ptr<COutputPin> ch2 = child2->reduce(gc, thisField, start_graph, end_graph); 391 310 std::shared_ptr<COutputPin> CFilterFieldFieldScalarOpExprNode::reduce(CGarbageCollector& gc, CField& thisField) const 311 { 392 312 std::shared_ptr<CFieldFieldScalarArithmeticFilter> filter(new CFieldFieldScalarArithmeticFilter(gc, opId, child3->reduce())); 393 ch1->connectOutput(filter, 0); 394 ch2->connectOutput(filter, 1); 395 396 (filter->parent_filters).resize(2); 397 (filter->parent_filters)[0] = ch1; 398 (filter->parent_filters)[1] = ch2; 399 400 filter->tag = (ch2->tag || ch1->tag); 401 filter->start_graph = ch2->tag? ch2->start_graph : (ch1->tag? ch1->start_graph: -1); 402 filter->end_graph = ch2->tag? ch2->end_graph : (ch1->tag? ch1->end_graph: -1); 403 filter->field = &thisField; 313 auto ret1 = child1->reduce(gc, thisField); 314 auto ret2 = child2->reduce(gc, thisField); 315 if (ret1 && ret2) 316 { 317 ret1->connectOutput(filter, 0); 318 ret2->connectOutput(filter, 1); 319 } 320 else filter.reset() ; 404 321 return filter; 405 322 } … … 417 334 } 418 335 419 std::shared_ptr<COutputPin> CFilterFieldFieldFieldOpExprNode::reduce(CGarbageCollector& gc, CField& thisField, Time start_graph, Time end_graph) const 420 { 421 std::shared_ptr<COutputPin> ch1 = child1->reduce(gc, thisField, start_graph, end_graph); 422 std::shared_ptr<COutputPin> ch2 = child2->reduce(gc, thisField, start_graph, end_graph); 423 std::shared_ptr<COutputPin> ch3 = child3->reduce(gc, thisField, start_graph, end_graph); 424 336 std::shared_ptr<COutputPin> CFilterFieldFieldFieldOpExprNode::reduce(CGarbageCollector& gc, CField& thisField) const 337 { 425 338 std::shared_ptr<CFieldFieldFieldArithmeticFilter> filter(new CFieldFieldFieldArithmeticFilter(gc, opId)); 426 std::cout<<"std::shared_ptr<CFieldFieldFieldArithmeticFilter> filter(new CFieldFieldFieldArithmeticFilter(gc, opId))" <<std::endl; 427 ch1->connectOutput(filter, 0); 428 ch2->connectOutput(filter, 1); 429 ch3->connectOutput(filter, 2); 430 431 (filter->parent_filters).resize(3); 432 (filter->parent_filters)[0] = ch1; 433 (filter->parent_filters)[1] = ch2; 434 (filter->parent_filters)[2] = ch3; 435 436 437 filter->tag = (ch1->tag || ch1->tag || ch3->tag); 438 filter->start_graph = ch1->tag? ch1->start_graph : (ch2->tag? ch2->start_graph: (ch3->tag? ch3->start_graph: -1)); 439 filter->end_graph = ch1->tag? ch1->end_graph : (ch2->tag? ch2->end_graph: (ch3->tag? ch3->end_graph: -1)); 440 filter->field = &thisField; 441 442 339 auto ret1=child1->reduce(gc, thisField); 340 auto ret2=child2->reduce(gc, thisField); 341 auto ret3=child3->reduce(gc, thisField); 342 if (ret1 && ret2 && ret3) 343 { 344 ret1->connectOutput(filter, 0); 345 ret2->connectOutput(filter, 1); 346 ret3->connectOutput(filter, 2); 347 } 348 else filter.reset() ; 443 349 return filter; 444 350 } -
XIOS/dev/dev_trunk_graph/src/parse_expr/filter_expr_node.hpp
r1686 r2019 5 5 #include <boost/smart_ptr/scoped_ptr.hpp> 6 6 #include "scalar_expr_node.hpp" 7 8 #include "duration.hpp"9 7 10 8 namespace xios … … 27 25 * \return the output pin of the filter producing the result of the expression 28 26 */ 29 virtual std::shared_ptr<COutputPin> reduce(CGarbageCollector& gc, CField& thisField , Time start_graph=-1, Time end_graph=-1) const = 0;27 virtual std::shared_ptr<COutputPin> reduce(CGarbageCollector& gc, CField& thisField) const = 0; 30 28 }; 31 29 … … 44 42 CFilterFieldExprNode(const std::string& fieldId); 45 43 46 virtual std::shared_ptr<COutputPin> reduce(CGarbageCollector& gc, CField& thisField , Time start_graph=-1, Time end_graph=-1) const;44 virtual std::shared_ptr<COutputPin> reduce(CGarbageCollector& gc, CField& thisField) const; 47 45 48 46 private: … … 65 63 CFilterTemporalFieldExprNode(const std::string& fieldId); 66 64 67 virtual std::shared_ptr<COutputPin> reduce(CGarbageCollector& gc, CField& thisField , Time start_graph=-1, Time end_graph=-1) const;65 virtual std::shared_ptr<COutputPin> reduce(CGarbageCollector& gc, CField& thisField) const; 68 66 69 67 private: … … 88 86 CFilterUnaryOpExprNode(const std::string& opId, IFilterExprNode* child); 89 87 90 virtual std::shared_ptr<COutputPin> reduce(CGarbageCollector& gc, CField& thisField , Time start_graph=-1, Time end_graph=-1) const;88 virtual std::shared_ptr<COutputPin> reduce(CGarbageCollector& gc, CField& thisField) const; 91 89 92 90 private: … … 113 111 CFilterScalarFieldOpExprNode(IScalarExprNode* child1, const std::string& opId, IFilterExprNode* child2); 114 112 115 virtual std::shared_ptr<COutputPin> reduce(CGarbageCollector& gc, CField& thisField , Time start_graph=-1, Time end_graph=-1) const;113 virtual std::shared_ptr<COutputPin> reduce(CGarbageCollector& gc, CField& thisField) const; 116 114 117 115 private: … … 139 137 CFilterFieldScalarOpExprNode(IFilterExprNode* child1, const std::string& opId, IScalarExprNode* child2); 140 138 141 virtual std::shared_ptr<COutputPin> reduce(CGarbageCollector& gc, CField& thisField , Time start_graph=-1, Time end_graph=-1) const;139 virtual std::shared_ptr<COutputPin> reduce(CGarbageCollector& gc, CField& thisField) const; 142 140 143 141 private: … … 164 162 CFilterFieldFieldOpExprNode(IFilterExprNode* child1, const std::string& opId, IFilterExprNode* child2); 165 163 166 virtual std::shared_ptr<COutputPin> reduce(CGarbageCollector& gc, CField& thisField , Time start_graph=-1, Time end_graph=-1) const;164 virtual std::shared_ptr<COutputPin> reduce(CGarbageCollector& gc, CField& thisField) const; 167 165 168 166 private: … … 192 190 CFilterScalarScalarFieldOpExprNode(IScalarExprNode* child1, const std::string& opId, IScalarExprNode* child2, IFilterExprNode* child3); 193 191 194 virtual std::shared_ptr<COutputPin> reduce(CGarbageCollector& gc, CField& thisField , Time start_graph=-1, Time end_graph=-1) const;192 virtual std::shared_ptr<COutputPin> reduce(CGarbageCollector& gc, CField& thisField) const; 195 193 196 194 private: … … 221 219 CFilterScalarFieldScalarOpExprNode(IScalarExprNode* child1, const std::string& opId, IFilterExprNode* child2, IScalarExprNode* child3); 222 220 223 virtual std::shared_ptr<COutputPin> reduce(CGarbageCollector& gc, CField& thisField , Time start_graph=-1, Time end_graph=-1) const;221 virtual std::shared_ptr<COutputPin> reduce(CGarbageCollector& gc, CField& thisField) const; 224 222 225 223 private: … … 250 248 CFilterScalarFieldFieldOpExprNode(IScalarExprNode* child1, const std::string& opId, IFilterExprNode* child2, IFilterExprNode* child3); 251 249 252 virtual std::shared_ptr<COutputPin> reduce(CGarbageCollector& gc, CField& thisField , Time start_graph=-1, Time end_graph=-1) const;250 virtual std::shared_ptr<COutputPin> reduce(CGarbageCollector& gc, CField& thisField) const; 253 251 254 252 private: … … 280 278 CFilterFieldScalarScalarOpExprNode(IFilterExprNode* child1, const std::string& opId, IScalarExprNode* child2, IScalarExprNode* child3); 281 279 282 virtual std::shared_ptr<COutputPin> reduce(CGarbageCollector& gc, CField& thisField , Time start_graph=-1, Time end_graph=-1) const;280 virtual std::shared_ptr<COutputPin> reduce(CGarbageCollector& gc, CField& thisField) const; 283 281 284 282 private: … … 309 307 CFilterFieldScalarFieldOpExprNode(IFilterExprNode* child1, const std::string& opId, IScalarExprNode* child2, IFilterExprNode* child3); 310 308 311 virtual std::shared_ptr<COutputPin> reduce(CGarbageCollector& gc, CField& thisField , Time start_graph=-1, Time end_graph=-1) const;309 virtual std::shared_ptr<COutputPin> reduce(CGarbageCollector& gc, CField& thisField) const; 312 310 313 311 private: … … 337 335 CFilterFieldFieldScalarOpExprNode(IFilterExprNode* child1, const std::string& opId, IFilterExprNode* child2, IScalarExprNode* child3); 338 336 339 virtual std::shared_ptr<COutputPin> reduce(CGarbageCollector& gc, CField& thisField , Time start_graph=-1, Time end_graph=-1) const;337 virtual std::shared_ptr<COutputPin> reduce(CGarbageCollector& gc, CField& thisField) const; 340 338 341 339 private: … … 366 364 CFilterFieldFieldFieldOpExprNode(IFilterExprNode* child1, const std::string& opId, IFilterExprNode* child2, IFilterExprNode* child3); 367 365 368 virtual std::shared_ptr<COutputPin> reduce(CGarbageCollector& gc, CField& thisField , Time start_graph=-1, Time end_graph=-1) const;366 virtual std::shared_ptr<COutputPin> reduce(CGarbageCollector& gc, CField& thisField) const; 369 367 370 368 private: -
XIOS/dev/dev_trunk_graph/src/parse_expr/yacc_parser.cpp
r1686 r2019 70 70 #include "exception.hpp" 71 71 72 #include "yacc_var.hpp"73 74 72 using namespace std; 75 73 using namespace xios; … … 86 84 size_t globalReadOffset = 0; 87 85 88 std::string *xios::yacc_globalInputText_ptr = 0;89 90 86 int readInputForLexer(char* buffer, size_t* numBytesRead, size_t maxBytesToRead) 91 87 { 92 yacc_globalInputText_ptr = &globalInputText;93 //*yacc_globalInputText_ptr = globalInputText;94 95 std::cout<<"========= yacc_globalInputText_ptr = "<<*yacc_globalInputText_ptr<<std::endl;96 97 88 size_t numBytesToRead = maxBytesToRead; 98 89 size_t bytesRemaining = globalInputText.length()-globalReadOffset;
Note: See TracChangeset
for help on using the changeset viewer.