/* Generated by re2c 3.0 on Thu Aug 22 05:13:47 2024 */
#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 yy35;
		case ';': goto yy36;
		case '<': goto yy38;
		case '=': goto yy40;
		case '>': goto yy41;
		case '?': goto yy43;
		case '@': goto yy45;
		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 yy47;
		case '[': goto yy49;
		case '\\': goto yy51;
		case ']': goto yy52;
		case '`': goto yy54;
		case 'b': goto yy55;
		case 'c': goto yy56;
		case 'd': goto yy57;
		case 'e': goto yy58;
		case 'f': goto yy59;
		case 'i': goto yy60;
		case 'p': goto yy61;
		case 'r': goto yy62;
		case 's': goto yy63;
		case 't': goto yy64;
		case 'u': goto yy65;
		case 'v': goto yy66;
		case 'w': goto yy67;
		case '{': goto yy68;
		case '|': goto yy70;
		case '}': goto yy72;
		case '~': goto yy73;
		default: goto yy29;
	}
yy5:
	++p;
#line 150 "_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 143 "_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 130 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__WS_Space; break; }
#line 213 "_gen/frontend/match.re2c.h"
yy10:
	++p;
#line 131 "_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 yy74;
		default: goto yy12;
	}
yy12:
#line 73 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Bang; break; }
#line 228 "_gen/frontend/match.re2c.h"
yy13:
	++p;
#line 109 "_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 yy75;
		default: goto yy15;
	}
yy15:
#line 129 "_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 yy77;
		case '"': goto yy78;
		case '#': goto yy79;
		case '$': goto yy80;
		case '\'': goto yy81;
		case '(': goto yy82;
		case '*': goto yy84;
		case '-': goto yy85;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy86;
		case '?': goto yy87;
		case '@': goto yy88;
		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 yy89;
		case '[': goto yy91;
		case '{': goto yy92;
		default: goto yy17;
	}
yy17:
#line 128 "_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 yy94;
		case '>': goto yy95;
		default: goto yy19;
	}
yy19:
#line 132 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_Amp; break; }
#line 339 "_gen/frontend/match.re2c.h"
yy20:
	++p;
#line 110 "_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 yy97;
		default: goto yy22;
	}
yy22:
#line 141 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_LParen; break; }
#line 354 "_gen/frontend/match.re2c.h"
yy23:
	++p;
#line 142 "_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 yy98;
		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 yy99;
		default: goto yy7;
	}
yy27:
	yych = *++p;
	switch (yych) {
		case '(': goto yy100;
		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 124 "_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 yy101;
		default: goto yy30;
	}
yy33:
	++p;
#line 126 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Slash; break; }
#line 469 "_gen/frontend/match.re2c.h"
yy34:
	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 yy102;
		case '<': goto yy103;
		case '>': goto yy104;
		default: goto yy30;
	}
yy35:
	++p;
#line 127 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Colon; break; }
#line 491 "_gen/frontend/match.re2c.h"
yy36:
	yych = *++p;
	switch (yych) {
		case '&': goto yy105;
		case ';': goto yy106;
		default: goto yy37;
	}
yy37:
#line 137 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_Semi; break; }
#line 502 "_gen/frontend/match.re2c.h"
yy38:
	yych = *++p;
	switch (yych) {
		case '&': goto yy108;
		case '(': goto yy109;
		case '<': goto yy110;
		case '>': goto yy112;
		default: goto yy39;
	}
yy39:
#line 50 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Redir_Less; break; }
#line 515 "_gen/frontend/match.re2c.h"
yy40:
	++p;
#line 45 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Equals; break; }
#line 520 "_gen/frontend/match.re2c.h"
yy41:
	yych = *++p;
	switch (yych) {
		case '&': goto yy113;
		case '(': goto yy114;
		case '>': goto yy115;
		case '|': goto yy116;
		default: goto yy42;
	}
yy42:
#line 51 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Redir_Great; break; }
#line 533 "_gen/frontend/match.re2c.h"
yy43:
	yych = *++p;
	switch (yych) {
		case '(': goto yy117;
		default: goto yy44;
	}
yy44:
#line 39 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_QMark; break; }
#line 543 "_gen/frontend/match.re2c.h"
yy45:
	yyaccept = 1;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '(': goto yy118;
		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 yy119;
		case '[': goto yy121;
		case '{': goto yy122;
		default: goto yy46;
	}
yy46:
#line 46 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_At; break; }
#line 609 "_gen/frontend/match.re2c.h"
yy47:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
yy48:
	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 yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		default: goto yy29;
	}
yy49:
	yych = *++p;
	switch (yych) {
		case '[': goto yy126;
		default: goto yy50;
	}
yy50:
#line 36 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_LBracket; break; }
#line 752 "_gen/frontend/match.re2c.h"
yy51:
	yych = *++p;
	switch (yych) {
		case 0x00: goto yy7;
		case '\n': goto yy128;
		default: goto yy127;
	}
yy52:
	yyaccept = 3;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy129;
		case '=': goto yy130;
		default: goto yy53;
	}
yy53:
#line 37 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_RBracket; break; }
#line 771 "_gen/frontend/match.re2c.h"
yy54:
	++p;
#line 103 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_Backtick; break; }
#line 776 "_gen/frontend/match.re2c.h"
yy55:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'r': goto yy131;
		default: goto yy30;
	}
yy56:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'a': goto yy132;
		case 'o': goto yy133;
		default: goto yy30;
	}
yy57:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'o': goto yy134;
		default: goto yy30;
	}
yy58:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'l': goto yy136;
		case 's': goto yy137;
		case 'x': goto yy138;
		default: goto yy30;
	}
yy59:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'i': goto yy139;
		case 'o': goto yy141;
		case 'u': goto yy142;
		default: goto yy30;
	}
yy60:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'f': goto yy143;
		case 'n': goto yy145;
		default: goto yy30;
	}
yy61:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'r': goto yy147;
		default: goto yy30;
	}
yy62:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'e': goto yy148;
		default: goto yy30;
	}
yy63:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'e': goto yy149;
		default: goto yy30;
	}
yy64:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'h': goto yy150;
		case 'i': goto yy151;
		case 'y': goto yy152;
		default: goto yy30;
	}
yy65:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'n': goto yy153;
		default: goto yy30;
	}
yy66:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'a': goto yy154;
		default: goto yy30;
	}
yy67:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'h': goto yy155;
		default: goto yy30;
	}
yy68:
	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 yy156;
		default: goto yy69;
	}
yy69:
#line 42 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_LBrace; break; }
#line 1775 "_gen/frontend/match.re2c.h"
yy70:
	yych = *++p;
	switch (yych) {
		case '&': goto yy157;
		case '|': goto yy158;
		default: goto yy71;
	}
yy71:
#line 133 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_Pipe; break; }
#line 1786 "_gen/frontend/match.re2c.h"
yy72:
	++p;
#line 43 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_RBrace; break; }
#line 1791 "_gen/frontend/match.re2c.h"
yy73:
	++p;
#line 125 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Tilde; break; }
#line 1796 "_gen/frontend/match.re2c.h"
yy74:
	++p;
#line 149 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_Bang; break; }
#line 1801 "_gen/frontend/match.re2c.h"
yy75:
	yych = *++p;
	switch (yych) {
		case '#': goto yy159;
		default: goto yy76;
	}
yy76:
	p = YYMARKER;
	switch (yyaccept) {
		case 0: goto yy15;
		case 1: goto yy46;
		case 2: goto yy31;
		case 3: goto yy53;
		case 4: goto yy69;
		case 5: goto yy93;
		case 6: goto yy135;
		case 7: goto yy140;
		case 8: goto yy144;
		case 9: goto yy146;
		case 10: goto yy179;
		case 11: goto yy189;
		case 12: goto yy196;
		case 13: goto yy198;
		case 14: goto yy202;
		case 15: goto yy204;
		case 16: goto yy206;
		case 17: goto yy208;
		case 18: goto yy210;
		case 19: goto yy212;
		case 20: goto yy214;
		case 21: goto yy219;
		case 22: goto yy221;
		case 23: goto yy231;
		case 24: goto yy233;
		case 25: goto yy240;
		case 26: goto yy242;
		case 27: goto yy244;
		case 28: goto yy255;
		case 29: goto yy258;
		case 30: goto yy265;
		case 31: goto yy267;
		default: goto yy270;
	}
yy77:
	++p;
#line 117 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Bang; break; }
#line 1849 "_gen/frontend/match.re2c.h"
yy78:
	++p;
#line 111 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarDoubleQuote; break; }
#line 1854 "_gen/frontend/match.re2c.h"
yy79:
	++p;
#line 119 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Pound; break; }
#line 1859 "_gen/frontend/match.re2c.h"
yy80:
	++p;
#line 120 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Dollar; break; }
#line 1864 "_gen/frontend/match.re2c.h"
yy81:
	++p;
#line 112 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarSingleQuote; break; }
#line 1869 "_gen/frontend/match.re2c.h"
yy82:
	yych = *++p;
	switch (yych) {
		case '(': goto yy160;
		default: goto yy83;
	}
yy83:
#line 104 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarParen; break; }
#line 1879 "_gen/frontend/match.re2c.h"
yy84:
	++p;
#line 121 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Star; break; }
#line 1884 "_gen/frontend/match.re2c.h"
yy85:
	++p;
#line 122 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Hyphen; break; }
#line 1889 "_gen/frontend/match.re2c.h"
yy86:
	++p;
#line 116 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Number; break; }
#line 1894 "_gen/frontend/match.re2c.h"
yy87:
	++p;
#line 123 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_QMark; break; }
#line 1899 "_gen/frontend/match.re2c.h"
yy88:
	++p;
#line 118 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_At; break; }
#line 1904 "_gen/frontend/match.re2c.h"
yy89:
	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 yy89;
		default: goto yy90;
	}
yy90:
#line 115 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_DollarName; break; }
#line 1976 "_gen/frontend/match.re2c.h"
yy91:
	++p;
#line 108 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBracket; break; }
#line 1981 "_gen/frontend/match.re2c.h"
yy92:
	yyaccept = 5;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '(': goto yy161;
		default: goto yy93;
	}
yy93:
#line 105 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBrace; break; }
#line 1992 "_gen/frontend/match.re2c.h"
yy94:
	++p;
#line 135 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_DAmp; break; }
#line 1997 "_gen/frontend/match.re2c.h"
yy95:
	yych = *++p;
	switch (yych) {
		case '>': goto yy162;
		default: goto yy96;
	}
yy96:
#line 70 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Redir_AndGreat; break; }
#line 2007 "_gen/frontend/match.re2c.h"
yy97:
	++p;
#line 35 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_DLeftParen; break; }
#line 2012 "_gen/frontend/match.re2c.h"
yy98:
	++p;
#line 146 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_Star; break; }
#line 2017 "_gen/frontend/match.re2c.h"
yy99:
	++p;
#line 147 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_Plus; break; }
#line 2022 "_gen/frontend/match.re2c.h"
yy100:
	++p;
#line 144 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_Comma; break; }
#line 2027 "_gen/frontend/match.re2c.h"
yy101:
	yych = *++p;
	switch (yych) {
		case '.': goto yy163;
		default: goto yy30;
	}
yy102:
	yych = *++p;
	switch (yych) {
		case '<': goto yy103;
		case '>': goto yy104;
		default: goto yy30;
	}
yy103:
	yych = *++p;
	switch (yych) {
		case '&': goto yy108;
		case '<': goto yy110;
		case '>': goto yy112;
		default: goto yy39;
	}
yy104:
	yych = *++p;
	switch (yych) {
		case '&': goto yy113;
		case '>': goto yy115;
		case '|': goto yy116;
		default: goto yy42;
	}
yy105:
	++p;
#line 139 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_SemiAmp; break; }
#line 2061 "_gen/frontend/match.re2c.h"
yy106:
	yych = *++p;
	switch (yych) {
		case '&': goto yy165;
		default: goto yy107;
	}
yy107:
#line 138 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_DSemi; break; }
#line 2071 "_gen/frontend/match.re2c.h"
yy108:
	++p;
#line 57 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Redir_LessAnd; break; }
#line 2076 "_gen/frontend/match.re2c.h"
yy109:
	++p;
#line 113 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_ProcSubIn; break; }
#line 2081 "_gen/frontend/match.re2c.h"
yy110:
	yych = *++p;
	switch (yych) {
		case '-': goto yy166;
		case '<': goto yy167;
		default: goto yy111;
	}
yy111:
#line 52 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Redir_DLess; break; }
#line 2092 "_gen/frontend/match.re2c.h"
yy112:
	++p;
#line 58 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Redir_LessGreat; break; }
#line 2097 "_gen/frontend/match.re2c.h"
yy113:
	++p;
#line 56 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Redir_GreatAnd; break; }
#line 2102 "_gen/frontend/match.re2c.h"
yy114:
	++p;
#line 114 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_ProcSubOut; break; }
#line 2107 "_gen/frontend/match.re2c.h"
yy115:
	++p;
#line 54 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Redir_DGreat; break; }
#line 2112 "_gen/frontend/match.re2c.h"
yy116:
	++p;
#line 59 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Redir_Clobber; break; }
#line 2117 "_gen/frontend/match.re2c.h"
yy117:
	++p;
#line 148 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_QMark; break; }
#line 2122 "_gen/frontend/match.re2c.h"
yy118:
	++p;
#line 145 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_At; break; }
#line 2127 "_gen/frontend/match.re2c.h"
yy119:
	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 yy119;
		default: goto yy120;
	}
yy120:
#line 47 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Splice; break; }
#line 2199 "_gen/frontend/match.re2c.h"
yy121:
	++p;
#line 48 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_AtLBracket; break; }
#line 2204 "_gen/frontend/match.re2c.h"
yy122:
	yych = *++p;
	switch (yych) {
		case '.': goto yy168;
		default: goto yy76;
	}
yy123:
	yych = *++p;
	switch (yych) {
		case '=': goto yy124;
		default: goto yy76;
	}
yy124:
	++p;
#line 32 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_VarLike; break; }
#line 2221 "_gen/frontend/match.re2c.h"
yy125:
	++p;
#line 33 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_ArrayLhsOpen; break; }
#line 2226 "_gen/frontend/match.re2c.h"
yy126:
	++p;
#line 72 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_DLeftBracket; break; }
#line 2231 "_gen/frontend/match.re2c.h"
yy127:
	++p;
#line 101 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_EscapedChar; break; }
#line 2236 "_gen/frontend/match.re2c.h"
yy128:
	++p;
#line 102 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_LineCont; break; }
#line 2241 "_gen/frontend/match.re2c.h"
yy129:
	yych = *++p;
	switch (yych) {
		case '=': goto yy130;
		default: goto yy76;
	}
yy130:
	++p;
#line 34 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_ArrayLhsClose; break; }
#line 2252 "_gen/frontend/match.re2c.h"
yy131:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'e': goto yy169;
		default: goto yy30;
	}
yy132:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'l': goto yy170;
		case 's': goto yy171;
		default: goto yy30;
	}
yy133:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'n': goto yy172;
		default: goto yy30;
	}
yy134:
	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 yy135;
		case 'n': goto yy173;
		default: goto yy48;
	}
yy135:
#line 77 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Do; break; }
#line 2539 "_gen/frontend/match.re2c.h"
yy136:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'i': goto yy174;
		case 's': goto yy175;
		default: goto yy30;
	}
yy137:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'a': goto yy176;
		default: goto yy30;
	}
yy138:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'i': goto yy177;
		default: goto yy30;
	}
yy139:
	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 yy140;
		default: goto yy48;
	}
yy140:
#line 83 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Fi; break; }
#line 2825 "_gen/frontend/match.re2c.h"
yy141:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'r': goto yy178;
		default: goto yy30;
	}
yy142:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'n': goto yy180;
		default: goto yy30;
	}
yy143:
	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 yy144;
		default: goto yy48;
	}
yy144:
#line 82 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_If; break; }
#line 3039 "_gen/frontend/match.re2c.h"
yy145:
	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 yy146;
		default: goto yy48;
	}
yy146:
#line 79 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_In; break; }
#line 3109 "_gen/frontend/match.re2c.h"
yy147:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'o': goto yy181;
		default: goto yy30;
	}
yy148:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 't': goto yy182;
		default: goto yy30;
	}
yy149:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 't': goto yy183;
		default: goto yy30;
	}
yy150:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'e': goto yy184;
		default: goto yy30;
	}
yy151:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'm': goto yy185;
		default: goto yy30;
	}
yy152:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'p': goto yy186;
		default: goto yy30;
	}
yy153:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 't': goto yy187;
		default: goto yy30;
	}
yy154:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'r': goto yy188;
		default: goto yy30;
	}
yy155:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'i': goto yy190;
		default: goto yy30;
	}
yy156:
	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 yy156;
		case '}': goto yy191;
		default: goto yy76;
	}
yy157:
	++p;
#line 134 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_PipeAmp; break; }
#line 3831 "_gen/frontend/match.re2c.h"
yy158:
	++p;
#line 136 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_DPipe; break; }
#line 3836 "_gen/frontend/match.re2c.h"
yy159:
	++p;
#line 40 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_TPound; break; }
#line 3841 "_gen/frontend/match.re2c.h"
yy160:
	++p;
#line 107 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarDParen; break; }
#line 3846 "_gen/frontend/match.re2c.h"
yy161:
	yych = *++p;
	switch (yych) {
		case ')': goto yy76;
		default: goto yy193;
	}
yy162:
	++p;
#line 71 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Redir_AndDGreat; break; }
#line 3857 "_gen/frontend/match.re2c.h"
yy163:
	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 yy164;
		default: goto yy29;
	}
yy164:
#line 41 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_TDot; break; }
#line 3929 "_gen/frontend/match.re2c.h"
yy165:
	++p;
#line 140 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_DSemiAmp; break; }
#line 3934 "_gen/frontend/match.re2c.h"
yy166:
	++p;
#line 55 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Redir_DLessDash; break; }
#line 3939 "_gen/frontend/match.re2c.h"
yy167:
	++p;
#line 53 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Redir_TLess; break; }
#line 3944 "_gen/frontend/match.re2c.h"
yy168:
	++p;
#line 49 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_AtLBraceDot; break; }
#line 3949 "_gen/frontend/match.re2c.h"
yy169:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'a': goto yy194;
		default: goto yy30;
	}
yy170:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'l': goto yy195;
		default: goto yy30;
	}
yy171:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'e': goto yy197;
		default: goto yy30;
	}
yy172:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 's': goto yy199;
		case 't': goto yy200;
		default: goto yy30;
	}
yy173:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'e': goto yy201;
		default: goto yy30;
	}
yy174:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'f': goto yy203;
		default: goto yy30;
	}
yy175:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'e': goto yy205;
		default: goto yy30;
	}
yy176:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'c': goto yy207;
		default: goto yy30;
	}
yy177:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 't': goto yy209;
		default: goto yy30;
	}
yy178:
	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 yy179;
		default: goto yy48;
	}
yy179:
#line 74 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_For; break; }
#line 4667 "_gen/frontend/match.re2c.h"
yy180:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'c': goto yy211;
		default: goto yy30;
	}
yy181:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'c': goto yy213;
		default: goto yy30;
	}
yy182:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'u': goto yy215;
		default: goto yy30;
	}
yy183:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'g': goto yy216;
		case 'v': goto yy217;
		default: goto yy30;
	}
yy184:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'n': goto yy218;
		default: goto yy30;
	}
yy185:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'e': goto yy220;
		default: goto yy30;
	}
yy186:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'e': goto yy222;
		default: goto yy30;
	}
yy187:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'i': goto yy223;
		default: goto yy30;
	}
yy188:
	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 yy189;
		default: goto yy48;
	}
yy189:
#line 90 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Var; break; }
#line 5313 "_gen/frontend/match.re2c.h"
yy190:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'l': goto yy224;
		default: goto yy30;
	}
yy191:
	yych = *++p;
	switch (yych) {
		case '<': goto yy225;
		case '>': goto yy227;
		default: goto yy76;
	}
yy192:
	yych = *++p;
yy193:
	switch (yych) {
		case 0x00: goto yy76;
		case ')': goto yy229;
		default: goto yy192;
	}
yy194:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'k': goto yy230;
		default: goto yy30;
	}
yy195:
	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 yy196;
		default: goto yy48;
	}
yy196:
#line 93 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Call; break; }
#line 5542 "_gen/frontend/match.re2c.h"
yy197:
	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 yy198;
		default: goto yy48;
	}
yy198:
#line 80 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Case; break; }
#line 5612 "_gen/frontend/match.re2c.h"
yy199:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 't': goto yy232;
		default: goto yy30;
	}
yy200:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'i': goto yy234;
		default: goto yy30;
	}
yy201:
	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 yy202;
		default: goto yy48;
	}
yy202:
#line 78 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Done; break; }
#line 5826 "_gen/frontend/match.re2c.h"
yy203:
	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 yy204;
		default: goto yy48;
	}
yy204:
#line 86 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Elif; break; }
#line 5896 "_gen/frontend/match.re2c.h"
yy205:
	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 yy206;
		default: goto yy48;
	}
yy206:
#line 85 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Else; break; }
#line 5966 "_gen/frontend/match.re2c.h"
yy207:
	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 yy208;
		default: goto yy48;
	}
yy208:
#line 81 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Esac; break; }
#line 6036 "_gen/frontend/match.re2c.h"
yy209:
	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 yy210;
		default: goto yy48;
	}
yy210:
#line 100 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ControlFlow_Exit; break; }
#line 6106 "_gen/frontend/match.re2c.h"
yy211:
	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 yy212;
		case 't': goto yy235;
		default: goto yy48;
	}
yy212:
#line 96 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Func; break; }
#line 6177 "_gen/frontend/match.re2c.h"
yy213:
	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 yy214;
		default: goto yy48;
	}
yy214:
#line 94 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Proc; break; }
#line 6247 "_gen/frontend/match.re2c.h"
yy215:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'r': goto yy236;
		default: goto yy30;
	}
yy216:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'l': goto yy237;
		default: goto yy30;
	}
yy217:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'a': goto yy238;
		default: goto yy30;
	}
yy218:
	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 yy219;
		default: goto yy48;
	}
yy219:
#line 84 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Then; break; }
#line 6533 "_gen/frontend/match.re2c.h"
yy220:
	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 yy221;
		default: goto yy48;
	}
yy221:
#line 88 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Time; break; }
#line 6603 "_gen/frontend/match.re2c.h"
yy222:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'd': goto yy239;
		default: goto yy30;
	}
yy223:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'l': goto yy241;
		default: goto yy30;
	}
yy224:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'e': goto yy243;
		default: goto yy30;
	}
yy225:
	yych = *++p;
	switch (yych) {
		case '&': goto yy245;
		case '<': goto yy246;
		case '>': goto yy248;
		default: goto yy226;
	}
yy226:
#line 60 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Redir_Less; break; }
#line 6831 "_gen/frontend/match.re2c.h"
yy227:
	yych = *++p;
	switch (yych) {
		case '&': goto yy249;
		case '>': goto yy250;
		case '|': goto yy251;
		default: goto yy228;
	}
