20 #ifndef _BLOCPARSER_HXX_ 
   21 #define _BLOCPARSER_HXX_ 
   59 template <
class T=YACS::ENGINE::Bloc*>
 
   93       for (
int i = 0; attr[
i]; 
i += 2) 
 
   95           if(std::string(attr[
i]) == 
"name")
name(attr[i+1]);
 
   96           if(std::string(attr[i]) == 
"state")
state(attr[i+1]);
 
  108           _bloc->exDisabledState();
 
  119       _bloc->edAddChild(n);
 
  120       std::string fullname = currentProc->
names.back()+n->
getName();
 
  127       _bloc->edAddChild(n);
 
  128       std::string fullname = currentProc->
names.back()+n->
getName();
 
  135       _bloc->edAddChild(n);
 
  136       std::string fullname = currentProc->
names.back()+n->
getName();
 
  143       _bloc->edAddChild(n);
 
  144       std::string fullname = currentProc->
names.back()+n->
getName();
 
  151       _bloc->edAddChild(n);
 
  152       std::string fullname = currentProc->
names.back()+n->
getName();
 
  159       _bloc->edAddChild(n);
 
  160       std::string fullname = currentProc->
names.back()+n->
getName();
 
  161       DEBTRACE( 
"bloc_node_set fullname = "  << fullname )             
 
  168       _bloc->edAddChild(b);
 
  169       std::string fullname = currentProc->
names.back()+b->
getName();
 
  175       _bloc->edAddChild(b);
 
  176       std::string fullname = currentProc->
names.back()+b->
getName();
 
  184       _bloc->edAddChild(b);
 
  185       std::string fullname = currentProc->
names.back()+b->
getName();
 
  187       fullname += 
".splitter";
 
  193       _bloc->edAddChild(b);
 
  194       std::string fullname = currentProc->
names.back()+b->
getName();
 
  200       _bloc->edAddChild(b);
 
  201       std::string fullname = currentProc->
names.back()+b->
getName();
 
  207       _bloc->edAddChild(b);
 
  208       std::string fullname=currentProc->
names.back()+ b->
getName();
 
  218           msg=
"from node " + l.
fromnode() + 
" does not exist in control link: ";
 
  220           msg=msg+ 
" context: "+currentProc->
names.back();
 
  226           msg=
"to node " + l.
tonode() + 
" does not exist in control link: ";
 
  228           msg=msg+ 
" context: "+currentProc->
names.back();
 
  249       std::string fromname = currentProc->
names.back()+l.
fromnode();
 
  250       if(currentProc->
nodeMap.count(fromname) == 0)
 
  252           msg=
"from node " + l.
fromnode() + 
" does not exist in data link: ";
 
  258       std::string toname = currentProc->
names.back()+l.
tonode();
 
  259       if(currentProc->
nodeMap.count(toname) == 0)
 
  263           if(currentProc->
nodeMap.count(toname) == 0)
 
  266               msg=
"to node " + l.
tonode() + 
" does not exist in data link: ";
 
  292       std::string fromname = currentProc->
names.back()+l.
fromnode();
 
  293       std::string toname = currentProc->
names.back()+l.
tonode();
 
  295       if(currentProc->
nodeMap.count(fromname) == 0)
 
  297             msg=
"from node " + l.
fromnode() + 
" does not exist in stream link: ";
 
  302       if(currentProc->
nodeMap.count(toname) == 0)
 
  304             msg=
"to node " + l.
tonode() + 
" does not exist in stream link: ";
 
  311       _bloc->edAddLink(pout,pin);
 
  313       std::map<std::string, std::string>::const_iterator pt;
 
  322       DEBTRACE( 
"++++++++++++++++++++Parameter+++++++++++++++++++++" );
 
  324       std::string toname = currentProc->
names.back()+param.
_tonode;
 
  325       if(currentProc->
nodeMap.count(toname) == 0)
 
  327           msg=
"to node " + param.
_tonode + 
" does not exist in parameter: ";
 
  343       DEBTRACE( 
"++++++++++++++++++++End parameter+++++++++++++++++++++" );
 
  352       currentProc->
names.pop_back();
 
  364   std::vector<YACS::ENGINE::Bloc *> 
_blocs;
 
  373   _bloc->edAddChild(n);
 
  374   std::string fullname = currentProc->
names.back()+n->
getName();
 
  382   _bloc->edAddChild(n);
 
  383   std::string fullname = currentProc->
names.back()+n->
getName();
 
  391   std::string fullname=currentProc->
names.back()+name;
 
  393   _blocs.push_back(_bloc);
 
  394   currentProc->
names.push_back(fullname+
'.');
 
  410   DEBTRACE( 
"bloctypeParser::onStart: " << el )             
 
  411   std::string element(el);
 
  437   this->SetUserDataAndPush(pp);
 
  446   DEBTRACE( 
"bloctypeParser::onEnd: " << el )             
 
  447   std::string element(el);
 
  466   else if(element == 
"datalink") datalink(((
linktypeParser<>*)child)->post());