/* Generated by re2c 3.0 on Wed Dec 17 23:22:31 2025 */
#line 1 "_gen/_tmp/match.re2c-input.h"

/* Common stuff */

#line 8 "_gen/_tmp/match.re2c-input.h"


static inline void MatchOshToken(int lex_mode, const unsigned char* line, int line_len,
                              int start_pos, int* id, int* end_pos) {
  assert(start_pos <= line_len);  /* caller should have checked */

  const unsigned char* p = line + start_pos;  /* modified by re2c */
  //printf("p: %p q: %p\n", p, q);

  __attribute__((unused)) const unsigned char* YYMARKER;  /* why do we need this? */
  switch (lex_mode)  {

  case lex_mode__Comment:
    for (;;) {
      
#line 23 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy2;
		case '\n': goto yy1;
		default: goto yy3;
	}
yy1:
#line 23 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_Comment; break; }
#line 35 "_gen/frontend/match.re2c.h"
yy2:
	++p;
#line 24 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 40 "_gen/frontend/match.re2c.h"
yy3:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case '\n': goto yy1;
		default: goto yy3;
	}
}
#line 25 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__ShCommand:
    for (;;) {
      
#line 57 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	unsigned int yyaccept = 0;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy5;
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case '%':
		case '^':
		case 0x7F: goto yy6;
		case '\t':
		case ' ': goto yy8;
		case '\n': goto yy10;
		case '!': goto yy11;
		case '"': goto yy13;
		case '#': goto yy14;
		case '$': goto yy16;
		case '&': goto yy18;
		case '\'': goto yy20;
		case '(': goto yy21;
		case ')': goto yy23;
		case '*': goto yy24;
		case '+': goto yy26;
		case ',': goto yy27;
		case '.': goto yy32;
		case '/': goto yy33;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy34;
		case ':': goto yy36;
		case ';': goto yy37;
		case '<': goto yy39;
		case '=': goto yy41;
		case '>': goto yy42;
		case '?': goto yy44;
		case '@': goto yy46;
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'g':
		case 'h':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'q':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '[': goto yy50;
		case '\\': goto yy52;
		case ']': goto yy53;
		case '`': goto yy55;
		case 'b': goto yy56;
		case 'c': goto yy57;
		case 'd': goto yy58;
		case 'e': goto yy59;
		case 'f': goto yy60;
		case 'i': goto yy61;
		case 'p': goto yy62;
		case 'r': goto yy63;
		case 's': goto yy64;
		case 't': goto yy65;
		case 'u': goto yy66;
		case 'v': goto yy67;
		case 'w': goto yy68;
		case '{': goto yy69;
		case '|': goto yy71;
		case '}': goto yy73;
		case '~': goto yy74;
		default: goto yy29;
	}
yy5:
	++p;
#line 142 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 196 "_gen/frontend/match.re2c.h"
yy6:
	++p;
yy7:
#line 135 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Other; break; }
#line 202 "_gen/frontend/match.re2c.h"
yy8:
	yych = *++p;
	switch (yych) {
		case '\t':
		case ' ': goto yy8;
		default: goto yy9;
	}
yy9:
#line 122 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__WS_Space; break; }
#line 213 "_gen/frontend/match.re2c.h"
yy10:
	++p;
#line 123 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_Newline; break; }
#line 218 "_gen/frontend/match.re2c.h"
yy11:
	yych = *++p;
	switch (yych) {
		case '(': goto yy75;
		default: goto yy12;
	}
yy12:
#line 65 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Bang; break; }
#line 228 "_gen/frontend/match.re2c.h"
yy13:
	++p;
#line 101 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DoubleQuote; break; }
#line 233 "_gen/frontend/match.re2c.h"
yy14:
	yyaccept = 0;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '#': goto yy76;
		default: goto yy15;
	}
yy15:
#line 121 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Pound; break; }
#line 244 "_gen/frontend/match.re2c.h"
yy16:
	yych = *++p;
	switch (yych) {
		case '!': goto yy78;
		case '"': goto yy79;
		case '#': goto yy80;
		case '$': goto yy81;
		case '\'': goto yy82;
		case '(': goto yy83;
		case '*': goto yy85;
		case '-': goto yy86;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy87;
		case '?': goto yy88;
		case '@': goto yy89;
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy90;
		case '[': goto yy92;
		case '{': goto yy93;
		default: goto yy17;
	}
yy17:
#line 120 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Dollar; break; }
#line 328 "_gen/frontend/match.re2c.h"
yy18:
	yych = *++p;
	switch (yych) {
		case '&': goto yy95;
		case '>': goto yy96;
		default: goto yy19;
	}
yy19:
#line 124 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_Amp; break; }
#line 339 "_gen/frontend/match.re2c.h"
yy20:
	++p;
#line 102 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_SingleQuote; break; }
#line 344 "_gen/frontend/match.re2c.h"
yy21:
	yych = *++p;
	switch (yych) {
		case '(': goto yy98;
		default: goto yy22;
	}
yy22:
#line 133 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_LParen; break; }
#line 354 "_gen/frontend/match.re2c.h"
yy23:
	++p;
#line 134 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_RParen; break; }
#line 359 "_gen/frontend/match.re2c.h"
yy24:
	yych = *++p;
	switch (yych) {
		case '(': goto yy99;
		default: goto yy25;
	}
yy25:
#line 38 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Star; break; }
#line 369 "_gen/frontend/match.re2c.h"
yy26:
	yych = *++p;
	switch (yych) {
		case '(': goto yy100;
		default: goto yy7;
	}
yy27:
	yych = *++p;
	switch (yych) {
		case '(': goto yy101;
		default: goto yy28;
	}
yy28:
#line 44 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Comma; break; }
#line 385 "_gen/frontend/match.re2c.h"
yy29:
	yych = *++p;
yy30:
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy31;
		default: goto yy29;
	}
yy31:
#line 116 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Chars; break; }
#line 458 "_gen/frontend/match.re2c.h"
yy32:
	yych = *++p;
	switch (yych) {
		case '.': goto yy102;
		default: goto yy30;
	}
yy33:
	++p;
#line 118 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Slash; break; }
#line 469 "_gen/frontend/match.re2c.h"
yy34:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy35;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy103;
		default: goto yy29;
	}
yy35:
#line 48 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Number; break; }
#line 551 "_gen/frontend/match.re2c.h"
yy36:
	++p;
#line 119 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Colon; break; }
#line 556 "_gen/frontend/match.re2c.h"
yy37:
	yych = *++p;
	switch (yych) {
		case '&': goto yy104;
		case ';': goto yy105;
		default: goto yy38;
	}
yy38:
#line 129 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_Semi; break; }
#line 567 "_gen/frontend/match.re2c.h"
yy39:
	yych = *++p;
	switch (yych) {
		case '&': goto yy107;
		case '(': goto yy108;
		case '<': goto yy109;
		case '>': goto yy111;
		default: goto yy40;
	}
yy40:
#line 52 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Redir_Less; break; }
#line 580 "_gen/frontend/match.re2c.h"
yy41:
	++p;
#line 45 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Equals; break; }
#line 585 "_gen/frontend/match.re2c.h"
yy42:
	yych = *++p;
	switch (yych) {
		case '&': goto yy112;
		case '(': goto yy113;
		case '>': goto yy114;
		case '|': goto yy115;
		default: goto yy43;
	}
yy43:
#line 53 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Redir_Great; break; }
#line 598 "_gen/frontend/match.re2c.h"
yy44:
	yych = *++p;
	switch (yych) {
		case '(': goto yy116;
		default: goto yy45;
	}
yy45:
#line 39 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_QMark; break; }
#line 608 "_gen/frontend/match.re2c.h"
yy46:
	yyaccept = 1;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '(': goto yy117;
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy118;
		case '[': goto yy120;
		case '{': goto yy121;
		default: goto yy47;
	}
yy47:
#line 46 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_At; break; }
#line 674 "_gen/frontend/match.re2c.h"
yy48:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
yy49:
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '>':
		case '?':
		case '@':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy31;
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		default: goto yy29;
	}
yy50:
	yych = *++p;
	switch (yych) {
		case '[': goto yy125;
		default: goto yy51;
	}
yy51:
#line 36 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_LBracket; break; }
#line 817 "_gen/frontend/match.re2c.h"
yy52:
	yych = *++p;
	switch (yych) {
		case 0x00: goto yy7;
		case '\n': goto yy127;
		default: goto yy126;
	}
yy53:
	yyaccept = 3;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy128;
		case '=': goto yy129;
		default: goto yy54;
	}
yy54:
#line 37 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_RBracket; break; }
#line 836 "_gen/frontend/match.re2c.h"
yy55:
	++p;
#line 95 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_Backtick; break; }
#line 841 "_gen/frontend/match.re2c.h"
yy56:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'r': goto yy130;
		default: goto yy30;
	}
yy57:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'a': goto yy131;
		case 'o': goto yy132;
		default: goto yy30;
	}
yy58:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'o': goto yy133;
		default: goto yy30;
	}
yy59:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'l': goto yy135;
		case 's': goto yy136;
		case 'x': goto yy137;
		default: goto yy30;
	}
yy60:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'i': goto yy138;
		case 'o': goto yy140;
		case 'u': goto yy141;
		default: goto yy30;
	}
yy61:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'f': goto yy142;
		case 'n': goto yy144;
		default: goto yy30;
	}
yy62:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'r': goto yy146;
		default: goto yy30;
	}
yy63:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'e': goto yy147;
		default: goto yy30;
	}
yy64:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'e': goto yy148;
		default: goto yy30;
	}
yy65:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'h': goto yy149;
		case 'i': goto yy150;
		case 'y': goto yy151;
		default: goto yy30;
	}
yy66:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'n': goto yy152;
		default: goto yy30;
	}
yy67:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'a': goto yy153;
		default: goto yy30;
	}
yy68:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'h': goto yy154;
		default: goto yy30;
	}
yy69:
	yyaccept = 4;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy155;
		default: goto yy70;
	}
yy70:
#line 42 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_LBrace; break; }
#line 1840 "_gen/frontend/match.re2c.h"
yy71:
	yych = *++p;
	switch (yych) {
		case '&': goto yy156;
		case '|': goto yy157;
		default: goto yy72;
	}
yy72:
#line 125 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_Pipe; break; }
#line 1851 "_gen/frontend/match.re2c.h"
yy73:
	++p;
#line 43 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_RBrace; break; }
#line 1856 "_gen/frontend/match.re2c.h"
yy74:
	++p;
#line 117 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Tilde; break; }
#line 1861 "_gen/frontend/match.re2c.h"
yy75:
	++p;
#line 141 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_Bang; break; }
#line 1866 "_gen/frontend/match.re2c.h"
yy76:
	yych = *++p;
	switch (yych) {
		case '#': goto yy158;
		default: goto yy77;
	}
yy77:
	p = YYMARKER;
	switch (yyaccept) {
		case 0: goto yy15;
		case 1: goto yy47;
		case 2: goto yy31;
		case 3: goto yy54;
		case 4: goto yy70;
		case 5: goto yy94;
		case 6: goto yy134;
		case 7: goto yy139;
		case 8: goto yy143;
		case 9: goto yy145;
		case 10: goto yy178;
		case 11: goto yy188;
		case 12: goto yy195;
		case 13: goto yy197;
		case 14: goto yy201;
		case 15: goto yy203;
		case 16: goto yy205;
		case 17: goto yy207;
		case 18: goto yy209;
		case 19: goto yy211;
		case 20: goto yy213;
		case 21: goto yy218;
		case 22: goto yy220;
		case 23: goto yy226;
		case 24: goto yy228;
		case 25: goto yy235;
		case 26: goto yy237;
		case 27: goto yy239;
		case 28: goto yy243;
		case 29: goto yy246;
		case 30: goto yy251;
		case 31: goto yy253;
		default: goto yy256;
	}
yy78:
	++p;
#line 109 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Bang; break; }
#line 1914 "_gen/frontend/match.re2c.h"
yy79:
	++p;
#line 103 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarDoubleQuote; break; }
#line 1919 "_gen/frontend/match.re2c.h"
yy80:
	++p;
#line 111 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Pound; break; }
#line 1924 "_gen/frontend/match.re2c.h"
yy81:
	++p;
#line 112 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Dollar; break; }
#line 1929 "_gen/frontend/match.re2c.h"
yy82:
	++p;
#line 104 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarSingleQuote; break; }
#line 1934 "_gen/frontend/match.re2c.h"
yy83:
	yych = *++p;
	switch (yych) {
		case '(': goto yy159;
		default: goto yy84;
	}
yy84:
#line 96 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarParen; break; }
#line 1944 "_gen/frontend/match.re2c.h"
yy85:
	++p;
#line 113 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Star; break; }
#line 1949 "_gen/frontend/match.re2c.h"
yy86:
	++p;
#line 114 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Hyphen; break; }
#line 1954 "_gen/frontend/match.re2c.h"
yy87:
	++p;
#line 108 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Number; break; }
#line 1959 "_gen/frontend/match.re2c.h"
yy88:
	++p;
#line 115 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_QMark; break; }
#line 1964 "_gen/frontend/match.re2c.h"
yy89:
	++p;
#line 110 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_At; break; }
#line 1969 "_gen/frontend/match.re2c.h"
yy90:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy90;
		default: goto yy91;
	}
yy91:
#line 107 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_DollarName; break; }
#line 2041 "_gen/frontend/match.re2c.h"
yy92:
	++p;
#line 100 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBracket; break; }
#line 2046 "_gen/frontend/match.re2c.h"
yy93:
	yyaccept = 5;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '(': goto yy160;
		default: goto yy94;
	}
yy94:
#line 97 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBrace; break; }
#line 2057 "_gen/frontend/match.re2c.h"
yy95:
	++p;
#line 127 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_DAmp; break; }
#line 2062 "_gen/frontend/match.re2c.h"
yy96:
	yych = *++p;
	switch (yych) {
		case '>': goto yy161;
		default: goto yy97;
	}
yy97:
#line 62 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Redir_AndGreat; break; }
#line 2072 "_gen/frontend/match.re2c.h"
yy98:
	++p;
#line 35 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_DLeftParen; break; }
#line 2077 "_gen/frontend/match.re2c.h"
yy99:
	++p;
#line 138 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_Star; break; }
#line 2082 "_gen/frontend/match.re2c.h"
yy100:
	++p;
#line 139 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_Plus; break; }
#line 2087 "_gen/frontend/match.re2c.h"
yy101:
	++p;
#line 136 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_Comma; break; }
#line 2092 "_gen/frontend/match.re2c.h"
yy102:
	yych = *++p;
	switch (yych) {
		case '.': goto yy162;
		default: goto yy30;
	}
yy103:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy35;
		default: goto yy29;
	}
yy104:
	++p;
#line 131 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_SemiAmp; break; }
#line 2171 "_gen/frontend/match.re2c.h"
yy105:
	yych = *++p;
	switch (yych) {
		case '&': goto yy164;
		default: goto yy106;
	}
yy106:
#line 130 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_DSemi; break; }
#line 2181 "_gen/frontend/match.re2c.h"
yy107:
	++p;
#line 59 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Redir_LessAnd; break; }
#line 2186 "_gen/frontend/match.re2c.h"
yy108:
	++p;
#line 105 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_ProcSubIn; break; }
#line 2191 "_gen/frontend/match.re2c.h"
yy109:
	yych = *++p;
	switch (yych) {
		case '-': goto yy165;
		case '<': goto yy166;
		default: goto yy110;
	}
yy110:
#line 54 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Redir_DLess; break; }
#line 2202 "_gen/frontend/match.re2c.h"
yy111:
	++p;
#line 60 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Redir_LessGreat; break; }
#line 2207 "_gen/frontend/match.re2c.h"
yy112:
	++p;
#line 58 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Redir_GreatAnd; break; }
#line 2212 "_gen/frontend/match.re2c.h"
yy113:
	++p;
#line 106 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_ProcSubOut; break; }
#line 2217 "_gen/frontend/match.re2c.h"
yy114:
	++p;
#line 56 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Redir_DGreat; break; }
#line 2222 "_gen/frontend/match.re2c.h"
yy115:
	++p;
#line 61 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Redir_Clobber; break; }
#line 2227 "_gen/frontend/match.re2c.h"
yy116:
	++p;
#line 140 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_QMark; break; }
#line 2232 "_gen/frontend/match.re2c.h"
yy117:
	++p;
#line 137 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_At; break; }
#line 2237 "_gen/frontend/match.re2c.h"
yy118:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy118;
		default: goto yy119;
	}
yy119:
#line 49 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Splice; break; }
#line 2309 "_gen/frontend/match.re2c.h"
yy120:
	++p;
#line 50 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_AtLBracket; break; }
#line 2314 "_gen/frontend/match.re2c.h"
yy121:
	yych = *++p;
	switch (yych) {
		case '.': goto yy167;
		default: goto yy77;
	}
yy122:
	yych = *++p;
	switch (yych) {
		case '=': goto yy123;
		default: goto yy77;
	}
yy123:
	++p;
#line 32 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_VarLike; break; }
#line 2331 "_gen/frontend/match.re2c.h"
yy124:
	++p;
#line 33 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_ArrayLhsOpen; break; }
#line 2336 "_gen/frontend/match.re2c.h"
yy125:
	++p;
#line 64 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_DLeftBracket; break; }
#line 2341 "_gen/frontend/match.re2c.h"
yy126:
	++p;
#line 93 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_EscapedChar; break; }
#line 2346 "_gen/frontend/match.re2c.h"
yy127:
	++p;
#line 94 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_LineCont; break; }
#line 2351 "_gen/frontend/match.re2c.h"
yy128:
	yych = *++p;
	switch (yych) {
		case '=': goto yy129;
		default: goto yy77;
	}
yy129:
	++p;
#line 34 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_ArrayLhsClose; break; }
#line 2362 "_gen/frontend/match.re2c.h"
yy130:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'e': goto yy168;
		default: goto yy30;
	}
yy131:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'l': goto yy169;
		case 's': goto yy170;
		default: goto yy30;
	}
yy132:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'n': goto yy171;
		default: goto yy30;
	}
yy133:
	yyaccept = 6;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '>':
		case '?':
		case '@':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy134;
		case 'n': goto yy172;
		default: goto yy49;
	}
yy134:
#line 69 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Do; break; }
#line 2649 "_gen/frontend/match.re2c.h"
yy135:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'i': goto yy173;
		case 's': goto yy174;
		default: goto yy30;
	}
yy136:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'a': goto yy175;
		default: goto yy30;
	}
yy137:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'i': goto yy176;
		default: goto yy30;
	}
yy138:
	yyaccept = 7;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '>':
		case '?':
		case '@':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy139;
		default: goto yy49;
	}
yy139:
#line 75 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Fi; break; }
#line 2935 "_gen/frontend/match.re2c.h"
yy140:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'r': goto yy177;
		default: goto yy30;
	}
yy141:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'n': goto yy179;
		default: goto yy30;
	}
yy142:
	yyaccept = 8;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '>':
		case '?':
		case '@':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy143;
		default: goto yy49;
	}
yy143:
#line 74 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_If; break; }
#line 3149 "_gen/frontend/match.re2c.h"
yy144:
	yyaccept = 9;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '>':
		case '?':
		case '@':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy145;
		default: goto yy49;
	}
yy145:
#line 71 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_In; break; }
#line 3219 "_gen/frontend/match.re2c.h"
yy146:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'o': goto yy180;
		default: goto yy30;
	}
yy147:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 't': goto yy181;
		default: goto yy30;
	}
yy148:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 't': goto yy182;
		default: goto yy30;
	}
yy149:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'e': goto yy183;
		default: goto yy30;
	}
yy150:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'm': goto yy184;
		default: goto yy30;
	}
yy151:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'p': goto yy185;
		default: goto yy30;
	}
yy152:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 't': goto yy186;
		default: goto yy30;
	}
yy153:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'r': goto yy187;
		default: goto yy30;
	}
yy154:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'i': goto yy189;
		default: goto yy30;
	}
yy155:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy155;
		case '}': goto yy190;
		default: goto yy77;
	}
yy156:
	++p;
#line 126 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_PipeAmp; break; }
#line 3941 "_gen/frontend/match.re2c.h"
yy157:
	++p;
#line 128 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_DPipe; break; }
#line 3946 "_gen/frontend/match.re2c.h"
yy158:
	++p;
#line 40 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_TPound; break; }
#line 3951 "_gen/frontend/match.re2c.h"
yy159:
	++p;
#line 99 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarDParen; break; }
#line 3956 "_gen/frontend/match.re2c.h"
yy160:
	yych = *++p;
	switch (yych) {
		case ')': goto yy77;
		default: goto yy192;
	}
yy161:
	++p;
#line 63 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Redir_AndDGreat; break; }
#line 3967 "_gen/frontend/match.re2c.h"
yy162:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy163;
		default: goto yy29;
	}
yy163:
#line 41 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_TDot; break; }
#line 4039 "_gen/frontend/match.re2c.h"
yy164:
	++p;
#line 132 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_DSemiAmp; break; }
#line 4044 "_gen/frontend/match.re2c.h"
yy165:
	++p;
#line 57 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Redir_DLessDash; break; }
#line 4049 "_gen/frontend/match.re2c.h"
yy166:
	++p;
#line 55 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Redir_TLess; break; }
#line 4054 "_gen/frontend/match.re2c.h"
yy167:
	++p;
#line 51 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_AtLBraceDot; break; }
#line 4059 "_gen/frontend/match.re2c.h"
yy168:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'a': goto yy193;
		default: goto yy30;
	}
yy169:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'l': goto yy194;
		default: goto yy30;
	}
yy170:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'e': goto yy196;
		default: goto yy30;
	}
yy171:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 's': goto yy198;
		case 't': goto yy199;
		default: goto yy30;
	}
yy172:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'e': goto yy200;
		default: goto yy30;
	}
yy173:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'f': goto yy202;
		default: goto yy30;
	}
yy174:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'e': goto yy204;
		default: goto yy30;
	}
yy175:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'c': goto yy206;
		default: goto yy30;
	}
yy176:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 't': goto yy208;
		default: goto yy30;
	}
yy177:
	yyaccept = 10;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '>':
		case '?':
		case '@':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy178;
		default: goto yy49;
	}
yy178:
#line 66 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_For; break; }
#line 4777 "_gen/frontend/match.re2c.h"
yy179:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'c': goto yy210;
		default: goto yy30;
	}
yy180:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'c': goto yy212;
		default: goto yy30;
	}
yy181:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'u': goto yy214;
		default: goto yy30;
	}
yy182:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'g': goto yy215;
		case 'v': goto yy216;
		default: goto yy30;
	}
yy183:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'n': goto yy217;
		default: goto yy30;
	}
yy184:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'e': goto yy219;
		default: goto yy30;
	}
yy185:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'e': goto yy221;
		default: goto yy30;
	}
yy186:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'i': goto yy222;
		default: goto yy30;
	}
yy187:
	yyaccept = 11;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '>':
		case '?':
		case '@':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy188;
		default: goto yy49;
	}
yy188:
#line 82 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Var; break; }
#line 5423 "_gen/frontend/match.re2c.h"
yy189:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'l': goto yy223;
		default: goto yy30;
	}
yy190:
	++p;
#line 47 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_RedirVarName; break; }
#line 5500 "_gen/frontend/match.re2c.h"
yy191:
	yych = *++p;
yy192:
	switch (yych) {
		case 0x00: goto yy77;
		case ')': goto yy224;
		default: goto yy191;
	}
yy193:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'k': goto yy225;
		default: goto yy30;
	}
yy194:
	yyaccept = 12;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '>':
		case '?':
		case '@':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy195;
		default: goto yy49;
	}
yy195:
#line 85 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Call; break; }
#line 5650 "_gen/frontend/match.re2c.h"
yy196:
	yyaccept = 13;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '>':
		case '?':
		case '@':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy197;
		default: goto yy49;
	}
yy197:
#line 72 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Case; break; }
#line 5720 "_gen/frontend/match.re2c.h"
yy198:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 't': goto yy227;
		default: goto yy30;
	}
yy199:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'i': goto yy229;
		default: goto yy30;
	}
yy200:
	yyaccept = 14;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '>':
		case '?':
		case '@':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy201;
		default: goto yy49;
	}
yy201:
#line 70 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Done; break; }
#line 5934 "_gen/frontend/match.re2c.h"
yy202:
	yyaccept = 15;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '>':
		case '?':
		case '@':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy203;
		default: goto yy49;
	}
yy203:
#line 78 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Elif; break; }
#line 6004 "_gen/frontend/match.re2c.h"
yy204:
	yyaccept = 16;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '>':
		case '?':
		case '@':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy205;
		default: goto yy49;
	}
yy205:
#line 77 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Else; break; }
#line 6074 "_gen/frontend/match.re2c.h"
yy206:
	yyaccept = 17;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '>':
		case '?':
		case '@':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy207;
		default: goto yy49;
	}
yy207:
#line 73 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Esac; break; }
#line 6144 "_gen/frontend/match.re2c.h"
yy208:
	yyaccept = 18;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '>':
		case '?':
		case '@':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy209;
		default: goto yy49;
	}
yy209:
#line 92 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ControlFlow_Exit; break; }
#line 6214 "_gen/frontend/match.re2c.h"
yy210:
	yyaccept = 19;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '>':
		case '?':
		case '@':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy211;
		case 't': goto yy230;
		default: goto yy49;
	}
yy211:
#line 88 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Func; break; }
#line 6285 "_gen/frontend/match.re2c.h"
yy212:
	yyaccept = 20;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '>':
		case '?':
		case '@':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy213;
		default: goto yy49;
	}
yy213:
#line 86 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Proc; break; }
#line 6355 "_gen/frontend/match.re2c.h"
yy214:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'r': goto yy231;
		default: goto yy30;
	}