yy228:
#line 61 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Redir_Great; break; }
#line 6843 "_gen/frontend/match.re2c.h"
yy229:
	++p;
#line 106 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBraceZsh; break; }
#line 6848 "_gen/frontend/match.re2c.h"
yy230:
	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 yy231;
		default: goto yy48;
	}
yy231:
#line 97 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ControlFlow_Break; break; }
#line 6918 "_gen/frontend/match.re2c.h"
yy232:
	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 yy233;
		default: goto yy48;
	}
yy233:
#line 89 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Const; break; }
#line 6988 "_gen/frontend/match.re2c.h"
yy234:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'n': goto yy252;
		default: goto yy30;
	}
yy235:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'i': goto yy253;
		default: goto yy30;
	}
yy236:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'n': goto yy254;
		default: goto yy30;
	}
yy237:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'o': goto yy256;
		default: goto yy30;
	}
yy238:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'r': goto yy257;
		default: goto yy30;
	}
yy239:
	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 yy240;
		default: goto yy48;
	}
yy240:
#line 95 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Typed; break; }
#line 7418 "_gen/frontend/match.re2c.h"
yy241:
	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 yy242;
		default: goto yy48;
	}
yy242:
#line 76 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Until; break; }
#line 7488 "_gen/frontend/match.re2c.h"
yy243:
	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 yy244;
		default: goto yy48;
	}
yy244:
#line 75 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_While; break; }
#line 7558 "_gen/frontend/match.re2c.h"
yy245:
	++p;
#line 67 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Redir_LessAnd; break; }
#line 7563 "_gen/frontend/match.re2c.h"
yy246:
	yych = *++p;
	switch (yych) {
		case '-': goto yy259;
		case '<': goto yy260;
		default: goto yy247;
	}
yy247:
#line 62 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Redir_DLess; break; }
#line 7574 "_gen/frontend/match.re2c.h"
yy248:
	++p;
#line 68 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Redir_LessGreat; break; }
#line 7579 "_gen/frontend/match.re2c.h"
yy249:
	++p;
#line 66 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Redir_GreatAnd; break; }
#line 7584 "_gen/frontend/match.re2c.h"
yy250:
	++p;
#line 64 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Redir_DGreat; break; }
#line 7589 "_gen/frontend/match.re2c.h"
yy251:
	++p;
#line 69 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Redir_Clobber; break; }
#line 7594 "_gen/frontend/match.re2c.h"
yy252:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'u': goto yy261;
		default: goto yy30;
	}
yy253:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'o': goto yy262;
		default: goto yy30;
	}
yy254:
	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 yy255;
		default: goto yy48;
	}
yy255:
#line 99 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ControlFlow_Return; break; }
#line 7808 "_gen/frontend/match.re2c.h"
yy256:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'b': goto yy263;
		default: goto yy30;
	}
yy257:
	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 yy258;
		default: goto yy48;
	}
yy258:
#line 91 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_SetVar; break; }
#line 7950 "_gen/frontend/match.re2c.h"
yy259:
	++p;
#line 65 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Redir_DLessDash; break; }
#line 7955 "_gen/frontend/match.re2c.h"
yy260:
	++p;
#line 63 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Redir_TLess; break; }
#line 7960 "_gen/frontend/match.re2c.h"
yy261:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'e': goto yy264;
		default: goto yy30;
	}
yy262:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'n': goto yy266;
		default: goto yy30;
	}
yy263:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'a': goto yy268;
		default: goto yy30;
	}
yy264:
	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 yy265;
		default: goto yy48;
	}
yy265:
#line 98 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ControlFlow_Continue; break; }
#line 8246 "_gen/frontend/match.re2c.h"
yy266:
	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 yy267;
		default: goto yy48;
	}
yy267:
#line 87 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Function; break; }
#line 8316 "_gen/frontend/match.re2c.h"
yy268:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '+': goto yy123;
		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 yy47;
		case '=': goto yy124;
		case '[': goto yy125;
		case 'l': goto yy269;
		default: goto yy30;
	}
yy269:
	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 yy270;
		default: goto yy48;
	}
yy270:
#line 92 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_SetGlobal; break; }
#line 8458 "_gen/frontend/match.re2c.h"
}
#line 151 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__Backtick:
    for (;;) {
      
#line 8468 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy272;
		case '\\': goto yy275;
		case '`': goto yy277;
		default: goto yy273;
	}
yy272:
	++p;
#line 163 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 8482 "_gen/frontend/match.re2c.h"
yy273:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case '\\':
		case '`': goto yy274;
		default: goto yy273;
	}
yy274:
#line 161 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Backtick_Other; break; }
#line 8494 "_gen/frontend/match.re2c.h"
yy275:
	yych = *++p;
	switch (yych) {
		case '"': goto yy278;
		case '$':
		case '\\':
		case '`': goto yy279;
		default: goto yy276;
	}
yy276:
#line 162 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Backtick_Other; break; }
#line 8507 "_gen/frontend/match.re2c.h"
yy277:
	++p;
#line 158 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Backtick_Right; break; }
#line 8512 "_gen/frontend/match.re2c.h"
yy278:
	++p;
#line 160 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Backtick_DoubleQuote; break; }
#line 8517 "_gen/frontend/match.re2c.h"
yy279:
	++p;
#line 159 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Backtick_Quoted; break; }
#line 8522 "_gen/frontend/match.re2c.h"
}
#line 164 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__DBracket:
    for (;;) {
      
#line 8532 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy281;
		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 yy282;
		case '\t':
		case ' ': goto yy284;
		case '\n': goto yy286;
		case '!': goto yy287;
		case '"': goto yy289;
		case '#': goto yy290;
		case '$': goto yy291;
		case '&': goto yy293;
		case '\'': goto yy295;
		case '(': goto yy296;
		case ')': goto yy297;
		case '*': goto yy298;
		case '+': goto yy299;
		case ',': goto yy300;
		case '-': goto yy301;
		case '/': goto yy305;
		case ':': goto yy306;
		case ';': goto yy307;
		case '<': goto yy309;
		case '=': goto yy311;
		case '>': goto yy313;
		case '?': goto yy315;
		case '@': goto yy316;
		case '\\': goto yy317;
		case ']': goto yy318;
		case '`': goto yy319;
		case '|': goto yy320;
		case '~': goto yy322;
		default: goto yy303;
	}
yy281:
	++p;
#line 263 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 8607 "_gen/frontend/match.re2c.h"
yy282:
	++p;
yy283:
#line 256 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Other; break; }
#line 8613 "_gen/frontend/match.re2c.h"
yy284:
	yych = *++p;
	switch (yych) {
		case '\t':
		case ' ': goto yy284;
		default: goto yy285;
	}
yy285:
#line 243 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__WS_Space; break; }
#line 8624 "_gen/frontend/match.re2c.h"
yy286:
	++p;
#line 244 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_Newline; break; }
#line 8629 "_gen/frontend/match.re2c.h"
yy287:
	yych = *++p;
	switch (yych) {
		case '(': goto yy323;
		case '=': goto yy324;
		default: goto yy288;
	}
yy288:
#line 172 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__KW_Bang; break; }
#line 8640 "_gen/frontend/match.re2c.h"
yy289:
	++p;
#line 222 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DoubleQuote; break; }
#line 8645 "_gen/frontend/match.re2c.h"
yy290:
	++p;
#line 242 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Pound; break; }
#line 8650 "_gen/frontend/match.re2c.h"
yy291:
	yych = *++p;
	switch (yych) {
		case '!': goto yy325;
		case '"': goto yy326;
		case '#': goto yy327;
		case '$': goto yy328;
		case '\'': goto yy329;
		case '(': goto yy330;
		case '*': goto yy332;
		case '-': goto yy333;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy334;
		case '?': goto yy335;
		case '@': goto yy336;
		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 yy337;
		case '[': goto yy339;
		case '{': goto yy340;
		default: goto yy292;
	}
yy292:
#line 241 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Dollar; break; }
#line 8734 "_gen/frontend/match.re2c.h"
yy293:
	yych = *++p;
	switch (yych) {
		case '&': goto yy342;
		default: goto yy294;
	}
yy294:
#line 245 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_Amp; break; }
#line 8744 "_gen/frontend/match.re2c.h"
yy295:
	++p;
#line 223 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_SingleQuote; break; }
#line 8749 "_gen/frontend/match.re2c.h"
yy296:
	++p;
#line 254 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_LParen; break; }
#line 8754 "_gen/frontend/match.re2c.h"
yy297:
	++p;
#line 255 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_RParen; break; }
#line 8759 "_gen/frontend/match.re2c.h"
yy298:
	yych = *++p;
	switch (yych) {
		case '(': goto yy343;
		default: goto yy283;
	}
yy299:
	yych = *++p;
	switch (yych) {
		case '(': goto yy344;
		default: goto yy283;
	}
yy300:
	yych = *++p;
	switch (yych) {
		case '(': goto yy345;
		default: goto yy283;
	}
yy301:
	yych = *++p;
	switch (yych) {
		case 'G': goto yy346;
		case 'L': goto yy348;
		case 'N': goto yy350;
		case 'O': goto yy352;
		case 'R': goto yy354;
		case 'S': goto yy356;
		case 'a': goto yy358;
		case 'b': goto yy360;
		case 'c': goto yy362;
		case 'd': goto yy364;
		case 'e': goto yy366;
		case 'f': goto yy368;
		case 'g': goto yy370;
		case 'h': goto yy372;
		case 'k': goto yy374;
		case 'l': goto yy376;
		case 'n': goto yy377;
		case 'o': goto yy379;
		case 'p': goto yy381;
		case 'r': goto yy383;
		case 's': goto yy385;
		case 't': goto yy387;
		case 'u': goto yy389;
		case 'v': goto yy391;
		case 'w': goto yy393;
		case 'x': goto yy395;
		case 'z': goto yy397;
		default: goto yy304;
	}
yy302:
#line 237 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Chars; break; }
#line 8813 "_gen/frontend/match.re2c.h"
yy303:
	yych = *++p;
yy304:
	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 yy302;
		default: goto yy303;
	}
yy305:
	++p;
#line 239 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Slash; break; }
#line 8887 "_gen/frontend/match.re2c.h"
yy306:
	++p;
#line 240 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Colon; break; }
#line 8892 "_gen/frontend/match.re2c.h"
yy307:
	yych = *++p;
	switch (yych) {
		case '&': goto yy399;
		case ';': goto yy400;
		default: goto yy308;
	}
yy308:
#line 250 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_Semi; break; }
#line 8903 "_gen/frontend/match.re2c.h"
yy309:
	yych = *++p;
	switch (yych) {
		case '(': goto yy402;
		default: goto yy310;
	}
yy310:
#line 173 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_Less; break; }
#line 8913 "_gen/frontend/match.re2c.h"
yy311:
	yych = *++p;
	switch (yych) {
		case '=': goto yy403;
		case '~': goto yy404;
		default: goto yy312;
	}
yy312:
#line 201 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolBinary_GlobEqual; break; }
#line 8924 "_gen/frontend/match.re2c.h"
yy313:
	yych = *++p;
	switch (yych) {
		case '(': goto yy405;
		default: goto yy314;
	}
yy314:
#line 174 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_Great; break; }
#line 8934 "_gen/frontend/match.re2c.h"
yy315:
	yych = *++p;
	switch (yych) {
		case '(': goto yy406;
		default: goto yy283;
	}
yy316:
	yych = *++p;
	switch (yych) {
		case '(': goto yy407;
		default: goto yy283;
	}
yy317:
	yych = *++p;
	switch (yych) {
		case 0x00: goto yy283;
		case '\n': goto yy409;
		default: goto yy408;
	}
yy318:
	yych = *++p;
	switch (yych) {
		case ']': goto yy410;
		default: goto yy283;
	}
yy319:
	++p;
#line 216 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_Backtick; break; }
#line 8964 "_gen/frontend/match.re2c.h"
yy320:
	yych = *++p;
	switch (yych) {
		case '&': goto yy411;
		case '|': goto yy412;
		default: goto yy321;
	}
yy321:
#line 246 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_Pipe; break; }
#line 8975 "_gen/frontend/match.re2c.h"
yy322:
	++p;
#line 238 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Tilde; break; }
#line 8980 "_gen/frontend/match.re2c.h"
yy323:
	++p;
#line 262 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_Bang; break; }
#line 8985 "_gen/frontend/match.re2c.h"
yy324:
	++p;
#line 203 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolBinary_GlobNEqual; break; }
#line 8990 "_gen/frontend/match.re2c.h"
yy325:
	++p;
#line 230 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Bang; break; }
#line 8995 "_gen/frontend/match.re2c.h"
yy326:
	++p;
#line 224 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarDoubleQuote; break; }
#line 9000 "_gen/frontend/match.re2c.h"
yy327:
	++p;
#line 232 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Pound; break; }
#line 9005 "_gen/frontend/match.re2c.h"
yy328:
	++p;
#line 233 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Dollar; break; }
#line 9010 "_gen/frontend/match.re2c.h"
yy329:
	++p;
#line 225 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarSingleQuote; break; }
#line 9015 "_gen/frontend/match.re2c.h"
yy330:
	yych = *++p;
	switch (yych) {
		case '(': goto yy413;
		default: goto yy331;
	}
yy331:
#line 217 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarParen; break; }
#line 9025 "_gen/frontend/match.re2c.h"
yy332:
	++p;
#line 234 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Star; break; }
#line 9030 "_gen/frontend/match.re2c.h"
yy333:
	++p;
#line 235 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Hyphen; break; }
#line 9035 "_gen/frontend/match.re2c.h"
yy334:
	++p;
#line 229 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Number; break; }
#line 9040 "_gen/frontend/match.re2c.h"
yy335:
	++p;
#line 236 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_QMark; break; }
#line 9045 "_gen/frontend/match.re2c.h"
yy336:
	++p;
#line 231 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_At; break; }
#line 9050 "_gen/frontend/match.re2c.h"
yy337:
	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 yy337;
		default: goto yy338;
	}
yy338:
#line 228 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_DollarName; break; }
#line 9122 "_gen/frontend/match.re2c.h"
yy339:
	++p;
#line 221 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBracket; break; }
#line 9127 "_gen/frontend/match.re2c.h"
yy340:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '(': goto yy414;
		default: goto yy341;
	}
yy341:
#line 218 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBrace; break; }
#line 9137 "_gen/frontend/match.re2c.h"
yy342:
	++p;
#line 248 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_DAmp; break; }
#line 9142 "_gen/frontend/match.re2c.h"
yy343:
	++p;
#line 259 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_Star; break; }
#line 9147 "_gen/frontend/match.re2c.h"
yy344:
	++p;
#line 260 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_Plus; break; }
#line 9152 "_gen/frontend/match.re2c.h"
yy345:
	++p;
#line 257 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_Comma; break; }
#line 9157 "_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 yy303;
	}
yy347:
#line 199 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_G; break; }
#line 9229 "_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 yy303;
	}
yy349:
#line 190 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_L; break; }
#line 9301 "_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 yy303;
	}
yy351:
#line 200 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_N; break; }
#line 9373 "_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;
		default: goto yy303;
	}
yy353:
#line 198 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_O; break; }
#line 9445 "_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 yy303;
	}
yy355:
#line 180 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_R; break; }
#line 9517 "_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;
		default: goto yy303;
	}
yy357:
#line 194 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_S; break; }
#line 9589 "_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 yy303;
	}
yy359:
#line 181 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_a; break; }
#line 9661 "_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 yy303;
	}
yy361:
#line 182 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_b; break; }
#line 9733 "_gen/frontend/match.re2c.h"
yy362:
	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 yy363;
		default: goto yy303;
	}
yy363:
#line 183 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_c; break; }
#line 9805 "_gen/frontend/match.re2c.h"
yy364:
	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 yy365;
		default: goto yy303;
	}
yy365:
#line 184 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_d; break; }
#line 9877 "_gen/frontend/match.re2c.h"
yy366:
	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 yy367;
		case 'f': goto yy416;
		case 'q': goto yy418;
		default: goto yy303;
	}
yy367:
#line 185 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_e; break; }
#line 9951 "_gen/frontend/match.re2c.h"
yy368:
	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 yy369;
		default: goto yy303;
	}
yy369:
#line 186 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_f; break; }
#line 10023 "_gen/frontend/match.re2c.h"
yy370:
	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 yy371;
		case 'e': goto yy420;
		case 't': goto yy422;
		default: goto yy303;
	}
yy371:
#line 187 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_g; break; }
#line 10097 "_gen/frontend/match.re2c.h"
yy372:
	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 yy373;
		default: goto yy303;
	}
yy373:
#line 188 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_h; break; }
#line 10169 "_gen/frontend/match.re2c.h"
yy374:
	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 yy375;
		default: goto yy303;
	}
yy375:
#line 189 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_k; break; }
#line 10241 "_gen/frontend/match.re2c.h"
yy376:
	yych = *++p;
	switch (yych) {
		case 'e': goto yy424;
		case 't': goto yy426;
		default: goto yy304;
	}
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;
		case 'e': goto yy428;
		case 't': goto yy430;
		default: goto yy303;
	}
yy378:
#line 176 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_n; break; }
#line 10322 "_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;
		case 't': goto yy432;
		default: goto yy303;
	}
yy380:
#line 177 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_o; break; }
#line 10395 "_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 yy303;
	}
yy382:
#line 191 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_p; break; }
#line 10467 "_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 yy303;
	}
yy384:
#line 192 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_r; break; }
#line 10539 "_gen/frontend/match.re2c.h"
yy385:
	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 yy386;
		default: goto yy303;
	}
yy386:
#line 193 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_s; break; }
#line 10611 "_gen/frontend/match.re2c.h"
yy387:
	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 yy388;
		default: goto yy303;
	}
yy388:
#line 178 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_t; break; }
#line 10683 "_gen/frontend/match.re2c.h"
yy389:
	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 yy390;
		default: goto yy303;
	}
yy390:
#line 195 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_u; break; }
#line 10755 "_gen/frontend/match.re2c.h"
yy391:
	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 yy392;
		default: goto yy303;
	}
yy392:
#line 179 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_v; break; }
#line 10827 "_gen/frontend/match.re2c.h"
yy393:
	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 yy394;
		default: goto yy303;
	}
yy394:
#line 196 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_w; break; }
#line 10899 "_gen/frontend/match.re2c.h"
yy395:
	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 yy396;
		default: goto yy303;
	}
yy396:
#line 197 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_x; break; }
#line 10971 "_gen/frontend/match.re2c.h"
yy397:
	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 yy398;
		default: goto yy303;
	}
yy398:
#line 175 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolUnary_z; break; }
#line 11043 "_gen/frontend/match.re2c.h"
yy399:
	++p;
#line 252 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_SemiAmp; break; }
#line 11048 "_gen/frontend/match.re2c.h"
yy400:
	yych = *++p;
	switch (yych) {
		case '&': goto yy434;
		default: goto yy401;
	}
yy401:
#line 251 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_DSemi; break; }
#line 11058 "_gen/frontend/match.re2c.h"
yy402:
	++p;
#line 226 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_ProcSubIn; break; }
#line 11063 "_gen/frontend/match.re2c.h"
yy403:
	++p;
#line 202 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolBinary_GlobDEqual; break; }
#line 11068 "_gen/frontend/match.re2c.h"
yy404:
	++p;
#line 204 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolBinary_EqualTilde; break; }
#line 11073 "_gen/frontend/match.re2c.h"
yy405:
	++p;
#line 227 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_ProcSubOut; break; }
#line 11078 "_gen/frontend/match.re2c.h"
yy406:
	++p;
#line 261 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_QMark; break; }
#line 11083 "_gen/frontend/match.re2c.h"
yy407:
	++p;
#line 258 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_At; break; }
#line 11088 "_gen/frontend/match.re2c.h"
yy408:
	++p;
#line 214 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_EscapedChar; break; }
#line 11093 "_gen/frontend/match.re2c.h"
yy409:
	++p;
#line 215 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_LineCont; break; }
#line 11098 "_gen/frontend/match.re2c.h"
yy410:
	++p;
#line 171 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_DRightBracket; break; }
#line 11103 "_gen/frontend/match.re2c.h"
yy411:
	++p;
#line 247 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_PipeAmp; break; }
#line 11108 "_gen/frontend/match.re2c.h"
yy412:
	++p;
#line 249 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_DPipe; break; }
#line 11113 "_gen/frontend/match.re2c.h"
yy413:
	++p;
#line 220 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarDParen; break; }
#line 11118 "_gen/frontend/match.re2c.h"
yy414:
	yych = *++p;
	switch (yych) {
		case ')': goto yy415;
		default: goto yy436;
	}
yy415:
	p = YYMARKER;
	goto yy341;
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 yy303;
	}
yy417:
#line 205 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolBinary_ef; break; }
#line 11199 "_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 yy303;
	}
yy419:
#line 208 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolBinary_eq; break; }
#line 11271 "_gen/frontend/match.re2c.h"
yy420:
	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 yy421;
		default: goto yy303;
	}
yy421:
#line 211 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolBinary_ge; break; }
#line 11343 "_gen/frontend/match.re2c.h"
yy422:
	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 yy423;
		default: goto yy303;
	}
yy423:
#line 210 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolBinary_gt; break; }
#line 11415 "_gen/frontend/match.re2c.h"
yy424:
	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 yy425;
		default: goto yy303;
	}
yy425:
#line 213 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolBinary_le; break; }
#line 11487 "_gen/frontend/match.re2c.h"
yy426:
	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 yy427;
		default: goto yy303;
	}
yy427:
#line 212 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolBinary_lt; break; }
#line 11559 "_gen/frontend/match.re2c.h"
yy428:
	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 yy429;
		default: goto yy303;
	}
yy429:
#line 209 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolBinary_ne; break; }
#line 11631 "_gen/frontend/match.re2c.h"
yy430:
	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 yy431;
		default: goto yy303;
	}
yy431:
#line 206 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolBinary_nt; break; }
#line 11703 "_gen/frontend/match.re2c.h"
yy432:
	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 yy433;
		default: goto yy303;
	}
yy433:
#line 207 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BoolBinary_ot; break; }
#line 11775 "_gen/frontend/match.re2c.h"
yy434:
	++p;
#line 253 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_DSemiAmp; break; }
#line 11780 "_gen/frontend/match.re2c.h"
yy435:
	yych = *++p;
yy436:
	switch (yych) {
		case 0x00: goto yy415;
		case ')': goto yy437;
		default: goto yy435;
	}
yy437:
	++p;
#line 219 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBraceZsh; break; }
#line 11793 "_gen/frontend/match.re2c.h"
}
#line 264 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__SQ_Raw:
    for (;;) {
      
#line 11803 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy439;
		case '\'': goto yy442;
		default: goto yy440;
	}
yy439:
	++p;
#line 273 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 11816 "_gen/frontend/match.re2c.h"
yy440:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case '\'': goto yy441;
		default: goto yy440;
	}
yy441:
#line 271 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Chars; break; }
#line 11827 "_gen/frontend/match.re2c.h"
yy442:
	++p;
#line 272 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Right_SingleQuote; break; }
#line 11832 "_gen/frontend/match.re2c.h"
}
#line 274 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__DQ:
    for (;;) {
      
#line 11842 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy444;
		case '"': goto yy447;
		case '$': goto yy448;
		case '\\': goto yy450;
		case '`': goto yy452;
		default: goto yy445;
	}
