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
|
/* Generated by re2c */
// re2c $INPUT -o $OUTPUT -if
// This test is for autogenerated state switch without `getstate:re2c`
// and with mixed `use:re2c` and non-use blocks (named or anonymous).
// rules block
// local block y (with start label)
// (expect a global state switch here with a start label in y
// including blocks y, z and the unnamed blocks)
switch (YYGETSTATE()) {
case 0: goto yyFillLabel0;
case 2: goto yyFillLabel2;
case 3: goto yyFillLabel3;
case 5: goto yyFillLabel5;
default: goto yy0;
}
yy0:
if (YYLIMIT <= YYCURSOR) {
YYSETSTATE(0);
YYFILL(1);
}
yyFillLabel0:
++YYCURSOR;
YYSETSTATE(-1);
{ y }
// use block (expect a local state switch for this block only)
switch (YYGETSTATE()) {
case 1: goto yyFillLabel1;
default: goto yy2;
}
yy2:
if (YYLIMIT <= YYCURSOR) {
YYSETSTATE(1);
YYFILL(1);
}
yyFillLabel1:
++YYCURSOR;
YYSETSTATE(-1);
{ x }
// global block z that includes x (no start label)
if (YYLIMIT <= YYCURSOR) {
YYSETSTATE(2);
YYFILL(1);
}
yyFillLabel2:
++YYCURSOR;
YYSETSTATE(-1);
{ x }
// unnamed local block that includes x (no start label)
if (YYLIMIT <= YYCURSOR) {
YYSETSTATE(3);
YYFILL(1);
}
yyFillLabel3:
++YYCURSOR;
YYSETSTATE(-1);
{ x }
// use block (expect a local state switch for this block only)
switch (YYGETSTATE()) {
case 4: goto yyFillLabel4;
default: goto yy8;
}
yy8:
if (YYLIMIT <= YYCURSOR) {
YYSETSTATE(4);
YYFILL(1);
}
yyFillLabel4:
++YYCURSOR;
YYSETSTATE(-1);
{ x }
// unnamed global block (no start label)
if (YYLIMIT <= YYCURSOR) {
YYSETSTATE(5);
YYFILL(1);
}
yyFillLabel5:
++YYCURSOR;
YYSETSTATE(-1);
{ ? }
|