out << " if (!parse_" << node->_M_name << "()) { return false; }" << std::endl;
out << "if (!parse_" << node->_M_name << "())" << "{ fprintf(stderr, \"** ERROR expected ``" << node->_M_name << "''\\n\"); return false; }" << std::endl;
  std::string gen_parser_call(model::symbol_item *node, std::ostream &out)  {    static int __id = 0;    static char __var[1024];    if (_G_system.generate_ast)      {	sprintf(__var, "__node_%d", __id++);		out << node->_M_name << "_ast *" << __var << " = 0;" << std::endl	    << " if (!parse_" << node->_M_name << "(&" << __var << ")) { return false; }" << std::endl;      }    else      {	out << " if (!parse_" << node->_M_name << "()) { return false; }" << std::endl;      }    return __var;  }