/*
file: ppmntr.txt
Why: text example parallel monitor construct.
*/

parallel-control-monitor {
 /@
 unquoted-string supersets identifier 
 and also includes other T like $-$$>$ and cweb comments ie cweb-marker.
 Code only gets tried when \# parms in accept queue $>$ 1.
 Single entry is one of identifier or cweb.
 @/
arbitrator-code
 using namespace NS_yacco2_T_enum;
 {
  parallel_accept_queue_iterator_type z;
  z = To_judge->accept_queue__.find(NS_yacco2_T_enum::T_Enum::T_T_cweb_marker_);
  if(z != ie){// cweb marker fnd
   i = z;
   accept_parse_parm = (*z).second;
   (*z).second = 0;
   goto arbitrated_parameter;
  }
  // negative: throw out the superset: unquoted-string 
  // cuz identifier or one of its derivatives should be accepted
  i = To_judge->accept_queue__.find(NS_yacco2_T_enum::T_Enum::T_T_unquoted_string_);
  delete (*i).second;
  To_judge->accept_queue__.erase(i); 
  i = To_judge->accept_queue__.begin();
  accept_parse_parm = (*i).second;
 }
 ***
}