X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Fparser.c;h=d9d7b58db666af94ab6fd180212db57952f58e32;hp=ace7900dfcbebd5f6ebbd9c8440c99e6ecf7585e;hb=c9384515a81cb64d345b299908b2852f51bb8e6e;hpb=440ff658995f1378fd74c0101ff6c2b4951ffdf9 diff --git a/src/parser.c b/src/parser.c index ace7900..d9d7b58 100644 --- a/src/parser.c +++ b/src/parser.c @@ -1,4 +1,4 @@ -/* Generated by re2c 1.0.2 on Fri Sep 8 10:30:56 2017 */ +/* Generated by re2c 1.0.2 on Tue Oct 24 14:53:03 2017 */ #line 1 "src/parser.re" /******************************************************************************* Copyright (c) 2016, Michael Wallner . @@ -200,6 +200,67 @@ bool psi_parser_process(struct psi_parser *P, struct psi_plist *tokens, size_t * return true; } +void psi_parser_postprocess(struct psi_parser *P) +{ + unsigned flags; + zend_string *name; + struct psi_validate_scope scope = {0}; + + psi_validate_scope_ctor(&scope); + scope.defs = &P->preproc->defs; + + flags = P->flags; + P->flags |= PSI_SILENT; + + /* register const macros */ + ZEND_HASH_FOREACH_STR_KEY_PTR(&P->preproc->defs, name, scope.macro) + { + if (scope.macro->sig) { + } else if (scope.macro->exp) { + if (psi_num_exp_validate(PSI_DATA(P), scope.macro->exp, &scope)) { + struct psi_impl_type *type; + struct psi_impl_def_val *def; + struct psi_const *cnst; + struct psi_num_exp *num; + char *name_str = malloc(name->len + sizeof("psi\\")); + + strcat(strcpy(name_str, "psi\\"), name->val); + num = psi_num_exp_copy(scope.macro->exp); + def = psi_impl_def_val_init(PSI_T_NUMBER, num); + type = psi_impl_type_init(PSI_T_NUMBER, ""); + cnst = psi_const_init(type, name_str, def); + P->consts = psi_plist_add(P->consts, &cnst); + free(name_str); + } + } else { + if (psi_plist_count(scope.macro->tokens) == 1) { + struct psi_token *t; + + if (psi_plist_get(scope.macro->tokens, 0, &t)) { + if (t->type == PSI_T_QUOTED_STRING) { + struct psi_impl_type *type; + struct psi_impl_def_val *def; + struct psi_const *cnst; + char *name_str = malloc(name->len + sizeof("psi\\")); + + strcat(strcpy(name_str, "psi\\"), name->val); + type = psi_impl_type_init(PSI_T_STRING, "string"); + def = psi_impl_def_val_init(PSI_T_QUOTED_STRING, t->text); + cnst = psi_const_init(type, name_str, def); + P->consts = psi_plist_add(P->consts, &cnst); + free(name_str); + } + } + } + } + } + ZEND_HASH_FOREACH_END(); + + P->flags = flags; + + psi_validate_scope_dtor(&scope); +} + bool psi_parser_parse(struct psi_parser *P, struct psi_parser_input *I) { struct psi_plist *scanned, *preproc; @@ -219,6 +280,8 @@ bool psi_parser_parse(struct psi_parser *P, struct psi_parser_input *I) return false; } + psi_parser_postprocess(P); + psi_plist_free(preproc); return true; } @@ -253,7 +316,7 @@ void psi_parser_free(struct psi_parser **P) } union int_suffix { - char s[SIZEOF_UINT32_T]; + char s[4]; uint32_t i; }; @@ -278,8 +341,10 @@ struct psi_plist *psi_parser_scan(struct psi_parser *P, struct psi_parser_input ctxmrk = NULL; tok = cur; + (void) ctxmrk; + -#line 283 "src/parser.c" +#line 348 "src/parser.c" { unsigned char yych; unsigned int yyaccept = 0; @@ -404,9 +469,9 @@ struct psi_plist *psi_parser_scan(struct psi_parser *P, struct psi_parser_input yy2: ++cur; yy3: -#line 447 "src/parser.re" +#line 513 "src/parser.re" { NEWTOKEN(-2); goto error; } -#line 410 "src/parser.c" +#line 475 "src/parser.c" yy4: ++cur; if (lim <= cur) if (cur >= lim) goto done;; @@ -418,14 +483,14 @@ yy4: default: goto yy6; } yy6: -#line 446 "src/parser.re" +#line 512 "src/parser.re" { NEWTOKEN(PSI_T_WHITESPACE); goto start; } -#line 424 "src/parser.c" +#line 489 "src/parser.c" yy7: ++cur; -#line 445 "src/parser.re" +#line 511 "src/parser.re" { NEWTOKEN(PSI_T_EOL); NEWLINE(); goto start; } -#line 429 "src/parser.c" +#line 494 "src/parser.c" yy9: yych = *++cur; switch (yych) { @@ -433,14 +498,14 @@ yy9: default: goto yy10; } yy10: -#line 349 "src/parser.re" +#line 414 "src/parser.re" { NEWTOKEN(PSI_T_NOT); goto start; } -#line 439 "src/parser.c" +#line 504 "src/parser.c" yy11: ++cur; -#line 322 "src/parser.re" +#line 387 "src/parser.re" { escaped = false; tok += 1; goto string; } -#line 444 "src/parser.c" +#line 509 "src/parser.c" yy13: yych = *++cur; switch (yych) { @@ -448,9 +513,9 @@ yy13: default: goto yy14; } yy14: -#line 332 "src/parser.re" +#line 397 "src/parser.re" { NEWTOKEN(PSI_T_HASH); goto start; } -#line 454 "src/parser.c" +#line 519 "src/parser.c" yy15: yych = *++cur; switch (yych) { @@ -523,9 +588,9 @@ yy15: } yy16: ++cur; -#line 350 "src/parser.re" +#line 415 "src/parser.re" { NEWTOKEN(PSI_T_MODULO); goto start; } -#line 529 "src/parser.c" +#line 594 "src/parser.c" yy18: yych = *++cur; switch (yych) { @@ -533,29 +598,29 @@ yy18: default: goto yy19; } yy19: -#line 351 "src/parser.re" +#line 416 "src/parser.re" { NEWTOKEN(PSI_T_AMPERSAND); goto start; } -#line 539 "src/parser.c" +#line 604 "src/parser.c" yy20: ++cur; -#line 321 "src/parser.re" +#line 386 "src/parser.re" { escaped = false; tok += 1; goto character; } -#line 544 "src/parser.c" +#line 609 "src/parser.c" yy22: ++cur; -#line 333 "src/parser.re" +#line 398 "src/parser.re" { NEWTOKEN(PSI_T_LPAREN); goto start; } -#line 549 "src/parser.c" +#line 614 "src/parser.c" yy24: ++cur; -#line 334 "src/parser.re" +#line 399 "src/parser.re" { NEWTOKEN(PSI_T_RPAREN); goto start; } -#line 554 "src/parser.c" +#line 619 "src/parser.c" yy26: ++cur; -#line 347 "src/parser.re" +#line 412 "src/parser.re" { NEWTOKEN(PSI_T_ASTERISK); goto start; } -#line 559 "src/parser.c" +#line 624 "src/parser.c" yy28: yyaccept = 0; yych = *(mrk = ++cur); @@ -574,14 +639,14 @@ yy28: default: goto yy29; } yy29: -#line 352 "src/parser.re" +#line 417 "src/parser.re" { NEWTOKEN(PSI_T_PLUS); goto start; } -#line 580 "src/parser.c" +#line 645 "src/parser.c" yy30: ++cur; -#line 336 "src/parser.re" +#line 401 "src/parser.re" { NEWTOKEN(PSI_T_COMMA); goto start; } -#line 585 "src/parser.c" +#line 650 "src/parser.c" yy32: yyaccept = 1; yych = *(mrk = ++cur); @@ -600,9 +665,9 @@ yy32: default: goto yy33; } yy33: -#line 353 "src/parser.re" +#line 418 "src/parser.re" { NEWTOKEN(PSI_T_MINUS); goto start; } -#line 606 "src/parser.c" +#line 671 "src/parser.c" yy34: yyaccept = 2; yych = *(mrk = ++cur); @@ -621,9 +686,9 @@ yy34: default: goto yy35; } yy35: -#line 364 "src/parser.re" +#line 429 "src/parser.re" { NEWTOKEN(PSI_T_PERIOD); goto start; } -#line 627 "src/parser.c" +#line 692 "src/parser.c" yy36: yych = *++cur; switch (yych) { @@ -632,9 +697,9 @@ yy36: default: goto yy37; } yy37: -#line 354 "src/parser.re" +#line 419 "src/parser.re" { NEWTOKEN(PSI_T_SLASH); goto start; } -#line 638 "src/parser.c" +#line 703 "src/parser.c" yy38: yyaccept = 3; yych = *(mrk = ++cur); @@ -647,9 +712,9 @@ yy38: default: goto yy126; } yy39: -#line 308 "src/parser.re" +#line 373 "src/parser.re" { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_INT; goto start; } -#line 653 "src/parser.c" +#line 718 "src/parser.c" yy40: yyaccept = 3; mrk = ++cur; @@ -677,14 +742,14 @@ yy40: } yy42: ++cur; -#line 337 "src/parser.re" +#line 402 "src/parser.re" { NEWTOKEN(PSI_T_COLON); goto start; } -#line 683 "src/parser.c" +#line 748 "src/parser.c" yy44: ++cur; -#line 335 "src/parser.re" +#line 400 "src/parser.re" { NEWTOKEN(PSI_T_EOS); goto start; } -#line 688 "src/parser.c" +#line 753 "src/parser.c" yy46: yyaccept = 4; yych = *(mrk = ++cur); @@ -760,9 +825,9 @@ yy46: default: goto yy47; } yy47: -#line 362 "src/parser.re" +#line 427 "src/parser.re" { NEWTOKEN(PSI_T_LCHEVR); goto start; } -#line 766 "src/parser.c" +#line 831 "src/parser.c" yy48: yych = *++cur; switch (yych) { @@ -770,9 +835,9 @@ yy48: default: goto yy49; } yy49: -#line 346 "src/parser.re" +#line 411 "src/parser.re" { NEWTOKEN(PSI_T_EQUALS); goto start; } -#line 776 "src/parser.c" +#line 841 "src/parser.c" yy50: yych = *++cur; switch (yych) { @@ -781,32 +846,34 @@ yy50: default: goto yy51; } yy51: -#line 363 "src/parser.re" +#line 428 "src/parser.re" { NEWTOKEN(PSI_T_RCHEVR); goto start; } -#line 787 "src/parser.c" +#line 852 "src/parser.c" yy52: ++cur; -#line 366 "src/parser.re" +#line 431 "src/parser.re" { NEWTOKEN(PSI_T_IIF); goto start; } -#line 792 "src/parser.c" +#line 857 "src/parser.c" yy54: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'R': case 'r': goto yy145; + case 'S': + case 's': goto yy146; default: goto yy62; } yy55: -#line 440 "src/parser.re" +#line 506 "src/parser.re" { NEWTOKEN(PSI_T_NAME); goto start; } -#line 804 "src/parser.c" +#line 871 "src/parser.c" yy56: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'O': - case 'o': goto yy147; + case 'o': goto yy149; default: goto yy62; } yy57: @@ -814,9 +881,9 @@ yy57: yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy148; + case 'a': goto yy150; case 'O': - case 'o': goto yy149; + case 'o': goto yy151; default: goto yy62; } yy58: @@ -824,7 +891,7 @@ yy58: yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy150; + case 'e': goto yy152; default: goto yy62; } yy59: @@ -832,11 +899,11 @@ yy59: yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy151; + case 'l': goto yy153; case 'N': - case 'n': goto yy152; + case 'n': goto yy154; case 'R': - case 'r': goto yy153; + case 'r': goto yy155; default: goto yy62; } yy60: @@ -844,13 +911,13 @@ yy60: yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy154; + case 'a': goto yy156; case 'L': - case 'l': goto yy155; + case 'l': goto yy157; case 'R': - case 'r': goto yy156; + case 'r': goto yy158; case 'U': - case 'u': goto yy157; + case 'u': goto yy159; default: goto yy62; } yy61: @@ -924,7 +991,7 @@ yy62: case '}': case '~': case 0x7F: goto yy55; - case '\\': goto yy146; + case '\\': goto yy148; default: goto yy61; } yy63: @@ -932,9 +999,9 @@ yy63: yych = *(mrk = ++cur); switch (yych) { case 'F': - case 'f': goto yy158; + case 'f': goto yy160; case 'N': - case 'n': goto yy160; + case 'n': goto yy162; default: goto yy62; } yy64: @@ -942,11 +1009,11 @@ yy64: yych = *(mrk = ++cur); switch (yych) { case '"': - case '\'': goto yy161; + case '\'': goto yy163; case 'E': - case 'e': goto yy163; + case 'e': goto yy165; case 'I': - case 'i': goto yy164; + case 'i': goto yy166; default: goto yy62; } yy65: @@ -954,7 +1021,7 @@ yy65: yych = *(mrk = ++cur); switch (yych) { case 'I': - case 'i': goto yy165; + case 'i': goto yy167; default: goto yy62; } yy66: @@ -962,7 +1029,7 @@ yy66: yych = *(mrk = ++cur); switch (yych) { case 'U': - case 'u': goto yy166; + case 'u': goto yy168; default: goto yy62; } yy67: @@ -970,7 +1037,7 @@ yy67: yych = *(mrk = ++cur); switch (yych) { case 'B': - case 'b': goto yy167; + case 'b': goto yy169; default: goto yy62; } yy68: @@ -978,11 +1045,11 @@ yy68: yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy168; + case 'a': goto yy170; case 'O': - case 'o': goto yy169; + case 'o': goto yy171; case 'R': - case 'r': goto yy170; + case 'r': goto yy172; default: goto yy62; } yy69: @@ -990,7 +1057,7 @@ yy69: yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy171; + case 'e': goto yy173; default: goto yy62; } yy70: @@ -998,9 +1065,9 @@ yy70: yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy172; + case 'e': goto yy174; case 'T': - case 't': goto yy173; + case 't': goto yy175; default: goto yy62; } yy71: @@ -1008,11 +1075,11 @@ yy71: yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy174; + case 'e': goto yy176; case 'O': - case 'o': goto yy175; + case 'o': goto yy177; case 'R': - case 'r': goto yy176; + case 'r': goto yy178; default: goto yy62; } yy72: @@ -1020,9 +1087,9 @@ yy72: yych = *(mrk = ++cur); switch (yych) { case '"': - case '\'': goto yy177; + case '\'': goto yy179; case 'N': - case 'n': goto yy179; + case 'n': goto yy181; default: goto yy62; } yy73: @@ -1030,7 +1097,7 @@ yy73: yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy180; + case 'a': goto yy182; default: goto yy62; } yy74: @@ -1038,14 +1105,14 @@ yy74: yych = *(mrk = ++cur); switch (yych) { case 'V': - case 'v': goto yy181; + case 'v': goto yy183; default: goto yy62; } yy75: ++cur; -#line 340 "src/parser.re" +#line 405 "src/parser.re" { NEWTOKEN(PSI_T_LBRACKET); goto start; } -#line 1049 "src/parser.c" +#line 1116 "src/parser.c" yy77: yych = *++cur; switch (yych) { @@ -1124,35 +1191,35 @@ yy77: case '}': case '~': case 0x7F: goto yy78; - default: goto yy182; + default: goto yy184; } yy78: -#line 355 "src/parser.re" +#line 420 "src/parser.re" { NEWTOKEN(PSI_T_BSLASH); goto start; } -#line 1133 "src/parser.c" +#line 1200 "src/parser.c" yy79: ++cur; -#line 341 "src/parser.re" +#line 406 "src/parser.re" { NEWTOKEN(PSI_T_RBRACKET); goto start; } -#line 1138 "src/parser.c" +#line 1205 "src/parser.c" yy81: ++cur; -#line 357 "src/parser.re" +#line 422 "src/parser.re" { NEWTOKEN(PSI_T_CARET); goto start; } -#line 1143 "src/parser.c" +#line 1210 "src/parser.c" yy83: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy185; + case '_': goto yy187; default: goto yy62; } yy84: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'O': goto yy147; - case 'o': goto yy186; + case 'O': goto yy149; + case 'o': goto yy188; default: goto yy62; } yy85: @@ -1160,10 +1227,10 @@ yy85: yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy148; - case 'O': goto yy149; - case 'h': goto yy187; - case 'o': goto yy188; + case 'a': goto yy150; + case 'O': goto yy151; + case 'h': goto yy189; + case 'o': goto yy190; default: goto yy62; } yy86: @@ -1171,8 +1238,8 @@ yy86: yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy150; - case 'o': goto yy189; + case 'e': goto yy152; + case 'o': goto yy191; default: goto yy62; } yy87: @@ -1180,11 +1247,11 @@ yy87: yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy151; - case 'N': goto yy152; + case 'l': goto yy153; + case 'N': goto yy154; case 'R': - case 'r': goto yy153; - case 'n': goto yy190; + case 'r': goto yy155; + case 'n': goto yy192; default: goto yy62; } yy88: @@ -1192,13 +1259,13 @@ yy88: yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy154; - case 'L': goto yy155; + case 'a': goto yy156; + case 'L': goto yy157; case 'R': - case 'r': goto yy156; + case 'r': goto yy158; case 'U': - case 'u': goto yy157; - case 'l': goto yy191; + case 'u': goto yy159; + case 'l': goto yy193; default: goto yy62; } yy89: @@ -1206,9 +1273,9 @@ yy89: yych = *(mrk = ++cur); switch (yych) { case 'F': - case 'f': goto yy158; - case 'N': goto yy160; - case 'n': goto yy192; + case 'f': goto yy160; + case 'N': goto yy162; + case 'n': goto yy194; default: goto yy62; } yy90: @@ -1216,10 +1283,10 @@ yy90: yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy163; - case 'I': goto yy164; - case 'i': goto yy193; - case 'o': goto yy194; + case 'e': goto yy165; + case 'I': goto yy166; + case 'i': goto yy195; + case 'o': goto yy196; default: goto yy62; } yy91: @@ -1227,11 +1294,11 @@ yy91: yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy168; + case 'a': goto yy170; case 'O': - case 'o': goto yy169; - case 'R': goto yy170; - case 'r': goto yy195; + case 'o': goto yy171; + case 'R': goto yy172; + case 'r': goto yy197; default: goto yy62; } yy92: @@ -1239,11 +1306,11 @@ yy92: yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy172; - case 'T': goto yy173; - case 'h': goto yy196; - case 'i': goto yy197; - case 't': goto yy198; + case 'e': goto yy174; + case 'T': goto yy175; + case 'h': goto yy198; + case 'i': goto yy199; + case 't': goto yy200; default: goto yy62; } yy93: @@ -1251,12 +1318,12 @@ yy93: yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy174; + case 'e': goto yy176; case 'O': - case 'o': goto yy175; + case 'o': goto yy177; case 'R': - case 'r': goto yy176; - case 'y': goto yy199; + case 'r': goto yy178; + case 'y': goto yy201; default: goto yy62; } yy94: @@ -1264,54 +1331,54 @@ yy94: yych = *(mrk = ++cur); switch (yych) { case '"': - case '\'': goto yy200; - case '8': goto yy202; - case 'N': goto yy179; - case 'n': goto yy203; + case '\'': goto yy202; + case '8': goto yy204; + case 'N': goto yy181; + case 'n': goto yy205; default: goto yy62; } yy95: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'o': goto yy204; + case 'o': goto yy206; default: goto yy62; } yy96: ++cur; -#line 338 "src/parser.re" +#line 403 "src/parser.re" { NEWTOKEN(PSI_T_LBRACE); goto start; } -#line 1285 "src/parser.c" +#line 1352 "src/parser.c" yy98: yych = *++cur; switch (yych) { - case '|': goto yy205; + case '|': goto yy207; default: goto yy99; } yy99: -#line 356 "src/parser.re" +#line 421 "src/parser.re" { NEWTOKEN(PSI_T_PIPE); goto start; } -#line 1295 "src/parser.c" +#line 1362 "src/parser.c" yy100: ++cur; -#line 339 "src/parser.re" +#line 404 "src/parser.re" { NEWTOKEN(PSI_T_RBRACE); goto start; } -#line 1300 "src/parser.c" +#line 1367 "src/parser.c" yy102: ++cur; -#line 348 "src/parser.re" +#line 413 "src/parser.re" { NEWTOKEN(PSI_T_TILDE); goto start; } -#line 1305 "src/parser.c" +#line 1372 "src/parser.c" yy104: ++cur; -#line 342 "src/parser.re" +#line 407 "src/parser.re" { NEWTOKEN(PSI_T_CMP_NE); goto start; } -#line 1310 "src/parser.c" +#line 1377 "src/parser.c" yy106: ++cur; -#line 331 "src/parser.re" +#line 396 "src/parser.re" { NEWTOKEN(PSI_T_CPP_PASTE); goto start; } -#line 1315 "src/parser.c" +#line 1382 "src/parser.c" yy108: ++cur; if (lim <= cur) if (cur >= lim) goto done;; @@ -1385,14 +1452,14 @@ yy108: default: goto yy108; } yy110: -#line 442 "src/parser.re" +#line 508 "src/parser.re" { NEWTOKEN(PSI_T_DOLLAR_NAME); goto start; } -#line 1391 "src/parser.c" +#line 1458 "src/parser.c" yy111: ++cur; -#line 344 "src/parser.re" +#line 409 "src/parser.re" { NEWTOKEN(PSI_T_AND); goto start; } -#line 1396 "src/parser.c" +#line 1463 "src/parser.c" yy113: yych = *++cur; switch (yych) { @@ -1419,85 +1486,86 @@ yy114: case 5: goto yy55; case 6: goto yy118; case 7: goto yy129; - case 8: goto yy159; - case 9: goto yy184; - case 10: goto yy240; + case 8: goto yy147; + case 9: goto yy161; + case 10: goto yy186; case 11: goto yy242; - case 12: goto yy251; - case 13: goto yy271; - case 14: goto yy303; + case 12: goto yy244; + case 13: goto yy253; + case 14: goto yy273; case 15: goto yy305; - case 16: goto yy311; - case 17: goto yy319; - case 18: goto yy331; - case 19: goto yy339; - case 20: goto yy343; - case 21: goto yy350; + case 16: goto yy307; + case 17: goto yy313; + case 18: goto yy321; + case 19: goto yy333; + case 20: goto yy341; + case 21: goto yy345; case 22: goto yy352; - case 23: goto yy356; - case 24: goto yy359; + case 23: goto yy354; + case 24: goto yy358; case 25: goto yy361; - case 26: goto yy371; - case 27: goto yy374; - case 28: goto yy381; - case 29: goto yy384; + case 26: goto yy363; + case 27: goto yy373; + case 28: goto yy376; + case 29: goto yy383; case 30: goto yy386; case 31: goto yy388; - case 32: goto yy392; - case 33: goto yy397; - case 34: goto yy415; - case 35: goto yy423; - case 36: goto yy426; - case 37: goto yy429; - case 38: goto yy435; - case 39: goto yy439; - case 40: goto yy444; + case 32: goto yy390; + case 33: goto yy394; + case 34: goto yy399; + case 35: goto yy417; + case 36: goto yy425; + case 37: goto yy428; + case 38: goto yy431; + case 39: goto yy437; + case 40: goto yy441; case 41: goto yy446; - case 42: goto yy450; - case 43: goto yy453; + case 42: goto yy448; + case 43: goto yy452; case 44: goto yy455; case 45: goto yy457; - case 46: goto yy462; + case 46: goto yy459; case 47: goto yy464; case 48: goto yy466; case 49: goto yy468; case 50: goto yy470; - case 51: goto yy475; - case 52: goto yy485; + case 51: goto yy472; + case 52: goto yy477; case 53: goto yy487; case 54: goto yy489; case 55: goto yy491; case 56: goto yy493; - case 57: goto yy498; - case 58: goto yy502; - case 59: goto yy506; + case 57: goto yy495; + case 58: goto yy500; + case 59: goto yy504; case 60: goto yy508; - case 61: goto yy513; - case 62: goto yy518; + case 61: goto yy510; + case 62: goto yy515; case 63: goto yy520; - case 64: goto yy528; - case 65: goto yy532; + case 64: goto yy522; + case 65: goto yy530; case 66: goto yy534; case 67: goto yy536; case 68: goto yy538; - case 69: goto yy543; + case 69: goto yy540; case 70: goto yy545; - case 71: goto yy551; - case 72: goto yy556; + case 71: goto yy547; + case 72: goto yy553; case 73: goto yy558; - case 74: goto yy563; + case 74: goto yy560; case 75: goto yy565; - case 76: goto yy573; - case 77: goto yy577; - case 78: goto yy581; - case 79: goto yy585; + case 76: goto yy567; + case 77: goto yy575; + case 78: goto yy579; + case 79: goto yy583; case 80: goto yy587; - default: goto yy592; + case 81: goto yy589; + default: goto yy594; } yy115: yych = *++cur; switch (yych) { - case '.': goto yy207; + case '.': goto yy209; default: goto yy114; } yy116: @@ -1517,27 +1585,27 @@ yy116: case '8': case '9': goto yy116; case 'D': - case 'd': goto yy209; + case 'd': goto yy211; case 'F': - case 'f': goto yy210; + case 'f': goto yy212; case 'L': - case 'l': goto yy212; + case 'l': goto yy214; default: goto yy118; } yy118: -#line 314 "src/parser.re" +#line 379 "src/parser.re" { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT; goto start; } -#line 1531 "src/parser.c" +#line 1599 "src/parser.c" yy119: ++cur; -#line 328 "src/parser.re" +#line 393 "src/parser.re" { goto comment; } -#line 1536 "src/parser.c" +#line 1604 "src/parser.c" yy121: ++cur; -#line 329 "src/parser.re" +#line 394 "src/parser.re" { goto comment_sl; } -#line 1541 "src/parser.c" +#line 1609 "src/parser.c" yy123: yyaccept = 6; mrk = ++cur; @@ -1555,13 +1623,13 @@ yy123: case '8': case '9': goto yy123; case 'D': - case 'd': goto yy209; + case 'd': goto yy211; case 'E': case 'e': goto yy127; case 'F': - case 'f': goto yy210; + case 'f': goto yy212; case 'L': - case 'l': goto yy212; + case 'l': goto yy214; default: goto yy118; } yy125: @@ -1606,28 +1674,28 @@ yy128: yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy214; + case 'l': goto yy216; case 'U': - case 'u': goto yy215; + case 'u': goto yy217; default: goto yy129; } yy129: cur -= 1; -#line 310 "src/parser.re" +#line 375 "src/parser.re" { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_INT | PSI_NUMBER_L; cur += 1; goto start; } -#line 1619 "src/parser.c" +#line 1687 "src/parser.c" yy130: yych = *++cur; switch (yych) { case 'L': - case 'l': goto yy217; + case 'l': goto yy219; default: goto yy131; } yy131: cur -= 1; -#line 309 "src/parser.re" +#line 374 "src/parser.re" { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_INT | PSI_NUMBER_U; cur += 1; goto start; } -#line 1631 "src/parser.c" +#line 1699 "src/parser.c" yy132: yych = *++cur; switch (yych) { @@ -1652,7 +1720,7 @@ yy132: case 'c': case 'd': case 'e': - case 'f': goto yy218; + case 'f': goto yy220; default: goto yy114; } yy133: @@ -1726,43 +1794,118 @@ yy133: case 'x': case 'y': case 'z': goto yy133; - case '>': goto yy220; + case '>': goto yy222; default: goto yy114; } yy135: ++cur; -#line 358 "src/parser.re" +#line 423 "src/parser.re" { NEWTOKEN(PSI_T_LSHIFT); goto start; } -#line 1737 "src/parser.c" +#line 1805 "src/parser.c" yy137: ++cur; -#line 360 "src/parser.re" +#line 425 "src/parser.re" { NEWTOKEN(PSI_T_CMP_LE); goto start; } -#line 1742 "src/parser.c" +#line 1810 "src/parser.c" yy139: ++cur; -#line 343 "src/parser.re" +#line 408 "src/parser.re" { NEWTOKEN(PSI_T_CMP_EQ); goto start; } -#line 1747 "src/parser.c" +#line 1815 "src/parser.c" yy141: ++cur; -#line 361 "src/parser.re" +#line 426 "src/parser.re" { NEWTOKEN(PSI_T_CMP_GE); goto start; } -#line 1752 "src/parser.c" +#line 1820 "src/parser.c" yy143: ++cur; -#line 359 "src/parser.re" +#line 424 "src/parser.re" { NEWTOKEN(PSI_T_RSHIFT); goto start; } -#line 1757 "src/parser.c" +#line 1825 "src/parser.c" yy145: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'R': - case 'r': goto yy222; + case 'r': goto yy224; default: goto yy62; } yy146: + yyaccept = 8; + yych = *(mrk = ++cur); + 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 '~': + case 0x7F: goto yy147; + case '\\': goto yy148; + default: goto yy61; + } +yy147: +#line 486 "src/parser.re" + { NEWTOKEN(PSI_T_AS); goto start; } +#line 1908 "src/parser.c" +yy148: ++cur; if (lim <= cur) if (cur >= lim) goto done;; yych = *cur; @@ -1842,100 +1985,100 @@ yy146: case '}': case '~': case 0x7F: goto yy114; - default: goto yy182; + default: goto yy184; } -yy147: +yy149: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'O': - case 'o': goto yy223; + case 'o': goto yy225; default: goto yy62; } -yy148: +yy150: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy224; + case 'l': goto yy226; default: goto yy62; } -yy149: +yy151: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'U': - case 'u': goto yy225; + case 'u': goto yy227; default: goto yy62; } -yy150: +yy152: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'F': - case 'f': goto yy226; + case 'f': goto yy228; default: goto yy62; } -yy151: +yy153: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'I': - case 'i': goto yy227; + case 'i': goto yy229; case 'S': - case 's': goto yy228; + case 's': goto yy230; default: goto yy62; } -yy152: +yy154: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'D': - case 'd': goto yy229; + case 'd': goto yy231; default: goto yy62; } -yy153: +yy155: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'R': - case 'r': goto yy230; + case 'r': goto yy232; default: goto yy62; } -yy154: +yy156: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy231; + case 'l': goto yy233; default: goto yy62; } -yy155: +yy157: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'O': - case 'o': goto yy232; + case 'o': goto yy234; default: goto yy62; } -yy156: +yy158: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy233; + case 'e': goto yy235; default: goto yy62; } -yy157: +yy159: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'N': - case 'n': goto yy234; + case 'n': goto yy236; default: goto yy62; } -yy158: - yyaccept = 8; +yy160: + yyaccept = 9; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -2001,179 +2144,179 @@ yy158: case '|': case '}': case '~': - case 0x7F: goto yy159; + case 0x7F: goto yy161; case 'D': - case 'd': goto yy235; + case 'd': goto yy237; case 'N': - case 'n': goto yy236; - case '\\': goto yy146; + case 'n': goto yy238; + case '\\': goto yy148; default: goto yy61; } -yy159: -#line 391 "src/parser.re" +yy161: +#line 456 "src/parser.re" { NEWTOKEN(PSI_T_IF); goto start; } -#line 2016 "src/parser.c" -yy160: +#line 2159 "src/parser.c" +yy162: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'C': - case 'c': goto yy237; + case 'c': goto yy239; case 'T': - case 't': goto yy238; + case 't': goto yy240; default: goto yy62; } -yy161: +yy163: ++cur; cur -= 1; -#line 326 "src/parser.re" - { char_width = SIZEOF_WCHAR_T/8; } -#line 2032 "src/parser.c" -yy163: +#line 391 "src/parser.re" + { char_width = sizeof(wchar_t)/8; } +#line 2175 "src/parser.c" +yy165: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy239; + case 't': goto yy241; default: goto yy62; } -yy164: +yy166: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'B': - case 'b': goto yy241; + case 'b': goto yy243; default: goto yy62; } -yy165: +yy167: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'X': - case 'x': goto yy243; + case 'x': goto yy245; default: goto yy62; } -yy166: +yy168: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy244; + case 'l': goto yy246; default: goto yy62; } -yy167: +yy169: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'J': - case 'j': goto yy245; + case 'j': goto yy247; default: goto yy62; } -yy168: +yy170: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy246; + case 't': goto yy248; default: goto yy62; } -yy169: +yy171: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'S': - case 's': goto yy247; + case 's': goto yy249; default: goto yy62; } -yy170: +yy172: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy248; + case 'e': goto yy250; default: goto yy62; } -yy171: +yy173: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy249; + case 't': goto yy251; default: goto yy62; } -yy172: +yy174: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy250; + case 't': goto yy252; default: goto yy62; } -yy173: +yy175: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy252; + case 'a': goto yy254; case 'R': - case 'r': goto yy253; + case 'r': goto yy255; default: goto yy62; } -yy174: +yy176: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'M': - case 'm': goto yy254; + case 'm': goto yy256; default: goto yy62; } -yy175: +yy177: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy255; + case '_': goto yy257; default: goto yy62; } -yy176: +yy178: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'U': - case 'u': goto yy256; + case 'u': goto yy258; default: goto yy62; } -yy177: +yy179: ++cur; cur -= 1; -#line 325 "src/parser.re" +#line 390 "src/parser.re" { char_width = 4; } -#line 2151 "src/parser.c" -yy179: +#line 2294 "src/parser.c" +yy181: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'D': - case 'd': goto yy257; + case 'd': goto yy259; default: goto yy62; } -yy180: +yy182: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'R': - case 'r': goto yy258; + case 'r': goto yy260; default: goto yy62; } -yy181: +yy183: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy259; + case 'a': goto yy261; default: goto yy62; } -yy182: - yyaccept = 9; +yy184: + yyaccept = 10; mrk = ++cur; if (lim <= cur) if (cur >= lim) goto done;; yych = *cur; @@ -2241,231 +2384,231 @@ yy182: case '|': case '}': case '~': - case 0x7F: goto yy184; - case '\\': goto yy146; - default: goto yy182; - } -yy184: -#line 441 "src/parser.re" - { NEWTOKEN(PSI_T_NSNAME); goto start; } -#line 2252 "src/parser.c" -yy185: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'a': goto yy260; - case 'e': goto yy261; - case 'i': goto yy262; - case 'r': goto yy263; - default: goto yy62; + case 0x7F: goto yy186; + case '\\': goto yy148; + default: goto yy184; } yy186: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'O': goto yy223; - case 'o': goto yy264; - default: goto yy62; - } +#line 507 "src/parser.re" + { NEWTOKEN(PSI_T_NSNAME); goto start; } +#line 2395 "src/parser.c" yy187: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'a': goto yy265; + case 'a': goto yy262; + case 'e': goto yy263; + case 'i': goto yy264; + case 'r': goto yy265; default: goto yy62; } yy188: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'U': - case 'u': goto yy225; - case 'n': goto yy266; + case 'O': goto yy225; + case 'o': goto yy266; default: goto yy62; } yy189: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'u': goto yy267; + case 'a': goto yy267; default: goto yy62; } yy190: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'D': - case 'd': goto yy229; - case 'u': goto yy268; + case 'U': + case 'u': goto yy227; + case 'n': goto yy268; default: goto yy62; } yy191: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'O': goto yy232; - case 'o': goto yy269; + case 'u': goto yy269; default: goto yy62; } yy192: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'C': - case 'c': goto yy237; - case 'T': goto yy238; - case 't': goto yy270; + case 'D': + case 'd': goto yy231; + case 'u': goto yy270; default: goto yy62; } yy193: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'B': - case 'b': goto yy241; - case 'n': goto yy272; + case 'O': goto yy234; + case 'o': goto yy271; default: goto yy62; } yy194: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'n': goto yy273; + case 'C': + case 'c': goto yy239; + case 'T': goto yy240; + case 't': goto yy272; default: goto yy62; } yy195: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'E': - case 'e': goto yy248; - case 'a': goto yy274; + case 'B': + case 'b': goto yy243; + case 'n': goto yy274; default: goto yy62; } yy196: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'o': goto yy275; + case 'n': goto yy275; default: goto yy62; } yy197: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'g': goto yy276; - case 'z': goto yy277; + case 'E': + case 'e': goto yy250; + case 'a': goto yy276; default: goto yy62; } yy198: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'A': - case 'a': goto yy252; - case 'R': goto yy253; - case 'r': goto yy278; + case 'o': goto yy277; default: goto yy62; } yy199: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'p': goto yy279; + case 'g': goto yy278; + case 'z': goto yy279; default: goto yy62; } yy200: - ++cur; - cur -= 1; -#line 324 "src/parser.re" - { char_width = 2; } -#line 2383 "src/parser.c" -yy202: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case '"': goto yy280; + case 'A': + case 'a': goto yy254; + case 'R': goto yy255; + case 'r': goto yy280; default: goto yy62; } -yy203: +yy201: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'D': - case 'd': goto yy257; - case 'i': goto yy282; - case 's': goto yy283; + case 'p': goto yy281; default: goto yy62; } +yy202: + ++cur; + cur -= 1; +#line 389 "src/parser.re" + { char_width = 2; } +#line 2526 "src/parser.c" yy204: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'i': goto yy284; - case 'l': goto yy285; + case '"': goto yy282; default: goto yy62; } yy205: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'D': + case 'd': goto yy259; + case 'i': goto yy284; + case 's': goto yy285; + default: goto yy62; + } +yy206: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'i': goto yy286; + case 'l': goto yy287; + default: goto yy62; + } +yy207: ++cur; -#line 345 "src/parser.re" +#line 410 "src/parser.re" { NEWTOKEN(PSI_T_OR); goto start; } -#line 2413 "src/parser.c" -yy207: +#line 2556 "src/parser.c" +yy209: ++cur; -#line 365 "src/parser.re" +#line 430 "src/parser.re" { NEWTOKEN(PSI_T_ELLIPSIS); goto start; } -#line 2418 "src/parser.c" -yy209: +#line 2561 "src/parser.c" +yy211: yych = *++cur; switch (yych) { case 'D': - case 'd': goto yy286; + case 'd': goto yy288; case 'F': - case 'f': goto yy288; + case 'f': goto yy290; case 'L': - case 'l': goto yy290; + case 'l': goto yy292; default: goto yy114; } -yy210: +yy212: ++cur; cur -= 1; -#line 315 "src/parser.re" +#line 380 "src/parser.re" { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT | PSI_NUMBER_F; cur += 1; goto start; } -#line 2435 "src/parser.c" -yy212: +#line 2578 "src/parser.c" +yy214: ++cur; cur -= 1; -#line 316 "src/parser.re" +#line 381 "src/parser.re" { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT | PSI_NUMBER_L; cur += 1; goto start; } -#line 2441 "src/parser.c" -yy214: +#line 2584 "src/parser.c" +yy216: yych = *++cur; switch (yych) { case 'U': - case 'u': goto yy292; + case 'u': goto yy294; default: goto yy114; } -yy215: +yy217: ++cur; -yy216: +yy218: cur -= 2; -#line 311 "src/parser.re" +#line 376 "src/parser.re" { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_INT | PSI_NUMBER_UL; cur += 2; goto start; } -#line 2455 "src/parser.c" -yy217: +#line 2598 "src/parser.c" +yy219: yych = *++cur; switch (yych) { case 'L': - case 'l': goto yy292; - default: goto yy216; + case 'l': goto yy294; + default: goto yy218; } -yy218: +yy220: yyaccept = 3; mrk = ++cur; if ((lim - cur) < 3) if (cur >= lim) goto done;; yych = *cur; switch (yych) { - case '.': goto yy294; + case '.': goto yy296; case '0': case '1': case '2': @@ -2487,7 +2630,7 @@ yy218: case 'c': case 'd': case 'e': - case 'f': goto yy218; + case 'f': goto yy220; case 'L': case 'l': goto yy128; case 'P': @@ -2496,151 +2639,151 @@ yy218: case 'u': goto yy130; default: goto yy39; } -yy220: +yy222: ++cur; -#line 443 "src/parser.re" +#line 509 "src/parser.re" { tok += 1; cur -= 1; NEWTOKEN(PSI_T_CPP_HEADER); cur += 1; goto start; } -#line 2504 "src/parser.c" -yy222: +#line 2647 "src/parser.c" +yy224: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy296; + case 'a': goto yy298; case 'V': - case 'v': goto yy297; + case 'v': goto yy299; default: goto yy62; } -yy223: +yy225: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy298; + case 'l': goto yy300; default: goto yy62; } -yy224: +yy226: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy299; + case 'l': goto yy301; default: goto yy62; } -yy225: +yy227: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'N': - case 'n': goto yy300; + case 'n': goto yy302; default: goto yy62; } -yy226: +yy228: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'I': - case 'i': goto yy301; + case 'i': goto yy303; default: goto yy62; } -yy227: +yy229: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'F': - case 'f': goto yy302; + case 'f': goto yy304; default: goto yy62; } -yy228: +yy230: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy304; + case 'e': goto yy306; default: goto yy62; } -yy229: +yy231: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'I': - case 'i': goto yy306; + case 'i': goto yy308; default: goto yy62; } -yy230: +yy232: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'O': - case 'o': goto yy307; + case 'o': goto yy309; default: goto yy62; } -yy231: +yy233: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'S': - case 's': goto yy308; + case 's': goto yy310; default: goto yy62; } -yy232: +yy234: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy309; + case 'a': goto yy311; default: goto yy62; } -yy233: +yy235: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy310; + case 'e': goto yy312; default: goto yy62; } -yy234: +yy236: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'C': - case 'c': goto yy312; + case 'c': goto yy314; default: goto yy62; } -yy235: +yy237: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy313; + case 'e': goto yy315; default: goto yy62; } -yy236: +yy238: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'D': - case 'd': goto yy314; + case 'd': goto yy316; default: goto yy62; } -yy237: +yy239: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy315; + case 'l': goto yy317; default: goto yy62; } -yy238: +yy240: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'V': - case 'v': goto yy316; + case 'v': goto yy318; default: goto yy62; } -yy239: - yyaccept = 10; +yy241: + yyaccept = 11; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -2706,16 +2849,16 @@ yy239: case '|': case '}': case '~': - case 0x7F: goto yy240; - case '\\': goto yy146; + case 0x7F: goto yy242; + case '\\': goto yy148; default: goto yy61; } -yy240: -#line 416 "src/parser.re" +yy242: +#line 481 "src/parser.re" { NEWTOKEN(PSI_T_LET); goto start; } -#line 2717 "src/parser.c" -yy241: - yyaccept = 11; +#line 2860 "src/parser.c" +yy243: + yyaccept = 12; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -2781,73 +2924,73 @@ yy241: case '|': case '}': case '~': - case 0x7F: goto yy242; - case '\\': goto yy146; + case 0x7F: goto yy244; + case '\\': goto yy148; default: goto yy61; } -yy242: -#line 415 "src/parser.re" +yy244: +#line 480 "src/parser.re" { NEWTOKEN(PSI_T_LIB); goto start; } -#line 2792 "src/parser.c" -yy243: +#line 2935 "src/parser.c" +yy245: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy317; + case 'e': goto yy319; default: goto yy62; } -yy244: +yy246: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy318; + case 'l': goto yy320; default: goto yy62; } -yy245: +yy247: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy320; + case 'e': goto yy322; case 'V': - case 'v': goto yy321; + case 'v': goto yy323; default: goto yy62; } -yy246: +yy248: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'H': - case 'h': goto yy322; + case 'h': goto yy324; default: goto yy62; } -yy247: +yy249: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy323; + case 't': goto yy325; default: goto yy62; } -yy248: +yy250: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy324; + case '_': goto yy326; default: goto yy62; } -yy249: +yy251: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'U': - case 'u': goto yy325; + case 'u': goto yy327; default: goto yy62; } -yy250: - yyaccept = 12; +yy252: + yyaccept = 13; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -2913,69 +3056,61 @@ yy250: case '|': case '}': case '~': - case 0x7F: goto yy251; - case '\\': goto yy146; + case 0x7F: goto yy253; + case '\\': goto yy148; default: goto yy61; } -yy251: -#line 417 "src/parser.re" +yy253: +#line 482 "src/parser.re" { NEWTOKEN(PSI_T_SET); goto start; } -#line 2924 "src/parser.c" -yy252: +#line 3067 "src/parser.c" +yy254: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy326; + case 't': goto yy328; default: goto yy62; } -yy253: +yy255: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'I': - case 'i': goto yy327; + case 'i': goto yy329; case 'L': - case 'l': goto yy328; + case 'l': goto yy330; case 'V': - case 'v': goto yy329; + case 'v': goto yy331; default: goto yy62; } -yy254: +yy256: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'P': - case 'p': goto yy330; + case 'p': goto yy332; default: goto yy62; } -yy255: +yy257: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy332; + case 'a': goto yy334; case 'B': - case 'b': goto yy333; + case 'b': goto yy335; case 'F': - case 'f': goto yy334; + case 'f': goto yy336; case 'I': - case 'i': goto yy335; + case 'i': goto yy337; case 'O': - case 'o': goto yy336; + case 'o': goto yy338; case 'S': - case 's': goto yy337; - default: goto yy62; - } -yy256: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'E': - case 'e': goto yy338; + case 's': goto yy339; default: goto yy62; } -yy257: +yy258: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { @@ -2983,97 +3118,105 @@ yy257: case 'e': goto yy340; default: goto yy62; } -yy258: - yyaccept = 5; - yych = *(mrk = ++cur); - switch (yych) { - case 'N': - case 'n': goto yy341; - default: goto yy62; - } yy259: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'L': - case 'l': goto yy342; + case 'E': + case 'e': goto yy342; default: goto yy62; } yy260: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 's': goto yy344; - case 't': goto yy345; + case 'N': + case 'n': goto yy343; default: goto yy62; } yy261: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'x': goto yy346; + case 'L': + case 'l': goto yy344; default: goto yy62; } yy262: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'n': goto yy347; + case 's': goto yy346; + case 't': goto yy347; default: goto yy62; } yy263: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'e': goto yy348; + case 'x': goto yy348; default: goto yy62; } yy264: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'L': goto yy298; - case 'l': goto yy349; + case 'n': goto yy349; default: goto yy62; } yy265: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'r': goto yy351; + case 'e': goto yy350; default: goto yy62; } yy266: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 's': goto yy353; + case 'L': goto yy300; + case 'l': goto yy351; default: goto yy62; } yy267: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'b': goto yy354; + case 'r': goto yy353; default: goto yy62; } yy268: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'm': goto yy355; + case 's': goto yy355; default: goto yy62; } yy269: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'A': goto yy309; - case 'a': goto yy357; + case 'b': goto yy356; default: goto yy62; } yy270: - yyaccept = 13; + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'm': goto yy357; + default: goto yy62; + } +yy271: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'A': goto yy311; + case 'a': goto yy359; + default: goto yy62; + } +yy272: + yyaccept = 14; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -3139,137 +3282,137 @@ yy270: case '|': case '}': case '~': - case 0x7F: goto yy271; + case 0x7F: goto yy273; case 'V': - case 'v': goto yy316; - case '\\': goto yy146; + case 'v': goto yy318; + case '\\': goto yy148; default: goto yy61; } -yy271: -#line 385 "src/parser.re" +yy273: +#line 450 "src/parser.re" { NEWTOKEN(PSI_T_INT); goto start; } -#line 3152 "src/parser.c" -yy272: +#line 3295 "src/parser.c" +yy274: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'e': goto yy358; + case 'e': goto yy360; default: goto yy62; } -yy273: +yy275: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'g': goto yy360; + case 'g': goto yy362; default: goto yy62; } -yy274: +yy276: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'g': goto yy362; + case 'g': goto yy364; default: goto yy62; } -yy275: +yy277: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'r': goto yy363; + case 'r': goto yy365; default: goto yy62; } -yy276: +yy278: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'n': goto yy364; + case 'n': goto yy366; default: goto yy62; } -yy277: +yy279: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'e': goto yy365; + case 'e': goto yy367; default: goto yy62; } -yy278: +yy280: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'I': - case 'i': goto yy327; + case 'i': goto yy329; case 'L': - case 'l': goto yy328; + case 'l': goto yy330; case 'V': - case 'v': goto yy329; - case 'u': goto yy366; + case 'v': goto yy331; + case 'u': goto yy368; default: goto yy62; } -yy279: +yy281: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'e': goto yy367; + case 'e': goto yy369; default: goto yy62; } -yy280: +yy282: ++cur; cur -= 1; -#line 323 "src/parser.re" +#line 388 "src/parser.re" { char_width = 1; } -#line 3220 "src/parser.c" -yy282: +#line 3363 "src/parser.c" +yy284: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'o': goto yy368; + case 'o': goto yy370; default: goto yy62; } -yy283: +yy285: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'i': goto yy369; + case 'i': goto yy371; default: goto yy62; } -yy284: +yy286: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'd': goto yy370; + case 'd': goto yy372; default: goto yy62; } -yy285: +yy287: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'a': goto yy372; + case 'a': goto yy374; default: goto yy62; } -yy286: +yy288: ++cur; cur -= 2; -#line 318 "src/parser.re" +#line 383 "src/parser.re" { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT | PSI_NUMBER_DD; cur += 2; goto start; } -#line 3254 "src/parser.c" -yy288: +#line 3397 "src/parser.c" +yy290: ++cur; cur -= 2; -#line 317 "src/parser.re" +#line 382 "src/parser.re" { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT | PSI_NUMBER_DF; cur += 2; goto start; } -#line 3260 "src/parser.c" -yy290: +#line 3403 "src/parser.c" +yy292: ++cur; cur -= 2; -#line 319 "src/parser.re" +#line 384 "src/parser.re" { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT | PSI_NUMBER_DL; cur += 2; goto start; } -#line 3266 "src/parser.c" -yy292: +#line 3409 "src/parser.c" +yy294: ++cur; cur -= 3; -#line 312 "src/parser.re" +#line 377 "src/parser.re" { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_INT | PSI_NUMBER_ULL; cur += 3; goto start; } -#line 3272 "src/parser.c" -yy294: +#line 3415 "src/parser.c" +yy296: ++cur; if ((lim - cur) < 3) if (cur >= lim) goto done;; yych = *cur; @@ -3295,65 +3438,65 @@ yy294: case 'c': case 'd': case 'e': - case 'f': goto yy294; + case 'f': goto yy296; case 'P': case 'p': goto yy127; default: goto yy114; } -yy296: +yy298: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'Y': - case 'y': goto yy373; + case 'y': goto yy375; default: goto yy62; } -yy297: +yy299: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy375; + case 'a': goto yy377; default: goto yy62; } -yy298: +yy300: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'V': - case 'v': goto yy376; + case 'v': goto yy378; default: goto yy62; } -yy299: +yy301: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy377; + case 'a': goto yy379; case 'B': - case 'b': goto yy378; + case 'b': goto yy380; case 'O': - case 'o': goto yy379; + case 'o': goto yy381; default: goto yy62; } -yy300: +yy302: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy380; + case 't': goto yy382; default: goto yy62; } -yy301: +yy303: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'N': - case 'n': goto yy382; + case 'n': goto yy384; default: goto yy62; } -yy302: - yyaccept = 14; +yy304: + yyaccept = 15; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -3419,16 +3562,16 @@ yy302: case '|': case '}': case '~': - case 0x7F: goto yy303; - case '\\': goto yy146; + case 0x7F: goto yy305; + case '\\': goto yy148; default: goto yy61; } -yy303: -#line 395 "src/parser.re" +yy305: +#line 460 "src/parser.re" { NEWTOKEN(PSI_T_ELIF); goto start; } -#line 3430 "src/parser.c" -yy304: - yyaccept = 15; +#line 3573 "src/parser.c" +yy306: + yyaccept = 16; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -3494,48 +3637,48 @@ yy304: case '|': case '}': case '~': - case 0x7F: goto yy305; - case '\\': goto yy146; + case 0x7F: goto yy307; + case '\\': goto yy148; default: goto yy61; } -yy305: -#line 394 "src/parser.re" +yy307: +#line 459 "src/parser.re" { NEWTOKEN(PSI_T_ELSE); goto start; } -#line 3505 "src/parser.c" -yy306: +#line 3648 "src/parser.c" +yy308: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'F': - case 'f': goto yy383; + case 'f': goto yy385; default: goto yy62; } -yy307: +yy309: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'R': - case 'r': goto yy385; + case 'r': goto yy387; default: goto yy62; } -yy308: +yy310: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy387; + case 'e': goto yy389; default: goto yy62; } -yy309: +yy311: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy389; + case 't': goto yy391; default: goto yy62; } -yy310: - yyaccept = 16; +yy312: + yyaccept = 17; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -3601,64 +3744,64 @@ yy310: case '|': case '}': case '~': - case 0x7F: goto yy311; - case '\\': goto yy146; + case 0x7F: goto yy313; + case '\\': goto yy148; default: goto yy61; } -yy311: -#line 421 "src/parser.re" +yy313: +#line 487 "src/parser.re" { NEWTOKEN(PSI_T_FREE); goto start; } -#line 3612 "src/parser.c" -yy312: +#line 3755 "src/parser.c" +yy314: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy390; + case 't': goto yy392; default: goto yy62; } -yy313: +yy315: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'F': - case 'f': goto yy391; + case 'f': goto yy393; default: goto yy62; } -yy314: +yy316: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy393; + case 'e': goto yy395; default: goto yy62; } -yy315: +yy317: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'U': - case 'u': goto yy394; + case 'u': goto yy396; default: goto yy62; } -yy316: +yy318: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy395; + case 'a': goto yy397; default: goto yy62; } -yy317: +yy319: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'D': - case 'd': goto yy396; + case 'd': goto yy398; default: goto yy62; } -yy318: - yyaccept = 17; +yy320: + yyaccept = 18; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -3724,95 +3867,95 @@ yy318: case '|': case '}': case '~': - case 0x7F: goto yy319; - case '\\': goto yy146; + case 0x7F: goto yy321; + case '\\': goto yy148; default: goto yy61; } -yy319: -#line 406 "src/parser.re" +yy321: +#line 471 "src/parser.re" { NEWTOKEN(PSI_T_NULL); goto start; } -#line 3735 "src/parser.c" -yy320: +#line 3878 "src/parser.c" +yy322: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'C': - case 'c': goto yy398; + case 'c': goto yy400; default: goto yy62; } -yy321: +yy323: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy399; + case 'a': goto yy401; default: goto yy62; } -yy322: +yy324: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'V': - case 'v': goto yy400; + case 'v': goto yy402; default: goto yy62; } -yy323: +yy325: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy401; + case '_': goto yy403; default: goto yy62; } -yy324: +yy326: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy402; + case 'a': goto yy404; default: goto yy62; } -yy325: +yy327: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'R': - case 'r': goto yy403; + case 'r': goto yy405; default: goto yy62; } -yy326: +yy328: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'I': - case 'i': goto yy404; + case 'i': goto yy406; default: goto yy62; } -yy327: +yy329: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'N': - case 'n': goto yy405; + case 'n': goto yy407; default: goto yy62; } -yy328: +yy330: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy406; + case 'e': goto yy408; default: goto yy62; } -yy329: +yy331: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy407; + case 'a': goto yy409; default: goto yy62; } -yy330: - yyaccept = 18; +yy332: + yyaccept = 19; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -3878,64 +4021,64 @@ yy330: case '|': case '}': case '~': - case 0x7F: goto yy331; - case '\\': goto yy146; + case 0x7F: goto yy333; + case '\\': goto yy148; default: goto yy61; } -yy331: -#line 422 "src/parser.re" +yy333: +#line 488 "src/parser.re" { NEWTOKEN(PSI_T_TEMP); goto start; } -#line 3889 "src/parser.c" -yy332: +#line 4032 "src/parser.c" +yy334: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'R': - case 'r': goto yy408; + case 'r': goto yy410; default: goto yy62; } -yy333: +yy335: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'O': - case 'o': goto yy409; + case 'o': goto yy411; default: goto yy62; } -yy334: +yy336: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy410; + case 'l': goto yy412; default: goto yy62; } -yy335: +yy337: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'N': - case 'n': goto yy411; + case 'n': goto yy413; default: goto yy62; } -yy336: +yy338: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'B': - case 'b': goto yy412; + case 'b': goto yy414; default: goto yy62; } -yy337: +yy339: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy413; + case 't': goto yy415; default: goto yy62; } -yy338: - yyaccept = 19; +yy340: + yyaccept = 20; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -4001,32 +4144,32 @@ yy338: case '|': case '}': case '~': - case 0x7F: goto yy339; - case '\\': goto yy146; + case 0x7F: goto yy341; + case '\\': goto yy148; default: goto yy61; } -yy339: -#line 404 "src/parser.re" +yy341: +#line 469 "src/parser.re" { NEWTOKEN(PSI_T_TRUE); goto start; } -#line 4012 "src/parser.c" -yy340: +#line 4155 "src/parser.c" +yy342: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'F': - case 'f': goto yy414; + case 'f': goto yy416; default: goto yy62; } -yy341: +yy343: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'I': - case 'i': goto yy416; + case 'i': goto yy418; default: goto yy62; } -yy342: - yyaccept = 20; +yy344: + yyaccept = 21; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -4092,51 +4235,51 @@ yy342: case '|': case '}': case '~': - case 0x7F: goto yy343; - case '\\': goto yy146; + case 0x7F: goto yy345; + case '\\': goto yy148; default: goto yy61; } -yy343: -#line 431 "src/parser.re" +yy345: +#line 497 "src/parser.re" { NEWTOKEN(PSI_T_ZVAL); goto start; } -#line 4103 "src/parser.c" -yy344: +#line 4246 "src/parser.c" +yy346: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'm': goto yy417; + case 'm': goto yy419; default: goto yy62; } -yy345: +yy347: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 't': goto yy418; + case 't': goto yy420; default: goto yy62; } -yy346: +yy348: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 't': goto yy419; + case 't': goto yy421; default: goto yy62; } -yy347: +yy349: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'l': goto yy420; + case 'l': goto yy422; default: goto yy62; } -yy348: +yy350: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 's': goto yy421; + case 's': goto yy423; default: goto yy62; } -yy349: - yyaccept = 21; +yy351: + yyaccept = 22; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -4202,18 +4345,18 @@ yy349: case '|': case '}': case '~': - case 0x7F: goto yy350; + case 0x7F: goto yy352; case 'V': - case 'v': goto yy376; - case '\\': goto yy146; + case 'v': goto yy378; + case '\\': goto yy148; default: goto yy61; } -yy350: -#line 382 "src/parser.re" +yy352: +#line 447 "src/parser.re" { NEWTOKEN(PSI_T_BOOL); goto start; } -#line 4215 "src/parser.c" -yy351: - yyaccept = 22; +#line 4358 "src/parser.c" +yy353: + yyaccept = 23; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -4279,30 +4422,30 @@ yy351: case '|': case '}': case '~': - case 0x7F: goto yy352; - case '\\': goto yy146; + case 0x7F: goto yy354; + case '\\': goto yy148; default: goto yy61; } -yy352: -#line 383 "src/parser.re" +yy354: +#line 448 "src/parser.re" { NEWTOKEN(PSI_T_CHAR); goto start; } -#line 4290 "src/parser.c" -yy353: +#line 4433 "src/parser.c" +yy355: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 't': goto yy422; + case 't': goto yy424; default: goto yy62; } -yy354: +yy356: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'l': goto yy424; + case 'l': goto yy426; default: goto yy62; } -yy355: - yyaccept = 23; +yy357: + yyaccept = 24; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -4368,24 +4511,24 @@ yy355: case '|': case '}': case '~': - case 0x7F: goto yy356; - case '\\': goto yy146; + case 0x7F: goto yy358; + case '\\': goto yy148; default: goto yy61; } -yy356: -#line 379 "src/parser.re" +yy358: +#line 444 "src/parser.re" { NEWTOKEN(PSI_T_ENUM); goto start; } -#line 4379 "src/parser.c" -yy357: +#line 4522 "src/parser.c" +yy359: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'T': goto yy389; - case 't': goto yy425; + case 'T': goto yy391; + case 't': goto yy427; default: goto yy62; } -yy358: - yyaccept = 24; +yy360: + yyaccept = 25; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -4451,16 +4594,16 @@ yy358: case '|': case '}': case '~': - case 0x7F: goto yy359; - case '\\': goto yy146; + case 0x7F: goto yy361; + case '\\': goto yy148; default: goto yy61; } -yy359: -#line 375 "src/parser.re" +yy361: +#line 440 "src/parser.re" { NEWTOKEN(PSI_T_LINE); goto start; } -#line 4462 "src/parser.c" -yy360: - yyaccept = 25; +#line 4605 "src/parser.c" +yy362: + yyaccept = 26; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -4526,72 +4669,72 @@ yy360: case '|': case '}': case '~': - case 0x7F: goto yy361; - case '\\': goto yy146; + case 0x7F: goto yy363; + case '\\': goto yy148; default: goto yy61; } -yy361: -#line 386 "src/parser.re" +yy363: +#line 451 "src/parser.re" { NEWTOKEN(PSI_T_LONG); goto start; } -#line 4537 "src/parser.c" -yy362: +#line 4680 "src/parser.c" +yy364: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'm': goto yy427; + case 'm': goto yy429; default: goto yy62; } -yy363: +yy365: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 't': goto yy428; + case 't': goto yy430; default: goto yy62; } -yy364: +yy366: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'e': goto yy430; + case 'e': goto yy432; default: goto yy62; } -yy365: +yy367: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'o': goto yy431; + case 'o': goto yy433; default: goto yy62; } -yy366: +yy368: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'c': goto yy432; + case 'c': goto yy434; default: goto yy62; } -yy367: +yy369: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'd': goto yy433; + case 'd': goto yy435; default: goto yy62; } -yy368: +yy370: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'n': goto yy434; + case 'n': goto yy436; default: goto yy62; } -yy369: +yy371: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'g': goto yy436; + case 'g': goto yy438; default: goto yy62; } -yy370: - yyaccept = 26; +yy372: + yyaccept = 27; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -4657,23 +4800,23 @@ yy370: case '|': case '}': case '~': - case 0x7F: goto yy371; - case '\\': goto yy146; + case 0x7F: goto yy373; + case '\\': goto yy148; default: goto yy61; } -yy371: -#line 381 "src/parser.re" +yy373: +#line 446 "src/parser.re" { NEWTOKEN(PSI_T_VOID); goto start; } -#line 4668 "src/parser.c" -yy372: +#line 4811 "src/parser.c" +yy374: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 't': goto yy437; + case 't': goto yy439; default: goto yy62; } -yy373: - yyaccept = 27; +yy375: + yyaccept = 28; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -4739,56 +4882,56 @@ yy373: case '|': case '}': case '~': - case 0x7F: goto yy374; - case '\\': goto yy146; + case 0x7F: goto yy376; + case '\\': goto yy148; default: goto yy61; } -yy374: -#line 410 "src/parser.re" +yy376: +#line 475 "src/parser.re" { NEWTOKEN(PSI_T_ARRAY); goto start; } -#line 4750 "src/parser.c" -yy375: +#line 4893 "src/parser.c" +yy377: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy438; + case 'l': goto yy440; default: goto yy62; } -yy376: +yy378: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy440; + case 'a': goto yy442; default: goto yy62; } -yy377: +yy379: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'B': - case 'b': goto yy441; + case 'b': goto yy443; default: goto yy62; } -yy378: +yy380: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy442; + case 'a': goto yy444; default: goto yy62; } -yy379: +yy381: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'C': - case 'c': goto yy443; + case 'c': goto yy445; default: goto yy62; } -yy380: - yyaccept = 28; +yy382: + yyaccept = 29; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -4854,24 +4997,24 @@ yy380: case '|': case '}': case '~': - case 0x7F: goto yy381; - case '\\': goto yy146; + case 0x7F: goto yy383; + case '\\': goto yy148; default: goto yy61; } -yy381: -#line 432 "src/parser.re" +yy383: +#line 498 "src/parser.re" { NEWTOKEN(PSI_T_COUNT); goto start; } -#line 4865 "src/parser.c" -yy382: +#line 5008 "src/parser.c" +yy384: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy445; + case 'e': goto yy447; default: goto yy62; } -yy383: - yyaccept = 29; +yy385: + yyaccept = 30; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -4937,16 +5080,16 @@ yy383: case '|': case '}': case '~': - case 0x7F: goto yy384; - case '\\': goto yy146; + case 0x7F: goto yy386; + case '\\': goto yy148; default: goto yy61; } -yy384: -#line 396 "src/parser.re" +yy386: +#line 461 "src/parser.re" { NEWTOKEN(PSI_T_ENDIF); goto start; } -#line 4948 "src/parser.c" -yy385: - yyaccept = 30; +#line 5091 "src/parser.c" +yy387: + yyaccept = 31; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -5012,16 +5155,16 @@ yy385: case '|': case '}': case '~': - case 0x7F: goto yy386; - case '\\': goto yy146; + case 0x7F: goto yy388; + case '\\': goto yy148; default: goto yy61; } -yy386: -#line 401 "src/parser.re" +yy388: +#line 466 "src/parser.re" { NEWTOKEN(PSI_T_ERROR); goto start; } -#line 5023 "src/parser.c" -yy387: - yyaccept = 31; +#line 5166 "src/parser.c" +yy389: + yyaccept = 32; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -5087,32 +5230,32 @@ yy387: case '|': case '}': case '~': - case 0x7F: goto yy388; - case '\\': goto yy146; + case 0x7F: goto yy390; + case '\\': goto yy148; default: goto yy61; } -yy388: -#line 405 "src/parser.re" +yy390: +#line 470 "src/parser.re" { NEWTOKEN(PSI_T_FALSE); goto start; } -#line 5098 "src/parser.c" -yy389: +#line 5241 "src/parser.c" +yy391: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'V': - case 'v': goto yy447; + case 'v': goto yy449; default: goto yy62; } -yy390: +yy392: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'I': - case 'i': goto yy448; + case 'i': goto yy450; default: goto yy62; } -yy391: - yyaccept = 32; +yy393: + yyaccept = 33; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -5178,40 +5321,40 @@ yy391: case '|': case '}': case '~': - case 0x7F: goto yy392; - case '\\': goto yy146; + case 0x7F: goto yy394; + case '\\': goto yy148; default: goto yy61; } -yy392: -#line 392 "src/parser.re" +yy394: +#line 457 "src/parser.re" { NEWTOKEN(PSI_T_IFDEF); goto start; } -#line 5189 "src/parser.c" -yy393: +#line 5332 "src/parser.c" +yy395: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'F': - case 'f': goto yy449; + case 'f': goto yy451; default: goto yy62; } -yy394: +yy396: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'D': - case 'd': goto yy451; + case 'd': goto yy453; default: goto yy62; } -yy395: +yy397: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy452; + case 'l': goto yy454; default: goto yy62; } -yy396: - yyaccept = 33; +yy398: + yyaccept = 34; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -5277,144 +5420,144 @@ yy396: case '|': case '}': case '~': - case 0x7F: goto yy397; - case '\\': goto yy146; + case 0x7F: goto yy399; + case '\\': goto yy148; default: goto yy61; } -yy397: -#line 407 "src/parser.re" +yy399: +#line 472 "src/parser.re" { NEWTOKEN(PSI_T_MIXED); goto start; } -#line 5288 "src/parser.c" -yy398: +#line 5431 "src/parser.c" +yy400: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy454; + case 't': goto yy456; default: goto yy62; } -yy399: +yy401: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy456; + case 'l': goto yy458; default: goto yy62; } -yy400: +yy402: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy458; + case 'a': goto yy460; default: goto yy62; } -yy401: +yy403: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy459; + case 'a': goto yy461; default: goto yy62; } -yy402: +yy404: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'S': - case 's': goto yy460; + case 's': goto yy462; default: goto yy62; } -yy403: +yy405: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'N': - case 'n': goto yy461; + case 'n': goto yy463; default: goto yy62; } -yy404: +yy406: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'C': - case 'c': goto yy463; + case 'c': goto yy465; default: goto yy62; } -yy405: +yy407: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'G': - case 'g': goto yy465; + case 'g': goto yy467; default: goto yy62; } -yy406: +yy408: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'N': - case 'n': goto yy467; + case 'n': goto yy469; default: goto yy62; } -yy407: +yy409: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy469; + case 'l': goto yy471; default: goto yy62; } -yy408: +yy410: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'R': - case 'r': goto yy471; + case 'r': goto yy473; default: goto yy62; } -yy409: +yy411: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'O': - case 'o': goto yy472; + case 'o': goto yy474; default: goto yy62; } -yy410: +yy412: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'O': - case 'o': goto yy473; + case 'o': goto yy475; default: goto yy62; } -yy411: +yy413: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy474; + case 't': goto yy476; default: goto yy62; } -yy412: +yy414: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'J': - case 'j': goto yy476; + case 'j': goto yy478; default: goto yy62; } -yy413: +yy415: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'R': - case 'r': goto yy477; + case 'r': goto yy479; default: goto yy62; } -yy414: - yyaccept = 34; +yy416: + yyaccept = 35; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -5480,59 +5623,59 @@ yy414: case '|': case '}': case '~': - case 0x7F: goto yy415; - case '\\': goto yy146; + case 0x7F: goto yy417; + case '\\': goto yy148; default: goto yy61; } -yy415: -#line 399 "src/parser.re" +yy417: +#line 464 "src/parser.re" { NEWTOKEN(PSI_T_UNDEF); goto start; } -#line 5491 "src/parser.c" -yy416: +#line 5634 "src/parser.c" +yy418: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'N': - case 'n': goto yy478; + case 'n': goto yy480; default: goto yy62; } -yy417: +yy419: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy479; + case '_': goto yy481; default: goto yy62; } -yy418: +yy420: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'r': goto yy480; + case 'r': goto yy482; default: goto yy62; } -yy419: +yy421: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'e': goto yy481; + case 'e': goto yy483; default: goto yy62; } -yy420: +yy422: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'i': goto yy482; + case 'i': goto yy484; default: goto yy62; } -yy421: +yy423: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 't': goto yy483; + case 't': goto yy485; default: goto yy62; } -yy422: - yyaccept = 35; +yy424: + yyaccept = 36; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -5598,23 +5741,23 @@ yy422: case '|': case '}': case '~': - case 0x7F: goto yy423; - case '\\': goto yy146; + case 0x7F: goto yy425; + case '\\': goto yy148; default: goto yy61; } -yy423: -#line 380 "src/parser.re" +yy425: +#line 445 "src/parser.re" { NEWTOKEN(PSI_T_CONST); goto start; } -#line 5609 "src/parser.c" -yy424: +#line 5752 "src/parser.c" +yy426: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'e': goto yy484; + case 'e': goto yy486; default: goto yy62; } -yy425: - yyaccept = 36; +yy427: + yyaccept = 37; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -5680,25 +5823,25 @@ yy425: case '|': case '}': case '~': - case 0x7F: goto yy426; + case 0x7F: goto yy428; case 'V': - case 'v': goto yy447; - case '\\': goto yy146; + case 'v': goto yy449; + case '\\': goto yy148; default: goto yy61; } -yy426: -#line 387 "src/parser.re" +yy428: +#line 452 "src/parser.re" { NEWTOKEN(PSI_T_FLOAT); goto start; } -#line 5693 "src/parser.c" -yy427: +#line 5836 "src/parser.c" +yy429: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'a': goto yy486; + case 'a': goto yy488; default: goto yy62; } -yy428: - yyaccept = 37; +yy430: + yyaccept = 38; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -5764,44 +5907,44 @@ yy428: case '|': case '}': case '~': - case 0x7F: goto yy429; - case '\\': goto yy146; + case 0x7F: goto yy431; + case '\\': goto yy148; default: goto yy61; } -yy429: -#line 384 "src/parser.re" +yy431: +#line 449 "src/parser.re" { NEWTOKEN(PSI_T_SHORT); goto start; } -#line 5775 "src/parser.c" -yy430: +#line 5918 "src/parser.c" +yy432: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'd': goto yy488; + case 'd': goto yy490; default: goto yy62; } -yy431: +yy433: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'f': goto yy490; + case 'f': goto yy492; default: goto yy62; } -yy432: +yy434: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 't': goto yy492; + case 't': goto yy494; default: goto yy62; } -yy433: +yy435: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'e': goto yy494; + case 'e': goto yy496; default: goto yy62; } -yy434: - yyaccept = 38; +yy436: + yyaccept = 39; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -5867,30 +6010,30 @@ yy434: case '|': case '}': case '~': - case 0x7F: goto yy435; - case '\\': goto yy146; + case 0x7F: goto yy437; + case '\\': goto yy148; default: goto yy61; } -yy435: -#line 378 "src/parser.re" +yy437: +#line 443 "src/parser.re" { NEWTOKEN(PSI_T_UNION); goto start; } -#line 5878 "src/parser.c" -yy436: +#line 6021 "src/parser.c" +yy438: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'n': goto yy495; + case 'n': goto yy497; default: goto yy62; } -yy437: +yy439: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'i': goto yy496; + case 'i': goto yy498; default: goto yy62; } -yy438: - yyaccept = 39; +yy440: + yyaccept = 40; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -5956,40 +6099,40 @@ yy438: case '|': case '}': case '~': - case 0x7F: goto yy439; - case '\\': goto yy146; + case 0x7F: goto yy441; + case '\\': goto yy148; default: goto yy61; } -yy439: -#line 429 "src/parser.re" +yy441: +#line 495 "src/parser.re" { NEWTOKEN(PSI_T_ARRVAL); goto start; } -#line 5967 "src/parser.c" -yy440: +#line 6110 "src/parser.c" +yy442: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy497; + case 'l': goto yy499; default: goto yy62; } -yy441: +yy443: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy499; + case 'l': goto yy501; default: goto yy62; } -yy442: +yy444: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'C': - case 'c': goto yy500; + case 'c': goto yy502; default: goto yy62; } -yy443: - yyaccept = 40; +yy445: + yyaccept = 41; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -6055,16 +6198,16 @@ yy443: case '|': case '}': case '~': - case 0x7F: goto yy444; - case '\\': goto yy146; + case 0x7F: goto yy446; + case '\\': goto yy148; default: goto yy61; } -yy444: -#line 433 "src/parser.re" +yy446: +#line 499 "src/parser.re" { NEWTOKEN(PSI_T_CALLOC); goto start; } -#line 6066 "src/parser.c" -yy445: - yyaccept = 41; +#line 6209 "src/parser.c" +yy447: + yyaccept = 42; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -6130,34 +6273,34 @@ yy445: case '|': case '}': case '~': - case 0x7F: goto yy446; + case 0x7F: goto yy448; case 'D': - case 'd': goto yy501; - case '\\': goto yy146; + case 'd': goto yy503; + case '\\': goto yy148; default: goto yy61; } -yy446: -#line 397 "src/parser.re" +yy448: +#line 462 "src/parser.re" { NEWTOKEN(PSI_T_DEFINE); goto start; } -#line 6143 "src/parser.c" -yy447: +#line 6286 "src/parser.c" +yy449: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy503; + case 'a': goto yy505; default: goto yy62; } -yy448: +yy450: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'O': - case 'o': goto yy504; + case 'o': goto yy506; default: goto yy62; } -yy449: - yyaccept = 42; +yy451: + yyaccept = 43; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -6223,24 +6366,24 @@ yy449: case '|': case '}': case '~': - case 0x7F: goto yy450; - case '\\': goto yy146; + case 0x7F: goto yy452; + case '\\': goto yy148; default: goto yy61; } -yy450: -#line 393 "src/parser.re" +yy452: +#line 458 "src/parser.re" { NEWTOKEN(PSI_T_IFNDEF); goto start; } -#line 6234 "src/parser.c" -yy451: +#line 6377 "src/parser.c" +yy453: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy505; + case 'e': goto yy507; default: goto yy62; } -yy452: - yyaccept = 43; +yy454: + yyaccept = 44; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -6306,16 +6449,16 @@ yy452: case '|': case '}': case '~': - case 0x7F: goto yy453; - case '\\': goto yy146; + case 0x7F: goto yy455; + case '\\': goto yy148; default: goto yy61; } -yy453: -#line 426 "src/parser.re" +yy455: +#line 492 "src/parser.re" { NEWTOKEN(PSI_T_INTVAL); goto start; } -#line 6317 "src/parser.c" -yy454: - yyaccept = 44; +#line 6460 "src/parser.c" +yy456: + yyaccept = 45; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -6381,16 +6524,16 @@ yy454: case '|': case '}': case '~': - case 0x7F: goto yy455; - case '\\': goto yy146; + case 0x7F: goto yy457; + case '\\': goto yy148; default: goto yy61; } -yy455: -#line 411 "src/parser.re" +yy457: +#line 476 "src/parser.re" { NEWTOKEN(PSI_T_OBJECT); goto start; } -#line 6392 "src/parser.c" -yy456: - yyaccept = 45; +#line 6535 "src/parser.c" +yy458: + yyaccept = 46; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -6456,40 +6599,40 @@ yy456: case '|': case '}': case '~': - case 0x7F: goto yy457; - case '\\': goto yy146; + case 0x7F: goto yy459; + case '\\': goto yy148; default: goto yy61; } -yy457: -#line 430 "src/parser.re" +yy459: +#line 496 "src/parser.re" { NEWTOKEN(PSI_T_OBJVAL); goto start; } -#line 6467 "src/parser.c" -yy458: +#line 6610 "src/parser.c" +yy460: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy507; + case 'l': goto yy509; default: goto yy62; } -yy459: +yy461: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'S': - case 's': goto yy509; + case 's': goto yy511; default: goto yy62; } -yy460: +yy462: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'S': - case 's': goto yy510; + case 's': goto yy512; default: goto yy62; } -yy461: - yyaccept = 46; +yy463: + yyaccept = 47; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -6555,16 +6698,16 @@ yy461: case '|': case '}': case '~': - case 0x7F: goto yy462; - case '\\': goto yy146; + case 0x7F: goto yy464; + case '\\': goto yy148; default: goto yy61; } -yy462: -#line 420 "src/parser.re" +yy464: +#line 485 "src/parser.re" { NEWTOKEN(PSI_T_RETURN); goto start; } -#line 6566 "src/parser.c" -yy463: - yyaccept = 47; +#line 6709 "src/parser.c" +yy465: + yyaccept = 48; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -6630,16 +6773,16 @@ yy463: case '|': case '}': case '~': - case 0x7F: goto yy464; - case '\\': goto yy146; + case 0x7F: goto yy466; + case '\\': goto yy148; default: goto yy61; } -yy464: -#line 413 "src/parser.re" +yy466: +#line 478 "src/parser.re" { NEWTOKEN(PSI_T_STATIC); goto start; } -#line 6641 "src/parser.c" -yy465: - yyaccept = 48; +#line 6784 "src/parser.c" +yy467: + yyaccept = 49; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -6705,16 +6848,16 @@ yy465: case '|': case '}': case '~': - case 0x7F: goto yy466; - case '\\': goto yy146; + case 0x7F: goto yy468; + case '\\': goto yy148; default: goto yy61; } -yy466: -#line 409 "src/parser.re" +yy468: +#line 474 "src/parser.re" { NEWTOKEN(PSI_T_STRING); goto start; } -#line 6716 "src/parser.c" -yy467: - yyaccept = 49; +#line 6859 "src/parser.c" +yy469: + yyaccept = 50; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -6780,16 +6923,16 @@ yy467: case '|': case '}': case '~': - case 0x7F: goto yy468; - case '\\': goto yy146; + case 0x7F: goto yy470; + case '\\': goto yy148; default: goto yy61; } -yy468: -#line 423 "src/parser.re" +yy470: +#line 489 "src/parser.re" { NEWTOKEN(PSI_T_STRLEN); goto start; } -#line 6791 "src/parser.c" -yy469: - yyaccept = 50; +#line 6934 "src/parser.c" +yy471: + yyaccept = 51; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -6855,40 +6998,40 @@ yy469: case '|': case '}': case '~': - case 0x7F: goto yy470; - case '\\': goto yy146; + case 0x7F: goto yy472; + case '\\': goto yy148; default: goto yy61; } -yy470: -#line 424 "src/parser.re" +yy472: +#line 490 "src/parser.re" { NEWTOKEN(PSI_T_STRVAL); goto start; } -#line 6866 "src/parser.c" -yy471: +#line 7009 "src/parser.c" +yy473: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy511; + case 'a': goto yy513; default: goto yy62; } -yy472: +yy474: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy512; + case 'l': goto yy514; default: goto yy62; } -yy473: +yy475: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy514; + case 'a': goto yy516; default: goto yy62; } -yy474: - yyaccept = 51; +yy476: + yyaccept = 52; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -6954,75 +7097,75 @@ yy474: case '|': case '}': case '~': - case 0x7F: goto yy475; - case '\\': goto yy146; + case 0x7F: goto yy477; + case '\\': goto yy148; default: goto yy61; } -yy475: -#line 437 "src/parser.re" +yy477: +#line 503 "src/parser.re" { NEWTOKEN(PSI_T_TO_INT); goto start; } -#line 6965 "src/parser.c" -yy476: +#line 7108 "src/parser.c" +yy478: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy515; + case 'e': goto yy517; default: goto yy62; } -yy477: +yy479: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'I': - case 'i': goto yy516; + case 'i': goto yy518; default: goto yy62; } -yy478: +yy480: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'G': - case 'g': goto yy517; + case 'g': goto yy519; default: goto yy62; } -yy479: +yy481: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy519; + case '_': goto yy521; default: goto yy62; } -yy480: +yy482: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'i': goto yy521; + case 'i': goto yy523; default: goto yy62; } -yy481: +yy483: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'n': goto yy522; + case 'n': goto yy524; default: goto yy62; } -yy482: +yy484: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'n': goto yy523; + case 'n': goto yy525; default: goto yy62; } -yy483: +yy485: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'r': goto yy524; + case 'r': goto yy526; default: goto yy62; } -yy484: - yyaccept = 52; +yy486: + yyaccept = 53; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -7088,16 +7231,16 @@ yy484: case '|': case '}': case '~': - case 0x7F: goto yy485; - case '\\': goto yy146; + case 0x7F: goto yy487; + case '\\': goto yy148; default: goto yy61; } -yy485: -#line 388 "src/parser.re" +yy487: +#line 453 "src/parser.re" { NEWTOKEN(PSI_T_DOUBLE); goto start; } -#line 7099 "src/parser.c" -yy486: - yyaccept = 53; +#line 7242 "src/parser.c" +yy488: + yyaccept = 54; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -7163,16 +7306,16 @@ yy486: case '|': case '}': case '~': - case 0x7F: goto yy487; - case '\\': goto yy146; - default: goto yy525; + case 0x7F: goto yy489; + case '\\': goto yy148; + default: goto yy527; } -yy487: -#line 367 "src/parser.re" +yy489: +#line 432 "src/parser.re" { NEWTOKEN(PSI_T_PRAGMA); goto start; } -#line 7174 "src/parser.c" -yy488: - yyaccept = 54; +#line 7317 "src/parser.c" +yy490: + yyaccept = 55; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -7238,16 +7381,16 @@ yy488: case '|': case '}': case '~': - case 0x7F: goto yy489; - case '\\': goto yy146; + case 0x7F: goto yy491; + case '\\': goto yy148; default: goto yy61; } -yy489: -#line 390 "src/parser.re" +yy491: +#line 455 "src/parser.re" { NEWTOKEN(PSI_T_SIGNED); goto start; } -#line 7249 "src/parser.c" -yy490: - yyaccept = 55; +#line 7392 "src/parser.c" +yy492: + yyaccept = 56; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -7313,16 +7456,16 @@ yy490: case '|': case '}': case '~': - case 0x7F: goto yy491; - case '\\': goto yy146; + case 0x7F: goto yy493; + case '\\': goto yy148; default: goto yy61; } -yy491: -#line 374 "src/parser.re" +yy493: +#line 439 "src/parser.re" { NEWTOKEN(PSI_T_SIZEOF); goto start; } -#line 7324 "src/parser.c" -yy492: - yyaccept = 56; +#line 7467 "src/parser.c" +yy494: + yyaccept = 57; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -7388,37 +7531,37 @@ yy492: case '|': case '}': case '~': - case 0x7F: goto yy493; - case '\\': goto yy146; + case 0x7F: goto yy495; + case '\\': goto yy148; default: goto yy61; } -yy493: -#line 377 "src/parser.re" +yy495: +#line 442 "src/parser.re" { NEWTOKEN(PSI_T_STRUCT); goto start; } -#line 7399 "src/parser.c" -yy494: +#line 7542 "src/parser.c" +yy496: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'f': goto yy527; + case 'f': goto yy529; default: goto yy62; } -yy495: +yy497: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'e': goto yy529; + case 'e': goto yy531; default: goto yy62; } -yy496: +yy498: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'l': goto yy530; + case 'l': goto yy532; default: goto yy62; } -yy497: - yyaccept = 57; +yy499: + yyaccept = 58; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -7484,32 +7627,32 @@ yy497: case '|': case '}': case '~': - case 0x7F: goto yy498; - case '\\': goto yy146; + case 0x7F: goto yy500; + case '\\': goto yy148; default: goto yy61; } -yy498: -#line 428 "src/parser.re" +yy500: +#line 494 "src/parser.re" { NEWTOKEN(PSI_T_BOOLVAL); goto start; } -#line 7495 "src/parser.c" -yy499: +#line 7638 "src/parser.c" +yy501: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy531; + case 'e': goto yy533; default: goto yy62; } -yy500: +yy502: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'K': - case 'k': goto yy533; + case 'k': goto yy535; default: goto yy62; } -yy501: - yyaccept = 58; +yy503: + yyaccept = 59; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -7575,32 +7718,32 @@ yy501: case '|': case '}': case '~': - case 0x7F: goto yy502; - case '\\': goto yy146; + case 0x7F: goto yy504; + case '\\': goto yy148; default: goto yy61; } -yy502: -#line 398 "src/parser.re" +yy504: +#line 463 "src/parser.re" { NEWTOKEN(PSI_T_DEFINED); goto start; } -#line 7586 "src/parser.c" -yy503: +#line 7729 "src/parser.c" +yy505: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy535; + case 'l': goto yy537; default: goto yy62; } -yy504: +yy506: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'N': - case 'n': goto yy537; + case 'n': goto yy539; default: goto yy62; } -yy505: - yyaccept = 59; +yy507: + yyaccept = 60; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -7666,17 +7809,17 @@ yy505: case '|': case '}': case '~': - case 0x7F: goto yy506; - case '\\': goto yy146; - case '_': goto yy539; + case 0x7F: goto yy508; + case '\\': goto yy148; + case '_': goto yy541; default: goto yy61; } -yy506: -#line 402 "src/parser.re" +yy508: +#line 467 "src/parser.re" { NEWTOKEN(PSI_T_INCLUDE); goto start; } -#line 7678 "src/parser.c" -yy507: - yyaccept = 60; +#line 7821 "src/parser.c" +yy509: + yyaccept = 61; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -7742,40 +7885,40 @@ yy507: case '|': case '}': case '~': - case 0x7F: goto yy508; - case '\\': goto yy146; + case 0x7F: goto yy510; + case '\\': goto yy148; default: goto yy61; } -yy508: -#line 425 "src/parser.re" +yy510: +#line 491 "src/parser.re" { NEWTOKEN(PSI_T_PATHVAL); goto start; } -#line 7753 "src/parser.c" -yy509: +#line 7896 "src/parser.c" +yy511: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'S': - case 's': goto yy540; + case 's': goto yy542; default: goto yy62; } -yy510: +yy512: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy541; + case 'e': goto yy543; default: goto yy62; } -yy511: +yy513: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'Y': - case 'y': goto yy542; + case 'y': goto yy544; default: goto yy62; } -yy512: - yyaccept = 61; +yy514: + yyaccept = 62; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -7841,40 +7984,40 @@ yy512: case '|': case '}': case '~': - case 0x7F: goto yy513; - case '\\': goto yy146; + case 0x7F: goto yy515; + case '\\': goto yy148; default: goto yy61; } -yy513: -#line 439 "src/parser.re" +yy515: +#line 505 "src/parser.re" { NEWTOKEN(PSI_T_TO_BOOL); goto start; } -#line 7852 "src/parser.c" -yy514: +#line 7995 "src/parser.c" +yy516: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy544; + case 't': goto yy546; default: goto yy62; } -yy515: +yy517: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'C': - case 'c': goto yy546; + case 'c': goto yy548; default: goto yy62; } -yy516: +yy518: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'N': - case 'n': goto yy547; + case 'n': goto yy549; default: goto yy62; } -yy517: - yyaccept = 62; +yy519: + yyaccept = 63; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -7940,16 +8083,16 @@ yy517: case '|': case '}': case '~': - case 0x7F: goto yy518; - case '\\': goto yy146; + case 0x7F: goto yy520; + case '\\': goto yy148; default: goto yy61; } -yy518: -#line 400 "src/parser.re" +yy520: +#line 465 "src/parser.re" { NEWTOKEN(PSI_T_WARNING); goto start; } -#line 7951 "src/parser.c" -yy519: - yyaccept = 63; +#line 8094 "src/parser.c" +yy521: + yyaccept = 64; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -8015,43 +8158,43 @@ yy519: case '|': case '}': case '~': - case 0x7F: goto yy520; - case '\\': goto yy146; + case 0x7F: goto yy522; + case '\\': goto yy148; default: goto yy61; } -yy520: -#line 372 "src/parser.re" +yy522: +#line 437 "src/parser.re" { NEWTOKEN(PSI_T_CPP_ASM); goto start; } -#line 8026 "src/parser.c" -yy521: +#line 8169 "src/parser.c" +yy523: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'b': goto yy548; + case 'b': goto yy550; default: goto yy62; } -yy522: +yy524: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 's': goto yy549; + case 's': goto yy551; default: goto yy62; } -yy523: +yy525: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'e': goto yy550; + case 'e': goto yy552; default: goto yy62; } -yy524: +yy526: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'i': goto yy552; + case 'i': goto yy554; default: goto yy62; } -yy525: +yy527: yyaccept = 5; mrk = ++cur; if (lim <= cur) if (cur >= lim) goto done;; @@ -8121,12 +8264,12 @@ yy525: case '}': case '~': case 0x7F: goto yy55; - case '\\': goto yy146; - case 'o': goto yy553; - default: goto yy525; - } -yy527: - yyaccept = 64; + case '\\': goto yy148; + case 'o': goto yy555; + default: goto yy527; + } +yy529: + yyaccept = 65; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -8192,30 +8335,30 @@ yy527: case '|': case '}': case '~': - case 0x7F: goto yy528; - case '\\': goto yy146; + case 0x7F: goto yy530; + case '\\': goto yy148; default: goto yy61; } -yy528: -#line 376 "src/parser.re" +yy530: +#line 441 "src/parser.re" { NEWTOKEN(PSI_T_TYPEDEF); goto start; } -#line 8203 "src/parser.c" -yy529: +#line 8346 "src/parser.c" +yy531: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'd': goto yy555; + case 'd': goto yy557; default: goto yy62; } -yy530: +yy532: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'e': goto yy557; + case 'e': goto yy559; default: goto yy62; } -yy531: - yyaccept = 65; +yy533: + yyaccept = 66; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -8281,16 +8424,16 @@ yy531: case '|': case '}': case '~': - case 0x7F: goto yy532; - case '\\': goto yy146; + case 0x7F: goto yy534; + case '\\': goto yy148; default: goto yy61; } -yy532: -#line 408 "src/parser.re" +yy534: +#line 473 "src/parser.re" { NEWTOKEN(PSI_T_CALLABLE); goto start; } -#line 8292 "src/parser.c" -yy533: - yyaccept = 66; +#line 8435 "src/parser.c" +yy535: + yyaccept = 67; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -8356,16 +8499,16 @@ yy533: case '|': case '}': case '~': - case 0x7F: goto yy534; - case '\\': goto yy146; + case 0x7F: goto yy536; + case '\\': goto yy148; default: goto yy61; } -yy534: -#line 412 "src/parser.re" +yy536: +#line 477 "src/parser.re" { NEWTOKEN(PSI_T_CALLBACK); goto start; } -#line 8367 "src/parser.c" -yy535: - yyaccept = 67; +#line 8510 "src/parser.c" +yy537: + yyaccept = 68; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -8431,16 +8574,16 @@ yy535: case '|': case '}': case '~': - case 0x7F: goto yy536; - case '\\': goto yy146; + case 0x7F: goto yy538; + case '\\': goto yy148; default: goto yy61; } -yy536: -#line 427 "src/parser.re" +yy538: +#line 493 "src/parser.re" { NEWTOKEN(PSI_T_FLOATVAL); goto start; } -#line 8442 "src/parser.c" -yy537: - yyaccept = 68; +#line 8585 "src/parser.c" +yy539: + yyaccept = 69; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -8506,40 +8649,40 @@ yy537: case '|': case '}': case '~': - case 0x7F: goto yy538; - case '\\': goto yy146; + case 0x7F: goto yy540; + case '\\': goto yy148; default: goto yy61; } -yy538: -#line 414 "src/parser.re" +yy540: +#line 479 "src/parser.re" { NEWTOKEN(PSI_T_FUNCTION); goto start; } -#line 8517 "src/parser.c" -yy539: +#line 8660 "src/parser.c" +yy541: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'N': - case 'n': goto yy559; + case 'n': goto yy561; default: goto yy62; } -yy540: +yy542: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy560; + case 'e': goto yy562; default: goto yy62; } -yy541: +yy543: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'R': - case 'r': goto yy561; + case 'r': goto yy563; default: goto yy62; } -yy542: - yyaccept = 69; +yy544: + yyaccept = 70; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -8605,16 +8748,16 @@ yy542: case '|': case '}': case '~': - case 0x7F: goto yy543; - case '\\': goto yy146; + case 0x7F: goto yy545; + case '\\': goto yy148; default: goto yy61; } -yy543: -#line 435 "src/parser.re" +yy545: +#line 501 "src/parser.re" { NEWTOKEN(PSI_T_TO_ARRAY); goto start; } -#line 8616 "src/parser.c" -yy544: - yyaccept = 70; +#line 8759 "src/parser.c" +yy546: + yyaccept = 71; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -8680,46 +8823,46 @@ yy544: case '|': case '}': case '~': - case 0x7F: goto yy545; - case '\\': goto yy146; + case 0x7F: goto yy547; + case '\\': goto yy148; default: goto yy61; } -yy545: -#line 438 "src/parser.re" +yy547: +#line 504 "src/parser.re" { NEWTOKEN(PSI_T_TO_FLOAT); goto start; } -#line 8691 "src/parser.c" -yy546: +#line 8834 "src/parser.c" +yy548: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy562; + case 't': goto yy564; default: goto yy62; } -yy547: +yy549: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'G': - case 'g': goto yy564; + case 'g': goto yy566; default: goto yy62; } -yy548: +yy550: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'u': goto yy566; + case 'u': goto yy568; default: goto yy62; } -yy549: +yy551: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'i': goto yy567; + case 'i': goto yy569; default: goto yy62; } -yy550: - yyaccept = 71; +yy552: + yyaccept = 72; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -8785,22 +8928,22 @@ yy550: case '|': case '}': case '~': - case 0x7F: goto yy551; - case '\\': goto yy146; + case 0x7F: goto yy553; + case '\\': goto yy148; default: goto yy61; } -yy551: -#line 369 "src/parser.re" +yy553: +#line 434 "src/parser.re" { NEWTOKEN(PSI_T_CPP_INLINE); goto start; } -#line 8796 "src/parser.c" -yy552: +#line 8939 "src/parser.c" +yy554: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'c': goto yy568; + case 'c': goto yy570; default: goto yy62; } -yy553: +yy555: yyaccept = 5; mrk = ++cur; if (lim <= cur) if (cur >= lim) goto done;; @@ -8870,13 +9013,13 @@ yy553: case '}': case '~': case 0x7F: goto yy55; - case '\\': goto yy146; - case 'n': goto yy569; - case 'o': goto yy553; - default: goto yy525; + case '\\': goto yy148; + case 'n': goto yy571; + case 'o': goto yy555; + default: goto yy527; } -yy555: - yyaccept = 72; +yy557: + yyaccept = 73; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -8942,16 +9085,16 @@ yy555: case '|': case '}': case '~': - case 0x7F: goto yy556; - case '\\': goto yy146; + case 0x7F: goto yy558; + case '\\': goto yy148; default: goto yy61; } -yy556: -#line 389 "src/parser.re" +yy558: +#line 454 "src/parser.re" { NEWTOKEN(PSI_T_UNSIGNED); goto start; } -#line 8953 "src/parser.c" -yy557: - yyaccept = 73; +#line 9096 "src/parser.c" +yy559: + yyaccept = 74; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -9017,40 +9160,40 @@ yy557: case '|': case '}': case '~': - case 0x7F: goto yy558; - case '\\': goto yy146; + case 0x7F: goto yy560; + case '\\': goto yy148; default: goto yy61; } -yy558: -#line 373 "src/parser.re" +yy560: +#line 438 "src/parser.re" { NEWTOKEN(PSI_T_VOLATILE); goto start; } -#line 9028 "src/parser.c" -yy559: +#line 9171 "src/parser.c" +yy561: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy570; + case 'e': goto yy572; default: goto yy62; } -yy560: +yy562: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'R': - case 'r': goto yy571; + case 'r': goto yy573; default: goto yy62; } -yy561: +yy563: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy572; + case 't': goto yy574; default: goto yy62; } -yy562: - yyaccept = 74; +yy564: + yyaccept = 75; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -9116,16 +9259,16 @@ yy562: case '|': case '}': case '~': - case 0x7F: goto yy563; - case '\\': goto yy146; + case 0x7F: goto yy565; + case '\\': goto yy148; default: goto yy61; } -yy563: -#line 434 "src/parser.re" +yy565: +#line 500 "src/parser.re" { NEWTOKEN(PSI_T_TO_OBJECT); goto start; } -#line 9127 "src/parser.c" -yy564: - yyaccept = 75; +#line 9270 "src/parser.c" +yy566: + yyaccept = 76; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -9191,36 +9334,36 @@ yy564: case '|': case '}': case '~': - case 0x7F: goto yy565; - case '\\': goto yy146; + case 0x7F: goto yy567; + case '\\': goto yy148; default: goto yy61; } -yy565: -#line 436 "src/parser.re" +yy567: +#line 502 "src/parser.re" { NEWTOKEN(PSI_T_TO_STRING); goto start; } -#line 9202 "src/parser.c" -yy566: +#line 9345 "src/parser.c" +yy568: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 't': goto yy574; + case 't': goto yy576; default: goto yy62; } -yy567: +yy569: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'o': goto yy575; + case 'o': goto yy577; default: goto yy62; } -yy568: +yy570: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 't': goto yy576; + case 't': goto yy578; default: goto yy62; } -yy569: +yy571: yyaccept = 5; mrk = ++cur; if (lim <= cur) if (cur >= lim) goto done;; @@ -9290,29 +9433,29 @@ yy569: case '}': case '~': case 0x7F: goto yy55; - case '\\': goto yy146; - case 'c': goto yy578; - case 'o': goto yy553; - default: goto yy525; + case '\\': goto yy148; + case 'c': goto yy580; + case 'o': goto yy555; + default: goto yy527; } -yy570: +yy572: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'X': - case 'x': goto yy579; + case 'x': goto yy581; default: goto yy62; } -yy571: +yy573: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy580; + case 't': goto yy582; default: goto yy62; } -yy572: - yyaccept = 76; +yy574: + yyaccept = 77; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -9378,30 +9521,30 @@ yy572: case '|': case '}': case '~': - case 0x7F: goto yy573; - case '\\': goto yy146; + case 0x7F: goto yy575; + case '\\': goto yy148; default: goto yy61; } -yy573: -#line 418 "src/parser.re" +yy575: +#line 483 "src/parser.re" { NEWTOKEN(PSI_T_PRE_ASSERT); goto start; } -#line 9389 "src/parser.c" -yy574: +#line 9532 "src/parser.c" +yy576: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'e': goto yy582; + case 'e': goto yy584; default: goto yy62; } -yy575: +yy577: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case 'n': goto yy583; + case 'n': goto yy585; default: goto yy62; } -yy576: - yyaccept = 77; +yy578: + yyaccept = 78; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -9467,15 +9610,15 @@ yy576: case '|': case '}': case '~': - case 0x7F: goto yy577; - case '\\': goto yy146; + case 0x7F: goto yy579; + case '\\': goto yy148; default: goto yy61; } -yy577: -#line 370 "src/parser.re" +yy579: +#line 435 "src/parser.re" { NEWTOKEN(PSI_T_CPP_RESTRICT); goto start; } -#line 9478 "src/parser.c" -yy578: +#line 9621 "src/parser.c" +yy580: yyaccept = 5; mrk = ++cur; if (lim <= cur) if (cur >= lim) goto done;; @@ -9545,21 +9688,21 @@ yy578: case '}': case '~': case 0x7F: goto yy55; - case '\\': goto yy146; - case 'e': goto yy584; - case 'o': goto yy553; - default: goto yy525; + case '\\': goto yy148; + case 'e': goto yy586; + case 'o': goto yy555; + default: goto yy527; } -yy579: +yy581: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy586; + case 't': goto yy588; default: goto yy62; } -yy580: - yyaccept = 78; +yy582: + yyaccept = 79; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -9625,30 +9768,30 @@ yy580: case '|': case '}': case '~': - case 0x7F: goto yy581; - case '\\': goto yy146; + case 0x7F: goto yy583; + case '\\': goto yy148; default: goto yy61; } -yy581: -#line 419 "src/parser.re" +yy583: +#line 484 "src/parser.re" { NEWTOKEN(PSI_T_POST_ASSERT); goto start; } -#line 9636 "src/parser.c" -yy582: +#line 9779 "src/parser.c" +yy584: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy588; + case '_': goto yy590; default: goto yy62; } -yy583: +yy585: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy589; + case '_': goto yy591; default: goto yy62; } -yy584: - yyaccept = 79; +yy586: + yyaccept = 80; mrk = ++cur; if (lim <= cur) if (cur >= lim) goto done;; yych = *cur; @@ -9716,17 +9859,17 @@ yy584: case '|': case '}': case '~': - case 0x7F: goto yy585; - case '\\': goto yy146; - case 'o': goto yy553; - default: goto yy525; + case 0x7F: goto yy587; + case '\\': goto yy148; + case 'o': goto yy555; + default: goto yy527; } -yy585: -#line 368 "src/parser.re" +yy587: +#line 433 "src/parser.re" { NEWTOKEN(PSI_T_PRAGMA_ONCE); goto start; } -#line 9728 "src/parser.c" -yy586: - yyaccept = 80; +#line 9871 "src/parser.c" +yy588: + yyaccept = 81; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -9792,40 +9935,40 @@ yy586: case '|': case '}': case '~': - case 0x7F: goto yy587; - case '\\': goto yy146; + case 0x7F: goto yy589; + case '\\': goto yy148; default: goto yy61; } -yy587: -#line 403 "src/parser.re" +yy589: +#line 468 "src/parser.re" { NEWTOKEN(PSI_T_INCLUDE_NEXT); goto start; } -#line 9803 "src/parser.c" -yy588: +#line 9946 "src/parser.c" +yy590: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy590; + case '_': goto yy592; default: goto yy62; } -yy589: +yy591: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy591; + case '_': goto yy593; default: goto yy62; } -yy590: +yy592: yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case '\t': case '\f': - case ' ': goto yy593; - case '(': goto yy595; + case ' ': goto yy595; + case '(': goto yy597; default: goto yy62; } -yy591: - yyaccept = 81; +yy593: + yyaccept = 82; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -9891,67 +10034,67 @@ yy591: case '|': case '}': case '~': - case 0x7F: goto yy592; - case '\\': goto yy146; + case 0x7F: goto yy594; + case '\\': goto yy148; default: goto yy61; } -yy592: -#line 371 "src/parser.re" +yy594: +#line 436 "src/parser.re" { NEWTOKEN(PSI_T_CPP_EXTENSION); goto start; } -#line 9902 "src/parser.c" -yy593: +#line 10045 "src/parser.c" +yy595: ++cur; if ((lim - cur) < 2) if (cur >= lim) goto done;; yych = *cur; switch (yych) { case '\t': case '\f': - case ' ': goto yy593; - case '(': goto yy595; + case ' ': goto yy595; + case '(': goto yy597; default: goto yy114; } -yy595: +yy597: yych = *++cur; switch (yych) { - case '(': goto yy596; + case '(': goto yy598; default: goto yy114; } -yy596: +yy598: ++cur; -#line 444 "src/parser.re" +#line 510 "src/parser.re" { parens = 2; goto cpp_attribute; } -#line 9924 "src/parser.c" +#line 10067 "src/parser.c" } -#line 450 "src/parser.re" +#line 516 "src/parser.re" character: ; -#line 9931 "src/parser.c" +#line 10074 "src/parser.c" { unsigned char yych; if (lim <= cur) if (cur >= lim) goto done;; yych = *cur; switch (yych) { case '\n': - case '\r': goto yy602; - case '\'': goto yy604; - case '\\': goto yy606; - default: goto yy600; + case '\r': goto yy604; + case '\'': goto yy606; + case '\\': goto yy608; + default: goto yy602; } -yy600: +yy602: ++cur; -#line 468 "src/parser.re" +#line 534 "src/parser.re" { escaped = false; goto character; } -#line 9947 "src/parser.c" -yy602: +#line 10090 "src/parser.c" +yy604: ++cur; -#line 455 "src/parser.re" +#line 521 "src/parser.re" { NEWLINE(); goto character; } -#line 9952 "src/parser.c" -yy604: +#line 10095 "src/parser.c" +yy606: ++cur; -#line 457 "src/parser.re" +#line 523 "src/parser.re" { if (escaped) { escaped = false; @@ -9963,43 +10106,43 @@ yy604: token->flags = char_width; goto start; } -#line 9967 "src/parser.c" -yy606: +#line 10110 "src/parser.c" +yy608: ++cur; -#line 456 "src/parser.re" +#line 522 "src/parser.re" { escaped = !escaped; goto character; } -#line 9972 "src/parser.c" +#line 10115 "src/parser.c" } -#line 470 "src/parser.re" +#line 536 "src/parser.re" string: ; -#line 9979 "src/parser.c" +#line 10122 "src/parser.c" { unsigned char yych; if (lim <= cur) if (cur >= lim) goto done;; yych = *cur; switch (yych) { case '\n': - case '\r': goto yy612; - case '"': goto yy614; - case '\\': goto yy616; - default: goto yy610; + case '\r': goto yy614; + case '"': goto yy616; + case '\\': goto yy618; + default: goto yy612; } -yy610: +yy612: ++cur; -#line 488 "src/parser.re" +#line 554 "src/parser.re" { escaped = false; goto string; } -#line 9995 "src/parser.c" -yy612: +#line 10138 "src/parser.c" +yy614: ++cur; -#line 475 "src/parser.re" +#line 541 "src/parser.re" { NEWLINE(); goto string; } -#line 10000 "src/parser.c" -yy614: +#line 10143 "src/parser.c" +yy616: ++cur; -#line 477 "src/parser.re" +#line 543 "src/parser.re" { if (escaped) { escaped = false; @@ -10011,118 +10154,118 @@ yy614: token->flags = char_width; goto start; } -#line 10015 "src/parser.c" -yy616: +#line 10158 "src/parser.c" +yy618: ++cur; -#line 476 "src/parser.re" +#line 542 "src/parser.re" { escaped = !escaped; goto string; } -#line 10020 "src/parser.c" +#line 10163 "src/parser.c" } -#line 490 "src/parser.re" +#line 556 "src/parser.re" comment: ; -#line 10027 "src/parser.c" +#line 10170 "src/parser.c" { unsigned char yych; if ((lim - cur) < 2) if (cur >= lim) goto done;; yych = *cur; switch (yych) { case '\n': - case '\r': goto yy622; - case '*': goto yy624; - default: goto yy620; + case '\r': goto yy624; + case '*': goto yy626; + default: goto yy622; } -yy620: +yy622: ++cur; -yy621: -#line 497 "src/parser.re" +yy623: +#line 563 "src/parser.re" { goto comment; } -#line 10043 "src/parser.c" -yy622: +#line 10186 "src/parser.c" +yy624: ++cur; -#line 495 "src/parser.re" +#line 561 "src/parser.re" { NEWLINE(); goto comment; } -#line 10048 "src/parser.c" -yy624: +#line 10191 "src/parser.c" +yy626: yych = *++cur; switch (yych) { - case '/': goto yy625; - default: goto yy621; + case '/': goto yy627; + default: goto yy623; } -yy625: +yy627: ++cur; -#line 496 "src/parser.re" +#line 562 "src/parser.re" { NEWTOKEN(PSI_T_COMMENT); goto start; } -#line 10059 "src/parser.c" +#line 10202 "src/parser.c" } -#line 499 "src/parser.re" +#line 565 "src/parser.re" comment_sl: ; -#line 10066 "src/parser.c" +#line 10209 "src/parser.c" { unsigned char yych; if (lim <= cur) if (cur >= lim) goto done;; yych = *cur; switch (yych) { case '\n': - case '\r': goto yy631; - default: goto yy629; + case '\r': goto yy633; + default: goto yy631; } -yy629: +yy631: ++cur; -#line 505 "src/parser.re" +#line 571 "src/parser.re" { goto comment_sl; } -#line 10080 "src/parser.c" -yy631: +#line 10223 "src/parser.c" +yy633: ++cur; -#line 504 "src/parser.re" +#line 570 "src/parser.re" { NEWTOKEN(PSI_T_COMMENT); NEWLINE(); goto start; } -#line 10085 "src/parser.c" +#line 10228 "src/parser.c" } -#line 507 "src/parser.re" +#line 573 "src/parser.re" cpp_attribute: ; -#line 10093 "src/parser.c" +#line 10236 "src/parser.c" { unsigned char yych; if (lim <= cur) if (cur >= lim) goto done;; yych = *cur; switch (yych) { case '\n': - case '\r': goto yy637; - case '(': goto yy639; - case ')': goto yy641; - default: goto yy635; + case '\r': goto yy639; + case '(': goto yy641; + case ')': goto yy643; + default: goto yy637; } -yy635: +yy637: ++cur; -#line 516 "src/parser.re" +#line 582 "src/parser.re" { goto cpp_attribute; } -#line 10109 "src/parser.c" -yy637: +#line 10252 "src/parser.c" +yy639: ++cur; -#line 515 "src/parser.re" +#line 581 "src/parser.re" { NEWLINE(); goto cpp_attribute; } -#line 10114 "src/parser.c" -yy639: +#line 10257 "src/parser.c" +yy641: ++cur; -#line 513 "src/parser.re" +#line 579 "src/parser.re" { ++parens; goto cpp_attribute; } -#line 10119 "src/parser.c" -yy641: +#line 10262 "src/parser.c" +yy643: ++cur; -#line 514 "src/parser.re" +#line 580 "src/parser.re" { if (parens == 1) { NEWTOKEN(PSI_T_CPP_ATTRIBUTE); goto start; } else { --parens; goto cpp_attribute; } } -#line 10124 "src/parser.c" +#line 10267 "src/parser.c" } -#line 518 "src/parser.re" +#line 584 "src/parser.re" error: ;