yy215:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'l': goto yy232;
		default: goto yy30;
	}
yy216:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'a': goto yy233;
		default: goto yy30;
	}
yy217:
	yyaccept = 21;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '>':
		case '?':
		case '@':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy218;
		default: goto yy49;
	}
yy218:
#line 76 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Then; break; }
#line 6641 "_gen/frontend/match.re2c.h"
yy219:
	yyaccept = 22;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '>':
		case '?':
		case '@':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy220;
		default: goto yy49;
	}
yy220:
#line 80 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Time; break; }
#line 6711 "_gen/frontend/match.re2c.h"
yy221:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'd': goto yy234;
		default: goto yy30;
	}
yy222:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'l': goto yy236;
		default: goto yy30;
	}
yy223:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'e': goto yy238;
		default: goto yy30;
	}
yy224:
	++p;
#line 98 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBraceZsh; break; }
#line 6932 "_gen/frontend/match.re2c.h"
yy225:
	yyaccept = 23;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '>':
		case '?':
		case '@':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy226;
		default: goto yy49;
	}
yy226:
#line 89 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ControlFlow_Break; break; }
#line 7002 "_gen/frontend/match.re2c.h"
yy227:
	yyaccept = 24;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '>':
		case '?':
		case '@':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy228;
		default: goto yy49;
	}
yy228:
#line 81 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Const; break; }
#line 7072 "_gen/frontend/match.re2c.h"
yy229:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'n': goto yy240;
		default: goto yy30;
	}
yy230:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'i': goto yy241;
		default: goto yy30;
	}
yy231:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'n': goto yy242;
		default: goto yy30;
	}
yy232:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'o': goto yy244;
		default: goto yy30;
	}
yy233:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'r': goto yy245;
		default: goto yy30;
	}
yy234:
	yyaccept = 25;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '>':
		case '?':
		case '@':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy235;
		default: goto yy49;
	}
yy235:
#line 87 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Typed; break; }
#line 7502 "_gen/frontend/match.re2c.h"
yy236:
	yyaccept = 26;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '>':
		case '?':
		case '@':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy237;
		default: goto yy49;
	}
yy237:
#line 68 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Until; break; }
#line 7572 "_gen/frontend/match.re2c.h"
yy238:
	yyaccept = 27;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '>':
		case '?':
		case '@':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy239;
		default: goto yy49;
	}
yy239:
#line 67 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_While; break; }
#line 7642 "_gen/frontend/match.re2c.h"
yy240:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'u': goto yy247;
		default: goto yy30;
	}
yy241:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'o': goto yy248;
		default: goto yy30;
	}
yy242:
	yyaccept = 28;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '>':
		case '?':
		case '@':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy243;
		default: goto yy49;
	}
yy243:
#line 91 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ControlFlow_Return; break; }
#line 7856 "_gen/frontend/match.re2c.h"
yy244:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'b': goto yy249;
		default: goto yy30;
	}
yy245:
	yyaccept = 29;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '>':
		case '?':
		case '@':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy246;
		default: goto yy49;
	}
yy246:
#line 83 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_SetVar; break; }
#line 7998 "_gen/frontend/match.re2c.h"
yy247:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'e': goto yy250;
		default: goto yy30;
	}
yy248:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'n': goto yy252;
		default: goto yy30;
	}
yy249:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'a': goto yy254;
		default: goto yy30;
	}
yy250:
	yyaccept = 30;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '>':
		case '?':
		case '@':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy251;
		default: goto yy49;
	}
yy251:
#line 90 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ControlFlow_Continue; break; }
#line 8284 "_gen/frontend/match.re2c.h"
yy252:
	yyaccept = 31;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '>':
		case '?':
		case '@':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy253;
		default: goto yy49;
	}
yy253:
#line 79 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Function; break; }
#line 8354 "_gen/frontend/match.re2c.h"
yy254:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy122;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy48;
		case '=': goto yy123;
		case '[': goto yy124;
		case 'l': goto yy255;
		default: goto yy30;
	}
yy255:
	yyaccept = 32;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '>':
		case '?':
		case '@':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy256;
		default: goto yy49;
	}
yy256:
#line 84 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_SetGlobal; break; }
#line 8496 "_gen/frontend/match.re2c.h"
}
#line 143 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__Backtick:
    for (;;) {
      
#line 8506 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy258;
		case '\\': goto yy261;
		case '`': goto yy263;
		default: goto yy259;
	}
yy258:
	++p;
#line 155 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 8520 "_gen/frontend/match.re2c.h"
yy259:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case '\\':
		case '`': goto yy260;
		default: goto yy259;
	}
yy260:
#line 153 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Backtick_Other; break; }
#line 8532 "_gen/frontend/match.re2c.h"
yy261:
	yych = *++p;
	switch (yych) {
		case '"': goto yy264;
		case '$':
		case '\\':
		case '`': goto yy265;
		default: goto yy262;
	}
yy262:
#line 154 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Backtick_Other; break; }
#line 8545 "_gen/frontend/match.re2c.h"
yy263:
	++p;
#line 150 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Backtick_Right; break; }
#line 8550 "_gen/frontend/match.re2c.h"
yy264:
	++p;
#line 152 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Backtick_DoubleQuote; break; }
#line 8555 "_gen/frontend/match.re2c.h"
yy265:
	++p;
#line 151 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Backtick_Quoted; break; }
#line 8560 "_gen/frontend/match.re2c.h"
}
#line 156 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__DBracket:
    for (;;) {
      
#line 8570 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy267;
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case '%':
		case '[':
		case '^':
		case '{':
		case '}':
		case 0x7F: goto yy268;
		case '\t':
		case ' ': goto yy270;
		case '\n': goto yy272;
		case '!': goto yy273;
		case '"': goto yy275;
		case '#': goto yy276;
		case '$': goto yy277;
		case '&': goto yy279;
		case '\'': goto yy281;
		case '(': goto yy282;
		case ')': goto yy283;
		case '*': goto yy284;
		case '+': goto yy285;
		case ',': goto yy286;
		case '-': goto yy287;
		case '/': goto yy291;
		case ':': goto yy292;
		case ';': goto yy293;
		case '<': goto yy295;
		case '=': goto yy297;
		case '>': goto yy299;
		case '?': goto yy301;
		case '@': goto yy302;
		case '\\': goto yy303;
		case ']': goto yy304;
		case '`': goto yy305;
		case '|': goto yy306;
		case '~': goto yy308;
		default: goto yy289;
	}
yy267:
	++p;
#line 255 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 8645 "_gen/frontend/match.re2c.h"
yy268:
	++p;
yy269:
#line 248 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Other; break; }
#line 8651 "_gen/frontend/match.re2c.h"
yy270:
	yych = *++p;
	switch (yych) {
		case '\t':
		case ' ': goto yy270;
		default: goto yy271;
	}
yy271:
#line 235 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__WS_Space; break; }
#line 8662 "_gen/frontend/match.re2c.h"
yy272:
	++p;
#line 236 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_Newline; break; }
#line 8667 "_gen/frontend/match.re2c.h"
yy273:
	yych = *++p;
	switch (yych) {
		case '(': goto yy309;
		case '=': goto yy310;
		default: goto yy274;
	}
yy274:
#line 164 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Bang; break; }
#line 8678 "_gen/frontend/match.re2c.h"
yy275:
	++p;
#line 214 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DoubleQuote; break; }
#line 8683 "_gen/frontend/match.re2c.h"
yy276:
	++p;
#line 234 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Pound; break; }
#line 8688 "_gen/frontend/match.re2c.h"
yy277:
	yych = *++p;
	switch (yych) {
		case '!': goto yy311;
		case '"': goto yy312;
		case '#': goto yy313;
		case '$': goto yy314;
		case '\'': goto yy315;
		case '(': goto yy316;
		case '*': goto yy318;
		case '-': goto yy319;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy320;
		case '?': goto yy321;
		case '@': goto yy322;
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy323;
		case '[': goto yy325;
		case '{': goto yy326;
		default: goto yy278;
	}
yy278:
#line 233 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Dollar; break; }
#line 8772 "_gen/frontend/match.re2c.h"
yy279:
	yych = *++p;
	switch (yych) {
		case '&': goto yy328;
		default: goto yy280;
	}
yy280:
#line 237 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_Amp; break; }
#line 8782 "_gen/frontend/match.re2c.h"
yy281:
	++p;
#line 215 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_SingleQuote; break; }
#line 8787 "_gen/frontend/match.re2c.h"
yy282:
	++p;
#line 246 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_LParen; break; }
#line 8792 "_gen/frontend/match.re2c.h"
yy283:
	++p;
#line 247 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_RParen; break; }
#line 8797 "_gen/frontend/match.re2c.h"
yy284:
	yych = *++p;
	switch (yych) {
		case '(': goto yy329;
		default: goto yy269;
	}
yy285:
	yych = *++p;
	switch (yych) {
		case '(': goto yy330;
		default: goto yy269;
	}
yy286:
	yych = *++p;
	switch (yych) {
		case '(': goto yy331;
		default: goto yy269;
	}
yy287:
	yych = *++p;
	switch (yych) {
		case 'G': goto yy332;
		case 'L': goto yy334;
		case 'N': goto yy336;
		case 'O': goto yy338;
		case 'R': goto yy340;
		case 'S': goto yy342;
		case 'a': goto yy344;
		case 'b': goto yy346;
		case 'c': goto yy348;
		case 'd': goto yy350;
		case 'e': goto yy352;
		case 'f': goto yy354;
		case 'g': goto yy356;
		case 'h': goto yy358;
		case 'k': goto yy360;
		case 'l': goto yy362;
		case 'n': goto yy363;
		case 'o': goto yy365;
		case 'p': goto yy367;
		case 'r': goto yy369;
		case 's': goto yy371;
		case 't': goto yy373;
		case 'u': goto yy375;
		case 'v': goto yy377;
		case 'w': goto yy379;
		case 'x': goto yy381;
		case 'z': goto yy383;
		default: goto yy290;
	}
yy288:
#line 229 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Chars; break; }
#line 8851 "_gen/frontend/match.re2c.h"
yy289:
	yych = *++p;
yy290:
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy288;
		default: goto yy289;
	}
yy291:
	++p;
#line 231 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Slash; break; }
#line 8925 "_gen/frontend/match.re2c.h"
yy292:
	++p;
#line 232 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Colon; break; }
#line 8930 "_gen/frontend/match.re2c.h"
yy293:
	yych = *++p;
	switch (yych) {
		case '&': goto yy385;
		case ';': goto yy386;
		default: goto yy294;
	}
yy294:
#line 242 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_Semi; break; }
#line 8941 "_gen/frontend/match.re2c.h"
yy295:
	yych = *++p;
	switch (yych) {
		case '(': goto yy388;
		default: goto yy296;
	}
yy296:
#line 165 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_Less; break; }
#line 8951 "_gen/frontend/match.re2c.h"
yy297:
	yych = *++p;
	switch (yych) {
		case '=': goto yy389;
		case '~': goto yy390;
		default: goto yy298;
	}
yy298:
#line 193 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolBinary_GlobEqual; break; }
#line 8962 "_gen/frontend/match.re2c.h"
yy299:
	yych = *++p;
	switch (yych) {
		case '(': goto yy391;
		default: goto yy300;
	}
yy300:
#line 166 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_Great; break; }
#line 8972 "_gen/frontend/match.re2c.h"
yy301:
	yych = *++p;
	switch (yych) {
		case '(': goto yy392;
		default: goto yy269;
	}
yy302:
	yych = *++p;
	switch (yych) {
		case '(': goto yy393;
		default: goto yy269;
	}
yy303:
	yych = *++p;
	switch (yych) {
		case 0x00: goto yy269;
		case '\n': goto yy395;
		default: goto yy394;
	}
yy304:
	yych = *++p;
	switch (yych) {
		case ']': goto yy396;
		default: goto yy269;
	}
yy305:
	++p;
#line 208 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_Backtick; break; }
#line 9002 "_gen/frontend/match.re2c.h"
yy306:
	yych = *++p;
	switch (yych) {
		case '&': goto yy397;
		case '|': goto yy398;
		default: goto yy307;
	}
yy307:
#line 238 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_Pipe; break; }
#line 9013 "_gen/frontend/match.re2c.h"
yy308:
	++p;
#line 230 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Tilde; break; }
#line 9018 "_gen/frontend/match.re2c.h"
yy309:
	++p;
#line 254 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_Bang; break; }
#line 9023 "_gen/frontend/match.re2c.h"
yy310:
	++p;
#line 195 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolBinary_GlobNEqual; break; }
#line 9028 "_gen/frontend/match.re2c.h"
yy311:
	++p;
#line 222 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Bang; break; }
#line 9033 "_gen/frontend/match.re2c.h"
yy312:
	++p;
#line 216 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarDoubleQuote; break; }
#line 9038 "_gen/frontend/match.re2c.h"
yy313:
	++p;
#line 224 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Pound; break; }
#line 9043 "_gen/frontend/match.re2c.h"
yy314:
	++p;
#line 225 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Dollar; break; }
#line 9048 "_gen/frontend/match.re2c.h"
yy315:
	++p;
#line 217 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarSingleQuote; break; }
#line 9053 "_gen/frontend/match.re2c.h"
yy316:
	yych = *++p;
	switch (yych) {
		case '(': goto yy399;
		default: goto yy317;
	}
yy317:
#line 209 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarParen; break; }
#line 9063 "_gen/frontend/match.re2c.h"
yy318:
	++p;
#line 226 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Star; break; }
#line 9068 "_gen/frontend/match.re2c.h"
yy319:
	++p;
#line 227 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Hyphen; break; }
#line 9073 "_gen/frontend/match.re2c.h"
yy320:
	++p;
#line 221 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Number; break; }
#line 9078 "_gen/frontend/match.re2c.h"
yy321:
	++p;
#line 228 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_QMark; break; }
#line 9083 "_gen/frontend/match.re2c.h"
yy322:
	++p;
#line 223 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_At; break; }
#line 9088 "_gen/frontend/match.re2c.h"
yy323:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy323;
		default: goto yy324;
	}
yy324:
#line 220 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_DollarName; break; }
#line 9160 "_gen/frontend/match.re2c.h"
yy325:
	++p;
#line 213 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBracket; break; }
#line 9165 "_gen/frontend/match.re2c.h"
yy326:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '(': goto yy400;
		default: goto yy327;
	}
yy327:
#line 210 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBrace; break; }
#line 9175 "_gen/frontend/match.re2c.h"
yy328:
	++p;
#line 240 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_DAmp; break; }
#line 9180 "_gen/frontend/match.re2c.h"
yy329:
	++p;
#line 251 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_Star; break; }
#line 9185 "_gen/frontend/match.re2c.h"
yy330:
	++p;
#line 252 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_Plus; break; }
#line 9190 "_gen/frontend/match.re2c.h"
yy331:
	++p;
#line 249 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_Comma; break; }
#line 9195 "_gen/frontend/match.re2c.h"
yy332:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy333;
		default: goto yy289;
	}
yy333:
#line 191 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_G; break; }
#line 9267 "_gen/frontend/match.re2c.h"
yy334:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy335;
		default: goto yy289;
	}
yy335:
#line 182 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_L; break; }
#line 9339 "_gen/frontend/match.re2c.h"
yy336:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy337;
		default: goto yy289;
	}
yy337:
#line 192 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_N; break; }
#line 9411 "_gen/frontend/match.re2c.h"
yy338:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy339;
		default: goto yy289;
	}
yy339:
#line 190 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_O; break; }
#line 9483 "_gen/frontend/match.re2c.h"
yy340:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy341;
		default: goto yy289;
	}
yy341:
#line 172 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_R; break; }
#line 9555 "_gen/frontend/match.re2c.h"
yy342:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy343;
		default: goto yy289;
	}
yy343:
#line 186 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_S; break; }
#line 9627 "_gen/frontend/match.re2c.h"
yy344:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy345;
		default: goto yy289;
	}
yy345:
#line 173 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_a; break; }
#line 9699 "_gen/frontend/match.re2c.h"
yy346:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy347;
		default: goto yy289;
	}
yy347:
#line 174 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_b; break; }
#line 9771 "_gen/frontend/match.re2c.h"
yy348:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy349;
		default: goto yy289;
	}
yy349:
#line 175 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_c; break; }
#line 9843 "_gen/frontend/match.re2c.h"
yy350:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy351;
		default: goto yy289;
	}
yy351:
#line 176 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_d; break; }
#line 9915 "_gen/frontend/match.re2c.h"
yy352:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy353;
		case 'f': goto yy402;
		case 'q': goto yy404;
		default: goto yy289;
	}
yy353:
#line 177 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_e; break; }
#line 9989 "_gen/frontend/match.re2c.h"
yy354:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy355;
		default: goto yy289;
	}
yy355:
#line 178 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_f; break; }
#line 10061 "_gen/frontend/match.re2c.h"
yy356:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy357;
		case 'e': goto yy406;
		case 't': goto yy408;
		default: goto yy289;
	}
yy357:
#line 179 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_g; break; }
#line 10135 "_gen/frontend/match.re2c.h"
yy358:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy359;
		default: goto yy289;
	}
yy359:
#line 180 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_h; break; }
#line 10207 "_gen/frontend/match.re2c.h"
yy360:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy361;
		default: goto yy289;
	}
yy361:
#line 181 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_k; break; }
#line 10279 "_gen/frontend/match.re2c.h"
yy362:
	yych = *++p;
	switch (yych) {
		case 'e': goto yy410;
		case 't': goto yy412;
		default: goto yy290;
	}
yy363:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy364;
		case 'e': goto yy414;
		case 't': goto yy416;
		default: goto yy289;
	}
yy364:
#line 168 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_n; break; }
#line 10360 "_gen/frontend/match.re2c.h"
yy365:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy366;
		case 't': goto yy418;
		default: goto yy289;
	}
yy366:
#line 169 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_o; break; }
#line 10433 "_gen/frontend/match.re2c.h"
yy367:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy368;
		default: goto yy289;
	}
yy368:
#line 183 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_p; break; }
#line 10505 "_gen/frontend/match.re2c.h"
yy369:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy370;
		default: goto yy289;
	}
yy370:
#line 184 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_r; break; }
#line 10577 "_gen/frontend/match.re2c.h"
yy371:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy372;
		default: goto yy289;
	}
yy372:
#line 185 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_s; break; }
#line 10649 "_gen/frontend/match.re2c.h"
yy373:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy374;
		default: goto yy289;
	}
yy374:
#line 170 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_t; break; }
#line 10721 "_gen/frontend/match.re2c.h"
yy375:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy376;
		default: goto yy289;
	}
yy376:
#line 187 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_u; break; }
#line 10793 "_gen/frontend/match.re2c.h"
yy377:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy378;
		default: goto yy289;
	}
yy378:
#line 171 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_v; break; }
#line 10865 "_gen/frontend/match.re2c.h"
yy379:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy380;
		default: goto yy289;
	}
yy380:
#line 188 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_w; break; }
#line 10937 "_gen/frontend/match.re2c.h"
yy381:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy382;
		default: goto yy289;
	}
yy382:
#line 189 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_x; break; }
#line 11009 "_gen/frontend/match.re2c.h"
yy383:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy384;
		default: goto yy289;
	}
yy384:
#line 167 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_z; break; }
#line 11081 "_gen/frontend/match.re2c.h"
yy385:
	++p;
#line 244 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_SemiAmp; break; }
#line 11086 "_gen/frontend/match.re2c.h"
yy386:
	yych = *++p;
	switch (yych) {
		case '&': goto yy420;
		default: goto yy387;
	}
yy387:
#line 243 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_DSemi; break; }
#line 11096 "_gen/frontend/match.re2c.h"
yy388:
	++p;
#line 218 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_ProcSubIn; break; }
#line 11101 "_gen/frontend/match.re2c.h"
yy389:
	++p;
#line 194 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolBinary_GlobDEqual; break; }
#line 11106 "_gen/frontend/match.re2c.h"
yy390:
	++p;
#line 196 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolBinary_EqualTilde; break; }
#line 11111 "_gen/frontend/match.re2c.h"
yy391:
	++p;
#line 219 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_ProcSubOut; break; }
#line 11116 "_gen/frontend/match.re2c.h"
yy392:
	++p;
#line 253 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_QMark; break; }
#line 11121 "_gen/frontend/match.re2c.h"
yy393:
	++p;
#line 250 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_At; break; }
#line 11126 "_gen/frontend/match.re2c.h"
yy394:
	++p;
#line 206 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_EscapedChar; break; }
#line 11131 "_gen/frontend/match.re2c.h"
yy395:
	++p;
#line 207 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_LineCont; break; }
#line 11136 "_gen/frontend/match.re2c.h"
yy396:
	++p;
#line 163 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_DRightBracket; break; }
#line 11141 "_gen/frontend/match.re2c.h"
yy397:
	++p;
#line 239 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_PipeAmp; break; }
#line 11146 "_gen/frontend/match.re2c.h"
yy398:
	++p;
#line 241 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_DPipe; break; }
#line 11151 "_gen/frontend/match.re2c.h"
yy399:
	++p;
#line 212 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarDParen; break; }
#line 11156 "_gen/frontend/match.re2c.h"
yy400:
	yych = *++p;
	switch (yych) {
		case ')': goto yy401;
		default: goto yy422;
	}
yy401:
	p = YYMARKER;
	goto yy327;
yy402:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy403;
		default: goto yy289;
	}
yy403:
#line 197 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolBinary_ef; break; }
#line 11237 "_gen/frontend/match.re2c.h"
yy404:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy405;
		default: goto yy289;
	}
yy405:
#line 200 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolBinary_eq; break; }
#line 11309 "_gen/frontend/match.re2c.h"
yy406:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy407;
		default: goto yy289;
	}
yy407:
#line 203 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolBinary_ge; break; }
#line 11381 "_gen/frontend/match.re2c.h"
yy408:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy409;
		default: goto yy289;
	}
yy409:
#line 202 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolBinary_gt; break; }
#line 11453 "_gen/frontend/match.re2c.h"
yy410:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy411;
		default: goto yy289;
	}
yy411:
#line 205 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolBinary_le; break; }
#line 11525 "_gen/frontend/match.re2c.h"
yy412:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy413;
		default: goto yy289;
	}
yy413:
#line 204 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolBinary_lt; break; }
#line 11597 "_gen/frontend/match.re2c.h"
yy414:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy415;
		default: goto yy289;
	}
yy415:
#line 201 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolBinary_ne; break; }
#line 11669 "_gen/frontend/match.re2c.h"
yy416:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy417;
		default: goto yy289;
	}
yy417:
#line 198 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolBinary_nt; break; }
#line 11741 "_gen/frontend/match.re2c.h"
yy418:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy419;
		default: goto yy289;
	}
yy419:
#line 199 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolBinary_ot; break; }
#line 11813 "_gen/frontend/match.re2c.h"
yy420:
	++p;
#line 245 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_DSemiAmp; break; }
#line 11818 "_gen/frontend/match.re2c.h"
yy421:
	yych = *++p;
yy422:
	switch (yych) {
		case 0x00: goto yy401;
		case ')': goto yy423;
		default: goto yy421;
	}
yy423:
	++p;
#line 211 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBraceZsh; break; }
#line 11831 "_gen/frontend/match.re2c.h"
}
#line 256 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__SQ_Raw:
    for (;;) {
      
#line 11841 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy425;
		case '\'': goto yy428;
		default: goto yy426;
	}
yy425:
	++p;
#line 265 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 11854 "_gen/frontend/match.re2c.h"
yy426:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case '\'': goto yy427;
		default: goto yy426;
	}
yy427:
#line 263 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Chars; break; }
#line 11865 "_gen/frontend/match.re2c.h"
yy428:
	++p;
#line 264 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Right_SingleQuote; break; }
#line 11870 "_gen/frontend/match.re2c.h"
}
#line 266 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__DQ:
    for (;;) {
      
#line 11880 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy430;
		case '"': goto yy433;
		case '$': goto yy434;
		case '\\': goto yy436;
		case '`': goto yy438;
		default: goto yy431;
	}
yy430:
	++p;
#line 295 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 11896 "_gen/frontend/match.re2c.h"
yy431:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case '"':
		case '$':
		case '\\':
		case '`': goto yy432;
		default: goto yy431;
	}
yy432:
#line 292 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Chars; break; }
#line 11910 "_gen/frontend/match.re2c.h"
yy433:
	++p;
#line 294 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Right_DoubleQuote; break; }
#line 11915 "_gen/frontend/match.re2c.h"
yy434:
	yych = *++p;
	switch (yych) {
		case '!': goto yy439;
		case '#': goto yy440;
		case '$': goto yy441;
		case '(': goto yy442;
		case '*': goto yy444;
		case '-': goto yy445;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy446;
		case '?': goto yy447;
		case '@': goto yy448;
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy449;
		case '[': goto yy451;
		case '{': goto yy452;
		default: goto yy435;
	}
yy435:
#line 293 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Dollar; break; }
#line 11997 "_gen/frontend/match.re2c.h"
yy436:
	yych = *++p;
	switch (yych) {
		case '\n': goto yy454;
		case '"': goto yy455;
		case '$':
		case '\\':
		case '`': goto yy456;
		default: goto yy437;
	}
yy437:
#line 276 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_BadBackslash; break; }
#line 12011 "_gen/frontend/match.re2c.h"
yy438:
	++p;
#line 277 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_Backtick; break; }
#line 12016 "_gen/frontend/match.re2c.h"
yy439:
	++p;
#line 285 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Bang; break; }
#line 12021 "_gen/frontend/match.re2c.h"
yy440:
	++p;
#line 287 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Pound; break; }
#line 12026 "_gen/frontend/match.re2c.h"
yy441:
	++p;
#line 288 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Dollar; break; }
#line 12031 "_gen/frontend/match.re2c.h"
yy442:
	yych = *++p;
	switch (yych) {
		case '(': goto yy457;
		default: goto yy443;
	}
