static int lexcount(struct cstate *g)
{
	g->yychar = *g->source++;

	g->yymin = dec(g, g->yychar);
	g->yychar = *g->source++;
	while (g->yychar != ',' && g->yychar != '}') {
		g->yymin = g->yymin * 10 + dec(g, g->yychar);
		g->yychar = *g->source++;
		if (g->yymin >= REPINF)
			die(g, "numeric overflow");
	}

	if (g->yychar == ',') {
		g->yychar = *g->source++;
		if (g->yychar == '}') {
			g->yymax = REPINF;
		} else {
			g->yymax = dec(g, g->yychar);
			g->yychar = *g->source++;
			while (g->yychar != '}') {
				g->yymax = g->yymax * 10 + dec(g, g->yychar);
				g->yychar = *g->source++;
				if (g->yymax >= REPINF)
					die(g, "numeric overflow");
			}
		}
	} else {
		g->yymax = g->yymin;
	}

	return L_COUNT;
}
static int lexcount(struct cstate *g)
{
	g->yychar = *g->source++;

	g->yymin = dec(g, g->yychar);
	g->yychar = *g->source++;
	while (g->yychar != ',' && g->yychar != '}') {
		g->yymin = g->yymin * 10 + dec(g, g->yychar);
		g->yychar = *g->source++;
		if (g->yymin >= REPINF)
			die(g, "numeric overflow");
	}

	if (g->yychar == ',') {
		g->yychar = *g->source++;
		if (g->yychar == '}') {
			g->yymax = REPINF;
		} else {
			g->yymax = dec(g, g->yychar);
			g->yychar = *g->source++;
			while (g->yychar != '}') {
				g->yymax = g->yymax * 10 + dec(g, g->yychar);
				g->yychar = *g->source++;
				if (g->yymax >= REPINF)
					die(g, "numeric overflow");
			}
		}
	} else {
		g->yymax = g->yymin;
	}

	return L_COUNT;
}