/* Generated by re2c */
// re2c $INPUT -o $OUTPUT -cfi --loop-switch


{
	int yystate = YYGETSTATE();
	for (;;) {
		switch (yystate) {
			case -1:
			case 0:
				{ /* entry ... */ }
				yystate = 1;
				continue;
			case 1:
				if (YYLIMIT <= YYCURSOR) {
					YYSETSTATE(3);
					YYFILL(1);
				}
				yych = *YYCURSOR;
				switch (yych) {
					case 'a':
						++YYCURSOR;
						yystate = 1;
						continue;
					default:
						yystate = 2;
						continue;
				}
			case 2:
				YYSETSTATE(-1);
				{ /* pre_rule ... */ }
				{ return a; }
				{ /* post_rule ... */ }
			case 3:
				yystate = 1;
				continue;
		}
	}
}


enum YYCONDTYPE {
	yyca = 0,
	yycb = 3
};


{
	int yystate = YYGETSTATE();
	for (;;) {
		switch (yystate) {
			case -1:
			case 0:
				{ /* entry a ... */ }
				yystate = 1;
				continue;
			case 1:
				if (YYLIMIT <= YYCURSOR) {
					YYSETSTATE(6);
					YYFILL(1);
				}
				yych = *YYCURSOR;
				switch (yych) {
					case 'a':
						++YYCURSOR;
						yystate = 1;
						continue;
					default:
						yystate = 2;
						continue;
				}
			case 2:
				YYSETSTATE(yyca);
				{ /* pre_rule * ... */ }
				{ return a; }
				{ /* post_rule * ... */ }
			case 3:
				{ /* entry * ... */ }
				yystate = 4;
				continue;
			case 4:
				if (YYLIMIT <= YYCURSOR) {
					YYSETSTATE(7);
					YYFILL(1);
				}
				yych = *YYCURSOR;
				switch (yych) {
					case 'b':
						++YYCURSOR;
						yystate = 4;
						continue;
					default:
						yystate = 5;
						continue;
				}
			case 5:
				YYSETSTATE(yycb);
				{ /* pre_rule b ... */ }
				{ return b; }
				{ /* post_rule b ... */ }
			case 6:
				yystate = 1;
				continue;
			case 7:
				yystate = 4;
				continue;
		}
	}
}

actions/special_actions_loop_switch_f.re:4:15: warning: rule matches empty string [-Wmatch-empty-string]
actions/special_actions_loop_switch_f.re:12:15: warning: rule in condition 'a' matches empty string [-Wmatch-empty-string]
actions/special_actions_loop_switch_f.re:13:15: warning: rule in condition 'b' matches empty string [-Wmatch-empty-string]