yy443:
#line 278 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarParen; break; }
#line 12041 "_gen/frontend/match.re2c.h"
yy444:
	++p;
#line 289 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Star; break; }
#line 12046 "_gen/frontend/match.re2c.h"
yy445:
	++p;
#line 290 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Hyphen; break; }
#line 12051 "_gen/frontend/match.re2c.h"
yy446:
	++p;
#line 284 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Number; break; }
#line 12056 "_gen/frontend/match.re2c.h"
yy447:
	++p;
#line 291 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_QMark; break; }
#line 12061 "_gen/frontend/match.re2c.h"
yy448:
	++p;
#line 286 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_At; break; }
#line 12066 "_gen/frontend/match.re2c.h"
yy449:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy449;
		default: goto yy450;
	}
yy450:
#line 283 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_DollarName; break; }
#line 12138 "_gen/frontend/match.re2c.h"
yy451:
	++p;
#line 282 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBracket; break; }
#line 12143 "_gen/frontend/match.re2c.h"
yy452:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '(': goto yy458;
		default: goto yy453;
	}
yy453:
#line 279 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBrace; break; }
#line 12153 "_gen/frontend/match.re2c.h"
yy454:
	++p;
#line 275 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_LineCont; break; }
#line 12158 "_gen/frontend/match.re2c.h"
yy455:
	++p;
#line 274 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_BackslashDoubleQuote; break; }
#line 12163 "_gen/frontend/match.re2c.h"
yy456:
	++p;
#line 273 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_EscapedChar; break; }
#line 12168 "_gen/frontend/match.re2c.h"
yy457:
	++p;
#line 281 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarDParen; break; }
#line 12173 "_gen/frontend/match.re2c.h"
yy458:
	yych = *++p;
	switch (yych) {
		case ')': goto yy459;
		default: goto yy461;
	}
yy459:
	p = YYMARKER;
	goto yy453;
yy460:
	yych = *++p;
yy461:
	switch (yych) {
		case 0x00: goto yy459;
		case ')': goto yy462;
		default: goto yy460;
	}
yy462:
	++p;
#line 280 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBraceZsh; break; }
#line 12195 "_gen/frontend/match.re2c.h"
}
#line 296 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__SQ_C:
    for (;;) {
      
#line 12205 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy464;
		case '\'': goto yy467;
		case '\\': goto yy468;
		default: goto yy465;
	}
yy464:
	++p;
#line 314 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 12219 "_gen/frontend/match.re2c.h"
yy465:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case '\'':
		case '\\': goto yy466;
		default: goto yy465;
	}
yy466:
#line 312 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Chars; break; }
#line 12231 "_gen/frontend/match.re2c.h"
yy467:
	++p;
#line 313 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Right_SingleQuote; break; }
#line 12236 "_gen/frontend/match.re2c.h"
yy468:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '\n': goto yy470;
		case '"': goto yy471;
		case '\'': goto yy472;
		case '0': goto yy473;
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy475;
		case 'E':
		case '\\':
		case 'a':
		case 'b':
		case 'e':
		case 'f':
		case 'n':
		case 'r':
		case 't':
		case 'v': goto yy477;
		case 'U': goto yy478;
		case 'u': goto yy480;
		case 'x': goto yy481;
		default: goto yy469;
	}
yy469:
#line 307 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_Backslash; break; }
#line 12269 "_gen/frontend/match.re2c.h"
yy470:
	++p;
#line 308 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_Backslash; break; }
#line 12274 "_gen/frontend/match.re2c.h"
yy471:
	++p;
#line 311 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_OneChar; break; }
#line 12279 "_gen/frontend/match.re2c.h"
yy472:
	++p;
#line 310 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_OneChar; break; }
#line 12284 "_gen/frontend/match.re2c.h"
yy473:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy482;
		default: goto yy474;
	}
yy474:
#line 306 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_OneChar; break; }
#line 12301 "_gen/frontend/match.re2c.h"
yy475:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy482;
		default: goto yy476;
	}
yy476:
#line 309 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Octal3; break; }
#line 12318 "_gen/frontend/match.re2c.h"
yy477:
	++p;
	goto yy474;
yy478:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy483;
		default: goto yy479;
	}
yy479:
	p = YYMARKER;
	goto yy469;
yy480:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy485;
		default: goto yy479;
	}
yy481:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy487;
		default: goto yy479;
	}
yy482:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy489;
		default: goto yy476;
	}
yy483:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy490;
		default: goto yy484;
	}
yy484:
#line 305 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Unicode8; break; }
#line 12449 "_gen/frontend/match.re2c.h"
yy485:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy491;
		default: goto yy486;
	}
yy486:
#line 304 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Unicode4; break; }
#line 12480 "_gen/frontend/match.re2c.h"
yy487:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy492;
		default: goto yy488;
	}
yy488:
#line 303 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Hex; break; }
#line 12511 "_gen/frontend/match.re2c.h"
yy489:
	++p;
	goto yy476;
yy490:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy493;
		default: goto yy484;
	}
yy491:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy494;
		default: goto yy486;
	}
yy492:
	++p;
	goto yy488;
yy493:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy495;
		default: goto yy484;
	}
yy494:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy496;
		default: goto yy486;
	}
yy495:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy497;
		default: goto yy484;
	}
yy496:
	++p;
	goto yy486;
yy497:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy498;
		default: goto yy484;
	}
yy498:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy499;
		default: goto yy484;
	}
yy499:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy500;
		default: goto yy484;
	}
yy500:
	++p;
	goto yy484;
}
#line 315 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__J8_Str:
    for (;;) {
      
#line 12749 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy502;
		case '\'': goto yy505;
		case '\\': goto yy506;
		default: goto yy503;
	}
yy502:
	++p;
#line 329 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 12763 "_gen/frontend/match.re2c.h"
yy503:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case '\'':
		case '\\': goto yy504;
		default: goto yy503;
	}
yy504:
#line 328 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Chars; break; }
#line 12775 "_gen/frontend/match.re2c.h"
yy505:
	++p;
#line 322 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Right_SingleQuote; break; }
#line 12780 "_gen/frontend/match.re2c.h"
yy506:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '"':
		case '/':
		case '\\':
		case 'b':
		case 'f':
		case 'n':
		case 'r':
		case 't': goto yy508;
		case '\'': goto yy509;
		case 'U':
		case 'u': goto yy510;
		case 'y': goto yy512;
		default: goto yy507;
	}
yy507:
#line 327 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_Backslash; break; }
#line 12801 "_gen/frontend/match.re2c.h"
yy508:
	++p;
#line 323 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_OneChar; break; }
#line 12806 "_gen/frontend/match.re2c.h"
yy509:
	++p;
#line 324 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_OneChar; break; }
#line 12811 "_gen/frontend/match.re2c.h"
yy510:
	yych = *++p;
	switch (yych) {
		case '{': goto yy513;
		default: goto yy511;
	}
yy511:
	p = YYMARKER;
	goto yy507;
yy512:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy514;
		default: goto yy511;
	}
yy513:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy515;
		default: goto yy511;
	}
yy514:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy516;
		default: goto yy511;
	}
yy515:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy517;
		case '}': goto yy518;
		default: goto yy511;
	}
yy516:
	++p;
#line 325 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_YHex; break; }
#line 12934 "_gen/frontend/match.re2c.h"
yy517:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy519;
		case '}': goto yy518;
		default: goto yy511;
	}
yy518:
	++p;
#line 326 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_UBraced; break; }
#line 12967 "_gen/frontend/match.re2c.h"
yy519:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy520;
		case '}': goto yy518;
		default: goto yy511;
	}
yy520:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy521;
		case '}': goto yy518;
		default: goto yy511;
	}
yy521:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy522;
		case '}': goto yy518;
		default: goto yy511;
	}
yy522:
	yych = *++p;
	switch (yych) {
		case '}': goto yy518;
		default: goto yy511;
	}
}
#line 330 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__Arith:
    for (;;) {
      
#line 13067 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy524;
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy527;
		case '!': goto yy529;
		case '"': goto yy531;
		case '#': goto yy532;
		case '$': goto yy533;
		case '%': goto yy534;
		case '&': goto yy536;
		case '\'': goto yy538;
		case '(': goto yy539;
		case ')': goto yy540;
		case '*': goto yy541;
		case '+': goto yy543;
		case ',': goto yy545;
		case '-': goto yy546;
		case '/': goto yy548;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy550;
		case ':': goto yy552;
		case ';': goto yy553;
		case '<': goto yy554;
		case '=': goto yy556;
		case '>': goto yy558;
		case '?': goto yy560;
		case '@': goto yy561;
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy562;
		case '[': goto yy564;
		case '\\': goto yy565;
		case ']': goto yy566;
		case '^': goto yy567;
		case '`': goto yy569;
		case '|': goto yy570;
		case '}': goto yy572;
		case '~': goto yy573;
		default: goto yy525;
	}
yy524:
	++p;
#line 406 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 13175 "_gen/frontend/match.re2c.h"
yy525:
	++p;
yy526:
#line 405 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_Tok; break; }
#line 13181 "_gen/frontend/match.re2c.h"
yy527:
	yych = *++p;
	switch (yych) {
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy527;
		default: goto yy528;
	}
yy528:
#line 356 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_Space; break; }
#line 13194 "_gen/frontend/match.re2c.h"
yy529:
	yych = *++p;
	switch (yych) {
		case '=': goto yy574;
		default: goto yy530;
	}
yy530:
#line 386 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Bang; break; }
#line 13204 "_gen/frontend/match.re2c.h"
yy531:
	++p;
#line 352 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DoubleQuote; break; }
#line 13209 "_gen/frontend/match.re2c.h"
yy532:
	++p;
#line 360 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Pound; break; }
#line 13214 "_gen/frontend/match.re2c.h"
yy533:
	yych = *++p;
	switch (yych) {
		case '!': goto yy575;
		case '"': goto yy576;
		case '#': goto yy577;
		case '$': goto yy578;
		case '\'': goto yy579;
		case '(': goto yy580;
		case '*': goto yy582;
		case '-': goto yy583;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy584;
		case '?': goto yy585;
		case '@': goto yy586;
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy587;
		case '[': goto yy589;
		case '{': goto yy590;
		default: goto yy526;
	}
yy534:
	yych = *++p;
	switch (yych) {
		case '=': goto yy592;
		default: goto yy535;
	}
yy535:
#line 367 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Percent; break; }
#line 13304 "_gen/frontend/match.re2c.h"
yy536:
	yych = *++p;
	switch (yych) {
		case '&': goto yy593;
		case '=': goto yy594;
		default: goto yy537;
	}
yy537:
#line 389 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Amp; break; }
#line 13315 "_gen/frontend/match.re2c.h"
yy538:
	++p;
#line 353 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_SingleQuote; break; }
#line 13320 "_gen/frontend/match.re2c.h"
yy539:
	++p;
#line 371 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_LParen; break; }
#line 13325 "_gen/frontend/match.re2c.h"
yy540:
	++p;
#line 372 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_RParen; break; }
#line 13330 "_gen/frontend/match.re2c.h"
yy541:
	yych = *++p;
	switch (yych) {
		case '*': goto yy595;
		case '=': goto yy596;
		default: goto yy542;
	}
yy542:
#line 365 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Star; break; }
#line 13341 "_gen/frontend/match.re2c.h"
yy543:
	yych = *++p;
	switch (yych) {
		case '+': goto yy597;
		case '=': goto yy598;
		default: goto yy544;
	}
yy544:
#line 363 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Plus; break; }
#line 13352 "_gen/frontend/match.re2c.h"
yy545:
	++p;
#line 362 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Comma; break; }
#line 13357 "_gen/frontend/match.re2c.h"
yy546:
	yych = *++p;
	switch (yych) {
		case '-': goto yy599;
		case '=': goto yy600;
		default: goto yy547;
	}
yy547:
#line 364 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Minus; break; }
#line 13368 "_gen/frontend/match.re2c.h"
yy548:
	yych = *++p;
	switch (yych) {
		case '=': goto yy601;
		default: goto yy549;
	}
yy549:
#line 366 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Slash; break; }
#line 13378 "_gen/frontend/match.re2c.h"
yy550:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy550;
		default: goto yy551;
	}
yy551:
#line 358 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Digits; break; }
#line 13397 "_gen/frontend/match.re2c.h"
yy552:
	++p;
#line 377 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Colon; break; }
#line 13402 "_gen/frontend/match.re2c.h"
yy553:
	++p;
#line 361 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Semi; break; }
#line 13407 "_gen/frontend/match.re2c.h"
yy554:
	yych = *++p;
	switch (yych) {
		case '<': goto yy602;
		case '=': goto yy604;
		default: goto yy555;
	}
yy555:
#line 379 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Less; break; }
#line 13418 "_gen/frontend/match.re2c.h"
yy556:
	yych = *++p;
	switch (yych) {
		case '=': goto yy605;
		default: goto yy557;
	}
yy557:
#line 393 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Equal; break; }
#line 13428 "_gen/frontend/match.re2c.h"
yy558:
	yych = *++p;
	switch (yych) {
		case '=': goto yy606;
		case '>': goto yy607;
		default: goto yy559;
	}
yy559:
#line 381 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Great; break; }
#line 13439 "_gen/frontend/match.re2c.h"
yy560:
	++p;
#line 376 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_QMark; break; }
#line 13444 "_gen/frontend/match.re2c.h"
yy561:
	++p;
#line 359 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_At; break; }
#line 13449 "_gen/frontend/match.re2c.h"
yy562:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy562;
		default: goto yy563;
	}
yy563:
#line 357 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_ArithVarLike; break; }
#line 13521 "_gen/frontend/match.re2c.h"
yy564:
	++p;
#line 373 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_LBracket; break; }
#line 13526 "_gen/frontend/match.re2c.h"
yy565:
	yych = *++p;
	switch (yych) {
		case '\n': goto yy609;
		default: goto yy526;
	}
yy566:
	++p;
#line 374 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_RBracket; break; }
#line 13537 "_gen/frontend/match.re2c.h"
yy567:
	yych = *++p;
	switch (yych) {
		case '=': goto yy610;
		default: goto yy568;
	}
yy568:
#line 391 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Caret; break; }
#line 13547 "_gen/frontend/match.re2c.h"
yy569:
	++p;
#line 337 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_Backtick; break; }
#line 13552 "_gen/frontend/match.re2c.h"
yy570:
	yych = *++p;
	switch (yych) {
		case '=': goto yy611;
		case '|': goto yy612;
		default: goto yy571;
	}
yy571:
#line 390 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Pipe; break; }
#line 13563 "_gen/frontend/match.re2c.h"
yy572:
	++p;
#line 375 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_RBrace; break; }
#line 13568 "_gen/frontend/match.re2c.h"
yy573:
	++p;
#line 392 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Tilde; break; }
#line 13573 "_gen/frontend/match.re2c.h"
yy574:
	++p;
#line 383 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_NEqual; break; }
#line 13578 "_gen/frontend/match.re2c.h"
yy575:
	++p;
#line 345 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Bang; break; }
#line 13583 "_gen/frontend/match.re2c.h"
yy576:
	++p;
#line 354 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarDoubleQuote; break; }
#line 13588 "_gen/frontend/match.re2c.h"
yy577:
	++p;
#line 347 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Pound; break; }
#line 13593 "_gen/frontend/match.re2c.h"
yy578:
	++p;
#line 348 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Dollar; break; }
#line 13598 "_gen/frontend/match.re2c.h"
yy579:
	++p;
#line 355 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarSingleQuote; break; }
#line 13603 "_gen/frontend/match.re2c.h"
yy580:
	yych = *++p;
	switch (yych) {
		case '(': goto yy613;
		default: goto yy581;
	}
yy581:
#line 338 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarParen; break; }
#line 13613 "_gen/frontend/match.re2c.h"
yy582:
	++p;
#line 349 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Star; break; }
#line 13618 "_gen/frontend/match.re2c.h"
yy583:
	++p;
#line 350 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Hyphen; break; }
#line 13623 "_gen/frontend/match.re2c.h"
yy584:
	++p;
#line 344 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Number; break; }
#line 13628 "_gen/frontend/match.re2c.h"
yy585:
	++p;
#line 351 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_QMark; break; }
#line 13633 "_gen/frontend/match.re2c.h"
yy586:
	++p;
#line 346 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_At; break; }
#line 13638 "_gen/frontend/match.re2c.h"
yy587:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy587;
		default: goto yy588;
	}
yy588:
#line 343 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_DollarName; break; }
#line 13710 "_gen/frontend/match.re2c.h"
yy589:
	++p;
#line 342 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBracket; break; }
#line 13715 "_gen/frontend/match.re2c.h"
yy590:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '(': goto yy614;
		default: goto yy591;
	}
yy591:
#line 339 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBrace; break; }
#line 13725 "_gen/frontend/match.re2c.h"
yy592:
	++p;
#line 398 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_PercentEqual; break; }
#line 13730 "_gen/frontend/match.re2c.h"
yy593:
	++p;
#line 384 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_DAmp; break; }
#line 13735 "_gen/frontend/match.re2c.h"
yy594:
	++p;
#line 401 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_AmpEqual; break; }
#line 13740 "_gen/frontend/match.re2c.h"
yy595:
	++p;
#line 370 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_DStar; break; }
#line 13745 "_gen/frontend/match.re2c.h"
yy596:
	++p;
#line 396 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_StarEqual; break; }
#line 13750 "_gen/frontend/match.re2c.h"
yy597:
	++p;
#line 368 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_DPlus; break; }
#line 13755 "_gen/frontend/match.re2c.h"
yy598:
	++p;
#line 394 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_PlusEqual; break; }
#line 13760 "_gen/frontend/match.re2c.h"
yy599:
	++p;
#line 369 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_DMinus; break; }
#line 13765 "_gen/frontend/match.re2c.h"
yy600:
	++p;
#line 395 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_MinusEqual; break; }
#line 13770 "_gen/frontend/match.re2c.h"
yy601:
	++p;
#line 397 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_SlashEqual; break; }
#line 13775 "_gen/frontend/match.re2c.h"
yy602:
	yych = *++p;
	switch (yych) {
		case '=': goto yy616;
		default: goto yy603;
	}
yy603:
#line 388 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_DLess; break; }
#line 13785 "_gen/frontend/match.re2c.h"
yy604:
	++p;
#line 378 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_LessEqual; break; }
#line 13790 "_gen/frontend/match.re2c.h"
yy605:
	++p;
#line 382 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_DEqual; break; }
#line 13795 "_gen/frontend/match.re2c.h"
yy606:
	++p;
#line 380 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_GreatEqual; break; }
#line 13800 "_gen/frontend/match.re2c.h"
yy607:
	yych = *++p;
	switch (yych) {
		case '=': goto yy617;
		default: goto yy608;
	}
yy608:
#line 387 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_DGreat; break; }
#line 13810 "_gen/frontend/match.re2c.h"
yy609:
	++p;
#line 404 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_LineCont; break; }
#line 13815 "_gen/frontend/match.re2c.h"
yy610:
	++p;
#line 402 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_CaretEqual; break; }
#line 13820 "_gen/frontend/match.re2c.h"
yy611:
	++p;
#line 403 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_PipeEqual; break; }
#line 13825 "_gen/frontend/match.re2c.h"
yy612:
	++p;
#line 385 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_DPipe; break; }
#line 13830 "_gen/frontend/match.re2c.h"
yy613:
	++p;
#line 341 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarDParen; break; }
#line 13835 "_gen/frontend/match.re2c.h"
yy614:
	yych = *++p;
	switch (yych) {
		case ')': goto yy615;
		default: goto yy619;
	}
yy615:
	p = YYMARKER;
	goto yy591;
yy616:
	++p;
#line 400 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_DLessEqual; break; }
#line 13849 "_gen/frontend/match.re2c.h"
yy617:
	++p;
#line 399 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_DGreatEqual; break; }
#line 13854 "_gen/frontend/match.re2c.h"
yy618:
	yych = *++p;
yy619:
	switch (yych) {
		case 0x00: goto yy615;
		case ')': goto yy620;
		default: goto yy618;
	}
yy620:
	++p;
#line 340 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBraceZsh; break; }
#line 13867 "_gen/frontend/match.re2c.h"
}
#line 407 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__ExtGlob:
    for (;;) {
      
#line 13877 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy622;
		case '!': goto yy626;
		case '"': goto yy628;
		case '$': goto yy629;
		case '\'': goto yy630;
		case ')': goto yy631;
		case '*': goto yy632;
		case '+': goto yy633;
		case ',': goto yy634;
		case '?': goto yy635;
		case '@': goto yy636;
		case '\\': goto yy637;
		case '`': goto yy638;
		case '|': goto yy639;
		default: goto yy623;
	}
yy622:
	++p;
#line 445 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 13902 "_gen/frontend/match.re2c.h"
yy623:
	yych = *++p;
yy624:
	switch (yych) {
		case 0x00:
		case '!':
		case '"':
		case '$':
		case '\'':
		case ')':
		case '*':
		case '+':
		case '?':
		case '@':
		case '\\':
		case '`':
		case '|': goto yy625;
		default: goto yy623;
	}
yy625:
#line 441 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Chars; break; }
#line 13925 "_gen/frontend/match.re2c.h"
yy626:
	yych = *++p;
	switch (yych) {
		case '(': goto yy640;
		default: goto yy627;
	}
yy627:
#line 444 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Other; break; }
#line 13935 "_gen/frontend/match.re2c.h"
yy628:
	++p;
#line 422 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DoubleQuote; break; }
#line 13940 "_gen/frontend/match.re2c.h"
yy629:
	yych = *++p;
	switch (yych) {
		case '!': goto yy641;
		case '"': goto yy642;
		case '#': goto yy643;
		case '$': goto yy644;
		case '\'': goto yy645;
		case '(': goto yy646;
		case '*': goto yy648;
		case '-': goto yy649;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy650;
		case '?': goto yy651;
		case '@': goto yy652;
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy653;
		case '[': goto yy655;
		case '{': goto yy656;
		default: goto yy627;
	}
yy630:
	++p;
#line 423 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_SingleQuote; break; }
#line 14025 "_gen/frontend/match.re2c.h"
yy631:
	++p;
#line 443 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_RParen; break; }
#line 14030 "_gen/frontend/match.re2c.h"
yy632:
	yych = *++p;
	switch (yych) {
		case '(': goto yy658;
		default: goto yy627;
	}
yy633:
	yych = *++p;
	switch (yych) {
		case '(': goto yy659;
		default: goto yy627;
	}
yy634:
	yych = *++p;
	switch (yych) {
		case '(': goto yy660;
		default: goto yy624;
	}
yy635:
	yych = *++p;
	switch (yych) {
		case '(': goto yy662;
		default: goto yy627;
	}
yy636:
	yych = *++p;
	switch (yych) {
		case '(': goto yy663;
		default: goto yy627;
	}
yy637:
	yych = *++p;
	switch (yych) {
		case 0x00: goto yy627;
		case '\n': goto yy665;
		default: goto yy664;
	}
yy638:
	++p;
#line 416 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_Backtick; break; }
#line 14072 "_gen/frontend/match.re2c.h"
yy639:
	++p;
#line 442 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_Pipe; break; }
#line 14077 "_gen/frontend/match.re2c.h"
yy640:
	++p;
#line 440 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_Bang; break; }
#line 14082 "_gen/frontend/match.re2c.h"
yy641:
	++p;
#line 428 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Bang; break; }
#line 14087 "_gen/frontend/match.re2c.h"
yy642:
	++p;
#line 424 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarDoubleQuote; break; }
#line 14092 "_gen/frontend/match.re2c.h"
yy643:
	++p;
#line 430 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Pound; break; }
#line 14097 "_gen/frontend/match.re2c.h"
yy644:
	++p;
#line 431 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Dollar; break; }
#line 14102 "_gen/frontend/match.re2c.h"
yy645:
	++p;
#line 425 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarSingleQuote; break; }
#line 14107 "_gen/frontend/match.re2c.h"
yy646:
	yych = *++p;
	switch (yych) {
		case '(': goto yy666;
		default: goto yy647;
	}
yy647:
#line 417 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarParen; break; }
#line 14117 "_gen/frontend/match.re2c.h"
yy648:
	++p;
#line 432 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Star; break; }
#line 14122 "_gen/frontend/match.re2c.h"
yy649:
	++p;
#line 433 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Hyphen; break; }
#line 14127 "_gen/frontend/match.re2c.h"
yy650:
	++p;
#line 427 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Number; break; }
#line 14132 "_gen/frontend/match.re2c.h"
yy651:
	++p;
#line 434 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_QMark; break; }
#line 14137 "_gen/frontend/match.re2c.h"
yy652:
	++p;
#line 429 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_At; break; }
#line 14142 "_gen/frontend/match.re2c.h"
yy653:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy653;
		default: goto yy654;
	}
yy654:
#line 426 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_DollarName; break; }
#line 14214 "_gen/frontend/match.re2c.h"
yy655:
	++p;
#line 421 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBracket; break; }
#line 14219 "_gen/frontend/match.re2c.h"
yy656:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '(': goto yy667;
		default: goto yy657;
	}
yy657:
#line 418 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBrace; break; }
#line 14229 "_gen/frontend/match.re2c.h"
yy658:
	++p;
#line 437 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_Star; break; }
#line 14234 "_gen/frontend/match.re2c.h"
yy659:
	++p;
#line 438 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_Plus; break; }
#line 14239 "_gen/frontend/match.re2c.h"
yy660:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case '!':
		case '"':
		case '$':
		case '\'':
		case ')':
		case '*':
		case '+':
		case '?':
		case '@':
		case '\\':
		case '`':
		case '|': goto yy661;
		default: goto yy623;
	}