yy444:
	++p;
#line 302 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 11858 "_gen/frontend/match.re2c.h"
yy445:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case '"':
		case '$':
		case '\\':
		case '`': goto yy446;
		default: goto yy445;
	}
yy446:
#line 299 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Chars; break; }
#line 11872 "_gen/frontend/match.re2c.h"
yy447:
	++p;
#line 301 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Right_DoubleQuote; break; }
#line 11877 "_gen/frontend/match.re2c.h"
yy448:
	yych = *++p;
	switch (yych) {
		case '!': goto yy453;
		case '#': goto yy454;
		case '$': goto yy455;
		case '(': goto yy456;
		case '*': goto yy458;
		case '-': goto yy459;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy460;
		case '?': goto yy461;
		case '@': goto yy462;
		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 yy463;
		case '[': goto yy465;
		case '{': goto yy466;
		default: goto yy449;
	}
yy449:
#line 300 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Dollar; break; }
#line 11959 "_gen/frontend/match.re2c.h"
yy450:
	yych = *++p;
	switch (yych) {
		case '\n': goto yy468;
		case '"':
		case '$':
		case '\\':
		case '`': goto yy469;
		default: goto yy451;
	}
yy451:
#line 282 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_BadBackslash; break; }
#line 11973 "_gen/frontend/match.re2c.h"
yy452:
	++p;
#line 284 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_Backtick; break; }
#line 11978 "_gen/frontend/match.re2c.h"
yy453:
	++p;
#line 292 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Bang; break; }
#line 11983 "_gen/frontend/match.re2c.h"
yy454:
	++p;
#line 294 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Pound; break; }
#line 11988 "_gen/frontend/match.re2c.h"
yy455:
	++p;
#line 295 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Dollar; break; }
#line 11993 "_gen/frontend/match.re2c.h"
yy456:
	yych = *++p;
	switch (yych) {
		case '(': goto yy470;
		default: goto yy457;
	}
yy457:
#line 285 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarParen; break; }
#line 12003 "_gen/frontend/match.re2c.h"
yy458:
	++p;
#line 296 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Star; break; }
#line 12008 "_gen/frontend/match.re2c.h"
yy459:
	++p;
#line 297 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Hyphen; break; }
#line 12013 "_gen/frontend/match.re2c.h"
yy460:
	++p;
#line 291 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Number; break; }
#line 12018 "_gen/frontend/match.re2c.h"
yy461:
	++p;
#line 298 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_QMark; break; }
#line 12023 "_gen/frontend/match.re2c.h"
yy462:
	++p;
#line 293 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_At; break; }
#line 12028 "_gen/frontend/match.re2c.h"
yy463:
	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 yy463;
		default: goto yy464;
	}
yy464:
#line 290 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_DollarName; break; }
#line 12100 "_gen/frontend/match.re2c.h"
yy465:
	++p;
#line 289 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBracket; break; }
#line 12105 "_gen/frontend/match.re2c.h"
yy466:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '(': goto yy471;
		default: goto yy467;
	}
yy467:
#line 286 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBrace; break; }
#line 12115 "_gen/frontend/match.re2c.h"
yy468:
	++p;
#line 283 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_LineCont; break; }
#line 12120 "_gen/frontend/match.re2c.h"
yy469:
	++p;
#line 281 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_EscapedChar; break; }
#line 12125 "_gen/frontend/match.re2c.h"
yy470:
	++p;
#line 288 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarDParen; break; }
#line 12130 "_gen/frontend/match.re2c.h"
yy471:
	yych = *++p;
	switch (yych) {
		case ')': goto yy472;
		default: goto yy474;
	}
yy472:
	p = YYMARKER;
	goto yy467;
yy473:
	yych = *++p;
yy474:
	switch (yych) {
		case 0x00: goto yy472;
		case ')': goto yy475;
		default: goto yy473;
	}
yy475:
	++p;
#line 287 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBraceZsh; break; }
#line 12152 "_gen/frontend/match.re2c.h"
}
#line 303 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__SQ_C:
    for (;;) {
      
#line 12162 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy477;
		case '\'': goto yy480;
		case '\\': goto yy481;
		default: goto yy478;
	}
yy477:
	++p;
#line 321 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 12176 "_gen/frontend/match.re2c.h"
yy478:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case '\'':
		case '\\': goto yy479;
		default: goto yy478;
	}
yy479:
#line 319 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Chars; break; }
#line 12188 "_gen/frontend/match.re2c.h"
yy480:
	++p;
#line 320 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Right_SingleQuote; break; }
#line 12193 "_gen/frontend/match.re2c.h"
yy481:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '\n': goto yy483;
		case '"': goto yy484;
		case '\'': goto yy485;
		case '0': goto yy486;
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy488;
		case 'E':
		case '\\':
		case 'a':
		case 'b':
		case 'e':
		case 'f':
		case 'n':
		case 'r':
		case 't':
		case 'v': goto yy490;
		case 'U': goto yy491;
		case 'u': goto yy493;
		case 'x': goto yy494;
		default: goto yy482;
	}
yy482:
#line 314 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_Backslash; break; }
#line 12226 "_gen/frontend/match.re2c.h"
yy483:
	++p;
#line 315 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_Backslash; break; }
#line 12231 "_gen/frontend/match.re2c.h"
yy484:
	++p;
#line 318 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_OneChar; break; }
#line 12236 "_gen/frontend/match.re2c.h"
yy485:
	++p;
#line 317 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_OneChar; break; }
#line 12241 "_gen/frontend/match.re2c.h"
yy486:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy495;
		default: goto yy487;
	}
yy487:
#line 313 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_OneChar; break; }
#line 12258 "_gen/frontend/match.re2c.h"
yy488:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy495;
		default: goto yy489;
	}
yy489:
#line 316 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Octal3; break; }
#line 12275 "_gen/frontend/match.re2c.h"
yy490:
	++p;
	goto yy487;
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 yy496;
		default: goto yy492;
	}
yy492:
	p = YYMARKER;
	goto yy482;
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 yy498;
		default: goto yy492;
	}
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 yy500;
		default: goto yy492;
	}
yy495:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy502;
		default: goto yy489;
	}
yy496:
	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 yy503;
		default: goto yy497;
	}
yy497:
#line 312 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Unicode8; break; }
#line 12406 "_gen/frontend/match.re2c.h"
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 yy504;
		default: goto yy499;
	}
yy499:
#line 311 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Unicode4; break; }
#line 12437 "_gen/frontend/match.re2c.h"
yy500:
	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 yy505;
		default: goto yy501;
	}
yy501:
#line 310 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Hex; break; }
#line 12468 "_gen/frontend/match.re2c.h"
yy502:
	++p;
	goto yy489;
yy503:
	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 yy506;
		default: goto yy497;
	}
yy504:
	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 yy507;
		default: goto yy499;
	}
yy505:
	++p;
	goto yy501;
yy506:
	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 yy508;
		default: goto yy497;
	}
yy507:
	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 yy509;
		default: goto yy499;
	}
yy508:
	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 yy510;
		default: goto yy497;
	}
yy509:
	++p;
	goto yy499;
yy510:
	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 yy511;
		default: goto yy497;
	}
yy511:
	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 yy512;
		default: goto yy497;
	}
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 yy513;
		default: goto yy497;
	}
yy513:
	++p;
	goto yy497;
}
#line 322 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__J8_Str:
    for (;;) {
      
#line 12706 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy515;
		case '\'': goto yy518;
		case '\\': goto yy519;
		default: goto yy516;
	}
yy515:
	++p;
#line 336 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 12720 "_gen/frontend/match.re2c.h"
yy516:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case '\'':
		case '\\': goto yy517;
		default: goto yy516;
	}
yy517:
#line 335 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Chars; break; }
#line 12732 "_gen/frontend/match.re2c.h"
yy518:
	++p;
#line 329 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Right_SingleQuote; break; }
#line 12737 "_gen/frontend/match.re2c.h"
yy519:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '"':
		case '/':
		case '\\':
		case 'b':
		case 'f':
		case 'n':
		case 'r':
		case 't': goto yy521;
		case '\'': goto yy522;
		case 'U':
		case 'u': goto yy523;
		case 'y': goto yy525;
		default: goto yy520;
	}
yy520:
#line 334 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_Backslash; break; }
#line 12758 "_gen/frontend/match.re2c.h"
yy521:
	++p;
#line 330 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_OneChar; break; }
#line 12763 "_gen/frontend/match.re2c.h"
yy522:
	++p;
#line 331 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_OneChar; break; }
#line 12768 "_gen/frontend/match.re2c.h"
yy523:
	yych = *++p;
	switch (yych) {
		case '{': goto yy526;
		default: goto yy524;
	}
yy524:
	p = YYMARKER;
	goto yy520;
yy525:
	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 yy527;
		default: goto yy524;
	}
yy526:
	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 yy528;
		default: goto yy524;
	}
yy527:
	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 yy529;
		default: goto yy524;
	}
yy528:
	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 yy530;
		case '}': goto yy531;
		default: goto yy524;
	}
yy529:
	++p;
#line 332 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_YHex; break; }
#line 12891 "_gen/frontend/match.re2c.h"
yy530:
	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 yy532;
		case '}': goto yy531;
		default: goto yy524;
	}
yy531:
	++p;
#line 333 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_UBraced; break; }
#line 12924 "_gen/frontend/match.re2c.h"
yy532:
	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 yy533;
		case '}': goto yy531;
		default: goto yy524;
	}
yy533:
	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 yy534;
		case '}': goto yy531;
		default: goto yy524;
	}
yy534:
	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 yy535;
		case '}': goto yy531;
		default: goto yy524;
	}
yy535:
	yych = *++p;
	switch (yych) {
		case '}': goto yy531;
		default: goto yy524;
	}
}
#line 337 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__Arith:
    for (;;) {
      
#line 13024 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy537;
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy540;
		case '!': goto yy542;
		case '"': goto yy544;
		case '#': goto yy545;
		case '$': goto yy546;
		case '%': goto yy547;
		case '&': goto yy549;
		case '\'': goto yy551;
		case '(': goto yy552;
		case ')': goto yy553;
		case '*': goto yy554;
		case '+': goto yy556;
		case ',': goto yy558;
		case '-': goto yy559;
		case '/': goto yy561;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy563;
		case ':': goto yy565;
		case ';': goto yy566;
		case '<': goto yy567;
		case '=': goto yy569;
		case '>': goto yy571;
		case '?': goto yy573;
		case '@': goto yy574;
		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 yy575;
		case '[': goto yy577;
		case '\\': goto yy578;
		case ']': goto yy579;
		case '^': goto yy580;
		case '`': goto yy582;
		case '|': goto yy583;
		case '}': goto yy585;
		case '~': goto yy586;
		default: goto yy538;
	}
yy537:
	++p;
#line 413 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 13132 "_gen/frontend/match.re2c.h"
yy538:
	++p;
yy539:
#line 412 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_Tok; break; }
#line 13138 "_gen/frontend/match.re2c.h"
yy540:
	yych = *++p;
	switch (yych) {
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy540;
		default: goto yy541;
	}
yy541:
#line 363 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_Space; break; }
#line 13151 "_gen/frontend/match.re2c.h"
yy542:
	yych = *++p;
	switch (yych) {
		case '=': goto yy587;
		default: goto yy543;
	}
yy543:
#line 393 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Bang; break; }
#line 13161 "_gen/frontend/match.re2c.h"
yy544:
	++p;
#line 359 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DoubleQuote; break; }
#line 13166 "_gen/frontend/match.re2c.h"
yy545:
	++p;
#line 367 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Pound; break; }
#line 13171 "_gen/frontend/match.re2c.h"
yy546:
	yych = *++p;
	switch (yych) {
		case '!': goto yy588;
		case '"': goto yy589;
		case '#': goto yy590;
		case '$': goto yy591;
		case '\'': goto yy592;
		case '(': goto yy593;
		case '*': goto yy595;
		case '-': goto yy596;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy597;
		case '?': goto yy598;
		case '@': goto yy599;
		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 yy600;
		case '[': goto yy602;
		case '{': goto yy603;
		default: goto yy539;
	}
yy547:
	yych = *++p;
	switch (yych) {
		case '=': goto yy605;
		default: goto yy548;
	}
yy548:
#line 374 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Percent; break; }
#line 13261 "_gen/frontend/match.re2c.h"
yy549:
	yych = *++p;
	switch (yych) {
		case '&': goto yy606;
		case '=': goto yy607;
		default: goto yy550;
	}
yy550:
#line 396 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Amp; break; }
#line 13272 "_gen/frontend/match.re2c.h"
yy551:
	++p;
#line 360 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_SingleQuote; break; }
#line 13277 "_gen/frontend/match.re2c.h"
yy552:
	++p;
#line 378 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_LParen; break; }
#line 13282 "_gen/frontend/match.re2c.h"
yy553:
	++p;
#line 379 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_RParen; break; }
#line 13287 "_gen/frontend/match.re2c.h"
yy554:
	yych = *++p;
	switch (yych) {
		case '*': goto yy608;
		case '=': goto yy609;
		default: goto yy555;
	}
yy555:
#line 372 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Star; break; }
#line 13298 "_gen/frontend/match.re2c.h"
yy556:
	yych = *++p;
	switch (yych) {
		case '+': goto yy610;
		case '=': goto yy611;
		default: goto yy557;
	}
yy557:
#line 370 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Plus; break; }
#line 13309 "_gen/frontend/match.re2c.h"
yy558:
	++p;
#line 369 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Comma; break; }
#line 13314 "_gen/frontend/match.re2c.h"
yy559:
	yych = *++p;
	switch (yych) {
		case '-': goto yy612;
		case '=': goto yy613;
		default: goto yy560;
	}
yy560:
#line 371 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Minus; break; }
#line 13325 "_gen/frontend/match.re2c.h"
yy561:
	yych = *++p;
	switch (yych) {
		case '=': goto yy614;
		default: goto yy562;
	}
yy562:
#line 373 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Slash; break; }
#line 13335 "_gen/frontend/match.re2c.h"
yy563:
	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 yy563;
		default: goto yy564;
	}
yy564:
#line 365 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Digits; break; }
#line 13354 "_gen/frontend/match.re2c.h"
yy565:
	++p;
#line 384 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Colon; break; }
#line 13359 "_gen/frontend/match.re2c.h"
yy566:
	++p;
#line 368 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Semi; break; }
#line 13364 "_gen/frontend/match.re2c.h"
yy567:
	yych = *++p;
	switch (yych) {
		case '<': goto yy615;
		case '=': goto yy617;
		default: goto yy568;
	}
yy568:
#line 386 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Less; break; }
#line 13375 "_gen/frontend/match.re2c.h"
yy569:
	yych = *++p;
	switch (yych) {
		case '=': goto yy618;
		default: goto yy570;
	}
yy570:
#line 400 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Equal; break; }
#line 13385 "_gen/frontend/match.re2c.h"
yy571:
	yych = *++p;
	switch (yych) {
		case '=': goto yy619;
		case '>': goto yy620;
		default: goto yy572;
	}
yy572:
#line 388 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Great; break; }
#line 13396 "_gen/frontend/match.re2c.h"
yy573:
	++p;
#line 383 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_QMark; break; }
#line 13401 "_gen/frontend/match.re2c.h"
yy574:
	++p;
#line 366 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_At; break; }
#line 13406 "_gen/frontend/match.re2c.h"
yy575:
	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 yy575;
		default: goto yy576;
	}
yy576:
#line 364 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_ArithVarLike; break; }
#line 13478 "_gen/frontend/match.re2c.h"
yy577:
	++p;
#line 380 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_LBracket; break; }
#line 13483 "_gen/frontend/match.re2c.h"
yy578:
	yych = *++p;
	switch (yych) {
		case '\n': goto yy622;
		default: goto yy539;
	}
yy579:
	++p;
#line 381 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_RBracket; break; }
#line 13494 "_gen/frontend/match.re2c.h"
yy580:
	yych = *++p;
	switch (yych) {
		case '=': goto yy623;
		default: goto yy581;
	}
yy581:
#line 398 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Caret; break; }
#line 13504 "_gen/frontend/match.re2c.h"
yy582:
	++p;
#line 344 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_Backtick; break; }
#line 13509 "_gen/frontend/match.re2c.h"
yy583:
	yych = *++p;
	switch (yych) {
		case '=': goto yy624;
		case '|': goto yy625;
		default: goto yy584;
	}
yy584:
#line 397 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Pipe; break; }
#line 13520 "_gen/frontend/match.re2c.h"
yy585:
	++p;
#line 382 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_RBrace; break; }
#line 13525 "_gen/frontend/match.re2c.h"
yy586:
	++p;
#line 399 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Tilde; break; }
#line 13530 "_gen/frontend/match.re2c.h"
yy587:
	++p;
#line 390 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_NEqual; break; }
#line 13535 "_gen/frontend/match.re2c.h"
yy588:
	++p;
#line 352 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Bang; break; }
#line 13540 "_gen/frontend/match.re2c.h"
yy589:
	++p;
#line 361 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarDoubleQuote; break; }
#line 13545 "_gen/frontend/match.re2c.h"
yy590:
	++p;
#line 354 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Pound; break; }
#line 13550 "_gen/frontend/match.re2c.h"
yy591:
	++p;
#line 355 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Dollar; break; }
#line 13555 "_gen/frontend/match.re2c.h"
yy592:
	++p;
#line 362 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarSingleQuote; break; }
#line 13560 "_gen/frontend/match.re2c.h"
yy593:
	yych = *++p;
	switch (yych) {
		case '(': goto yy626;
		default: goto yy594;
	}
yy594:
#line 345 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarParen; break; }
#line 13570 "_gen/frontend/match.re2c.h"
yy595:
	++p;
#line 356 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Star; break; }
#line 13575 "_gen/frontend/match.re2c.h"
yy596:
	++p;
#line 357 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Hyphen; break; }
#line 13580 "_gen/frontend/match.re2c.h"
yy597:
	++p;
#line 351 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Number; break; }
#line 13585 "_gen/frontend/match.re2c.h"
yy598:
	++p;
#line 358 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_QMark; break; }
#line 13590 "_gen/frontend/match.re2c.h"
yy599:
	++p;
#line 353 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_At; break; }
#line 13595 "_gen/frontend/match.re2c.h"
yy600:
	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 yy600;
		default: goto yy601;
	}
yy601:
#line 350 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_DollarName; break; }
#line 13667 "_gen/frontend/match.re2c.h"
yy602:
	++p;
#line 349 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBracket; break; }
#line 13672 "_gen/frontend/match.re2c.h"
yy603:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '(': goto yy627;
		default: goto yy604;
	}
yy604:
#line 346 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBrace; break; }
#line 13682 "_gen/frontend/match.re2c.h"
yy605:
	++p;
#line 405 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_PercentEqual; break; }
#line 13687 "_gen/frontend/match.re2c.h"
yy606:
	++p;
#line 391 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_DAmp; break; }
#line 13692 "_gen/frontend/match.re2c.h"
yy607:
	++p;
#line 408 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_AmpEqual; break; }
#line 13697 "_gen/frontend/match.re2c.h"
yy608:
	++p;
#line 377 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_DStar; break; }
#line 13702 "_gen/frontend/match.re2c.h"
yy609:
	++p;
#line 403 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_StarEqual; break; }
#line 13707 "_gen/frontend/match.re2c.h"
yy610:
	++p;
#line 375 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_DPlus; break; }
#line 13712 "_gen/frontend/match.re2c.h"
yy611:
	++p;
#line 401 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_PlusEqual; break; }
#line 13717 "_gen/frontend/match.re2c.h"
yy612:
	++p;
#line 376 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_DMinus; break; }
#line 13722 "_gen/frontend/match.re2c.h"
yy613:
	++p;
#line 402 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_MinusEqual; break; }
#line 13727 "_gen/frontend/match.re2c.h"
yy614:
	++p;
#line 404 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_SlashEqual; break; }
#line 13732 "_gen/frontend/match.re2c.h"
yy615:
	yych = *++p;
	switch (yych) {
		case '=': goto yy629;
		default: goto yy616;
	}
yy616:
#line 395 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_DLess; break; }
#line 13742 "_gen/frontend/match.re2c.h"
yy617:
	++p;
#line 385 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_LessEqual; break; }
#line 13747 "_gen/frontend/match.re2c.h"
yy618:
	++p;
#line 389 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_DEqual; break; }
#line 13752 "_gen/frontend/match.re2c.h"
yy619:
	++p;
#line 387 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_GreatEqual; break; }
#line 13757 "_gen/frontend/match.re2c.h"
yy620:
	yych = *++p;
	switch (yych) {
		case '=': goto yy630;
		default: goto yy621;
	}
yy621:
#line 394 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_DGreat; break; }
#line 13767 "_gen/frontend/match.re2c.h"
yy622:
	++p;
#line 411 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_LineCont; break; }
#line 13772 "_gen/frontend/match.re2c.h"
yy623:
	++p;
#line 409 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_CaretEqual; break; }
#line 13777 "_gen/frontend/match.re2c.h"
yy624:
	++p;
#line 410 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_PipeEqual; break; }
#line 13782 "_gen/frontend/match.re2c.h"
yy625:
	++p;
#line 392 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_DPipe; break; }
#line 13787 "_gen/frontend/match.re2c.h"
yy626:
	++p;
#line 348 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarDParen; break; }
#line 13792 "_gen/frontend/match.re2c.h"
yy627:
	yych = *++p;
	switch (yych) {
		case ')': goto yy628;
		default: goto yy632;
	}
yy628:
	p = YYMARKER;
	goto yy604;
yy629:
	++p;
#line 407 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_DLessEqual; break; }
#line 13806 "_gen/frontend/match.re2c.h"
yy630:
	++p;
#line 406 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_DGreatEqual; break; }
#line 13811 "_gen/frontend/match.re2c.h"
yy631:
	yych = *++p;
yy632:
	switch (yych) {
		case 0x00: goto yy628;
		case ')': goto yy633;
		default: goto yy631;
	}
yy633:
	++p;
#line 347 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBraceZsh; break; }
#line 13824 "_gen/frontend/match.re2c.h"
}
#line 414 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__ExtGlob:
    for (;;) {
      
#line 13834 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy635;
		case '!': goto yy639;
		case '"': goto yy641;
		case '$': goto yy642;
		case '\'': goto yy643;
		case ')': goto yy644;
		case '*': goto yy645;
		case '+': goto yy646;
		case ',': goto yy647;
		case '?': goto yy648;
		case '@': goto yy649;
		case '\\': goto yy650;
		case '`': goto yy651;
		case '|': goto yy652;
		default: goto yy636;
	}
yy635:
	++p;
#line 452 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 13859 "_gen/frontend/match.re2c.h"
yy636:
	yych = *++p;
yy637:
	switch (yych) {
		case 0x00:
		case '!':
		case '"':
		case '$':
		case '\'':
		case ')':
		case '*':
		case '+':
		case '?':
		case '@':
		case '\\':
		case '`':
		case '|': goto yy638;
		default: goto yy636;
	}
