Beispiel #1
0
YY_RULE(int) yy_literal()
{  int yypos0= yypos, yythunkpos0= yythunkpos;
  yyprintf((stderr, "%s\n", "literal"));
  {  int yypos39= yypos, yythunkpos39= yythunkpos;  if (!yymatchClass((unsigned char *)"\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l40;  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l40;
  l41:;	
  {  int yypos42= yypos, yythunkpos42= yythunkpos;
  {  int yypos43= yypos, yythunkpos43= yythunkpos;  if (!yymatchClass((unsigned char *)"\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l43;  goto l42;
  l43:;	  yypos= yypos43; yythunkpos= yythunkpos43;
  }  if (!yy_char()) goto l42;  goto l41;
  l42:;	  yypos= yypos42; yythunkpos= yythunkpos42;
  }  yyText(yybegin, yyend);  if (!(YY_END)) goto l40;  if (!yymatchClass((unsigned char *)"\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l40;  if (!yy__()) goto l40;  goto l39;
  l40:;	  yypos= yypos39; yythunkpos= yythunkpos39;  if (!yymatchClass((unsigned char *)"\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l38;  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l38;
  l44:;	
  {  int yypos45= yypos, yythunkpos45= yythunkpos;
  {  int yypos46= yypos, yythunkpos46= yythunkpos;  if (!yymatchClass((unsigned char *)"\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l46;  goto l45;
  l46:;	  yypos= yypos46; yythunkpos= yythunkpos46;
  }  if (!yy_char()) goto l45;  goto l44;
  l45:;	  yypos= yypos45; yythunkpos= yythunkpos45;
  }  yyText(yybegin, yyend);  if (!(YY_END)) goto l38;  if (!yymatchClass((unsigned char *)"\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l38;  if (!yy__()) goto l38;
  }
  l39:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "literal", yybuf+yypos));
  return 1;
  l38:;	  yypos= yypos0; yythunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "literal", yybuf+yypos));
  return 0;
}
Beispiel #2
0
YY_RULE(int) yy_literal(GREG *G)
{  int yypos0= G->pos, yythunkpos0= G->thunkpos;
  yyprintf((stderr, "%s\n", "literal"));
  {  int yypos42= G->pos, yythunkpos42= G->thunkpos;  if (!yymatchClass(G, (unsigned char *)"\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l43;  yyText(G, G->begin, G->end);  if (!(YY_BEGIN)) goto l43;
  l44:;	
  {  int yypos45= G->pos, yythunkpos45= G->thunkpos;
  {  int yypos46= G->pos, yythunkpos46= G->thunkpos;  if (!yymatchClass(G, (unsigned char *)"\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l46;  goto l45;
  l46:;	  G->pos= yypos46; G->thunkpos= yythunkpos46;
  }  if (!yy_char(G)) { goto l45; }  goto l44;
  l45:;	  G->pos= yypos45; G->thunkpos= yythunkpos45;
  }  yyText(G, G->begin, G->end);  if (!(YY_END)) goto l43;  if (!yymatchClass(G, (unsigned char *)"\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l43;  if (!yy__(G)) { goto l43; }  goto l42;
  l43:;	  G->pos= yypos42; G->thunkpos= yythunkpos42;  if (!yymatchClass(G, (unsigned char *)"\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l41;  yyText(G, G->begin, G->end);  if (!(YY_BEGIN)) goto l41;
  l47:;	
  {  int yypos48= G->pos, yythunkpos48= G->thunkpos;
  {  int yypos49= G->pos, yythunkpos49= G->thunkpos;  if (!yymatchClass(G, (unsigned char *)"\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l49;  goto l48;
  l49:;	  G->pos= yypos49; G->thunkpos= yythunkpos49;
  }  if (!yy_char(G)) { goto l48; }  goto l47;
  l48:;	  G->pos= yypos48; G->thunkpos= yythunkpos48;
  }  yyText(G, G->begin, G->end);  if (!(YY_END)) goto l41;  if (!yymatchClass(G, (unsigned char *)"\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l41;  if (!yy__(G)) { goto l41; }
  }
  l42:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "literal", G->buf+G->pos));
  return 1;
  l41:;	  G->pos= yypos0; G->thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "literal", G->buf+G->pos));
  return 0;
}
Beispiel #3
0
YY_RULE(int) yy_action()
{  int yypos0= yypos, yythunkpos0= yythunkpos;
  yyprintf((stderr, "%s\n", "action"));  if (!yymatchChar('{')) goto l72;  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l72;
  l73:;	
  {  int yypos74= yypos, yythunkpos74= yythunkpos;  if (!yy_braces()) goto l74;  goto l73;
  l74:;	  yypos= yypos74; yythunkpos= yythunkpos74;
  }  yyText(yybegin, yyend);  if (!(YY_END)) goto l72;  if (!yymatchChar('}')) goto l72;  if (!yy__()) goto l72;
  yyprintf((stderr, "  ok   %s @ %s\n", "action", yybuf+yypos));
  return 1;
  l72:;	  yypos= yypos0; yythunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "action", yybuf+yypos));
  return 0;
}
Beispiel #4
0
Datei: parser.c Projekt: jdp/pin
YY_RULE(int) yy_ident()
{  int yypos0= yypos, yythunkpos0= yythunkpos;
  yyprintf((stderr, "%s\n", "ident"));  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l21;  if (!yymatchClass((unsigned char *)"\000\000\000\000\000\000\000\000\376\377\377\007\376\377\377\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l21;
  l22:;	
  {  int yypos23= yypos, yythunkpos23= yythunkpos;  if (!yymatchClass((unsigned char *)"\000\000\000\000\000\000\000\000\376\377\377\007\376\377\377\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l23;  goto l22;
  l23:;	  yypos= yypos23; yythunkpos= yythunkpos23;
  }  yyText(yybegin, yyend);  if (!(YY_END)) goto l21;  if (!yy__()) goto l21;  yyDo(yy_1_ident, yybegin, yyend);
  yyprintf((stderr, "  ok   %s @ %s\n", "ident", yybuf+yypos));
  return 1;
  l21:;	  yypos= yypos0; yythunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "ident", yybuf+yypos));
  return 0;
}
Beispiel #5
0
YY_RULE(int) yy_identifier(GREG *G)
{  int yypos0= G->pos, yythunkpos0= G->thunkpos;
  yyprintf((stderr, "%s\n", "identifier"));  yyText(G, G->begin, G->end);  if (!(YY_BEGIN)) goto l95;  if (!yymatchClass(G, (unsigned char *)"\000\000\000\000\000\040\000\000\376\377\377\207\376\377\377\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l95;
  l96:;	
  {  int yypos97= G->pos, yythunkpos97= G->thunkpos;  if (!yymatchClass(G, (unsigned char *)"\000\000\000\000\000\040\377\003\376\377\377\207\376\377\377\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l97;  goto l96;
  l97:;	  G->pos= yypos97; G->thunkpos= yythunkpos97;
  }  yyText(G, G->begin, G->end);  if (!(YY_END)) goto l95;  if (!yy__(G)) { goto l95; }
  yyprintf((stderr, "  ok   %s @ %s\n", "identifier", G->buf+G->pos));
  return 1;
  l95:;	  G->pos= yypos0; G->thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "identifier", G->buf+G->pos));
  return 0;
}
Beispiel #6
0
YY_RULE(int) yy_action(GREG *G)
{  int yypos0= G->pos, yythunkpos0= G->thunkpos;
  yyprintf((stderr, "%s\n", "action"));  if (!yymatchChar(G, '{')) goto l77;  yyText(G, G->begin, G->end);  if (!(YY_BEGIN)) goto l77;
  l78:;	
  {  int yypos79= G->pos, yythunkpos79= G->thunkpos;  if (!yy_braces(G)) { goto l79; }  goto l78;
  l79:;	  G->pos= yypos79; G->thunkpos= yythunkpos79;
  }  yyText(G, G->begin, G->end);  if (!(YY_END)) goto l77;  if (!yymatchChar(G, '}')) goto l77;  if (!yy__(G)) { goto l77; }
  yyprintf((stderr, "  ok   %s @ %s\n", "action", G->buf+G->pos));
  return 1;
  l77:;	  G->pos= yypos0; G->thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "action", G->buf+G->pos));
  return 0;
}
Beispiel #7
0
YY_RULE(int) yy_errblock(GREG *G)
{  int yypos0= G->pos, yythunkpos0= G->thunkpos;
  yyprintf((stderr, "%s\n", "errblock"));  if (!yymatchString(G, "~{")) goto l31;  yyText(G, G->begin, G->end);  if (!(YY_BEGIN)) goto l31;
  l32:;	
  {  int yypos33= G->pos, yythunkpos33= G->thunkpos;  if (!yy_braces(G)) { goto l33; }  goto l32;
  l33:;	  G->pos= yypos33; G->thunkpos= yythunkpos33;
  }  yyText(G, G->begin, G->end);  if (!(YY_END)) goto l31;  if (!yymatchChar(G, '}')) goto l31;  if (!yy__(G)) { goto l31; }
  yyprintf((stderr, "  ok   %s @ %s\n", "errblock", G->buf+G->pos));
  return 1;
  l31:;	  G->pos= yypos0; G->thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "errblock", G->buf+G->pos));
  return 0;
}
Beispiel #8
0
YY_RULE(int) yy_identifier()
{  int yypos0= yypos, yythunkpos0= yythunkpos;
  yyprintf((stderr, "%s\n", "identifier"));  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l90;  if (!yymatchClass((unsigned char *)"\000\000\000\000\000\040\000\000\376\377\377\207\376\377\377\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l90;
  l91:;	
  {  int yypos92= yypos, yythunkpos92= yythunkpos;  if (!yymatchClass((unsigned char *)"\000\000\000\000\000\040\377\003\376\377\377\207\376\377\377\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l92;  goto l91;
  l92:;	  yypos= yypos92; yythunkpos= yythunkpos92;
  }  yyText(yybegin, yyend);  if (!(YY_END)) goto l90;  if (!yy__()) goto l90;
  yyprintf((stderr, "  ok   %s @ %s\n", "identifier", yybuf+yypos));
  return 1;
  l90:;	  yypos= yypos0; yythunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "identifier", yybuf+yypos));
  return 0;
}
Beispiel #9
0
YY_RULE(int) yy_trailer()
{  int yypos0= yypos, yythunkpos0= yythunkpos;
  yyprintf((stderr, "%s\n", "trailer"));  if (!yymatchString("%%")) goto l96;  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l96;
  l97:;	
  {  int yypos98= yypos, yythunkpos98= yythunkpos;  if (!yymatchDot()) goto l98;  goto l97;
  l98:;	  yypos= yypos98; yythunkpos= yythunkpos98;
  }  yyText(yybegin, yyend);  if (!(YY_END)) goto l96;  yyDo(yy_1_trailer, yybegin, yyend);
  yyprintf((stderr, "  ok   %s @ %s\n", "trailer", yybuf+yypos));
  return 1;
  l96:;	  yypos= yypos0; yythunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "trailer", yybuf+yypos));
  return 0;
}
Beispiel #10
0
YY_RULE(int) yy_trailer(GREG *G)
{  int yypos0= G->pos, yythunkpos0= G->thunkpos;
  yyprintf((stderr, "%s\n", "trailer"));  if (!yymatchString(G, "%%")) goto l101;  yyText(G, G->begin, G->end);  if (!(YY_BEGIN)) goto l101;
  l102:;	
  {  int yypos103= G->pos, yythunkpos103= G->thunkpos;  if (!yymatchDot(G)) goto l103;  goto l102;
  l103:;	  G->pos= yypos103; G->thunkpos= yythunkpos103;
  }  yyText(G, G->begin, G->end);  if (!(YY_END)) goto l101;  yyDo(G, yy_1_trailer, G->begin, G->end);
  yyprintf((stderr, "  ok   %s @ %s\n", "trailer", G->buf+G->pos));
  return 1;
  l101:;	  G->pos= yypos0; G->thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "trailer", G->buf+G->pos));
  return 0;
}
Beispiel #11
0
YY_RULE(int) yy_class(GREG *G)
{  int yypos0= G->pos, yythunkpos0= G->thunkpos;
  yyprintf((stderr, "%s\n", "class"));  if (!yymatchChar(G, '[')) goto l37;  yyText(G, G->begin, G->end);  if (!(YY_BEGIN)) goto l37;
  l38:;	
  {  int yypos39= G->pos, yythunkpos39= G->thunkpos;
  {  int yypos40= G->pos, yythunkpos40= G->thunkpos;  if (!yymatchChar(G, ']')) goto l40;  goto l39;
  l40:;	  G->pos= yypos40; G->thunkpos= yythunkpos40;
  }  if (!yy_range(G)) { goto l39; }  goto l38;
  l39:;	  G->pos= yypos39; G->thunkpos= yythunkpos39;
  }  yyText(G, G->begin, G->end);  if (!(YY_END)) goto l37;  if (!yymatchChar(G, ']')) goto l37;  if (!yy__(G)) { goto l37; }
  yyprintf((stderr, "  ok   %s @ %s\n", "class", G->buf+G->pos));
  return 1;
  l37:;	  G->pos= yypos0; G->thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "class", G->buf+G->pos));
  return 0;
}
Beispiel #12
0
YY_RULE(int) yy_class()
{  int yypos0= yypos, yythunkpos0= yythunkpos;
  yyprintf((stderr, "%s\n", "class"));  if (!yymatchChar('[')) goto l34;  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l34;
  l35:;	
  {  int yypos36= yypos, yythunkpos36= yythunkpos;
  {  int yypos37= yypos, yythunkpos37= yythunkpos;  if (!yymatchChar(']')) goto l37;  goto l36;
  l37:;	  yypos= yypos37; yythunkpos= yythunkpos37;
  }  if (!yy_range()) goto l36;  goto l35;
  l36:;	  yypos= yypos36; yythunkpos= yythunkpos36;
  }  yyText(yybegin, yyend);  if (!(YY_END)) goto l34;  if (!yymatchChar(']')) goto l34;  if (!yy__()) goto l34;
  yyprintf((stderr, "  ok   %s @ %s\n", "class", yybuf+yypos));
  return 1;
  l34:;	  yypos= yypos0; yythunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "class", yybuf+yypos));
  return 0;
}
Beispiel #13
0
YY_RULE(int) yy_declaration()
{  int yypos0= yypos, yythunkpos0= yythunkpos;
  yyprintf((stderr, "%s\n", "declaration"));  if (!yymatchString("%{")) goto l102;  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l102;
  l103:;	
  {  int yypos104= yypos, yythunkpos104= yythunkpos;
  {  int yypos105= yypos, yythunkpos105= yythunkpos;  if (!yymatchString("%}")) goto l105;  goto l104;
  l105:;	  yypos= yypos105; yythunkpos= yythunkpos105;
  }  if (!yymatchDot()) goto l104;  goto l103;
  l104:;	  yypos= yypos104; yythunkpos= yythunkpos104;
  }  yyText(yybegin, yyend);  if (!(YY_END)) goto l102;  if (!yy_RPERCENT()) goto l102;  yyDo(yy_1_declaration, yybegin, yyend);
  yyprintf((stderr, "  ok   %s @ %s\n", "declaration", yybuf+yypos));
  return 1;
  l102:;	  yypos= yypos0; yythunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "declaration", yybuf+yypos));
  return 0;
}
Beispiel #14
0
Datei: parser.c Projekt: jdp/pin
YY_RULE(int) yy_number()
{  int yypos0= yypos, yythunkpos0= yythunkpos;
  yyprintf((stderr, "%s\n", "number"));  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l16;
  {  int yypos17= yypos, yythunkpos17= yythunkpos;  if (!yymatchChar('-')) goto l17;  goto l18;
  l17:;	  yypos= yypos17; yythunkpos= yythunkpos17;
  }
  l18:;	  if (!yymatchClass((unsigned char *)"\000\000\000\000\000\000\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l16;
  l19:;	
  {  int yypos20= yypos, yythunkpos20= yythunkpos;  if (!yymatchClass((unsigned char *)"\000\000\000\000\000\000\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l20;  goto l19;
  l20:;	  yypos= yypos20; yythunkpos= yythunkpos20;
  }  yyText(yybegin, yyend);  if (!(YY_END)) goto l16;  if (!yy__()) goto l16;  yyDo(yy_1_number, yybegin, yyend);
  yyprintf((stderr, "  ok   %s @ %s\n", "number", yybuf+yypos));
  return 1;
  l16:;	  yypos= yypos0; yythunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "number", yybuf+yypos));
  return 0;
}
Beispiel #15
0
Datei: parser.c Projekt: jdp/pin
YY_RULE(int) yy_pin()
{  int yypos0= yypos, yythunkpos0= yythunkpos;
  yyprintf((stderr, "%s\n", "pin"));
  {  int yypos31= yypos, yythunkpos31= yythunkpos;  if (!yy_word()) goto l32;
  l33:;	
  {  int yypos34= yypos, yythunkpos34= yythunkpos;  if (!yy_word()) goto l34;  goto l33;
  l34:;	  yypos= yypos34; yythunkpos= yythunkpos34;
  }  if (!yy_eof()) goto l32;  yyDo(yy_1_pin, yybegin, yyend);  goto l31;
  l32:;	  yypos= yypos31; yythunkpos= yythunkpos31;  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l30;  if (!yymatchDot()) goto l30;
  l35:;	
  {  int yypos36= yypos, yythunkpos36= yythunkpos;  if (!yymatchDot()) goto l36;  goto l35;
  l36:;	  yypos= yypos36; yythunkpos= yythunkpos36;
  }  yyText(yybegin, yyend);  if (!(YY_END)) goto l30;  yyDo(yy_2_pin, yybegin, yyend);
  }
  l31:;	
  yyprintf((stderr, "  ok   %s @ %s\n", "pin", yybuf+yypos));
  return 1;
  l30:;	  yypos= yypos0; yythunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "pin", yybuf+yypos));
  return 0;
}
Beispiel #16
0
YY_LOCAL(void) yyDone(GREG *G)
{
  int pos;
  for (pos= 0; pos < G->thunkpos; ++pos)
    {
      yythunk *thunk= &G->thunks[pos];
      int yyleng= thunk->end ? yyText(G, thunk->begin, thunk->end) : thunk->begin;
      yyprintf((stderr, "DO [%d] %p %s\n", pos, thunk->action, G->text));
      thunk->action(G, G->text, yyleng, thunk, G->data);
    }
  G->thunkpos= 0;
}
Beispiel #17
0
YY_LOCAL(void) yyDone(void)
{
  int pos;
  for (pos= 0;  pos < yythunkpos;  ++pos)
    {
      yythunk *thunk= &yythunks[pos];
      int yyleng= thunk->end ? yyText(thunk->begin, thunk->end) : thunk->begin;
      yyprintf((stderr, "DO [%d] %p %s\n", pos, thunk->action, yytext));
      thunk->action(yytext, yyleng);
    }
  yythunkpos= 0;
}
Beispiel #18
0
YY_RULE(int) yy_declaration(GREG *G)
{  int yypos0= G->pos, yythunkpos0= G->thunkpos;
  yyprintf((stderr, "%s\n", "declaration"));  if (!yymatchString(G, "%{")) goto l107;  yyText(G, G->begin, G->end);  if (!(YY_BEGIN)) goto l107;
  l108:;	
  {  int yypos109= G->pos, yythunkpos109= G->thunkpos;
  {  int yypos110= G->pos, yythunkpos110= G->thunkpos;  if (!yymatchString(G, "%}")) goto l110;  goto l109;
  l110:;	  G->pos= yypos110; G->thunkpos= yythunkpos110;
  }  if (!yymatchDot(G)) goto l109;  goto l108;
  l109:;	  G->pos= yypos109; G->thunkpos= yythunkpos109;
  }  yyText(G, G->begin, G->end);  if (!(YY_END)) goto l107;  if (!yy_RPERCENT(G)) { goto l107; }  yyDo(G, yy_1_declaration, G->begin, G->end);
  yyprintf((stderr, "  ok   %s @ %s\n", "declaration", G->buf+G->pos));
  return 1;
  l107:;	  G->pos= yypos0; G->thunkpos= yythunkpos0;
  yyprintf((stderr, "  fail %s @ %s\n", "declaration", G->buf+G->pos));
  return 0;
}