yy661:
#line 435 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_Comma; break; }
#line 14261 "_gen/frontend/match.re2c.h"
yy662:
	++p;
#line 439 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_QMark; break; }
#line 14266 "_gen/frontend/match.re2c.h"
yy663:
	++p;
#line 436 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_At; break; }
#line 14271 "_gen/frontend/match.re2c.h"
yy664:
	++p;
#line 414 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_EscapedChar; break; }
#line 14276 "_gen/frontend/match.re2c.h"
yy665:
	++p;
#line 415 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_LineCont; break; }
#line 14281 "_gen/frontend/match.re2c.h"
yy666:
	++p;
#line 420 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarDParen; break; }
#line 14286 "_gen/frontend/match.re2c.h"
yy667:
	yych = *++p;
	switch (yych) {
		case ')': goto yy668;
		default: goto yy670;
	}
yy668:
	p = YYMARKER;
	goto yy657;
yy669:
	yych = *++p;
yy670:
	switch (yych) {
		case 0x00: goto yy668;
		case ')': goto yy671;
		default: goto yy669;
	}
yy671:
	++p;
#line 419 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBraceZsh; break; }
#line 14308 "_gen/frontend/match.re2c.h"
}
#line 446 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__VSub_1:
    for (;;) {
      
#line 14318 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy673;
		case '\n': goto yy676;
		case '!': goto yy677;
		case '#': goto yy678;
		case '$': goto yy679;
		case '*': goto yy680;
		case '-': goto yy681;
		case '.': goto yy682;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy683;
		case '?': goto yy685;
		case '@': goto yy686;
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy687;
		case '\\': goto yy689;
		case '}': goto yy690;
		default: goto yy674;
	}
yy673:
	++p;
#line 467 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 14404 "_gen/frontend/match.re2c.h"
yy674:
	++p;
yy675:
#line 466 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_Tok; break; }
#line 14410 "_gen/frontend/match.re2c.h"
yy676:
	++p;
#line 465 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_Tok; break; }
#line 14415 "_gen/frontend/match.re2c.h"
yy677:
	++p;
#line 455 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Bang; break; }
#line 14420 "_gen/frontend/match.re2c.h"
yy678:
	++p;
#line 457 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Pound; break; }
#line 14425 "_gen/frontend/match.re2c.h"
yy679:
	++p;
#line 458 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Dollar; break; }
#line 14430 "_gen/frontend/match.re2c.h"
yy680:
	++p;
#line 459 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Star; break; }
#line 14435 "_gen/frontend/match.re2c.h"
yy681:
	++p;
#line 460 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Hyphen; break; }
#line 14440 "_gen/frontend/match.re2c.h"
yy682:
	++p;
#line 462 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Dot; break; }
#line 14445 "_gen/frontend/match.re2c.h"
yy683:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy683;
		default: goto yy684;
	}
yy684:
#line 454 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Number; break; }
#line 14464 "_gen/frontend/match.re2c.h"
yy685:
	++p;
#line 461 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_QMark; break; }
#line 14469 "_gen/frontend/match.re2c.h"
yy686:
	++p;
#line 456 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_At; break; }
#line 14474 "_gen/frontend/match.re2c.h"
yy687:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy687;
		default: goto yy688;
	}
yy688:
#line 453 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Name; break; }
#line 14546 "_gen/frontend/match.re2c.h"
yy689:
	yych = *++p;
	switch (yych) {
		case '\n': goto yy691;
		default: goto yy675;
	}
yy690:
	++p;
#line 463 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Right_DollarBrace; break; }
#line 14557 "_gen/frontend/match.re2c.h"
yy691:
	++p;
#line 464 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_LineCont; break; }
#line 14562 "_gen/frontend/match.re2c.h"
}
#line 468 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__VSub_2:
    for (;;) {
      
#line 14572 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy693;
		case '\n': goto yy696;
		case ' ': goto yy697;
		case '#': goto yy698;
		case '%': goto yy700;
		case '*': goto yy702;
		case '+': goto yy703;
		case ',': goto yy704;
		case '-': goto yy706;
		case '/': goto yy707;
		case ':': goto yy708;
		case '=': goto yy710;
		case '?': goto yy711;
		case '@': goto yy712;
		case '[': goto yy714;
		case '\\': goto yy715;
		case ']': goto yy716;
		case '^': goto yy717;
		case '|': goto yy719;
		case '}': goto yy720;
		default: goto yy694;
	}
yy693:
	++p;
#line 508 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 14603 "_gen/frontend/match.re2c.h"
yy694:
	++p;
yy695:
#line 507 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_Tok; break; }
#line 14609 "_gen/frontend/match.re2c.h"
yy696:
	++p;
#line 506 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_Tok; break; }
#line 14614 "_gen/frontend/match.re2c.h"
yy697:
	++p;
#line 489 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOpYsh_Space; break; }
#line 14619 "_gen/frontend/match.re2c.h"
yy698:
	yych = *++p;
	switch (yych) {
		case '#': goto yy721;
		default: goto yy699;
	}
yy699:
#line 492 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp1_Pound; break; }
#line 14629 "_gen/frontend/match.re2c.h"
yy700:
	yych = *++p;
	switch (yych) {
		case '%': goto yy722;
		default: goto yy701;
	}
yy701:
#line 490 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp1_Percent; break; }
#line 14639 "_gen/frontend/match.re2c.h"
yy702:
	++p;
#line 503 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp3_Star; break; }
#line 14644 "_gen/frontend/match.re2c.h"
yy703:
	++p;
#line 482 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VTest_Plus; break; }
#line 14649 "_gen/frontend/match.re2c.h"
yy704:
	yych = *++p;
	switch (yych) {
		case ',': goto yy723;
		default: goto yy705;
	}
yy705:
#line 496 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp1_Comma; break; }
#line 14659 "_gen/frontend/match.re2c.h"
yy706:
	++p;
#line 476 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VTest_Hyphen; break; }
#line 14664 "_gen/frontend/match.re2c.h"
yy707:
	++p;
#line 498 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp2_Slash; break; }
#line 14669 "_gen/frontend/match.re2c.h"
yy708:
	yych = *++p;
	switch (yych) {
		case '+': goto yy724;
		case '-': goto yy725;
		case '=': goto yy726;
		case '?': goto yy727;
		default: goto yy709;
	}
yy709:
#line 499 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp2_Colon; break; }
#line 14682 "_gen/frontend/match.re2c.h"
yy710:
	++p;
#line 478 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VTest_Equals; break; }
#line 14687 "_gen/frontend/match.re2c.h"
yy711:
	++p;
#line 480 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VTest_QMark; break; }
#line 14692 "_gen/frontend/match.re2c.h"
yy712:
	yych = *++p;
	switch (yych) {
		case 'A': goto yy728;
		case 'E': goto yy729;
		case 'P': goto yy730;
		case 'Q': goto yy731;
		case 'a': goto yy732;
		default: goto yy713;
	}
yy713:
#line 502 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp3_At; break; }
#line 14706 "_gen/frontend/match.re2c.h"
yy714:
	++p;
#line 500 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp2_LBracket; break; }
#line 14711 "_gen/frontend/match.re2c.h"
yy715:
	yych = *++p;
	switch (yych) {
		case '\n': goto yy733;
		default: goto yy695;
	}
yy716:
	++p;
#line 501 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp2_RBracket; break; }
#line 14722 "_gen/frontend/match.re2c.h"
yy717:
	yych = *++p;
	switch (yych) {
		case '^': goto yy734;
		default: goto yy718;
	}
yy718:
#line 494 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp1_Caret; break; }
#line 14732 "_gen/frontend/match.re2c.h"
yy719:
	++p;
#line 488 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOpYsh_Pipe; break; }
#line 14737 "_gen/frontend/match.re2c.h"
yy720:
	++p;
#line 504 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Right_DollarBrace; break; }
#line 14742 "_gen/frontend/match.re2c.h"
yy721:
	++p;
#line 493 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp1_DPound; break; }
#line 14747 "_gen/frontend/match.re2c.h"
yy722:
	++p;
#line 491 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp1_DPercent; break; }
#line 14752 "_gen/frontend/match.re2c.h"
yy723:
	++p;
#line 497 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp1_DComma; break; }
#line 14757 "_gen/frontend/match.re2c.h"
yy724:
	++p;
#line 481 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VTest_ColonPlus; break; }
#line 14762 "_gen/frontend/match.re2c.h"
yy725:
	++p;
#line 475 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VTest_ColonHyphen; break; }
#line 14767 "_gen/frontend/match.re2c.h"
yy726:
	++p;
#line 477 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VTest_ColonEquals; break; }
#line 14772 "_gen/frontend/match.re2c.h"
yy727:
	++p;
#line 479 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VTest_ColonQMark; break; }
#line 14777 "_gen/frontend/match.re2c.h"
yy728:
	++p;
#line 486 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp0_A; break; }
#line 14782 "_gen/frontend/match.re2c.h"
yy729:
	++p;
#line 484 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp0_E; break; }
#line 14787 "_gen/frontend/match.re2c.h"
yy730:
	++p;
#line 485 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp0_P; break; }
#line 14792 "_gen/frontend/match.re2c.h"
yy731:
	++p;
#line 483 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp0_Q; break; }
#line 14797 "_gen/frontend/match.re2c.h"
yy732:
	++p;
#line 487 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp0_a; break; }
#line 14802 "_gen/frontend/match.re2c.h"
yy733:
	++p;
#line 505 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_LineCont; break; }
#line 14807 "_gen/frontend/match.re2c.h"
yy734:
	++p;
#line 495 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp1_DCaret; break; }
#line 14812 "_gen/frontend/match.re2c.h"
}
#line 509 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__VSub_ArgUnquoted:
    for (;;) {
      
#line 14822 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy736;
		case '!': goto yy740;
		case '"': goto yy742;
		case '#': goto yy743;
		case '$': goto yy744;
		case '%': goto yy746;
		case '\'': goto yy747;
		case '*': goto yy748;
		case '+': goto yy749;
		case ',': goto yy750;
		case '/': goto yy751;
		case '<': goto yy752;
		case '>': goto yy753;
		case '?': goto yy754;
		case '@': goto yy755;
		case '\\': goto yy756;
		case '`': goto yy757;
		case '}': goto yy758;
		case '~': goto yy759;
		default: goto yy737;
	}
yy736:
	++p;
#line 553 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 14852 "_gen/frontend/match.re2c.h"
yy737:
	yych = *++p;
yy738:
	switch (yych) {
		case 0x00:
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '\'':
		case '*':
		case '+':
		case '/':
		case '<':
		case '>':
		case '?':
		case '@':
		case '\\':
		case '`':
		case '}':
		case '~': goto yy739;
		default: goto yy737;
	}
yy739:
#line 551 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Chars; break; }
#line 14880 "_gen/frontend/match.re2c.h"
yy740:
	yych = *++p;
	switch (yych) {
		case '(': goto yy760;
		default: goto yy741;
	}
yy741:
#line 552 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Other; break; }
#line 14890 "_gen/frontend/match.re2c.h"
yy742:
	++p;
#line 529 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DoubleQuote; break; }
#line 14895 "_gen/frontend/match.re2c.h"
yy743:
	++p;
#line 519 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Pound; break; }
#line 14900 "_gen/frontend/match.re2c.h"
yy744:
	yych = *++p;
	switch (yych) {
		case '!': goto yy761;
		case '"': goto yy762;
		case '#': goto yy763;
		case '$': goto yy764;
		case '\'': goto yy765;
		case '(': goto yy766;
		case '*': goto yy768;
		case '-': goto yy769;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy770;
		case '?': goto yy771;
		case '@': goto yy772;
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy773;
		case '[': goto yy775;
		case '{': goto yy776;
		default: goto yy745;
	}
yy745:
#line 522 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Dollar; break; }
#line 14984 "_gen/frontend/match.re2c.h"
yy746:
	++p;
#line 520 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Percent; break; }
#line 14989 "_gen/frontend/match.re2c.h"
yy747:
	++p;
#line 530 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_SingleQuote; break; }
#line 14994 "_gen/frontend/match.re2c.h"
yy748:
	yych = *++p;
	switch (yych) {
		case '(': goto yy778;
		default: goto yy741;
	}
yy749:
	yych = *++p;
	switch (yych) {
		case '(': goto yy779;
		default: goto yy741;
	}
yy750:
	yych = *++p;
	switch (yych) {
		case '(': goto yy780;
		default: goto yy738;
	}
yy751:
	++p;
#line 518 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Slash; break; }
#line 15017 "_gen/frontend/match.re2c.h"
yy752:
	yych = *++p;
	switch (yych) {
		case '(': goto yy782;
		default: goto yy741;
	}
yy753:
	yych = *++p;
	switch (yych) {
		case '(': goto yy783;
		default: goto yy741;
	}
yy754:
	yych = *++p;
	switch (yych) {
		case '(': goto yy784;
		default: goto yy741;
	}
yy755:
	yych = *++p;
	switch (yych) {
		case '(': goto yy785;
		default: goto yy741;
	}
yy756:
	yych = *++p;
	switch (yych) {
		case 0x00: goto yy741;
		case '\n': goto yy787;
		default: goto yy786;
	}
yy757:
	++p;
#line 523 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_Backtick; break; }
#line 15053 "_gen/frontend/match.re2c.h"
yy758:
	++p;
#line 521 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Right_DollarBrace; break; }
#line 15058 "_gen/frontend/match.re2c.h"
yy759:
	++p;
#line 550 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Tilde; break; }
#line 15063 "_gen/frontend/match.re2c.h"
yy760:
	++p;
#line 549 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_Bang; break; }
#line 15068 "_gen/frontend/match.re2c.h"
yy761:
	++p;
#line 537 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Bang; break; }
#line 15073 "_gen/frontend/match.re2c.h"
yy762:
	++p;
#line 531 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarDoubleQuote; break; }
#line 15078 "_gen/frontend/match.re2c.h"
yy763:
	++p;
#line 539 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Pound; break; }
#line 15083 "_gen/frontend/match.re2c.h"
yy764:
	++p;
#line 540 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Dollar; break; }
#line 15088 "_gen/frontend/match.re2c.h"
yy765:
	++p;
#line 532 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarSingleQuote; break; }
#line 15093 "_gen/frontend/match.re2c.h"
yy766:
	yych = *++p;
	switch (yych) {
		case '(': goto yy788;
		default: goto yy767;
	}
yy767:
#line 524 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarParen; break; }
#line 15103 "_gen/frontend/match.re2c.h"
yy768:
	++p;
#line 541 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Star; break; }
#line 15108 "_gen/frontend/match.re2c.h"
yy769:
	++p;
#line 542 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Hyphen; break; }
#line 15113 "_gen/frontend/match.re2c.h"
yy770:
	++p;
#line 536 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Number; break; }
#line 15118 "_gen/frontend/match.re2c.h"
yy771:
	++p;
#line 543 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_QMark; break; }
#line 15123 "_gen/frontend/match.re2c.h"
yy772:
	++p;
#line 538 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_At; break; }
#line 15128 "_gen/frontend/match.re2c.h"
yy773:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy773;
		default: goto yy774;
	}
yy774:
#line 535 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_DollarName; break; }
#line 15200 "_gen/frontend/match.re2c.h"
yy775:
	++p;
#line 528 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBracket; break; }
#line 15205 "_gen/frontend/match.re2c.h"
yy776:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '(': goto yy789;
		default: goto yy777;
	}
yy777:
#line 525 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBrace; break; }
#line 15215 "_gen/frontend/match.re2c.h"
yy778:
	++p;
#line 546 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_Star; break; }
#line 15220 "_gen/frontend/match.re2c.h"
yy779:
	++p;
#line 547 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_Plus; break; }
#line 15225 "_gen/frontend/match.re2c.h"
yy780:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '\'':
		case '*':
		case '+':
		case '/':
		case '<':
		case '>':
		case '?':
		case '@':
		case '\\':
		case '`':
		case '}':
		case '~': goto yy781;
		default: goto yy737;
	}
yy781:
#line 544 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_Comma; break; }
#line 15252 "_gen/frontend/match.re2c.h"
yy782:
	++p;
#line 533 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_ProcSubIn; break; }
#line 15257 "_gen/frontend/match.re2c.h"
yy783:
	++p;
#line 534 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_ProcSubOut; break; }
#line 15262 "_gen/frontend/match.re2c.h"
yy784:
	++p;
#line 548 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_QMark; break; }
#line 15267 "_gen/frontend/match.re2c.h"
yy785:
	++p;
#line 545 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_At; break; }
#line 15272 "_gen/frontend/match.re2c.h"
yy786:
	++p;
#line 516 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_EscapedChar; break; }
#line 15277 "_gen/frontend/match.re2c.h"
yy787:
	++p;
#line 517 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_LineCont; break; }
#line 15282 "_gen/frontend/match.re2c.h"
yy788:
	++p;
#line 527 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarDParen; break; }
#line 15287 "_gen/frontend/match.re2c.h"
yy789:
	yych = *++p;
	switch (yych) {
		case ')': goto yy790;
		default: goto yy792;
	}
yy790:
	p = YYMARKER;
	goto yy777;
yy791:
	yych = *++p;
yy792:
	switch (yych) {
		case 0x00: goto yy790;
		case ')': goto yy793;
		default: goto yy791;
	}
yy793:
	++p;
#line 526 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBraceZsh; break; }
#line 15309 "_gen/frontend/match.re2c.h"
}
#line 554 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__VSub_ArgDQ:
    for (;;) {
      
#line 15319 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy795;
		case '"': goto yy798;
		case '#': goto yy799;
		case '$': goto yy800;
		case '%': goto yy802;
		case '/': goto yy803;
		case '\\': goto yy804;
		case '`': goto yy806;
		case '}': goto yy807;
		default: goto yy796;
	}
yy795:
	++p;
#line 588 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 15339 "_gen/frontend/match.re2c.h"
yy796:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case '"':
		case '#':
		case '$':
		case '%':
		case '/':
		case '\\':
		case '`':
		case '}': goto yy797;
		default: goto yy796;
	}
yy797:
#line 585 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Chars; break; }
#line 15357 "_gen/frontend/match.re2c.h"
yy798:
	++p;
#line 586 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DoubleQuote; break; }
#line 15362 "_gen/frontend/match.re2c.h"
yy799:
	++p;
#line 566 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Pound; break; }
#line 15367 "_gen/frontend/match.re2c.h"
yy800:
	yych = *++p;
	switch (yych) {
		case '!': goto yy808;
		case '#': goto yy809;
		case '$': goto yy810;
		case '\'': goto yy811;
		case '(': goto yy812;
		case '*': goto yy814;
		case '-': goto yy815;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy816;
		case '?': goto yy817;
		case '@': goto yy818;
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy819;
		case '[': goto yy821;
		case '{': goto yy822;
		default: goto yy801;
	}
yy801:
#line 569 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Dollar; break; }
#line 15450 "_gen/frontend/match.re2c.h"
yy802:
	++p;
#line 567 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Percent; break; }
#line 15455 "_gen/frontend/match.re2c.h"
yy803:
	++p;
#line 565 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Slash; break; }
#line 15460 "_gen/frontend/match.re2c.h"
yy804:
	yych = *++p;
	switch (yych) {
		case '\n': goto yy824;
		case '"':
		case '$':
		case '\\':
		case '`': goto yy825;
		case '}': goto yy826;
		default: goto yy805;
	}
yy805:
#line 564 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_BadBackslash; break; }
#line 15475 "_gen/frontend/match.re2c.h"
yy806:
	++p;
#line 570 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_Backtick; break; }
#line 15480 "_gen/frontend/match.re2c.h"
yy807:
	++p;
#line 568 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Right_DollarBrace; break; }
#line 15485 "_gen/frontend/match.re2c.h"
yy808:
	++p;
#line 578 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Bang; break; }
#line 15490 "_gen/frontend/match.re2c.h"
yy809:
	++p;
#line 580 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Pound; break; }
#line 15495 "_gen/frontend/match.re2c.h"
yy810:
	++p;
#line 581 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Dollar; break; }
#line 15500 "_gen/frontend/match.re2c.h"
yy811:
	++p;
#line 587 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarSingleQuote; break; }
#line 15505 "_gen/frontend/match.re2c.h"
yy812:
	yych = *++p;
	switch (yych) {
		case '(': goto yy827;
		default: goto yy813;
	}
yy813:
#line 571 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarParen; break; }
#line 15515 "_gen/frontend/match.re2c.h"
yy814:
	++p;
#line 582 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Star; break; }
#line 15520 "_gen/frontend/match.re2c.h"
yy815:
	++p;
#line 583 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Hyphen; break; }
#line 15525 "_gen/frontend/match.re2c.h"
yy816:
	++p;
#line 577 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Number; break; }
#line 15530 "_gen/frontend/match.re2c.h"
yy817:
	++p;
#line 584 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_QMark; break; }
#line 15535 "_gen/frontend/match.re2c.h"
yy818:
	++p;
#line 579 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_At; break; }
#line 15540 "_gen/frontend/match.re2c.h"
yy819:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy819;
		default: goto yy820;
	}
yy820:
#line 576 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_DollarName; break; }
#line 15612 "_gen/frontend/match.re2c.h"
yy821:
	++p;
#line 575 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBracket; break; }
#line 15617 "_gen/frontend/match.re2c.h"
yy822:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '(': goto yy828;
		default: goto yy823;
	}
yy823:
#line 572 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBrace; break; }
#line 15627 "_gen/frontend/match.re2c.h"
yy824:
	++p;
#line 563 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_LineCont; break; }
#line 15632 "_gen/frontend/match.re2c.h"
yy825:
	++p;
#line 561 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_EscapedChar; break; }
#line 15637 "_gen/frontend/match.re2c.h"
yy826:
	++p;
#line 562 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_EscapedChar; break; }
#line 15642 "_gen/frontend/match.re2c.h"
yy827:
	++p;
#line 574 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarDParen; break; }
#line 15647 "_gen/frontend/match.re2c.h"
yy828:
	yych = *++p;
	switch (yych) {
		case ')': goto yy829;
		default: goto yy831;
	}
yy829:
	p = YYMARKER;
	goto yy823;
yy830:
	yych = *++p;
yy831:
	switch (yych) {
		case 0x00: goto yy829;
		case ')': goto yy832;
		default: goto yy830;
	}
yy832:
	++p;
#line 573 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBraceZsh; break; }
#line 15669 "_gen/frontend/match.re2c.h"
}
#line 589 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__VSub_Zsh:
    for (;;) {
      
#line 15679 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy834;
		case '"': goto yy837;
		case '$': goto yy838;
		case '\'': goto yy839;
		case '<': goto yy840;
		case '>': goto yy841;
		case '\\': goto yy842;
		case '`': goto yy843;
		case '}': goto yy844;
		default: goto yy835;
	}
yy834:
	++p;
#line 612 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 15699 "_gen/frontend/match.re2c.h"
yy835:
	++p;
yy836:
#line 611 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Other; break; }
#line 15705 "_gen/frontend/match.re2c.h"
yy837:
	++p;
#line 604 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DoubleQuote; break; }
#line 15710 "_gen/frontend/match.re2c.h"
yy838:
	yych = *++p;
	switch (yych) {
		case '"': goto yy845;
		case '\'': goto yy846;
		case '(': goto yy847;
		case '[': goto yy849;
		case '{': goto yy850;
		default: goto yy836;
	}
yy839:
	++p;
#line 605 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_SingleQuote; break; }
#line 15725 "_gen/frontend/match.re2c.h"
yy840:
	yych = *++p;
	switch (yych) {
		case '(': goto yy852;
		default: goto yy836;
	}
yy841:
	yych = *++p;
	switch (yych) {
		case '(': goto yy853;
		default: goto yy836;
	}
yy842:
	yych = *++p;
	switch (yych) {
		case 0x00: goto yy836;
		case '\n': goto yy855;
		default: goto yy854;
	}
yy843:
	++p;
#line 598 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_Backtick; break; }
#line 15749 "_gen/frontend/match.re2c.h"
yy844:
	++p;
#line 610 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Right_DollarBrace; break; }
#line 15754 "_gen/frontend/match.re2c.h"
yy845:
	++p;
#line 606 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarDoubleQuote; break; }
#line 15759 "_gen/frontend/match.re2c.h"
yy846:
	++p;
#line 607 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarSingleQuote; break; }
#line 15764 "_gen/frontend/match.re2c.h"
yy847:
	yych = *++p;
	switch (yych) {
		case '(': goto yy856;
		default: goto yy848;
	}
yy848:
#line 599 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarParen; break; }
#line 15774 "_gen/frontend/match.re2c.h"
yy849:
	++p;
#line 603 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBracket; break; }
#line 15779 "_gen/frontend/match.re2c.h"
yy850:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '(': goto yy857;
		default: goto yy851;
	}
yy851:
#line 600 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBrace; break; }
#line 15789 "_gen/frontend/match.re2c.h"
yy852:
	++p;
#line 608 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_ProcSubIn; break; }
#line 15794 "_gen/frontend/match.re2c.h"
yy853:
	++p;
#line 609 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_ProcSubOut; break; }
#line 15799 "_gen/frontend/match.re2c.h"
yy854:
	++p;
#line 596 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_EscapedChar; break; }
#line 15804 "_gen/frontend/match.re2c.h"
yy855:
	++p;
#line 597 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_LineCont; break; }
#line 15809 "_gen/frontend/match.re2c.h"
yy856:
	++p;
#line 602 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarDParen; break; }
#line 15814 "_gen/frontend/match.re2c.h"
yy857:
	yych = *++p;
	switch (yych) {
		case ')': goto yy858;
		default: goto yy860;
	}
yy858:
	p = YYMARKER;
	goto yy851;
yy859:
	yych = *++p;
yy860:
	switch (yych) {
		case 0x00: goto yy858;
		case ')': goto yy861;
		default: goto yy859;
	}
yy861:
	++p;
