/* Generated by re2c */
// re2c $INPUT -o $OUTPUT -i --posix-captures
// Test `maxnmatch:re2c` directive (global or with block list).

// maxnmatch:re2c (expect 4)
#define YYMAXNMATCH 4


// maxnmatch:re2c:x1 (expect 1)
#define YYMAXNMATCH 1


// maxnmatch:re2c:x1:y2 (expect 2)
#define YYMAXNMATCH 2


// maxnmatch:re2c:y2:z4 (expect 4)
#define YYMAXNMATCH 4


// maxnmatch:re2c:z4:x1 (expect 4)
#define YYMAXNMATCH 4


// maxnmatch:re2c:x1:y2:z4 (expect 4)
#define YYMAXNMATCH 4



{
	YYCTYPE yych;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
		case 'a': goto yy2;
		default: goto yy1;
	}
yy1:
	++YYCURSOR;
	{ x }
yy2:
	++YYCURSOR;
	yynmatch = 1;
	yypmatch[0] = YYCURSOR;
	yypmatch[0] -= 1;
	yypmatch[1] = YYCURSOR;
	{ a }
}



{
	YYCTYPE yych;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
		case 'b': goto yy5;
		default: goto yy4;
	}
yy4:
	++YYCURSOR;
	{ y }
yy5:
	++YYCURSOR;
	yynmatch = 2;
	yypmatch[0] = YYCURSOR;
	yypmatch[0] -= 1;
	yypmatch[2] = yypmatch[0];
	yypmatch[1] = YYCURSOR;
	yypmatch[3] = yypmatch[1];
	{ b }
}



{
	YYCTYPE yych;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
		case 'c': goto yy8;
		default: goto yy7;
	}
yy7:
	++YYCURSOR;
	{ z }
yy8:
	++YYCURSOR;
	yynmatch = 4;
	yypmatch[0] = YYCURSOR;
	yypmatch[0] -= 1;
	yypmatch[2] = yypmatch[0];
	yypmatch[4] = yypmatch[0];
	yypmatch[6] = yypmatch[0];
	yypmatch[1] = YYCURSOR;
	yypmatch[3] = yypmatch[1];
	yypmatch[5] = yypmatch[1];
	yypmatch[7] = yypmatch[1];
	{ c }
}