yy638:
#line 448 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Chars; break; }
#line 13882 "_gen/frontend/match.re2c.h"
yy639:
	yych = *++p;
	switch (yych) {
		case '(': goto yy653;
		default: goto yy640;
	}
yy640:
#line 451 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Other; break; }
#line 13892 "_gen/frontend/match.re2c.h"
yy641:
	++p;
#line 429 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DoubleQuote; break; }
#line 13897 "_gen/frontend/match.re2c.h"
yy642:
	yych = *++p;
	switch (yych) {
		case '!': goto yy654;
		case '"': goto yy655;
		case '#': goto yy656;
		case '$': goto yy657;
		case '\'': goto yy658;
		case '(': goto yy659;
		case '*': goto yy661;
		case '-': goto yy662;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy663;
		case '?': goto yy664;
		case '@': goto yy665;
		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 yy666;
		case '[': goto yy668;
		case '{': goto yy669;
		default: goto yy640;
	}
yy643:
	++p;
#line 430 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_SingleQuote; break; }
#line 13982 "_gen/frontend/match.re2c.h"
yy644:
	++p;
#line 450 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_RParen; break; }
#line 13987 "_gen/frontend/match.re2c.h"
yy645:
	yych = *++p;
	switch (yych) {
		case '(': goto yy671;
		default: goto yy640;
	}
yy646:
	yych = *++p;
	switch (yych) {
		case '(': goto yy672;
		default: goto yy640;
	}
yy647:
	yych = *++p;
	switch (yych) {
		case '(': goto yy673;
		default: goto yy637;
	}
yy648:
	yych = *++p;
	switch (yych) {
		case '(': goto yy675;
		default: goto yy640;
	}
yy649:
	yych = *++p;
	switch (yych) {
		case '(': goto yy676;
		default: goto yy640;
	}
yy650:
	yych = *++p;
	switch (yych) {
		case 0x00: goto yy640;
		case '\n': goto yy678;
		default: goto yy677;
	}
yy651:
	++p;
#line 423 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_Backtick; break; }
#line 14029 "_gen/frontend/match.re2c.h"
yy652:
	++p;
#line 449 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_Pipe; break; }
#line 14034 "_gen/frontend/match.re2c.h"
yy653:
	++p;
#line 447 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_Bang; break; }
#line 14039 "_gen/frontend/match.re2c.h"
yy654:
	++p;
#line 435 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Bang; break; }
#line 14044 "_gen/frontend/match.re2c.h"
yy655:
	++p;
#line 431 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarDoubleQuote; break; }
#line 14049 "_gen/frontend/match.re2c.h"
yy656:
	++p;
#line 437 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Pound; break; }
#line 14054 "_gen/frontend/match.re2c.h"
yy657:
	++p;
#line 438 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Dollar; break; }
#line 14059 "_gen/frontend/match.re2c.h"
yy658:
	++p;
#line 432 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarSingleQuote; break; }
#line 14064 "_gen/frontend/match.re2c.h"
yy659:
	yych = *++p;
	switch (yych) {
		case '(': goto yy679;
		default: goto yy660;
	}
yy660:
#line 424 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarParen; break; }
#line 14074 "_gen/frontend/match.re2c.h"
yy661:
	++p;
#line 439 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Star; break; }
#line 14079 "_gen/frontend/match.re2c.h"
yy662:
	++p;
#line 440 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Hyphen; break; }
#line 14084 "_gen/frontend/match.re2c.h"
yy663:
	++p;
#line 434 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Number; break; }
#line 14089 "_gen/frontend/match.re2c.h"
yy664:
	++p;
#line 441 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_QMark; break; }
#line 14094 "_gen/frontend/match.re2c.h"
yy665:
	++p;
#line 436 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_At; break; }
#line 14099 "_gen/frontend/match.re2c.h"
yy666:
	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 yy666;
		default: goto yy667;
	}
yy667:
#line 433 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_DollarName; break; }
#line 14171 "_gen/frontend/match.re2c.h"
yy668:
	++p;
#line 428 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBracket; break; }
#line 14176 "_gen/frontend/match.re2c.h"
yy669:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '(': goto yy680;
		default: goto yy670;
	}
yy670:
#line 425 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBrace; break; }
#line 14186 "_gen/frontend/match.re2c.h"
yy671:
	++p;
#line 444 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_Star; break; }
#line 14191 "_gen/frontend/match.re2c.h"
yy672:
	++p;
#line 445 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_Plus; break; }
#line 14196 "_gen/frontend/match.re2c.h"
yy673:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case '!':
		case '"':
		case '$':
		case '\'':
		case ')':
		case '*':
		case '+':
		case '?':
		case '@':
		case '\\':
		case '`':
		case '|': goto yy674;
		default: goto yy636;
	}
yy674:
#line 442 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_Comma; break; }
#line 14218 "_gen/frontend/match.re2c.h"
yy675:
	++p;
#line 446 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_QMark; break; }
#line 14223 "_gen/frontend/match.re2c.h"
yy676:
	++p;
#line 443 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_At; break; }
#line 14228 "_gen/frontend/match.re2c.h"
yy677:
	++p;
#line 421 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_EscapedChar; break; }
#line 14233 "_gen/frontend/match.re2c.h"
yy678:
	++p;
#line 422 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_LineCont; break; }
#line 14238 "_gen/frontend/match.re2c.h"
yy679:
	++p;
#line 427 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarDParen; break; }
#line 14243 "_gen/frontend/match.re2c.h"
yy680:
	yych = *++p;
	switch (yych) {
		case ')': goto yy681;
		default: goto yy683;
	}
yy681:
	p = YYMARKER;
	goto yy670;
yy682:
	yych = *++p;
yy683:
	switch (yych) {
		case 0x00: goto yy681;
		case ')': goto yy684;
		default: goto yy682;
	}
yy684:
	++p;
#line 426 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBraceZsh; break; }
#line 14265 "_gen/frontend/match.re2c.h"
}
#line 453 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__VSub_1:
    for (;;) {
      
#line 14275 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy686;
		case '\n': goto yy689;
		case '!': goto yy690;
		case '#': goto yy691;
		case '$': goto yy692;
		case '*': goto yy693;
		case '-': goto yy694;
		case '.': goto yy695;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy696;
		case '?': goto yy698;
		case '@': goto yy699;
		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 yy700;
		case '\\': goto yy702;
		case '}': goto yy703;
		default: goto yy687;
	}
yy686:
	++p;
#line 474 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 14361 "_gen/frontend/match.re2c.h"
yy687:
	++p;
yy688:
#line 473 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_Tok; break; }
#line 14367 "_gen/frontend/match.re2c.h"
yy689:
	++p;
#line 472 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_Tok; break; }
#line 14372 "_gen/frontend/match.re2c.h"
yy690:
	++p;
#line 462 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Bang; break; }
#line 14377 "_gen/frontend/match.re2c.h"
yy691:
	++p;
#line 464 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Pound; break; }
#line 14382 "_gen/frontend/match.re2c.h"
yy692:
	++p;
#line 465 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Dollar; break; }
#line 14387 "_gen/frontend/match.re2c.h"
yy693:
	++p;
#line 466 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Star; break; }
#line 14392 "_gen/frontend/match.re2c.h"
yy694:
	++p;
#line 467 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Hyphen; break; }
#line 14397 "_gen/frontend/match.re2c.h"
yy695:
	++p;
#line 469 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Dot; break; }
#line 14402 "_gen/frontend/match.re2c.h"
yy696:
	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 yy696;
		default: goto yy697;
	}
yy697:
#line 461 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Number; break; }
#line 14421 "_gen/frontend/match.re2c.h"
yy698:
	++p;
#line 468 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_QMark; break; }
#line 14426 "_gen/frontend/match.re2c.h"
yy699:
	++p;
#line 463 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_At; break; }
#line 14431 "_gen/frontend/match.re2c.h"
yy700:
	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 yy700;
		default: goto yy701;
	}
yy701:
#line 460 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Name; break; }
#line 14503 "_gen/frontend/match.re2c.h"
yy702:
	yych = *++p;
	switch (yych) {
		case '\n': goto yy704;
		default: goto yy688;
	}
yy703:
	++p;
#line 470 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Right_DollarBrace; break; }
#line 14514 "_gen/frontend/match.re2c.h"
yy704:
	++p;
#line 471 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_LineCont; break; }
#line 14519 "_gen/frontend/match.re2c.h"
}
#line 475 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__VSub_2:
    for (;;) {
      
#line 14529 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy706;
		case '\n': goto yy709;
		case ' ': goto yy710;
		case '#': goto yy711;
		case '%': goto yy713;
		case '*': goto yy715;
		case '+': goto yy716;
		case ',': goto yy717;
		case '-': goto yy719;
		case '/': goto yy720;
		case ':': goto yy721;
		case '=': goto yy723;
		case '?': goto yy724;
		case '@': goto yy725;
		case '[': goto yy727;
		case '\\': goto yy728;
		case ']': goto yy729;
		case '^': goto yy730;
		case '|': goto yy732;
		case '}': goto yy733;
		default: goto yy707;
	}
yy706:
	++p;
#line 515 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 14560 "_gen/frontend/match.re2c.h"
yy707:
	++p;
yy708:
#line 514 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_Tok; break; }
#line 14566 "_gen/frontend/match.re2c.h"
yy709:
	++p;
#line 513 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_Tok; break; }
#line 14571 "_gen/frontend/match.re2c.h"
yy710:
	++p;
#line 496 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOpYsh_Space; break; }
#line 14576 "_gen/frontend/match.re2c.h"
yy711:
	yych = *++p;
	switch (yych) {
		case '#': goto yy734;
		default: goto yy712;
	}
yy712:
#line 499 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp1_Pound; break; }
#line 14586 "_gen/frontend/match.re2c.h"
yy713:
	yych = *++p;
	switch (yych) {
		case '%': goto yy735;
		default: goto yy714;
	}
yy714:
#line 497 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp1_Percent; break; }
#line 14596 "_gen/frontend/match.re2c.h"
yy715:
	++p;
#line 510 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp3_Star; break; }
#line 14601 "_gen/frontend/match.re2c.h"
yy716:
	++p;
#line 489 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VTest_Plus; break; }
#line 14606 "_gen/frontend/match.re2c.h"
yy717:
	yych = *++p;
	switch (yych) {
		case ',': goto yy736;
		default: goto yy718;
	}
yy718:
#line 503 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp1_Comma; break; }
#line 14616 "_gen/frontend/match.re2c.h"
yy719:
	++p;
#line 483 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VTest_Hyphen; break; }
#line 14621 "_gen/frontend/match.re2c.h"
yy720:
	++p;
#line 505 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp2_Slash; break; }
#line 14626 "_gen/frontend/match.re2c.h"
yy721:
	yych = *++p;
	switch (yych) {
		case '+': goto yy737;
		case '-': goto yy738;
		case '=': goto yy739;
		case '?': goto yy740;
		default: goto yy722;
	}
yy722:
#line 506 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp2_Colon; break; }
#line 14639 "_gen/frontend/match.re2c.h"
yy723:
	++p;
#line 485 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VTest_Equals; break; }
#line 14644 "_gen/frontend/match.re2c.h"
yy724:
	++p;
#line 487 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VTest_QMark; break; }
#line 14649 "_gen/frontend/match.re2c.h"
yy725:
	yych = *++p;
	switch (yych) {
		case 'A': goto yy741;
		case 'E': goto yy742;
		case 'P': goto yy743;
		case 'Q': goto yy744;
		case 'a': goto yy745;
		default: goto yy726;
	}
yy726:
#line 509 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp3_At; break; }
#line 14663 "_gen/frontend/match.re2c.h"
yy727:
	++p;
#line 507 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp2_LBracket; break; }
#line 14668 "_gen/frontend/match.re2c.h"
yy728:
	yych = *++p;
	switch (yych) {
		case '\n': goto yy746;
		default: goto yy708;
	}
yy729:
	++p;
#line 508 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp2_RBracket; break; }
#line 14679 "_gen/frontend/match.re2c.h"
yy730:
	yych = *++p;
	switch (yych) {
		case '^': goto yy747;
		default: goto yy731;
	}
yy731:
#line 501 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp1_Caret; break; }
#line 14689 "_gen/frontend/match.re2c.h"
yy732:
	++p;
#line 495 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOpYsh_Pipe; break; }
#line 14694 "_gen/frontend/match.re2c.h"
yy733:
	++p;
#line 511 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Right_DollarBrace; break; }
#line 14699 "_gen/frontend/match.re2c.h"
yy734:
	++p;
#line 500 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp1_DPound; break; }
#line 14704 "_gen/frontend/match.re2c.h"
yy735:
	++p;
#line 498 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp1_DPercent; break; }
#line 14709 "_gen/frontend/match.re2c.h"
yy736:
	++p;
#line 504 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp1_DComma; break; }
#line 14714 "_gen/frontend/match.re2c.h"
yy737:
	++p;
#line 488 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VTest_ColonPlus; break; }
#line 14719 "_gen/frontend/match.re2c.h"
yy738:
	++p;
#line 482 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VTest_ColonHyphen; break; }
#line 14724 "_gen/frontend/match.re2c.h"
yy739:
	++p;
#line 484 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VTest_ColonEquals; break; }
#line 14729 "_gen/frontend/match.re2c.h"
yy740:
	++p;
#line 486 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VTest_ColonQMark; break; }
#line 14734 "_gen/frontend/match.re2c.h"
yy741:
	++p;
#line 493 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp0_A; break; }
#line 14739 "_gen/frontend/match.re2c.h"
yy742:
	++p;
#line 491 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp0_E; break; }
#line 14744 "_gen/frontend/match.re2c.h"
yy743:
	++p;
#line 492 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp0_P; break; }
#line 14749 "_gen/frontend/match.re2c.h"
yy744:
	++p;
#line 490 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp0_Q; break; }
#line 14754 "_gen/frontend/match.re2c.h"
yy745:
	++p;
#line 494 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp0_a; break; }
#line 14759 "_gen/frontend/match.re2c.h"
yy746:
	++p;
#line 512 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_LineCont; break; }
#line 14764 "_gen/frontend/match.re2c.h"
yy747:
	++p;
#line 502 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VOp1_DCaret; break; }
#line 14769 "_gen/frontend/match.re2c.h"
}
#line 516 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__VSub_ArgUnquoted:
    for (;;) {
      
#line 14779 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy749;
		case '!': goto yy753;
		case '"': goto yy755;
		case '#': goto yy756;
		case '$': goto yy757;
		case '%': goto yy759;
		case '\'': goto yy760;
		case '*': goto yy761;
		case '+': goto yy762;
		case ',': goto yy763;
		case '/': goto yy764;
		case '<': goto yy765;
		case '>': goto yy766;
		case '?': goto yy767;
		case '@': goto yy768;
		case '\\': goto yy769;
		case '`': goto yy770;
		case '}': goto yy771;
		case '~': goto yy772;
		default: goto yy750;
	}
yy749:
	++p;
#line 560 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 14809 "_gen/frontend/match.re2c.h"
yy750:
	yych = *++p;
yy751:
	switch (yych) {
		case 0x00:
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '\'':
		case '*':
		case '+':
		case '/':
		case '<':
		case '>':
		case '?':
		case '@':
		case '\\':
		case '`':
		case '}':
		case '~': goto yy752;
		default: goto yy750;
	}
yy752:
#line 558 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Chars; break; }
#line 14837 "_gen/frontend/match.re2c.h"
yy753:
	yych = *++p;
	switch (yych) {
		case '(': goto yy773;
		default: goto yy754;
	}
yy754:
#line 559 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Other; break; }
#line 14847 "_gen/frontend/match.re2c.h"
yy755:
	++p;
#line 536 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DoubleQuote; break; }
#line 14852 "_gen/frontend/match.re2c.h"
yy756:
	++p;
#line 526 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Pound; break; }
#line 14857 "_gen/frontend/match.re2c.h"
yy757:
	yych = *++p;
	switch (yych) {
		case '!': goto yy774;
		case '"': goto yy775;
		case '#': goto yy776;
		case '$': goto yy777;
		case '\'': goto yy778;
		case '(': goto yy779;
		case '*': goto yy781;
		case '-': goto yy782;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy783;
		case '?': goto yy784;
		case '@': goto yy785;
		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 yy786;
		case '[': goto yy788;
		case '{': goto yy789;
		default: goto yy758;
	}
yy758:
#line 529 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Dollar; break; }
#line 14941 "_gen/frontend/match.re2c.h"
yy759:
	++p;
#line 527 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Percent; break; }
#line 14946 "_gen/frontend/match.re2c.h"
yy760:
	++p;
#line 537 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_SingleQuote; break; }
#line 14951 "_gen/frontend/match.re2c.h"
yy761:
	yych = *++p;
	switch (yych) {
		case '(': goto yy791;
		default: goto yy754;
	}
yy762:
	yych = *++p;
	switch (yych) {
		case '(': goto yy792;
		default: goto yy754;
	}
yy763:
	yych = *++p;
	switch (yych) {
		case '(': goto yy793;
		default: goto yy751;
	}
yy764:
	++p;
#line 525 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Slash; break; }
#line 14974 "_gen/frontend/match.re2c.h"
yy765:
	yych = *++p;
	switch (yych) {
		case '(': goto yy795;
		default: goto yy754;
	}
yy766:
	yych = *++p;
	switch (yych) {
		case '(': goto yy796;
		default: goto yy754;
	}
yy767:
	yych = *++p;
	switch (yych) {
		case '(': goto yy797;
		default: goto yy754;
	}
yy768:
	yych = *++p;
	switch (yych) {
		case '(': goto yy798;
		default: goto yy754;
	}
yy769:
	yych = *++p;
	switch (yych) {
		case 0x00: goto yy754;
		case '\n': goto yy800;
		default: goto yy799;
	}
yy770:
	++p;
#line 530 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_Backtick; break; }
#line 15010 "_gen/frontend/match.re2c.h"
yy771:
	++p;
#line 528 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Right_DollarBrace; break; }
#line 15015 "_gen/frontend/match.re2c.h"
yy772:
	++p;
#line 557 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Tilde; break; }
#line 15020 "_gen/frontend/match.re2c.h"
yy773:
	++p;
#line 556 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_Bang; break; }
#line 15025 "_gen/frontend/match.re2c.h"
yy774:
	++p;
#line 544 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Bang; break; }
#line 15030 "_gen/frontend/match.re2c.h"
yy775:
	++p;
#line 538 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarDoubleQuote; break; }
#line 15035 "_gen/frontend/match.re2c.h"
yy776:
	++p;
#line 546 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Pound; break; }
#line 15040 "_gen/frontend/match.re2c.h"
yy777:
	++p;
#line 547 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Dollar; break; }
#line 15045 "_gen/frontend/match.re2c.h"
yy778:
	++p;
#line 539 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarSingleQuote; break; }
#line 15050 "_gen/frontend/match.re2c.h"
yy779:
	yych = *++p;
	switch (yych) {
		case '(': goto yy801;
		default: goto yy780;
	}
yy780:
#line 531 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarParen; break; }
#line 15060 "_gen/frontend/match.re2c.h"
yy781:
	++p;
#line 548 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Star; break; }
#line 15065 "_gen/frontend/match.re2c.h"
yy782:
	++p;
#line 549 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Hyphen; break; }
#line 15070 "_gen/frontend/match.re2c.h"
yy783:
	++p;
#line 543 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Number; break; }
#line 15075 "_gen/frontend/match.re2c.h"
yy784:
	++p;
#line 550 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_QMark; break; }
#line 15080 "_gen/frontend/match.re2c.h"
yy785:
	++p;
#line 545 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_At; break; }
#line 15085 "_gen/frontend/match.re2c.h"
yy786:
	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 yy786;
		default: goto yy787;
	}
yy787:
#line 542 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_DollarName; break; }
#line 15157 "_gen/frontend/match.re2c.h"
yy788:
	++p;
#line 535 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBracket; break; }
#line 15162 "_gen/frontend/match.re2c.h"
yy789:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '(': goto yy802;
		default: goto yy790;
	}
yy790:
#line 532 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBrace; break; }
#line 15172 "_gen/frontend/match.re2c.h"
yy791:
	++p;
#line 553 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_Star; break; }
#line 15177 "_gen/frontend/match.re2c.h"
yy792:
	++p;
#line 554 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_Plus; break; }
#line 15182 "_gen/frontend/match.re2c.h"
yy793:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case '!':
		case '"':
		case '#':
		case '$':
		case '%':
		case '\'':
		case '*':
		case '+':
		case '/':
		case '<':
		case '>':
		case '?':
		case '@':
		case '\\':
		case '`':
		case '}':
		case '~': goto yy794;
		default: goto yy750;
	}
yy794:
#line 551 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_Comma; break; }
#line 15209 "_gen/frontend/match.re2c.h"
yy795:
	++p;
#line 540 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_ProcSubIn; break; }
#line 15214 "_gen/frontend/match.re2c.h"
yy796:
	++p;
#line 541 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_ProcSubOut; break; }
#line 15219 "_gen/frontend/match.re2c.h"
yy797:
	++p;
#line 555 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_QMark; break; }
#line 15224 "_gen/frontend/match.re2c.h"
yy798:
	++p;
#line 552 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__ExtGlob_At; break; }
#line 15229 "_gen/frontend/match.re2c.h"
yy799:
	++p;
#line 523 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_EscapedChar; break; }
#line 15234 "_gen/frontend/match.re2c.h"
yy800:
	++p;
#line 524 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_LineCont; break; }
#line 15239 "_gen/frontend/match.re2c.h"
yy801:
	++p;
#line 534 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarDParen; break; }
#line 15244 "_gen/frontend/match.re2c.h"
yy802:
	yych = *++p;
	switch (yych) {
		case ')': goto yy803;
		default: goto yy805;
	}
yy803:
	p = YYMARKER;
	goto yy790;
yy804:
	yych = *++p;
yy805:
	switch (yych) {
		case 0x00: goto yy803;
		case ')': goto yy806;
		default: goto yy804;
	}
yy806:
	++p;
#line 533 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBraceZsh; break; }
#line 15266 "_gen/frontend/match.re2c.h"
}
#line 561 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__VSub_ArgDQ:
    for (;;) {
      
#line 15276 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy808;
		case '"': goto yy811;
		case '#': goto yy812;
		case '$': goto yy813;
		case '%': goto yy815;
		case '/': goto yy816;
		case '\\': goto yy817;
		case '`': goto yy819;
		case '}': goto yy820;
		default: goto yy809;
	}
yy808:
	++p;
#line 594 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 15296 "_gen/frontend/match.re2c.h"
yy809:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case '"':
		case '#':
		case '$':
		case '%':
		case '/':
		case '\\':
		case '`':
		case '}': goto yy810;
		default: goto yy809;
	}
yy810:
#line 591 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Chars; break; }
#line 15314 "_gen/frontend/match.re2c.h"
yy811:
	++p;
#line 592 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DoubleQuote; break; }
#line 15319 "_gen/frontend/match.re2c.h"
yy812:
	++p;