#line 601 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBraceZsh; break; }
#line 15836 "_gen/frontend/match.re2c.h"
}
#line 613 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__BashRegex:
    for (;;) {
      
#line 15846 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy863;
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case '!':
		case '#':
		case '%':
		case '*':
		case '+':
		case ',':
		case ':':
		case '=':
		case '?':
		case '@':
		case '[':
		case ']':
		case '^':
		case '{':
		case '|':
		case '}':
		case 0x7F: goto yy864;
		case '\t':
		case ' ': goto yy866;
		case '\n': goto yy868;
		case '"': goto yy869;
		case '$': goto yy870;
		case '&': goto yy871;
		case '\'': goto yy872;
		case '(': goto yy873;
		case ')': goto yy874;
		case '/': goto yy877;
		case ';': goto yy878;
		case '<': goto yy879;
		case '>': goto yy880;
		case '\\': goto yy881;
		case '`': goto yy882;
		case '~': goto yy883;
		default: goto yy875;
	}
yy863:
	++p;
#line 653 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 15920 "_gen/frontend/match.re2c.h"
yy864:
	++p;
yy865:
#line 650 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Other; break; }
#line 15926 "_gen/frontend/match.re2c.h"
yy866:
	yych = *++p;
	switch (yych) {
		case '\t':
		case ' ': goto yy866;
		default: goto yy867;
	}
yy867:
#line 642 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__WS_Space; break; }
#line 15937 "_gen/frontend/match.re2c.h"
yy868:
	++p;
#line 645 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BashRegex_AllowedInParens; break; }
#line 15942 "_gen/frontend/match.re2c.h"
yy869:
	++p;
#line 626 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DoubleQuote; break; }
#line 15947 "_gen/frontend/match.re2c.h"
yy870:
	yych = *++p;
	switch (yych) {
		case '!': goto yy884;
		case '"': goto yy885;
		case '#': goto yy886;
		case '$': goto yy887;
		case '\'': goto yy888;
		case '(': goto yy889;
		case '*': goto yy891;
		case '-': goto yy892;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy893;
		case '?': goto yy894;
		case '@': goto yy895;
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy896;
		case '[': goto yy898;
		case '{': goto yy899;
		default: goto yy865;
	}
yy871:
	++p;
#line 646 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BashRegex_AllowedInParens; break; }
#line 16032 "_gen/frontend/match.re2c.h"
yy872:
	++p;
#line 627 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_SingleQuote; break; }
#line 16037 "_gen/frontend/match.re2c.h"
yy873:
	++p;
#line 643 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BashRegex_LParen; break; }
#line 16042 "_gen/frontend/match.re2c.h"
yy874:
	++p;
#line 644 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_RParen; break; }
#line 16047 "_gen/frontend/match.re2c.h"
yy875:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '&':
		case '\'':
		case '(':
		case ')':
		case '*':
		case '+':
		case ',':
		case '/':
		case ':':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '[':
		case '\\':
		case ']':
		case '^':
		case '`':
		case '{':
		case '|':
		case '}':
		case '~':
		case 0x7F: goto yy876;
		default: goto yy875;
	}
yy876:
#line 639 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Chars; break; }
#line 16119 "_gen/frontend/match.re2c.h"
yy877:
	++p;
#line 641 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Slash; break; }
#line 16124 "_gen/frontend/match.re2c.h"
yy878:
	++p;
#line 647 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BashRegex_AllowedInParens; break; }
#line 16129 "_gen/frontend/match.re2c.h"
yy879:
	++p;
#line 649 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BashRegex_AllowedInParens; break; }
#line 16134 "_gen/frontend/match.re2c.h"
yy880:
	++p;
#line 648 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BashRegex_AllowedInParens; break; }
#line 16139 "_gen/frontend/match.re2c.h"
yy881:
	yych = *++p;
	switch (yych) {
		case 0x00: goto yy865;
		case '\n': goto yy902;
		default: goto yy901;
	}
yy882:
	++p;
#line 620 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_Backtick; break; }
#line 16151 "_gen/frontend/match.re2c.h"
yy883:
	++p;
#line 640 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Tilde; break; }
#line 16156 "_gen/frontend/match.re2c.h"
yy884:
	++p;
#line 632 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Bang; break; }
#line 16161 "_gen/frontend/match.re2c.h"
yy885:
	++p;
#line 628 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarDoubleQuote; break; }
#line 16166 "_gen/frontend/match.re2c.h"
yy886:
	++p;
#line 634 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Pound; break; }
#line 16171 "_gen/frontend/match.re2c.h"
yy887:
	++p;
#line 635 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Dollar; break; }
#line 16176 "_gen/frontend/match.re2c.h"
yy888:
	++p;
#line 629 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarSingleQuote; break; }
#line 16181 "_gen/frontend/match.re2c.h"
yy889:
	yych = *++p;
	switch (yych) {
		case '(': goto yy903;
		default: goto yy890;
	}
yy890:
#line 621 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarParen; break; }
#line 16191 "_gen/frontend/match.re2c.h"
yy891:
	++p;
#line 636 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Star; break; }
#line 16196 "_gen/frontend/match.re2c.h"
yy892:
	++p;
#line 637 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Hyphen; break; }
#line 16201 "_gen/frontend/match.re2c.h"
yy893:
	++p;
#line 631 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Number; break; }
#line 16206 "_gen/frontend/match.re2c.h"
yy894:
	++p;
#line 638 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_QMark; break; }
#line 16211 "_gen/frontend/match.re2c.h"
yy895:
	++p;
#line 633 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_At; break; }
#line 16216 "_gen/frontend/match.re2c.h"
yy896:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy896;
		default: goto yy897;
	}
yy897:
#line 630 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_DollarName; break; }
#line 16288 "_gen/frontend/match.re2c.h"
yy898:
	++p;
#line 625 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBracket; break; }
#line 16293 "_gen/frontend/match.re2c.h"
yy899:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '(': goto yy904;
		default: goto yy900;
	}
yy900:
#line 622 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBrace; break; }
#line 16303 "_gen/frontend/match.re2c.h"
yy901:
	++p;
#line 651 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_EscapedChar; break; }
#line 16308 "_gen/frontend/match.re2c.h"
yy902:
	++p;
#line 652 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_LineCont; break; }
#line 16313 "_gen/frontend/match.re2c.h"
yy903:
	++p;
#line 624 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarDParen; break; }
#line 16318 "_gen/frontend/match.re2c.h"
yy904:
	yych = *++p;
	switch (yych) {
		case ')': goto yy905;
		default: goto yy907;
	}
yy905:
	p = YYMARKER;
	goto yy900;
yy906:
	yych = *++p;
yy907:
	switch (yych) {
		case 0x00: goto yy905;
		case ')': goto yy908;
		default: goto yy906;
	}
yy908:
	++p;
#line 623 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBraceZsh; break; }
#line 16340 "_gen/frontend/match.re2c.h"
}
#line 654 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__FuncParens:
    for (;;) {
      
#line 16350 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy910;
		case '\t':
		case ' ': goto yy913;
		case '(': goto yy914;
		default: goto yy911;
	}
yy910:
	++p;
#line 663 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 16365 "_gen/frontend/match.re2c.h"
yy911:
	++p;
yy912:
#line 662 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_Tok; break; }
#line 16371 "_gen/frontend/match.re2c.h"
yy913:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '\t':
		case ' ': goto yy915;
		case '(': goto yy917;
		default: goto yy912;
	}
yy914:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '\t':
		case ' ': goto yy917;
		case ')': goto yy918;
		default: goto yy912;
	}
yy915:
	yych = *++p;
	switch (yych) {
		case '\t':
		case ' ': goto yy915;
		case '(': goto yy917;
		default: goto yy916;
	}
yy916:
	p = YYMARKER;
	goto yy912;
yy917:
	yych = *++p;
	switch (yych) {
		case '\t':
		case ' ': goto yy917;
		case ')': goto yy918;
		default: goto yy916;
	}
yy918:
	++p;
#line 661 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__LookAhead_FuncParens; break; }
#line 16411 "_gen/frontend/match.re2c.h"
}
#line 664 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__PrintfOuter:
    for (;;) {
      
#line 16421 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy920;
		case '%': goto yy923;
		case '\\': goto yy925;
		default: goto yy921;
	}
yy920:
	++p;
#line 680 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 16435 "_gen/frontend/match.re2c.h"
yy921:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case '%':
		case '\\': goto yy922;
		default: goto yy921;
	}
yy922:
#line 677 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Chars; break; }
#line 16447 "_gen/frontend/match.re2c.h"
yy923:
	yych = *++p;
	switch (yych) {
		case '%': goto yy927;
		default: goto yy924;
	}
yy924:
#line 679 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Format_Percent; break; }
#line 16457 "_gen/frontend/match.re2c.h"
yy925:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '0': goto yy928;
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy930;
		case 'E':
		case '\\':
		case 'a':
		case 'b':
		case 'e':
		case 'f':
		case 'n':
		case 'r':
		case 't':
		case 'v': goto yy932;
		case 'U': goto yy933;
		case 'u': goto yy935;
		case 'x': goto yy936;
		default: goto yy926;
	}
yy926:
#line 675 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_Backslash; break; }
#line 16487 "_gen/frontend/match.re2c.h"
yy927:
	++p;
#line 678 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Format_EscapedPercent; break; }
#line 16492 "_gen/frontend/match.re2c.h"
yy928:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy937;
		default: goto yy929;
	}
yy929:
#line 674 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_OneChar; break; }
#line 16509 "_gen/frontend/match.re2c.h"
yy930:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy937;
		default: goto yy931;
	}
yy931:
#line 676 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Octal3; break; }
#line 16526 "_gen/frontend/match.re2c.h"
yy932:
	++p;
	goto yy929;
yy933:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy938;
		default: goto yy934;
	}
yy934:
	p = YYMARKER;
	goto yy926;
yy935:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy940;
		default: goto yy934;
	}
yy936:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy942;
		default: goto yy934;
	}
yy937:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy944;
		default: goto yy931;
	}
yy938:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy945;
		default: goto yy939;
	}
yy939:
#line 673 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Unicode8; break; }
#line 16657 "_gen/frontend/match.re2c.h"
yy940:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy946;
		default: goto yy941;
	}
yy941:
#line 672 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Unicode4; break; }
#line 16688 "_gen/frontend/match.re2c.h"
yy942:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy947;
		default: goto yy943;
	}
yy943:
#line 671 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Hex; break; }
#line 16719 "_gen/frontend/match.re2c.h"
yy944:
	++p;
	goto yy931;
yy945:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy948;
		default: goto yy939;
	}
yy946:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy949;
		default: goto yy941;
	}
yy947:
	++p;
	goto yy943;
yy948:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy950;
		default: goto yy939;
	}
yy949:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy951;
		default: goto yy941;
	}
yy950:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy952;
		default: goto yy939;
	}
yy951:
	++p;
	goto yy941;
yy952:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy953;
		default: goto yy939;
	}
yy953:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy954;
		default: goto yy939;
	}
yy954:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy955;
		default: goto yy939;
	}
yy955:
	++p;
	goto yy939;
}
#line 681 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__PrintfPercent:
    for (;;) {
      
#line 16957 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy957;
		case ' ':
		case '#':
		case '+':
		case '-': goto yy960;
		case '(': goto yy961;
		case '*': goto yy962;
		case '.': goto yy963;
		case '0': goto yy964;
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy965;
		case 'E':
		case 'F':
		case 'G':
		case 'X':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'i':
		case 'o':
		case 'q':
		case 's':
		case 'u':
		case 'x': goto yy967;
		default: goto yy958;
	}
yy957:
	++p;
#line 696 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 17002 "_gen/frontend/match.re2c.h"
yy958:
	++p;
yy959:
#line 695 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_Tok; break; }
#line 17008 "_gen/frontend/match.re2c.h"
yy960:
	++p;
#line 688 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Format_Flag; break; }
#line 17013 "_gen/frontend/match.re2c.h"
yy961:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case 0x00:
		case '(': goto yy959;
		default: goto yy969;
	}
yy962:
	++p;
#line 691 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Format_Star; break; }
#line 17025 "_gen/frontend/match.re2c.h"
yy963:
	++p;
#line 692 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Format_Dot; break; }
#line 17030 "_gen/frontend/match.re2c.h"
yy964:
	++p;
#line 689 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Format_Zero; break; }
#line 17035 "_gen/frontend/match.re2c.h"
yy965:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy965;
		default: goto yy966;
	}
yy966:
#line 690 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Format_Num; break; }
#line 17054 "_gen/frontend/match.re2c.h"
yy967:
	++p;
#line 693 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Format_Type; break; }
#line 17059 "_gen/frontend/match.re2c.h"
yy968:
	yych = *++p;
yy969:
	switch (yych) {
		case 0x00:
		case '(': goto yy970;
		case ')': goto yy971;
		default: goto yy968;
	}
yy970:
	p = YYMARKER;
	goto yy959;
yy971:
	yych = *++p;
	switch (yych) {
		case 'T': goto yy972;
		default: goto yy970;
	}
yy972:
	++p;
#line 694 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Format_Time; break; }
#line 17082 "_gen/frontend/match.re2c.h"
}
#line 697 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__Expr:
    for (;;) {
      
#line 17092 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	unsigned int yyaccept = 0;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy974;
		case '\t':
		case '\r':
		case ' ': goto yy977;
		case '\n': goto yy979;
		case '!': goto yy980;
		case '"': goto yy982;
		case '#': goto yy984;
		case '$': goto yy986;
		case '%': goto yy988;
		case '&': goto yy990;
		case '\'': goto yy992;
		case '(': goto yy994;
		case ')': goto yy995;
		case '*': goto yy996;
		case '+': goto yy998;
		case ',': goto yy1000;
		case '-': goto yy1001;
		case '.': goto yy1003;
		case '/': goto yy1005;
		case '0': goto yy1007;
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1009;
		case ':': goto yy1011;
		case ';': goto yy1013;
		case '<': goto yy1014;
		case '=': goto yy1016;
		case '>': goto yy1018;
		case '?': goto yy1020;
		case '@': goto yy1021;
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'd':
		case 'g':
		case 'h':
		case 'k':
		case 'l':
		case 'm':
		case 'q':
		case 's':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1023;
		case '[': goto yy1026;
		case '\\': goto yy1027;
		case ']': goto yy1028;
		case '^': goto yy1029;
		case 'a': goto yy1031;
		case 'b': goto yy1032;
		case 'c': goto yy1033;
		case 'e': goto yy1034;
		case 'f': goto yy1035;
		case 'i': goto yy1036;
		case 'j': goto yy1037;
		case 'n': goto yy1038;
		case 'o': goto yy1039;
		case 'p': goto yy1040;
		case 'r': goto yy1041;
		case 't': goto yy1042;
		case 'u': goto yy1043;
		case '{': goto yy1044;
		case '|': goto yy1045;
		case '}': goto yy1047;
		case '~': goto yy1048;
		default: goto yy975;
	}
yy974:
	++p;
#line 835 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 17202 "_gen/frontend/match.re2c.h"
yy975:
	++p;
yy976:
#line 834 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_Tok; break; }
#line 17208 "_gen/frontend/match.re2c.h"
yy977:
	yych = *++p;
	switch (yych) {
		case '\t':
		case '\r':
		case ' ': goto yy977;
		default: goto yy978;
	}
yy978:
#line 832 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_Space; break; }
#line 17220 "_gen/frontend/match.re2c.h"
yy979:
	++p;
#line 830 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_Newline; break; }
#line 17225 "_gen/frontend/match.re2c.h"
yy980:
	yyaccept = 0;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '=': goto yy1050;
		case '~': goto yy1052;
		default: goto yy981;
	}
yy981:
#line 815 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Bang; break; }
#line 17237 "_gen/frontend/match.re2c.h"
yy982:
	yyaccept = 1;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '"': goto yy1054;
		default: goto yy983;
	}
yy983:
#line 716 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DoubleQuote; break; }
#line 17248 "_gen/frontend/match.re2c.h"
yy984:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case '\n': goto yy985;
		default: goto yy984;
	}
yy985:
#line 831 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_Comment; break; }
#line 17259 "_gen/frontend/match.re2c.h"
yy986:
	yych = *++p;
	switch (yych) {
		case '!': goto yy1055;
		case '"': goto yy1056;
		case '#': goto yy1058;
		case '$': goto yy1059;
		case '\'': goto yy1060;
		case '(': goto yy1061;
		case '*': goto yy1062;
		case '-': goto yy1063;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1064;
		case '?': goto yy1065;
		case '@': goto yy1066;
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1067;
		case '[': goto yy1069;
		case '{': goto yy1070;
		default: goto yy987;
	}
yy987:
#line 823 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Dollar; break; }
#line 17343 "_gen/frontend/match.re2c.h"
yy988:
	yych = *++p;
	switch (yych) {
		case '(': goto yy1071;
		case '=': goto yy1072;
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1073;
		case '[': goto yy1075;
		case '{': goto yy1076;
		default: goto yy989;
	}
yy989:
#line 782 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Percent; break; }
#line 17409 "_gen/frontend/match.re2c.h"
yy990:
	yych = *++p;
	switch (yych) {
		case '&': goto yy1077;
		case '=': goto yy1078;
		default: goto yy991;
	}
yy991:
#line 794 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Amp; break; }
#line 17420 "_gen/frontend/match.re2c.h"
yy992:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '\'': goto yy1079;
		default: goto yy993;
	}
yy993:
#line 719 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_SingleQuote; break; }
#line 17431 "_gen/frontend/match.re2c.h"
yy994:
	++p;
#line 742 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_LParen; break; }
#line 17436 "_gen/frontend/match.re2c.h"
yy995:
	++p;
#line 743 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_RParen; break; }
#line 17441 "_gen/frontend/match.re2c.h"
yy996:
	yych = *++p;
	switch (yych) {
		case '*': goto yy1080;
		case '=': goto yy1082;
		default: goto yy997;
	}
yy997:
#line 779 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Star; break; }
#line 17452 "_gen/frontend/match.re2c.h"
yy998:
	yych = *++p;
	switch (yych) {
		case '+': goto yy1083;
		case '=': goto yy1084;
		default: goto yy999;
	}
yy999:
#line 777 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Plus; break; }
#line 17463 "_gen/frontend/match.re2c.h"
yy1000:
	++p;
#line 774 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Comma; break; }
#line 17468 "_gen/frontend/match.re2c.h"
yy1001:
	yych = *++p;
	switch (yych) {
		case '=': goto yy1085;
		case '>': goto yy1086;
		default: goto yy1002;
	}
yy1002:
#line 778 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Minus; break; }
#line 17479 "_gen/frontend/match.re2c.h"
yy1003:
	yych = *++p;
	switch (yych) {
		case '.': goto yy1087;
		default: goto yy1004;
	}
yy1004:
#line 818 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Dot; break; }
#line 17489 "_gen/frontend/match.re2c.h"
yy1005:
	yych = *++p;
	switch (yych) {
		case '/': goto yy1089;
		case '=': goto yy1091;
		default: goto yy1006;
	}
yy1006:
#line 781 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Slash; break; }
#line 17500 "_gen/frontend/match.re2c.h"
yy1007:
	yyaccept = 3;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case 'B':
		case 'b': goto yy1093;
		case 'O':
		case 'o': goto yy1095;
		case 'X':
		case 'x': goto yy1096;
		default: goto yy1010;
	}
yy1008:
#line 767 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_DecInt; break; }
#line 17516 "_gen/frontend/match.re2c.h"
yy1009:
	yyaccept = 3;
	yych = *(YYMARKER = ++p);
yy1010:
	switch (yych) {
		case '.': goto yy1092;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1009;
		case 'E':
		case 'e': goto yy1094;
		case '_': goto yy1097;
		default: goto yy1008;
	}
yy1011:
	yych = *++p;
	switch (yych) {
		case '|': goto yy1098;
		default: goto yy1012;
	}
yy1012:
#line 775 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Colon; break; }
#line 17547 "_gen/frontend/match.re2c.h"
yy1013:
	++p;
#line 741 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_Semi; break; }
#line 17552 "_gen/frontend/match.re2c.h"
yy1014:
	yych = *++p;
	switch (yych) {
		case '-': goto yy1099;
		case '<': goto yy1100;
		case '=': goto yy1102;
		default: goto yy1015;
	}
yy1015:
#line 785 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Less; break; }
#line 17564 "_gen/frontend/match.re2c.h"
yy1016:
	yych = *++p;
	switch (yych) {
		case '=': goto yy1103;
		case '>': goto yy1105;
		default: goto yy1017;
	}
yy1017:
#line 802 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Equal; break; }
#line 17575 "_gen/frontend/match.re2c.h"
yy1018:
	yych = *++p;
	switch (yych) {
		case '=': goto yy1106;
		case '>': goto yy1107;
		default: goto yy1019;
	}
yy1019:
#line 786 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Great; break; }
#line 17586 "_gen/frontend/match.re2c.h"
yy1020:
	++p;
#line 776 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_QMark; break; }
#line 17591 "_gen/frontend/match.re2c.h"
yy1021:
	yych = *++p;
	switch (yych) {
		case '(': goto yy1109;
		case '@': goto yy1110;
		case '[': goto yy1111;
		case '{': goto yy1112;
		default: goto yy1022;
	}
yy1022:
#line 828 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_At; break; }
#line 17604 "_gen/frontend/match.re2c.h"
yy1023:
	yych = *++p;
yy1024:
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1023;
		default: goto yy1025;
	}
yy1025:
#line 772 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Name; break; }
#line 17677 "_gen/frontend/match.re2c.h"
yy1026:
	++p;
#line 744 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_LBracket; break; }
#line 17682 "_gen/frontend/match.re2c.h"
yy1027:
	yyaccept = 4;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '\n': goto yy1113;
		case '"':
		case '\'':
		case '\\':
		case 'n':
		case 'r':
		case 't': goto yy1114;
		case 'U':
		case 'u': goto yy1115;
		case 'x': goto yy1116;
		case 'y': goto yy1117;
		default: goto yy976;
	}
yy1028:
	++p;
#line 745 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_RBracket; break; }
#line 17704 "_gen/frontend/match.re2c.h"
yy1029:
	yych = *++p;
	switch (yych) {
		case '"': goto yy1118;
		case '(': goto yy1119;
		case '=': goto yy1120;
		case '[': goto yy1121;
		case '{': goto yy1122;
		default: goto yy1030;
	}
yy1030:
#line 780 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Caret; break; }
#line 17718 "_gen/frontend/match.re2c.h"
yy1031:
	yych = *++p;
	switch (yych) {
		case 'n': goto yy1123;
		case 's': goto yy1124;
		default: goto yy1024;
	}
yy1032:
	yych = *++p;
	switch (yych) {
		case '\'': goto yy1126;
		default: goto yy1024;
	}
yy1033:
	yych = *++p;
	switch (yych) {
		case 'a': goto yy1128;
		default: goto yy1024;
	}
yy1034:
	yych = *++p;
	switch (yych) {
		case 'l': goto yy1129;
		default: goto yy1024;
	}
yy1035:
	yych = *++p;
	switch (yych) {
		case 'a': goto yy1130;
		case 'o': goto yy1131;
		case 'u': goto yy1132;
		default: goto yy1024;
	}
yy1036:
	yych = *++p;
	switch (yych) {
		case 'f': goto yy1133;
		case 'n': goto yy1135;
		case 's': goto yy1137;
		default: goto yy1024;
	}
yy1037:
	yych = *++p;
	switch (yych) {
		case '"': goto yy1139;
		default: goto yy1024;
	}
yy1038:
	yych = *++p;
	switch (yych) {
		case 'o': goto yy1140;
		case 'u': goto yy1141;
		default: goto yy1024;
	}
yy1039:
	yych = *++p;
	switch (yych) {
		case 'r': goto yy1142;
		default: goto yy1024;
	}
yy1040:
	yych = *++p;
	switch (yych) {
		case 'r': goto yy1144;
		default: goto yy1024;
	}
yy1041:
	yych = *++p;
	switch (yych) {
		case '\'': goto yy1145;
		default: goto yy1024;
	}
yy1042:
	yych = *++p;
	switch (yych) {
		case 'r': goto yy1147;
		default: goto yy1024;
	}
yy1043:
	yych = *++p;
	switch (yych) {
		case '\'': goto yy1148;
		default: goto yy1024;
	}
yy1044:
	++p;
#line 746 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_LBrace; break; }
#line 17807 "_gen/frontend/match.re2c.h"
yy1045:
	yych = *++p;
	switch (yych) {
		case '=': goto yy1150;
		case '|': goto yy1151;
		default: goto yy1046;
	}
yy1046:
#line 795 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Pipe; break; }
#line 17818 "_gen/frontend/match.re2c.h"
yy1047:
	++p;
#line 747 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_RBrace; break; }
#line 17823 "_gen/frontend/match.re2c.h"
yy1048:
	yyaccept = 5;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '=': goto yy1152;
		case '~': goto yy1153;
		default: goto yy1049;
	}
yy1049:
#line 798 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Tilde; break; }
#line 17835 "_gen/frontend/match.re2c.h"
yy1050:
	yych = *++p;
	switch (yych) {
		case '=': goto yy1154;
		default: goto yy1051;
	}
yy1051:
	p = YYMARKER;
	switch (yyaccept) {
		case 0: goto yy981;
		case 1: goto yy983;
		case 2: goto yy993;
		case 3: goto yy1008;
		case 4: goto yy976;
		case 5: goto yy1049;
		case 6: goto yy1057;
		case 7: goto yy1127;
		case 8: goto yy1146;
		case 9: goto yy1149;
		case 10: goto yy1166;
		case 11: goto yy1168;
		case 12: goto yy1173;
		default: goto yy1176;
	}
yy1052:
	yych = *++p;
	switch (yych) {
		case '~': goto yy1155;
		default: goto yy1053;
	}
