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

// $  (unhandled default state in-between start state and $ rule state)

{
	YYCTYPE yych;
	if (YYEND()) goto yy1;
yy1:
	{ $ }
}


// $, *

{
	YYCTYPE yych;
	if (YYEND()) goto yy3;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	++YYCURSOR;
	{ * }
yy3:
	{ $ }
}


// $, a$

{
	YYCTYPE yych;
	if (YYEND()) goto yy7;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
		case 'a': goto yy6;
		default: goto yy5;
	}
yy5:
yy6:
	++YYCURSOR;
	if (YYEND()) goto yy8;
	goto yy5;
yy7:
	{ $ }
yy8:
	{ a$ }
}


// $, *, a$

{
	YYCTYPE yych;
	if (YYEND()) goto yy13;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
		case 'a': goto yy12;
		default: goto yy10;
	}
yy10:
	++YYCURSOR;
yy11:
	{ * }
yy12:
	++YYCURSOR;
	if (YYEND()) goto yy14;
	goto yy11;
yy13:
	{ $ }
yy14:
	{ a$ }
}


// $, *, a$, a

{
	YYCTYPE yych;
	if (YYEND()) goto yy18;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
		case 'a': goto yy17;
		default: goto yy16;
	}
yy16:
	++YYCURSOR;
	{ * }
yy17:
	++YYCURSOR;
	if (YYEND()) goto yy19;
	{ a }
yy18:
	{ $ }
yy19:
	{ a$ }
}


// $, *, a, a$

{
	YYCTYPE yych;
	if (YYEND()) goto yy23;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
		case 'a': goto yy22;
		default: goto yy21;
	}
yy21:
	++YYCURSOR;
	{ * }
yy22:
	++YYCURSOR;
	{ a }
yy23:
	{ $ }
}


// $, *, a$ | a

{
	YYCTYPE yych;
	if (YYEND()) goto yy27;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
		case 'a': goto yy26;
		default: goto yy25;
	}
yy25:
	++YYCURSOR;
	{ * }
yy26:
	++YYCURSOR;
	{ a }
yy27:
	{ $ }
}


// $, *, a$ | b

{
	YYCTYPE yych;
	if (YYEND()) goto yy34;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
		case 'a': goto yy31;
		case 'b': goto yy32;
		default: goto yy29;
	}
yy29:
	++YYCURSOR;
yy30:
	{ * }
yy31:
	++YYCURSOR;
	if (YYEND()) goto yy33;
	goto yy30;
yy32:
	++YYCURSOR;
yy33:
	{ ab }
yy34:
	{ $ }
}


// $, *, b$ | a

{
	YYCTYPE yych;
	if (YYEND()) goto yy41;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
		case 'a': goto yy38;
		case 'b': goto yy40;
		default: goto yy36;
	}
yy36:
	++YYCURSOR;
yy37:
	{ * }
yy38:
	++YYCURSOR;
yy39:
	{ ba }
yy40:
	++YYCURSOR;
	if (YYEND()) goto yy39;
	goto yy37;
yy41:
	{ $ }
}


// $, *, a$ | b | a[cz]

{
	YYCTYPE yych;
	if (YYEND()) goto yy48;
	if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
	yych = *YYCURSOR;
	switch (yych) {
		case 'a': goto yy45;
		case 'b': goto yy46;
		default: goto yy43;
	}
yy43:
	++YYCURSOR;
yy44:
	{ * }
yy45:
	++YYCURSOR;
	if (YYEND()) goto yy47;
	yych = *YYCURSOR;
	switch (yych) {
		case 'c':
		case 'z': goto yy46;
		default: goto yy44;
	}
yy46:
	++YYCURSOR;
yy47:
	{ abcz }
yy48:
	{ $ }
}


// $, *, a$ | a[^]

{
	YYCTYPE yych;
	if (YYEND()) goto yy53;
	if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
	yych = *YYCURSOR;
	switch (yych) {
		case 'a': goto yy51;
		default: goto yy50;
	}
yy50:
	++YYCURSOR;
	{ * }
yy51:
	++YYCURSOR;
	if (YYEND()) goto yy52;
	++YYCURSOR;
yy52:
	{ a }
yy53:
	{ $ }
}

eof/generalized_scc.re:4:0: warning: control flow is undefined for strings that match '[\x0-\xFF]', use default rule '*' [-Wundefined-control-flow]
eof/generalized_scc.re:15:0: warning: control flow is undefined for strings that match 
	'[\x0-\x60\x62-\xFF]'
	'\x61 [\x0-\xFF]'
, use default rule '*' [-Wundefined-control-flow]
eof/generalized_scc.re:40:10: warning: unreachable rule (shadowed by rule at line 39) [-Wunreachable-rules]
