Ignore:
Timestamp:
01/22/21 12:00:29 (3 years ago)
Author:
yushan
Message:

Graph intermedia commit to a tmp branch

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  
    1212 
    1313   
    14   std::shared_ptr<COutputPin> CFilterFieldExprNode::reduce(CGarbageCollector& gc, CField& thisField, Time start_graph, Time end_graph) const 
     14  std::shared_ptr<COutputPin> CFilterFieldExprNode::reduce(CGarbageCollector& gc, CField& thisField) const 
    1515  { 
    1616    std::shared_ptr<COutputPin> outputPin; 
     
    4040                << "Use the keyword \"this\" if you want to reference the input data sent to this field."); 
    4141 
    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 
    4544      } 
    4645      else ERROR("boost::shared_ptr<COutputPin> CFilterFieldExprNode::reduce(CGarbageCollector& gc, CField& thisField) const", 
     
    5655 
    5756 
    58   std::shared_ptr<COutputPin> CFilterTemporalFieldExprNode::reduce(CGarbageCollector& gc, CField& thisField, Time start_graph, Time end_graph) const 
     57  std::shared_ptr<COutputPin> CFilterTemporalFieldExprNode::reduce(CGarbageCollector& gc, CField& thisField) const 
    5958  { 
    6059    std::shared_ptr<COutputPin> outputPin; 
     
    8584                << "Use the keyword \"this\" if you want to reference the input data sent to this field."); 
    8685 
    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); 
    8988      } 
    9089      else 
     
    105104  } 
    106105 
    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  { 
    111108    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() ; 
    123112    return filter; 
    124113  } 
     
    134123  } 
    135124 
    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  { 
    139127    std::shared_ptr<CScalarFieldArithmeticFilter> filter(new CScalarFieldArithmeticFilter(gc, opId, child1->reduce())); 
    140     ch2->connectOutput(filter, 0); 
    141128     
    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() ; 
    150132    return filter; 
    151133  } 
     
    161143  } 
    162144 
    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  { 
    167147    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() ; 
    178151    return filter; 
    179152  } 
     
    189162  } 
    190163 
    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  { 
    196166    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() ; 
    211175    return filter; 
    212176  } 
     
    226190  } 
    227191 
    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  { 
    232194    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() ; 
    243198    return filter; 
    244199  } 
     
    256211  } 
    257212 
    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  { 
    262215    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() ; 
    273219    return filter; 
    274220  } 
     
    286232  } 
    287233 
    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  { 
    293236    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() ; 
    306245    return filter; 
    307246  } 
     
    320259  } 
    321260 
    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  { 
    326263    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() ; 
    337267    return filter; 
    338268  } 
     
    351281  } 
    352282 
    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  { 
    358285    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() ; 
    371294    return filter; 
    372295  } 
     
    385308  } 
    386309 
    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  { 
    392312    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() ; 
    404321    return filter; 
    405322  } 
     
    417334  } 
    418335 
    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  { 
    425338    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() ; 
    443349    return filter; 
    444350  } 
  • XIOS/dev/dev_trunk_graph/src/parse_expr/filter_expr_node.hpp

    r1686 r2019  
    55#include <boost/smart_ptr/scoped_ptr.hpp> 
    66#include "scalar_expr_node.hpp" 
    7  
    8 #include "duration.hpp" 
    97 
    108namespace xios 
     
    2725     * \return the output pin of the filter producing the result of the expression  
    2826     */ 
    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; 
    3028  }; 
    3129 
     
    4442      CFilterFieldExprNode(const std::string& fieldId); 
    4543 
    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; 
    4745 
    4846    private: 
     
    6563      CFilterTemporalFieldExprNode(const std::string& fieldId); 
    6664 
    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; 
    6866 
    6967    private: 
     
    8886      CFilterUnaryOpExprNode(const std::string& opId, IFilterExprNode* child); 
    8987 
    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; 
    9189 
    9290    private: 
     
    113111      CFilterScalarFieldOpExprNode(IScalarExprNode* child1, const std::string& opId, IFilterExprNode* child2); 
    114112 
    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; 
    116114 
    117115    private: 
     
    139137      CFilterFieldScalarOpExprNode(IFilterExprNode* child1, const std::string& opId, IScalarExprNode* child2); 
    140138 
    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; 
    142140 
    143141    private: 
     
    164162      CFilterFieldFieldOpExprNode(IFilterExprNode* child1, const std::string& opId, IFilterExprNode* child2); 
    165163 
    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; 
    167165 
    168166    private: 
     
    192190      CFilterScalarScalarFieldOpExprNode(IScalarExprNode* child1, const std::string& opId, IScalarExprNode* child2, IFilterExprNode* child3); 
    193191 
    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; 
    195193 
    196194    private: 
     
    221219      CFilterScalarFieldScalarOpExprNode(IScalarExprNode* child1, const std::string& opId, IFilterExprNode* child2, IScalarExprNode* child3); 
    222220 
    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; 
    224222 
    225223    private: 
     
    250248      CFilterScalarFieldFieldOpExprNode(IScalarExprNode* child1, const std::string& opId, IFilterExprNode* child2, IFilterExprNode* child3); 
    251249 
    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; 
    253251 
    254252    private: 
     
    280278      CFilterFieldScalarScalarOpExprNode(IFilterExprNode* child1, const std::string& opId, IScalarExprNode* child2, IScalarExprNode* child3); 
    281279 
    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; 
    283281 
    284282    private: 
     
    309307      CFilterFieldScalarFieldOpExprNode(IFilterExprNode* child1, const std::string& opId, IScalarExprNode* child2, IFilterExprNode* child3); 
    310308 
    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; 
    312310 
    313311    private: 
     
    337335      CFilterFieldFieldScalarOpExprNode(IFilterExprNode* child1, const std::string& opId, IFilterExprNode* child2, IScalarExprNode* child3); 
    338336 
    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; 
    340338 
    341339    private: 
     
    366364      CFilterFieldFieldFieldOpExprNode(IFilterExprNode* child1, const std::string& opId, IFilterExprNode* child2, IFilterExprNode* child3); 
    367365 
    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; 
    369367 
    370368    private: 
  • XIOS/dev/dev_trunk_graph/src/parse_expr/yacc_parser.cpp

    r1686 r2019  
    7070#include "exception.hpp" 
    7171 
    72 #include "yacc_var.hpp" 
    73  
    7472using namespace std; 
    7573using namespace xios; 
     
    8684  size_t globalReadOffset = 0; 
    8785 
    88   std::string *xios::yacc_globalInputText_ptr = 0; 
    89  
    9086  int readInputForLexer(char* buffer, size_t* numBytesRead, size_t maxBytesToRead) 
    9187  { 
    92     yacc_globalInputText_ptr = &globalInputText; 
    93     //*yacc_globalInputText_ptr = globalInputText; 
    94  
    95     std::cout<<"========= yacc_globalInputText_ptr = "<<*yacc_globalInputText_ptr<<std::endl; 
    96      
    9788    size_t numBytesToRead = maxBytesToRead; 
    9889    size_t bytesRemaining = globalInputText.length()-globalReadOffset; 
Note: See TracChangeset for help on using the changeset viewer.