yy1053:
#line 799 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_NotTilde; break; }
#line 17869 "_gen/frontend/match.re2c.h"
yy1054:
	yych = *++p;
	switch (yych) {
		case '"': goto yy1156;
		default: goto yy1051;
	}
yy1055:
	++p;
#line 706 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Bang; break; }
#line 17880 "_gen/frontend/match.re2c.h"
yy1056:
	yyaccept = 6;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '"': goto yy1157;
		default: goto yy1057;
	}
yy1057:
#line 717 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarDoubleQuote; break; }
#line 17891 "_gen/frontend/match.re2c.h"
yy1058:
	++p;
#line 708 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Pound; break; }
#line 17896 "_gen/frontend/match.re2c.h"
yy1059:
	++p;
#line 709 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Dollar; break; }
#line 17901 "_gen/frontend/match.re2c.h"
yy1060:
	++p;
#line 723 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarSingleQuote; break; }
#line 17906 "_gen/frontend/match.re2c.h"
yy1061:
	++p;
#line 713 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarParen; break; }
#line 17911 "_gen/frontend/match.re2c.h"
yy1062:
	++p;
#line 710 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Star; break; }
#line 17916 "_gen/frontend/match.re2c.h"
yy1063:
	++p;
#line 711 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Hyphen; break; }
#line 17921 "_gen/frontend/match.re2c.h"
yy1064:
	++p;
#line 705 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Number; break; }
#line 17926 "_gen/frontend/match.re2c.h"
yy1065:
	++p;
#line 712 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_QMark; break; }
#line 17931 "_gen/frontend/match.re2c.h"
yy1066:
	++p;
#line 707 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_At; break; }
#line 17936 "_gen/frontend/match.re2c.h"
yy1067:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1067;
		default: goto yy1068;
	}
yy1068:
#line 704 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_DollarName; break; }
#line 18008 "_gen/frontend/match.re2c.h"
yy1069:
	++p;
#line 715 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBracket; break; }
#line 18013 "_gen/frontend/match.re2c.h"
yy1070:
	++p;
#line 714 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBrace; break; }
#line 18018 "_gen/frontend/match.re2c.h"
yy1071:
	++p;
#line 737 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_PercentParen; break; }
#line 18023 "_gen/frontend/match.re2c.h"
yy1072:
	++p;
#line 807 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_PercentEqual; break; }
#line 18028 "_gen/frontend/match.re2c.h"
yy1073:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1073;
		default: goto yy1074;
	}
yy1074:
#line 773 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Symbol; break; }
#line 18100 "_gen/frontend/match.re2c.h"
yy1075:
	++p;
#line 738 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Reserved; break; }
#line 18105 "_gen/frontend/match.re2c.h"
yy1076:
	++p;
#line 739 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Reserved; break; }
#line 18110 "_gen/frontend/match.re2c.h"
yy1077:
	++p;
#line 792 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_DAmp; break; }
#line 18115 "_gen/frontend/match.re2c.h"
yy1078:
	++p;
#line 810 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_AmpEqual; break; }
#line 18120 "_gen/frontend/match.re2c.h"
yy1079:
	yych = *++p;
	switch (yych) {
		case '\'': goto yy1158;
		default: goto yy1051;
	}
yy1080:
	yych = *++p;
	switch (yych) {
		case '=': goto yy1159;
		default: goto yy1081;
	}
yy1081:
#line 783 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_DStar; break; }
#line 18136 "_gen/frontend/match.re2c.h"
yy1082:
	++p;
#line 805 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_StarEqual; break; }
#line 18141 "_gen/frontend/match.re2c.h"
yy1083:
	++p;
#line 784 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_DPlus; break; }
#line 18146 "_gen/frontend/match.re2c.h"
yy1084:
	++p;
#line 803 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_PlusEqual; break; }
#line 18151 "_gen/frontend/match.re2c.h"
yy1085:
	++p;
#line 804 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_MinusEqual; break; }
#line 18156 "_gen/frontend/match.re2c.h"
yy1086:
	++p;
#line 822 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_RArrow; break; }
#line 18161 "_gen/frontend/match.re2c.h"
yy1087:
	yych = *++p;
	switch (yych) {
		case '.': goto yy1160;
		case '<': goto yy1161;
		case '=': goto yy1162;
		default: goto yy1088;
	}
yy1088:
#line 819 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_DDot; break; }
#line 18173 "_gen/frontend/match.re2c.h"
yy1089:
	yych = *++p;
	switch (yych) {
		case '/': goto yy1163;
		case '=': goto yy1164;
		default: goto yy1090;
	}
yy1090:
#line 816 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_DSlash; break; }
#line 18184 "_gen/frontend/match.re2c.h"
yy1091:
	++p;
#line 806 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_SlashEqual; break; }
#line 18189 "_gen/frontend/match.re2c.h"
yy1092:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1165;
		default: goto yy1051;
	}
yy1093:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1': goto yy1167;
		case '_': goto yy1169;
		default: goto yy1051;
	}
yy1094:
	yych = *++p;
	switch (yych) {
		case '+':
		case '-': goto yy1170;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1171;
		default: goto yy1051;
	}
yy1095:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy1172;
		case '_': goto yy1174;
		default: goto yy1051;
	}
yy1096:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1175;
		case '_': goto yy1177;
		default: goto yy1051;
	}
yy1097:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1009;
		default: goto yy1051;
	}
yy1098:
	++p;
#line 736 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_ColonPipe; break; }
#line 18291 "_gen/frontend/match.re2c.h"
yy1099:
	++p;
#line 824 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Reserved; break; }
#line 18296 "_gen/frontend/match.re2c.h"
yy1100:
	yych = *++p;
	switch (yych) {
		case '=': goto yy1178;
		default: goto yy1101;
	}
yy1101:
#line 797 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_DLess; break; }
#line 18306 "_gen/frontend/match.re2c.h"
yy1102:
	++p;
#line 787 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_LessEqual; break; }
#line 18311 "_gen/frontend/match.re2c.h"
yy1103:
	yych = *++p;
	switch (yych) {
		case '=': goto yy1179;
		default: goto yy1104;
	}
yy1104:
#line 791 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_DEqual; break; }
#line 18321 "_gen/frontend/match.re2c.h"
yy1105:
	++p;
#line 825 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_RDArrow; break; }
#line 18326 "_gen/frontend/match.re2c.h"
yy1106:
	++p;
#line 788 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_GreatEqual; break; }
#line 18331 "_gen/frontend/match.re2c.h"
yy1107:
	yych = *++p;
	switch (yych) {
		case '=': goto yy1180;
		default: goto yy1108;
	}
yy1108:
#line 796 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_DGreat; break; }
#line 18341 "_gen/frontend/match.re2c.h"
yy1109:
	++p;
#line 731 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_AtParen; break; }
#line 18346 "_gen/frontend/match.re2c.h"
yy1110:
	++p;
#line 829 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_DoubleAt; break; }
#line 18351 "_gen/frontend/match.re2c.h"
yy1111:
	++p;
#line 732 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_AtBracket; break; }
#line 18356 "_gen/frontend/match.re2c.h"
yy1112:
	++p;
#line 740 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Reserved; break; }
#line 18361 "_gen/frontend/match.re2c.h"
yy1113:
	++p;
#line 833 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_LineCont; break; }
#line 18366 "_gen/frontend/match.re2c.h"
yy1114:
	++p;
#line 763 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_OneChar; break; }
#line 18371 "_gen/frontend/match.re2c.h"
yy1115:
	yych = *++p;
	switch (yych) {
		case '{': goto yy1181;
		default: goto yy1051;
	}
yy1116:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1182;
		default: goto yy1051;
	}
yy1117:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1183;
		default: goto yy1051;
	}
yy1118:
	++p;
#line 724 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_CaretDoubleQuote; break; }
#line 18436 "_gen/frontend/match.re2c.h"
yy1119:
	++p;
#line 733 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_CaretParen; break; }
#line 18441 "_gen/frontend/match.re2c.h"
yy1120:
	++p;
#line 812 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_CaretEqual; break; }
#line 18446 "_gen/frontend/match.re2c.h"
yy1121:
	++p;
#line 734 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_CaretBracket; break; }
#line 18451 "_gen/frontend/match.re2c.h"
yy1122:
	++p;
#line 735 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_CaretBrace; break; }
#line 18456 "_gen/frontend/match.re2c.h"
yy1123:
	yych = *++p;
	switch (yych) {
		case 'd': goto yy1184;
		default: goto yy1024;
	}
yy1124:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1023;
		default: goto yy1125;
	}
yy1125:
#line 762 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_As; break; }
#line 18534 "_gen/frontend/match.re2c.h"
yy1126:
	yyaccept = 7;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '\'': goto yy1186;
		default: goto yy1127;
	}
yy1127:
#line 722 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_BSingleQuote; break; }
#line 18545 "_gen/frontend/match.re2c.h"
yy1128:
	yych = *++p;
	switch (yych) {
		case 'p': goto yy1187;
		default: goto yy1024;
	}
yy1129:
	yych = *++p;
	switch (yych) {
		case 's': goto yy1188;
		default: goto yy1024;
	}
yy1130:
	yych = *++p;
	switch (yych) {
		case 'l': goto yy1189;
		default: goto yy1024;
	}
yy1131:
	yych = *++p;
	switch (yych) {
		case 'r': goto yy1190;
		default: goto yy1024;
	}
yy1132:
	yych = *++p;
	switch (yych) {
		case 'n': goto yy1192;
		default: goto yy1024;
	}
yy1133:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1023;
		default: goto yy1134;
	}
yy1134:
#line 757 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_If; break; }
#line 18647 "_gen/frontend/match.re2c.h"
yy1135:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1023;
		default: goto yy1136;
	}
yy1136:
#line 756 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_In; break; }
#line 18719 "_gen/frontend/match.re2c.h"
yy1137:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1023;
		default: goto yy1138;
	}
yy1138:
#line 755 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Is; break; }
#line 18791 "_gen/frontend/match.re2c.h"
yy1139:
	++p;
#line 718 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_JDoubleQuote; break; }
#line 18796 "_gen/frontend/match.re2c.h"
yy1140:
	yych = *++p;
	switch (yych) {
		case 't': goto yy1193;
		default: goto yy1024;
	}
yy1141:
	yych = *++p;
	switch (yych) {
		case 'l': goto yy1195;
		default: goto yy1024;
	}
yy1142:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1023;
		default: goto yy1143;
	}
yy1143:
#line 752 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Or; break; }
#line 18880 "_gen/frontend/match.re2c.h"
yy1144:
	yych = *++p;
	switch (yych) {
		case 'o': goto yy1196;
		default: goto yy1024;
	}
yy1145:
	yyaccept = 8;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '\'': goto yy1197;
		default: goto yy1146;
	}
yy1146:
#line 720 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_RSingleQuote; break; }
#line 18897 "_gen/frontend/match.re2c.h"
yy1147:
	yych = *++p;
	switch (yych) {
		case 'u': goto yy1198;
		default: goto yy1024;
	}
yy1148:
	yyaccept = 9;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '\'': goto yy1199;
		default: goto yy1149;
	}
yy1149:
#line 721 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_USingleQuote; break; }
#line 18914 "_gen/frontend/match.re2c.h"
yy1150:
	++p;
#line 811 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_PipeEqual; break; }
#line 18919 "_gen/frontend/match.re2c.h"
yy1151:
	++p;
#line 793 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_DPipe; break; }
#line 18924 "_gen/frontend/match.re2c.h"
yy1152:
	yych = *++p;
	switch (yych) {
		case '=': goto yy1200;
		default: goto yy1051;
	}
yy1153:
	++p;
#line 800 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_DTilde; break; }
#line 18935 "_gen/frontend/match.re2c.h"
yy1154:
	++p;
#line 790 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_NotDEqual; break; }
#line 18940 "_gen/frontend/match.re2c.h"
yy1155:
	++p;
#line 801 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_NotDTilde; break; }
#line 18945 "_gen/frontend/match.re2c.h"
yy1156:
	++p;
#line 725 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_TDoubleQuote; break; }
#line 18950 "_gen/frontend/match.re2c.h"
yy1157:
	yych = *++p;
	switch (yych) {
		case '"': goto yy1201;
		default: goto yy1051;
	}
yy1158:
	++p;
#line 727 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_TSingleQuote; break; }
#line 18961 "_gen/frontend/match.re2c.h"
yy1159:
	++p;
#line 813 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_DStarEqual; break; }
#line 18966 "_gen/frontend/match.re2c.h"
yy1160:
	++p;
#line 826 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Ellipsis; break; }
#line 18971 "_gen/frontend/match.re2c.h"
yy1161:
	++p;
#line 820 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_DDotLessThan; break; }
#line 18976 "_gen/frontend/match.re2c.h"
yy1162:
	++p;
#line 821 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_DDotEqual; break; }
#line 18981 "_gen/frontend/match.re2c.h"
yy1163:
	++p;
#line 827 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Reserved; break; }
#line 18986 "_gen/frontend/match.re2c.h"
yy1164:
	++p;
#line 814 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_DSlashEqual; break; }
#line 18991 "_gen/frontend/match.re2c.h"
yy1165:
	yyaccept = 10;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1165;
		case 'E':
		case 'e': goto yy1094;
		case '_': goto yy1092;
		default: goto yy1166;
	}
yy1166:
#line 771 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Float; break; }
#line 19014 "_gen/frontend/match.re2c.h"
yy1167:
	yyaccept = 11;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '0':
		case '1': goto yy1167;
		case '_': goto yy1169;
		default: goto yy1168;
	}
yy1168:
#line 768 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_BinInt; break; }
#line 19027 "_gen/frontend/match.re2c.h"
yy1169:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1': goto yy1167;
		default: goto yy1051;
	}
yy1170:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1171;
		default: goto yy1051;
	}
yy1171:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1171;
		default: goto yy1166;
	}
yy1172:
	yyaccept = 12;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy1172;
		case '_': goto yy1174;
		default: goto yy1173;
	}
yy1173:
#line 769 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_OctInt; break; }
#line 19083 "_gen/frontend/match.re2c.h"
yy1174:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy1172;
		default: goto yy1051;
	}
yy1175:
	yyaccept = 13;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1175;
		case '_': goto yy1177;
		default: goto yy1176;
	}
yy1176:
#line 770 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_HexInt; break; }
#line 19129 "_gen/frontend/match.re2c.h"
yy1177:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1175;
		default: goto yy1051;
	}
yy1178:
	++p;
#line 809 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_DLessEqual; break; }
#line 19161 "_gen/frontend/match.re2c.h"
yy1179:
	++p;
#line 789 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_TEqual; break; }
#line 19166 "_gen/frontend/match.re2c.h"
yy1180:
	++p;
#line 808 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_DGreatEqual; break; }
#line 19171 "_gen/frontend/match.re2c.h"
yy1181:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1202;
		default: goto yy1051;
	}
yy1182:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1203;
		default: goto yy1051;
	}
yy1183:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1204;
		default: goto yy1051;
	}
yy1184:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1023;
		default: goto yy1185;
	}
yy1185:
#line 751 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_And; break; }
#line 19324 "_gen/frontend/match.re2c.h"
yy1186:
	yych = *++p;
	switch (yych) {
		case '\'': goto yy1205;
		default: goto yy1051;
	}
yy1187:
	yych = *++p;
	switch (yych) {
		case 't': goto yy1206;
		default: goto yy1024;
	}
yy1188:
	yych = *++p;
	switch (yych) {
		case 'e': goto yy1207;
		default: goto yy1024;
	}
yy1189:
	yych = *++p;
	switch (yych) {
		case 's': goto yy1209;
		default: goto yy1024;
	}
yy1190:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1023;
		default: goto yy1191;
	}
yy1191:
#line 754 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_For; break; }
#line 19420 "_gen/frontend/match.re2c.h"
yy1192:
	yych = *++p;
	switch (yych) {
		case 'c': goto yy1210;
		default: goto yy1024;
	}
yy1193:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1023;
		default: goto yy1194;
	}
yy1194:
#line 753 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Not; break; }
#line 19498 "_gen/frontend/match.re2c.h"
yy1195:
	yych = *++p;
	switch (yych) {
		case 'l': goto yy1212;
		default: goto yy1024;
	}
yy1196:
	yych = *++p;
	switch (yych) {
		case 'c': goto yy1214;
		default: goto yy1024;
	}
yy1197:
	yych = *++p;
	switch (yych) {
		case '\'': goto yy1216;
		default: goto yy1051;
	}
yy1198:
	yych = *++p;
	switch (yych) {
		case 'e': goto yy1217;
		default: goto yy1024;
	}
yy1199:
	yych = *++p;
	switch (yych) {
		case '\'': goto yy1219;
		default: goto yy1051;
	}
yy1200:
	++p;
#line 817 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_TildeDEqual; break; }
#line 19533 "_gen/frontend/match.re2c.h"
yy1201:
	++p;
#line 726 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarTDoubleQuote; break; }
#line 19538 "_gen/frontend/match.re2c.h"
yy1202:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1220;
		case '}': goto yy1221;
		default: goto yy1051;
	}
yy1203:
	++p;
#line 765 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Hex; break; }
#line 19571 "_gen/frontend/match.re2c.h"
yy1204:
	++p;
#line 764 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_YHex; break; }
#line 19576 "_gen/frontend/match.re2c.h"
yy1205:
	++p;
#line 730 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_BTSingleQuote; break; }
#line 19581 "_gen/frontend/match.re2c.h"
yy1206:
	yych = *++p;
	switch (yych) {
		case 'u': goto yy1222;
		default: goto yy1024;
	}
yy1207:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1023;
		default: goto yy1208;
	}
yy1208:
#line 758 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Else; break; }
#line 19659 "_gen/frontend/match.re2c.h"
yy1209:
	yych = *++p;
	switch (yych) {
		case 'e': goto yy1223;
		default: goto yy1024;
	}
yy1210:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1023;
		default: goto yy1211;
	}
yy1211:
#line 759 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Func; break; }
#line 19737 "_gen/frontend/match.re2c.h"
yy1212:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1023;
		default: goto yy1213;
	}
yy1213:
#line 748 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Null; break; }
#line 19809 "_gen/frontend/match.re2c.h"
yy1214:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1023;
		default: goto yy1215;
	}
yy1215:
#line 760 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Proc; break; }
#line 19881 "_gen/frontend/match.re2c.h"
yy1216:
	++p;
#line 728 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_RTSingleQuote; break; }
#line 19886 "_gen/frontend/match.re2c.h"
yy1217:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1023;
		default: goto yy1218;
	}
yy1218:
#line 749 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_True; break; }
#line 19958 "_gen/frontend/match.re2c.h"
yy1219:
	++p;
#line 729 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_UTSingleQuote; break; }
#line 19963 "_gen/frontend/match.re2c.h"
yy1220:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1225;
		case '}': goto yy1221;
		default: goto yy1051;
	}
yy1221:
	++p;
#line 766 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_UBraced; break; }
#line 19996 "_gen/frontend/match.re2c.h"
yy1222:
	yych = *++p;
	switch (yych) {
		case 'r': goto yy1226;
		default: goto yy1024;
	}
yy1223:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1023;
		default: goto yy1224;
	}
yy1224:
#line 750 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_False; break; }
#line 20074 "_gen/frontend/match.re2c.h"
yy1225:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1227;
		case '}': goto yy1221;
		default: goto yy1051;
	}
yy1226:
	yych = *++p;
	switch (yych) {
		case 'e': goto yy1228;
		default: goto yy1024;
	}
yy1227:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1230;
		case '}': goto yy1221;
		default: goto yy1051;
	}
yy1228:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1023;
		default: goto yy1229;
	}
yy1229:
#line 761 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Capture; break; }
#line 20208 "_gen/frontend/match.re2c.h"
yy1230:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1231;
		case '}': goto yy1221;
		default: goto yy1051;
	}
yy1231:
	yych = *++p;
	switch (yych) {
		case '}': goto yy1221;
		default: goto yy1051;
	}
}
#line 836 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  default:
    assert(0);

  }
  *end_pos = p - line;  /* relative */
}


static inline void MatchEchoToken(const unsigned char* line, int line_len,
    int start_pos, int* id, int* end_pos) {
  assert(start_pos <= line_len);  /* caller should have checked */

  const unsigned char* p = line + start_pos;  /* modified by re2c */

  /* Echo and History lexer apparently need this, but others don't */
  __attribute__((unused)) const unsigned char* YYMARKER;

  for (;;) {
    
#line 20268 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy1233;
		case '\\': goto yy1236;
		default: goto yy1234;
	}
yy1233:
	++p;
#line 868 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 20281 "_gen/frontend/match.re2c.h"
yy1234:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case '\\': goto yy1235;
		default: goto yy1234;
	}
yy1235:
#line 867 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Chars; break; }
#line 20292 "_gen/frontend/match.re2c.h"
yy1236:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '0': goto yy1238;
		case 'E':
		case '\\':
		case 'a':
		case 'b':
		case 'e':
		case 'f':
		case 'n':
		case 'r':
		case 't':
		case 'v': goto yy1240;
		case 'U': goto yy1241;
		case 'c': goto yy1243;
		case 'u': goto yy1244;
		case 'x': goto yy1245;
		default: goto yy1237;
	}
yy1237:
#line 864 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_Backslash; break; }
#line 20316 "_gen/frontend/match.re2c.h"
yy1238:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy1246;
		default: goto yy1239;
	}
yy1239:
#line 863 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_OneChar; break; }
#line 20333 "_gen/frontend/match.re2c.h"
yy1240:
	++p;
	goto yy1239;
yy1241:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1248;
		default: goto yy1242;
	}
yy1242:
	p = YYMARKER;
	goto yy1237;
yy1243:
	++p;
#line 866 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Stop; break; }
#line 20371 "_gen/frontend/match.re2c.h"
yy1244:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1250;
		default: goto yy1242;
	}
yy1245:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1252;
		default: goto yy1242;
	}
yy1246:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy1254;
		default: goto yy1247;
	}
yy1247:
#line 865 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Octal4; break; }
#line 20442 "_gen/frontend/match.re2c.h"
yy1248:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1255;
		default: goto yy1249;
	}
yy1249:
#line 862 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Unicode8; break; }
#line 20473 "_gen/frontend/match.re2c.h"
yy1250:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1256;
		default: goto yy1251;
	}
yy1251:
#line 861 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Unicode4; break; }
#line 20504 "_gen/frontend/match.re2c.h"
yy1252:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1257;
		default: goto yy1253;
	}
yy1253:
#line 860 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Hex; break; }
#line 20535 "_gen/frontend/match.re2c.h"
yy1254:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy1258;
		default: goto yy1247;
	}
yy1255:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1259;
		default: goto yy1249;
	}
yy1256:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1260;
		default: goto yy1251;
	}
yy1257:
	++p;
	goto yy1253;
yy1258:
	++p;
	goto yy1247;
yy1259:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1261;
		default: goto yy1249;
	}
yy1260:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1262;
		default: goto yy1251;
	}
yy1261:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1263;
		default: goto yy1249;
	}
yy1262:
	++p;
	goto yy1251;
yy1263:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1264;
		default: goto yy1249;
	}
yy1264:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1265;
		default: goto yy1249;
	}
yy1265:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1266;
		default: goto yy1249;
	}
yy1266:
	++p;
	goto yy1249;
}
#line 870 "_gen/_tmp/match.re2c-input.h"

  }
  *end_pos = p - line;  /* relative */
}


static inline void MatchPrintfBToken(const unsigned char* line, int line_len,
    int start_pos, int* id, int* end_pos) {
  assert(start_pos <= line_len);  /* caller should have checked */

  const unsigned char* p = line + start_pos;  /* modified by re2c */

  /* Echo and History lexer apparently need this, but others don't */
  __attribute__((unused)) const unsigned char* YYMARKER;

  for (;;) {
    
#line 20796 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy1268;
		case '\\': goto yy1271;
		default: goto yy1269;
	}
yy1268:
	++p;
#line 897 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 20809 "_gen/frontend/match.re2c.h"
yy1269:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case '\\': goto yy1270;
		default: goto yy1269;
	}
yy1270:
#line 895 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Chars; break; }
#line 20820 "_gen/frontend/match.re2c.h"
yy1271:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '0': goto yy1273;
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy1275;
		case 'E':
		case '\\':
		case 'a':
		case 'b':
		case 'e':
		case 'f':
		case 'n':
		case 'r':
		case 't':
		case 'v': goto yy1277;
		case 'U': goto yy1278;
		case 'c': goto yy1280;
		case 'u': goto yy1281;
		case 'x': goto yy1282;
		default: goto yy1272;
	}
yy1272:
#line 892 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_Backslash; break; }
#line 20851 "_gen/frontend/match.re2c.h"
yy1273:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy1283;
		default: goto yy1274;
	}
yy1274:
#line 891 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_OneChar; break; }
#line 20868 "_gen/frontend/match.re2c.h"
yy1275:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy1285;
		default: goto yy1276;
	}
yy1276:
#line 896 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Octal3; break; }
#line 20885 "_gen/frontend/match.re2c.h"
yy1277:
	++p;
	goto yy1274;
yy1278:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1286;
		default: goto yy1279;
	}
yy1279:
	p = YYMARKER;
	goto yy1272;
yy1280:
	++p;
#line 894 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Stop; break; }
#line 20923 "_gen/frontend/match.re2c.h"
yy1281:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1288;
		default: goto yy1279;
	}
yy1282:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1290;
		default: goto yy1279;
	}
yy1283:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy1292;
		default: goto yy1284;
	}
yy1284:
#line 893 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Octal4; break; }
#line 20994 "_gen/frontend/match.re2c.h"
yy1285:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy1293;
		default: goto yy1276;
	}
yy1286:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1294;
		default: goto yy1287;
	}