#line 571 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Pound; break; }
#line 15324 "_gen/frontend/match.re2c.h"
yy813:
	yych = *++p;
	switch (yych) {
		case '!': goto yy821;
		case '#': goto yy822;
		case '$': goto yy823;
		case '\'': goto yy824;
		case '(': goto yy825;
		case '*': goto yy827;
		case '-': goto yy828;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy829;
		case '?': goto yy830;
		case '@': goto yy831;
		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 yy832;
		case '[': goto yy834;
		case '{': goto yy835;
		default: goto yy814;
	}
yy814:
#line 574 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Dollar; break; }
#line 15407 "_gen/frontend/match.re2c.h"
yy815:
	++p;
#line 572 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Percent; break; }
#line 15412 "_gen/frontend/match.re2c.h"
yy816:
	++p;
#line 570 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Slash; break; }
#line 15417 "_gen/frontend/match.re2c.h"
yy817:
	yych = *++p;
	switch (yych) {
		case '"':
		case '$':
		case '\\':
		case '`': goto yy837;
		case '}': goto yy838;
		default: goto yy818;
	}
yy818:
#line 569 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_BadBackslash; break; }
#line 15431 "_gen/frontend/match.re2c.h"
yy819:
	++p;
#line 575 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_Backtick; break; }
#line 15436 "_gen/frontend/match.re2c.h"
yy820:
	++p;
#line 573 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Right_DollarBrace; break; }
#line 15441 "_gen/frontend/match.re2c.h"
yy821:
	++p;
#line 583 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Bang; break; }
#line 15446 "_gen/frontend/match.re2c.h"
yy822:
	++p;
#line 585 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Pound; break; }
#line 15451 "_gen/frontend/match.re2c.h"
yy823:
	++p;
#line 586 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Dollar; break; }
#line 15456 "_gen/frontend/match.re2c.h"
yy824:
	++p;
#line 593 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarSingleQuote; break; }
#line 15461 "_gen/frontend/match.re2c.h"
yy825:
	yych = *++p;
	switch (yych) {
		case '(': goto yy839;
		default: goto yy826;
	}
yy826:
#line 576 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarParen; break; }
#line 15471 "_gen/frontend/match.re2c.h"
yy827:
	++p;
#line 587 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Star; break; }
#line 15476 "_gen/frontend/match.re2c.h"
yy828:
	++p;
#line 588 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Hyphen; break; }
#line 15481 "_gen/frontend/match.re2c.h"
yy829:
	++p;
#line 582 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Number; break; }
#line 15486 "_gen/frontend/match.re2c.h"
yy830:
	++p;
#line 589 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_QMark; break; }
#line 15491 "_gen/frontend/match.re2c.h"
yy831:
	++p;
#line 584 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_At; break; }
#line 15496 "_gen/frontend/match.re2c.h"
yy832:
	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 yy832;
		default: goto yy833;
	}
yy833:
#line 581 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_DollarName; break; }
#line 15568 "_gen/frontend/match.re2c.h"
yy834:
	++p;
#line 580 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBracket; break; }
#line 15573 "_gen/frontend/match.re2c.h"
yy835:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '(': goto yy840;
		default: goto yy836;
	}
yy836:
#line 577 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBrace; break; }
#line 15583 "_gen/frontend/match.re2c.h"
yy837:
	++p;
#line 568 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_EscapedChar; break; }
#line 15588 "_gen/frontend/match.re2c.h"
yy838:
	++p;
#line 590 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_EscapedChar; break; }
#line 15593 "_gen/frontend/match.re2c.h"
yy839:
	++p;
#line 579 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarDParen; break; }
#line 15598 "_gen/frontend/match.re2c.h"
yy840:
	yych = *++p;
	switch (yych) {
		case ')': goto yy841;
		default: goto yy843;
	}
yy841:
	p = YYMARKER;
	goto yy836;
yy842:
	yych = *++p;
yy843:
	switch (yych) {
		case 0x00: goto yy841;
		case ')': goto yy844;
		default: goto yy842;
	}
yy844:
	++p;
#line 578 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBraceZsh; break; }
#line 15620 "_gen/frontend/match.re2c.h"
}
#line 595 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__VSub_Zsh:
    for (;;) {
      
#line 15630 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy846;
		case '"': goto yy849;
		case '$': goto yy850;
		case '\'': goto yy851;
		case '<': goto yy852;
		case '>': goto yy853;
		case '\\': goto yy854;
		case '`': goto yy855;
		case '}': goto yy856;
		default: goto yy847;
	}
yy846:
	++p;
#line 618 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 15650 "_gen/frontend/match.re2c.h"
yy847:
	++p;
yy848:
#line 617 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Other; break; }
#line 15656 "_gen/frontend/match.re2c.h"
yy849:
	++p;
#line 610 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DoubleQuote; break; }
#line 15661 "_gen/frontend/match.re2c.h"
yy850:
	yych = *++p;
	switch (yych) {
		case '"': goto yy857;
		case '\'': goto yy858;
		case '(': goto yy859;
		case '[': goto yy861;
		case '{': goto yy862;
		default: goto yy848;
	}
yy851:
	++p;
#line 611 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_SingleQuote; break; }
#line 15676 "_gen/frontend/match.re2c.h"
yy852:
	yych = *++p;
	switch (yych) {
		case '(': goto yy864;
		default: goto yy848;
	}
yy853:
	yych = *++p;
	switch (yych) {
		case '(': goto yy865;
		default: goto yy848;
	}
yy854:
	yych = *++p;
	switch (yych) {
		case 0x00: goto yy848;
		case '\n': goto yy867;
		default: goto yy866;
	}
yy855:
	++p;
#line 604 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_Backtick; break; }
#line 15700 "_gen/frontend/match.re2c.h"
yy856:
	++p;
#line 616 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Right_DollarBrace; break; }
#line 15705 "_gen/frontend/match.re2c.h"
yy857:
	++p;
#line 612 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarDoubleQuote; break; }
#line 15710 "_gen/frontend/match.re2c.h"
yy858:
	++p;
#line 613 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarSingleQuote; break; }
#line 15715 "_gen/frontend/match.re2c.h"
yy859:
	yych = *++p;
	switch (yych) {
		case '(': goto yy868;
		default: goto yy860;
	}
yy860:
#line 605 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarParen; break; }
#line 15725 "_gen/frontend/match.re2c.h"
yy861:
	++p;
#line 609 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBracket; break; }
#line 15730 "_gen/frontend/match.re2c.h"
yy862:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '(': goto yy869;
		default: goto yy863;
	}
yy863:
#line 606 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBrace; break; }
#line 15740 "_gen/frontend/match.re2c.h"
yy864:
	++p;
#line 614 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_ProcSubIn; break; }
#line 15745 "_gen/frontend/match.re2c.h"
yy865:
	++p;
#line 615 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_ProcSubOut; break; }
#line 15750 "_gen/frontend/match.re2c.h"
yy866:
	++p;
#line 602 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_EscapedChar; break; }
#line 15755 "_gen/frontend/match.re2c.h"
yy867:
	++p;
#line 603 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_LineCont; break; }
#line 15760 "_gen/frontend/match.re2c.h"
yy868:
	++p;
#line 608 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarDParen; break; }
#line 15765 "_gen/frontend/match.re2c.h"
yy869:
	yych = *++p;
	switch (yych) {
		case ')': goto yy870;
		default: goto yy872;
	}
yy870:
	p = YYMARKER;
	goto yy863;
yy871:
	yych = *++p;
yy872:
	switch (yych) {
		case 0x00: goto yy870;
		case ')': goto yy873;
		default: goto yy871;
	}
yy873:
	++p;
#line 607 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBraceZsh; break; }
#line 15787 "_gen/frontend/match.re2c.h"
}
#line 619 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__BashRegex:
    for (;;) {
      
#line 15797 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy875;
		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 yy876;
		case '\t':
		case ' ': goto yy878;
		case '\n': goto yy880;
		case '"': goto yy881;
		case '$': goto yy882;
		case '&': goto yy883;
		case '\'': goto yy884;
		case '(': goto yy885;
		case ')': goto yy886;
		case '/': goto yy889;
		case ';': goto yy890;
		case '<': goto yy891;
		case '>': goto yy892;
		case '\\': goto yy893;
		case '`': goto yy894;
		case '~': goto yy895;
		default: goto yy887;
	}
yy875:
	++p;
#line 659 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 15871 "_gen/frontend/match.re2c.h"
yy876:
	++p;
yy877:
#line 656 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Other; break; }
#line 15877 "_gen/frontend/match.re2c.h"
yy878:
	yych = *++p;
	switch (yych) {
		case '\t':
		case ' ': goto yy878;
		default: goto yy879;
	}
yy879:
#line 648 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__WS_Space; break; }
#line 15888 "_gen/frontend/match.re2c.h"
yy880:
	++p;
#line 651 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BashRegex_AllowedInParens; break; }
#line 15893 "_gen/frontend/match.re2c.h"
yy881:
	++p;
#line 632 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DoubleQuote; break; }
#line 15898 "_gen/frontend/match.re2c.h"
yy882:
	yych = *++p;
	switch (yych) {
		case '!': goto yy896;
		case '"': goto yy897;
		case '#': goto yy898;
		case '$': goto yy899;
		case '\'': goto yy900;
		case '(': goto yy901;
		case '*': goto yy903;
		case '-': goto yy904;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy905;
		case '?': goto yy906;
		case '@': goto yy907;
		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 yy908;
		case '[': goto yy910;
		case '{': goto yy911;
		default: goto yy877;
	}
yy883:
	++p;
#line 652 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BashRegex_AllowedInParens; break; }
#line 15983 "_gen/frontend/match.re2c.h"
yy884:
	++p;
#line 633 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_SingleQuote; break; }
#line 15988 "_gen/frontend/match.re2c.h"
yy885:
	++p;
#line 649 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BashRegex_LParen; break; }
#line 15993 "_gen/frontend/match.re2c.h"
yy886:
	++p;
#line 650 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_RParen; break; }
#line 15998 "_gen/frontend/match.re2c.h"
yy887:
	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 yy888;
		default: goto yy887;
	}
yy888:
#line 645 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Chars; break; }
#line 16070 "_gen/frontend/match.re2c.h"
yy889:
	++p;
#line 647 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Slash; break; }
#line 16075 "_gen/frontend/match.re2c.h"
yy890:
	++p;
#line 653 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BashRegex_AllowedInParens; break; }
#line 16080 "_gen/frontend/match.re2c.h"
yy891:
	++p;
#line 655 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BashRegex_AllowedInParens; break; }
#line 16085 "_gen/frontend/match.re2c.h"
yy892:
	++p;
#line 654 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__BashRegex_AllowedInParens; break; }
#line 16090 "_gen/frontend/match.re2c.h"
yy893:
	yych = *++p;
	switch (yych) {
		case 0x00: goto yy877;
		case '\n': goto yy914;
		default: goto yy913;
	}
yy894:
	++p;
#line 626 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_Backtick; break; }
#line 16102 "_gen/frontend/match.re2c.h"
yy895:
	++p;
#line 646 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Tilde; break; }
#line 16107 "_gen/frontend/match.re2c.h"
yy896:
	++p;
#line 638 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Bang; break; }
#line 16112 "_gen/frontend/match.re2c.h"
yy897:
	++p;
#line 634 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarDoubleQuote; break; }
#line 16117 "_gen/frontend/match.re2c.h"
yy898:
	++p;
#line 640 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Pound; break; }
#line 16122 "_gen/frontend/match.re2c.h"
yy899:
	++p;
#line 641 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Dollar; break; }
#line 16127 "_gen/frontend/match.re2c.h"
yy900:
	++p;
#line 635 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarSingleQuote; break; }
#line 16132 "_gen/frontend/match.re2c.h"
yy901:
	yych = *++p;
	switch (yych) {
		case '(': goto yy915;
		default: goto yy902;
	}
yy902:
#line 627 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarParen; break; }
#line 16142 "_gen/frontend/match.re2c.h"
yy903:
	++p;
#line 642 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Star; break; }
#line 16147 "_gen/frontend/match.re2c.h"
yy904:
	++p;
#line 643 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Hyphen; break; }
#line 16152 "_gen/frontend/match.re2c.h"
yy905:
	++p;
#line 637 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Number; break; }
#line 16157 "_gen/frontend/match.re2c.h"
yy906:
	++p;
#line 644 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_QMark; break; }
#line 16162 "_gen/frontend/match.re2c.h"
yy907:
	++p;
#line 639 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_At; break; }
#line 16167 "_gen/frontend/match.re2c.h"
yy908:
	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 yy908;
		default: goto yy909;
	}
yy909:
#line 636 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_DollarName; break; }
#line 16239 "_gen/frontend/match.re2c.h"
yy910:
	++p;
#line 631 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBracket; break; }
#line 16244 "_gen/frontend/match.re2c.h"
yy911:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '(': goto yy916;
		default: goto yy912;
	}
yy912:
#line 628 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBrace; break; }
#line 16254 "_gen/frontend/match.re2c.h"
yy913:
	++p;
#line 657 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_EscapedChar; break; }
#line 16259 "_gen/frontend/match.re2c.h"
yy914:
	++p;
#line 658 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_LineCont; break; }
#line 16264 "_gen/frontend/match.re2c.h"
yy915:
	++p;
#line 630 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarDParen; break; }
#line 16269 "_gen/frontend/match.re2c.h"
yy916:
	yych = *++p;
	switch (yych) {
		case ')': goto yy917;
		default: goto yy919;
	}
yy917:
	p = YYMARKER;
	goto yy912;
yy918:
	yych = *++p;
yy919:
	switch (yych) {
		case 0x00: goto yy917;
		case ')': goto yy920;
		default: goto yy918;
	}
yy920:
	++p;
#line 629 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBraceZsh; break; }
#line 16291 "_gen/frontend/match.re2c.h"
}
#line 660 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__FuncParens:
    for (;;) {
      
#line 16301 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy922;
		case '\t':
		case ' ': goto yy925;
		case '(': goto yy926;
		default: goto yy923;
	}
yy922:
	++p;
#line 669 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 16316 "_gen/frontend/match.re2c.h"
yy923:
	++p;
yy924:
#line 668 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_Tok; break; }
#line 16322 "_gen/frontend/match.re2c.h"
yy925:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '\t':
		case ' ': goto yy927;
		case '(': goto yy929;
		default: goto yy924;
	}
yy926:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '\t':
		case ' ': goto yy929;
		case ')': goto yy930;
		default: goto yy924;
	}
yy927:
	yych = *++p;
	switch (yych) {
		case '\t':
		case ' ': goto yy927;
		case '(': goto yy929;
		default: goto yy928;
	}
yy928:
	p = YYMARKER;
	goto yy924;
yy929:
	yych = *++p;
	switch (yych) {
		case '\t':
		case ' ': goto yy929;
		case ')': goto yy930;
		default: goto yy928;
	}
yy930:
	++p;
#line 667 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__LookAhead_FuncParens; break; }
#line 16362 "_gen/frontend/match.re2c.h"
}
#line 670 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__PrintfOuter:
    for (;;) {
      
#line 16372 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy932;
		case '%': goto yy935;
		case '\\': goto yy937;
		default: goto yy933;
	}
yy932:
	++p;
#line 686 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 16386 "_gen/frontend/match.re2c.h"
yy933:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case '%':
		case '\\': goto yy934;
		default: goto yy933;
	}
yy934:
#line 683 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Chars; break; }
#line 16398 "_gen/frontend/match.re2c.h"
yy935:
	yych = *++p;
	switch (yych) {
		case '%': goto yy939;
		default: goto yy936;
	}
yy936:
#line 685 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Format_Percent; break; }
#line 16408 "_gen/frontend/match.re2c.h"
yy937:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '0': goto yy940;
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy942;
		case 'E':
		case '\\':
		case 'a':
		case 'b':
		case 'e':
		case 'f':
		case 'n':
		case 'r':
		case 't':
		case 'v': goto yy944;
		case 'U': goto yy945;
		case 'u': goto yy947;
		case 'x': goto yy948;
		default: goto yy938;
	}
yy938:
#line 681 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_Backslash; break; }
#line 16438 "_gen/frontend/match.re2c.h"
yy939:
	++p;
#line 684 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Format_EscapedPercent; break; }
#line 16443 "_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': goto yy949;
		default: goto yy941;
	}
yy941:
#line 680 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_OneChar; break; }
#line 16460 "_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': goto yy949;
		default: goto yy943;
	}
yy943:
#line 682 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Octal3; break; }
#line 16477 "_gen/frontend/match.re2c.h"
yy944:
	++p;
	goto yy941;
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 yy950;
		default: goto yy946;
	}
yy946:
	p = YYMARKER;
	goto yy938;
yy947:
	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 yy946;
	}
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 yy954;
		default: goto yy946;
	}
yy949:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy956;
		default: goto yy943;
	}
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 yy957;
		default: goto yy951;
	}
yy951:
#line 679 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Unicode8; break; }
#line 16608 "_gen/frontend/match.re2c.h"
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 yy958;
		default: goto yy953;
	}
yy953:
#line 678 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Unicode4; break; }
#line 16639 "_gen/frontend/match.re2c.h"
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 yy959;
		default: goto yy955;
	}
yy955:
#line 677 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Hex; break; }
#line 16670 "_gen/frontend/match.re2c.h"
yy956:
	++p;
	goto yy943;
yy957:
	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 yy960;
		default: goto yy951;
	}
yy958:
	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 yy961;
		default: goto yy953;
	}
yy959:
	++p;
	goto yy955;
yy960:
	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 yy962;
		default: goto yy951;
	}
yy961:
	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 yy963;
		default: goto yy953;
	}
yy962:
	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 yy964;
		default: goto yy951;
	}
yy963:
	++p;
	goto yy953;
yy964:
	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 yy965;
		default: goto yy951;
	}
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':
		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 yy966;
		default: goto yy951;
	}
yy966:
	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 yy967;
		default: goto yy951;
	}
yy967:
	++p;
	goto yy951;
}
#line 687 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__PrintfPercent:
    for (;;) {
      
#line 16908 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy969;
		case ' ':
		case '#':
		case '+':
		case '-': goto yy972;
		case '(': goto yy973;
		case '*': goto yy974;
		case '.': goto yy975;
		case '0': goto yy976;
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy977;
		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 yy979;
		default: goto yy970;
	}
yy969:
	++p;
#line 702 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 16953 "_gen/frontend/match.re2c.h"
yy970:
	++p;
yy971:
#line 701 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_Tok; break; }
#line 16959 "_gen/frontend/match.re2c.h"
yy972:
	++p;
#line 694 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Format_Flag; break; }
#line 16964 "_gen/frontend/match.re2c.h"
yy973:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case 0x00:
		case '(': goto yy971;
		default: goto yy981;
	}
yy974:
	++p;
#line 697 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Format_Star; break; }
#line 16976 "_gen/frontend/match.re2c.h"
yy975:
	++p;
#line 698 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Format_Dot; break; }
#line 16981 "_gen/frontend/match.re2c.h"
yy976:
	++p;
#line 695 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Format_Zero; break; }
#line 16986 "_gen/frontend/match.re2c.h"
yy977:
	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 yy977;
		default: goto yy978;
	}
yy978:
#line 696 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Format_Num; break; }
#line 17005 "_gen/frontend/match.re2c.h"
yy979:
	++p;
#line 699 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Format_Type; break; }
#line 17010 "_gen/frontend/match.re2c.h"
yy980:
	yych = *++p;
yy981:
	switch (yych) {
		case 0x00:
		case '(': goto yy982;
		case ')': goto yy983;
		default: goto yy980;
	}
yy982:
	p = YYMARKER;
	goto yy971;
yy983:
	yych = *++p;
	switch (yych) {
		case 'T': goto yy984;
		default: goto yy982;
	}
yy984:
	++p;
#line 700 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Format_Time; break; }
#line 17033 "_gen/frontend/match.re2c.h"
}
#line 703 "_gen/_tmp/match.re2c-input.h"

    }
    break;

  case lex_mode__Expr:
    for (;;) {
      
#line 17043 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	unsigned int yyaccept = 0;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy986;
		case '\t':
		case '\r':
		case ' ': goto yy989;
		case '\n': goto yy991;
		case '!': goto yy992;
		case '"': goto yy994;
		case '#': goto yy996;
		case '$': goto yy998;
		case '%': goto yy1000;
		case '&': goto yy1002;
		case '\'': goto yy1004;
		case '(': goto yy1006;
		case ')': goto yy1007;
		case '*': goto yy1008;
		case '+': goto yy1010;
		case ',': goto yy1012;
		case '-': goto yy1013;
		case '.': goto yy1015;
		case '/': goto yy1017;
		case '0': goto yy1019;
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1021;
		case ':': goto yy1023;
		case ';': goto yy1025;
		case '<': goto yy1026;
		case '=': goto yy1028;
		case '>': goto yy1030;
		case '?': goto yy1032;
		case '@': goto yy1033;
		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 'p':
		case 'q':
		case 's':
		case 'v':
		case 'w':
		case 'x':
		case 'y':
		case 'z': goto yy1035;
		case '[': goto yy1038;
		case '\\': goto yy1039;
		case ']': goto yy1040;
		case '^': goto yy1041;
		case 'a': goto yy1043;
		case 'b': goto yy1044;
		case 'c': goto yy1045;
		case 'e': goto yy1046;
		case 'f': goto yy1047;
		case 'i': goto yy1048;
		case 'j': goto yy1049;
		case 'n': goto yy1050;
		case 'o': goto yy1051;
		case 'r': goto yy1052;
		case 't': goto yy1053;
		case 'u': goto yy1054;
		case '{': goto yy1055;
		case '|': goto yy1056;
		case '}': goto yy1058;
		case '~': goto yy1059;
		default: goto yy987;
	}
yy986:
	++p;
#line 836 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 17153 "_gen/frontend/match.re2c.h"
yy987:
	++p;
yy988:
#line 835 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_Tok; break; }
#line 17159 "_gen/frontend/match.re2c.h"
yy989:
	yych = *++p;
	switch (yych) {
		case '\t':
		case '\r':
		case ' ': goto yy989;
		default: goto yy990;
	}
yy990:
#line 833 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_Space; break; }
#line 17171 "_gen/frontend/match.re2c.h"
yy991:
	++p;
#line 831 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_Newline; break; }
#line 17176 "_gen/frontend/match.re2c.h"
yy992:
	yyaccept = 0;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '=': goto yy1061;
		case '~': goto yy1063;
		default: goto yy993;
	}
yy993:
#line 818 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Bang; break; }
#line 17188 "_gen/frontend/match.re2c.h"
yy994:
	yyaccept = 1;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '"': goto yy1065;
		default: goto yy995;
	}
yy995:
#line 722 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DoubleQuote; break; }
#line 17199 "_gen/frontend/match.re2c.h"
yy996:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case '\n': goto yy997;
		default: goto yy996;
	}
yy997:
#line 832 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_Comment; break; }
#line 17210 "_gen/frontend/match.re2c.h"
yy998:
	yych = *++p;
	switch (yych) {
		case '!': goto yy1066;
		case '"': goto yy1067;
		case '#': goto yy1069;
		case '$': goto yy1070;
		case '\'': goto yy1071;
		case '(': goto yy1072;
		case '*': goto yy1073;
		case '-': goto yy1074;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1075;
		case '?': goto yy1076;
		case '@': goto yy1077;
		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 yy1078;
		case '[': goto yy1080;
		case '{': goto yy1081;
		default: goto yy999;
	}
