/* Generated by re2c */
#line 1 "directives/tagsdir.re"
// re2c $INPUT -o $OUTPUT --tags -s
// Test `stags:re2c` and `mtags:re2c` directives (global or with block list).
#line 3 "directives/tagsdir.re"


// stags:re2c
#line 10 "directives/tagsdir.c"
x2_1;x2_2;y2_1;y2_2;yyt1;yyt2;
#line 6 "directives/tagsdir.re"

// mtags:re2c
#line 15 "directives/tagsdir.c"
y2_m3;yytm3;
#line 8 "directives/tagsdir.re"



// tags have common 'yyt' prefix, so tag variables are shared between blocks

// stags:re2c:x1
#line 24 "directives/tagsdir.c"
yyt1;yyt2;
#line 14 "directives/tagsdir.re"

// mtags:re2c:x1
#line 29 "directives/tagsdir.c"
#line 16 "directives/tagsdir.re"


// stags:re2c:y1
#line 34 "directives/tagsdir.c"
yyt1;yyt2;
#line 19 "directives/tagsdir.re"

// mtags:re2c:y1
#line 39 "directives/tagsdir.c"
yytm3;
#line 21 "directives/tagsdir.re"


// stags:re2c:x1:y1
#line 45 "directives/tagsdir.c"
yyt1;yyt2;
#line 24 "directives/tagsdir.re"

// mtags:re2c:x1:y1
#line 50 "directives/tagsdir.c"
yytm3;
#line 26 "directives/tagsdir.re"



// tags have custom block-specific prefixes, so tag variables are separate

// stags:re2c:x2
#line 59 "directives/tagsdir.c"
x2_1;x2_2;
#line 32 "directives/tagsdir.re"

// mtags:re2c:x2
#line 64 "directives/tagsdir.c"
#line 34 "directives/tagsdir.re"


// stags:re2c:y2
#line 69 "directives/tagsdir.c"
y2_1;y2_2;
#line 37 "directives/tagsdir.re"

// mtags:re2c:y2
#line 74 "directives/tagsdir.c"
y2_m3;
#line 39 "directives/tagsdir.re"


// stags:re2c:x2:y2
#line 80 "directives/tagsdir.c"
x2_1;x2_2;y2_1;y2_2;
#line 42 "directives/tagsdir.re"

// mtags:re2c:x2:y2
#line 85 "directives/tagsdir.c"
y2_m3;
#line 44 "directives/tagsdir.re"



// rules:re2c:x
#line 50 "directives/tagsdir.re"


// rules:re2c:y
#line 55 "directives/tagsdir.re"



// re2c:x1

#line 102 "directives/tagsdir.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych == 'a') {
		yyt1 = YYCURSOR;
		yyt2 = YYCURSOR;
		goto yy2;
	}
	yyt1 = YYCURSOR;
	yyt2 = NULL;
yy1:
	x1 = yyt1;
	x2 = yyt2;
#line 49 "directives/tagsdir.re"
	{ a }
#line 118 "directives/tagsdir.c"
yy2:
	++YYCURSOR;
	goto yy1;
}
#line 61 "directives/tagsdir.re"


// re2c:y1

#line 128 "directives/tagsdir.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych == 'b') {
		YYMTAGP(yytm3);
		yyt1 = YYCURSOR;
		yyt2 = YYCURSOR;
		goto yy5;
	}
	YYMTAGN(yytm3);
	yyt1 = YYCURSOR;
	yyt2 = NULL;
yy4:
	y1 = yyt1;
	y2 = yyt2;
	y3 = yytm3;
#line 54 "directives/tagsdir.re"
	{ b }
#line 147 "directives/tagsdir.c"
yy5:
	++YYCURSOR;
	goto yy4;
}
#line 66 "directives/tagsdir.re"



// re2c:x2

#line 158 "directives/tagsdir.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych == 'a') {
		x2_1 = YYCURSOR;
		x2_2 = YYCURSOR;
		goto yy8;
	}
	x2_1 = YYCURSOR;
	x2_2 = NULL;
yy7:
	x1 = x2_1;
	x2 = x2_2;
#line 49 "directives/tagsdir.re"
	{ a }
#line 174 "directives/tagsdir.c"
yy8:
	++YYCURSOR;
	goto yy7;
}
#line 73 "directives/tagsdir.re"


// re2c:y2

#line 184 "directives/tagsdir.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych == 'b') {
		YYMTAGP(y2_m3);
		y2_1 = YYCURSOR;
		y2_2 = YYCURSOR;
		goto yy11;
	}
	YYMTAGN(y2_m3);
	y2_1 = YYCURSOR;
	y2_2 = NULL;
yy10:
	y1 = y2_1;
	y2 = y2_2;
	y3 = y2_m3;
#line 54 "directives/tagsdir.re"
	{ b }
#line 203 "directives/tagsdir.c"
yy11:
	++YYCURSOR;
	goto yy10;
}
#line 79 "directives/tagsdir.re"

directives/tagsdir.re:49:19: warning: rule matches empty string [-Wmatch-empty-string]
directives/tagsdir.re:54:23: warning: rule matches empty string [-Wmatch-empty-string]
directives/tagsdir.re:49:19: warning: rule matches empty string [-Wmatch-empty-string]
directives/tagsdir.re:54:23: warning: rule matches empty string [-Wmatch-empty-string]