yy1287:
#line 890 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Unicode8; break; }
#line 21038 "_gen/frontend/match.re2c.h"
yy1288:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1295;
		default: goto yy1289;
	}
yy1289:
#line 889 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Unicode4; break; }
#line 21069 "_gen/frontend/match.re2c.h"
yy1290:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1296;
		default: goto yy1291;
	}
yy1291:
#line 888 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Hex; break; }
#line 21100 "_gen/frontend/match.re2c.h"
yy1292:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy1297;
		default: goto yy1284;
	}
yy1293:
	++p;
	goto yy1276;
yy1294:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1298;
		default: goto yy1287;
	}
yy1295:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1299;
		default: goto yy1289;
	}
yy1296:
	++p;
	goto yy1291;
yy1297:
	++p;
	goto yy1284;
yy1298:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1300;
		default: goto yy1287;
	}
yy1299:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1301;
		default: goto yy1289;
	}
yy1300:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1302;
		default: goto yy1287;
	}
yy1301:
	++p;
	goto yy1289;
yy1302:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1303;
		default: goto yy1287;
	}
yy1303:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1304;
		default: goto yy1287;
	}
yy1304:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1305;
		default: goto yy1287;
	}
yy1305:
	++p;
	goto yy1287;
}
#line 899 "_gen/_tmp/match.re2c-input.h"

  }
  *end_pos = p - line;  /* relative */
}


static inline void MatchGlobToken(const unsigned char* line, int line_len,
    int start_pos, int* id, int* end_pos) {
  assert(start_pos <= line_len);  /* caller should have checked */

  const unsigned char* p = line + start_pos;  /* modified by re2c */

  /* Echo and History lexer apparently need this, but others don't */
  __attribute__((unused)) const unsigned char* YYMARKER;

  for (;;) {
    
#line 21364 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy1307;
		case '!': goto yy1309;
		case '*': goto yy1310;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1311;
		case '?': goto yy1313;
		case '[': goto yy1314;
		case '\\': goto yy1315;
		case ']': goto yy1316;
		case '^': goto yy1317;
		default: goto yy1308;
	}
yy1307:
	++p;
#line 927 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 21446 "_gen/frontend/match.re2c.h"
yy1308:
	++p;
#line 926 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Glob_OtherLiteral; break; }
#line 21451 "_gen/frontend/match.re2c.h"
yy1309:
	++p;
#line 919 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Glob_Bang; break; }
#line 21456 "_gen/frontend/match.re2c.h"
yy1310:
	++p;
#line 917 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Glob_Star; break; }
#line 21461 "_gen/frontend/match.re2c.h"
yy1311:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1311;
		default: goto yy1312;
	}
yy1312:
#line 925 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Glob_CleanLiterals; break; }
#line 21533 "_gen/frontend/match.re2c.h"
yy1313:
	++p;
#line 918 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Glob_QMark; break; }
#line 21538 "_gen/frontend/match.re2c.h"
yy1314:
	++p;
#line 921 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Glob_LBracket; break; }
#line 21543 "_gen/frontend/match.re2c.h"
yy1315:
	yych = *++p;
	if (yych >= 0x01) goto yy1318;
#line 924 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Glob_BadBackslash; break; }
#line 21549 "_gen/frontend/match.re2c.h"
yy1316:
	++p;
#line 922 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Glob_RBracket; break; }
#line 21554 "_gen/frontend/match.re2c.h"
yy1317:
	++p;
#line 920 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Glob_Caret; break; }
#line 21559 "_gen/frontend/match.re2c.h"
yy1318:
	++p;
#line 923 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Glob_EscapedChar; break; }
#line 21564 "_gen/frontend/match.re2c.h"
}
#line 929 "_gen/_tmp/match.re2c-input.h"

  }
  *end_pos = p - line;  /* relative */
}


static inline void MatchPS1Token(const unsigned char* line, int line_len,
    int start_pos, int* id, int* end_pos) {
  assert(start_pos <= line_len);  /* caller should have checked */

  const unsigned char* p = line + start_pos;  /* modified by re2c */

  /* Echo and History lexer apparently need this, but others don't */
  __attribute__((unused)) const unsigned char* YYMARKER;

  for (;;) {
    
#line 21584 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy1320;
		case '\\': goto yy1323;
		default: goto yy1321;
	}
yy1320:
	++p;
#line 954 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 21597 "_gen/frontend/match.re2c.h"
yy1321:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case '\\': goto yy1322;
		default: goto yy1321;
	}
yy1322:
#line 952 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__PS_Literals; break; }
#line 21608 "_gen/frontend/match.re2c.h"
yy1323:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '!':
		case '#':
		case '$':
		case '@':
		case 'A':
		case 'H':
		case 'T':
		case 'V':
		case 'W':
		case '\\':
		case 'a':
		case 'd':
		case 'e':
		case 'h':
		case 'j':
		case 'l':
		case 'n':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w': goto yy1325;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy1326;
		case 'D': goto yy1328;
		case '[': goto yy1330;
		case ']': goto yy1331;
		default: goto yy1324;
	}
yy1324:
#line 953 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__PS_BadBackslash; break; }
#line 21651 "_gen/frontend/match.re2c.h"
yy1325:
	++p;
#line 948 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__PS_Subst; break; }
#line 21656 "_gen/frontend/match.re2c.h"
yy1326:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy1332;
		default: goto yy1327;
	}
yy1327:
#line 947 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__PS_Octal3; break; }
#line 21673 "_gen/frontend/match.re2c.h"
yy1328:
	yych = *++p;
	switch (yych) {
		case '{': goto yy1333;
		default: goto yy1329;
	}
yy1329:
	p = YYMARKER;
	goto yy1324;
yy1330:
	++p;
#line 950 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__PS_LBrace; break; }
#line 21687 "_gen/frontend/match.re2c.h"
yy1331:
	++p;
#line 951 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__PS_RBrace; break; }
#line 21692 "_gen/frontend/match.re2c.h"
yy1332:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy1334;
		default: goto yy1327;
	}
yy1333:
	yych = *++p;
	switch (yych) {
		case 0x00: goto yy1329;
		case '}': goto yy1335;
		default: goto yy1333;
	}
yy1334:
	++p;
	goto yy1327;
yy1335:
	++p;
#line 949 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__PS_Subst; break; }
#line 21720 "_gen/frontend/match.re2c.h"
}
#line 956 "_gen/_tmp/match.re2c-input.h"

  }
  *end_pos = p - line;  /* relative */
}


static inline void MatchHistoryToken(const unsigned char* line, int line_len,
    int start_pos, int* id, int* end_pos) {
  assert(start_pos <= line_len);  /* caller should have checked */

  const unsigned char* p = line + start_pos;  /* modified by re2c */

  /* Echo and History lexer apparently need this, but others don't */
  __attribute__((unused)) const unsigned char* YYMARKER;

  for (;;) {
    
#line 21740 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy1337;
		case '!': goto yy1340;
		case '#': goto yy1342;
		case '\'': goto yy1343;
		case '\\': goto yy1345;
		default: goto yy1338;
	}
yy1337:
	++p;
#line 982 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 21756 "_gen/frontend/match.re2c.h"
yy1338:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case '!':
		case '#':
		case '\'':
		case '\\': goto yy1339;
		default: goto yy1338;
	}
yy1339:
#line 979 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__History_Other; break; }
#line 21770 "_gen/frontend/match.re2c.h"
yy1340:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '!':
		case '$':
		case '*':
		case '^': goto yy1346;
		case '-': goto yy1347;
		case '.':
		case '/':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1349;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1350;
		case '?': goto yy1352;
		default: goto yy1341;
	}
yy1341:
#line 981 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__History_Other; break; }
#line 21850 "_gen/frontend/match.re2c.h"
yy1342:
	yych = *++p;
	if (yych >= 0x01) goto yy1342;
#line 977 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__History_Other; break; }
#line 21856 "_gen/frontend/match.re2c.h"
yy1343:
	yych = *++p;
	switch (yych) {
		case 0x00: goto yy1344;
		case '\'': goto yy1353;
		default: goto yy1343;
	}
yy1344:
#line 978 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__History_Other; break; }
#line 21867 "_gen/frontend/match.re2c.h"
yy1345:
	yych = *++p;
	if (yych <= 0x00) goto yy1341;
	goto yy1354;
yy1346:
	++p;
#line 974 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__History_Op; break; }
#line 21876 "_gen/frontend/match.re2c.h"
yy1347:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1350;
		default: goto yy1348;
	}
yy1348:
	p = YYMARKER;
	goto yy1341;
yy1349:
	yych = *++p;
	switch (yych) {
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy1348;
		default: goto yy1356;
	}
yy1350:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1350;
		default: goto yy1351;
	}
yy1351:
#line 975 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__History_Num; break; }
#line 21922 "_gen/frontend/match.re2c.h"
yy1352:
	yych = *++p;
	switch (yych) {
		case '.':
		case '/':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1349;
		default: goto yy1348;
	}
yy1353:
	++p;
	goto yy1344;
yy1354:
	++p;
#line 980 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__History_Other; break; }
#line 21990 "_gen/frontend/match.re2c.h"
yy1355:
	yych = *++p;
yy1356:
	switch (yych) {
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy1357;
		case '.':
		case '/':
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1355;
		default: goto yy1348;
	}
yy1357:
	++p;
#line 976 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__History_Search; break; }
#line 22070 "_gen/frontend/match.re2c.h"
}
#line 984 "_gen/_tmp/match.re2c-input.h"

  }
  *end_pos = p - line;  /* relative */
}


static inline void MatchBraceRangeToken(const unsigned char* line, int line_len,
    int start_pos, int* id, int* end_pos) {
  assert(start_pos <= line_len);  /* caller should have checked */

  const unsigned char* p = line + start_pos;  /* modified by re2c */

  /* Echo and History lexer apparently need this, but others don't */
  __attribute__((unused)) const unsigned char* YYMARKER;

  for (;;) {
    
#line 22090 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy1359;
		case '-': goto yy1362;
		case '.': goto yy1363;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1364;
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1366;
		default: goto yy1360;
	}
yy1359:
	++p;
#line 1006 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 22166 "_gen/frontend/match.re2c.h"
yy1360:
	++p;
yy1361:
#line 1005 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Range_Other; break; }
#line 22172 "_gen/frontend/match.re2c.h"
yy1362:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1364;
		default: goto yy1361;
	}
yy1363:
	yych = *++p;
	switch (yych) {
		case '.': goto yy1367;
		default: goto yy1361;
	}
yy1364:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1364;
		default: goto yy1365;
	}
yy1365:
#line 1002 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Range_Int; break; }
#line 22212 "_gen/frontend/match.re2c.h"
yy1366:
	++p;
#line 1003 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Range_Char; break; }
#line 22217 "_gen/frontend/match.re2c.h"
yy1367:
	++p;
#line 1004 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Range_Dots; break; }
#line 22222 "_gen/frontend/match.re2c.h"
}
#line 1008 "_gen/_tmp/match.re2c-input.h"

  }
  *end_pos = p - line;  /* relative */
}


static inline void MatchJ8Token(const unsigned char* line, int line_len,
    int start_pos, int* id, int* end_pos) {
  assert(start_pos <= line_len);  /* caller should have checked */

  const unsigned char* p = line + start_pos;  /* modified by re2c */

  /* Echo and History lexer apparently need this, but others don't */
  __attribute__((unused)) const unsigned char* YYMARKER;

  for (;;) {
    
#line 22242 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	unsigned int yyaccept = 0;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy1369;
		case '\t':
		case '\r':
		case ' ': goto yy1371;
		case '\n': goto yy1373;
		case '!':
		case '$':
		case '%':
		case '&':
		case '*':
		case '+':
		case '.':
		case '/':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '^':
		case '|':
		case '~': goto yy1374;
		case '"': goto yy1377;
		case '#': goto yy1378;
		case '\'': goto yy1380;
		case '(': goto yy1381;
		case ')': goto yy1382;
		case ',': goto yy1383;
		case '-': goto yy1384;
		case '0': goto yy1385;
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1387;
		case ':': goto yy1388;
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'c':
		case 'd':
		case 'e':
		case 'g':
		case 'h':
		case 'i':
		case 'k':
		case 'l':
		case 'm':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1389;
		case '[': goto yy1392;
		case ']': goto yy1393;
		case 'b': goto yy1394;
		case 'f': goto yy1395;
		case 'j': goto yy1396;
		case 'n': goto yy1397;
		case 't': goto yy1398;
		case 'u': goto yy1399;
		case '{': goto yy1400;
		case '}': goto yy1401;
		default: goto yy1370;
	}
yy1369:
	++p;
#line 1050 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 22351 "_gen/frontend/match.re2c.h"
yy1370:
	++p;
#line 1049 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_Tok; break; }
#line 22356 "_gen/frontend/match.re2c.h"
yy1371:
	yych = *++p;
	switch (yych) {
		case '\t':
		case '\r':
		case ' ': goto yy1371;
		default: goto yy1372;
	}
yy1372:
#line 1046 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_Space; break; }
#line 22368 "_gen/frontend/match.re2c.h"
yy1373:
	++p;
#line 1047 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_Newline; break; }
#line 22373 "_gen/frontend/match.re2c.h"
yy1374:
	yych = *++p;
yy1375:
	switch (yych) {
		case '!':
		case '$':
		case '%':
		case '&':
		case '*':
		case '+':
		case '-':
		case '.':
		case '/':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '^':
		case '|':
		case '~': goto yy1374;
		default: goto yy1376;
	}
yy1376:
#line 1045 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__J8_Operator; break; }
#line 22401 "_gen/frontend/match.re2c.h"
yy1377:
	++p;
#line 1026 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DoubleQuote; break; }
#line 22406 "_gen/frontend/match.re2c.h"
yy1378:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case '\n': goto yy1379;
		default: goto yy1378;
	}
yy1379:
#line 1048 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_Comment; break; }
#line 22417 "_gen/frontend/match.re2c.h"
yy1380:
	++p;
#line 1029 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_USingleQuote; break; }
#line 22422 "_gen/frontend/match.re2c.h"
yy1381:
	++p;
#line 1035 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__J8_LParen; break; }
#line 22427 "_gen/frontend/match.re2c.h"
yy1382:
	++p;
#line 1036 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__J8_RParen; break; }
#line 22432 "_gen/frontend/match.re2c.h"
yy1383:
	++p;
#line 1037 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__J8_Comma; break; }
#line 22437 "_gen/frontend/match.re2c.h"
yy1384:
	yych = *++p;
	switch (yych) {
		case '0': goto yy1385;
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1387;
		default: goto yy1375;
	}
yy1385:
	yyaccept = 0;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '.': goto yy1402;
		case 'E':
		case 'e': goto yy1404;
		default: goto yy1386;
	}
yy1386:
#line 1042 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__J8_Int; break; }
#line 22465 "_gen/frontend/match.re2c.h"
yy1387:
	yyaccept = 0;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '.': goto yy1402;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1387;
		case 'E':
		case 'e': goto yy1404;
		default: goto yy1386;
	}
yy1388:
	++p;
#line 1038 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__J8_Colon; break; }
#line 22489 "_gen/frontend/match.re2c.h"
yy1389:
	yych = *++p;
yy1390:
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1389;
		default: goto yy1391;
	}
yy1391:
#line 1044 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__J8_Identifier; break; }
#line 22562 "_gen/frontend/match.re2c.h"
yy1392:
	++p;
#line 1031 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__J8_LBracket; break; }
#line 22567 "_gen/frontend/match.re2c.h"
yy1393:
	++p;
#line 1032 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__J8_RBracket; break; }
#line 22572 "_gen/frontend/match.re2c.h"
yy1394:
	yych = *++p;
	switch (yych) {
		case '\'': goto yy1405;
		default: goto yy1390;
	}
yy1395:
	yych = *++p;
	switch (yych) {
		case 'a': goto yy1406;
		default: goto yy1390;
	}
yy1396:
	yych = *++p;
	switch (yych) {
		case '"': goto yy1407;
		default: goto yy1390;
	}
yy1397:
	yych = *++p;
	switch (yych) {
		case 'u': goto yy1408;
		default: goto yy1390;
	}
yy1398:
	yych = *++p;
	switch (yych) {
		case 'r': goto yy1409;
		default: goto yy1390;
	}
yy1399:
	yych = *++p;
	switch (yych) {
		case '\'': goto yy1410;
		default: goto yy1390;
	}
yy1400:
	++p;
#line 1033 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__J8_LBrace; break; }
#line 22613 "_gen/frontend/match.re2c.h"
yy1401:
	++p;
#line 1034 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__J8_RBrace; break; }
#line 22618 "_gen/frontend/match.re2c.h"
yy1402:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1411;
		default: goto yy1403;
	}
yy1403:
	p = YYMARKER;
	if (yyaccept == 0) {
		goto yy1386;
	} else {
		goto yy1412;
	}
yy1404:
	yych = *++p;
	switch (yych) {
		case '+':
		case '-': goto yy1413;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1414;
		default: goto yy1403;
	}
yy1405:
	++p;
#line 1030 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_BSingleQuote; break; }
#line 22662 "_gen/frontend/match.re2c.h"
yy1406:
	yych = *++p;
	switch (yych) {
		case 'l': goto yy1415;
		default: goto yy1390;
	}
yy1407:
	++p;
#line 1027 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_JDoubleQuote; break; }
#line 22673 "_gen/frontend/match.re2c.h"
yy1408:
	yych = *++p;
	switch (yych) {
		case 'l': goto yy1416;
		default: goto yy1390;
	}
yy1409:
	yych = *++p;
	switch (yych) {
		case 'u': goto yy1417;
		default: goto yy1390;
	}
yy1410:
	++p;
#line 1028 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_USingleQuote; break; }
#line 22690 "_gen/frontend/match.re2c.h"
yy1411:
	yyaccept = 1;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1411;
		case 'E':
		case 'e': goto yy1404;
		default: goto yy1412;
	}
yy1412:
#line 1043 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__J8_Float; break; }
#line 22712 "_gen/frontend/match.re2c.h"
yy1413:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1414;
		default: goto yy1403;
	}
yy1414:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1414;
		default: goto yy1412;
	}
yy1415:
	yych = *++p;
	switch (yych) {
		case 's': goto yy1418;
		default: goto yy1390;
	}
yy1416:
	yych = *++p;
	switch (yych) {
		case 'l': goto yy1419;
		default: goto yy1390;
	}
yy1417:
	yych = *++p;
	switch (yych) {
		case 'e': goto yy1421;
		default: goto yy1390;
	}
yy1418:
	yych = *++p;
	switch (yych) {
		case 'e': goto yy1423;
		default: goto yy1390;
	}
yy1419:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1389;
		default: goto yy1420;
	}
yy1420:
#line 1039 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__J8_Null; break; }
#line 22838 "_gen/frontend/match.re2c.h"
yy1421:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1389;
		default: goto yy1422;
	}
yy1422:
#line 1040 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__J8_Bool; break; }
#line 22910 "_gen/frontend/match.re2c.h"
yy1423:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1389;
		default: goto yy1424;
	}
yy1424:
#line 1041 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__J8_Bool; break; }
#line 22982 "_gen/frontend/match.re2c.h"
}
#line 1052 "_gen/_tmp/match.re2c-input.h"

  }
  *end_pos = p - line;  /* relative */
}


static inline void MatchJ8LinesToken(const unsigned char* line, int line_len,
    int start_pos, int* id, int* end_pos) {
  assert(start_pos <= line_len);  /* caller should have checked */

  const unsigned char* p = line + start_pos;  /* modified by re2c */

  /* Echo and History lexer apparently need this, but others don't */
  __attribute__((unused)) const unsigned char* YYMARKER;

  for (;;) {
    
#line 23002 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy1426;
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\v':
		case '\f':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F: goto yy1427;
		case '\t':
		case '\r':
		case ' ': goto yy1428;
		case '\n': goto yy1430;
		case '"': goto yy1434;
		case '\'': goto yy1435;
		case 'b': goto yy1436;
		case 'j': goto yy1437;
		case 'u': goto yy1438;
		default: goto yy1431;
	}
yy1426:
	++p;
#line 1079 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 23051 "_gen/frontend/match.re2c.h"
yy1427:
	++p;
#line 1077 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_AsciiControl; break; }
#line 23056 "_gen/frontend/match.re2c.h"
yy1428:
	yych = *++p;
	switch (yych) {
		case '\t':
		case '\r':
		case ' ': goto yy1428;
		default: goto yy1429;
	}
yy1429:
#line 1075 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__WS_Space; break; }
#line 23068 "_gen/frontend/match.re2c.h"
yy1430:
	++p;
#line 1076 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__J8_Newline; break; }
#line 23073 "_gen/frontend/match.re2c.h"
yy1431:
	yych = *++p;
yy1432:
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case ' ':
		case '"':
		case '\'': goto yy1433;
		default: goto yy1431;
	}
yy1433:
#line 1078 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Chars; break; }
#line 23118 "_gen/frontend/match.re2c.h"
yy1434:
	++p;
#line 1070 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DoubleQuote; break; }
#line 23123 "_gen/frontend/match.re2c.h"
yy1435:
	++p;
#line 1073 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_USingleQuote; break; }
#line 23128 "_gen/frontend/match.re2c.h"
yy1436:
	yych = *++p;
	switch (yych) {
		case '\'': goto yy1439;
		default: goto yy1432;
	}
yy1437:
	yych = *++p;
	switch (yych) {
		case '"': goto yy1440;
		default: goto yy1432;
	}
yy1438:
	yych = *++p;
	switch (yych) {
		case '\'': goto yy1441;
		default: goto yy1432;
	}
yy1439:
	++p;
#line 1074 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_BSingleQuote; break; }
#line 23151 "_gen/frontend/match.re2c.h"
yy1440:
	++p;
#line 1071 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_JDoubleQuote; break; }
#line 23156 "_gen/frontend/match.re2c.h"
yy1441:
	++p;
#line 1072 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_USingleQuote; break; }
#line 23161 "_gen/frontend/match.re2c.h"
}
#line 1081 "_gen/_tmp/match.re2c-input.h"

  }
  *end_pos = p - line;  /* relative */
}


static inline void MatchJ8StrToken(const unsigned char* line, int line_len,
    int start_pos, int* id, int* end_pos) {
  assert(start_pos <= line_len);  /* caller should have checked */

  const unsigned char* p = line + start_pos;  /* modified by re2c */

  /* Echo and History lexer apparently need this, but others don't */
  __attribute__((unused)) const unsigned char* YYMARKER;

  for (;;) {
    
#line 23181 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy1443;
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F: goto yy1444;
		case '\'': goto yy1447;
		case '\\': goto yy1448;
		default: goto yy1445;
	}
yy1443:
	++p;
#line 1107 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 23226 "_gen/frontend/match.re2c.h"
yy1444:
	++p;
#line 1105 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_AsciiControl; break; }
#line 23231 "_gen/frontend/match.re2c.h"
yy1445:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case '\'':
		case '\\': goto yy1446;
		default: goto yy1445;
	}
yy1446:
#line 1106 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Chars; break; }
#line 23274 "_gen/frontend/match.re2c.h"
yy1447:
	++p;
#line 1099 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Right_SingleQuote; break; }
#line 23279 "_gen/frontend/match.re2c.h"
yy1448:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '"':
		case '/':
		case '\\':
		case 'b':
		case 'f':
		case 'n':
		case 'r':
		case 't': goto yy1450;
		case '\'': goto yy1451;
		case 'U':
		case 'u': goto yy1452;
		case 'y': goto yy1454;
		default: goto yy1449;
	}
yy1449:
#line 1104 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_Backslash; break; }
#line 23300 "_gen/frontend/match.re2c.h"
yy1450:
	++p;
#line 1100 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_OneChar; break; }
#line 23305 "_gen/frontend/match.re2c.h"
yy1451:
	++p;
#line 1101 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_OneChar; break; }
#line 23310 "_gen/frontend/match.re2c.h"
yy1452:
	yych = *++p;
	switch (yych) {
		case '{': goto yy1455;
		default: goto yy1453;
	}
yy1453:
	p = YYMARKER;
	goto yy1449;
yy1454:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1456;
		default: goto yy1453;
	}
yy1455:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1457;
		default: goto yy1453;
	}
yy1456:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1458;
		default: goto yy1453;
	}
yy1457:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1459;
		case '}': goto yy1460;
		default: goto yy1453;
	}
yy1458:
	++p;
#line 1102 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_YHex; break; }
#line 23433 "_gen/frontend/match.re2c.h"
yy1459:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1461;
		case '}': goto yy1460;
		default: goto yy1453;
	}
yy1460:
	++p;
#line 1103 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_UBraced; break; }
#line 23466 "_gen/frontend/match.re2c.h"
yy1461:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1462;
		case '}': goto yy1460;
		default: goto yy1453;
	}
yy1462:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1463;
		case '}': goto yy1460;
		default: goto yy1453;
	}
yy1463:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1464;
		case '}': goto yy1460;
		default: goto yy1453;
	}
yy1464:
	yych = *++p;
	switch (yych) {
		case '}': goto yy1460;
		default: goto yy1453;
	}
}
#line 1109 "_gen/_tmp/match.re2c-input.h"

  }
  *end_pos = p - line;  /* relative */
}