yy999:
#line 824 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Dollar; break; }
#line 17294 "_gen/frontend/match.re2c.h"
yy1000:
	yych = *++p;
	switch (yych) {
		case '(': goto yy1082;
		case '=': goto yy1083;
		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 yy1084;
		case '[': goto yy1086;
		case '{': goto yy1087;
		default: goto yy1001;
	}
yy1001:
#line 787 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Percent; break; }
#line 17360 "_gen/frontend/match.re2c.h"
yy1002:
	yych = *++p;
	switch (yych) {
		case '=': goto yy1088;
		default: goto yy1003;
	}
yy1003:
#line 797 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Amp; break; }
#line 17370 "_gen/frontend/match.re2c.h"
yy1004:
	yyaccept = 2;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '\'': goto yy1089;
		default: goto yy1005;
	}
yy1005:
#line 725 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_SingleQuote; break; }
#line 17381 "_gen/frontend/match.re2c.h"
yy1006:
	++p;
#line 748 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_LParen; break; }
#line 17386 "_gen/frontend/match.re2c.h"
yy1007:
	++p;
#line 749 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_RParen; break; }
#line 17391 "_gen/frontend/match.re2c.h"
yy1008:
	yych = *++p;
	switch (yych) {
		case '*': goto yy1090;
		case '=': goto yy1092;
		default: goto yy1009;
	}
yy1009:
#line 784 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Star; break; }
#line 17402 "_gen/frontend/match.re2c.h"
yy1010:
	yych = *++p;
	switch (yych) {
		case '+': goto yy1093;
		case '=': goto yy1094;
		default: goto yy1011;
	}
yy1011:
#line 782 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Plus; break; }
#line 17413 "_gen/frontend/match.re2c.h"
yy1012:
	++p;
#line 779 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Comma; break; }
#line 17418 "_gen/frontend/match.re2c.h"
yy1013:
	yych = *++p;
	switch (yych) {
		case '=': goto yy1095;
		case '>': goto yy1096;
		default: goto yy1014;
	}
yy1014:
#line 783 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Minus; break; }
#line 17429 "_gen/frontend/match.re2c.h"
yy1015:
	yych = *++p;
	switch (yych) {
		case '.': goto yy1097;
		default: goto yy1016;
	}
yy1016:
#line 821 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Dot; break; }
#line 17439 "_gen/frontend/match.re2c.h"
yy1017:
	yych = *++p;
	switch (yych) {
		case '/': goto yy1099;
		case '=': goto yy1101;
		default: goto yy1018;
	}
yy1018:
#line 786 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Slash; break; }
#line 17450 "_gen/frontend/match.re2c.h"
yy1019:
	yyaccept = 3;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case 'B':
		case 'b': goto yy1103;
		case 'O':
		case 'o': goto yy1105;
		case 'X':
		case 'x': goto yy1106;
		default: goto yy1022;
	}
yy1020:
#line 772 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_DecInt; break; }
#line 17466 "_gen/frontend/match.re2c.h"
yy1021:
	yyaccept = 3;
	yych = *(YYMARKER = ++p);
yy1022:
	switch (yych) {
		case '.': goto yy1102;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1021;
		case 'E':
		case 'e': goto yy1104;
		case '_': goto yy1107;
		default: goto yy1020;
	}
yy1023:
	yych = *++p;
	switch (yych) {
		case '|': goto yy1108;
		default: goto yy1024;
	}
yy1024:
#line 780 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Colon; break; }
#line 17497 "_gen/frontend/match.re2c.h"
yy1025:
	++p;
#line 747 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_Semi; break; }
#line 17502 "_gen/frontend/match.re2c.h"
yy1026:
	yych = *++p;
	switch (yych) {
		case '-': goto yy1109;
		case '<': goto yy1110;
		case '=': goto yy1112;
		default: goto yy1027;
	}
yy1027:
#line 790 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Less; break; }
#line 17514 "_gen/frontend/match.re2c.h"
yy1028:
	yych = *++p;
	switch (yych) {
		case '=': goto yy1113;
		case '>': goto yy1115;
		default: goto yy1029;
	}
yy1029:
#line 805 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Equal; break; }
#line 17525 "_gen/frontend/match.re2c.h"
yy1030:
	yych = *++p;
	switch (yych) {
		case '=': goto yy1116;
		case '>': goto yy1117;
		default: goto yy1031;
	}
yy1031:
#line 791 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Great; break; }
#line 17536 "_gen/frontend/match.re2c.h"
yy1032:
	++p;
#line 781 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_QMark; break; }
#line 17541 "_gen/frontend/match.re2c.h"
yy1033:
	yych = *++p;
	switch (yych) {
		case '(': goto yy1119;
		case '@': goto yy1120;
		case '[': goto yy1121;
		case '{': goto yy1122;
		default: goto yy1034;
	}
yy1034:
#line 829 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_At; break; }
#line 17554 "_gen/frontend/match.re2c.h"
yy1035:
	yych = *++p;
yy1036:
	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 yy1035;
		default: goto yy1037;
	}
yy1037:
#line 777 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Name; break; }
#line 17627 "_gen/frontend/match.re2c.h"
yy1038:
	++p;
#line 750 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_LBracket; break; }
#line 17632 "_gen/frontend/match.re2c.h"
yy1039:
	yyaccept = 4;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '\n': goto yy1123;
		case '"':
		case '\'':
		case '\\':
		case 'n':
		case 'r':
		case 't': goto yy1124;
		case 'U':
		case 'u': goto yy1125;
		case 'x': goto yy1126;
		case 'y': goto yy1127;
		default: goto yy988;
	}
yy1040:
	++p;
#line 751 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_RBracket; break; }
#line 17654 "_gen/frontend/match.re2c.h"
yy1041:
	yych = *++p;
	switch (yych) {
		case '"': goto yy1128;
		case '(': goto yy1129;
		case '=': goto yy1130;
		case '[': goto yy1131;
		case '{': goto yy1132;
		default: goto yy1042;
	}
yy1042:
#line 785 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Caret; break; }
#line 17668 "_gen/frontend/match.re2c.h"
yy1043:
	yych = *++p;
	switch (yych) {
		case 'n': goto yy1133;
		case 's': goto yy1134;
		default: goto yy1036;
	}
yy1044:
	yych = *++p;
	switch (yych) {
		case '\'': goto yy1136;
		default: goto yy1036;
	}
yy1045:
	yych = *++p;
	switch (yych) {
		case 'a': goto yy1138;
		default: goto yy1036;
	}
yy1046:
	yych = *++p;
	switch (yych) {
		case 'l': goto yy1139;
		default: goto yy1036;
	}
yy1047:
	yych = *++p;
	switch (yych) {
		case 'a': goto yy1140;
		case 'o': goto yy1141;
		case 'u': goto yy1142;
		default: goto yy1036;
	}
yy1048:
	yych = *++p;
	switch (yych) {
		case 'f': goto yy1143;
		case 'n': goto yy1145;
		case 's': goto yy1147;
		default: goto yy1036;
	}
yy1049:
	yych = *++p;
	switch (yych) {
		case '"': goto yy1149;
		default: goto yy1036;
	}
yy1050:
	yych = *++p;
	switch (yych) {
		case 'o': goto yy1150;
		case 'u': goto yy1151;
		default: goto yy1036;
	}
yy1051:
	yych = *++p;
	switch (yych) {
		case 'r': goto yy1152;
		default: goto yy1036;
	}
yy1052:
	yych = *++p;
	switch (yych) {
		case '\'': goto yy1154;
		default: goto yy1036;
	}
yy1053:
	yych = *++p;
	switch (yych) {
		case 'r': goto yy1156;
		default: goto yy1036;
	}
yy1054:
	yych = *++p;
	switch (yych) {
		case '\'': goto yy1157;
		default: goto yy1036;
	}
yy1055:
	++p;
#line 752 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_LBrace; break; }
#line 17751 "_gen/frontend/match.re2c.h"
yy1056:
	yych = *++p;
	switch (yych) {
		case '=': goto yy1159;
		default: goto yy1057;
	}
yy1057:
#line 798 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Pipe; break; }
#line 17761 "_gen/frontend/match.re2c.h"
yy1058:
	++p;
#line 753 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Op_RBrace; break; }
#line 17766 "_gen/frontend/match.re2c.h"
yy1059:
	yyaccept = 5;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '=': goto yy1160;
		case '~': goto yy1161;
		default: goto yy1060;
	}
yy1060:
#line 801 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_Tilde; break; }
#line 17778 "_gen/frontend/match.re2c.h"
yy1061:
	yych = *++p;
	switch (yych) {
		case '=': goto yy1162;
		default: goto yy1062;
	}
yy1062:
	p = YYMARKER;
	switch (yyaccept) {
		case 0: goto yy993;
		case 1: goto yy995;
		case 2: goto yy1005;
		case 3: goto yy1020;
		case 4: goto yy988;
		case 5: goto yy1060;
		case 6: goto yy1068;
		case 7: goto yy1137;
		case 8: goto yy1155;
		case 9: goto yy1158;
		case 10: goto yy1172;
		case 11: goto yy1174;
		case 12: goto yy1179;
		default: goto yy1182;
	}
yy1063:
	yych = *++p;
	switch (yych) {
		case '~': goto yy1163;
		default: goto yy1064;
	}
yy1064:
#line 802 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_NotTilde; break; }
#line 17812 "_gen/frontend/match.re2c.h"
yy1065:
	yych = *++p;
	switch (yych) {
		case '"': goto yy1164;
		default: goto yy1062;
	}
yy1066:
	++p;
#line 712 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Bang; break; }
#line 17823 "_gen/frontend/match.re2c.h"
yy1067:
	yyaccept = 6;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '"': goto yy1165;
		default: goto yy1068;
	}
yy1068:
#line 723 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarDoubleQuote; break; }
#line 17834 "_gen/frontend/match.re2c.h"
yy1069:
	++p;
#line 714 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Pound; break; }
#line 17839 "_gen/frontend/match.re2c.h"
yy1070:
	++p;
#line 715 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Dollar; break; }
#line 17844 "_gen/frontend/match.re2c.h"
yy1071:
	++p;
#line 729 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarSingleQuote; break; }
#line 17849 "_gen/frontend/match.re2c.h"
yy1072:
	++p;
#line 719 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarParen; break; }
#line 17854 "_gen/frontend/match.re2c.h"
yy1073:
	++p;
#line 716 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Star; break; }
#line 17859 "_gen/frontend/match.re2c.h"
yy1074:
	++p;
#line 717 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Hyphen; break; }
#line 17864 "_gen/frontend/match.re2c.h"
yy1075:
	++p;
#line 711 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_Number; break; }
#line 17869 "_gen/frontend/match.re2c.h"
yy1076:
	++p;
#line 718 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_QMark; break; }
#line 17874 "_gen/frontend/match.re2c.h"
yy1077:
	++p;
#line 713 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_At; break; }
#line 17879 "_gen/frontend/match.re2c.h"
yy1078:
	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 yy1078;
		default: goto yy1079;
	}
yy1079:
#line 710 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__VSub_DollarName; break; }
#line 17951 "_gen/frontend/match.re2c.h"
yy1080:
	++p;
#line 721 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBracket; break; }
#line 17956 "_gen/frontend/match.re2c.h"
yy1081:
	++p;
#line 720 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarBrace; break; }
#line 17961 "_gen/frontend/match.re2c.h"
yy1082:
	++p;
#line 742 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_PercentParen; break; }
#line 17966 "_gen/frontend/match.re2c.h"
yy1083:
	++p;
#line 810 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_PercentEqual; break; }
#line 17971 "_gen/frontend/match.re2c.h"
yy1084:
	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 yy1084;
		default: goto yy1085;
	}
yy1085:
#line 778 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Symbol; break; }
#line 18043 "_gen/frontend/match.re2c.h"
yy1086:
	++p;
#line 743 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Reserved; break; }
#line 18048 "_gen/frontend/match.re2c.h"
yy1087:
	++p;
#line 744 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Reserved; break; }
#line 18053 "_gen/frontend/match.re2c.h"
yy1088:
	++p;
#line 813 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_AmpEqual; break; }
#line 18058 "_gen/frontend/match.re2c.h"
yy1089:
	yych = *++p;
	switch (yych) {
		case '\'': goto yy1166;
		default: goto yy1062;
	}
yy1090:
	yych = *++p;
	switch (yych) {
		case '=': goto yy1167;
		default: goto yy1091;
	}
yy1091:
#line 788 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_DStar; break; }
#line 18074 "_gen/frontend/match.re2c.h"
yy1092:
	++p;
#line 808 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_StarEqual; break; }
#line 18079 "_gen/frontend/match.re2c.h"
yy1093:
	++p;
#line 789 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_DPlus; break; }
#line 18084 "_gen/frontend/match.re2c.h"
yy1094:
	++p;
#line 806 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_PlusEqual; break; }
#line 18089 "_gen/frontend/match.re2c.h"
yy1095:
	++p;
#line 807 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_MinusEqual; break; }
#line 18094 "_gen/frontend/match.re2c.h"
yy1096:
	++p;
#line 823 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_RArrow; break; }
#line 18099 "_gen/frontend/match.re2c.h"
yy1097:
	yych = *++p;
	switch (yych) {
		case '.': goto yy1168;
		default: goto yy1098;
	}
yy1098:
#line 822 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_DDot; break; }
#line 18109 "_gen/frontend/match.re2c.h"
yy1099:
	yych = *++p;
	switch (yych) {
		case '/': goto yy1169;
		case '=': goto yy1170;
		default: goto yy1100;
	}
yy1100:
#line 819 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_DSlash; break; }
#line 18120 "_gen/frontend/match.re2c.h"
yy1101:
	++p;
#line 809 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_SlashEqual; break; }
#line 18125 "_gen/frontend/match.re2c.h"
yy1102:
	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 yy1062;
	}
yy1103:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1': goto yy1173;
		case '_': goto yy1175;
		default: goto yy1062;
	}
yy1104:
	yych = *++p;
	switch (yych) {
		case '+':
		case '-': goto yy1176;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1177;
		default: goto yy1062;
	}
yy1105:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy1178;
		case '_': goto yy1180;
		default: goto yy1062;
	}
yy1106:
	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 yy1181;
		case '_': goto yy1183;
		default: goto yy1062;
	}
yy1107:
	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 yy1021;
		default: goto yy1062;
	}
yy1108:
	++p;
#line 741 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_ColonPipe; break; }
#line 18227 "_gen/frontend/match.re2c.h"
yy1109:
	++p;
#line 825 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Reserved; break; }
#line 18232 "_gen/frontend/match.re2c.h"
yy1110:
	yych = *++p;
	switch (yych) {
		case '=': goto yy1184;
		default: goto yy1111;
	}
yy1111:
#line 800 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_DLess; break; }
#line 18242 "_gen/frontend/match.re2c.h"
yy1112:
	++p;
#line 792 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_LessEqual; break; }
#line 18247 "_gen/frontend/match.re2c.h"
yy1113:
	yych = *++p;
	switch (yych) {
		case '=': goto yy1185;
		default: goto yy1114;
	}
yy1114:
#line 796 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_DEqual; break; }
#line 18257 "_gen/frontend/match.re2c.h"
yy1115:
	++p;
#line 826 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_RDArrow; break; }
#line 18262 "_gen/frontend/match.re2c.h"
yy1116:
	++p;
#line 793 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_GreatEqual; break; }
#line 18267 "_gen/frontend/match.re2c.h"
yy1117:
	yych = *++p;
	switch (yych) {
		case '=': goto yy1186;
		default: goto yy1118;
	}
yy1118:
#line 799 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_DGreat; break; }
#line 18277 "_gen/frontend/match.re2c.h"
yy1119:
	++p;
#line 737 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_AtParen; break; }
#line 18282 "_gen/frontend/match.re2c.h"
yy1120:
	++p;
#line 830 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_DoubleAt; break; }
#line 18287 "_gen/frontend/match.re2c.h"
yy1121:
	++p;
#line 746 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Reserved; break; }
#line 18292 "_gen/frontend/match.re2c.h"
yy1122:
	++p;
#line 745 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Reserved; break; }
#line 18297 "_gen/frontend/match.re2c.h"
yy1123:
	++p;
#line 834 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_LineCont; break; }
#line 18302 "_gen/frontend/match.re2c.h"
yy1124:
	++p;
#line 768 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_OneChar; break; }
#line 18307 "_gen/frontend/match.re2c.h"
yy1125:
	yych = *++p;
	switch (yych) {
		case '{': goto yy1187;
		default: goto yy1062;
	}
yy1126:
	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 yy1188;
		default: goto yy1062;
	}
yy1127:
	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 yy1189;
		default: goto yy1062;
	}
yy1128:
	++p;
#line 730 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_CaretDoubleQuote; break; }
#line 18372 "_gen/frontend/match.re2c.h"
yy1129:
	++p;
#line 738 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_CaretParen; break; }
#line 18377 "_gen/frontend/match.re2c.h"
yy1130:
	++p;
#line 815 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_CaretEqual; break; }
#line 18382 "_gen/frontend/match.re2c.h"
yy1131:
	++p;
#line 739 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_CaretBracket; break; }
#line 18387 "_gen/frontend/match.re2c.h"
yy1132:
	++p;
#line 740 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_CaretBrace; break; }
#line 18392 "_gen/frontend/match.re2c.h"
yy1133:
	yych = *++p;
	switch (yych) {
		case 'd': goto yy1190;
		default: goto yy1036;
	}
yy1134:
	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 yy1035;
		default: goto yy1135;
	}
yy1135:
#line 767 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_As; break; }
#line 18470 "_gen/frontend/match.re2c.h"
yy1136:
	yyaccept = 7;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '\'': goto yy1192;
		default: goto yy1137;
	}
yy1137:
#line 728 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_BSingleQuote; break; }
#line 18481 "_gen/frontend/match.re2c.h"
yy1138:
	yych = *++p;
	switch (yych) {
		case 'p': goto yy1193;
		default: goto yy1036;
	}
yy1139:
	yych = *++p;
	switch (yych) {
		case 's': goto yy1194;
		default: goto yy1036;
	}
yy1140:
	yych = *++p;
	switch (yych) {
		case 'l': goto yy1195;
		default: goto yy1036;
	}
yy1141:
	yych = *++p;
	switch (yych) {
		case 'r': goto yy1196;
		default: goto yy1036;
	}
yy1142:
	yych = *++p;
	switch (yych) {
		case 'n': goto yy1198;
		default: goto yy1036;
	}
yy1143:
	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 yy1035;
		default: goto yy1144;
	}
yy1144:
#line 763 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_If; break; }
#line 18583 "_gen/frontend/match.re2c.h"
yy1145:
	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 yy1035;
		default: goto yy1146;
	}
yy1146:
#line 762 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_In; break; }
#line 18655 "_gen/frontend/match.re2c.h"
yy1147:
	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 yy1035;
		default: goto yy1148;
	}
yy1148:
#line 761 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Is; break; }
#line 18727 "_gen/frontend/match.re2c.h"
yy1149:
	++p;
#line 724 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_JDoubleQuote; break; }
#line 18732 "_gen/frontend/match.re2c.h"
yy1150:
	yych = *++p;
	switch (yych) {
		case 't': goto yy1199;
		default: goto yy1036;
	}
yy1151:
	yych = *++p;
	switch (yych) {
		case 'l': goto yy1201;
		default: goto yy1036;
	}
yy1152:
	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 yy1035;
		default: goto yy1153;
	}
yy1153:
#line 758 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Or; break; }
#line 18816 "_gen/frontend/match.re2c.h"
yy1154:
	yyaccept = 8;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '\'': goto yy1202;
		default: goto yy1155;
	}
yy1155:
#line 726 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_RSingleQuote; break; }
#line 18827 "_gen/frontend/match.re2c.h"
yy1156:
	yych = *++p;
	switch (yych) {
		case 'u': goto yy1203;
		default: goto yy1036;
	}
yy1157:
	yyaccept = 9;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '\'': goto yy1204;
		default: goto yy1158;
	}
yy1158:
#line 727 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_USingleQuote; break; }
#line 18844 "_gen/frontend/match.re2c.h"
yy1159:
	++p;
#line 814 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_PipeEqual; break; }
#line 18849 "_gen/frontend/match.re2c.h"
yy1160:
	yych = *++p;
	switch (yych) {
		case '=': goto yy1205;
		default: goto yy1062;
	}
yy1161:
	++p;
#line 803 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_DTilde; break; }
#line 18860 "_gen/frontend/match.re2c.h"
yy1162:
	++p;
#line 795 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_NotDEqual; break; }
#line 18865 "_gen/frontend/match.re2c.h"
yy1163:
	++p;
#line 804 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_NotDTilde; break; }
#line 18870 "_gen/frontend/match.re2c.h"
yy1164:
	++p;
#line 731 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_TDoubleQuote; break; }
#line 18875 "_gen/frontend/match.re2c.h"
yy1165:
	yych = *++p;
	switch (yych) {
		case '"': goto yy1206;
		default: goto yy1062;
	}
yy1166:
	++p;
#line 733 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_TSingleQuote; break; }
#line 18886 "_gen/frontend/match.re2c.h"
yy1167:
	++p;
#line 816 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_DStarEqual; break; }
#line 18891 "_gen/frontend/match.re2c.h"
yy1168:
	++p;
#line 827 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Ellipsis; break; }
#line 18896 "_gen/frontend/match.re2c.h"
yy1169:
	++p;
#line 828 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Reserved; break; }
#line 18901 "_gen/frontend/match.re2c.h"
yy1170:
	++p;
#line 817 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_DSlashEqual; break; }
#line 18906 "_gen/frontend/match.re2c.h"
yy1171:
	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 yy1171;
		case 'E':
		case 'e': goto yy1104;
		case '_': goto yy1102;
		default: goto yy1172;
	}
yy1172:
#line 776 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Float; break; }
#line 18929 "_gen/frontend/match.re2c.h"
yy1173:
	yyaccept = 11;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '0':
		case '1': goto yy1173;
		case '_': goto yy1175;
		default: goto yy1174;
	}
yy1174:
#line 773 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_BinInt; break; }
#line 18942 "_gen/frontend/match.re2c.h"
yy1175:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1': goto yy1173;
		default: goto yy1062;
	}
yy1176:
	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 yy1177;
		default: goto yy1062;
	}
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': goto yy1177;
		default: goto yy1172;
	}
yy1178:
	yyaccept = 12;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy1178;
		case '_': goto yy1180;
		default: goto yy1179;
	}
yy1179:
#line 774 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_OctInt; break; }
#line 18998 "_gen/frontend/match.re2c.h"
yy1180:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy1178;
		default: goto yy1062;
	}
yy1181:
	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 yy1181;
		case '_': goto yy1183;
		default: goto yy1182;
	}
yy1182:
#line 775 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_HexInt; break; }
#line 19044 "_gen/frontend/match.re2c.h"
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 yy1181;
		default: goto yy1062;
	}
yy1184:
	++p;
