⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 traceset.c

📁 harvest是一个下载html网页得机器人
💻 C
📖 第 1 页 / 共 2 页
字号:
	    /* NEXTYPE(p)); */            (NEXTYPE(p)==1 ? "CDATA" : (NEXTYPE(p)==2 ? "NDATA" : "SDATA")));     fprintf(stderr, "         System ID is %s\n",            (NEID(p)!=0) ? (char *)NEID(p) : "[UNDEFINED]");     if (p->nedcn!=0)	  tracedcn(p->nedcn);}/* TRACESRM: Print the members of a short reference map. */VOID tracesrm(action, pg, gi)char *action;TECB pg;UNCH *gi;{     int i = 0;               /* Loop counter. */          if (pg==SRMNULL)	  fprintf(stderr, "%-8s SHORTREF table empty for %s.\n", action, gi);     else {          fprintf(stderr, "%-8s %s at %p mapped for %s.\n",		  action, pg[0]->ename+1, (UNIV)pg,		  gi ? (char *)gi : "definition");          while (++i<=lex.s.dtb[0].mapdata)	       if (pg[i])		    fprintf(stderr, "%14s%02u %p %s\n",			    "SR", i, (UNIV)pg[i], pg[i]->ename+1);     }}/* TRACEADL: Print an attribute definition list. */VOID traceadl(al)struct ad al[];{     int i=0;          fprintf(stderr, "ADLIST   %p %d membe%s; %d attribut%s\n",	     (UNIV)al, ADN(al), ADN(al)==1 ? "r" : "rs", AN(al),	     AN(al)==1 ? "e" : "es");     while (++i<=ADN(al)) {          fprintf(stderr, 		  (BITOFF(ADFLAGS(al,i), AGROUP) && ADTYPE(al,i)<=ANOTEGRP)		  ? "          %p %-8s %02x %02x %2d %2d %p %p\n"		  : "    %p %-8s %02x %02x %2d %2d %p %p\n",		  &al[i], ADNAME(al,i), ADFLAGS(al,i), ADTYPE(al,i), ADNUM(al,i),		  ADLEN(al,i), ADVAL(al,i), ADDATA(al,i).x);          if (ADVAL(al,i)) {               fprintf(stderr, "%s", ADVAL(al,i));               if (ADTYPE(al,i)==AENTITY && ADDATA(al,i).n!=0) {                    fprintf(stderr, "=>");                    traceesn(ADDATA(al,i).n);               }               else if (ADTYPE(al,i)==ANOTEGRP) {                    fprintf(stderr, "=>");		    tracedcn(ADDATA(al,i).x);	       }          }          else	       fprintf(stderr, "[%s]",		       GET(ADFLAGS(al,i), AREQ)		       ? "REQUIRED"		       : (GET(ADFLAGS(al,i), ACURRENT) ? "CURRENT"  : "NULL"));     }     fprintf(stderr, "\n");}/* TRACEMOD: Print the members of a model. */VOID tracemod(pg)struct thdr pg[];{     fprintf(stderr, "MODEL    %p %02x %d\n",	     (UNIV)&pg[0], pg[0].ttype, pg[0].tu.tnum);     if ((pg[0].ttype & MKEYWORD) == 0) {	  int i;	  for (i = 1; i < pg[0].tu.tnum + 2; i++) {	       if (GET(pg[i].ttype, TTMASK) == TTETD)		    fprintf(stderr, "                      %p %02x %s\n",			    (UNIV)&pg[i], pg[i].ttype, pg[i].tu.thetd->etdgi+1);	       else if (GET(pg[i].ttype, TTMASK) == TTCHARS)		    fprintf(stderr, "                      %p %02x %s\n",			    (UNIV)&pg[i], pg[i].ttype, "#PCDATA");	       else		    fprintf(stderr, "         %p %02x %d\n",			    (UNIV)&pg[i], pg[i].ttype, pg[i].tu.tnum);	  }     }     fprintf(stderr, "\n");}/* TRACEGRP: Print the members of a name (i.e., etd) group. */VOID tracegrp(pg)struct etd *pg[];{     int i = -1;              /* Loop counter. */          fprintf(stderr, "ETDGRP   %p\n", (UNIV)pg);     while (pg[++i]!=0)	  fprintf(stderr, "         %p %s\n", (UNIV)pg[i], pg[i]->etdgi+1);}/* TRACENGR: Print the members of a notation (i.e., dcncb) group. */VOID tracengr(pg)struct dcncb *pg[];{     int i = -1;              /* Loop counter. */          fprintf(stderr, "DCNGRP   %p\n", (UNIV)pg);     while (pg[++i]!=0)	  fprintf(stderr, "         %p %s\n", (UNIV)pg[i], pg[i]->ename+1);}/* TRACEETD: Print an element type definition. */VOID traceetd(p)struct etd *p;                /* Pointer to an etd. */{     fprintf(stderr, "ETD      etd=%p %s min=%02x cmod=%p ttype=%02x mex=%p, pex=%p, ",	     (UNIV)p, p->etdgi+1, p->etdmin, (UNIV)p->etdmod,	     p->etdmod->ttype, (UNIV)p->etdmex, (UNIV)p->etdpex);     fprintf(stderr, "adl=%p, srm=%s.\n",	     (UNIV)p->adl,	     (p->etdsrm==SRMNULL)	     ? "#EMPTY"	     : (p->etdsrm) ? (char *)(p->etdsrm[0]->ename+1) : "#CURRENT");}/* TRACEID: Print an ID control block. */VOID traceid(action, p)char *action;struct id *p;                 /* Pointer to an ID. */{     fprintf(stderr, "%-8s %s at %p is %s; ", action, p->idname+1, (UNIV)p,	     p->iddefed ? "defined" : "undefined");     fprintf(stderr, "last ref=%p\n", (UNIV)p->idrl);}/* TRACEMD: Trace a markup declaration parameter. */VOID tracemd(parmid)char *parmid;                 /* Parameter identifier. */{     fprintf(stderr, "MDPARM   %-8s for %-8s, token %02d, type %02u, %s.\n",	     mdname, subdcl ? (char *)subdcl : "[NONE]", parmno, pcbmd.action, parmid);}/* TRACEMS: Trace marked section activity. */VOID tracems(action, code, mslevel, msplevel)int action;                   /* 1=began new level; 0=resumed previous. */int code;int mslevel;                  /* Nesting level of marked sections. */int msplevel;                 /* Nested MS levels subject to special parse. */{     fprintf(stderr,	     "MS%c      %2d                 %s nesting level %d (msp %d).\n",	     (action ? ' ' : 'E'), code, (action ? "began" : "resumed"),	     mslevel, msplevel);}staticVOID tracehits(h)unsigned long *h;{     int i;     fprintf(stderr, " H=");     for (i = grplongs - 1; i >= 0; --i)	  fprintf(stderr, "%0*lx", LONGBITS/4, h[i]);}/* TRACEGI: Trace GI testing stages in CONTEXT.C processing. */VOID tracegi(stagenm, gi, mod, pos)char *stagenm;struct etd *gi;               /* ETD of new GI. */struct thdr mod[];            /* Model of current open element. */struct mpos pos[];            /* Position in open element's model. */{     int i = 0;               /* Loop counter. */          fprintf(stderr, "%-10s %d:", stagenm, P);     while (++i<=P)	  fprintf(stderr, " %d-%d", pos[i].g, pos[i].t);     fprintf(stderr, " (%u) gocc=%02x gtype=%02x gnum=%d",	     M, GOCC, GTYPE, GNUM);     tracehits(H);     fprintf(stderr, " status=%d Tstart=%d\n", STATUX, Tstart);     fprintf(stderr,	     "=>%-8s tocc=%02x ttype=%02x thetd=%p (%s) gietd=%p (%s)\n",	     tags[ts].tetd->etdgi+1, TOCC, TTYPE, (UNIV)TOKEN.tu.thetd,	     (TTYPE	      ? (TTYPE==TTETD ? (char *)(TOKEN.tu.thetd->etdgi+1) : "#GROUP")	      : "#PCDATA"),	     (UNIV)gi,	     (gi==ETDCDATA ?  "#PCDATA" : (char *)(gi->etdgi+1)));}/* TRACEEND: Trace testing for end of group in CONTEXT.C processing. */VOID traceend(stagenm, mod, pos, rc, opt)char *stagenm;struct thdr mod[];            /* Model of current open element. */struct mpos pos[];            /* Position in open element's model. */int rc;                       /* Return code: RCNREQ RCHIT RCMISS RCEND */int opt;                      /* ALLHIT parm: 1=test optionals; 0=ignore. */{     int i = 0;               /* Loop counter. */          fprintf(stderr, "%-10s %d:", stagenm, P);     while (++i<=P)	  fprintf(stderr, " %d-%d", pos[i].g, pos[i].t);     fprintf(stderr, " (%u) gocc=%02x gtype=%02x gnum=%d",	     M, GOCC, GTYPE, GNUM);     tracehits(H);     fprintf(stderr, " status=%d Tstart=%d\n", STATUX, Tstart);     fprintf(stderr, "=>%-8s tocc=%02x ttype=%02x thetd=%p (%s)",	     tags[ts].tetd->etdgi+1, TOCC, TTYPE, (UNIV)TOKEN.tu.thetd,	     (TTYPE	      ? (TTYPE==TTETD ? (char *)(TOKEN.tu.thetd->etdgi+1) : "#GROUP")	      : "#PCDATA"));     fprintf(stderr, " rc=%d offbitT=%d allhit=%d\n",	     rc, offbit(H, (int)T, GNUM), allhit(&GHDR, H, 0, opt));}#endif /* TRACE *//*Local Variables:c-indent-level: 5c-continued-statement-offset: 5c-brace-offset: -5c-argdecl-indent: 0c-label-offset: -5End:*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -