X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Fparser.c;h=947eea7bb21a29334657c60b1e366fb72c323009;hp=12ea648d0863510274ec76cc00642d31e499b1b8;hb=ba906e039ffe9e57842ce5135aa43efa00b8a4c6;hpb=764f3f36f003401f6334ced63356451fb5c6c642 diff --git a/src/parser.c b/src/parser.c index 12ea648..947eea7 100644 --- a/src/parser.c +++ b/src/parser.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.16 on Fri Mar 24 12:21:07 2017 */ +/* Generated by re2c 0.16 on Tue Mar 28 16:36:22 2017 */ #line 1 "src/parser.re" /******************************************************************************* Copyright (c) 2016, Michael Wallner . @@ -194,16 +194,7 @@ struct psi_plist *psi_parser_preprocess(struct psi_parser *P, struct psi_plist * bool psi_parser_process(struct psi_parser *P, struct psi_plist *tokens, size_t *processed) { if (psi_plist_count(tokens)) { - int rc; - - if (P->flags & PSI_DEBUG) { - psi_parser_proc_debug = 1; - } - rc = psi_parser_proc_parse(P, tokens, processed); - if (P->flags & PSI_DEBUG) { - psi_parser_proc_debug = 0; - } - return rc == 0; + return 0 == psi_parser_proc_parse(P, tokens, processed); } return true; } @@ -260,12 +251,17 @@ void psi_parser_free(struct psi_parser **P) psi_token_dump(2, token); \ } +union int_suffix { + char s[SIZEOF_UINT32_T]; + uint32_t i; +}; struct psi_plist *psi_parser_scan(struct psi_parser *P, struct psi_parser_input *I) { struct psi_plist *tokens; struct psi_token *token; - const char *tok, *cur, *lim, *mrk, *eol; + const char *tok, *cur, *lim, *mrk, *eol, *ctxmrk; + unsigned parens; tok = mrk = eol = cur = I->buffer; lim = I->buffer + I->length; @@ -273,10 +269,11 @@ struct psi_plist *psi_parser_scan(struct psi_parser *P, struct psi_parser_input tokens = psi_plist_init((void (*)(void *)) psi_token_free); start: ; + ctxmrk = NULL; tok = cur; -#line 280 "src/parser.c" +#line 277 "src/parser.c" { unsigned char yych; unsigned int yyaccept = 0; @@ -312,7 +309,6 @@ struct psi_plist *psi_parser_scan(struct psi_parser *P, struct psi_parser_input case 0x1D: case 0x1E: case 0x1F: - case '?': case '@': case '`': case 0x7F: goto yy2; @@ -350,60 +346,62 @@ struct psi_plist *psi_parser_scan(struct psi_parser *P, struct psi_parser_input case '<': goto yy44; case '=': goto yy46; case '>': goto yy48; + case '?': goto yy50; case 'A': - case 'a': goto yy50; + case 'a': goto yy52; case 'B': - case 'b': goto yy52; + case 'b': goto yy54; case 'C': - case 'c': goto yy53; + case 'c': goto yy55; case 'D': - case 'd': goto yy54; + case 'd': goto yy56; case 'E': - case 'e': goto yy55; + case 'e': goto yy57; case 'F': - case 'f': goto yy56; + case 'f': goto yy58; case 'I': - case 'i': goto yy59; - case 'L': goto yy60; + case 'i': goto yy61; + case 'L': goto yy62; case 'M': - case 'm': goto yy61; + case 'm': goto yy63; case 'N': - case 'n': goto yy62; - case 'O': - case 'o': goto yy63; - case 'P': - case 'p': goto yy64; + case 'n': goto yy64; + case 'O': goto yy65; + case 'P': goto yy66; case 'R': - case 'r': goto yy65; + case 'r': goto yy67; case 'S': - case 's': goto yy66; + case 's': goto yy68; case 'T': - case 't': goto yy67; + case 't': goto yy69; case 'U': - case 'u': goto yy68; + case 'u': goto yy70; case 'V': - case 'v': goto yy69; + case 'v': goto yy71; case 'W': - case 'w': goto yy70; + case 'w': goto yy72; case 'Z': - case 'z': goto yy71; - case '[': goto yy72; - case '\\': goto yy74; - case ']': goto yy76; - case '^': goto yy78; - case 'l': goto yy80; - case '{': goto yy81; - case '|': goto yy83; - case '}': goto yy85; - case '~': goto yy87; - default: goto yy57; + case 'z': goto yy73; + case '[': goto yy74; + case '\\': goto yy76; + case ']': goto yy78; + case '^': goto yy80; + case '_': goto yy82; + case 'l': goto yy83; + case 'o': goto yy84; + case 'p': goto yy85; + case '{': goto yy86; + case '|': goto yy88; + case '}': goto yy90; + case '~': goto yy92; + default: goto yy59; } yy2: ++cur; yy3: -#line 433 "src/parser.re" +#line 449 "src/parser.re" { NEWTOKEN(-2); goto error; } -#line 407 "src/parser.c" +#line 405 "src/parser.c" yy4: ++cur; if (lim <= cur) if (cur >= lim) goto done;; @@ -414,36 +412,36 @@ yy4: default: goto yy6; } yy6: -#line 432 "src/parser.re" +#line 448 "src/parser.re" { NEWTOKEN(PSI_T_WHITESPACE); goto start; } -#line 420 "src/parser.c" +#line 418 "src/parser.c" yy7: ++cur; -#line 431 "src/parser.re" +#line 447 "src/parser.re" { NEWTOKEN(PSI_T_EOL); NEWLINE(); goto start; } -#line 425 "src/parser.c" +#line 423 "src/parser.c" yy9: ++cur; switch ((yych = *cur)) { - case '=': goto yy89; + case '=': goto yy94; default: goto yy10; } yy10: -#line 335 "src/parser.re" +#line 348 "src/parser.re" { NEWTOKEN(PSI_T_NOT); goto start; } -#line 435 "src/parser.c" +#line 433 "src/parser.c" yy11: yyaccept = 0; yych = *(mrk = ++cur); switch (yych) { case '"': goto yy3; - default: goto yy91; + default: goto yy96; } yy12: ++cur; -#line 318 "src/parser.re" +#line 331 "src/parser.re" { NEWTOKEN(PSI_T_HASH); goto start; } -#line 447 "src/parser.c" +#line 445 "src/parser.c" yy14: yych = *++cur; switch (yych) { @@ -512,49 +510,50 @@ yy14: case '}': case '~': case 0x7F: goto yy3; - default: goto yy93; + default: goto yy98; } yy15: ++cur; -#line 336 "src/parser.re" +#line 349 "src/parser.re" { NEWTOKEN(PSI_T_MODULO); goto start; } -#line 522 "src/parser.c" +#line 520 "src/parser.c" yy17: ++cur; switch ((yych = *cur)) { - case '&': goto yy96; + case '&': goto yy101; default: goto yy18; } yy18: -#line 337 "src/parser.re" +#line 350 "src/parser.re" { NEWTOKEN(PSI_T_AMPERSAND); goto start; } -#line 532 "src/parser.c" +#line 530 "src/parser.c" yy19: yyaccept = 0; yych = *(mrk = ++cur); switch (yych) { case '\'': goto yy3; - default: goto yy98; + default: goto yy103; } yy20: ++cur; -#line 319 "src/parser.re" +#line 332 "src/parser.re" { NEWTOKEN(PSI_T_LPAREN); goto start; } -#line 544 "src/parser.c" +#line 542 "src/parser.c" yy22: ++cur; -#line 320 "src/parser.re" +#line 333 "src/parser.re" { NEWTOKEN(PSI_T_RPAREN); goto start; } -#line 549 "src/parser.c" +#line 547 "src/parser.c" yy24: ++cur; -#line 333 "src/parser.re" +#line 346 "src/parser.re" { NEWTOKEN(PSI_T_ASTERISK); goto start; } -#line 554 "src/parser.c" +#line 552 "src/parser.c" yy26: - ++cur; - switch ((yych = *cur)) { - case '.': goto yy100; + yyaccept = 1; + yych = *(mrk = ++cur); + switch (yych) { + case '.': goto yy105; case '0': goto yy36; case '1': case '2': @@ -568,18 +567,19 @@ yy26: default: goto yy27; } yy27: -#line 338 "src/parser.re" +#line 351 "src/parser.re" { NEWTOKEN(PSI_T_PLUS); goto start; } -#line 574 "src/parser.c" +#line 573 "src/parser.c" yy28: ++cur; -#line 322 "src/parser.re" +#line 335 "src/parser.re" { NEWTOKEN(PSI_T_COMMA); goto start; } -#line 579 "src/parser.c" +#line 578 "src/parser.c" yy30: - ++cur; - switch ((yych = *cur)) { - case '.': goto yy100; + yyaccept = 2; + yych = *(mrk = ++cur); + switch (yych) { + case '.': goto yy105; case '0': goto yy36; case '1': case '2': @@ -593,14 +593,14 @@ yy30: default: goto yy31; } yy31: -#line 339 "src/parser.re" +#line 352 "src/parser.re" { NEWTOKEN(PSI_T_MINUS); goto start; } #line 599 "src/parser.c" yy32: - yyaccept = 1; + yyaccept = 3; yych = *(mrk = ++cur); switch (yych) { - case '.': goto yy102; + case '.': goto yy107; case '0': case '1': case '2': @@ -610,35 +610,30 @@ yy32: case '6': case '7': case '8': - case '9': goto yy100; - case 'D': - case 'd': goto yy104; - case 'F': - case 'L': - case 'f': - case 'l': goto yy105; + case '9': goto yy108; default: goto yy33; } yy33: -#line 350 "src/parser.re" +#line 363 "src/parser.re" { NEWTOKEN(PSI_T_PERIOD); goto start; } -#line 626 "src/parser.c" +#line 620 "src/parser.c" yy34: ++cur; switch ((yych = *cur)) { - case '*': goto yy106; - case '/': goto yy108; + case '*': goto yy111; + case '/': goto yy113; default: goto yy35; } yy35: -#line 340 "src/parser.re" +#line 353 "src/parser.re" { NEWTOKEN(PSI_T_SLASH); goto start; } -#line 637 "src/parser.c" +#line 631 "src/parser.c" yy36: - yyaccept = 2; + yyaccept = 4; yych = *(mrk = ++cur); + ctxmrk = cur; switch (yych) { - case '.': goto yy110; + case '.': goto yy115; case '0': case '1': case '2': @@ -646,28 +641,29 @@ yy36: case '4': case '5': case '6': - case '7': goto yy112; + case '7': goto yy117; case 'E': - case 'e': goto yy114; + case 'e': goto yy119; case 'L': - case 'l': goto yy115; + case 'l': goto yy120; case 'U': - case 'u': goto yy116; + case 'u': goto yy122; case 'X': - case 'x': goto yy117; + case 'x': goto yy124; default: goto yy37; } yy37: -#line 424 "src/parser.re" - { NEWTOKEN(PSI_T_NUMBER); goto start; } -#line 664 "src/parser.c" +#line 316 "src/parser.re" + { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_INT; goto start; } +#line 659 "src/parser.c" yy38: - yyaccept = 2; + yyaccept = 4; mrk = ++cur; if ((lim - cur) < 3) if (cur >= lim) goto done;; yych = *cur; + ctxmrk = cur; switch (yych) { - case '.': goto yy110; + case '.': goto yy115; case '0': case '1': case '2': @@ -679,25 +675,25 @@ yy38: case '8': case '9': goto yy38; case 'E': - case 'e': goto yy114; + case 'e': goto yy119; case 'L': - case 'l': goto yy115; + case 'l': goto yy120; case 'U': - case 'u': goto yy116; + case 'u': goto yy122; default: goto yy37; } yy40: ++cur; -#line 323 "src/parser.re" +#line 336 "src/parser.re" { NEWTOKEN(PSI_T_COLON); goto start; } -#line 694 "src/parser.c" +#line 690 "src/parser.c" yy42: ++cur; -#line 321 "src/parser.re" +#line 334 "src/parser.re" { NEWTOKEN(PSI_T_EOS); goto start; } -#line 699 "src/parser.c" +#line 695 "src/parser.c" yy44: - yyaccept = 3; + yyaccept = 5; yych = *(mrk = ++cur); switch (yych) { case '-': @@ -765,110 +761,115 @@ yy44: case 'w': case 'x': case 'y': - case 'z': goto yy118; - case '<': goto yy120; - case '=': goto yy122; + case 'z': goto yy125; + case '<': goto yy127; + case '=': goto yy129; default: goto yy45; } yy45: -#line 348 "src/parser.re" +#line 361 "src/parser.re" { NEWTOKEN(PSI_T_LCHEVR); goto start; } -#line 777 "src/parser.c" +#line 773 "src/parser.c" yy46: ++cur; switch ((yych = *cur)) { - case '=': goto yy124; + case '=': goto yy131; default: goto yy47; } yy47: -#line 332 "src/parser.re" +#line 345 "src/parser.re" { NEWTOKEN(PSI_T_EQUALS); goto start; } -#line 787 "src/parser.c" +#line 783 "src/parser.c" yy48: ++cur; switch ((yych = *cur)) { - case '=': goto yy126; - case '>': goto yy128; + case '=': goto yy133; + case '>': goto yy135; default: goto yy49; } yy49: -#line 349 "src/parser.re" +#line 362 "src/parser.re" { NEWTOKEN(PSI_T_RCHEVR); goto start; } -#line 798 "src/parser.c" +#line 794 "src/parser.c" yy50: - yyaccept = 4; + ++cur; +#line 365 "src/parser.re" + { NEWTOKEN(PSI_T_IIF); goto start; } +#line 799 "src/parser.c" +yy52: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'R': - case 'r': goto yy130; - default: goto yy58; + case 'r': goto yy137; + default: goto yy60; } -yy51: -#line 425 "src/parser.re" +yy53: +#line 440 "src/parser.re" { NEWTOKEN(PSI_T_NAME); goto start; } -#line 810 "src/parser.c" -yy52: - yyaccept = 4; +#line 811 "src/parser.c" +yy54: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'O': - case 'o': goto yy132; - default: goto yy58; + case 'o': goto yy139; + default: goto yy60; } -yy53: - yyaccept = 4; +yy55: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy133; + case 'a': goto yy140; case 'H': - case 'h': goto yy134; + case 'h': goto yy141; case 'O': - case 'o': goto yy135; - default: goto yy58; + case 'o': goto yy142; + default: goto yy60; } -yy54: - yyaccept = 4; +yy56: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy136; + case 'e': goto yy143; case 'O': - case 'o': goto yy137; - default: goto yy58; + case 'o': goto yy144; + default: goto yy60; } -yy55: - yyaccept = 4; +yy57: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy138; + case 'l': goto yy145; case 'N': - case 'n': goto yy139; + case 'n': goto yy146; case 'R': - case 'r': goto yy140; - default: goto yy58; + case 'r': goto yy147; + default: goto yy60; } -yy56: - yyaccept = 4; +yy58: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy141; + case 'a': goto yy148; case 'L': - case 'l': goto yy142; + case 'l': goto yy149; case 'R': - case 'r': goto yy143; + case 'r': goto yy150; case 'U': - case 'u': goto yy144; - default: goto yy58; + case 'u': goto yy151; + default: goto yy60; } -yy57: - yyaccept = 4; +yy59: + yyaccept = 6; mrk = ++cur; if (lim <= cur) if (cur >= lim) goto done;; yych = *cur; -yy58: +yy60: switch (yych) { case 0x00: case 0x01: @@ -933,146 +934,146 @@ yy58: case '|': case '}': case '~': - case 0x7F: goto yy51; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy53; + case '\\': goto yy138; + default: goto yy59; } -yy59: - yyaccept = 4; +yy61: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'F': - case 'f': goto yy145; + case 'f': goto yy152; case 'N': - case 'n': goto yy147; - default: goto yy58; + case 'n': goto yy154; + default: goto yy60; } -yy60: - yyaccept = 4; +yy62: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { - case '"': goto yy148; - case '\'': goto yy149; + case '"': goto yy155; + case '\'': goto yy156; case 'E': - case 'e': goto yy150; + case 'e': goto yy157; case 'I': - case 'i': goto yy151; + case 'i': goto yy158; case 'O': - case 'o': goto yy152; - default: goto yy58; + case 'o': goto yy159; + default: goto yy60; } -yy61: - yyaccept = 4; +yy63: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'I': - case 'i': goto yy153; - default: goto yy58; + case 'i': goto yy160; + default: goto yy60; } -yy62: - yyaccept = 4; +yy64: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'U': - case 'u': goto yy154; - default: goto yy58; + case 'u': goto yy161; + default: goto yy60; } -yy63: - yyaccept = 4; +yy65: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'B': - case 'b': goto yy155; - default: goto yy58; + case 'b': goto yy162; + default: goto yy60; } -yy64: - yyaccept = 4; +yy66: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy156; + case 'a': goto yy163; case 'O': - case 'o': goto yy157; + case 'o': goto yy164; case 'R': - case 'r': goto yy158; - default: goto yy58; + case 'r': goto yy165; + default: goto yy60; } -yy65: - yyaccept = 4; +yy67: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy159; - default: goto yy58; + case 'e': goto yy166; + default: goto yy60; } -yy66: - yyaccept = 4; +yy68: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy160; + case 'e': goto yy167; case 'H': - case 'h': goto yy161; + case 'h': goto yy168; case 'I': - case 'i': goto yy162; + case 'i': goto yy169; case 'T': - case 't': goto yy163; - default: goto yy58; + case 't': goto yy170; + default: goto yy60; } -yy67: - yyaccept = 4; +yy69: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy164; + case 'e': goto yy171; case 'O': - case 'o': goto yy165; + case 'o': goto yy172; case 'R': - case 'r': goto yy166; + case 'r': goto yy173; case 'Y': - case 'y': goto yy167; - default: goto yy58; + case 'y': goto yy174; + default: goto yy60; } -yy68: - yyaccept = 4; +yy70: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'I': - case 'i': goto yy168; + case 'i': goto yy175; case 'N': - case 'n': goto yy169; - default: goto yy58; + case 'n': goto yy176; + default: goto yy60; } -yy69: - yyaccept = 4; +yy71: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'O': - case 'o': goto yy170; - default: goto yy58; + case 'o': goto yy177; + default: goto yy60; } -yy70: - yyaccept = 4; +yy72: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy171; - default: goto yy58; + case 'a': goto yy178; + default: goto yy60; } -yy71: - yyaccept = 4; +yy73: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'V': - case 'v': goto yy172; - default: goto yy58; + case 'v': goto yy179; + default: goto yy60; } -yy72: +yy74: ++cur; -#line 326 "src/parser.re" +#line 339 "src/parser.re" { NEWTOKEN(PSI_T_LBRACKET); goto start; } -#line 1075 "src/parser.c" -yy74: +#line 1076 "src/parser.c" +yy76: ++cur; switch ((yych = *cur)) { case 0x00: @@ -1149,74 +1150,102 @@ yy74: case '|': case '}': case '~': - case 0x7F: goto yy75; - default: goto yy173; + case 0x7F: goto yy77; + default: goto yy180; } -yy75: -#line 341 "src/parser.re" +yy77: +#line 354 "src/parser.re" { NEWTOKEN(PSI_T_BSLASH); goto start; } -#line 1159 "src/parser.c" -yy76: +#line 1160 "src/parser.c" +yy78: ++cur; -#line 327 "src/parser.re" +#line 340 "src/parser.re" { NEWTOKEN(PSI_T_RBRACKET); goto start; } -#line 1164 "src/parser.c" -yy78: +#line 1165 "src/parser.c" +yy80: ++cur; -#line 343 "src/parser.re" +#line 356 "src/parser.re" { NEWTOKEN(PSI_T_CARET); goto start; } -#line 1169 "src/parser.c" -yy80: - yyaccept = 4; +#line 1170 "src/parser.c" +yy82: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case '_': goto yy183; + default: goto yy60; + } +yy83: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy150; + case 'e': goto yy157; case 'I': - case 'i': goto yy151; + case 'i': goto yy158; + case 'O': + case 'o': goto yy159; + default: goto yy60; + } +yy84: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 'B': + case 'b': goto yy162; + case 'n': goto yy184; + default: goto yy60; + } +yy85: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 'A': + case 'a': goto yy163; case 'O': - case 'o': goto yy152; - default: goto yy58; + case 'o': goto yy164; + case 'R': goto yy165; + case 'r': goto yy185; + default: goto yy60; } -yy81: +yy86: ++cur; -#line 324 "src/parser.re" +#line 337 "src/parser.re" { NEWTOKEN(PSI_T_LBRACE); goto start; } -#line 1186 "src/parser.c" -yy83: +#line 1215 "src/parser.c" +yy88: ++cur; switch ((yych = *cur)) { - case '|': goto yy176; - default: goto yy84; + case '|': goto yy186; + default: goto yy89; } -yy84: -#line 342 "src/parser.re" +yy89: +#line 355 "src/parser.re" { NEWTOKEN(PSI_T_PIPE); goto start; } -#line 1196 "src/parser.c" -yy85: +#line 1225 "src/parser.c" +yy90: ++cur; -#line 325 "src/parser.re" +#line 338 "src/parser.re" { NEWTOKEN(PSI_T_RBRACE); goto start; } -#line 1201 "src/parser.c" -yy87: +#line 1230 "src/parser.c" +yy92: ++cur; -#line 334 "src/parser.re" +#line 347 "src/parser.re" { NEWTOKEN(PSI_T_TILDE); goto start; } -#line 1206 "src/parser.c" -yy89: +#line 1235 "src/parser.c" +yy94: ++cur; -#line 328 "src/parser.re" +#line 341 "src/parser.re" { NEWTOKEN(PSI_T_CMP_NE); goto start; } -#line 1211 "src/parser.c" -yy91: +#line 1240 "src/parser.c" +yy96: ++cur; if (lim <= cur) if (cur >= lim) goto done;; yych = *cur; switch (yych) { - case '"': goto yy178; - default: goto yy91; + case '"': goto yy188; + default: goto yy96; } -yy93: +yy98: ++cur; if (lim <= cur) if (cur >= lim) goto done;; yych = *cur; @@ -1285,32 +1314,29 @@ yy93: case '|': case '}': case '~': - case 0x7F: goto yy95; - default: goto yy93; + case 0x7F: goto yy100; + default: goto yy98; } -yy95: -#line 427 "src/parser.re" +yy100: +#line 442 "src/parser.re" { NEWTOKEN(PSI_T_DOLLAR_NAME); goto start; } -#line 1295 "src/parser.c" -yy96: +#line 1324 "src/parser.c" +yy101: ++cur; -#line 330 "src/parser.re" +#line 343 "src/parser.re" { NEWTOKEN(PSI_T_AND); goto start; } -#line 1300 "src/parser.c" -yy98: +#line 1329 "src/parser.c" +yy103: ++cur; if (lim <= cur) if (cur >= lim) goto done;; yych = *cur; switch (yych) { - case '\'': goto yy180; - case '\\': goto yy182; - default: goto yy98; + case '\'': goto yy190; + case '\\': goto yy192; + default: goto yy103; } -yy100: - yyaccept = 2; - mrk = ++cur; - if ((lim - cur) < 2) if (cur >= lim) goto done;; - yych = *cur; +yy105: + yych = *++cur; switch (yych) { case '0': case '1': @@ -1321,133 +1347,110 @@ yy100: case '6': case '7': case '8': - case '9': goto yy100; - case 'D': - case 'd': goto yy104; - case 'F': - case 'L': - case 'f': - case 'l': goto yy105; - default: goto yy37; - } -yy102: - yych = *++cur; - switch (yych) { - case '.': goto yy184; - default: goto yy103; + case '9': goto yy108; + default: goto yy106; } -yy103: +yy106: cur = mrk; switch (yyaccept) { case 0: goto yy3; - case 1: goto yy33; - case 2: goto yy37; - case 3: goto yy45; - case 4: goto yy51; - case 5: goto yy146; - case 6: goto yy175; - case 7: goto yy214; - case 8: goto yy216; - case 9: goto yy218; - case 10: goto yy228; - case 11: goto yy181; - case 12: goto yy250; - case 13: goto yy253; - case 14: goto yy259; - case 15: goto yy261; - case 16: goto yy264; - case 17: goto yy269; - case 18: goto yy280; - case 19: goto yy283; - case 20: goto yy298; - case 21: goto yy306; - case 22: goto yy313; - case 23: goto yy316; - case 24: goto yy318; - case 25: goto yy325; - case 26: goto yy327; - case 27: goto yy331; - case 28: goto yy333; - case 29: goto yy335; - case 30: goto yy337; - case 31: goto yy340; - case 32: goto yy349; - case 33: goto yy357; - case 34: goto yy376; - case 35: goto yy378; - case 36: goto yy382; - case 37: goto yy387; - case 38: goto yy389; - case 39: goto yy391; - case 40: goto yy395; - case 41: goto yy401; - case 42: goto yy403; - case 43: goto yy405; - case 44: goto yy407; - case 45: goto yy412; - case 46: goto yy414; - case 47: goto yy416; - case 48: goto yy418; - case 49: goto yy420; - case 50: goto yy422; - case 51: goto yy424; - case 52: goto yy429; - case 53: goto yy440; - case 54: goto yy444; - case 55: goto yy448; - case 56: goto yy450; - case 57: goto yy452; - case 58: goto yy454; - case 59: goto yy456; - case 60: goto yy461; - case 61: goto yy466; - case 62: goto yy471; - case 63: goto yy474; - case 64: goto yy476; - case 65: goto yy478; - case 66: goto yy480; - case 67: goto yy482; - case 68: goto yy487; - case 69: goto yy489; - case 70: goto yy493; - case 71: goto yy495; - case 72: goto yy497; - case 73: goto yy499; - case 74: goto yy504; - case 75: goto yy506; - case 76: goto yy510; - case 77: goto yy513; - default: goto yy515; - } -yy104: + case 1: goto yy27; + case 2: goto yy31; + case 3: goto yy33; + case 4: goto yy37; + case 5: goto yy45; + case 6: goto yy53; + case 7: goto yy110; + case 8: goto yy121; + case 9: goto yy153; + case 10: goto yy182; + case 11: goto yy230; + case 12: goto yy232; + case 13: goto yy234; + case 14: goto yy244; + case 15: goto yy191; + case 16: goto yy277; + case 17: goto yy280; + case 18: goto yy286; + case 19: goto yy288; + case 20: goto yy291; + case 21: goto yy296; + case 22: goto yy307; + case 23: goto yy310; + case 24: goto yy325; + case 25: goto yy333; + case 26: goto yy340; + case 27: goto yy343; + case 28: goto yy346; + case 29: goto yy349; + case 30: goto yy356; + case 31: goto yy358; + case 32: goto yy362; + case 33: goto yy364; + case 34: goto yy366; + case 35: goto yy368; + case 36: goto yy371; + case 37: goto yy380; + case 38: goto yy388; + case 39: goto yy407; + case 40: goto yy409; + case 41: goto yy415; + case 42: goto yy420; + case 43: goto yy422; + case 44: goto yy424; + case 45: goto yy428; + case 46: goto yy434; + case 47: goto yy436; + case 48: goto yy438; + case 49: goto yy440; + case 50: goto yy445; + case 51: goto yy447; + case 52: goto yy449; + case 53: goto yy451; + case 54: goto yy453; + case 55: goto yy455; + case 56: goto yy457; + case 57: goto yy462; + case 58: goto yy474; + case 59: goto yy476; + case 60: goto yy480; + case 61: goto yy484; + case 62: goto yy486; + case 63: goto yy488; + case 64: goto yy490; + case 65: goto yy492; + case 66: goto yy497; + case 67: goto yy502; + case 68: goto yy507; + case 69: goto yy510; + case 70: goto yy513; + case 71: goto yy515; + case 72: goto yy517; + case 73: goto yy519; + case 74: goto yy524; + case 75: goto yy526; + case 76: goto yy530; + case 77: goto yy532; + case 78: goto yy534; + case 79: goto yy536; + case 80: goto yy542; + case 81: goto yy544; + case 82: goto yy549; + case 83: goto yy553; + default: goto yy556; + } +yy107: yych = *++cur; switch (yych) { - case 'D': - case 'F': - case 'L': - case 'd': - case 'f': - case 'l': goto yy105; - default: goto yy103; + case '.': goto yy194; + default: goto yy106; } -yy105: - yych = *++cur; - goto yy37; -yy106: - ++cur; -#line 316 "src/parser.re" - { goto comment; } -#line 1441 "src/parser.c" yy108: - ++cur; -#line 317 "src/parser.re" - { goto comment_sl; } -#line 1446 "src/parser.c" -yy110: - yyaccept = 2; + yyaccept = 7; mrk = ++cur; - if ((lim - cur) < 3) if (cur >= lim) goto done;; + if ((lim - cur) < 2) if (cur >= lim) goto done;; yych = *cur; + ctxmrk = cur; switch (yych) { case '0': case '1': @@ -1458,21 +1461,61 @@ yy110: case '6': case '7': case '8': - case '9': goto yy110; + case '9': goto yy108; case 'D': - case 'd': goto yy104; - case 'E': - case 'e': goto yy114; + case 'd': goto yy196; case 'F': + case 'f': goto yy197; case 'L': - case 'f': - case 'l': goto yy105; - default: goto yy37; + case 'l': goto yy199; + default: goto yy110; + } +yy110: +#line 322 "src/parser.re" + { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT; goto start; } +#line 1477 "src/parser.c" +yy111: + ++cur; +#line 329 "src/parser.re" + { goto comment; } +#line 1482 "src/parser.c" +yy113: + ++cur; +#line 330 "src/parser.re" + { goto comment_sl; } +#line 1487 "src/parser.c" +yy115: + yyaccept = 7; + mrk = ++cur; + if ((lim - cur) < 3) if (cur >= lim) goto done;; + yych = *cur; + ctxmrk = cur; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy115; + case 'D': + case 'd': goto yy196; + case 'E': + case 'e': goto yy119; + case 'F': + case 'f': goto yy197; + case 'L': + case 'l': goto yy199; + default: goto yy110; } -yy112: +yy117: ++cur; if ((lim - cur) < 3) if (cur >= lim) goto done;; yych = *cur; + ctxmrk = cur; switch (yych) { case '0': case '1': @@ -1481,18 +1524,18 @@ yy112: case '4': case '5': case '6': - case '7': goto yy112; + case '7': goto yy117; case 'L': - case 'l': goto yy115; + case 'l': goto yy120; case 'U': - case 'u': goto yy116; + case 'u': goto yy122; default: goto yy37; } -yy114: +yy119: yych = *++cur; switch (yych) { case '+': - case '-': goto yy186; + case '-': goto yy105; case '0': case '1': case '2': @@ -1502,27 +1545,37 @@ yy114: case '6': case '7': case '8': - case '9': goto yy100; - default: goto yy103; + case '9': goto yy108; + default: goto yy106; } -yy115: - yyaccept = 2; +yy120: + yyaccept = 8; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy187; + case 'l': goto yy201; case 'U': - case 'u': goto yy105; - default: goto yy37; + case 'u': goto yy202; + default: goto yy121; } -yy116: - yych = *++cur; - switch (yych) { +yy121: + cur = ctxmrk; +#line 318 "src/parser.re" + { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_INT | PSI_NUMBER_L; cur += 1; goto start; } +#line 1566 "src/parser.c" +yy122: + ++cur; + switch ((yych = *cur)) { case 'L': - case 'l': goto yy188; - default: goto yy37; + case 'l': goto yy204; + default: goto yy123; } -yy117: +yy123: + cur = ctxmrk; +#line 317 "src/parser.re" + { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_INT | PSI_NUMBER_U; cur += 1; goto start; } +#line 1578 "src/parser.c" +yy124: yych = *++cur; switch (yych) { case '0': @@ -1546,10 +1599,10 @@ yy117: case 'c': case 'd': case 'e': - case 'f': goto yy189; - default: goto yy103; + case 'f': goto yy205; + default: goto yy106; } -yy118: +yy125: ++cur; if (lim <= cur) if (cur >= lim) goto done;; yych = *cur; @@ -1619,44 +1672,44 @@ yy118: case 'w': case 'x': case 'y': - case 'z': goto yy118; - case '>': goto yy191; - default: goto yy103; + case 'z': goto yy125; + case '>': goto yy207; + default: goto yy106; } -yy120: +yy127: ++cur; -#line 344 "src/parser.re" +#line 357 "src/parser.re" { NEWTOKEN(PSI_T_LSHIFT); goto start; } -#line 1631 "src/parser.c" -yy122: +#line 1684 "src/parser.c" +yy129: ++cur; -#line 346 "src/parser.re" +#line 359 "src/parser.re" { NEWTOKEN(PSI_T_CMP_LE); goto start; } -#line 1636 "src/parser.c" -yy124: +#line 1689 "src/parser.c" +yy131: ++cur; -#line 329 "src/parser.re" +#line 342 "src/parser.re" { NEWTOKEN(PSI_T_CMP_EQ); goto start; } -#line 1641 "src/parser.c" -yy126: +#line 1694 "src/parser.c" +yy133: ++cur; -#line 347 "src/parser.re" +#line 360 "src/parser.re" { NEWTOKEN(PSI_T_CMP_GE); goto start; } -#line 1646 "src/parser.c" -yy128: +#line 1699 "src/parser.c" +yy135: ++cur; -#line 345 "src/parser.re" +#line 358 "src/parser.re" { NEWTOKEN(PSI_T_RSHIFT); goto start; } -#line 1651 "src/parser.c" -yy130: - yyaccept = 4; +#line 1704 "src/parser.c" +yy137: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'R': - case 'r': goto yy193; - default: goto yy58; + case 'r': goto yy209; + default: goto yy60; } -yy131: +yy138: ++cur; if (lim <= cur) if (cur >= lim) goto done;; yych = *cur; @@ -1735,121 +1788,121 @@ yy131: case '|': case '}': case '~': - case 0x7F: goto yy103; - default: goto yy173; + case 0x7F: goto yy106; + default: goto yy180; } -yy132: - yyaccept = 4; +yy139: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'O': - case 'o': goto yy194; - default: goto yy58; + case 'o': goto yy210; + default: goto yy60; } -yy133: - yyaccept = 4; +yy140: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy195; - default: goto yy58; + case 'l': goto yy211; + default: goto yy60; } -yy134: - yyaccept = 4; +yy141: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy196; - default: goto yy58; + case 'a': goto yy212; + default: goto yy60; } -yy135: - yyaccept = 4; +yy142: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'N': - case 'n': goto yy197; + case 'n': goto yy213; case 'U': - case 'u': goto yy198; - default: goto yy58; + case 'u': goto yy214; + default: goto yy60; } -yy136: - yyaccept = 4; +yy143: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'F': - case 'f': goto yy199; - default: goto yy58; + case 'f': goto yy215; + default: goto yy60; } -yy137: - yyaccept = 4; +yy144: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'U': - case 'u': goto yy200; - default: goto yy58; + case 'u': goto yy216; + default: goto yy60; } -yy138: - yyaccept = 4; +yy145: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'I': - case 'i': goto yy201; + case 'i': goto yy217; case 'S': - case 's': goto yy202; - default: goto yy58; + case 's': goto yy218; + default: goto yy60; } -yy139: - yyaccept = 4; +yy146: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'D': - case 'd': goto yy203; + case 'd': goto yy219; case 'U': - case 'u': goto yy204; - default: goto yy58; + case 'u': goto yy220; + default: goto yy60; } -yy140: - yyaccept = 4; +yy147: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'R': - case 'r': goto yy205; - default: goto yy58; + case 'r': goto yy221; + default: goto yy60; } -yy141: - yyaccept = 4; +yy148: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy206; - default: goto yy58; + case 'l': goto yy222; + default: goto yy60; } -yy142: - yyaccept = 4; +yy149: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'O': - case 'o': goto yy207; - default: goto yy58; + case 'o': goto yy223; + default: goto yy60; } -yy143: - yyaccept = 4; +yy150: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy208; - default: goto yy58; + case 'e': goto yy224; + default: goto yy60; } -yy144: - yyaccept = 4; +yy151: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'N': - case 'n': goto yy209; - default: goto yy58; + case 'n': goto yy225; + default: goto yy60; } -yy145: - yyaccept = 5; +yy152: + yyaccept = 9; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -1915,231 +1968,231 @@ yy145: case '|': case '}': case '~': - case 0x7F: goto yy146; + case 0x7F: goto yy153; case 'D': - case 'd': goto yy210; + case 'd': goto yy226; case 'N': - case 'n': goto yy211; - case '\\': goto yy131; - default: goto yy57; + case 'n': goto yy227; + case '\\': goto yy138; + default: goto yy59; } -yy146: -#line 352 "src/parser.re" +yy153: +#line 368 "src/parser.re" { NEWTOKEN(PSI_T_IF); goto start; } -#line 1930 "src/parser.c" -yy147: - yyaccept = 4; +#line 1983 "src/parser.c" +yy154: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'C': - case 'c': goto yy212; + case 'c': goto yy228; case 'T': - case 't': goto yy213; - default: goto yy58; + case 't': goto yy229; + default: goto yy60; } -yy148: +yy155: yych = *++cur; switch (yych) { - case '"': goto yy103; - default: goto yy91; + case '"': goto yy106; + default: goto yy96; } -yy149: +yy156: yych = *++cur; switch (yych) { - case '\'': goto yy103; - default: goto yy98; + case '\'': goto yy106; + default: goto yy103; } -yy150: - yyaccept = 4; +yy157: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy215; - default: goto yy58; + case 't': goto yy231; + default: goto yy60; } -yy151: - yyaccept = 4; +yy158: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'B': - case 'b': goto yy217; - default: goto yy58; + case 'b': goto yy233; + default: goto yy60; } -yy152: - yyaccept = 4; +yy159: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'N': - case 'n': goto yy219; - default: goto yy58; + case 'n': goto yy235; + default: goto yy60; } -yy153: - yyaccept = 4; +yy160: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'X': - case 'x': goto yy220; - default: goto yy58; + case 'x': goto yy236; + default: goto yy60; } -yy154: - yyaccept = 4; +yy161: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy221; - default: goto yy58; + case 'l': goto yy237; + default: goto yy60; } -yy155: - yyaccept = 4; +yy162: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'J': - case 'j': goto yy222; - default: goto yy58; + case 'j': goto yy238; + default: goto yy60; } -yy156: - yyaccept = 4; +yy163: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy223; - default: goto yy58; + case 't': goto yy239; + default: goto yy60; } -yy157: - yyaccept = 4; +yy164: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'S': - case 's': goto yy224; - default: goto yy58; + case 's': goto yy240; + default: goto yy60; } -yy158: - yyaccept = 4; +yy165: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy225; - default: goto yy58; + case 'e': goto yy241; + default: goto yy60; } -yy159: - yyaccept = 4; +yy166: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy226; - default: goto yy58; + case 't': goto yy242; + default: goto yy60; } -yy160: - yyaccept = 4; +yy167: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy227; - default: goto yy58; + case 't': goto yy243; + default: goto yy60; } -yy161: - yyaccept = 4; +yy168: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'O': - case 'o': goto yy229; - default: goto yy58; + case 'o': goto yy245; + default: goto yy60; } -yy162: - yyaccept = 4; +yy169: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'G': - case 'g': goto yy230; - default: goto yy58; + case 'g': goto yy246; + default: goto yy60; } -yy163: - yyaccept = 4; +yy170: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy231; + case 'a': goto yy247; case 'R': - case 'r': goto yy232; - default: goto yy58; + case 'r': goto yy248; + default: goto yy60; } -yy164: - yyaccept = 4; +yy171: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'M': - case 'm': goto yy233; - default: goto yy58; + case 'm': goto yy249; + default: goto yy60; } -yy165: - yyaccept = 4; +yy172: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy234; - default: goto yy58; + case '_': goto yy250; + default: goto yy60; } -yy166: - yyaccept = 4; +yy173: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'U': - case 'u': goto yy235; - default: goto yy58; + case 'u': goto yy251; + default: goto yy60; } -yy167: - yyaccept = 4; +yy174: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'P': - case 'p': goto yy236; - default: goto yy58; + case 'p': goto yy252; + default: goto yy60; } -yy168: - yyaccept = 4; +yy175: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'N': - case 'n': goto yy237; - default: goto yy58; + case 'n': goto yy253; + default: goto yy60; } -yy169: - yyaccept = 4; +yy176: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'D': - case 'd': goto yy238; + case 'd': goto yy254; case 'I': - case 'i': goto yy239; + case 'i': goto yy255; case 'S': - case 's': goto yy240; - default: goto yy58; + case 's': goto yy256; + default: goto yy60; } -yy170: - yyaccept = 4; +yy177: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'I': - case 'i': goto yy241; - default: goto yy58; + case 'i': goto yy257; + default: goto yy60; } -yy171: - yyaccept = 4; +yy178: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'R': - case 'r': goto yy242; - default: goto yy58; + case 'r': goto yy258; + default: goto yy60; } -yy172: - yyaccept = 4; +yy179: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy243; - default: goto yy58; + case 'a': goto yy259; + default: goto yy60; } -yy173: - yyaccept = 6; +yy180: + yyaccept = 10; mrk = ++cur; if (lim <= cur) if (cur >= lim) goto done;; yych = *cur; @@ -2207,80 +2260,119 @@ yy173: case '|': case '}': case '~': - case 0x7F: goto yy175; - case '\\': goto yy131; - default: goto yy173; + case 0x7F: goto yy182; + case '\\': goto yy138; + default: goto yy180; } -yy175: -#line 426 "src/parser.re" - { NEWTOKEN(PSI_T_NSNAME); goto start; } -#line 2218 "src/parser.c" -yy176: - ++cur; -#line 331 "src/parser.re" - { NEWTOKEN(PSI_T_OR); goto start; } -#line 2223 "src/parser.c" -yy178: - ++cur; -#line 428 "src/parser.re" - { NEWTOKEN(PSI_T_QUOTED_STRING); goto start; } -#line 2228 "src/parser.c" -yy180: - ++cur; -yy181: -#line 429 "src/parser.re" - { NEWTOKEN(PSI_T_QUOTED_CHAR); goto start; } -#line 2234 "src/parser.c" yy182: - ++cur; - if (lim <= cur) if (cur >= lim) goto done;; - yych = *cur; +#line 441 "src/parser.re" + { NEWTOKEN(PSI_T_NSNAME); goto start; } +#line 2271 "src/parser.c" +yy183: + yyaccept = 6; + yych = *(mrk = ++cur); switch (yych) { - case '\'': goto yy244; - case '\\': goto yy182; - default: goto yy98; + case 'a': goto yy260; + default: goto yy60; } yy184: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 'c': goto yy261; + default: goto yy60; + } +yy185: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 'E': + case 'e': goto yy241; + case 'a': goto yy262; + default: goto yy60; + } +yy186: ++cur; -#line 351 "src/parser.re" +#line 344 "src/parser.re" + { NEWTOKEN(PSI_T_OR); goto start; } +#line 2299 "src/parser.c" +yy188: + ++cur; +#line 443 "src/parser.re" + { NEWTOKEN(PSI_T_QUOTED_STRING); goto start; } +#line 2304 "src/parser.c" +yy190: + ++cur; +yy191: +#line 444 "src/parser.re" + { NEWTOKEN(PSI_T_QUOTED_CHAR); goto start; } +#line 2310 "src/parser.c" +yy192: + ++cur; + if (lim <= cur) if (cur >= lim) goto done;; + yych = *cur; + switch (yych) { + case '\'': goto yy263; + case '\\': goto yy192; + default: goto yy103; + } +yy194: + ++cur; +#line 364 "src/parser.re" { NEWTOKEN(PSI_T_ELLIPSIS); goto start; } -#line 2248 "src/parser.c" -yy186: +#line 2324 "src/parser.c" +yy196: yych = *++cur; switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy100; - default: goto yy103; + case 'D': + case 'd': goto yy264; + case 'F': + case 'f': goto yy266; + case 'L': + case 'l': goto yy268; + default: goto yy106; } -yy187: +yy197: + ++cur; + cur = ctxmrk; +#line 323 "src/parser.re" + { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT | PSI_NUMBER_F; cur += 1; goto start; } +#line 2341 "src/parser.c" +yy199: + ++cur; + cur = ctxmrk; +#line 324 "src/parser.re" + { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT | PSI_NUMBER_L; cur += 1; goto start; } +#line 2347 "src/parser.c" +yy201: yych = *++cur; switch (yych) { case 'U': - case 'u': goto yy105; - default: goto yy103; + case 'u': goto yy270; + default: goto yy106; } -yy188: +yy202: + ++cur; +yy203: + cur = ctxmrk; +#line 319 "src/parser.re" + { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_INT | PSI_NUMBER_UL; cur += 2; goto start; } +#line 2361 "src/parser.c" +yy204: yych = *++cur; switch (yych) { case 'L': - case 'l': goto yy105; - default: goto yy37; + case 'l': goto yy270; + default: goto yy203; } -yy189: - yyaccept = 2; +yy205: + yyaccept = 4; mrk = ++cur; if ((lim - cur) < 3) if (cur >= lim) goto done;; yych = *cur; + ctxmrk = cur; switch (yych) { - case '.': goto yy245; + case '.': goto yy272; case '0': case '1': case '2': @@ -2302,184 +2394,184 @@ yy189: case 'c': case 'd': case 'e': - case 'f': goto yy189; + case 'f': goto yy205; case 'L': - case 'l': goto yy115; + case 'l': goto yy120; case 'P': - case 'p': goto yy114; + case 'p': goto yy119; case 'U': - case 'u': goto yy116; + case 'u': goto yy122; default: goto yy37; } -yy191: +yy207: ++cur; -#line 430 "src/parser.re" +#line 445 "src/parser.re" { NEWTOKEN(PSI_T_CPP_HEADER); goto start; } -#line 2319 "src/parser.c" -yy193: - yyaccept = 4; +#line 2411 "src/parser.c" +yy209: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy247; + case 'a': goto yy274; case 'V': - case 'v': goto yy248; - default: goto yy58; + case 'v': goto yy275; + default: goto yy60; } -yy194: - yyaccept = 4; +yy210: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy249; - default: goto yy58; + case 'l': goto yy276; + default: goto yy60; } -yy195: - yyaccept = 4; +yy211: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy251; - default: goto yy58; + case 'l': goto yy278; + default: goto yy60; } -yy196: - yyaccept = 4; +yy212: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'R': - case 'r': goto yy252; - default: goto yy58; + case 'r': goto yy279; + default: goto yy60; } -yy197: - yyaccept = 4; +yy213: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'S': - case 's': goto yy254; - default: goto yy58; + case 's': goto yy281; + default: goto yy60; } -yy198: - yyaccept = 4; +yy214: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'N': - case 'n': goto yy255; - default: goto yy58; + case 'n': goto yy282; + default: goto yy60; } -yy199: - yyaccept = 4; +yy215: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'I': - case 'i': goto yy256; - default: goto yy58; + case 'i': goto yy283; + default: goto yy60; } -yy200: - yyaccept = 4; +yy216: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'B': - case 'b': goto yy257; - default: goto yy58; + case 'b': goto yy284; + default: goto yy60; } -yy201: - yyaccept = 4; +yy217: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'F': - case 'f': goto yy258; - default: goto yy58; + case 'f': goto yy285; + default: goto yy60; } -yy202: - yyaccept = 4; +yy218: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy260; - default: goto yy58; + case 'e': goto yy287; + default: goto yy60; } -yy203: - yyaccept = 4; +yy219: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'I': - case 'i': goto yy262; - default: goto yy58; + case 'i': goto yy289; + default: goto yy60; } -yy204: - yyaccept = 4; +yy220: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'M': - case 'm': goto yy263; - default: goto yy58; + case 'm': goto yy290; + default: goto yy60; } -yy205: - yyaccept = 4; +yy221: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'O': - case 'o': goto yy265; - default: goto yy58; + case 'o': goto yy292; + default: goto yy60; } -yy206: - yyaccept = 4; +yy222: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'S': - case 's': goto yy266; - default: goto yy58; + case 's': goto yy293; + default: goto yy60; } -yy207: - yyaccept = 4; +yy223: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy267; - default: goto yy58; + case 'a': goto yy294; + default: goto yy60; } -yy208: - yyaccept = 4; +yy224: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy268; - default: goto yy58; + case 'e': goto yy295; + default: goto yy60; } -yy209: - yyaccept = 4; +yy225: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'C': - case 'c': goto yy270; - default: goto yy58; + case 'c': goto yy297; + default: goto yy60; } -yy210: - yyaccept = 4; +yy226: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy271; - default: goto yy58; + case 'e': goto yy298; + default: goto yy60; } -yy211: - yyaccept = 4; +yy227: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'D': - case 'd': goto yy272; - default: goto yy58; + case 'd': goto yy299; + default: goto yy60; } -yy212: - yyaccept = 4; +yy228: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy273; - default: goto yy58; + case 'l': goto yy300; + default: goto yy60; } -yy213: - yyaccept = 7; +yy229: + yyaccept = 11; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -2545,22 +2637,22 @@ yy213: case '|': case '}': case '~': - case 0x7F: goto yy214; - case '1': goto yy274; - case '3': goto yy275; - case '6': goto yy276; - case '8': goto yy277; + case 0x7F: goto yy230; + case '1': goto yy301; + case '3': goto yy302; + case '6': goto yy303; + case '8': goto yy304; case 'V': - case 'v': goto yy278; - case '\\': goto yy131; - default: goto yy57; + case 'v': goto yy305; + case '\\': goto yy138; + default: goto yy59; } -yy214: -#line 374 "src/parser.re" +yy230: +#line 390 "src/parser.re" { NEWTOKEN(PSI_T_INT); goto start; } -#line 2562 "src/parser.c" -yy215: - yyaccept = 8; +#line 2654 "src/parser.c" +yy231: + yyaccept = 12; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -2626,16 +2718,16 @@ yy215: case '|': case '}': case '~': - case 0x7F: goto yy216; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy232; + case '\\': goto yy138; + default: goto yy59; } -yy216: -#line 400 "src/parser.re" +yy232: +#line 416 "src/parser.re" { NEWTOKEN(PSI_T_LET); goto start; } -#line 2637 "src/parser.c" -yy217: - yyaccept = 9; +#line 2729 "src/parser.c" +yy233: + yyaccept = 13; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -2701,81 +2793,81 @@ yy217: case '|': case '}': case '~': - case 0x7F: goto yy218; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy234; + case '\\': goto yy138; + default: goto yy59; } -yy218: -#line 399 "src/parser.re" +yy234: +#line 415 "src/parser.re" { NEWTOKEN(PSI_T_LIB); goto start; } -#line 2712 "src/parser.c" -yy219: - yyaccept = 4; +#line 2804 "src/parser.c" +yy235: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'G': - case 'g': goto yy279; - default: goto yy58; + case 'g': goto yy306; + default: goto yy60; } -yy220: - yyaccept = 4; +yy236: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy281; - default: goto yy58; + case 'e': goto yy308; + default: goto yy60; } -yy221: - yyaccept = 4; +yy237: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy282; - default: goto yy58; + case 'l': goto yy309; + default: goto yy60; } -yy222: - yyaccept = 4; +yy238: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy284; + case 'e': goto yy311; case 'V': - case 'v': goto yy285; - default: goto yy58; + case 'v': goto yy312; + default: goto yy60; } -yy223: - yyaccept = 4; +yy239: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'H': - case 'h': goto yy286; - default: goto yy58; + case 'h': goto yy313; + default: goto yy60; } -yy224: - yyaccept = 4; +yy240: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy287; - default: goto yy58; + case 't': goto yy314; + default: goto yy60; } -yy225: - yyaccept = 4; +yy241: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy288; - default: goto yy58; + case '_': goto yy315; + default: goto yy60; } -yy226: - yyaccept = 4; +yy242: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'U': - case 'u': goto yy289; - default: goto yy58; + case 'u': goto yy316; + default: goto yy60; } -yy227: - yyaccept = 10; +yy243: + yyaccept = 14; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -2841,160 +2933,205 @@ yy227: case '|': case '}': case '~': - case 0x7F: goto yy228; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy244; + case '\\': goto yy138; + default: goto yy59; } -yy228: -#line 401 "src/parser.re" +yy244: +#line 417 "src/parser.re" { NEWTOKEN(PSI_T_SET); goto start; } -#line 2852 "src/parser.c" -yy229: - yyaccept = 4; +#line 2944 "src/parser.c" +yy245: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'R': - case 'r': goto yy290; - default: goto yy58; + case 'r': goto yy317; + default: goto yy60; } -yy230: - yyaccept = 4; +yy246: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'N': - case 'n': goto yy291; - default: goto yy58; + case 'n': goto yy318; + default: goto yy60; } -yy231: - yyaccept = 4; +yy247: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy292; - default: goto yy58; + case 't': goto yy319; + default: goto yy60; } -yy232: - yyaccept = 4; +yy248: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'I': - case 'i': goto yy293; + case 'i': goto yy320; case 'L': - case 'l': goto yy294; + case 'l': goto yy321; case 'U': - case 'u': goto yy295; + case 'u': goto yy322; case 'V': - case 'v': goto yy296; - default: goto yy58; + case 'v': goto yy323; + default: goto yy60; } -yy233: - yyaccept = 4; +yy249: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'P': - case 'p': goto yy297; - default: goto yy58; + case 'p': goto yy324; + default: goto yy60; } -yy234: - yyaccept = 4; +yy250: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy299; + case 'a': goto yy326; case 'B': - case 'b': goto yy300; + case 'b': goto yy327; case 'F': - case 'f': goto yy301; + case 'f': goto yy328; case 'I': - case 'i': goto yy302; + case 'i': goto yy329; case 'O': - case 'o': goto yy303; + case 'o': goto yy330; case 'S': - case 's': goto yy304; - default: goto yy58; + case 's': goto yy331; + default: goto yy60; } -yy235: - yyaccept = 4; +yy251: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy305; - default: goto yy58; + case 'e': goto yy332; + default: goto yy60; } -yy236: - yyaccept = 4; +yy252: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy307; - default: goto yy58; + case 'e': goto yy334; + default: goto yy60; } -yy237: - yyaccept = 4; +yy253: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy308; - default: goto yy58; + case 't': goto yy335; + default: goto yy60; } -yy238: - yyaccept = 4; +yy254: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy309; - default: goto yy58; + case 'e': goto yy336; + default: goto yy60; } -yy239: - yyaccept = 4; +yy255: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'O': - case 'o': goto yy310; - default: goto yy58; + case 'o': goto yy337; + default: goto yy60; } -yy240: - yyaccept = 4; +yy256: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'I': - case 'i': goto yy311; - default: goto yy58; + case 'i': goto yy338; + default: goto yy60; } -yy241: - yyaccept = 4; - yych = *(mrk = ++cur); +yy257: + yyaccept = 6; + yych = *(mrk = ++cur); switch (yych) { case 'D': - case 'd': goto yy312; - default: goto yy58; + case 'd': goto yy339; + default: goto yy60; } -yy242: - yyaccept = 4; +yy258: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'N': - case 'n': goto yy314; - default: goto yy58; + case 'n': goto yy341; + default: goto yy60; } -yy243: - yyaccept = 4; +yy259: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy315; - default: goto yy58; + case 'l': goto yy342; + default: goto yy60; } -yy244: - yyaccept = 11; +yy260: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 't': goto yy344; + default: goto yy60; + } +yy261: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 'e': goto yy345; + default: goto yy60; + } +yy262: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 'g': goto yy347; + default: goto yy60; + } +yy263: + yyaccept = 15; mrk = ++cur; if (lim <= cur) if (cur >= lim) goto done;; yych = *cur; switch (yych) { - case '\'': goto yy180; - default: goto yy98; + case '\'': goto yy190; + default: goto yy103; } -yy245: +yy264: + ++cur; + cur = ctxmrk; +#line 326 "src/parser.re" + { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT | PSI_NUMBER_DD; cur += 2; goto start; } +#line 3116 "src/parser.c" +yy266: + ++cur; + cur = ctxmrk; +#line 325 "src/parser.re" + { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT | PSI_NUMBER_DF; cur += 2; goto start; } +#line 3122 "src/parser.c" +yy268: + ++cur; + cur = ctxmrk; +#line 327 "src/parser.re" + { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT | PSI_NUMBER_DL; cur += 2; goto start; } +#line 3128 "src/parser.c" +yy270: + ++cur; + cur = ctxmrk; +#line 320 "src/parser.re" + { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_INT | PSI_NUMBER_ULL; cur += 3; goto start; } +#line 3134 "src/parser.c" +yy272: ++cur; if ((lim - cur) < 3) if (cur >= lim) goto done;; yych = *cur; @@ -3020,29 +3157,29 @@ yy245: case 'c': case 'd': case 'e': - case 'f': goto yy245; + case 'f': goto yy272; case 'P': - case 'p': goto yy114; - default: goto yy103; + case 'p': goto yy119; + default: goto yy106; } -yy247: - yyaccept = 4; +yy274: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'Y': - case 'y': goto yy317; - default: goto yy58; + case 'y': goto yy348; + default: goto yy60; } -yy248: - yyaccept = 4; +yy275: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy319; - default: goto yy58; + case 'a': goto yy350; + default: goto yy60; } -yy249: - yyaccept = 12; +yy276: + yyaccept = 16; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -3108,30 +3245,30 @@ yy249: case '|': case '}': case '~': - case 0x7F: goto yy250; + case 0x7F: goto yy277; case 'V': - case 'v': goto yy320; - case '\\': goto yy131; - default: goto yy57; + case 'v': goto yy351; + case '\\': goto yy138; + default: goto yy59; } -yy250: -#line 371 "src/parser.re" +yy277: +#line 387 "src/parser.re" { NEWTOKEN(PSI_T_BOOL); goto start; } -#line 3121 "src/parser.c" -yy251: - yyaccept = 4; +#line 3258 "src/parser.c" +yy278: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy321; + case 'a': goto yy352; case 'B': - case 'b': goto yy322; + case 'b': goto yy353; case 'O': - case 'o': goto yy323; - default: goto yy58; + case 'o': goto yy354; + default: goto yy60; } -yy252: - yyaccept = 13; +yy279: + yyaccept = 17; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -3197,48 +3334,48 @@ yy252: case '|': case '}': case '~': - case 0x7F: goto yy253; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy280; + case '\\': goto yy138; + default: goto yy59; } -yy253: -#line 372 "src/parser.re" +yy280: +#line 388 "src/parser.re" { NEWTOKEN(PSI_T_CHAR); goto start; } -#line 3208 "src/parser.c" -yy254: - yyaccept = 4; +#line 3345 "src/parser.c" +yy281: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy324; - default: goto yy58; + case 't': goto yy355; + default: goto yy60; } -yy255: - yyaccept = 4; +yy282: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy326; - default: goto yy58; + case 't': goto yy357; + default: goto yy60; } -yy256: - yyaccept = 4; +yy283: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'N': - case 'n': goto yy328; - default: goto yy58; + case 'n': goto yy359; + default: goto yy60; } -yy257: - yyaccept = 4; +yy284: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy329; - default: goto yy58; + case 'l': goto yy360; + default: goto yy60; } -yy258: - yyaccept = 14; +yy285: + yyaccept = 18; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -3304,16 +3441,16 @@ yy258: case '|': case '}': case '~': - case 0x7F: goto yy259; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy286; + case '\\': goto yy138; + default: goto yy59; } -yy259: -#line 356 "src/parser.re" +yy286: +#line 372 "src/parser.re" { NEWTOKEN(PSI_T_ELIF); goto start; } -#line 3315 "src/parser.c" -yy260: - yyaccept = 15; +#line 3452 "src/parser.c" +yy287: + yyaccept = 19; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -3379,24 +3516,24 @@ yy260: case '|': case '}': case '~': - case 0x7F: goto yy261; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy288; + case '\\': goto yy138; + default: goto yy59; } -yy261: -#line 355 "src/parser.re" +yy288: +#line 371 "src/parser.re" { NEWTOKEN(PSI_T_ELSE); goto start; } -#line 3390 "src/parser.c" -yy262: - yyaccept = 4; +#line 3527 "src/parser.c" +yy289: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'F': - case 'f': goto yy330; - default: goto yy58; + case 'f': goto yy361; + default: goto yy60; } -yy263: - yyaccept = 16; +yy290: + yyaccept = 20; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -3462,40 +3599,40 @@ yy263: case '|': case '}': case '~': - case 0x7F: goto yy264; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy291; + case '\\': goto yy138; + default: goto yy59; } -yy264: -#line 397 "src/parser.re" +yy291: +#line 413 "src/parser.re" { NEWTOKEN(PSI_T_ENUM); goto start; } -#line 3473 "src/parser.c" -yy265: - yyaccept = 4; +#line 3610 "src/parser.c" +yy292: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'R': - case 'r': goto yy332; - default: goto yy58; + case 'r': goto yy363; + default: goto yy60; } -yy266: - yyaccept = 4; +yy293: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy334; - default: goto yy58; + case 'e': goto yy365; + default: goto yy60; } -yy267: - yyaccept = 4; +yy294: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy336; - default: goto yy58; + case 't': goto yy367; + default: goto yy60; } -yy268: - yyaccept = 17; +yy295: + yyaccept = 21; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -3561,84 +3698,84 @@ yy268: case '|': case '}': case '~': - case 0x7F: goto yy269; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy296; + case '\\': goto yy138; + default: goto yy59; } -yy269: -#line 405 "src/parser.re" +yy296: +#line 421 "src/parser.re" { NEWTOKEN(PSI_T_FREE); goto start; } -#line 3572 "src/parser.c" -yy270: - yyaccept = 4; +#line 3709 "src/parser.c" +yy297: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy338; - default: goto yy58; + case 't': goto yy369; + default: goto yy60; } -yy271: - yyaccept = 4; +yy298: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'F': - case 'f': goto yy339; - default: goto yy58; + case 'f': goto yy370; + default: goto yy60; } -yy272: - yyaccept = 4; +yy299: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy341; - default: goto yy58; + case 'e': goto yy372; + default: goto yy60; } -yy273: - yyaccept = 4; +yy300: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'U': - case 'u': goto yy342; - default: goto yy58; + case 'u': goto yy373; + default: goto yy60; } -yy274: - yyaccept = 4; +yy301: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { - case '6': goto yy343; - default: goto yy58; + case '6': goto yy374; + default: goto yy60; } -yy275: - yyaccept = 4; +yy302: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { - case '2': goto yy344; - default: goto yy58; + case '2': goto yy375; + default: goto yy60; } -yy276: - yyaccept = 4; +yy303: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { - case '4': goto yy345; - default: goto yy58; + case '4': goto yy376; + default: goto yy60; } -yy277: - yyaccept = 4; +yy304: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy346; - default: goto yy58; + case '_': goto yy377; + default: goto yy60; } -yy278: - yyaccept = 4; +yy305: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy347; - default: goto yy58; + case 'a': goto yy378; + default: goto yy60; } -yy279: - yyaccept = 18; +yy306: + yyaccept = 22; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -3704,24 +3841,202 @@ yy279: case '|': case '}': case '~': - case 0x7F: goto yy280; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy307; + case '\\': goto yy138; + default: goto yy59; } -yy280: -#line 375 "src/parser.re" +yy307: +#line 391 "src/parser.re" { NEWTOKEN(PSI_T_LONG); goto start; } -#line 3715 "src/parser.c" -yy281: - yyaccept = 4; +#line 3852 "src/parser.c" +yy308: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 'D': + case 'd': goto yy379; + default: goto yy60; + } +yy309: + yyaccept = 23; + 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 yy310; + case '\\': goto yy138; + default: goto yy59; + } +yy310: +#line 383 "src/parser.re" + { NEWTOKEN(PSI_T_NULL); goto start; } +#line 3935 "src/parser.c" +yy311: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 'C': + case 'c': goto yy381; + default: goto yy60; + } +yy312: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 'A': + case 'a': goto yy382; + default: goto yy60; + } +yy313: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 'V': + case 'v': goto yy383; + default: goto yy60; + } +yy314: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case '_': goto yy384; + default: goto yy60; + } +yy315: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 'A': + case 'a': goto yy385; + default: goto yy60; + } +yy316: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 'R': + case 'r': goto yy386; + default: goto yy60; + } +yy317: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 'T': + case 't': goto yy387; + default: goto yy60; + } +yy318: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 'E': + case 'e': goto yy389; + default: goto yy60; + } +yy319: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 'I': + case 'i': goto yy390; + default: goto yy60; + } +yy320: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 'N': + case 'n': goto yy391; + default: goto yy60; + } +yy321: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 'E': + case 'e': goto yy392; + default: goto yy60; + } +yy322: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 'C': + case 'c': goto yy393; + default: goto yy60; + } +yy323: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { - case 'D': - case 'd': goto yy348; - default: goto yy58; + case 'A': + case 'a': goto yy394; + default: goto yy60; } -yy282: - yyaccept = 19; +yy324: + yyaccept = 24; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -3787,119 +4102,64 @@ yy282: case '|': case '}': case '~': - case 0x7F: goto yy283; - case '\\': goto yy131; - default: goto yy57; - } -yy283: -#line 367 "src/parser.re" - { NEWTOKEN(PSI_T_NULL); goto start; } -#line 3798 "src/parser.c" -yy284: - yyaccept = 4; - yych = *(mrk = ++cur); - switch (yych) { - case 'C': - case 'c': goto yy350; - default: goto yy58; - } -yy285: - yyaccept = 4; - yych = *(mrk = ++cur); - switch (yych) { - case 'A': - case 'a': goto yy351; - default: goto yy58; - } -yy286: - yyaccept = 4; - yych = *(mrk = ++cur); - switch (yych) { - case 'V': - case 'v': goto yy352; - default: goto yy58; - } -yy287: - yyaccept = 4; - yych = *(mrk = ++cur); - switch (yych) { - case '_': goto yy353; - default: goto yy58; - } -yy288: - yyaccept = 4; - yych = *(mrk = ++cur); - switch (yych) { - case 'A': - case 'a': goto yy354; - default: goto yy58; + case 0x7F: goto yy325; + case '\\': goto yy138; + default: goto yy59; } -yy289: - yyaccept = 4; +yy325: +#line 422 "src/parser.re" + { NEWTOKEN(PSI_T_TEMP); goto start; } +#line 4113 "src/parser.c" +yy326: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'R': - case 'r': goto yy355; - default: goto yy58; - } -yy290: - yyaccept = 4; - yych = *(mrk = ++cur); - switch (yych) { - case 'T': - case 't': goto yy356; - default: goto yy58; + case 'r': goto yy395; + default: goto yy60; } -yy291: - yyaccept = 4; +yy327: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { - case 'E': - case 'e': goto yy358; - default: goto yy58; + case 'O': + case 'o': goto yy396; + default: goto yy60; } -yy292: - yyaccept = 4; +yy328: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { - case 'I': - case 'i': goto yy359; - default: goto yy58; + case 'L': + case 'l': goto yy397; + default: goto yy60; } -yy293: - yyaccept = 4; +yy329: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'N': - case 'n': goto yy360; - default: goto yy58; - } -yy294: - yyaccept = 4; - yych = *(mrk = ++cur); - switch (yych) { - case 'E': - case 'e': goto yy361; - default: goto yy58; + case 'n': goto yy398; + default: goto yy60; } -yy295: - yyaccept = 4; +yy330: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { - case 'C': - case 'c': goto yy362; - default: goto yy58; + case 'B': + case 'b': goto yy399; + default: goto yy60; } -yy296: - yyaccept = 4; +yy331: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { - case 'A': - case 'a': goto yy363; - default: goto yy58; + case 'T': + case 't': goto yy400; + default: goto yy60; } -yy297: - yyaccept = 20; +yy332: + yyaccept = 25; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -3965,64 +4225,58 @@ yy297: case '|': case '}': case '~': - case 0x7F: goto yy298; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy333; + case '\\': goto yy138; + default: goto yy59; } -yy298: -#line 406 "src/parser.re" - { NEWTOKEN(PSI_T_TEMP); goto start; } -#line 3976 "src/parser.c" -yy299: - yyaccept = 4; +yy333: +#line 381 "src/parser.re" + { NEWTOKEN(PSI_T_TRUE); goto start; } +#line 4236 "src/parser.c" +yy334: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { - case 'R': - case 'r': goto yy364; - default: goto yy58; + case 'D': + case 'd': goto yy401; + default: goto yy60; } -yy300: - yyaccept = 4; +yy335: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { - case 'O': - case 'o': goto yy365; - default: goto yy58; + case '1': goto yy402; + case '3': goto yy403; + case '6': goto yy404; + case '8': goto yy405; + default: goto yy60; } -yy301: - yyaccept = 4; +yy336: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { - case 'L': - case 'l': goto yy366; - default: goto yy58; + case 'F': + case 'f': goto yy406; + default: goto yy60; } -yy302: - yyaccept = 4; +yy337: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'N': - case 'n': goto yy367; - default: goto yy58; + case 'n': goto yy408; + default: goto yy60; } -yy303: - yyaccept = 4; - yych = *(mrk = ++cur); - switch (yych) { - case 'B': - case 'b': goto yy368; - default: goto yy58; - } -yy304: - yyaccept = 4; +yy338: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { - case 'T': - case 't': goto yy369; - default: goto yy58; + case 'G': + case 'g': goto yy410; + default: goto yy60; } -yy305: - yyaccept = 21; +yy339: + yyaccept = 26; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -4088,58 +4342,24 @@ yy305: case '|': case '}': case '~': - case 0x7F: goto yy306; - case '\\': goto yy131; - default: goto yy57; - } -yy306: -#line 365 "src/parser.re" - { NEWTOKEN(PSI_T_TRUE); goto start; } -#line 4099 "src/parser.c" -yy307: - yyaccept = 4; - yych = *(mrk = ++cur); - switch (yych) { - case 'D': - case 'd': goto yy370; - default: goto yy58; - } -yy308: - yyaccept = 4; - yych = *(mrk = ++cur); - switch (yych) { - case '1': goto yy371; - case '3': goto yy372; - case '6': goto yy373; - case '8': goto yy374; - default: goto yy58; - } -yy309: - yyaccept = 4; - yych = *(mrk = ++cur); - switch (yych) { - case 'F': - case 'f': goto yy375; - default: goto yy58; - } -yy310: - yyaccept = 4; - yych = *(mrk = ++cur); - switch (yych) { - case 'N': - case 'n': goto yy377; - default: goto yy58; + case 0x7F: goto yy340; + case '\\': goto yy138; + default: goto yy59; } -yy311: - yyaccept = 4; +yy340: +#line 386 "src/parser.re" + { NEWTOKEN(PSI_T_VOID); goto start; } +#line 4353 "src/parser.c" +yy341: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { - case 'G': - case 'g': goto yy379; - default: goto yy58; + case 'I': + case 'i': goto yy411; + default: goto yy60; } -yy312: - yyaccept = 22; +yy342: + yyaccept = 27; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -4205,24 +4425,23 @@ yy312: case '|': case '}': case '~': - case 0x7F: goto yy313; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy343; + case '\\': goto yy138; + default: goto yy59; } -yy313: -#line 370 "src/parser.re" - { NEWTOKEN(PSI_T_VOID); goto start; } -#line 4216 "src/parser.c" -yy314: - yyaccept = 4; +yy343: +#line 431 "src/parser.re" + { NEWTOKEN(PSI_T_ZVAL); goto start; } +#line 4436 "src/parser.c" +yy344: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { - case 'I': - case 'i': goto yy380; - default: goto yy58; + case 't': goto yy412; + default: goto yy60; } -yy315: - yyaccept = 23; +yy345: + yyaccept = 28; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -4288,16 +4507,23 @@ yy315: case '|': case '}': case '~': - case 0x7F: goto yy316; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy346; + case '\\': goto yy138; + default: goto yy59; } -yy316: -#line 415 "src/parser.re" - { NEWTOKEN(PSI_T_ZVAL); goto start; } -#line 4299 "src/parser.c" -yy317: - yyaccept = 24; +yy346: +#line 367 "src/parser.re" + { NEWTOKEN(PSI_T_ONCE); goto start; } +#line 4518 "src/parser.c" +yy347: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 'm': goto yy413; + default: goto yy60; + } +yy348: + yyaccept = 29; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -4363,56 +4589,56 @@ yy317: case '|': case '}': case '~': - case 0x7F: goto yy318; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy349; + case '\\': goto yy138; + default: goto yy59; } -yy318: -#line 389 "src/parser.re" +yy349: +#line 405 "src/parser.re" { NEWTOKEN(PSI_T_ARRAY); goto start; } -#line 4374 "src/parser.c" -yy319: - yyaccept = 4; +#line 4600 "src/parser.c" +yy350: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy381; - default: goto yy58; + case 'l': goto yy414; + default: goto yy60; } -yy320: - yyaccept = 4; +yy351: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy383; - default: goto yy58; + case 'a': goto yy416; + default: goto yy60; } -yy321: - yyaccept = 4; +yy352: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'B': - case 'b': goto yy384; - default: goto yy58; + case 'b': goto yy417; + default: goto yy60; } -yy322: - yyaccept = 4; +yy353: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy385; - default: goto yy58; + case 'a': goto yy418; + default: goto yy60; } -yy323: - yyaccept = 4; +yy354: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'C': - case 'c': goto yy386; - default: goto yy58; + case 'c': goto yy419; + default: goto yy60; } -yy324: - yyaccept = 25; +yy355: + yyaccept = 30; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -4478,16 +4704,16 @@ yy324: case '|': case '}': case '~': - case 0x7F: goto yy325; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy356; + case '\\': goto yy138; + default: goto yy59; } -yy325: -#line 398 "src/parser.re" +yy356: +#line 414 "src/parser.re" { NEWTOKEN(PSI_T_CONST); goto start; } -#line 4489 "src/parser.c" -yy326: - yyaccept = 26; +#line 4715 "src/parser.c" +yy357: + yyaccept = 31; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -4553,32 +4779,32 @@ yy326: case '|': case '}': case '~': - case 0x7F: goto yy327; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy358; + case '\\': goto yy138; + default: goto yy59; } -yy327: -#line 416 "src/parser.re" +yy358: +#line 432 "src/parser.re" { NEWTOKEN(PSI_T_COUNT); goto start; } -#line 4564 "src/parser.c" -yy328: - yyaccept = 4; +#line 4790 "src/parser.c" +yy359: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy388; - default: goto yy58; + case 'e': goto yy421; + default: goto yy60; } -yy329: - yyaccept = 4; +yy360: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy390; - default: goto yy58; + case 'e': goto yy423; + default: goto yy60; } -yy330: - yyaccept = 27; +yy361: + yyaccept = 32; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -4644,16 +4870,16 @@ yy330: case '|': case '}': case '~': - case 0x7F: goto yy331; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy362; + case '\\': goto yy138; + default: goto yy59; } -yy331: -#line 357 "src/parser.re" +yy362: +#line 373 "src/parser.re" { NEWTOKEN(PSI_T_ENDIF); goto start; } -#line 4655 "src/parser.c" -yy332: - yyaccept = 28; +#line 4881 "src/parser.c" +yy363: + yyaccept = 33; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -4719,16 +4945,16 @@ yy332: case '|': case '}': case '~': - case 0x7F: goto yy333; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy364; + case '\\': goto yy138; + default: goto yy59; } -yy333: -#line 362 "src/parser.re" +yy364: +#line 378 "src/parser.re" { NEWTOKEN(PSI_T_ERROR); goto start; } -#line 4730 "src/parser.c" -yy334: - yyaccept = 29; +#line 4956 "src/parser.c" +yy365: + yyaccept = 34; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -4794,16 +5020,16 @@ yy334: case '|': case '}': case '~': - case 0x7F: goto yy335; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy366; + case '\\': goto yy138; + default: goto yy59; } -yy335: -#line 366 "src/parser.re" +yy366: +#line 382 "src/parser.re" { NEWTOKEN(PSI_T_FALSE); goto start; } -#line 4805 "src/parser.c" -yy336: - yyaccept = 30; +#line 5031 "src/parser.c" +yy367: + yyaccept = 35; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -4869,26 +5095,26 @@ yy336: case '|': case '}': case '~': - case 0x7F: goto yy337; + case 0x7F: goto yy368; case 'V': - case 'v': goto yy392; - case '\\': goto yy131; - default: goto yy57; + case 'v': goto yy425; + case '\\': goto yy138; + default: goto yy59; } -yy337: -#line 376 "src/parser.re" +yy368: +#line 392 "src/parser.re" { NEWTOKEN(PSI_T_FLOAT); goto start; } -#line 4882 "src/parser.c" -yy338: - yyaccept = 4; +#line 5108 "src/parser.c" +yy369: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'I': - case 'i': goto yy393; - default: goto yy58; + case 'i': goto yy426; + default: goto yy60; } -yy339: - yyaccept = 31; +yy370: + yyaccept = 36; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -4954,69 +5180,69 @@ yy339: case '|': case '}': case '~': - case 0x7F: goto yy340; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy371; + case '\\': goto yy138; + default: goto yy59; } -yy340: -#line 353 "src/parser.re" +yy371: +#line 369 "src/parser.re" { NEWTOKEN(PSI_T_IFDEF); goto start; } -#line 4965 "src/parser.c" -yy341: - yyaccept = 4; +#line 5191 "src/parser.c" +yy372: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'F': - case 'f': goto yy394; - default: goto yy58; + case 'f': goto yy427; + default: goto yy60; } -yy342: - yyaccept = 4; +yy373: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'D': - case 'd': goto yy396; - default: goto yy58; + case 'd': goto yy429; + default: goto yy60; } -yy343: - yyaccept = 4; +yy374: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy397; - default: goto yy58; + case '_': goto yy430; + default: goto yy60; } -yy344: - yyaccept = 4; +yy375: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy398; - default: goto yy58; + case '_': goto yy431; + default: goto yy60; } -yy345: - yyaccept = 4; +yy376: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy399; - default: goto yy58; + case '_': goto yy432; + default: goto yy60; } -yy346: - yyaccept = 4; +yy377: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy400; - default: goto yy58; + case 't': goto yy433; + default: goto yy60; } -yy347: - yyaccept = 4; +yy378: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy402; - default: goto yy58; + case 'l': goto yy435; + default: goto yy60; } -yy348: - yyaccept = 32; +yy379: + yyaccept = 37; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -5082,64 +5308,64 @@ yy348: case '|': case '}': case '~': - case 0x7F: goto yy349; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy380; + case '\\': goto yy138; + default: goto yy59; } -yy349: -#line 368 "src/parser.re" +yy380: +#line 384 "src/parser.re" { NEWTOKEN(PSI_T_MIXED); goto start; } -#line 5093 "src/parser.c" -yy350: - yyaccept = 4; +#line 5319 "src/parser.c" +yy381: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy404; - default: goto yy58; + case 't': goto yy437; + default: goto yy60; } -yy351: - yyaccept = 4; +yy382: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy406; - default: goto yy58; + case 'l': goto yy439; + default: goto yy60; } -yy352: - yyaccept = 4; +yy383: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy408; - default: goto yy58; + case 'a': goto yy441; + default: goto yy60; } -yy353: - yyaccept = 4; +yy384: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy409; - default: goto yy58; + case 'a': goto yy442; + default: goto yy60; } -yy354: - yyaccept = 4; +yy385: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'S': - case 's': goto yy410; - default: goto yy58; + case 's': goto yy443; + default: goto yy60; } -yy355: - yyaccept = 4; +yy386: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'N': - case 'n': goto yy411; - default: goto yy58; + case 'n': goto yy444; + default: goto yy60; } -yy356: - yyaccept = 33; +yy387: + yyaccept = 38; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -5205,148 +5431,148 @@ yy356: case '|': case '}': case '~': - case 0x7F: goto yy357; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy388; + case '\\': goto yy138; + default: goto yy59; } -yy357: -#line 373 "src/parser.re" +yy388: +#line 389 "src/parser.re" { NEWTOKEN(PSI_T_SHORT); goto start; } -#line 5216 "src/parser.c" -yy358: - yyaccept = 4; +#line 5442 "src/parser.c" +yy389: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'D': - case 'd': goto yy413; - default: goto yy58; + case 'd': goto yy446; + default: goto yy60; } -yy359: - yyaccept = 4; +yy390: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'C': - case 'c': goto yy415; - default: goto yy58; + case 'c': goto yy448; + default: goto yy60; } -yy360: - yyaccept = 4; +yy391: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'G': - case 'g': goto yy417; - default: goto yy58; + case 'g': goto yy450; + default: goto yy60; } -yy361: - yyaccept = 4; +yy392: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'N': - case 'n': goto yy419; - default: goto yy58; + case 'n': goto yy452; + default: goto yy60; } -yy362: - yyaccept = 4; +yy393: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy421; - default: goto yy58; + case 't': goto yy454; + default: goto yy60; } -yy363: - yyaccept = 4; +yy394: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy423; - default: goto yy58; + case 'l': goto yy456; + default: goto yy60; } -yy364: - yyaccept = 4; +yy395: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'R': - case 'r': goto yy425; - default: goto yy58; + case 'r': goto yy458; + default: goto yy60; } -yy365: - yyaccept = 4; +yy396: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'O': - case 'o': goto yy426; - default: goto yy58; + case 'o': goto yy459; + default: goto yy60; } -yy366: - yyaccept = 4; +yy397: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'O': - case 'o': goto yy427; - default: goto yy58; + case 'o': goto yy460; + default: goto yy60; } -yy367: - yyaccept = 4; +yy398: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy428; - default: goto yy58; + case 't': goto yy461; + default: goto yy60; } -yy368: - yyaccept = 4; +yy399: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'J': - case 'j': goto yy430; - default: goto yy58; + case 'j': goto yy463; + default: goto yy60; } -yy369: - yyaccept = 4; +yy400: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'R': - case 'r': goto yy431; - default: goto yy58; + case 'r': goto yy464; + default: goto yy60; } -yy370: - yyaccept = 4; +yy401: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy432; - default: goto yy58; + case 'e': goto yy465; + default: goto yy60; } -yy371: - yyaccept = 4; +yy402: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { - case '6': goto yy433; - default: goto yy58; + case '6': goto yy466; + default: goto yy60; } -yy372: - yyaccept = 4; +yy403: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { - case '2': goto yy434; - default: goto yy58; + case '2': goto yy467; + default: goto yy60; } -yy373: - yyaccept = 4; +yy404: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { - case '4': goto yy435; - default: goto yy58; + case '4': goto yy468; + default: goto yy60; } -yy374: - yyaccept = 4; +yy405: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy436; - default: goto yy58; + case '_': goto yy469; + default: goto yy60; } -yy375: - yyaccept = 34; +yy406: + yyaccept = 39; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -5412,16 +5638,16 @@ yy375: case '|': case '}': case '~': - case 0x7F: goto yy376; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy407; + case '\\': goto yy138; + default: goto yy59; } -yy376: -#line 360 "src/parser.re" +yy407: +#line 376 "src/parser.re" { NEWTOKEN(PSI_T_UNDEF); goto start; } -#line 5423 "src/parser.c" -yy377: - yyaccept = 35; +#line 5649 "src/parser.c" +yy408: + yyaccept = 40; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -5487,32 +5713,46 @@ yy377: case '|': case '}': case '~': - case 0x7F: goto yy378; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy409; + case '\\': goto yy138; + default: goto yy59; } -yy378: -#line 396 "src/parser.re" +yy409: +#line 412 "src/parser.re" { NEWTOKEN(PSI_T_UNION); goto start; } -#line 5498 "src/parser.c" -yy379: - yyaccept = 4; +#line 5724 "src/parser.c" +yy410: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'N': - case 'n': goto yy437; - default: goto yy58; + case 'n': goto yy470; + default: goto yy60; } -yy380: - yyaccept = 4; +yy411: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'N': - case 'n': goto yy438; - default: goto yy58; + case 'n': goto yy471; + default: goto yy60; } -yy381: - yyaccept = 36; +yy412: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 'r': goto yy472; + default: goto yy60; + } +yy413: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 'a': goto yy473; + default: goto yy60; + } +yy414: + yyaccept = 41; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -5578,40 +5818,40 @@ yy381: case '|': case '}': case '~': - case 0x7F: goto yy382; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy415; + case '\\': goto yy138; + default: goto yy59; } -yy382: -#line 413 "src/parser.re" +yy415: +#line 429 "src/parser.re" { NEWTOKEN(PSI_T_ARRVAL); goto start; } -#line 5589 "src/parser.c" -yy383: - yyaccept = 4; +#line 5829 "src/parser.c" +yy416: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy439; - default: goto yy58; + case 'l': goto yy475; + default: goto yy60; } -yy384: - yyaccept = 4; +yy417: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy441; - default: goto yy58; + case 'l': goto yy477; + default: goto yy60; } -yy385: - yyaccept = 4; +yy418: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'C': - case 'c': goto yy442; - default: goto yy58; + case 'c': goto yy478; + default: goto yy60; } -yy386: - yyaccept = 37; +yy419: + yyaccept = 42; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -5677,16 +5917,16 @@ yy386: case '|': case '}': case '~': - case 0x7F: goto yy387; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy420; + case '\\': goto yy138; + default: goto yy59; } -yy387: -#line 417 "src/parser.re" +yy420: +#line 433 "src/parser.re" { NEWTOKEN(PSI_T_CALLOC); goto start; } -#line 5688 "src/parser.c" -yy388: - yyaccept = 38; +#line 5928 "src/parser.c" +yy421: + yyaccept = 43; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -5752,18 +5992,18 @@ yy388: case '|': case '}': case '~': - case 0x7F: goto yy389; + case 0x7F: goto yy422; case 'D': - case 'd': goto yy443; - case '\\': goto yy131; - default: goto yy57; + case 'd': goto yy479; + case '\\': goto yy138; + default: goto yy59; } -yy389: -#line 358 "src/parser.re" +yy422: +#line 374 "src/parser.re" { NEWTOKEN(PSI_T_DEFINE); goto start; } -#line 5765 "src/parser.c" -yy390: - yyaccept = 39; +#line 6005 "src/parser.c" +yy423: + yyaccept = 44; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -5829,32 +6069,32 @@ yy390: case '|': case '}': case '~': - case 0x7F: goto yy391; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy424; + case '\\': goto yy138; + default: goto yy59; } -yy391: -#line 377 "src/parser.re" +yy424: +#line 393 "src/parser.re" { NEWTOKEN(PSI_T_DOUBLE); goto start; } -#line 5840 "src/parser.c" -yy392: - yyaccept = 4; +#line 6080 "src/parser.c" +yy425: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy445; - default: goto yy58; + case 'a': goto yy481; + default: goto yy60; } -yy393: - yyaccept = 4; +yy426: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'O': - case 'o': goto yy446; - default: goto yy58; + case 'o': goto yy482; + default: goto yy60; } -yy394: - yyaccept = 40; +yy427: + yyaccept = 45; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -5920,48 +6160,48 @@ yy394: case '|': case '}': case '~': - case 0x7F: goto yy395; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy428; + case '\\': goto yy138; + default: goto yy59; } -yy395: -#line 354 "src/parser.re" +yy428: +#line 370 "src/parser.re" { NEWTOKEN(PSI_T_IFNDEF); goto start; } -#line 5931 "src/parser.c" -yy396: - yyaccept = 4; +#line 6171 "src/parser.c" +yy429: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy447; - default: goto yy58; + case 'e': goto yy483; + default: goto yy60; } -yy397: - yyaccept = 4; +yy430: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy449; - default: goto yy58; + case 't': goto yy485; + default: goto yy60; } -yy398: - yyaccept = 4; +yy431: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy451; - default: goto yy58; + case 't': goto yy487; + default: goto yy60; } -yy399: - yyaccept = 4; +yy432: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy453; - default: goto yy58; + case 't': goto yy489; + default: goto yy60; } -yy400: - yyaccept = 41; +yy433: + yyaccept = 46; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -6027,16 +6267,16 @@ yy400: case '|': case '}': case '~': - case 0x7F: goto yy401; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy434; + case '\\': goto yy138; + default: goto yy59; } -yy401: -#line 378 "src/parser.re" +yy434: +#line 394 "src/parser.re" { NEWTOKEN(PSI_T_INT8); goto start; } -#line 6038 "src/parser.c" -yy402: - yyaccept = 42; +#line 6278 "src/parser.c" +yy435: + yyaccept = 47; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -6102,16 +6342,16 @@ yy402: case '|': case '}': case '~': - case 0x7F: goto yy403; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy436; + case '\\': goto yy138; + default: goto yy59; } -yy403: -#line 410 "src/parser.re" +yy436: +#line 426 "src/parser.re" { NEWTOKEN(PSI_T_INTVAL); goto start; } -#line 6113 "src/parser.c" -yy404: - yyaccept = 43; +#line 6353 "src/parser.c" +yy437: + yyaccept = 48; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -6177,16 +6417,16 @@ yy404: case '|': case '}': case '~': - case 0x7F: goto yy405; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy438; + case '\\': goto yy138; + default: goto yy59; } -yy405: -#line 390 "src/parser.re" +yy438: +#line 406 "src/parser.re" { NEWTOKEN(PSI_T_OBJECT); goto start; } -#line 6188 "src/parser.c" -yy406: - yyaccept = 44; +#line 6428 "src/parser.c" +yy439: + yyaccept = 49; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -6252,40 +6492,40 @@ yy406: case '|': case '}': case '~': - case 0x7F: goto yy407; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy440; + case '\\': goto yy138; + default: goto yy59; } -yy407: -#line 414 "src/parser.re" +yy440: +#line 430 "src/parser.re" { NEWTOKEN(PSI_T_OBJVAL); goto start; } -#line 6263 "src/parser.c" -yy408: - yyaccept = 4; +#line 6503 "src/parser.c" +yy441: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy455; - default: goto yy58; + case 'l': goto yy491; + default: goto yy60; } -yy409: - yyaccept = 4; +yy442: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'S': - case 's': goto yy457; - default: goto yy58; + case 's': goto yy493; + default: goto yy60; } -yy410: - yyaccept = 4; +yy443: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'S': - case 's': goto yy458; - default: goto yy58; + case 's': goto yy494; + default: goto yy60; } -yy411: - yyaccept = 45; +yy444: + yyaccept = 50; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -6351,16 +6591,16 @@ yy411: case '|': case '}': case '~': - case 0x7F: goto yy412; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy445; + case '\\': goto yy138; + default: goto yy59; } -yy412: -#line 404 "src/parser.re" +yy445: +#line 420 "src/parser.re" { NEWTOKEN(PSI_T_RETURN); goto start; } -#line 6362 "src/parser.c" -yy413: - yyaccept = 46; +#line 6602 "src/parser.c" +yy446: + yyaccept = 51; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -6426,16 +6666,16 @@ yy413: case '|': case '}': case '~': - case 0x7F: goto yy414; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy447; + case '\\': goto yy138; + default: goto yy59; } -yy414: -#line 387 "src/parser.re" +yy447: +#line 403 "src/parser.re" { NEWTOKEN(PSI_T_SIGNED); goto start; } -#line 6437 "src/parser.c" -yy415: - yyaccept = 47; +#line 6677 "src/parser.c" +yy448: + yyaccept = 52; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -6501,16 +6741,16 @@ yy415: case '|': case '}': case '~': - case 0x7F: goto yy416; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy449; + case '\\': goto yy138; + default: goto yy59; } -yy416: -#line 392 "src/parser.re" +yy449: +#line 408 "src/parser.re" { NEWTOKEN(PSI_T_STATIC); goto start; } -#line 6512 "src/parser.c" -yy417: - yyaccept = 48; +#line 6752 "src/parser.c" +yy450: + yyaccept = 53; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -6576,16 +6816,16 @@ yy417: case '|': case '}': case '~': - case 0x7F: goto yy418; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy451; + case '\\': goto yy138; + default: goto yy59; } -yy418: -#line 388 "src/parser.re" +yy451: +#line 404 "src/parser.re" { NEWTOKEN(PSI_T_STRING); goto start; } -#line 6587 "src/parser.c" -yy419: - yyaccept = 49; +#line 6827 "src/parser.c" +yy452: + yyaccept = 54; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -6651,16 +6891,16 @@ yy419: case '|': case '}': case '~': - case 0x7F: goto yy420; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy453; + case '\\': goto yy138; + default: goto yy59; } -yy420: -#line 407 "src/parser.re" +yy453: +#line 423 "src/parser.re" { NEWTOKEN(PSI_T_STRLEN); goto start; } -#line 6662 "src/parser.c" -yy421: - yyaccept = 50; +#line 6902 "src/parser.c" +yy454: + yyaccept = 55; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -6726,16 +6966,16 @@ yy421: case '|': case '}': case '~': - case 0x7F: goto yy422; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy455; + case '\\': goto yy138; + default: goto yy59; } -yy422: -#line 395 "src/parser.re" +yy455: +#line 411 "src/parser.re" { NEWTOKEN(PSI_T_STRUCT); goto start; } -#line 6737 "src/parser.c" -yy423: - yyaccept = 51; +#line 6977 "src/parser.c" +yy456: + yyaccept = 56; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -6801,40 +7041,191 @@ yy423: case '|': case '}': case '~': - case 0x7F: goto yy424; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy457; + case '\\': goto yy138; + default: goto yy59; + } +yy457: +#line 424 "src/parser.re" + { NEWTOKEN(PSI_T_STRVAL); goto start; } +#line 7052 "src/parser.c" +yy458: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 'A': + case 'a': goto yy495; + default: goto yy60; + } +yy459: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 'L': + case 'l': goto yy496; + default: goto yy60; + } +yy460: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 'A': + case 'a': goto yy498; + default: goto yy60; + } +yy461: + yyaccept = 57; + 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 yy462; + case '\\': goto yy138; + default: goto yy59; + } +yy462: +#line 437 "src/parser.re" + { NEWTOKEN(PSI_T_TO_INT); goto start; } +#line 7151 "src/parser.c" +yy463: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 'E': + case 'e': goto yy499; + default: goto yy60; + } +yy464: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 'I': + case 'i': goto yy500; + default: goto yy60; + } +yy465: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 'F': + case 'f': goto yy501; + default: goto yy60; } -yy424: -#line 408 "src/parser.re" - { NEWTOKEN(PSI_T_STRVAL); goto start; } -#line 6812 "src/parser.c" -yy425: - yyaccept = 4; +yy466: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { - case 'A': - case 'a': goto yy459; - default: goto yy58; + case '_': goto yy503; + default: goto yy60; } -yy426: - yyaccept = 4; +yy467: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { - case 'L': - case 'l': goto yy460; - default: goto yy58; + case '_': goto yy504; + default: goto yy60; } -yy427: - yyaccept = 4; +yy468: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { - case 'A': - case 'a': goto yy462; - default: goto yy58; + case '_': goto yy505; + default: goto yy60; } -yy428: - yyaccept = 52; +yy469: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 'T': + case 't': goto yy506; + default: goto yy60; + } +yy470: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 'E': + case 'e': goto yy508; + default: goto yy60; + } +yy471: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 'G': + case 'g': goto yy509; + default: goto yy60; + } +yy472: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 'i': goto yy511; + default: goto yy60; + } +yy473: + yyaccept = 58; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -6900,85 +7291,16 @@ yy428: case '|': case '}': case '~': - case 0x7F: goto yy429; - case '\\': goto yy131; - default: goto yy57; - } -yy429: -#line 421 "src/parser.re" - { NEWTOKEN(PSI_T_TO_INT); goto start; } -#line 6911 "src/parser.c" -yy430: - yyaccept = 4; - yych = *(mrk = ++cur); - switch (yych) { - case 'E': - case 'e': goto yy463; - default: goto yy58; - } -yy431: - yyaccept = 4; - yych = *(mrk = ++cur); - switch (yych) { - case 'I': - case 'i': goto yy464; - default: goto yy58; - } -yy432: - yyaccept = 4; - yych = *(mrk = ++cur); - switch (yych) { - case 'F': - case 'f': goto yy465; - default: goto yy58; - } -yy433: - yyaccept = 4; - yych = *(mrk = ++cur); - switch (yych) { - case '_': goto yy467; - default: goto yy58; - } -yy434: - yyaccept = 4; - yych = *(mrk = ++cur); - switch (yych) { - case '_': goto yy468; - default: goto yy58; - } -yy435: - yyaccept = 4; - yych = *(mrk = ++cur); - switch (yych) { - case '_': goto yy469; - default: goto yy58; - } -yy436: - yyaccept = 4; - yych = *(mrk = ++cur); - switch (yych) { - case 'T': - case 't': goto yy470; - default: goto yy58; - } -yy437: - yyaccept = 4; - yych = *(mrk = ++cur); - switch (yych) { - case 'E': - case 'e': goto yy472; - default: goto yy58; - } -yy438: - yyaccept = 4; - yych = *(mrk = ++cur); - switch (yych) { - case 'G': - case 'g': goto yy473; - default: goto yy58; + case 0x7F: goto yy474; + case '\\': goto yy138; + default: goto yy59; } -yy439: - yyaccept = 53; +yy474: +#line 366 "src/parser.re" + { NEWTOKEN(PSI_T_PRAGMA); goto start; } +#line 7302 "src/parser.c" +yy475: + yyaccept = 59; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -7044,32 +7366,32 @@ yy439: case '|': case '}': case '~': - case 0x7F: goto yy440; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy476; + case '\\': goto yy138; + default: goto yy59; } -yy440: -#line 412 "src/parser.re" +yy476: +#line 428 "src/parser.re" { NEWTOKEN(PSI_T_BOOLVAL); goto start; } -#line 7055 "src/parser.c" -yy441: - yyaccept = 4; +#line 7377 "src/parser.c" +yy477: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy475; - default: goto yy58; + case 'e': goto yy512; + default: goto yy60; } -yy442: - yyaccept = 4; +yy478: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'K': - case 'k': goto yy477; - default: goto yy58; + case 'k': goto yy514; + default: goto yy60; } -yy443: - yyaccept = 54; +yy479: + yyaccept = 60; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -7135,32 +7457,32 @@ yy443: case '|': case '}': case '~': - case 0x7F: goto yy444; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy480; + case '\\': goto yy138; + default: goto yy59; } -yy444: -#line 359 "src/parser.re" +yy480: +#line 375 "src/parser.re" { NEWTOKEN(PSI_T_DEFINED); goto start; } -#line 7146 "src/parser.c" -yy445: - yyaccept = 4; +#line 7468 "src/parser.c" +yy481: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy479; - default: goto yy58; + case 'l': goto yy516; + default: goto yy60; } -yy446: - yyaccept = 4; +yy482: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'N': - case 'n': goto yy481; - default: goto yy58; + case 'n': goto yy518; + default: goto yy60; } -yy447: - yyaccept = 55; +yy483: + yyaccept = 61; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -7226,17 +7548,17 @@ yy447: case '|': case '}': case '~': - case 0x7F: goto yy448; - case '\\': goto yy131; - case '_': goto yy483; - default: goto yy57; + case 0x7F: goto yy484; + case '\\': goto yy138; + case '_': goto yy520; + default: goto yy59; } -yy448: -#line 363 "src/parser.re" +yy484: +#line 379 "src/parser.re" { NEWTOKEN(PSI_T_INCLUDE); goto start; } -#line 7238 "src/parser.c" -yy449: - yyaccept = 56; +#line 7560 "src/parser.c" +yy485: + yyaccept = 62; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -7302,16 +7624,16 @@ yy449: case '|': case '}': case '~': - case 0x7F: goto yy450; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy486; + case '\\': goto yy138; + default: goto yy59; } -yy450: -#line 380 "src/parser.re" +yy486: +#line 396 "src/parser.re" { NEWTOKEN(PSI_T_INT16); goto start; } -#line 7313 "src/parser.c" -yy451: - yyaccept = 57; +#line 7635 "src/parser.c" +yy487: + yyaccept = 63; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -7377,16 +7699,16 @@ yy451: case '|': case '}': case '~': - case 0x7F: goto yy452; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy488; + case '\\': goto yy138; + default: goto yy59; } -yy452: -#line 382 "src/parser.re" +yy488: +#line 398 "src/parser.re" { NEWTOKEN(PSI_T_INT32); goto start; } -#line 7388 "src/parser.c" -yy453: - yyaccept = 58; +#line 7710 "src/parser.c" +yy489: + yyaccept = 64; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -7452,16 +7774,16 @@ yy453: case '|': case '}': case '~': - case 0x7F: goto yy454; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy490; + case '\\': goto yy138; + default: goto yy59; } -yy454: -#line 384 "src/parser.re" +yy490: +#line 400 "src/parser.re" { NEWTOKEN(PSI_T_INT64); goto start; } -#line 7463 "src/parser.c" -yy455: - yyaccept = 59; +#line 7785 "src/parser.c" +yy491: + yyaccept = 65; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -7527,40 +7849,40 @@ yy455: case '|': case '}': case '~': - case 0x7F: goto yy456; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy492; + case '\\': goto yy138; + default: goto yy59; } -yy456: -#line 409 "src/parser.re" +yy492: +#line 425 "src/parser.re" { NEWTOKEN(PSI_T_PATHVAL); goto start; } -#line 7538 "src/parser.c" -yy457: - yyaccept = 4; +#line 7860 "src/parser.c" +yy493: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'S': - case 's': goto yy484; - default: goto yy58; + case 's': goto yy521; + default: goto yy60; } -yy458: - yyaccept = 4; +yy494: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy485; - default: goto yy58; + case 'e': goto yy522; + default: goto yy60; } -yy459: - yyaccept = 4; +yy495: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'Y': - case 'y': goto yy486; - default: goto yy58; + case 'y': goto yy523; + default: goto yy60; } -yy460: - yyaccept = 60; +yy496: + yyaccept = 66; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -7626,40 +7948,40 @@ yy460: case '|': case '}': case '~': - case 0x7F: goto yy461; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy497; + case '\\': goto yy138; + default: goto yy59; } -yy461: -#line 423 "src/parser.re" +yy497: +#line 439 "src/parser.re" { NEWTOKEN(PSI_T_TO_BOOL); goto start; } -#line 7637 "src/parser.c" -yy462: - yyaccept = 4; +#line 7959 "src/parser.c" +yy498: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy488; - default: goto yy58; + case 't': goto yy525; + default: goto yy60; } -yy463: - yyaccept = 4; +yy499: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'C': - case 'c': goto yy490; - default: goto yy58; + case 'c': goto yy527; + default: goto yy60; } -yy464: - yyaccept = 4; +yy500: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'N': - case 'n': goto yy491; - default: goto yy58; + case 'n': goto yy528; + default: goto yy60; } -yy465: - yyaccept = 61; +yy501: + yyaccept = 67; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -7725,40 +8047,40 @@ yy465: case '|': case '}': case '~': - case 0x7F: goto yy466; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy502; + case '\\': goto yy138; + default: goto yy59; } -yy466: -#line 394 "src/parser.re" +yy502: +#line 410 "src/parser.re" { NEWTOKEN(PSI_T_TYPEDEF); goto start; } -#line 7736 "src/parser.c" -yy467: - yyaccept = 4; +#line 8058 "src/parser.c" +yy503: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy492; - default: goto yy58; + case 't': goto yy529; + default: goto yy60; } -yy468: - yyaccept = 4; +yy504: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy494; - default: goto yy58; + case 't': goto yy531; + default: goto yy60; } -yy469: - yyaccept = 4; +yy505: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy496; - default: goto yy58; + case 't': goto yy533; + default: goto yy60; } -yy470: - yyaccept = 62; +yy506: + yyaccept = 68; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -7824,24 +8146,24 @@ yy470: case '|': case '}': case '~': - case 0x7F: goto yy471; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy507; + case '\\': goto yy138; + default: goto yy59; } -yy471: -#line 379 "src/parser.re" +yy507: +#line 395 "src/parser.re" { NEWTOKEN(PSI_T_UINT8); goto start; } -#line 7835 "src/parser.c" -yy472: - yyaccept = 4; +#line 8157 "src/parser.c" +yy508: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'D': - case 'd': goto yy498; - default: goto yy58; + case 'd': goto yy535; + default: goto yy60; } -yy473: - yyaccept = 63; +yy509: + yyaccept = 69; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -7907,16 +8229,23 @@ yy473: case '|': case '}': case '~': - case 0x7F: goto yy474; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy510; + case '\\': goto yy138; + default: goto yy59; + } +yy510: +#line 377 "src/parser.re" + { NEWTOKEN(PSI_T_WARNING); goto start; } +#line 8240 "src/parser.c" +yy511: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 'b': goto yy537; + default: goto yy60; } -yy474: -#line 361 "src/parser.re" - { NEWTOKEN(PSI_T_WARNING); goto start; } -#line 7918 "src/parser.c" -yy475: - yyaccept = 64; +yy512: + yyaccept = 70; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -7982,16 +8311,16 @@ yy475: case '|': case '}': case '~': - case 0x7F: goto yy476; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy513; + case '\\': goto yy138; + default: goto yy59; } -yy476: -#line 369 "src/parser.re" +yy513: +#line 385 "src/parser.re" { NEWTOKEN(PSI_T_CALLABLE); goto start; } -#line 7993 "src/parser.c" -yy477: - yyaccept = 65; +#line 8322 "src/parser.c" +yy514: + yyaccept = 71; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -8057,16 +8386,16 @@ yy477: case '|': case '}': case '~': - case 0x7F: goto yy478; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy515; + case '\\': goto yy138; + default: goto yy59; } -yy478: -#line 391 "src/parser.re" +yy515: +#line 407 "src/parser.re" { NEWTOKEN(PSI_T_CALLBACK); goto start; } -#line 8068 "src/parser.c" -yy479: - yyaccept = 66; +#line 8397 "src/parser.c" +yy516: + yyaccept = 72; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -8132,16 +8461,16 @@ yy479: case '|': case '}': case '~': - case 0x7F: goto yy480; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy517; + case '\\': goto yy138; + default: goto yy59; } -yy480: -#line 411 "src/parser.re" +yy517: +#line 427 "src/parser.re" { NEWTOKEN(PSI_T_FLOATVAL); goto start; } -#line 8143 "src/parser.c" -yy481: - yyaccept = 67; +#line 8472 "src/parser.c" +yy518: + yyaccept = 73; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -8207,40 +8536,40 @@ yy481: case '|': case '}': case '~': - case 0x7F: goto yy482; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy519; + case '\\': goto yy138; + default: goto yy59; } -yy482: -#line 393 "src/parser.re" +yy519: +#line 409 "src/parser.re" { NEWTOKEN(PSI_T_FUNCTION); goto start; } -#line 8218 "src/parser.c" -yy483: - yyaccept = 4; +#line 8547 "src/parser.c" +yy520: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'N': - case 'n': goto yy500; - default: goto yy58; + case 'n': goto yy538; + default: goto yy60; } -yy484: - yyaccept = 4; +yy521: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy501; - default: goto yy58; + case 'e': goto yy539; + default: goto yy60; } -yy485: - yyaccept = 4; +yy522: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'R': - case 'r': goto yy502; - default: goto yy58; + case 'r': goto yy540; + default: goto yy60; } -yy486: - yyaccept = 68; +yy523: + yyaccept = 74; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -8306,16 +8635,16 @@ yy486: case '|': case '}': case '~': - case 0x7F: goto yy487; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy524; + case '\\': goto yy138; + default: goto yy59; } -yy487: -#line 419 "src/parser.re" +yy524: +#line 435 "src/parser.re" { NEWTOKEN(PSI_T_TO_ARRAY); goto start; } -#line 8317 "src/parser.c" -yy488: - yyaccept = 69; +#line 8646 "src/parser.c" +yy525: + yyaccept = 75; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -8381,32 +8710,32 @@ yy488: case '|': case '}': case '~': - case 0x7F: goto yy489; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy526; + case '\\': goto yy138; + default: goto yy59; } -yy489: -#line 422 "src/parser.re" +yy526: +#line 438 "src/parser.re" { NEWTOKEN(PSI_T_TO_FLOAT); goto start; } -#line 8392 "src/parser.c" -yy490: - yyaccept = 4; +#line 8721 "src/parser.c" +yy527: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy503; - default: goto yy58; + case 't': goto yy541; + default: goto yy60; } -yy491: - yyaccept = 4; +yy528: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'G': - case 'g': goto yy505; - default: goto yy58; + case 'g': goto yy543; + default: goto yy60; } -yy492: - yyaccept = 70; +yy529: + yyaccept = 76; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -8472,16 +8801,16 @@ yy492: case '|': case '}': case '~': - case 0x7F: goto yy493; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy530; + case '\\': goto yy138; + default: goto yy59; } -yy493: -#line 381 "src/parser.re" +yy530: +#line 397 "src/parser.re" { NEWTOKEN(PSI_T_UINT16); goto start; } -#line 8483 "src/parser.c" -yy494: - yyaccept = 71; +#line 8812 "src/parser.c" +yy531: + yyaccept = 77; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -8547,16 +8876,16 @@ yy494: case '|': case '}': case '~': - case 0x7F: goto yy495; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy532; + case '\\': goto yy138; + default: goto yy59; } -yy495: -#line 383 "src/parser.re" +yy532: +#line 399 "src/parser.re" { NEWTOKEN(PSI_T_UINT32); goto start; } -#line 8558 "src/parser.c" -yy496: - yyaccept = 72; +#line 8887 "src/parser.c" +yy533: + yyaccept = 78; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -8622,16 +8951,16 @@ yy496: case '|': case '}': case '~': - case 0x7F: goto yy497; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy534; + case '\\': goto yy138; + default: goto yy59; } -yy497: -#line 385 "src/parser.re" +yy534: +#line 401 "src/parser.re" { NEWTOKEN(PSI_T_UINT64); goto start; } -#line 8633 "src/parser.c" -yy498: - yyaccept = 73; +#line 8962 "src/parser.c" +yy535: + yyaccept = 79; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -8697,40 +9026,47 @@ yy498: case '|': case '}': case '~': - case 0x7F: goto yy499; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy536; + case '\\': goto yy138; + default: goto yy59; } -yy499: -#line 386 "src/parser.re" +yy536: +#line 402 "src/parser.re" { NEWTOKEN(PSI_T_UNSIGNED); goto start; } -#line 8708 "src/parser.c" -yy500: - yyaccept = 4; +#line 9037 "src/parser.c" +yy537: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 'u': goto yy545; + default: goto yy60; + } +yy538: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy507; - default: goto yy58; + case 'e': goto yy546; + default: goto yy60; } -yy501: - yyaccept = 4; +yy539: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'R': - case 'r': goto yy508; - default: goto yy58; + case 'r': goto yy547; + default: goto yy60; } -yy502: - yyaccept = 4; +yy540: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy509; - default: goto yy58; + case 't': goto yy548; + default: goto yy60; } -yy503: - yyaccept = 74; +yy541: + yyaccept = 80; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -8796,16 +9132,16 @@ yy503: case '|': case '}': case '~': - case 0x7F: goto yy504; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy542; + case '\\': goto yy138; + default: goto yy59; } -yy504: -#line 418 "src/parser.re" +yy542: +#line 434 "src/parser.re" { NEWTOKEN(PSI_T_TO_OBJECT); goto start; } -#line 8807 "src/parser.c" -yy505: - yyaccept = 75; +#line 9143 "src/parser.c" +yy543: + yyaccept = 81; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -8871,32 +9207,39 @@ yy505: case '|': case '}': case '~': - case 0x7F: goto yy506; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy544; + case '\\': goto yy138; + default: goto yy59; } -yy506: -#line 420 "src/parser.re" +yy544: +#line 436 "src/parser.re" { NEWTOKEN(PSI_T_TO_STRING); goto start; } -#line 8882 "src/parser.c" -yy507: - yyaccept = 4; +#line 9218 "src/parser.c" +yy545: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 't': goto yy550; + default: goto yy60; + } +yy546: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'X': - case 'x': goto yy511; - default: goto yy58; + case 'x': goto yy551; + default: goto yy60; } -yy508: - yyaccept = 4; +yy547: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy512; - default: goto yy58; + case 't': goto yy552; + default: goto yy60; } -yy509: - yyaccept = 76; +yy548: + yyaccept = 82; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -8962,24 +9305,31 @@ yy509: case '|': case '}': case '~': - case 0x7F: goto yy510; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy549; + case '\\': goto yy138; + default: goto yy59; } -yy510: -#line 402 "src/parser.re" +yy549: +#line 418 "src/parser.re" { NEWTOKEN(PSI_T_PRE_ASSERT); goto start; } -#line 8973 "src/parser.c" -yy511: - yyaccept = 4; +#line 9316 "src/parser.c" +yy550: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case 'e': goto yy554; + default: goto yy60; + } +yy551: + yyaccept = 6; yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy514; - default: goto yy58; + case 't': goto yy555; + default: goto yy60; } -yy512: - yyaccept = 77; +yy552: + yyaccept = 83; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -9045,16 +9395,23 @@ yy512: case '|': case '}': case '~': - case 0x7F: goto yy513; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy553; + case '\\': goto yy138; + default: goto yy59; } -yy513: -#line 403 "src/parser.re" +yy553: +#line 419 "src/parser.re" { NEWTOKEN(PSI_T_POST_ASSERT); goto start; } -#line 9056 "src/parser.c" -yy514: - yyaccept = 78; +#line 9406 "src/parser.c" +yy554: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case '_': goto yy557; + default: goto yy60; + } +yy555: + yyaccept = 84; yych = *(mrk = ++cur); switch (yych) { case 0x00: @@ -9120,81 +9477,211 @@ yy514: case '|': case '}': case '~': - case 0x7F: goto yy515; - case '\\': goto yy131; - default: goto yy57; + case 0x7F: goto yy556; + case '\\': goto yy138; + default: goto yy59; } -yy515: -#line 364 "src/parser.re" +yy556: +#line 380 "src/parser.re" { NEWTOKEN(PSI_T_INCLUDE_NEXT); goto start; } -#line 9131 "src/parser.c" +#line 9488 "src/parser.c" +yy557: + yyaccept = 6; + yych = *(mrk = ++cur); + switch (yych) { + case '_': goto yy558; + default: goto yy60; + } +yy558: + yyaccept = 6; + mrk = ++cur; + if ((lim - cur) < 2) if (cur >= lim) goto done;; + yych = *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 0x7F: goto yy53; + case '(': goto yy560; + case '\\': goto yy138; + default: goto yy558; + } +yy560: + yych = *++cur; + switch (yych) { + case '(': goto yy561; + default: goto yy106; + } +yy561: + ++cur; +#line 446 "src/parser.re" + { parens = 2; goto cpp_attribute; } +#line 9579 "src/parser.c" } -#line 436 "src/parser.re" +#line 452 "src/parser.re" comment: ; -#line 9138 "src/parser.c" +#line 9586 "src/parser.c" { unsigned char yych; if ((lim - cur) < 2) if (cur >= lim) goto done;; yych = *cur; switch (yych) { case '\n': - case '\r': goto yy520; - case '*': goto yy522; - default: goto yy518; + case '\r': goto yy567; + case '*': goto yy569; + default: goto yy565; } -yy518: +yy565: ++cur; -yy519: -#line 443 "src/parser.re" +yy566: +#line 459 "src/parser.re" { goto comment; } -#line 9154 "src/parser.c" -yy520: +#line 9602 "src/parser.c" +yy567: ++cur; -#line 441 "src/parser.re" +#line 457 "src/parser.re" { NEWLINE(); goto comment; } -#line 9159 "src/parser.c" -yy522: +#line 9607 "src/parser.c" +yy569: yych = *++cur; switch (yych) { - case '/': goto yy523; - default: goto yy519; + case '/': goto yy570; + default: goto yy566; } -yy523: +yy570: ++cur; -#line 442 "src/parser.re" +#line 458 "src/parser.re" { NEWTOKEN(PSI_T_COMMENT); goto start; } -#line 9170 "src/parser.c" +#line 9618 "src/parser.c" } -#line 445 "src/parser.re" +#line 461 "src/parser.re" comment_sl: ; -#line 9177 "src/parser.c" +#line 9625 "src/parser.c" { unsigned char yych; if (lim <= cur) if (cur >= lim) goto done;; yych = *cur; switch (yych) { case '\n': - case '\r': goto yy529; - default: goto yy527; + case '\r': goto yy576; + default: goto yy574; } -yy527: +yy574: ++cur; -#line 451 "src/parser.re" +#line 467 "src/parser.re" { goto comment_sl; } -#line 9191 "src/parser.c" -yy529: +#line 9639 "src/parser.c" +yy576: ++cur; -#line 450 "src/parser.re" +#line 466 "src/parser.re" { NEWTOKEN(PSI_T_COMMENT); NEWLINE(); goto start; } -#line 9196 "src/parser.c" +#line 9644 "src/parser.c" + } +#line 469 "src/parser.re" + + + cpp_attribute: ; + + +#line 9652 "src/parser.c" + { + unsigned char yych; + if (lim <= cur) if (cur >= lim) goto done;; + yych = *cur; + switch (yych) { + case '\n': + case '\r': goto yy582; + case '(': goto yy584; + case ')': goto yy586; + default: goto yy580; + } +yy580: + ++cur; +#line 478 "src/parser.re" + { goto cpp_attribute; } +#line 9668 "src/parser.c" +yy582: + ++cur; +#line 477 "src/parser.re" + { NEWLINE(); goto cpp_attribute; } +#line 9673 "src/parser.c" +yy584: + ++cur; +#line 475 "src/parser.re" + { ++parens; goto cpp_attribute; } +#line 9678 "src/parser.c" +yy586: + ++cur; +#line 476 "src/parser.re" + { if (parens == 1) { NEWTOKEN(PSI_T_CPP_ATTRIBUTE); goto start; } else { --parens; goto cpp_attribute; } } +#line 9683 "src/parser.c" } -#line 453 "src/parser.re" +#line 480 "src/parser.re" error: ;