/* Generated by re2c */
// re2c $INPUT -o $OUTPUT -i


// QUOTE rule is shadowed by the greedy STRING rule, which keeps
// consuming symbols until either it matches the final quote, or
// YYFILL fails and does not return (then it is a no-match).

{
	YYCTYPE yych;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
		case '\'': goto yy2;
		default: goto yy1;
	}
yy1:
	++YYCURSOR;
	{ /* DEFAULT */ }
yy2:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
		case '\'': goto yy3;
		default: goto yy2;
	}
yy3:
	++YYCURSOR;
	{ /* STRING  */ }
}


// The same situation, but with EOF rule: now when YYFILL fails
// in the middle of the STRING rule, it returns and it is posible
// to match the shorter QUOTE rule.

{
	YYCTYPE yych;
yyFillLabel0:
	yych = *YYCURSOR;
	switch (yych) {
		case '\'': goto yy6;
		default:
			if (YYLIMIT <= YYCURSOR) {
				if (YYFILL() == 0) goto yyFillLabel0;
				goto yy11;
			}
			goto yy5;
	}
yy5:
	++YYCURSOR;
	{ /* DEFAULT */ }
yy6:
	YYMARKER = ++YYCURSOR;
yyFillLabel1:
	yych = *YYCURSOR;
	if (yych <= 0x00) {
		if (YYLIMIT <= YYCURSOR) {
			if (YYFILL() == 0) goto yyFillLabel1;
			goto yy7;
		}
		goto yy8;
	}
	goto yy9;
yy7:
	{ /* QUOTE   */ }
yy8:
	++YYCURSOR;
yyFillLabel2:
	yych = *YYCURSOR;
yy9:
	switch (yych) {
		case '\'': goto yy10;
		default:
			if (YYLIMIT <= YYCURSOR) {
				if (YYFILL() == 0) goto yyFillLabel2;
				goto yy12;
			}
			goto yy8;
	}
yy10:
	++YYCURSOR;
	{ /* STRING  */ }
yy11:
	{ /* EOF     */ }
yy12:
	YYCURSOR = YYMARKER;
	goto yy7;
}

eof/shadowrule_01.re:11:6: warning: unreachable rule (shadowed by rule at line 12) [-Wunreachable-rules]
