1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
|
/* 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 }
}
|