#line 812 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_DLessEqual; break; }
#line 19076 "_gen/frontend/match.re2c.h"
yy1185:
	++p;
#line 794 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_TEqual; break; }
#line 19081 "_gen/frontend/match.re2c.h"
yy1186:
	++p;
#line 811 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Arith_DGreatEqual; break; }
#line 19086 "_gen/frontend/match.re2c.h"
yy1187:
	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 yy1207;
		default: goto yy1062;
	}
yy1188:
	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 yy1208;
		default: goto yy1062;
	}
yy1189:
	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 yy1209;
		default: goto yy1062;
	}
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 yy1035;
		default: goto yy1191;
	}
yy1191:
#line 757 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_And; break; }
#line 19239 "_gen/frontend/match.re2c.h"
yy1192:
	yych = *++p;
	switch (yych) {
		case '\'': goto yy1210;
		default: goto yy1062;
	}
yy1193:
	yych = *++p;
	switch (yych) {
		case 't': goto yy1211;
		default: goto yy1036;
	}
yy1194:
	yych = *++p;
	switch (yych) {
		case 'e': goto yy1212;
		default: goto yy1036;
	}
yy1195:
	yych = *++p;
	switch (yych) {
		case 's': goto yy1214;
		default: goto yy1036;
	}
yy1196:
	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 yy1035;
		default: goto yy1197;
	}
yy1197:
#line 760 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_For; break; }
#line 19335 "_gen/frontend/match.re2c.h"
yy1198:
	yych = *++p;
	switch (yych) {
		case 'c': goto yy1215;
		default: goto yy1036;
	}
yy1199:
	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 yy1035;
		default: goto yy1200;
	}
yy1200:
#line 759 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Not; break; }
#line 19413 "_gen/frontend/match.re2c.h"
yy1201:
	yych = *++p;
	switch (yych) {
		case 'l': goto yy1217;
		default: goto yy1036;
	}
yy1202:
	yych = *++p;
	switch (yych) {
		case '\'': goto yy1219;
		default: goto yy1062;
	}
yy1203:
	yych = *++p;
	switch (yych) {
		case 'e': goto yy1220;
		default: goto yy1036;
	}
yy1204:
	yych = *++p;
	switch (yych) {
		case '\'': goto yy1222;
		default: goto yy1062;
	}
yy1205:
	++p;
#line 820 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_TildeDEqual; break; }
#line 19442 "_gen/frontend/match.re2c.h"
yy1206:
	++p;
#line 732 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DollarTDoubleQuote; break; }
#line 19447 "_gen/frontend/match.re2c.h"
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 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1223;
		case '}': goto yy1224;
		default: goto yy1062;
	}
yy1208:
	++p;
#line 770 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Hex; break; }
#line 19480 "_gen/frontend/match.re2c.h"
yy1209:
	++p;
#line 769 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_YHex; break; }
#line 19485 "_gen/frontend/match.re2c.h"
yy1210:
	++p;
#line 736 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_BTSingleQuote; break; }
#line 19490 "_gen/frontend/match.re2c.h"
yy1211:
	yych = *++p;
	switch (yych) {
		case 'u': goto yy1225;
		default: goto yy1036;
	}
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 yy1035;
		default: goto yy1213;
	}
yy1213:
#line 764 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Else; break; }
#line 19568 "_gen/frontend/match.re2c.h"
yy1214:
	yych = *++p;
	switch (yych) {
		case 'e': goto yy1226;
		default: goto yy1036;
	}
yy1215:
	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 yy1035;
		default: goto yy1216;
	}
yy1216:
#line 765 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Func; break; }
#line 19646 "_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 yy1035;
		default: goto yy1218;
	}
yy1218:
#line 754 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Null; break; }
#line 19718 "_gen/frontend/match.re2c.h"
yy1219:
	++p;
#line 734 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_RTSingleQuote; break; }
#line 19723 "_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 '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 yy1035;
		default: goto yy1221;
	}
yy1221:
#line 755 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_True; break; }
#line 19795 "_gen/frontend/match.re2c.h"
yy1222:
	++p;
#line 735 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_UTSingleQuote; break; }
#line 19800 "_gen/frontend/match.re2c.h"
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 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1228;
		case '}': goto yy1224;
		default: goto yy1062;
	}
yy1224:
	++p;
#line 771 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_UBraced; break; }
#line 19833 "_gen/frontend/match.re2c.h"
yy1225:
	yych = *++p;
	switch (yych) {
		case 'r': goto yy1229;
		default: goto yy1036;
	}
yy1226:
	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 yy1035;
		default: goto yy1227;
	}
yy1227:
#line 756 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_False; break; }
#line 19911 "_gen/frontend/match.re2c.h"
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 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1230;
		case '}': goto yy1224;
		default: goto yy1062;
	}
yy1229:
	yych = *++p;
	switch (yych) {
		case 'e': goto yy1231;
		default: goto yy1036;
	}
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 yy1233;
		case '}': goto yy1224;
		default: goto yy1062;
	}
yy1231:
	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 yy1035;
		default: goto yy1232;
	}
yy1232:
#line 766 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Expr_Capture; break; }
#line 20045 "_gen/frontend/match.re2c.h"
yy1233:
	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 yy1234;
		case '}': goto yy1224;
		default: goto yy1062;
	}
yy1234:
	yych = *++p;
	switch (yych) {
		case '}': goto yy1224;
		default: goto yy1062;
	}
}
#line 837 "_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 20105 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy1236;
		case '\\': goto yy1239;
		default: goto yy1237;
	}
yy1236:
	++p;
#line 869 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 20118 "_gen/frontend/match.re2c.h"
yy1237:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case '\\': goto yy1238;
		default: goto yy1237;
	}
yy1238:
#line 868 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Chars; break; }
#line 20129 "_gen/frontend/match.re2c.h"
yy1239:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '0': goto yy1241;
		case 'E':
		case '\\':
		case 'a':
		case 'b':
		case 'e':
		case 'f':
		case 'n':
		case 'r':
		case 't':
		case 'v': goto yy1243;
		case 'U': goto yy1244;
		case 'c': goto yy1246;
		case 'u': goto yy1247;
		case 'x': goto yy1248;
		default: goto yy1240;
	}
yy1240:
#line 865 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_Backslash; break; }
#line 20153 "_gen/frontend/match.re2c.h"
yy1241:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy1249;
		default: goto yy1242;
	}
yy1242:
#line 864 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_OneChar; break; }
#line 20170 "_gen/frontend/match.re2c.h"
yy1243:
	++p;
	goto yy1242;
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 yy1251;
		default: goto yy1245;
	}
yy1245:
	p = YYMARKER;
	goto yy1240;
yy1246:
	++p;
#line 867 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Stop; break; }
#line 20208 "_gen/frontend/match.re2c.h"
yy1247:
	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 yy1253;
		default: goto yy1245;
	}
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 yy1245;
	}
yy1249:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy1257;
		default: goto yy1250;
	}
yy1250:
#line 866 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Octal4; break; }
#line 20279 "_gen/frontend/match.re2c.h"
yy1251:
	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 yy1258;
		default: goto yy1252;
	}
yy1252:
#line 863 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Unicode8; break; }
#line 20310 "_gen/frontend/match.re2c.h"
yy1253:
	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 yy1254;
	}
yy1254:
#line 862 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Unicode4; break; }
#line 20341 "_gen/frontend/match.re2c.h"
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 yy1260;
		default: goto yy1256;
	}
yy1256:
#line 861 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Hex; break; }
#line 20372 "_gen/frontend/match.re2c.h"
yy1257:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy1261;
		default: goto yy1250;
	}
yy1258:
	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 yy1252;
	}
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 yy1263;
		default: goto yy1254;
	}
yy1260:
	++p;
	goto yy1256;
yy1261:
	++p;
	goto yy1250;
yy1262:
	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 yy1252;
	}
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 yy1265;
		default: goto yy1254;
	}
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 yy1266;
		default: goto yy1252;
	}
yy1265:
	++p;
	goto yy1254;
yy1266:
	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 yy1267;
		default: goto yy1252;
	}
yy1267:
	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 yy1268;
		default: goto yy1252;
	}
yy1268:
	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 yy1269;
		default: goto yy1252;
	}
yy1269:
	++p;
	goto yy1252;
}
#line 871 "_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 20633 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy1271;
		case '!': goto yy1273;
		case '*': goto yy1274;
		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 yy1275;
		case '?': goto yy1277;
		case '[': goto yy1278;
		case '\\': goto yy1279;
		case ']': goto yy1280;
		case '^': goto yy1281;
		default: goto yy1272;
	}
yy1271:
	++p;
#line 899 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 20715 "_gen/frontend/match.re2c.h"
yy1272:
	++p;
#line 898 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Glob_OtherLiteral; break; }
#line 20720 "_gen/frontend/match.re2c.h"
yy1273:
	++p;
#line 891 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Glob_Bang; break; }
#line 20725 "_gen/frontend/match.re2c.h"
yy1274:
	++p;
#line 889 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Glob_Star; break; }
#line 20730 "_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':
		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 yy1275;
		default: goto yy1276;
	}
yy1276:
#line 897 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Glob_CleanLiterals; break; }
#line 20802 "_gen/frontend/match.re2c.h"
yy1277:
	++p;
#line 890 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Glob_QMark; break; }
#line 20807 "_gen/frontend/match.re2c.h"
yy1278:
	++p;
#line 893 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Glob_LBracket; break; }
#line 20812 "_gen/frontend/match.re2c.h"
yy1279:
	yych = *++p;
	if (yych >= 0x01) goto yy1282;
#line 896 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Glob_BadBackslash; break; }
#line 20818 "_gen/frontend/match.re2c.h"
yy1280:
	++p;
#line 894 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Glob_RBracket; break; }
#line 20823 "_gen/frontend/match.re2c.h"
yy1281:
	++p;
#line 892 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Glob_Caret; break; }
#line 20828 "_gen/frontend/match.re2c.h"
yy1282:
	++p;
#line 895 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Glob_EscapedChar; break; }
#line 20833 "_gen/frontend/match.re2c.h"
}
#line 901 "_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 20853 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy1284;
		case '\\': goto yy1287;
		default: goto yy1285;
	}
yy1284:
	++p;
#line 926 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 20866 "_gen/frontend/match.re2c.h"
yy1285:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case '\\': goto yy1286;
		default: goto yy1285;
	}
yy1286:
#line 924 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__PS_Literals; break; }
#line 20877 "_gen/frontend/match.re2c.h"
yy1287:
	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 yy1289;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy1290;
		case 'D': goto yy1292;
		case '[': goto yy1294;
		case ']': goto yy1295;
		default: goto yy1288;
	}
yy1288:
#line 925 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__PS_BadBackslash; break; }
#line 20920 "_gen/frontend/match.re2c.h"
yy1289:
	++p;
#line 920 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__PS_Subst; break; }
#line 20925 "_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': goto yy1296;
		default: goto yy1291;
	}
yy1291:
#line 919 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__PS_Octal3; break; }
#line 20942 "_gen/frontend/match.re2c.h"
yy1292:
	yych = *++p;
	switch (yych) {
		case '{': goto yy1297;
		default: goto yy1293;
	}
yy1293:
	p = YYMARKER;
	goto yy1288;
yy1294:
	++p;
#line 922 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__PS_LBrace; break; }
#line 20956 "_gen/frontend/match.re2c.h"
yy1295:
	++p;
#line 923 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__PS_RBrace; break; }
#line 20961 "_gen/frontend/match.re2c.h"
yy1296:
	yych = *++p;
	switch (yych) {
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7': goto yy1298;
		default: goto yy1291;
	}
yy1297:
	yych = *++p;
	switch (yych) {
		case 0x00: goto yy1293;
		case '}': goto yy1299;
		default: goto yy1297;
	}
yy1298:
	++p;
	goto yy1291;
yy1299:
	++p;
#line 921 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__PS_Subst; break; }
#line 20989 "_gen/frontend/match.re2c.h"
}
#line 928 "_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 21009 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy1301;
		case '!': goto yy1304;
		case '#': goto yy1306;
		case '\'': goto yy1307;
		case '\\': goto yy1309;
		default: goto yy1302;
	}
yy1301:
	++p;
#line 954 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 21025 "_gen/frontend/match.re2c.h"
yy1302:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case '!':
		case '#':
		case '\'':
		case '\\': goto yy1303;
		default: goto yy1302;
	}
yy1303:
#line 951 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__History_Other; break; }
#line 21039 "_gen/frontend/match.re2c.h"
yy1304:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '!':
		case '$':
		case '*':
		case '^': goto yy1310;
		case '-': goto yy1311;
		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 yy1313;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1314;
		case '?': goto yy1316;
		default: goto yy1305;
	}
yy1305:
#line 953 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__History_Other; break; }
#line 21119 "_gen/frontend/match.re2c.h"
yy1306:
	yych = *++p;
	if (yych >= 0x01) goto yy1306;
#line 949 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__History_Other; break; }
#line 21125 "_gen/frontend/match.re2c.h"
yy1307:
	yych = *++p;
	switch (yych) {
		case 0x00: goto yy1308;
		case '\'': goto yy1317;
		default: goto yy1307;
	}
yy1308:
#line 950 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__History_Other; break; }
#line 21136 "_gen/frontend/match.re2c.h"
yy1309:
	yych = *++p;
	if (yych <= 0x00) goto yy1305;
	goto yy1318;
yy1310:
	++p;
#line 946 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__History_Op; break; }
#line 21145 "_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': goto yy1314;
		default: goto yy1312;
	}
yy1312:
	p = YYMARKER;
	goto yy1305;
yy1313:
	yych = *++p;
	switch (yych) {
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy1312;
		default: goto yy1320;
	}
yy1314:
	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 yy1314;
		default: goto yy1315;
	}
yy1315:
#line 947 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__History_Num; break; }
#line 21191 "_gen/frontend/match.re2c.h"
yy1316:
	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 yy1313;
		default: goto yy1312;
	}
yy1317:
	++p;
	goto yy1308;
yy1318:
	++p;
#line 952 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__History_Other; break; }
#line 21259 "_gen/frontend/match.re2c.h"
yy1319:
	yych = *++p;
yy1320:
	switch (yych) {
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy1321;
		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 yy1319;
		default: goto yy1312;
	}
yy1321:
	++p;
#line 948 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__History_Search; break; }
#line 21339 "_gen/frontend/match.re2c.h"
}
#line 956 "_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 21359 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy1323;
		case '-': goto yy1326;
		case '.': goto yy1327;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1328;
		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 yy1330;
		default: goto yy1324;
	}
yy1323:
	++p;
#line 978 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 21435 "_gen/frontend/match.re2c.h"
yy1324:
	++p;
yy1325:
#line 977 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Range_Other; break; }
#line 21441 "_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':
		case '8':
		case '9': goto yy1328;
		default: goto yy1325;
	}
yy1327:
	yych = *++p;
	switch (yych) {
		case '.': goto yy1331;
		default: goto yy1325;
	}
yy1328:
	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 yy1328;
		default: goto yy1329;
	}
yy1329:
#line 974 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Range_Int; break; }
#line 21481 "_gen/frontend/match.re2c.h"
yy1330:
	++p;
#line 975 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Range_Char; break; }
#line 21486 "_gen/frontend/match.re2c.h"
yy1331:
	++p;
#line 976 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Range_Dots; break; }
#line 21491 "_gen/frontend/match.re2c.h"
}
#line 980 "_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 21511 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	unsigned int yyaccept = 0;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy1333;
		case '\t':
		case '\r':
		case ' ': goto yy1335;
		case '\n': goto yy1337;
		case '!':
		case '$':
		case '%':
		case '&':
		case '*':
		case '+':
		case '.':
		case '/':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '^':
		case '|':
		case '~': goto yy1338;
		case '"': goto yy1341;
		case '#': goto yy1342;
		case '\'': goto yy1344;
		case '(': goto yy1345;
		case ')': goto yy1346;
		case ',': goto yy1347;
		case '-': goto yy1348;
		case '0': goto yy1349;
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1351;
		case ':': goto yy1352;
		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 yy1353;
		case '[': goto yy1356;
		case ']': goto yy1357;
		case 'b': goto yy1358;
		case 'f': goto yy1359;
		case 'j': goto yy1360;
		case 'n': goto yy1361;
		case 't': goto yy1362;
		case 'u': goto yy1363;
		case '{': goto yy1364;
		case '}': goto yy1365;
		default: goto yy1334;
	}
yy1333:
	++p;
#line 1022 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 21620 "_gen/frontend/match.re2c.h"
yy1334:
	++p;
#line 1021 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_Tok; break; }
#line 21625 "_gen/frontend/match.re2c.h"
yy1335:
	yych = *++p;
	switch (yych) {
		case '\t':
		case '\r':
		case ' ': goto yy1335;
		default: goto yy1336;
	}
yy1336:
#line 1018 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_Space; break; }
#line 21637 "_gen/frontend/match.re2c.h"
yy1337:
	++p;
#line 1019 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_Newline; break; }
#line 21642 "_gen/frontend/match.re2c.h"
yy1338:
	yych = *++p;
yy1339:
	switch (yych) {
		case '!':
		case '$':
		case '%':
		case '&':
		case '*':
		case '+':
		case '-':
		case '.':
		case '/':
		case ';':
		case '<':
		case '=':
		case '>':
		case '?':
		case '@':
		case '^':
		case '|':
		case '~': goto yy1338;
		default: goto yy1340;
	}
yy1340:
#line 1017 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__J8_Operator; break; }
#line 21670 "_gen/frontend/match.re2c.h"
yy1341:
	++p;
#line 998 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DoubleQuote; break; }
#line 21675 "_gen/frontend/match.re2c.h"
yy1342:
	yych = *++p;
	switch (yych) {
		case 0x00:
		case '\n': goto yy1343;
		default: goto yy1342;
	}
yy1343:
#line 1020 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Ignored_Comment; break; }
#line 21686 "_gen/frontend/match.re2c.h"
yy1344:
	++p;
#line 1001 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_USingleQuote; break; }
#line 21691 "_gen/frontend/match.re2c.h"
yy1345:
	++p;
#line 1007 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__J8_LParen; break; }
#line 21696 "_gen/frontend/match.re2c.h"
yy1346:
	++p;
#line 1008 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__J8_RParen; break; }
#line 21701 "_gen/frontend/match.re2c.h"
yy1347:
	++p;
#line 1009 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__J8_Comma; break; }
#line 21706 "_gen/frontend/match.re2c.h"
yy1348:
	yych = *++p;
	switch (yych) {
		case '0': goto yy1349;
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1351;
		default: goto yy1339;
	}
yy1349:
	yyaccept = 0;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '.': goto yy1366;
		case 'E':
		case 'e': goto yy1368;
		default: goto yy1350;
	}
yy1350:
#line 1014 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__J8_Int; break; }
#line 21734 "_gen/frontend/match.re2c.h"
yy1351:
	yyaccept = 0;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '.': goto yy1366;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1351;
		case 'E':
		case 'e': goto yy1368;
		default: goto yy1350;
	}
yy1352:
	++p;
#line 1010 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__J8_Colon; break; }
#line 21758 "_gen/frontend/match.re2c.h"
yy1353:
	yych = *++p;
yy1354:
	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 yy1353;
		default: goto yy1355;
	}
yy1355:
#line 1016 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__J8_Identifier; break; }
#line 21831 "_gen/frontend/match.re2c.h"
yy1356:
	++p;
#line 1003 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__J8_LBracket; break; }
#line 21836 "_gen/frontend/match.re2c.h"
yy1357:
	++p;
#line 1004 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__J8_RBracket; break; }
#line 21841 "_gen/frontend/match.re2c.h"
yy1358:
	yych = *++p;
	switch (yych) {
		case '\'': goto yy1369;
		default: goto yy1354;
	}
yy1359:
	yych = *++p;
	switch (yych) {
		case 'a': goto yy1370;
		default: goto yy1354;
	}
yy1360:
	yych = *++p;
	switch (yych) {
		case '"': goto yy1371;
		default: goto yy1354;
	}
yy1361:
	yych = *++p;
	switch (yych) {
		case 'u': goto yy1372;
		default: goto yy1354;
	}
yy1362:
	yych = *++p;
	switch (yych) {
		case 'r': goto yy1373;
		default: goto yy1354;
	}
yy1363:
	yych = *++p;
	switch (yych) {
		case '\'': goto yy1374;
		default: goto yy1354;
	}
yy1364:
	++p;
#line 1005 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__J8_LBrace; break; }
#line 21882 "_gen/frontend/match.re2c.h"
yy1365:
	++p;
#line 1006 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__J8_RBrace; break; }
#line 21887 "_gen/frontend/match.re2c.h"
yy1366:
	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 yy1375;
		default: goto yy1367;
	}
yy1367:
	p = YYMARKER;
	if (yyaccept == 0) {
		goto yy1350;
	} else {
		goto yy1376;
	}
yy1368:
	yych = *++p;
	switch (yych) {
		case '+':
		case '-': goto yy1377;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1378;
		default: goto yy1367;
	}
yy1369:
	++p;
#line 1002 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_BSingleQuote; break; }
#line 21931 "_gen/frontend/match.re2c.h"
yy1370:
	yych = *++p;
	switch (yych) {
		case 'l': goto yy1379;
		default: goto yy1354;
	}
yy1371:
	++p;
#line 999 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_JDoubleQuote; break; }
#line 21942 "_gen/frontend/match.re2c.h"
yy1372:
	yych = *++p;
	switch (yych) {
		case 'l': goto yy1380;
		default: goto yy1354;
	}
yy1373:
	yych = *++p;
	switch (yych) {
		case 'u': goto yy1381;
		default: goto yy1354;
	}
yy1374:
	++p;
#line 1000 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_USingleQuote; break; }
#line 21959 "_gen/frontend/match.re2c.h"
yy1375:
	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 yy1375;
		case 'E':
		case 'e': goto yy1368;
		default: goto yy1376;
	}
yy1376:
#line 1015 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__J8_Float; break; }
#line 21981 "_gen/frontend/match.re2c.h"
yy1377:
	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 yy1378;
		default: goto yy1367;
	}
yy1378:
	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 yy1378;
		default: goto yy1376;
	}
yy1379:
	yych = *++p;
	switch (yych) {
		case 's': goto yy1382;
		default: goto yy1354;
	}
yy1380:
	yych = *++p;
	switch (yych) {
		case 'l': goto yy1383;
		default: goto yy1354;
	}
yy1381:
	yych = *++p;
	switch (yych) {
		case 'e': goto yy1385;
		default: goto yy1354;
	}
yy1382:
	yych = *++p;
	switch (yych) {
		case 'e': goto yy1387;
		default: goto yy1354;
	}
yy1383:
	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 yy1353;
		default: goto yy1384;
	}
yy1384:
#line 1011 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__J8_Null; break; }
#line 22107 "_gen/frontend/match.re2c.h"
yy1385:
	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 yy1353;
		default: goto yy1386;
	}
yy1386:
#line 1012 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__J8_Bool; break; }
#line 22179 "_gen/frontend/match.re2c.h"
yy1387:
	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 yy1353;
		default: goto yy1388;
	}