static inline void MatchJsonStrToken(const unsigned char* line, int line_len,
    int start_pos, int* id, int* end_pos) {
  assert(start_pos <= line_len);  /* caller should have checked */

  const unsigned char* p = line + start_pos;  /* modified by re2c */

  /* Echo and History lexer apparently need this, but others don't */
  __attribute__((unused)) const unsigned char* YYMARKER;

  for (;;) {
    
#line 23576 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	unsigned int yyaccept = 0;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy1466;
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F: goto yy1467;
		case '"': goto yy1470;
		case '\\': goto yy1471;
		default: goto yy1468;
	}
yy1466:
	++p;
#line 1134 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 23622 "_gen/frontend/match.re2c.h"
yy1467:
	++p;
#line 1132 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_AsciiControl; break; }
#line 23627 "_gen/frontend/match.re2c.h"
yy1468:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case 0x01:
		case 0x02:
		case 0x03:
		case 0x04:
		case 0x05:
		case 0x06:
		case 0x07:
		case 0x08:
		case '\t':
		case '\n':
		case '\v':
		case '\f':
		case '\r':
		case 0x0E:
		case 0x0F:
		case 0x10:
		case 0x11:
		case 0x12:
		case 0x13:
		case 0x14:
		case 0x15:
		case 0x16:
		case 0x17:
		case 0x18:
		case 0x19:
		case 0x1A:
		case 0x1B:
		case 0x1C:
		case 0x1D:
		case 0x1E:
		case 0x1F:
		case '"':
		case '\\': goto yy1469;
		default: goto yy1468;
	}
yy1469:
#line 1133 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Chars; break; }
#line 23670 "_gen/frontend/match.re2c.h"
yy1470:
	++p;
#line 1127 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Right_DoubleQuote; break; }
#line 23675 "_gen/frontend/match.re2c.h"
yy1471:
	yyaccept = 0;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '"':
		case '/':
		case '\\':
		case 'b':
		case 'f':
		case 'n':
		case 'r':
		case 't': goto yy1473;
		case 'u': goto yy1474;
		default: goto yy1472;
	}
yy1472:
#line 1131 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_Backslash; break; }
#line 23694 "_gen/frontend/match.re2c.h"
yy1473:
	++p;
#line 1128 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_OneChar; break; }
#line 23699 "_gen/frontend/match.re2c.h"
yy1474:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'e':
		case 'f': goto yy1476;
		case 'D':
		case 'd': goto yy1477;
		default: goto yy1475;
	}
yy1475:
	p = YYMARKER;
	if (yyaccept == 0) {
		goto yy1472;
	} else {
		goto yy1483;
	}
yy1476:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1478;
		default: goto yy1475;
	}
yy1477:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1478;
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'a':
		case 'b': goto yy1479;
		default: goto yy1475;
	}
yy1478:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1480;
		default: goto yy1475;
	}
yy1479:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1481;
		default: goto yy1475;
	}
yy1480:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1482;
		default: goto yy1475;
	}
yy1481:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1484;
		default: goto yy1475;
	}
yy1482:
	++p;
yy1483:
#line 1129 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Unicode4; break; }
#line 23901 "_gen/frontend/match.re2c.h"
yy1484:
	yyaccept = 1;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '\\': goto yy1485;
		default: goto yy1483;
	}
yy1485:
	yych = *++p;
	switch (yych) {
		case 'u': goto yy1486;
		default: goto yy1475;
	}
yy1486:
	yych = *++p;
	switch (yych) {
		case 'D':
		case 'd': goto yy1487;
		default: goto yy1475;
	}
yy1487:
	yych = *++p;
	switch (yych) {
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1488;
		default: goto yy1475;
	}
yy1488:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1489;
		default: goto yy1475;
	}
yy1489:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1490;
		default: goto yy1475;
	}
yy1490:
	++p;
#line 1130 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_SurrogatePair; break; }
#line 23993 "_gen/frontend/match.re2c.h"
}
#line 1136 "_gen/_tmp/match.re2c-input.h"

  }
  *end_pos = p - line;  /* relative */
}


static inline void MatchShNumberToken(const unsigned char* line, int line_len,
    int start_pos, int* id, int* end_pos) {
  assert(start_pos <= line_len);  /* caller should have checked */

  const unsigned char* p = line + start_pos;  /* modified by re2c */

  /* Echo and History lexer apparently need this, but others don't */
  __attribute__((unused)) const unsigned char* YYMARKER;

  for (;;) {
    
#line 24013 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	unsigned int yyaccept = 0;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy1492;
		case '0': goto yy1494;
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1496;
		default: goto yy1493;
	}
yy1492:
	++p;
#line 1160 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 24036 "_gen/frontend/match.re2c.h"
yy1493:
	++p;
#line 1159 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_Tok; break; }
#line 24041 "_gen/frontend/match.re2c.h"
yy1494:
	yyaccept = 0;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy1498;
		case 'X':
		case 'x': goto yy1500;
		default: goto yy1495;
	}
yy1495:
#line 1154 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ShNumber_Dec; break; }
#line 24061 "_gen/frontend/match.re2c.h"
yy1496:
	yyaccept = 1;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '#': goto yy1502;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1496;
		default: goto yy1497;
	}
yy1497:
#line 1155 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ShNumber_Dec; break; }
#line 24082 "_gen/frontend/match.re2c.h"
yy1498:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy1498;
		default: goto yy1499;
	}
yy1499:
#line 1156 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ShNumber_Oct; break; }
#line 24099 "_gen/frontend/match.re2c.h"
yy1500:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1503;
		default: goto yy1501;
	}
yy1501:
	p = YYMARKER;
	if (yyaccept == 0) {
		goto yy1495;
	} else {
		goto yy1497;
	}
yy1502:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case '@':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1505;
		default: goto yy1501;
	}
yy1503:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1503;
		default: goto yy1504;
	}
yy1504:
#line 1157 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ShNumber_Hex; break; }
#line 24233 "_gen/frontend/match.re2c.h"
yy1505:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case '@':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1505;
		default: goto yy1506;
	}
yy1506:
#line 1158 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ShNumber_BaseN; break; }
#line 24306 "_gen/frontend/match.re2c.h"
}
#line 1162 "_gen/_tmp/match.re2c-input.h"

  }
  *end_pos = p - line;  /* relative */
}


static inline int IsUtf8Codeset(const unsigned char* s, int len) {
  const unsigned char* p = s;  /* modified by re2c */
  const unsigned char* end = s + len;

  /* MatchBraceRangeToken needs this, but others don't */
  __attribute__((unused)) const unsigned char* YYMARKER;

  
#line 24323 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 'U':
		case 'u': goto yy1510;
		default: goto yy1508;
	}
yy1508:
	++p;
yy1509:
#line 1179 "_gen/_tmp/match.re2c-input.h"
	{ return 0; }
#line 24337 "_gen/frontend/match.re2c.h"
yy1510:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case 'T':
		case 't': goto yy1511;
		default: goto yy1509;
	}
yy1511:
	yych = *++p;
	switch (yych) {
		case 'F':
		case 'f': goto yy1513;
		default: goto yy1512;
	}
yy1512:
	p = YYMARKER;
	goto yy1509;
yy1513:
	yych = *++p;
	switch (yych) {
		case '-': goto yy1514;
		case '8': goto yy1515;
		default: goto yy1512;
	}
yy1514:
	yych = *++p;
	switch (yych) {
		case '8': goto yy1515;
		default: goto yy1512;
	}
yy1515:
	++p;
#line 1178 "_gen/_tmp/match.re2c-input.h"
	{ return p == end; }
#line 24372 "_gen/frontend/match.re2c.h"
}
#line 1180 "_gen/_tmp/match.re2c-input.h"

}


static inline int IsValidVarName(const unsigned char* s, int len) {
  const unsigned char* p = s;  /* modified by re2c */
  const unsigned char* end = s + len;

  /* MatchBraceRangeToken needs this, but others don't */
  __attribute__((unused)) const unsigned char* YYMARKER;

  
#line 24387 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1518;
		default: goto yy1517;
	}
yy1517:
	++p;
#line 1195 "_gen/_tmp/match.re2c-input.h"
	{ return 0; }
#line 24451 "_gen/frontend/match.re2c.h"
yy1518:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'G':
		case 'H':
		case 'I':
		case 'J':
		case 'K':
		case 'L':
		case 'M':
		case 'N':
		case 'O':
		case 'P':
		case 'Q':
		case 'R':
		case 'S':
		case 'T':
		case 'U':
		case 'V':
		case 'W':
		case 'X':
		case 'Y':
		case 'Z':
		case '_':
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f':
		case 'g':
		case 'h':
		case 'i':
		case 'j':
		case 'k':
		case 'l':
		case 'm':
		case 'n':
		case 'o':
		case 'p':
		case 'q':
		case 'r':
		case 's':
		case 't':
		case 'u':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1518;
		default: goto yy1519;
	}
yy1519:
#line 1194 "_gen/_tmp/match.re2c-input.h"
	{ return p == end; }
#line 24523 "_gen/frontend/match.re2c.h"
}
#line 1196 "_gen/_tmp/match.re2c-input.h"

}


static inline int ShouldHijack(const unsigned char* s, int len) {
  const unsigned char* p = s;  /* modified by re2c */
  const unsigned char* end = s + len;

  /* MatchBraceRangeToken needs this, but others don't */
  __attribute__((unused)) const unsigned char* YYMARKER;

  
#line 24538 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case '#': goto yy1523;
		default: goto yy1521;
	}
yy1521:
	++p;
yy1522:
#line 1211 "_gen/_tmp/match.re2c-input.h"
	{ return 0; }
#line 24551 "_gen/frontend/match.re2c.h"
yy1523:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '!': goto yy1524;
		default: goto yy1522;
	}
yy1524:
	yych = *++p;
	switch (yych) {
		case 0x00: goto yy1525;
		case 's': goto yy1526;
		default: goto yy1524;
	}
yy1525:
	p = YYMARKER;
	goto yy1522;
yy1526:
	yych = *++p;
	switch (yych) {
		case 0x00: goto yy1525;
		case 'h': goto yy1527;
		case 's': goto yy1526;
		default: goto yy1524;
	}
yy1527:
	yych = *++p;
	switch (yych) {
		case 0x00: goto yy1525;
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy1528;
		case 's': goto yy1526;
		default: goto yy1524;
	}
yy1528:
	yych = *++p;
	if (yych >= 0x01) goto yy1528;
#line 1210 "_gen/_tmp/match.re2c-input.h"
	{ return p == end; }
#line 24592 "_gen/frontend/match.re2c.h"
}
#line 1212 "_gen/_tmp/match.re2c-input.h"

}


static inline int LooksLikeInteger(const unsigned char* s, int len) {
  const unsigned char* p = s;  /* modified by re2c */
  const unsigned char* end = s + len;

  /* MatchBraceRangeToken needs this, but others don't */
  __attribute__((unused)) const unsigned char* YYMARKER;

  
#line 24607 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy1532;
		case '-': goto yy1533;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1534;
		default: goto yy1530;
	}
yy1530:
	++p;
yy1531:
#line 1227 "_gen/_tmp/match.re2c-input.h"
	{ return 0; }
#line 24634 "_gen/frontend/match.re2c.h"
yy1532:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy1536;
		case '-': goto yy1538;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1534;
		default: goto yy1531;
	}
yy1533:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1534;
		default: goto yy1531;
	}
yy1534:
	yych = *++p;
	switch (yych) {
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy1539;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1534;
		default: goto yy1535;
	}
yy1535:
#line 1226 "_gen/_tmp/match.re2c-input.h"
	{ return p == end; }
#line 24692 "_gen/frontend/match.re2c.h"
yy1536:
	yych = *++p;
	switch (yych) {
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy1536;
		case '-': goto yy1538;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1534;
		default: goto yy1537;
	}
yy1537:
	p = YYMARKER;
	goto yy1531;
yy1538:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1534;
		default: goto yy1537;
	}
yy1539:
	yych = *++p;
	switch (yych) {
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy1539;
		default: goto yy1535;
	}
}
#line 1228 "_gen/_tmp/match.re2c-input.h"

}


static inline int LooksLikeYshInt(const unsigned char* s, int len) {
  const unsigned char* p = s;  /* modified by re2c */
  const unsigned char* end = s + len;

  /* MatchBraceRangeToken needs this, but others don't */
  __attribute__((unused)) const unsigned char* YYMARKER;

  
#line 24754 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	unsigned int yyaccept = 0;
	yych = *p;
	switch (yych) {
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy1543;
		case '-': goto yy1544;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1545;
		default: goto yy1541;
	}
yy1541:
	++p;
yy1542:
#line 1243 "_gen/_tmp/match.re2c-input.h"
	{ return 0; }
#line 24782 "_gen/frontend/match.re2c.h"
yy1543:
	yyaccept = 0;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy1547;
		case '-': goto yy1549;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1545;
		default: goto yy1542;
	}
yy1544:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1545;
		default: goto yy1542;
	}
yy1545:
	yyaccept = 1;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy1550;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1545;
		case '_': goto yy1549;
		default: goto yy1546;
	}
yy1546:
#line 1242 "_gen/_tmp/match.re2c-input.h"
	{ return p == end; }
#line 24843 "_gen/frontend/match.re2c.h"
yy1547:
	yych = *++p;
	switch (yych) {
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy1547;
		case '-': goto yy1549;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1545;
		default: goto yy1548;
	}
yy1548:
	p = YYMARKER;
	if (yyaccept == 0) {
		goto yy1542;
	} else {
		goto yy1546;
	}
yy1549:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1545;
		default: goto yy1548;
	}
yy1550:
	yych = *++p;
	switch (yych) {
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy1550;
		default: goto yy1546;
	}
}
#line 1244 "_gen/_tmp/match.re2c-input.h"

}


static inline int LooksLikeYshFloat(const unsigned char* s, int len) {
  const unsigned char* p = s;  /* modified by re2c */
  const unsigned char* end = s + len;

  /* MatchBraceRangeToken needs this, but others don't */
  __attribute__((unused)) const unsigned char* YYMARKER;

  
#line 24909 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	unsigned int yyaccept = 0;
	yych = *p;
	switch (yych) {
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy1554;
		case '-': goto yy1555;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1556;
		default: goto yy1552;
	}
yy1552:
	++p;
yy1553:
#line 1259 "_gen/_tmp/match.re2c-input.h"
	{ return 0; }
#line 24937 "_gen/frontend/match.re2c.h"
yy1554:
	yyaccept = 0;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy1558;
		case '-': goto yy1560;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1556;
		default: goto yy1553;
	}
yy1555:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1556;
		default: goto yy1553;
	}
yy1556:
	yyaccept = 1;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy1561;
		case '.': goto yy1562;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1556;
		case 'E':
		case 'e': goto yy1563;
		case '_': goto yy1560;
		default: goto yy1557;
	}
yy1557:
#line 1258 "_gen/_tmp/match.re2c-input.h"
	{ return p == end; }
#line 25001 "_gen/frontend/match.re2c.h"
yy1558:
	yych = *++p;
	switch (yych) {
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy1558;
		case '-': goto yy1560;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1556;
		default: goto yy1559;
	}
yy1559:
	p = YYMARKER;
	if (yyaccept == 0) {
		goto yy1553;
	} else {
		goto yy1557;
	}
yy1560:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1556;
		default: goto yy1559;
	}
yy1561:
	yych = *++p;
	switch (yych) {
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy1561;
		default: goto yy1557;
	}
yy1562:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1564;
		default: goto yy1559;
	}
yy1563:
	yych = *++p;
	switch (yych) {
		case '+':
		case '-': goto yy1565;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1566;
		default: goto yy1559;
	}
yy1564:
	yyaccept = 1;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy1561;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1564;
		case 'E':
		case 'e': goto yy1563;
		case '_': goto yy1562;
		default: goto yy1557;
	}
yy1565:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1566;
		default: goto yy1559;
	}
yy1566:
	yych = *++p;
	switch (yych) {
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy1561;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1566;
		default: goto yy1557;
	}
}
#line 1260 "_gen/_tmp/match.re2c-input.h"

}


static inline int BracketUnary(const unsigned char* s, int len) {
  const unsigned char* p = s;  /* modified by re2c */
  const unsigned char* end = s + len;

  __attribute__((unused)) const unsigned char* YYMARKER;
  int id;

  for (;;) {
    
#line 25157 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case '-': goto yy1570;
		default: goto yy1568;
	}
yy1568:
	++p;
yy1569:
#line 1300 "_gen/_tmp/match.re2c-input.h"
	{ return id__Undefined_Tok; }
#line 25170 "_gen/frontend/match.re2c.h"
yy1570:
	yych = *++p;
	switch (yych) {
		case 'G': goto yy1571;
		case 'L': goto yy1572;
		case 'N': goto yy1573;
		case 'O': goto yy1574;
		case 'R': goto yy1575;
		case 'S': goto yy1576;
		case 'a': goto yy1577;
		case 'b': goto yy1578;
		case 'c': goto yy1579;
		case 'd': goto yy1580;
		case 'e': goto yy1581;
		case 'f': goto yy1582;
		case 'g': goto yy1583;
		case 'h': goto yy1584;
		case 'k': goto yy1585;
		case 'n': goto yy1586;
		case 'o': goto yy1587;
		case 'p': goto yy1588;
		case 'r': goto yy1589;
		case 's': goto yy1590;
		case 't': goto yy1591;
		case 'u': goto yy1592;
		case 'v': goto yy1593;
		case 'w': goto yy1594;
		case 'x': goto yy1595;
		case 'z': goto yy1596;
		default: goto yy1569;
	}
yy1571:
	++p;
#line 1274 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_G; break; }
#line 25206 "_gen/frontend/match.re2c.h"
yy1572:
	++p;
#line 1275 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_L; break; }
#line 25211 "_gen/frontend/match.re2c.h"
yy1573:
	++p;
#line 1276 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_N; break; }
#line 25216 "_gen/frontend/match.re2c.h"
yy1574:
	++p;
#line 1277 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_O; break; }
#line 25221 "_gen/frontend/match.re2c.h"
yy1575:
	++p;
#line 1278 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_R; break; }
#line 25226 "_gen/frontend/match.re2c.h"
yy1576:
	++p;
#line 1279 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_S; break; }
#line 25231 "_gen/frontend/match.re2c.h"
yy1577:
	++p;
#line 1280 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_a; break; }
#line 25236 "_gen/frontend/match.re2c.h"
yy1578:
	++p;
#line 1281 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_b; break; }
#line 25241 "_gen/frontend/match.re2c.h"
yy1579:
	++p;
#line 1282 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_c; break; }
#line 25246 "_gen/frontend/match.re2c.h"
yy1580:
	++p;
#line 1283 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_d; break; }
#line 25251 "_gen/frontend/match.re2c.h"
yy1581:
	++p;
#line 1284 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_e; break; }
#line 25256 "_gen/frontend/match.re2c.h"
yy1582:
	++p;
#line 1285 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_f; break; }
#line 25261 "_gen/frontend/match.re2c.h"
yy1583:
	++p;
#line 1286 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_g; break; }
#line 25266 "_gen/frontend/match.re2c.h"
yy1584:
	++p;
#line 1287 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_h; break; }
#line 25271 "_gen/frontend/match.re2c.h"
yy1585:
	++p;
#line 1288 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_k; break; }
#line 25276 "_gen/frontend/match.re2c.h"
yy1586:
	++p;
#line 1289 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_n; break; }
#line 25281 "_gen/frontend/match.re2c.h"
yy1587:
	++p;
#line 1290 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_o; break; }
#line 25286 "_gen/frontend/match.re2c.h"
yy1588:
	++p;
#line 1291 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_p; break; }
#line 25291 "_gen/frontend/match.re2c.h"
yy1589:
	++p;
#line 1292 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_r; break; }
#line 25296 "_gen/frontend/match.re2c.h"
yy1590:
	++p;
#line 1293 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_s; break; }
#line 25301 "_gen/frontend/match.re2c.h"
yy1591:
	++p;
#line 1294 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_t; break; }
#line 25306 "_gen/frontend/match.re2c.h"
yy1592:
	++p;
#line 1295 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_u; break; }
#line 25311 "_gen/frontend/match.re2c.h"
yy1593:
	++p;
#line 1296 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_v; break; }
#line 25316 "_gen/frontend/match.re2c.h"
yy1594:
	++p;
#line 1297 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_w; break; }
#line 25321 "_gen/frontend/match.re2c.h"
yy1595:
	++p;
#line 1298 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_x; break; }
#line 25326 "_gen/frontend/match.re2c.h"
yy1596:
	++p;
#line 1299 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_z; break; }
#line 25331 "_gen/frontend/match.re2c.h"
}
#line 1302 "_gen/_tmp/match.re2c-input.h"

  }
  // must be an exact match
  return (p == end) ? id : id__Undefined_Tok;
}


static inline int BracketBinary(const unsigned char* s, int len) {
  const unsigned char* p = s;  /* modified by re2c */
  const unsigned char* end = s + len;

  __attribute__((unused)) const unsigned char* YYMARKER;
  int id;

  for (;;) {
    
#line 25350 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case '!': goto yy1600;
		case '-': goto yy1601;
		case '<': goto yy1602;
		case '=': goto yy1603;
		case '>': goto yy1605;
		default: goto yy1598;
	}
yy1598:
	++p;
yy1599:
#line 1333 "_gen/_tmp/match.re2c-input.h"
	{ return id__Undefined_Tok; }
#line 25367 "_gen/frontend/match.re2c.h"
yy1600:
	yych = *++p;
	switch (yych) {
		case '=': goto yy1606;
		default: goto yy1599;
	}
yy1601:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case 'e': goto yy1607;
		case 'g': goto yy1609;
		case 'l': goto yy1610;
		case 'n': goto yy1611;
		case 'o': goto yy1612;
		default: goto yy1599;
	}
yy1602:
	++p;
#line 1329 "_gen/_tmp/match.re2c-input.h"
	{ id = id__Op_Less; break; }
#line 25388 "_gen/frontend/match.re2c.h"
yy1603:
	yych = *++p;
	switch (yych) {
		case '=': goto yy1613;
		default: goto yy1604;
	}
yy1604:
#line 1330 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolBinary_Equal; break; }
#line 25398 "_gen/frontend/match.re2c.h"
yy1605:
	++p;
#line 1332 "_gen/_tmp/match.re2c-input.h"
	{ id = id__Op_Great; break; }
#line 25403 "_gen/frontend/match.re2c.h"
yy1606:
	++p;
#line 1319 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolBinary_NEqual; break; }
#line 25408 "_gen/frontend/match.re2c.h"
yy1607:
	yych = *++p;
	switch (yych) {
		case 'f': goto yy1614;
		case 'q': goto yy1615;
		default: goto yy1608;
	}
yy1608:
	p = YYMARKER;
	goto yy1599;
yy1609:
	yych = *++p;
	switch (yych) {
		case 'e': goto yy1616;
		case 't': goto yy1617;
		default: goto yy1608;
	}
yy1610:
	yych = *++p;
	switch (yych) {
		case 'e': goto yy1618;
		case 't': goto yy1619;
		default: goto yy1608;
	}
yy1611:
	yych = *++p;
	switch (yych) {
		case 'e': goto yy1620;
		case 't': goto yy1621;
		default: goto yy1608;
	}
yy1612:
	yych = *++p;
	switch (yych) {
		case 't': goto yy1622;
		default: goto yy1608;
	}
yy1613:
	++p;
#line 1331 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolBinary_DEqual; break; }
#line 25450 "_gen/frontend/match.re2c.h"
yy1614:
	++p;
#line 1320 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolBinary_ef; break; }
#line 25455 "_gen/frontend/match.re2c.h"
yy1615:
	++p;
#line 1321 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolBinary_eq; break; }
#line 25460 "_gen/frontend/match.re2c.h"
yy1616:
	++p;
#line 1322 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolBinary_ge; break; }
#line 25465 "_gen/frontend/match.re2c.h"
yy1617:
	++p;
#line 1323 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolBinary_gt; break; }
#line 25470 "_gen/frontend/match.re2c.h"
yy1618:
	++p;
#line 1324 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolBinary_le; break; }
#line 25475 "_gen/frontend/match.re2c.h"
yy1619:
	++p;
#line 1325 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolBinary_lt; break; }
#line 25480 "_gen/frontend/match.re2c.h"
yy1620:
	++p;
#line 1326 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolBinary_ne; break; }
#line 25485 "_gen/frontend/match.re2c.h"
yy1621:
	++p;
#line 1327 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolBinary_nt; break; }
#line 25490 "_gen/frontend/match.re2c.h"
yy1622:
	++p;
#line 1328 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolBinary_ot; break; }
#line 25495 "_gen/frontend/match.re2c.h"
}
#line 1335 "_gen/_tmp/match.re2c-input.h"

  }
  // must be an exact match
  return (p == end) ? id : id__Undefined_Tok;
}


static inline int BracketOther(const unsigned char* s, int len) {
  const unsigned char* p = s;  /* modified by re2c */
  const unsigned char* end = s + len;

  __attribute__((unused)) const unsigned char* YYMARKER;
  int id;

  for (;;) {
    
#line 25514 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case '!': goto yy1625;
		case '(': goto yy1626;
		case ')': goto yy1627;
		case ']': goto yy1628;
		default: goto yy1624;
	}
yy1624:
	++p;
#line 1356 "_gen/_tmp/match.re2c-input.h"
	{ return id__Undefined_Tok; }
#line 25529 "_gen/frontend/match.re2c.h"
yy1625:
	++p;
#line 1352 "_gen/_tmp/match.re2c-input.h"
	{ id = id__KW_Bang; break; }
#line 25534 "_gen/frontend/match.re2c.h"
yy1626:
	++p;
#line 1353 "_gen/_tmp/match.re2c-input.h"
	{ id = id__Op_LParen; break; }
#line 25539 "_gen/frontend/match.re2c.h"
yy1627:
	++p;
#line 1354 "_gen/_tmp/match.re2c-input.h"
	{ id = id__Op_RParen; break; }
#line 25544 "_gen/frontend/match.re2c.h"
yy1628:
	++p;
#line 1355 "_gen/_tmp/match.re2c-input.h"
	{ id = id__Arith_RBracket; break; }
#line 25549 "_gen/frontend/match.re2c.h"
}
#line 1358 "_gen/_tmp/match.re2c-input.h"

  }
  // must be an exact match
  return (p == end) ? id : id__Undefined_Tok;
}