yy1388:
#line 1013 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__J8_Bool; break; }
#line 22251 "_gen/frontend/match.re2c.h"
}
#line 1024 "_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 22271 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy1390;
		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 yy1391;
		case '\t':
		case '\r':
		case ' ': goto yy1392;
		case '\n': goto yy1394;
		case '"': goto yy1398;
		case '\'': goto yy1399;
		case 'b': goto yy1400;
		case 'j': goto yy1401;
		case 'u': goto yy1402;
		default: goto yy1395;
	}
yy1390:
	++p;
#line 1051 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 22320 "_gen/frontend/match.re2c.h"
yy1391:
	++p;
#line 1049 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_AsciiControl; break; }
#line 22325 "_gen/frontend/match.re2c.h"
yy1392:
	yych = *++p;
	switch (yych) {
		case '\t':
		case '\r':
		case ' ': goto yy1392;
		default: goto yy1393;
	}
yy1393:
#line 1047 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__WS_Space; break; }
#line 22337 "_gen/frontend/match.re2c.h"
yy1394:
	++p;
#line 1048 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__J8_Newline; break; }
#line 22342 "_gen/frontend/match.re2c.h"
yy1395:
	yych = *++p;
yy1396:
	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 yy1397;
		default: goto yy1395;
	}
yy1397:
#line 1050 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Chars; break; }
#line 22387 "_gen/frontend/match.re2c.h"
yy1398:
	++p;
#line 1042 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_DoubleQuote; break; }
#line 22392 "_gen/frontend/match.re2c.h"
yy1399:
	++p;
#line 1045 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_USingleQuote; break; }
#line 22397 "_gen/frontend/match.re2c.h"
yy1400:
	yych = *++p;
	switch (yych) {
		case '\'': goto yy1403;
		default: goto yy1396;
	}
yy1401:
	yych = *++p;
	switch (yych) {
		case '"': goto yy1404;
		default: goto yy1396;
	}
yy1402:
	yych = *++p;
	switch (yych) {
		case '\'': goto yy1405;
		default: goto yy1396;
	}
yy1403:
	++p;
#line 1046 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_BSingleQuote; break; }
#line 22420 "_gen/frontend/match.re2c.h"
yy1404:
	++p;
#line 1043 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_JDoubleQuote; break; }
#line 22425 "_gen/frontend/match.re2c.h"
yy1405:
	++p;
#line 1044 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Left_USingleQuote; break; }
#line 22430 "_gen/frontend/match.re2c.h"
}
#line 1053 "_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 22450 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy1407;
		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 yy1408;
		case '\'': goto yy1411;
		case '\\': goto yy1412;
		default: goto yy1409;
	}
yy1407:
	++p;
#line 1079 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 22495 "_gen/frontend/match.re2c.h"
yy1408:
	++p;
#line 1077 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_AsciiControl; break; }
#line 22500 "_gen/frontend/match.re2c.h"
yy1409:
	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 yy1410;
		default: goto yy1409;
	}
yy1410:
#line 1078 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Chars; break; }
#line 22543 "_gen/frontend/match.re2c.h"
yy1411:
	++p;
#line 1071 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Right_SingleQuote; break; }
#line 22548 "_gen/frontend/match.re2c.h"
yy1412:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '"':
		case '/':
		case '\\':
		case 'b':
		case 'f':
		case 'n':
		case 'r':
		case 't': goto yy1414;
		case '\'': goto yy1415;
		case 'U':
		case 'u': goto yy1416;
		case 'y': goto yy1418;
		default: goto yy1413;
	}
yy1413:
#line 1076 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_Backslash; break; }
#line 22569 "_gen/frontend/match.re2c.h"
yy1414:
	++p;
#line 1072 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_OneChar; break; }
#line 22574 "_gen/frontend/match.re2c.h"
yy1415:
	++p;
#line 1073 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_OneChar; break; }
#line 22579 "_gen/frontend/match.re2c.h"
yy1416:
	yych = *++p;
	switch (yych) {
		case '{': goto yy1419;
		default: goto yy1417;
	}
yy1417:
	p = YYMARKER;
	goto yy1413;
yy1418:
	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 yy1420;
		default: goto yy1417;
	}
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 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1421;
		default: goto yy1417;
	}
yy1420:
	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 yy1422;
		default: goto yy1417;
	}
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 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1423;
		case '}': goto yy1424;
		default: goto yy1417;
	}
yy1422:
	++p;
#line 1074 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_YHex; break; }
#line 22702 "_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 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1425;
		case '}': goto yy1424;
		default: goto yy1417;
	}
yy1424:
	++p;
#line 1075 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_UBraced; break; }
#line 22735 "_gen/frontend/match.re2c.h"
yy1425:
	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 yy1426;
		case '}': goto yy1424;
		default: goto yy1417;
	}
yy1426:
	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 yy1427;
		case '}': goto yy1424;
		default: goto yy1417;
	}
yy1427:
	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 yy1428;
		case '}': goto yy1424;
		default: goto yy1417;
	}
yy1428:
	yych = *++p;
	switch (yych) {
		case '}': goto yy1424;
		default: goto yy1417;
	}
}
#line 1081 "_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 22845 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	unsigned int yyaccept = 0;
	yych = *p;
	switch (yych) {
		case 0x00: goto yy1430;
		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 yy1431;
		case '"': goto yy1434;
		case '\\': goto yy1435;
		default: goto yy1432;
	}
yy1430:
	++p;
#line 1106 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Eol_Tok; *end_pos = start_pos; return; }
#line 22891 "_gen/frontend/match.re2c.h"
yy1431:
	++p;
#line 1104 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_AsciiControl; break; }
#line 22896 "_gen/frontend/match.re2c.h"
yy1432:
	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 yy1433;
		default: goto yy1432;
	}
yy1433:
#line 1105 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Lit_Chars; break; }
#line 22939 "_gen/frontend/match.re2c.h"
yy1434:
	++p;
#line 1099 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Right_DoubleQuote; break; }
#line 22944 "_gen/frontend/match.re2c.h"
yy1435:
	yyaccept = 0;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '"':
		case '/':
		case '\\':
		case 'b':
		case 'f':
		case 'n':
		case 'r':
		case 't': goto yy1437;
		case 'u': goto yy1438;
		default: goto yy1436;
	}
yy1436:
#line 1103 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Unknown_Backslash; break; }
#line 22963 "_gen/frontend/match.re2c.h"
yy1437:
	++p;
#line 1100 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_OneChar; break; }
#line 22968 "_gen/frontend/match.re2c.h"
yy1438:
	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 yy1440;
		case 'D':
		case 'd': goto yy1441;
		default: goto yy1439;
	}
yy1439:
	p = YYMARKER;
	if (yyaccept == 0) {
		goto yy1436;
	} else {
		goto yy1447;
	}
yy1440:
	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 yy1442;
		default: goto yy1439;
	}
yy1441:
	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 yy1442;
		case '8':
		case '9':
		case 'A':
		case 'B':
		case 'a':
		case 'b': goto yy1443;
		default: goto yy1439;
	}
yy1442:
	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 yy1444;
		default: goto yy1439;
	}
yy1443:
	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 yy1445;
		default: goto yy1439;
	}
yy1444:
	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 yy1446;
		default: goto yy1439;
	}
yy1445:
	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 yy1448;
		default: goto yy1439;
	}
yy1446:
	++p;
yy1447:
#line 1101 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_Unicode4; break; }
#line 23170 "_gen/frontend/match.re2c.h"
yy1448:
	yyaccept = 1;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '\\': goto yy1449;
		default: goto yy1447;
	}
yy1449:
	yych = *++p;
	switch (yych) {
		case 'u': goto yy1450;
		default: goto yy1439;
	}
yy1450:
	yych = *++p;
	switch (yych) {
		case 'D':
		case 'd': goto yy1451;
		default: goto yy1439;
	}
yy1451:
	yych = *++p;
	switch (yych) {
		case 'C':
		case 'D':
		case 'E':
		case 'F':
		case 'c':
		case 'd':
		case 'e':
		case 'f': goto yy1452;
		default: goto yy1439;
	}
yy1452:
	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 yy1453;
		default: goto yy1439;
	}
yy1453:
	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 yy1454;
		default: goto yy1439;
	}
yy1454:
	++p;
#line 1102 "_gen/_tmp/match.re2c-input.h"
	{ *id = id__Char_SurrogatePair; break; }
#line 23262 "_gen/frontend/match.re2c.h"
}
#line 1108 "_gen/_tmp/match.re2c-input.h"

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


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 23279 "_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 yy1457;
		default: goto yy1456;
	}
yy1456:
	++p;
#line 1125 "_gen/_tmp/match.re2c-input.h"
	{ return 0; }
#line 23343 "_gen/frontend/match.re2c.h"
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 '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 yy1457;
		default: goto yy1458;
	}
yy1458:
#line 1124 "_gen/_tmp/match.re2c-input.h"
	{ return p == end; }
#line 23415 "_gen/frontend/match.re2c.h"
}
#line 1126 "_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 23430 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case '#': goto yy1462;
		default: goto yy1460;
	}
yy1460:
	++p;
yy1461:
#line 1141 "_gen/_tmp/match.re2c-input.h"
	{ return 0; }
#line 23443 "_gen/frontend/match.re2c.h"
yy1462:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '!': goto yy1463;
		default: goto yy1461;
	}
yy1463:
	yych = *++p;
	switch (yych) {
		case 0x00: goto yy1464;
		case 's': goto yy1465;
		default: goto yy1463;
	}
yy1464:
	p = YYMARKER;
	goto yy1461;
yy1465:
	yych = *++p;
	switch (yych) {
		case 0x00: goto yy1464;
		case 'h': goto yy1466;
		case 's': goto yy1465;
		default: goto yy1463;
	}
yy1466:
	yych = *++p;
	switch (yych) {
		case 0x00: goto yy1464;
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy1467;
		case 's': goto yy1465;
		default: goto yy1463;
	}
yy1467:
	yych = *++p;
	if (yych >= 0x01) goto yy1467;
#line 1140 "_gen/_tmp/match.re2c-input.h"
	{ return p == end; }
#line 23484 "_gen/frontend/match.re2c.h"
}
#line 1142 "_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 23499 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	unsigned int yyaccept = 0;
	yych = *p;
	switch (yych) {
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy1471;
		case '-': goto yy1472;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1473;
		default: goto yy1469;
	}
yy1469:
	++p;
yy1470:
#line 1157 "_gen/_tmp/match.re2c-input.h"
	{ return 0; }
#line 23527 "_gen/frontend/match.re2c.h"
yy1471:
	yyaccept = 0;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy1475;
		case '-': goto yy1477;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1473;
		default: goto yy1470;
	}
yy1472:
	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 yy1473;
		default: goto yy1470;
	}
yy1473:
	yyaccept = 1;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy1478;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1473;
		case '_': goto yy1477;
		default: goto yy1474;
	}
yy1474:
#line 1156 "_gen/_tmp/match.re2c-input.h"
	{ return p == end; }
#line 23588 "_gen/frontend/match.re2c.h"
yy1475:
	yych = *++p;
	switch (yych) {
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy1475;
		case '-': goto yy1477;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1473;
		default: goto yy1476;
	}
yy1476:
	p = YYMARKER;
	if (yyaccept == 0) {
		goto yy1470;
	} else {
		goto yy1474;
	}
yy1477:
	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 yy1473;
		default: goto yy1476;
	}
yy1478:
	yych = *++p;
	switch (yych) {
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy1478;
		default: goto yy1474;
	}
}
#line 1158 "_gen/_tmp/match.re2c-input.h"

}


static inline int LooksLikeFloat(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 23654 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	unsigned int yyaccept = 0;
	yych = *p;
	switch (yych) {
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy1482;
		case '-': goto yy1483;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1484;
		default: goto yy1480;
	}
yy1480:
	++p;
yy1481:
#line 1173 "_gen/_tmp/match.re2c-input.h"
	{ return 0; }
#line 23682 "_gen/frontend/match.re2c.h"
yy1482:
	yyaccept = 0;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy1486;
		case '-': goto yy1488;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1484;
		default: goto yy1481;
	}
yy1483:
	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 yy1484;
		default: goto yy1481;
	}
yy1484:
	yyaccept = 1;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy1489;
		case '.': goto yy1490;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1484;
		case 'E':
		case 'e': goto yy1491;
		case '_': goto yy1488;
		default: goto yy1485;
	}
yy1485:
#line 1172 "_gen/_tmp/match.re2c-input.h"
	{ return p == end; }
#line 23746 "_gen/frontend/match.re2c.h"
yy1486:
	yych = *++p;
	switch (yych) {
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy1486;
		case '-': goto yy1488;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1484;
		default: goto yy1487;
	}
yy1487:
	p = YYMARKER;
	if (yyaccept == 0) {
		goto yy1481;
	} else {
		goto yy1485;
	}
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': goto yy1484;
		default: goto yy1487;
	}
yy1489:
	yych = *++p;
	switch (yych) {
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy1489;
		default: goto yy1485;
	}
yy1490:
	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 yy1492;
		default: goto yy1487;
	}
yy1491:
	yych = *++p;
	switch (yych) {
		case '+':
		case '-': goto yy1493;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1494;
		default: goto yy1487;
	}
yy1492:
	yyaccept = 1;
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy1489;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1492;
		case 'E':
		case 'e': goto yy1491;
		case '_': goto yy1490;
		default: goto yy1485;
	}
yy1493:
	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 yy1494;
		default: goto yy1487;
	}
yy1494:
	yych = *++p;
	switch (yych) {
		case '\t':
		case '\n':
		case '\r':
		case ' ': goto yy1489;
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9': goto yy1494;
		default: goto yy1485;
	}
}
#line 1174 "_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 23902 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case '-': goto yy1498;
		default: goto yy1496;
	}
yy1496:
	++p;
yy1497:
#line 1214 "_gen/_tmp/match.re2c-input.h"
	{ return id__Undefined_Tok; }
#line 23915 "_gen/frontend/match.re2c.h"
yy1498:
	yych = *++p;
	switch (yych) {
		case 'G': goto yy1499;
		case 'L': goto yy1500;
		case 'N': goto yy1501;
		case 'O': goto yy1502;
		case 'R': goto yy1503;
		case 'S': goto yy1504;
		case 'a': goto yy1505;
		case 'b': goto yy1506;
		case 'c': goto yy1507;
		case 'd': goto yy1508;
		case 'e': goto yy1509;
		case 'f': goto yy1510;
		case 'g': goto yy1511;
		case 'h': goto yy1512;
		case 'k': goto yy1513;
		case 'n': goto yy1514;
		case 'o': goto yy1515;
		case 'p': goto yy1516;
		case 'r': goto yy1517;
		case 's': goto yy1518;
		case 't': goto yy1519;
		case 'u': goto yy1520;
		case 'v': goto yy1521;
		case 'w': goto yy1522;
		case 'x': goto yy1523;
		case 'z': goto yy1524;
		default: goto yy1497;
	}
yy1499:
	++p;
#line 1188 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_G; break; }
#line 23951 "_gen/frontend/match.re2c.h"
yy1500:
	++p;
#line 1189 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_L; break; }
#line 23956 "_gen/frontend/match.re2c.h"
yy1501:
	++p;
#line 1190 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_N; break; }
#line 23961 "_gen/frontend/match.re2c.h"
yy1502:
	++p;
#line 1191 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_O; break; }
#line 23966 "_gen/frontend/match.re2c.h"
yy1503:
	++p;
#line 1192 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_R; break; }
#line 23971 "_gen/frontend/match.re2c.h"
yy1504:
	++p;
#line 1193 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_S; break; }
#line 23976 "_gen/frontend/match.re2c.h"
yy1505:
	++p;
#line 1194 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_a; break; }
#line 23981 "_gen/frontend/match.re2c.h"
yy1506:
	++p;
#line 1195 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_b; break; }
#line 23986 "_gen/frontend/match.re2c.h"
yy1507:
	++p;
#line 1196 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_c; break; }
#line 23991 "_gen/frontend/match.re2c.h"
yy1508:
	++p;
#line 1197 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_d; break; }
#line 23996 "_gen/frontend/match.re2c.h"
yy1509:
	++p;
#line 1198 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_e; break; }
#line 24001 "_gen/frontend/match.re2c.h"
yy1510:
	++p;
#line 1199 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_f; break; }
#line 24006 "_gen/frontend/match.re2c.h"
yy1511:
	++p;
#line 1200 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_g; break; }
#line 24011 "_gen/frontend/match.re2c.h"
yy1512:
	++p;
#line 1201 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_h; break; }
#line 24016 "_gen/frontend/match.re2c.h"
yy1513:
	++p;
#line 1202 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_k; break; }
#line 24021 "_gen/frontend/match.re2c.h"
yy1514:
	++p;
#line 1203 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_n; break; }
#line 24026 "_gen/frontend/match.re2c.h"
yy1515:
	++p;
#line 1204 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_o; break; }
#line 24031 "_gen/frontend/match.re2c.h"
yy1516:
	++p;
#line 1205 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_p; break; }
#line 24036 "_gen/frontend/match.re2c.h"
yy1517:
	++p;
#line 1206 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_r; break; }
#line 24041 "_gen/frontend/match.re2c.h"
yy1518:
	++p;
#line 1207 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_s; break; }
#line 24046 "_gen/frontend/match.re2c.h"
yy1519:
	++p;
#line 1208 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_t; break; }
#line 24051 "_gen/frontend/match.re2c.h"
yy1520:
	++p;
#line 1209 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_u; break; }
#line 24056 "_gen/frontend/match.re2c.h"
yy1521:
	++p;
#line 1210 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_v; break; }
#line 24061 "_gen/frontend/match.re2c.h"
yy1522:
	++p;
#line 1211 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_w; break; }
#line 24066 "_gen/frontend/match.re2c.h"
yy1523:
	++p;
#line 1212 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_x; break; }
#line 24071 "_gen/frontend/match.re2c.h"
yy1524:
	++p;
#line 1213 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolUnary_z; break; }
#line 24076 "_gen/frontend/match.re2c.h"
}
#line 1216 "_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 24095 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case '!': goto yy1528;
		case '-': goto yy1529;
		case '<': goto yy1530;
		case '=': goto yy1531;
		case '>': goto yy1533;
		default: goto yy1526;
	}
yy1526:
	++p;
yy1527:
#line 1247 "_gen/_tmp/match.re2c-input.h"
	{ return id__Undefined_Tok; }
#line 24112 "_gen/frontend/match.re2c.h"
yy1528:
	yych = *++p;
	switch (yych) {
		case '=': goto yy1534;
		default: goto yy1527;
	}
yy1529:
	yych = *(YYMARKER = ++p);
	switch (yych) {
		case 'e': goto yy1535;
		case 'g': goto yy1537;
		case 'l': goto yy1538;
		case 'n': goto yy1539;
		case 'o': goto yy1540;
		default: goto yy1527;
	}
yy1530:
	++p;
#line 1243 "_gen/_tmp/match.re2c-input.h"
	{ id = id__Op_Less; break; }
#line 24133 "_gen/frontend/match.re2c.h"
yy1531:
	yych = *++p;
	switch (yych) {
		case '=': goto yy1541;
		default: goto yy1532;
	}
yy1532:
#line 1244 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolBinary_Equal; break; }
#line 24143 "_gen/frontend/match.re2c.h"
yy1533:
	++p;
#line 1246 "_gen/_tmp/match.re2c-input.h"
	{ id = id__Op_Great; break; }
#line 24148 "_gen/frontend/match.re2c.h"
yy1534:
	++p;
#line 1233 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolBinary_NEqual; break; }
#line 24153 "_gen/frontend/match.re2c.h"
yy1535:
	yych = *++p;
	switch (yych) {
		case 'f': goto yy1542;
		case 'q': goto yy1543;
		default: goto yy1536;
	}
yy1536:
	p = YYMARKER;
	goto yy1527;
yy1537:
	yych = *++p;
	switch (yych) {
		case 'e': goto yy1544;
		case 't': goto yy1545;
		default: goto yy1536;
	}
yy1538:
	yych = *++p;
	switch (yych) {
		case 'e': goto yy1546;
		case 't': goto yy1547;
		default: goto yy1536;
	}
yy1539:
	yych = *++p;
	switch (yych) {
		case 'e': goto yy1548;
		case 't': goto yy1549;
		default: goto yy1536;
	}
yy1540:
	yych = *++p;
	switch (yych) {
		case 't': goto yy1550;
		default: goto yy1536;
	}
yy1541:
	++p;
#line 1245 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolBinary_DEqual; break; }
#line 24195 "_gen/frontend/match.re2c.h"
yy1542:
	++p;
#line 1234 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolBinary_ef; break; }
#line 24200 "_gen/frontend/match.re2c.h"
yy1543:
	++p;
#line 1235 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolBinary_eq; break; }
#line 24205 "_gen/frontend/match.re2c.h"
yy1544:
	++p;
#line 1236 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolBinary_ge; break; }
#line 24210 "_gen/frontend/match.re2c.h"
yy1545:
	++p;
#line 1237 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolBinary_gt; break; }
#line 24215 "_gen/frontend/match.re2c.h"
yy1546:
	++p;
#line 1238 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolBinary_le; break; }
#line 24220 "_gen/frontend/match.re2c.h"
yy1547:
	++p;
#line 1239 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolBinary_lt; break; }
#line 24225 "_gen/frontend/match.re2c.h"
yy1548:
	++p;
#line 1240 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolBinary_ne; break; }
#line 24230 "_gen/frontend/match.re2c.h"
yy1549:
	++p;
#line 1241 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolBinary_nt; break; }
#line 24235 "_gen/frontend/match.re2c.h"
yy1550:
	++p;
#line 1242 "_gen/_tmp/match.re2c-input.h"
	{ id = id__BoolBinary_ot; break; }
#line 24240 "_gen/frontend/match.re2c.h"
}
#line 1249 "_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 24259 "_gen/frontend/match.re2c.h"
{
	unsigned char yych;
	yych = *p;
	switch (yych) {
		case '!': goto yy1553;
		case '(': goto yy1554;
		case ')': goto yy1555;
		case ']': goto yy1556;
		default: goto yy1552;
	}
yy1552:
	++p;
#line 1270 "_gen/_tmp/match.re2c-input.h"
	{ return id__Undefined_Tok; }
#line 24274 "_gen/frontend/match.re2c.h"
yy1553:
	++p;
#line 1266 "_gen/_tmp/match.re2c-input.h"
	{ id = id__KW_Bang; break; }
#line 24279 "_gen/frontend/match.re2c.h"
yy1554:
	++p;
#line 1267 "_gen/_tmp/match.re2c-input.h"
	{ id = id__Op_LParen; break; }
#line 24284 "_gen/frontend/match.re2c.h"
yy1555:
	++p;
#line 1268 "_gen/_tmp/match.re2c-input.h"
	{ id = id__Op_RParen; break; }
#line 24289 "_gen/frontend/match.re2c.h"
yy1556:
	++p;
#line 1269 "_gen/_tmp/match.re2c-input.h"
	{ id = id__Arith_RBracket; break; }
#line 24294 "_gen/frontend/match.re2c.h"
}
#line 1272 "_gen/_tmp/match.re2c-input.h"

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