X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Fparser.c;h=891b866796975f74cd4e1da14df38b5decfeb5a1;hp=97ef23f5a595345a572cd03318e03d8d6953d30e;hb=4fd6435041048363289eb7b9243cee39b6901e4e;hpb=4d2c075c160bbc1ff49c3499f8fdd07d9c447a12 diff --git a/src/parser.c b/src/parser.c index 97ef23f..891b866 100644 --- a/src/parser.c +++ b/src/parser.c @@ -1,15 +1,42 @@ -/* Generated by re2c 0.16 on Mon Feb 20 20:39:25 2017 */ +/* Generated by re2c 1.0.2 on Tue Oct 17 10:57:22 2017 */ #line 1 "src/parser.re" +/******************************************************************************* + Copyright (c) 2016, Michael Wallner . + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*******************************************************************************/ + #include "php_psi_stdinc.h" #include #include +#include #include "parser.h" -void *psi_parser_proc_init(void); -void psi_parser_proc_free(void **parser_proc); -void psi_parser_proc_parse(void *parser_proc, token_t r, struct psi_token *token, struct psi_parser *parser); -void psi_parser_proc_trace(FILE *out, char *prefix); +#define YYMAXFILL 15 + +#ifndef YYMAXFILL +# define YYMAXFILL 256 +#endif struct psi_parser *psi_parser_init(struct psi_parser *P, psi_error_cb error, unsigned flags) { @@ -20,171 +47,185 @@ struct psi_parser *psi_parser_init(struct psi_parser *P, psi_error_cb error, uns psi_data_ctor_with_dtors(PSI_DATA(P), error, flags); - P->col = 1; - P->line = 1; - P->proc = psi_parser_proc_init(); + P->preproc = psi_cpp_init(P); - if (flags & PSI_DEBUG) { - psi_parser_proc_trace(stderr, "PSI> "); - } + psi_cpp_load_defaults(P->preproc); return P; } -bool psi_parser_open_file(struct psi_parser *P, const char *filename) +struct psi_parser_input *psi_parser_open_file(struct psi_parser *P, const char *filename, bool report_errors) { - FILE *fp = fopen(filename, "r"); + struct stat sb; + FILE *fp; + struct psi_parser_input *fb; - if (!fp) { - P->error(PSI_DATA(P), NULL, PSI_WARNING, - "Could not open '%s' for reading: %s", - filename, strerror(errno)); - return false; + if (stat(filename, &sb)) { + if (report_errors) { + P->error(PSI_DATA(P), NULL, PSI_WARNING, + "Could not stat '%s': %s", + filename, strerror(errno)); + } + return NULL; } - P->input.type = PSI_PARSE_FILE; - P->input.data.file.handle = fp; - -#if HAVE_MMAP - struct stat sb; - int fd = fileno(fp); + if (!(fb = malloc(sizeof(*fb) + strlen(filename) + 1 + sb.st_size + YYMAXFILL))) { + if (report_errors) { + P->error(PSI_DATA(P), NULL, PSI_WARNING, + "Could not allocate %zu bytes for reading '%s': %s", + sb.st_size + YYMAXFILL, filename, strerror(errno)); + } + return NULL; + } - if (fstat(fd, &sb)) { - P->error(PSI_DATA(P), NULL, PSI_WARNING, - "Could not stat '%s': %s", - filename, strerror(errno)); - return false; + if (!(fp = fopen(filename, "r"))) { + free(fb); + if (report_errors) { + P->error(PSI_DATA(P), NULL, PSI_WARNING, + "Could not open '%s' for reading: %s", + filename, strerror(errno)); + } + return NULL; } - P->input.data.file.buffer = mmap(NULL, sb.st_size, PROT_READ, MAP_SHARED, fd, 0); - if (MAP_FAILED == P->input.data.file.buffer) { - P->error(PSI_DATA(P), NULL, PSI_WARNING, - "Could not map '%s' for reading: %s", - filename, strerror(errno)); - return false; + if (sb.st_size != fread(fb->buffer, 1, sb.st_size, fp)) { + free(fb); + fclose(fp); + if (report_errors) { + P->error(PSI_DATA(P), NULL, PSI_WARNING, + "Could not read %zu bytes from '%s': %s", + sb.st_size + YYMAXFILL, filename, strerror(errno)); + } + return NULL; } - P->input.data.file.length = sb.st_size; -#else - P->input.data.file.buffer = malloc(BSIZE); -#endif - P->file.fn = strdup(filename); + memset(fb->buffer + sb.st_size, 0, YYMAXFILL); + fb->length = sb.st_size; + fb->file = &fb->buffer[sb.st_size + YYMAXFILL]; + memcpy(fb->file, filename, strlen(filename) + 1); - return true; + return fb; } -bool psi_parser_open_string(struct psi_parser *P, const char *string, size_t length) +struct psi_parser_input *psi_parser_open_string(struct psi_parser *P, const char *string, size_t length) { - P->input.type = PSI_PARSE_STRING; - P->input.data.string.length = length; - if (!(P->input.data.string.buffer = strndup(string, length))) { - return false; + struct psi_parser_input *sb; + + if (!(sb = malloc(sizeof(*sb) + sizeof("") + length + YYMAXFILL))) { + P->error(PSI_DATA(P), NULL, PSI_WARNING, + "Could not allocate %zu bytes: %s", + length + YYMAXFILL, strerror(errno)); + return NULL; } - P->file.fn = strdup(""); + memcpy(sb->buffer, string, length); + memset(sb->buffer + length, 0, YYMAXFILL); - return true; + sb->length = length; + sb->file = &sb->buffer[length + YYMAXFILL]; + memcpy(sb->file, "", sizeof("")); + + return sb; } -static ssize_t psi_parser_fill(struct psi_parser *P, size_t n) +#if 0 +static void psi_parser_register_constants(struct psi_parser *P) { - PSI_DEBUG_PRINT(P, "PSI< Fill: n=%zu (input.type=%d)\n", n, P->input.type); + zend_string *key; + zval *val; - /* init if n==0 */ - if (!n) { - switch (P->input.type) { - case PSI_PARSE_FILE: - P->cur = P->tok = P->mrk = P->input.data.file.buffer; -#if HAVE_MMAP - P->eof = P->input.data.file.buffer + P->input.data.file.length; - P->lim = P->eof; -#else - P->eof = NULL; - P->lim = P->input.data.file.buffer; -#endif - break; + ZEND_HASH_FOREACH_STR_KEY_VAL(&P->cpp.defs, key, val) + { + struct psi_impl_def_val *iv; + struct psi_const_type *ct; + struct psi_const *c; + const char *ctn; + token_t ctt; + impl_val tmp; + zend_string *str; - case PSI_PARSE_STRING: - P->cur = P->tok = P->mrk = P->input.data.string.buffer; - P->eof = P->input.data.string.buffer + P->input.data.string.length; - P->lim = P->eof; + ZVAL_DEREF(val); + switch (Z_TYPE_P(val)) { + case IS_TRUE: + case IS_FALSE: + ctt = PSI_T_BOOL; + ctn = "bool"; + tmp.zend.bval = Z_TYPE_P(val) == IS_TRUE; + break; + case IS_LONG: + ctt = PSI_T_INT; + ctn = "int"; + tmp.zend.lval = Z_LVAL_P(val); + break; + case IS_DOUBLE: + ctt = PSI_T_FLOAT; + ctn = "float"; + tmp.dval = Z_DVAL_P(val); + break; + default: + ctt = PSI_T_STRING; + ctn = "string"; + str = zval_get_string(val); + tmp.zend.str = zend_string_dup(str, 1); + zend_string_release(str); break; } - PSI_DEBUG_PRINT(P, "PSI< Fill: cur=%p lim=%p eof=%p\n", P->cur, P->lim, P->eof); - } - - switch (P->input.type) { - case PSI_PARSE_STRING: - break; - - case PSI_PARSE_FILE: -#if !HAVE_MMAP - if (!P->eof) { - size_t consumed = P->tok - P->buf; - size_t reserved = P->lim - P->tok; - size_t available = BSIZE - reserved; - size_t didread; - - if (consumed) { - memmove(P->buf, P->tok, reserved); - P->tok -= consumed; - P->cur -= consumed; - P->lim -= consumed; - P->mrk -= consumed; - } - - didread = fread(P->lim, 1, available, P->fp); - P->lim += didread; - if (didread < available) { - P->eof = P->lim; - } - PSI_DEBUG_PRINT(P, "PSI< Fill: consumed=%zu reserved=%zu available=%zu didread=%zu\n", - consumed, reserved, available, didread); + iv = psi_impl_def_val_init(ctt, NULL); + iv->ival = tmp; + ct = psi_const_type_init(ctt, ctn); + c = psi_const_init(ct, key->val, iv); + if (!P->consts) { + P->consts = psi_plist_init((psi_plist_dtor) psi_const_free); } -#endif - break; + P->consts = psi_plist_add(P->consts, &c); } + ZEND_HASH_FOREACH_END(); +} +#endif - PSI_DEBUG_PRINT(P, "PSI< Fill: avail=%td\n", P->lim - P->cur); - - return P->lim - P->cur; +struct psi_plist *psi_parser_preprocess(struct psi_parser *P, struct psi_plist **tokens) +{ + if (psi_cpp_process(P->preproc, tokens)) { + return *tokens; + } + return NULL; } -void psi_parser_parse(struct psi_parser *P, struct psi_token *T) +bool psi_parser_process(struct psi_parser *P, struct psi_plist *tokens, size_t *processed) { - if (T) { - psi_parser_proc_parse(P->proc, T->type, T, P); - } else { - psi_parser_proc_parse(P->proc, 0, NULL, P); + if (psi_plist_count(tokens)) { + return 0 == psi_parser_proc_parse(P, tokens, processed); } + return true; } -void psi_parser_dtor(struct psi_parser *P) +bool psi_parser_parse(struct psi_parser *P, struct psi_parser_input *I) { - psi_parser_proc_free(&P->proc); + struct psi_plist *scanned, *preproc; + size_t processed = 0; - switch (P->input.type) { - case PSI_PARSE_FILE: - if (P->input.data.file.buffer) { -#if HAVE_MMAP - munmap(P->input.data.file.buffer, P->input.data.file.length); -#else - free(P->input.data.file.buffer); -#endif - } - if (P->input.data.file.handle) { - fclose(P->input.data.file.handle); - } - break; + if (!(scanned = psi_parser_scan(P, I))) { + return false; + } - case PSI_PARSE_STRING: - if (P->input.data.string.buffer) { - free(P->input.data.string.buffer); - } - break; + if (!(preproc = psi_parser_preprocess(P, &scanned))) { + psi_plist_free(scanned); + return false; + } + + if (!psi_parser_process(P, preproc, &processed)) { + psi_plist_free(preproc); + return false; } + psi_plist_free(preproc); + return true; +} + +void psi_parser_dtor(struct psi_parser *P) +{ + psi_cpp_free(&P->preproc); psi_data_dtor(PSI_DATA(P)); memset(P, 0, sizeof(*P)); @@ -199,63 +240,106 @@ void psi_parser_free(struct psi_parser **P) } } -#define YYMAXFILL 12 -#if BSIZE < YYMAXFILL -# error BSIZE must be greater than YYMAXFILL -#endif - -#define RETURN(t) do { \ - P->num = t; \ - PSI_DEBUG_PRINT(P, "PSI< TOKEN: %d %.*s (EOF=%d %s:%u:%u)\n", \ - P->num, (int) (P->cur-P->tok), P->tok, P->num == PSI_T_EOF, \ - P->file.fn, P->line, P->col); \ - return t; \ -} while(1) +#define NEWLINE() \ + eol = cur; \ + ++I->lines -#define ADDCOLS \ - P->col += P->cur - P->tok +#define NEWTOKEN(t) \ + token = psi_token_init(t, tok, cur - tok, tok - eol + 1, I->lines, I->file); \ + tokens = psi_plist_add(tokens, &token); \ + if (P->flags & PSI_DEBUG) { \ + fprintf(stderr, "PSI< "); \ + psi_token_dump(2, token); \ + } -#define NEWLINE(label) \ - P->col = 1; \ - ++P->line; \ - goto label +union int_suffix { + char s[SIZEOF_UINT32_T]; + uint32_t i; +}; -token_t psi_parser_scan(struct psi_parser *P) +struct psi_plist *psi_parser_scan(struct psi_parser *P, struct psi_parser_input *I) { - if (!P->cur) { - psi_parser_fill(P, 0); - } - for (;;) { - ADDCOLS; - nextline: - P->tok = P->cur; + struct psi_plist *tokens; + struct psi_token *token; + const char *tok, *cur, *lim, *mrk, *eol, *ctxmrk; + unsigned parens; + bool escaped; + token_t char_width; + + PSI_DEBUG_PRINT(P, "PSI: scanning %s\n", I->file); + + tok = mrk = eol = cur = I->buffer; + lim = I->buffer + I->length; + I->lines = 1; + tokens = psi_plist_init((psi_plist_dtor) psi_token_free); + + start: ; + char_width = 1; + ctxmrk = NULL; + tok = cur; + + (void) ctxmrk; + -#line 234 "src/parser.c" +#line 285 "src/parser.c" { unsigned char yych; unsigned int yyaccept = 0; - if ((P->lim - P->cur) < 12) { if (!psi_parser_fill(P,12)) RETURN(PSI_T_EOF); }; - yych = *P->cur; - switch (yych) { + if ((lim - cur) < 15) 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 '\v': + case 0x0E: + case 0x0F: + case 0x10: + case 0x11: + case 0x12: + case 0x13: + case 0x14: + case 0x15: + case 0x16: + case 0x17: + case 0x18: + case 0x19: + case 0x1A: + case 0x1B: + case 0x1C: + case 0x1D: + case 0x1E: + case 0x1F: + case '@': + case '`': + case 0x7F: goto yy2; case '\t': + case '\f': case ' ': goto yy4; case '\n': case '\r': goto yy7; case '!': goto yy9; case '"': goto yy11; - case '#': goto yy12; - case '$': goto yy13; - case '%': goto yy14; - case '&': goto yy16; - case '(': goto yy18; - case ')': goto yy20; - case '*': goto yy22; - case '+': goto yy24; - case ',': goto yy26; - case '-': goto yy28; - case '.': goto yy30; - case '/': goto yy31; - case '0': + case '#': goto yy13; + case '$': goto yy15; + case '%': goto yy16; + case '&': goto yy18; + case '\'': goto yy20; + case '(': goto yy22; + case ')': goto yy24; + case '*': goto yy26; + case '+': goto yy28; + case ',': goto yy30; + case '-': goto yy32; + case '.': goto yy34; + case '/': goto yy36; + case '0': goto yy38; case '1': case '2': case '3': @@ -264,123 +348,352 @@ token_t psi_parser_scan(struct psi_parser *P) case '6': case '7': case '8': - case '9': goto yy33; - case ':': goto yy36; - case ';': goto yy38; - case '<': goto yy40; - case '=': goto yy42; - case '>': goto yy44; + case '9': goto yy40; + case ':': goto yy42; + case ';': goto yy44; + case '<': goto yy46; + case '=': goto yy48; + case '>': goto yy50; + case '?': goto yy52; case 'A': - case 'a': goto yy46; - case 'B': - case 'b': goto yy48; - case 'C': - case 'c': goto yy49; - case 'D': - case 'd': goto yy50; - case 'E': - case 'e': goto yy51; - case 'F': - case 'f': goto yy52; - case 'G': - case 'H': - case 'J': - case 'K': - case 'Q': - case 'W': - case 'X': - case 'Y': - case '_': - case 'g': - case 'h': - case 'j': - case 'k': - case 'q': - case 'w': - case 'x': - case 'y': goto yy53; - case 'I': - case 'i': goto yy55; - case 'L': - case 'l': goto yy56; + case 'a': goto yy54; + case 'B': goto yy56; + case 'C': goto yy57; + case 'D': goto yy58; + case 'E': goto yy59; + case 'F': goto yy60; + case 'I': goto yy63; + case 'L': goto yy64; case 'M': - case 'm': goto yy57; + case 'm': goto yy65; case 'N': - case 'n': goto yy58; + case 'n': goto yy66; case 'O': - case 'o': goto yy59; - case 'P': - case 'p': goto yy60; + case 'o': goto yy67; + case 'P': goto yy68; case 'R': - case 'r': goto yy61; - case 'S': - case 's': goto yy62; - case 'T': - case 't': goto yy63; - case 'U': - case 'u': goto yy64; - case 'V': - case 'v': goto yy65; + case 'r': goto yy69; + case 'S': goto yy70; + case 'T': goto yy71; + case 'U': goto yy72; + case 'W': + case 'w': goto yy73; case 'Z': - case 'z': goto yy66; - case '[': goto yy67; - case '\\': goto yy69; - case ']': goto yy70; - case '^': goto yy72; - case '{': goto yy74; - case '|': goto yy76; - case '}': goto yy78; - case '~': goto yy80; - default: goto yy2; + case 'z': goto yy74; + case '[': goto yy75; + case '\\': goto yy77; + case ']': goto yy79; + case '^': goto yy81; + case '_': goto yy83; + case 'b': goto yy84; + case 'c': goto yy85; + case 'd': goto yy86; + case 'e': goto yy87; + case 'f': goto yy88; + case 'i': goto yy89; + case 'l': goto yy90; + case 'p': goto yy91; + case 's': goto yy92; + case 't': goto yy93; + case 'u': goto yy94; + case 'v': goto yy95; + case '{': goto yy96; + case '|': goto yy98; + case '}': goto yy100; + case '~': goto yy102; + default: goto yy61; } yy2: - ++P->cur; + ++cur; yy3: -#line 346 "src/parser.re" - {break;} -#line 342 "src/parser.c" +#line 450 "src/parser.re" + { NEWTOKEN(-2); goto error; } +#line 412 "src/parser.c" yy4: - ++P->cur; - if (P->lim <= P->cur) { if (!psi_parser_fill(P,1)) RETURN(PSI_T_EOF); }; - yych = *P->cur; + ++cur; + if (lim <= cur) if (cur >= lim) goto done;; + yych = *cur; switch (yych) { case '\t': + case '\f': case ' ': goto yy4; default: goto yy6; } yy6: -#line 281 "src/parser.re" - { continue; } -#line 355 "src/parser.c" +#line 449 "src/parser.re" + { NEWTOKEN(PSI_T_WHITESPACE); goto start; } +#line 426 "src/parser.c" yy7: - ++P->cur; -#line 280 "src/parser.re" - { NEWLINE(nextline); } -#line 360 "src/parser.c" + ++cur; +#line 448 "src/parser.re" + { NEWTOKEN(PSI_T_EOL); NEWLINE(); goto start; } +#line 431 "src/parser.c" yy9: - ++P->cur; - switch ((yych = *P->cur)) { - case '=': goto yy82; + yych = *++cur; + switch (yych) { + case '=': goto yy104; default: goto yy10; } yy10: -#line 265 "src/parser.re" - {RETURN(PSI_T_NOT);} -#line 370 "src/parser.c" +#line 351 "src/parser.re" + { NEWTOKEN(PSI_T_NOT); goto start; } +#line 441 "src/parser.c" yy11: - yyaccept = 0; - yych = *(P->mrk = ++P->cur); + ++cur; +#line 324 "src/parser.re" + { escaped = false; tok += 1; goto string; } +#line 446 "src/parser.c" +yy13: + yych = *++cur; + switch (yych) { + case '#': goto yy106; + default: goto yy14; + } +yy14: +#line 334 "src/parser.re" + { NEWTOKEN(PSI_T_HASH); goto start; } +#line 456 "src/parser.c" +yy15: + 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 '}': + case '~': + case 0x7F: goto yy3; + default: goto yy108; + } +yy16: + ++cur; +#line 352 "src/parser.re" + { NEWTOKEN(PSI_T_MODULO); goto start; } +#line 531 "src/parser.c" +yy18: + yych = *++cur; switch (yych) { - case '"': goto yy3; - default: goto yy84; + case '&': goto yy111; + default: goto yy19; } -yy12: +yy19: +#line 353 "src/parser.re" + { NEWTOKEN(PSI_T_AMPERSAND); goto start; } +#line 541 "src/parser.c" +yy20: + ++cur; +#line 323 "src/parser.re" + { escaped = false; tok += 1; goto character; } +#line 546 "src/parser.c" +yy22: + ++cur; +#line 335 "src/parser.re" + { NEWTOKEN(PSI_T_LPAREN); goto start; } +#line 551 "src/parser.c" +yy24: + ++cur; +#line 336 "src/parser.re" + { NEWTOKEN(PSI_T_RPAREN); goto start; } +#line 556 "src/parser.c" +yy26: + ++cur; +#line 349 "src/parser.re" + { NEWTOKEN(PSI_T_ASTERISK); goto start; } +#line 561 "src/parser.c" +yy28: yyaccept = 0; - yych = *(P->mrk = ++P->cur); - goto yy87; -yy13: - yych = *++P->cur; + yych = *(mrk = ++cur); + switch (yych) { + case '.': goto yy113; + case '0': goto yy38; + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy40; + default: goto yy29; + } +yy29: +#line 354 "src/parser.re" + { NEWTOKEN(PSI_T_PLUS); goto start; } +#line 582 "src/parser.c" +yy30: + ++cur; +#line 338 "src/parser.re" + { NEWTOKEN(PSI_T_COMMA); goto start; } +#line 587 "src/parser.c" +yy32: + yyaccept = 1; + yych = *(mrk = ++cur); + switch (yych) { + case '.': goto yy113; + case '0': goto yy38; + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy40; + default: goto yy33; + } +yy33: +#line 355 "src/parser.re" + { NEWTOKEN(PSI_T_MINUS); goto start; } +#line 608 "src/parser.c" +yy34: + yyaccept = 2; + yych = *(mrk = ++cur); + switch (yych) { + case '.': goto yy115; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy116; + default: goto yy35; + } +yy35: +#line 366 "src/parser.re" + { NEWTOKEN(PSI_T_PERIOD); goto start; } +#line 629 "src/parser.c" +yy36: + yych = *++cur; + switch (yych) { + case '*': goto yy119; + case '/': goto yy121; + default: goto yy37; + } +yy37: +#line 356 "src/parser.re" + { NEWTOKEN(PSI_T_SLASH); goto start; } +#line 640 "src/parser.c" +yy38: + yyaccept = 3; + yych = *(mrk = ++cur); + switch (yych) { + case '.': goto yy123; + case 'E': + case 'e': goto yy127; + case 'X': + case 'x': goto yy132; + default: goto yy126; + } +yy39: +#line 310 "src/parser.re" + { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_INT; goto start; } +#line 655 "src/parser.c" +yy40: + yyaccept = 3; + mrk = ++cur; + if ((lim - cur) < 3) if (cur >= lim) goto done;; + yych = *cur; + switch (yych) { + case '.': goto yy123; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy40; + case 'E': + case 'e': goto yy127; + case 'L': + case 'l': goto yy128; + case 'U': + case 'u': goto yy130; + default: goto yy39; + } +yy42: + ++cur; +#line 339 "src/parser.re" + { NEWTOKEN(PSI_T_COLON); goto start; } +#line 685 "src/parser.c" +yy44: + ++cur; +#line 337 "src/parser.re" + { NEWTOKEN(PSI_T_EOS); goto start; } +#line 690 "src/parser.c" +yy46: + yyaccept = 4; + yych = *(mrk = ++cur); switch (yych) { + case '-': + case '.': + case '/': case '0': case '1': case '2': @@ -443,565 +756,351 @@ yy13: case 'w': case 'x': case 'y': - case 'z': goto yy90; - default: goto yy3; + case 'z': goto yy133; + case '<': goto yy135; + case '=': goto yy137; + default: goto yy47; } -yy14: - ++P->cur; -#line 266 "src/parser.re" - {RETURN(PSI_T_MODULO);} -#line 454 "src/parser.c" -yy16: - ++P->cur; - switch ((yych = *P->cur)) { - case '&': goto yy93; - default: goto yy17; - } -yy17: -#line 267 "src/parser.re" - {RETURN(PSI_T_AMPERSAND);} -#line 464 "src/parser.c" -yy18: - ++P->cur; -#line 249 "src/parser.re" - {RETURN(PSI_T_LPAREN);} -#line 469 "src/parser.c" -yy20: - ++P->cur; -#line 250 "src/parser.re" - {RETURN(PSI_T_RPAREN);} -#line 474 "src/parser.c" -yy22: - ++P->cur; -#line 263 "src/parser.re" - {RETURN(PSI_T_ASTERISK);} -#line 479 "src/parser.c" -yy24: - yyaccept = 1; - yych = *(P->mrk = ++P->cur); +yy47: +#line 364 "src/parser.re" + { NEWTOKEN(PSI_T_LCHEVR); goto start; } +#line 768 "src/parser.c" +yy48: + yych = *++cur; switch (yych) { - case '.': goto yy95; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy33; - default: goto yy25; + case '=': goto yy139; + default: goto yy49; } -yy25: -#line 268 "src/parser.re" - {RETURN(PSI_T_PLUS);} -#line 500 "src/parser.c" -yy26: - ++P->cur; -#line 252 "src/parser.re" - {RETURN(PSI_T_COMMA);} -#line 505 "src/parser.c" -yy28: - yyaccept = 2; - yych = *(P->mrk = ++P->cur); +yy49: +#line 348 "src/parser.re" + { NEWTOKEN(PSI_T_EQUALS); goto start; } +#line 778 "src/parser.c" +yy50: + yych = *++cur; switch (yych) { - case '.': goto yy95; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy33; - default: goto yy29; + case '=': goto yy141; + case '>': goto yy143; + default: goto yy51; } -yy29: -#line 269 "src/parser.re" - {RETURN(PSI_T_MINUS);} -#line 526 "src/parser.c" -yy30: - yyaccept = 0; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '.': goto yy97; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy98; - default: goto yy3; - } -yy31: - yyaccept = 3; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '*': goto yy100; - case '/': goto yy86; - default: goto yy32; - } -yy32: -#line 270 "src/parser.re" - {RETURN(PSI_T_SLASH);} -#line 555 "src/parser.c" -yy33: - yyaccept = 4; - P->mrk = ++P->cur; - if ((P->lim - P->cur) < 3) { if (!psi_parser_fill(P,3)) RETURN(PSI_T_EOF); }; - yych = *P->cur; - switch (yych) { - case '.': goto yy95; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy33; - case 'E': - case 'e': goto yy102; - default: goto yy35; - } -yy35: -#line 341 "src/parser.re" - {RETURN(PSI_T_NUMBER);} -#line 580 "src/parser.c" -yy36: - ++P->cur; -#line 253 "src/parser.re" - {RETURN(PSI_T_COLON);} -#line 585 "src/parser.c" -yy38: - ++P->cur; -#line 251 "src/parser.re" - {RETURN(PSI_T_EOS);} -#line 590 "src/parser.c" -yy40: - ++P->cur; - switch ((yych = *P->cur)) { - case '<': goto yy103; - case '=': goto yy105; - default: goto yy41; - } -yy41: -#line 277 "src/parser.re" - {RETURN(PSI_T_LCHEVR);} -#line 601 "src/parser.c" -yy42: - ++P->cur; - switch ((yych = *P->cur)) { - case '=': goto yy107; - default: goto yy43; - } -yy43: -#line 262 "src/parser.re" - {RETURN(PSI_T_EQUALS);} -#line 611 "src/parser.c" -yy44: - ++P->cur; - switch ((yych = *P->cur)) { - case '=': goto yy109; - case '>': goto yy111; - default: goto yy45; - } -yy45: -#line 278 "src/parser.re" - {RETURN(PSI_T_RCHEVR);} -#line 622 "src/parser.c" -yy46: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); +yy51: +#line 365 "src/parser.re" + { NEWTOKEN(PSI_T_RCHEVR); goto start; } +#line 789 "src/parser.c" +yy52: + ++cur; +#line 368 "src/parser.re" + { NEWTOKEN(PSI_T_IIF); goto start; } +#line 794 "src/parser.c" +yy54: + yyaccept = 5; + yych = *(mrk = ++cur); switch (yych) { case 'R': - case 'r': goto yy113; - default: goto yy54; + case 'r': goto yy145; + case 'S': + case 's': goto yy146; + default: goto yy62; } -yy47: -#line 342 "src/parser.re" - {RETURN(PSI_T_NAME);} -#line 634 "src/parser.c" -yy48: +yy55: +#line 443 "src/parser.re" + { NEWTOKEN(PSI_T_NAME); goto start; } +#line 808 "src/parser.c" +yy56: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'O': - case 'o': goto yy115; - default: goto yy54; + case 'o': goto yy149; + default: goto yy62; } -yy49: +yy57: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy116; - case 'H': - case 'h': goto yy117; + case 'a': goto yy150; case 'O': - case 'o': goto yy118; - default: goto yy54; + case 'o': goto yy151; + default: goto yy62; } -yy50: +yy58: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'O': - case 'o': goto yy119; - default: goto yy54; + case 'E': + case 'e': goto yy152; + default: goto yy62; } -yy51: +yy59: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { + case 'L': + case 'l': goto yy153; case 'N': - case 'n': goto yy120; - default: goto yy54; + case 'n': goto yy154; + case 'R': + case 'r': goto yy155; + default: goto yy62; } -yy52: +yy60: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy121; + case 'a': goto yy156; case 'L': - case 'l': goto yy122; + case 'l': goto yy157; case 'R': - case 'r': goto yy123; + case 'r': goto yy158; case 'U': - case 'u': goto yy124; - default: goto yy54; + case 'u': goto yy159; + default: goto yy62; } -yy53: +yy61: yyaccept = 5; - P->mrk = ++P->cur; - if (P->lim <= P->cur) { if (!psi_parser_fill(P,1)) RETURN(PSI_T_EOF); }; - yych = *P->cur; -yy54: + mrk = ++cur; + if (lim <= cur) if (cur >= lim) goto done;; + yych = *cur; +yy62: switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy47; + 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 yy55; + case '\\': goto yy148; + default: goto yy61; } -yy55: +yy63: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { + case 'F': + case 'f': goto yy160; case 'N': - case 'n': goto yy125; - default: goto yy54; + case 'n': goto yy162; + default: goto yy62; } -yy56: +yy64: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { + case '"': + case '\'': goto yy163; case 'E': - case 'e': goto yy126; + case 'e': goto yy165; case 'I': - case 'i': goto yy127; - case 'O': - case 'o': goto yy128; - default: goto yy54; + case 'i': goto yy166; + default: goto yy62; } -yy57: +yy65: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'I': - case 'i': goto yy129; - default: goto yy54; + case 'i': goto yy167; + default: goto yy62; } -yy58: +yy66: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'U': - case 'u': goto yy130; - default: goto yy54; + case 'u': goto yy168; + default: goto yy62; } -yy59: +yy67: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'B': - case 'b': goto yy131; - default: goto yy54; + case 'b': goto yy169; + default: goto yy62; } -yy60: +yy68: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy132; + case 'a': goto yy170; case 'O': - case 'o': goto yy133; + case 'o': goto yy171; case 'R': - case 'r': goto yy134; - default: goto yy54; + case 'r': goto yy172; + default: goto yy62; } -yy61: +yy69: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy135; - default: goto yy54; + case 'e': goto yy173; + default: goto yy62; } -yy62: +yy70: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy136; - case 'H': - case 'h': goto yy137; - case 'I': - case 'i': goto yy138; + case 'e': goto yy174; case 'T': - case 't': goto yy139; - default: goto yy54; + case 't': goto yy175; + default: goto yy62; } -yy63: +yy71: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy140; + case 'e': goto yy176; case 'O': - case 'o': goto yy141; + case 'o': goto yy177; case 'R': - case 'r': goto yy142; - case 'Y': - case 'y': goto yy143; - default: goto yy54; + case 'r': goto yy178; + default: goto yy62; } -yy64: +yy72: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'I': - case 'i': goto yy144; + case '"': + case '\'': goto yy179; case 'N': - case 'n': goto yy145; - default: goto yy54; + case 'n': goto yy181; + default: goto yy62; } -yy65: +yy73: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'O': - case 'o': goto yy146; - default: goto yy54; + case 'A': + case 'a': goto yy182; + default: goto yy62; } -yy66: +yy74: yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'V': - case 'v': goto yy147; - default: goto yy54; - } -yy67: - ++P->cur; -#line 256 "src/parser.re" - {RETURN(PSI_T_LBRACKET);} -#line 880 "src/parser.c" -yy69: - yych = *++P->cur; + yych = *(mrk = ++cur); switch (yych) { - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy148; - default: goto yy3; - } -yy70: - ++P->cur; -#line 257 "src/parser.re" - {RETURN(PSI_T_RBRACKET);} -#line 943 "src/parser.c" -yy72: - ++P->cur; -#line 272 "src/parser.re" - {RETURN(PSI_T_CARET);} -#line 948 "src/parser.c" -yy74: - ++P->cur; -#line 254 "src/parser.re" - {RETURN(PSI_T_LBRACE);} -#line 953 "src/parser.c" -yy76: - ++P->cur; - switch ((yych = *P->cur)) { - case '|': goto yy151; - default: goto yy77; + case 'v': goto yy183; + default: goto yy62; } +yy75: + ++cur; +#line 342 "src/parser.re" + { NEWTOKEN(PSI_T_LBRACKET); goto start; } +#line 1053 "src/parser.c" yy77: -#line 271 "src/parser.re" - {RETURN(PSI_T_PIPE);} -#line 963 "src/parser.c" -yy78: - ++P->cur; -#line 255 "src/parser.re" - {RETURN(PSI_T_RBRACE);} -#line 968 "src/parser.c" -yy80: - ++P->cur; -#line 264 "src/parser.re" - {RETURN(PSI_T_TILDE);} -#line 973 "src/parser.c" -yy82: - ++P->cur; -#line 258 "src/parser.re" - {RETURN(PSI_T_CMP_NE);} -#line 978 "src/parser.c" -yy84: - ++P->cur; - if (P->lim <= P->cur) { if (!psi_parser_fill(P,1)) RETURN(PSI_T_EOF); }; - yych = *P->cur; - switch (yych) { - case '"': goto yy153; - default: goto yy84; - } -yy86: - ++P->cur; - if (P->lim <= P->cur) { if (!psi_parser_fill(P,1)) RETURN(PSI_T_EOF); }; - yych = *P->cur; -yy87: - switch (yych) { - case '\n': goto yy88; - default: goto yy86; - } -yy88: - ++P->cur; -#line 248 "src/parser.re" - { NEWLINE(nextline); } -#line 1000 "src/parser.c" -yy90: - ++P->cur; - if (P->lim <= P->cur) { if (!psi_parser_fill(P,1)) RETURN(PSI_T_EOF); }; - yych = *P->cur; - switch (yych) { + 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 '0': case '1': case '2': @@ -1012,72 +1111,294 @@ yy90: case '7': case '8': case '9': + case ':': + case ';': + case '<': + case '=': + case '>': + case '?': + case '@': + case '[': + case '\\': + case ']': + case '^': + case '`': + case '{': + case '|': + case '}': + case '~': + case 0x7F: goto yy78; + default: goto yy184; + } +yy78: +#line 357 "src/parser.re" + { NEWTOKEN(PSI_T_BSLASH); goto start; } +#line 1137 "src/parser.c" +yy79: + ++cur; +#line 343 "src/parser.re" + { NEWTOKEN(PSI_T_RBRACKET); goto start; } +#line 1142 "src/parser.c" +yy81: + ++cur; +#line 359 "src/parser.re" + { NEWTOKEN(PSI_T_CARET); goto start; } +#line 1147 "src/parser.c" +yy83: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case '_': goto yy187; + default: goto yy62; + } +yy84: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'O': goto yy149; + case 'o': goto yy188; + default: goto yy62; + } +yy85: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { case 'A': - case 'B': - case 'C': - case 'D': + case 'a': goto yy150; + case 'O': goto yy151; + case 'h': goto yy189; + case 'o': goto yy190; + default: goto yy62; + } +yy86: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': + case 'e': goto yy152; + case 'o': goto yy191; + default: goto yy62; + } +yy87: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': + case 'l': goto yy153; + case 'N': goto yy154; case 'R': - case 'S': - case 'T': + case 'r': goto yy155; + case 'n': goto yy192; + default: goto yy62; + } +yy88: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'A': + case 'a': goto yy156; + case 'L': goto yy157; + case 'R': + case 'r': goto yy158; case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy90; - default: goto yy92; + case 'u': goto yy159; + case 'l': goto yy193; + default: goto yy62; + } +yy89: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'F': + case 'f': goto yy160; + case 'N': goto yy162; + case 'n': goto yy194; + default: goto yy62; + } +yy90: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'E': + case 'e': goto yy165; + case 'I': goto yy166; + case 'i': goto yy195; + case 'o': goto yy196; + default: goto yy62; + } +yy91: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'A': + case 'a': goto yy170; + case 'O': + case 'o': goto yy171; + case 'R': goto yy172; + case 'r': goto yy197; + default: goto yy62; } yy92: -#line 344 "src/parser.re" - {RETURN(PSI_T_DOLLAR_NAME);} -#line 1074 "src/parser.c" + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'E': + case 'e': goto yy174; + case 'T': goto yy175; + case 'h': goto yy198; + case 'i': goto yy199; + case 't': goto yy200; + default: goto yy62; + } yy93: - ++P->cur; -#line 260 "src/parser.re" - {RETURN(PSI_T_AND);} -#line 1079 "src/parser.c" + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'E': + case 'e': goto yy176; + case 'O': + case 'o': goto yy177; + case 'R': + case 'r': goto yy178; + case 'y': goto yy201; + default: goto yy62; + } +yy94: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case '"': + case '\'': goto yy202; + case '8': goto yy204; + case 'N': goto yy181; + case 'n': goto yy205; + default: goto yy62; + } yy95: - yych = *++P->cur; + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'o': goto yy206; + default: goto yy62; + } +yy96: + ++cur; +#line 340 "src/parser.re" + { NEWTOKEN(PSI_T_LBRACE); goto start; } +#line 1289 "src/parser.c" +yy98: + yych = *++cur; + switch (yych) { + case '|': goto yy207; + default: goto yy99; + } +yy99: +#line 358 "src/parser.re" + { NEWTOKEN(PSI_T_PIPE); goto start; } +#line 1299 "src/parser.c" +yy100: + ++cur; +#line 341 "src/parser.re" + { NEWTOKEN(PSI_T_RBRACE); goto start; } +#line 1304 "src/parser.c" +yy102: + ++cur; +#line 350 "src/parser.re" + { NEWTOKEN(PSI_T_TILDE); goto start; } +#line 1309 "src/parser.c" +yy104: + ++cur; +#line 344 "src/parser.re" + { NEWTOKEN(PSI_T_CMP_NE); goto start; } +#line 1314 "src/parser.c" +yy106: + ++cur; +#line 333 "src/parser.re" + { NEWTOKEN(PSI_T_CPP_PASTE); goto start; } +#line 1319 "src/parser.c" +yy108: + ++cur; + if (lim <= cur) 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 '}': + case '~': + case 0x7F: goto yy110; + default: goto yy108; + } +yy110: +#line 445 "src/parser.re" + { NEWTOKEN(PSI_T_DOLLAR_NAME); goto start; } +#line 1395 "src/parser.c" +yy111: + ++cur; +#line 346 "src/parser.re" + { NEWTOKEN(PSI_T_AND); goto start; } +#line 1400 "src/parser.c" +yy113: + yych = *++cur; switch (yych) { case '0': case '1': @@ -1088,90 +1409,107 @@ yy95: case '6': case '7': case '8': - case '9': goto yy98; - default: goto yy96; + case '9': goto yy116; + default: goto yy114; } -yy96: - P->cur = P->mrk; +yy114: + cur = mrk; switch (yyaccept) { - case 0: goto yy3; - case 1: goto yy25; - case 2: goto yy29; - case 3: goto yy32; - case 4: goto yy35; - case 5: goto yy47; - case 6: goto yy150; - case 7: goto yy173; - case 8: goto yy175; - case 9: goto yy177; - case 10: goto yy187; - case 11: goto yy204; - case 12: goto yy207; - case 13: goto yy212; - case 14: goto yy216; - case 15: goto yy224; - case 16: goto yy227; - case 17: goto yy242; - case 18: goto yy250; - case 19: goto yy256; - case 20: goto yy258; - case 21: goto yy260; - case 22: goto yy267; - case 23: goto yy269; - case 24: goto yy272; - case 25: goto yy274; - case 26: goto yy282; - case 27: goto yy290; - case 28: goto yy309; - case 29: goto yy312; - case 30: goto yy317; - case 31: goto yy319; - case 32: goto yy326; - case 33: goto yy328; - case 34: goto yy330; - case 35: goto yy332; - case 36: goto yy337; - case 37: goto yy339; - case 38: goto yy341; - case 39: goto yy343; - case 40: goto yy345; - case 41: goto yy347; - case 42: goto yy349; - case 43: goto yy354; - case 44: goto yy364; - case 45: goto yy370; - case 46: goto yy372; - case 47: goto yy374; - case 48: goto yy376; - case 49: goto yy381; - case 50: goto yy386; - case 51: goto yy391; - case 52: goto yy394; - case 53: goto yy396; - case 54: goto yy398; - case 55: goto yy400; - case 56: goto yy404; - case 57: goto yy406; - case 58: goto yy410; - case 59: goto yy412; - case 60: goto yy414; - case 61: goto yy416; - case 62: goto yy420; - case 63: goto yy422; - case 64: goto yy425; - default: goto yy427; - } -yy97: - yych = *++P->cur; - switch (yych) { - case '.': goto yy155; - default: goto yy96; + case 0: goto yy29; + case 1: goto yy33; + case 2: goto yy35; + case 3: goto yy39; + case 4: goto yy47; + case 5: goto yy55; + case 6: goto yy118; + case 7: goto yy129; + case 8: goto yy147; + case 9: goto yy161; + case 10: goto yy186; + case 11: goto yy242; + case 12: goto yy244; + case 13: goto yy253; + case 14: goto yy273; + case 15: goto yy305; + case 16: goto yy307; + case 17: goto yy313; + case 18: goto yy321; + case 19: goto yy333; + case 20: goto yy341; + case 21: goto yy345; + case 22: goto yy352; + case 23: goto yy354; + case 24: goto yy358; + case 25: goto yy361; + case 26: goto yy363; + case 27: goto yy373; + case 28: goto yy376; + case 29: goto yy383; + case 30: goto yy386; + case 31: goto yy388; + case 32: goto yy390; + case 33: goto yy394; + case 34: goto yy399; + case 35: goto yy417; + case 36: goto yy425; + case 37: goto yy428; + case 38: goto yy431; + case 39: goto yy437; + case 40: goto yy441; + case 41: goto yy446; + case 42: goto yy448; + case 43: goto yy452; + case 44: goto yy455; + case 45: goto yy457; + case 46: goto yy459; + case 47: goto yy464; + case 48: goto yy466; + case 49: goto yy468; + case 50: goto yy470; + case 51: goto yy472; + case 52: goto yy477; + case 53: goto yy487; + case 54: goto yy489; + case 55: goto yy491; + case 56: goto yy493; + case 57: goto yy495; + case 58: goto yy500; + case 59: goto yy504; + case 60: goto yy508; + case 61: goto yy510; + case 62: goto yy515; + case 63: goto yy520; + case 64: goto yy522; + case 65: goto yy530; + case 66: goto yy534; + case 67: goto yy536; + case 68: goto yy538; + case 69: goto yy540; + case 70: goto yy545; + case 71: goto yy547; + case 72: goto yy553; + case 73: goto yy558; + case 74: goto yy560; + case 75: goto yy565; + case 76: goto yy567; + case 77: goto yy575; + case 78: goto yy579; + case 79: goto yy583; + case 80: goto yy587; + case 81: goto yy589; + default: goto yy594; } -yy98: - yyaccept = 4; - P->mrk = ++P->cur; - if ((P->lim - P->cur) < 3) { if (!psi_parser_fill(P,3)) RETURN(PSI_T_EOF); }; - yych = *P->cur; +yy115: + yych = *++cur; + switch (yych) { + case '.': goto yy209; + default: goto yy114; + } +yy116: + yyaccept = 6; + mrk = ++cur; + if ((lim - cur) < 2) if (cur >= lim) goto done;; + yych = *cur; switch (yych) { case '0': case '1': @@ -1182,21 +1520,80 @@ yy98: case '6': case '7': case '8': - case '9': goto yy98; - case 'E': - case 'e': goto yy102; - default: goto yy35; + case '9': goto yy116; + case 'D': + case 'd': goto yy211; + case 'F': + case 'f': goto yy212; + case 'L': + case 'l': goto yy214; + default: goto yy118; } -yy100: - ++P->cur; -#line 247 "src/parser.re" +yy118: +#line 316 "src/parser.re" + { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT; goto start; } +#line 1536 "src/parser.c" +yy119: + ++cur; +#line 330 "src/parser.re" { goto comment; } -#line 1195 "src/parser.c" -yy102: - yych = *++P->cur; +#line 1541 "src/parser.c" +yy121: + ++cur; +#line 331 "src/parser.re" + { goto comment_sl; } +#line 1546 "src/parser.c" +yy123: + yyaccept = 6; + mrk = ++cur; + if ((lim - cur) < 3) if (cur >= lim) goto done;; + 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 yy123; + case 'D': + case 'd': goto yy211; + case 'E': + case 'e': goto yy127; + case 'F': + case 'f': goto yy212; + case 'L': + case 'l': goto yy214; + default: goto yy118; + } +yy125: + ++cur; + if ((lim - cur) < 3) if (cur >= lim) goto done;; + yych = *cur; +yy126: + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': goto yy125; + case 'L': + case 'l': goto yy128; + case 'U': + case 'u': goto yy130; + default: goto yy39; + } +yy127: + yych = *++cur; switch (yych) { case '+': - case '-': goto yy157; + case '-': goto yy113; case '0': case '1': case '2': @@ -1206,47 +1603,81 @@ yy102: case '6': case '7': case '8': - case '9': goto yy158; - default: goto yy96; - } -yy103: - ++P->cur; -#line 273 "src/parser.re" - {RETURN(PSI_T_LSHIFT);} -#line 1217 "src/parser.c" -yy105: - ++P->cur; -#line 275 "src/parser.re" - {RETURN(PSI_T_CMP_LE);} -#line 1222 "src/parser.c" -yy107: - ++P->cur; -#line 259 "src/parser.re" - {RETURN(PSI_T_CMP_EQ);} -#line 1227 "src/parser.c" -yy109: - ++P->cur; -#line 276 "src/parser.re" - {RETURN(PSI_T_CMP_GE);} -#line 1232 "src/parser.c" -yy111: - ++P->cur; -#line 274 "src/parser.re" - {RETURN(PSI_T_RSHIFT);} -#line 1237 "src/parser.c" -yy113: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); + case '9': goto yy116; + default: goto yy114; + } +yy128: + yyaccept = 7; + yych = *(mrk = ++cur); switch (yych) { - case 'R': - case 'r': goto yy160; - default: goto yy54; + case 'L': + case 'l': goto yy216; + case 'U': + case 'u': goto yy217; + default: goto yy129; } -yy114: - ++P->cur; - if (P->lim <= P->cur) { if (!psi_parser_fill(P,1)) RETURN(PSI_T_EOF); }; - yych = *P->cur; +yy129: + cur -= 1; +#line 312 "src/parser.re" + { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_INT | PSI_NUMBER_L; cur += 1; goto start; } +#line 1624 "src/parser.c" +yy130: + yych = *++cur; + switch (yych) { + case 'L': + case 'l': goto yy219; + default: goto yy131; + } +yy131: + cur -= 1; +#line 311 "src/parser.re" + { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_INT | PSI_NUMBER_U; cur += 1; goto start; } +#line 1636 "src/parser.c" +yy132: + yych = *++cur; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': goto yy220; + default: goto yy114; + } +yy133: + ++cur; + if (lim <= cur) if (cur >= lim) goto done;; + yych = *cur; switch (yych) { + case '-': + case '.': + case '/': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': case 'A': case 'B': case 'C': @@ -1299,508 +1730,831 @@ yy114: case 'w': case 'x': case 'y': - case 'z': goto yy148; - default: goto yy96; + case 'z': goto yy133; + case '>': goto yy222; + default: goto yy114; } -yy115: +yy135: + ++cur; +#line 360 "src/parser.re" + { NEWTOKEN(PSI_T_LSHIFT); goto start; } +#line 1742 "src/parser.c" +yy137: + ++cur; +#line 362 "src/parser.re" + { NEWTOKEN(PSI_T_CMP_LE); goto start; } +#line 1747 "src/parser.c" +yy139: + ++cur; +#line 345 "src/parser.re" + { NEWTOKEN(PSI_T_CMP_EQ); goto start; } +#line 1752 "src/parser.c" +yy141: + ++cur; +#line 363 "src/parser.re" + { NEWTOKEN(PSI_T_CMP_GE); goto start; } +#line 1757 "src/parser.c" +yy143: + ++cur; +#line 361 "src/parser.re" + { NEWTOKEN(PSI_T_RSHIFT); goto start; } +#line 1762 "src/parser.c" +yy145: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); + switch (yych) { + case 'R': + case 'r': goto yy224; + default: goto yy62; + } +yy146: + yyaccept = 8; + yych = *(mrk = ++cur); + switch (yych) { + case 0x00: + case 0x01: + case 0x02: + case 0x03: + case 0x04: + case 0x05: + case 0x06: + case 0x07: + case 0x08: + case '\t': + case '\n': + case '\v': + case '\f': + case '\r': + case 0x0E: + case 0x0F: + case 0x10: + case 0x11: + case 0x12: + case 0x13: + case 0x14: + case 0x15: + case 0x16: + case 0x17: + case 0x18: + case 0x19: + case 0x1A: + case 0x1B: + case 0x1C: + case 0x1D: + case 0x1E: + case 0x1F: + case ' ': + case '!': + case '"': + case '#': + case '$': + case '%': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case '-': + case '.': + case '/': + case ':': + case ';': + case '<': + case '=': + case '>': + case '?': + case '@': + case '[': + case ']': + case '^': + case '`': + case '{': + case '|': + case '}': + case '~': + case 0x7F: goto yy147; + case '\\': goto yy148; + default: goto yy61; + } +yy147: +#line 423 "src/parser.re" + { NEWTOKEN(PSI_T_AS); goto start; } +#line 1845 "src/parser.c" +yy148: + ++cur; + if (lim <= cur) 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 '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ':': + case ';': + case '<': + case '=': + case '>': + case '?': + case '@': + case '[': + case '\\': + case ']': + case '^': + case '`': + case '{': + case '|': + case '}': + case '~': + case 0x7F: goto yy114; + default: goto yy184; + } +yy149: + yyaccept = 5; + yych = *(mrk = ++cur); switch (yych) { case 'O': - case 'o': goto yy161; - default: goto yy54; + case 'o': goto yy225; + default: goto yy62; } -yy116: +yy150: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy162; - default: goto yy54; + case 'l': goto yy226; + default: goto yy62; } -yy117: +yy151: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'A': - case 'a': goto yy163; - default: goto yy54; + case 'U': + case 'u': goto yy227; + default: goto yy62; } -yy118: +yy152: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'N': - case 'n': goto yy164; - case 'U': - case 'u': goto yy165; - default: goto yy54; + case 'F': + case 'f': goto yy228; + default: goto yy62; } -yy119: +yy153: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'U': - case 'u': goto yy166; - default: goto yy54; + case 'I': + case 'i': goto yy229; + case 'S': + case 's': goto yy230; + default: goto yy62; } -yy120: +yy154: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'U': - case 'u': goto yy167; - default: goto yy54; + case 'D': + case 'd': goto yy231; + default: goto yy62; } -yy121: +yy155: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'R': + case 'r': goto yy232; + default: goto yy62; + } +yy156: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy168; - default: goto yy54; + case 'l': goto yy233; + default: goto yy62; } -yy122: +yy157: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'O': - case 'o': goto yy169; - default: goto yy54; + case 'o': goto yy234; + default: goto yy62; } -yy123: +yy158: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy170; - default: goto yy54; + case 'e': goto yy235; + default: goto yy62; } -yy124: +yy159: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'N': - case 'n': goto yy171; - default: goto yy54; + case 'n': goto yy236; + default: goto yy62; } -yy125: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'T': - case 't': goto yy172; - default: goto yy54; +yy160: + yyaccept = 9; + 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 yy161; + case 'D': + case 'd': goto yy237; + case 'N': + case 'n': goto yy238; + case '\\': goto yy148; + default: goto yy61; } -yy126: +yy161: +#line 393 "src/parser.re" + { NEWTOKEN(PSI_T_IF); goto start; } +#line 2096 "src/parser.c" +yy162: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { + case 'C': + case 'c': goto yy239; case 'T': - case 't': goto yy174; - default: goto yy54; + case 't': goto yy240; + default: goto yy62; } -yy127: +yy163: + ++cur; + cur -= 1; +#line 328 "src/parser.re" + { char_width = SIZEOF_WCHAR_T/8; } +#line 2112 "src/parser.c" +yy165: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'B': - case 'b': goto yy176; - default: goto yy54; + case 'T': + case 't': goto yy241; + default: goto yy62; } -yy128: +yy166: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'N': - case 'n': goto yy178; - default: goto yy54; + case 'B': + case 'b': goto yy243; + default: goto yy62; } -yy129: +yy167: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'X': - case 'x': goto yy179; - default: goto yy54; + case 'x': goto yy245; + default: goto yy62; } -yy130: +yy168: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy180; - default: goto yy54; + case 'l': goto yy246; + default: goto yy62; } -yy131: +yy169: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'J': - case 'j': goto yy181; - default: goto yy54; + case 'j': goto yy247; + default: goto yy62; } -yy132: +yy170: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy182; - default: goto yy54; + case 't': goto yy248; + default: goto yy62; } -yy133: +yy171: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'S': - case 's': goto yy183; - default: goto yy54; + case 's': goto yy249; + default: goto yy62; } -yy134: +yy172: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy184; - default: goto yy54; + case 'e': goto yy250; + default: goto yy62; } -yy135: +yy173: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy185; - default: goto yy54; + case 't': goto yy251; + default: goto yy62; } -yy136: +yy174: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy186; - default: goto yy54; - } -yy137: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'O': - case 'o': goto yy188; - default: goto yy54; - } -yy138: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'G': - case 'g': goto yy189; - default: goto yy54; + case 't': goto yy252; + default: goto yy62; } -yy139: +yy175: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy190; + case 'a': goto yy254; case 'R': - case 'r': goto yy191; - default: goto yy54; + case 'r': goto yy255; + default: goto yy62; } -yy140: +yy176: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'M': - case 'm': goto yy192; - default: goto yy54; + case 'm': goto yy256; + default: goto yy62; } -yy141: +yy177: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy193; - default: goto yy54; + case '_': goto yy257; + default: goto yy62; } -yy142: +yy178: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'U': - case 'u': goto yy194; - default: goto yy54; + case 'u': goto yy258; + default: goto yy62; } -yy143: +yy179: + ++cur; + cur -= 1; +#line 327 "src/parser.re" + { char_width = 4; } +#line 2231 "src/parser.c" +yy181: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'P': - case 'p': goto yy195; - default: goto yy54; + case 'D': + case 'd': goto yy259; + default: goto yy62; } -yy144: +yy182: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'N': - case 'n': goto yy196; - default: goto yy54; + case 'R': + case 'r': goto yy260; + default: goto yy62; } -yy145: +yy183: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'I': - case 'i': goto yy197; - case 'S': - case 's': goto yy198; - default: goto yy54; + case 'A': + case 'a': goto yy261; + default: goto yy62; } -yy146: +yy184: + yyaccept = 10; + mrk = ++cur; + if (lim <= cur) 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 '~': + case 0x7F: goto yy186; + case '\\': goto yy148; + default: goto yy184; + } +yy186: +#line 444 "src/parser.re" + { NEWTOKEN(PSI_T_NSNAME); goto start; } +#line 2332 "src/parser.c" +yy187: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'I': - case 'i': goto yy199; - default: goto yy54; + case 'a': goto yy262; + case 'e': goto yy263; + case 'i': goto yy264; + case 'r': goto yy265; + default: goto yy62; } -yy147: +yy188: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'A': - case 'a': goto yy200; - default: goto yy54; + case 'O': goto yy225; + case 'o': goto yy266; + default: goto yy62; } -yy148: - yyaccept = 6; - P->mrk = ++P->cur; - if (P->lim <= P->cur) { if (!psi_parser_fill(P,1)) RETURN(PSI_T_EOF); }; - yych = *P->cur; +yy189: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'a': goto yy267; + default: goto yy62; + } +yy190: + yyaccept = 5; + yych = *(mrk = ++cur); switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy148; - case '\\': goto yy114; - default: goto yy150; + case 'u': goto yy227; + case 'n': goto yy268; + default: goto yy62; } -yy150: -#line 343 "src/parser.re" - {RETURN(PSI_T_NSNAME);} -#line 1650 "src/parser.c" -yy151: - ++P->cur; -#line 261 "src/parser.re" - {RETURN(PSI_T_OR);} -#line 1655 "src/parser.c" -yy153: - ++P->cur; -#line 345 "src/parser.re" - {RETURN(PSI_T_QUOTED_STRING);} -#line 1660 "src/parser.c" -yy155: - ++P->cur; -#line 279 "src/parser.re" - {RETURN(PSI_T_ELLIPSIS);} -#line 1665 "src/parser.c" -yy157: - yych = *++P->cur; +yy191: + yyaccept = 5; + yych = *(mrk = ++cur); switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy158; - default: goto yy96; + case 'u': goto yy269; + default: goto yy62; } -yy158: - ++P->cur; - if (P->lim <= P->cur) { if (!psi_parser_fill(P,1)) RETURN(PSI_T_EOF); }; - yych = *P->cur; +yy192: + yyaccept = 5; + yych = *(mrk = ++cur); switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy158; - default: goto yy35; + case 'D': + case 'd': goto yy231; + case 'u': goto yy270; + default: goto yy62; } -yy160: +yy193: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'A': - case 'a': goto yy201; - case 'V': - case 'v': goto yy202; - default: goto yy54; + case 'O': goto yy234; + case 'o': goto yy271; + default: goto yy62; } -yy161: +yy194: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'L': - case 'l': goto yy203; - default: goto yy54; + case 'C': + case 'c': goto yy239; + case 'T': goto yy240; + case 't': goto yy272; + default: goto yy62; } -yy162: +yy195: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'L': - case 'l': goto yy205; - default: goto yy54; + case 'B': + case 'b': goto yy243; + case 'n': goto yy274; + default: goto yy62; } -yy163: +yy196: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'R': - case 'r': goto yy206; - default: goto yy54; + case 'n': goto yy275; + default: goto yy62; } -yy164: +yy197: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'S': - case 's': goto yy208; - default: goto yy54; + case 'E': + case 'e': goto yy250; + case 'a': goto yy276; + default: goto yy62; } -yy165: +yy198: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'N': - case 'n': goto yy209; - default: goto yy54; + case 'o': goto yy277; + default: goto yy62; } -yy166: +yy199: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'B': - case 'b': goto yy210; - default: goto yy54; + case 'g': goto yy278; + case 'z': goto yy279; + default: goto yy62; } -yy167: +yy200: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'M': - case 'm': goto yy211; - default: goto yy54; + case 'A': + case 'a': goto yy254; + case 'R': goto yy255; + case 'r': goto yy280; + default: goto yy62; } -yy168: +yy201: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'S': - case 's': goto yy213; - default: goto yy54; + case 'p': goto yy281; + default: goto yy62; } -yy169: +yy202: + ++cur; + cur -= 1; +#line 326 "src/parser.re" + { char_width = 2; } +#line 2463 "src/parser.c" +yy204: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'A': - case 'a': goto yy214; - default: goto yy54; + case '"': goto yy282; + default: goto yy62; } -yy170: +yy205: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'E': - case 'e': goto yy215; - default: goto yy54; + case 'D': + case 'd': goto yy259; + case 'i': goto yy284; + case 's': goto yy285; + default: goto yy62; } -yy171: +yy206: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'C': - case 'c': goto yy217; - default: goto yy54; + case 'i': goto yy286; + case 'l': goto yy287; + default: goto yy62; } -yy172: - yyaccept = 7; - yych = *(P->mrk = ++P->cur); +yy207: + ++cur; +#line 347 "src/parser.re" + { NEWTOKEN(PSI_T_OR); goto start; } +#line 2493 "src/parser.c" +yy209: + ++cur; +#line 367 "src/parser.re" + { NEWTOKEN(PSI_T_ELLIPSIS); goto start; } +#line 2498 "src/parser.c" +yy211: + yych = *++cur; + switch (yych) { + case 'D': + case 'd': goto yy288; + case 'F': + case 'f': goto yy290; + case 'L': + case 'l': goto yy292; + default: goto yy114; + } +yy212: + ++cur; + cur -= 1; +#line 317 "src/parser.re" + { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT | PSI_NUMBER_F; cur += 1; goto start; } +#line 2515 "src/parser.c" +yy214: + ++cur; + cur -= 1; +#line 318 "src/parser.re" + { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT | PSI_NUMBER_L; cur += 1; goto start; } +#line 2521 "src/parser.c" +yy216: + yych = *++cur; + switch (yych) { + case 'U': + case 'u': goto yy294; + default: goto yy114; + } +yy217: + ++cur; +yy218: + cur -= 2; +#line 313 "src/parser.re" + { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_INT | PSI_NUMBER_UL; cur += 2; goto start; } +#line 2535 "src/parser.c" +yy219: + yych = *++cur; + switch (yych) { + case 'L': + case 'l': goto yy294; + default: goto yy218; + } +yy220: + yyaccept = 3; + mrk = ++cur; + if ((lim - cur) < 3) if (cur >= lim) goto done;; + yych = *cur; switch (yych) { + case '.': goto yy296; case '0': + case '1': case '2': + case '3': case '4': case '5': + case '6': case '7': + case '8': case '9': case 'A': case 'B': @@ -1808,490 +2562,797 @@ yy172: case 'D': case 'E': case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': case 'a': case 'b': case 'c': case 'd': case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '1': goto yy218; - case '3': goto yy219; - case '6': goto yy220; - case '8': goto yy221; - case 'V': - case 'v': goto yy222; - case '\\': goto yy114; - default: goto yy173; + case 'f': goto yy220; + case 'L': + case 'l': goto yy128; + case 'P': + case 'p': goto yy127; + case 'U': + case 'u': goto yy130; + default: goto yy39; } -yy173: -#line 291 "src/parser.re" - {RETURN(PSI_T_INT);} -#line 1869 "src/parser.c" -yy174: - yyaccept = 8; - yych = *(P->mrk = ++P->cur); +yy222: + ++cur; +#line 446 "src/parser.re" + { tok += 1; cur -= 1; NEWTOKEN(PSI_T_CPP_HEADER); cur += 1; goto start; } +#line 2584 "src/parser.c" +yy224: + yyaccept = 5; + yych = *(mrk = ++cur); switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': + case 'a': goto yy298; + case 'V': + case 'v': goto yy299; + default: goto yy62; + } +yy225: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { case 'L': - case 'M': + case 'l': goto yy300; + default: goto yy62; + } +yy226: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'L': + case 'l': goto yy301; + default: goto yy62; + } +yy227: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy175; + case 'n': goto yy302; + default: goto yy62; } -yy175: -#line 317 "src/parser.re" - {RETURN(PSI_T_LET);} -#line 1943 "src/parser.c" -yy176: - yyaccept = 9; - yych = *(P->mrk = ++P->cur); +yy228: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'I': + case 'i': goto yy303; + default: goto yy62; + } +yy229: + yyaccept = 5; + yych = *(mrk = ++cur); switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': case 'F': - case 'G': - case 'H': + case 'f': goto yy304; + default: goto yy62; + } +yy230: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'E': + case 'e': goto yy306; + default: goto yy62; + } +yy231: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': + case 'i': goto yy308; + default: goto yy62; + } +yy232: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { case 'O': - case 'P': - case 'Q': - case 'R': + case 'o': goto yy309; + default: goto yy62; + } +yy233: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy177; + case 's': goto yy310; + default: goto yy62; } -yy177: -#line 316 "src/parser.re" - {RETURN(PSI_T_LIB);} -#line 2017 "src/parser.c" -yy178: +yy234: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'G': - case 'g': goto yy223; - default: goto yy54; + case 'A': + case 'a': goto yy311; + default: goto yy62; } -yy179: +yy235: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy225; - default: goto yy54; + case 'e': goto yy312; + default: goto yy62; } -yy180: +yy236: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'L': - case 'l': goto yy226; - default: goto yy54; + case 'C': + case 'c': goto yy314; + default: goto yy62; } -yy181: +yy237: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy228; - case 'V': - case 'v': goto yy229; - default: goto yy54; + case 'e': goto yy315; + default: goto yy62; } -yy182: +yy238: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'H': - case 'h': goto yy230; - default: goto yy54; + case 'D': + case 'd': goto yy316; + default: goto yy62; } -yy183: +yy239: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'T': - case 't': goto yy231; - default: goto yy54; + case 'L': + case 'l': goto yy317; + default: goto yy62; } -yy184: +yy240: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy232; - default: goto yy54; + case 'V': + case 'v': goto yy318; + default: goto yy62; + } +yy241: + yyaccept = 11; + 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 yy242; + case '\\': goto yy148; + default: goto yy61; + } +yy242: +#line 418 "src/parser.re" + { NEWTOKEN(PSI_T_LET); goto start; } +#line 2797 "src/parser.c" +yy243: + yyaccept = 12; + 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 yy244; + case '\\': goto yy148; + default: goto yy61; } -yy185: +yy244: +#line 417 "src/parser.re" + { NEWTOKEN(PSI_T_LIB); goto start; } +#line 2872 "src/parser.c" +yy245: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'U': - case 'u': goto yy233; - default: goto yy54; + case 'E': + case 'e': goto yy319; + default: goto yy62; } -yy186: - yyaccept = 10; - yych = *(P->mrk = ++P->cur); +yy246: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'L': + case 'l': goto yy320; + default: goto yy62; + } +yy247: + yyaccept = 5; + yych = *(mrk = ++cur); switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': case 'E': - case 'F': - case 'G': + case 'e': goto yy322; + case 'V': + case 'v': goto yy323; + default: goto yy62; + } +yy248: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': + case 'h': goto yy324; + default: goto yy62; + } +yy249: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy187; + case 't': goto yy325; + default: goto yy62; } -yy187: -#line 318 "src/parser.re" - {RETURN(PSI_T_SET);} -#line 2156 "src/parser.c" -yy188: +yy250: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'R': - case 'r': goto yy234; - default: goto yy54; + case '_': goto yy326; + default: goto yy62; } -yy189: +yy251: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'N': - case 'n': goto yy235; - default: goto yy54; + case 'U': + case 'u': goto yy327; + default: goto yy62; } -yy190: +yy252: + yyaccept = 13; + 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 yy253; + case '\\': goto yy148; + default: goto yy61; + } +yy253: +#line 419 "src/parser.re" + { NEWTOKEN(PSI_T_SET); goto start; } +#line 3004 "src/parser.c" +yy254: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy236; - default: goto yy54; + case 't': goto yy328; + default: goto yy62; } -yy191: +yy255: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'I': - case 'i': goto yy237; + case 'i': goto yy329; case 'L': - case 'l': goto yy238; - case 'U': - case 'u': goto yy239; + case 'l': goto yy330; case 'V': - case 'v': goto yy240; - default: goto yy54; + case 'v': goto yy331; + default: goto yy62; } -yy192: +yy256: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'P': - case 'p': goto yy241; - default: goto yy54; + case 'p': goto yy332; + default: goto yy62; } -yy193: +yy257: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy243; + case 'a': goto yy334; case 'B': - case 'b': goto yy244; + case 'b': goto yy335; case 'F': - case 'f': goto yy245; + case 'f': goto yy336; case 'I': - case 'i': goto yy246; + case 'i': goto yy337; case 'O': - case 'o': goto yy247; + case 'o': goto yy338; case 'S': - case 's': goto yy248; - default: goto yy54; + case 's': goto yy339; + default: goto yy62; } -yy194: +yy258: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy249; - default: goto yy54; + case 'e': goto yy340; + default: goto yy62; } -yy195: +yy259: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy251; - default: goto yy54; + case 'e': goto yy342; + default: goto yy62; } -yy196: +yy260: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'T': - case 't': goto yy252; - default: goto yy54; + case 'N': + case 'n': goto yy343; + default: goto yy62; } -yy197: +yy261: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'O': - case 'o': goto yy253; - default: goto yy54; + case 'L': + case 'l': goto yy344; + default: goto yy62; } -yy198: +yy262: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'I': - case 'i': goto yy254; - default: goto yy54; + case 's': goto yy346; + case 't': goto yy347; + default: goto yy62; } -yy199: +yy263: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'D': - case 'd': goto yy255; - default: goto yy54; + case 'x': goto yy348; + default: goto yy62; } -yy200: +yy264: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'n': goto yy349; + default: goto yy62; + } +yy265: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'e': goto yy350; + default: goto yy62; + } +yy266: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'L': goto yy300; + case 'l': goto yy351; + default: goto yy62; + } +yy267: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'r': goto yy353; + default: goto yy62; + } +yy268: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 's': goto yy355; + default: goto yy62; + } +yy269: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'b': goto yy356; + default: goto yy62; + } +yy270: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'm': goto yy357; + default: goto yy62; + } +yy271: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'A': goto yy311; + case 'a': goto yy359; + default: goto yy62; + } +yy272: + yyaccept = 14; + yych = *(mrk = ++cur); + switch (yych) { + case 0x00: + 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 yy273; + case 'V': + case 'v': goto yy318; + case '\\': goto yy148; + default: goto yy61; + } +yy273: +#line 387 "src/parser.re" + { NEWTOKEN(PSI_T_INT); goto start; } +#line 3232 "src/parser.c" +yy274: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'e': goto yy360; + default: goto yy62; + } +yy275: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'g': goto yy362; + default: goto yy62; + } +yy276: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'g': goto yy364; + default: goto yy62; + } +yy277: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'r': goto yy365; + default: goto yy62; + } +yy278: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'n': goto yy366; + default: goto yy62; + } +yy279: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'e': goto yy367; + default: goto yy62; + } +yy280: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { + case 'I': + case 'i': goto yy329; case 'L': - case 'l': goto yy257; - default: goto yy54; + case 'l': goto yy330; + case 'V': + case 'v': goto yy331; + case 'u': goto yy368; + default: goto yy62; } -yy201: +yy281: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'Y': - case 'y': goto yy259; - default: goto yy54; + case 'e': goto yy369; + default: goto yy62; } -yy202: +yy282: + ++cur; + cur -= 1; +#line 325 "src/parser.re" + { char_width = 1; } +#line 3300 "src/parser.c" +yy284: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'A': - case 'a': goto yy261; - default: goto yy54; + case 'o': goto yy370; + default: goto yy62; } -yy203: - yyaccept = 11; - yych = *(P->mrk = ++P->cur); +yy285: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'i': goto yy371; + default: goto yy62; + } +yy286: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'd': goto yy372; + default: goto yy62; + } +yy287: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'a': goto yy374; + default: goto yy62; + } +yy288: + ++cur; + cur -= 2; +#line 320 "src/parser.re" + { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT | PSI_NUMBER_DD; cur += 2; goto start; } +#line 3334 "src/parser.c" +yy290: + ++cur; + cur -= 2; +#line 319 "src/parser.re" + { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT | PSI_NUMBER_DF; cur += 2; goto start; } +#line 3340 "src/parser.c" +yy292: + ++cur; + cur -= 2; +#line 321 "src/parser.re" + { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT | PSI_NUMBER_DL; cur += 2; goto start; } +#line 3346 "src/parser.c" +yy294: + ++cur; + cur -= 3; +#line 314 "src/parser.re" + { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_INT | PSI_NUMBER_ULL; cur += 3; goto start; } +#line 3352 "src/parser.c" +yy296: + ++cur; + if ((lim - cur) < 3) if (cur >= lim) goto done;; + yych = *cur; switch (yych) { case '0': case '1': @@ -2309,5009 +3370,6850 @@ yy203: case 'D': case 'E': case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': case 'a': case 'b': case 'c': case 'd': case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case 'V': - case 'v': goto yy262; - case '\\': goto yy114; - default: goto yy204; + case 'f': goto yy296; + case 'P': + case 'p': goto yy127; + default: goto yy114; } -yy204: -#line 288 "src/parser.re" - {RETURN(PSI_T_BOOL);} -#line 2366 "src/parser.c" -yy205: +yy298: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); + switch (yych) { + case 'Y': + case 'y': goto yy375; + default: goto yy62; + } +yy299: + yyaccept = 5; + yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy263; - case 'B': - case 'b': goto yy264; - case 'O': - case 'o': goto yy265; - default: goto yy54; + case 'a': goto yy377; + default: goto yy62; } -yy206: - yyaccept = 12; - yych = *(P->mrk = ++P->cur); +yy300: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'V': + case 'v': goto yy378; + default: goto yy62; + } +yy301: + yyaccept = 5; + yych = *(mrk = ++cur); switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': case 'A': + case 'a': goto yy379; case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': + case 'b': goto yy380; case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy207; + case 'o': goto yy381; + default: goto yy62; } -yy207: -#line 289 "src/parser.re" - {RETURN(PSI_T_CHAR);} -#line 2452 "src/parser.c" -yy208: +yy302: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy266; - default: goto yy54; + case 't': goto yy382; + default: goto yy62; } -yy209: +yy303: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'T': - case 't': goto yy268; - default: goto yy54; + case 'N': + case 'n': goto yy384; + default: goto yy62; + } +yy304: + yyaccept = 15; + 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 yy305; + case '\\': goto yy148; + default: goto yy61; } -yy210: +yy305: +#line 397 "src/parser.re" + { NEWTOKEN(PSI_T_ELIF); goto start; } +#line 3510 "src/parser.c" +yy306: + yyaccept = 16; + 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 yy307; + case '\\': goto yy148; + default: goto yy61; + } +yy307: +#line 396 "src/parser.re" + { NEWTOKEN(PSI_T_ELSE); goto start; } +#line 3585 "src/parser.c" +yy308: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'L': - case 'l': goto yy270; - default: goto yy54; + case 'F': + case 'f': goto yy385; + default: goto yy62; } -yy211: - yyaccept = 13; - yych = *(P->mrk = ++P->cur); +yy309: + yyaccept = 5; + yych = *(mrk = ++cur); switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy212; + case 'r': goto yy387; + default: goto yy62; } -yy212: -#line 314 "src/parser.re" - {RETURN(PSI_T_ENUM);} -#line 2550 "src/parser.c" -yy213: +yy310: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'E': - case 'e': goto yy271; - default: goto yy54; + case 'e': goto yy389; + default: goto yy62; } -yy214: +yy311: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy273; - default: goto yy54; + case 't': goto yy391; + default: goto yy62; } -yy215: - yyaccept = 14; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy216; +yy312: + yyaccept = 17; + 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 yy313; + case '\\': goto yy148; + default: goto yy61; } -yy216: -#line 322 "src/parser.re" - {RETURN(PSI_T_FREE);} -#line 2640 "src/parser.c" -yy217: +yy313: +#line 424 "src/parser.re" + { NEWTOKEN(PSI_T_FREE); goto start; } +#line 3692 "src/parser.c" +yy314: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy275; - default: goto yy54; + case 't': goto yy392; + default: goto yy62; } -yy218: +yy315: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case '6': goto yy276; - default: goto yy54; + case 'F': + case 'f': goto yy393; + default: goto yy62; } -yy219: +yy316: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case '2': goto yy277; - default: goto yy54; + case 'E': + case 'e': goto yy395; + default: goto yy62; } -yy220: +yy317: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case '4': goto yy278; - default: goto yy54; + case 'U': + case 'u': goto yy396; + default: goto yy62; } -yy221: +yy318: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy279; - default: goto yy54; + case 'A': + case 'a': goto yy397; + default: goto yy62; } -yy222: +yy319: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'A': - case 'a': goto yy280; - default: goto yy54; + case 'D': + case 'd': goto yy398; + default: goto yy62; } -yy223: - yyaccept = 15; - yych = *(P->mrk = ++P->cur); +yy320: + yyaccept = 18; + 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 yy321; + case '\\': goto yy148; + default: goto yy61; + } +yy321: +#line 408 "src/parser.re" + { NEWTOKEN(PSI_T_NULL); goto start; } +#line 3815 "src/parser.c" +yy322: + yyaccept = 5; + yych = *(mrk = ++cur); switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': + case 'c': goto yy400; + default: goto yy62; + } +yy323: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'A': + case 'a': goto yy401; + default: goto yy62; + } +yy324: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy224; + case 'v': goto yy402; + default: goto yy62; } -yy224: -#line 292 "src/parser.re" - {RETURN(PSI_T_LONG);} -#line 2758 "src/parser.c" -yy225: +yy325: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'D': - case 'd': goto yy281; - default: goto yy54; + case '_': goto yy403; + default: goto yy62; } -yy226: - yyaccept = 16; - yych = *(P->mrk = ++P->cur); +yy326: + yyaccept = 5; + yych = *(mrk = ++cur); switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': + case 'a': goto yy404; + default: goto yy62; + } +yy327: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'R': + case 'r': goto yy405; + default: goto yy62; + } +yy328: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { case 'I': - case 'J': - case 'K': - case 'L': - case 'M': + case 'i': goto yy406; + default: goto yy62; + } +yy329: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy227; + case 'n': goto yy407; + default: goto yy62; } -yy227: -#line 284 "src/parser.re" - {RETURN(PSI_T_NULL);} -#line 2840 "src/parser.c" -yy228: +yy330: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'C': - case 'c': goto yy283; - default: goto yy54; + case 'E': + case 'e': goto yy408; + default: goto yy62; } -yy229: +yy331: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy284; - default: goto yy54; + case 'a': goto yy409; + default: goto yy62; } -yy230: +yy332: + yyaccept = 19; + 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 yy333; + case '\\': goto yy148; + default: goto yy61; + } +yy333: +#line 425 "src/parser.re" + { NEWTOKEN(PSI_T_TEMP); goto start; } +#line 3969 "src/parser.c" +yy334: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'V': - case 'v': goto yy285; - default: goto yy54; + case 'R': + case 'r': goto yy410; + default: goto yy62; } -yy231: +yy335: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy286; - default: goto yy54; + case 'O': + case 'o': goto yy411; + default: goto yy62; } -yy232: +yy336: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'A': - case 'a': goto yy287; - default: goto yy54; + case 'L': + case 'l': goto yy412; + default: goto yy62; } -yy233: +yy337: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'R': - case 'r': goto yy288; - default: goto yy54; + case 'N': + case 'n': goto yy413; + default: goto yy62; } -yy234: +yy338: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); + switch (yych) { + case 'B': + case 'b': goto yy414; + default: goto yy62; + } +yy339: + yyaccept = 5; + yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy289; - default: goto yy54; + case 't': goto yy415; + default: goto yy62; } -yy235: +yy340: + yyaccept = 20; + 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 yy341; + case '\\': goto yy148; + default: goto yy61; + } +yy341: +#line 406 "src/parser.re" + { NEWTOKEN(PSI_T_TRUE); goto start; } +#line 4092 "src/parser.c" +yy342: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'E': - case 'e': goto yy291; - default: goto yy54; + case 'F': + case 'f': goto yy416; + default: goto yy62; } -yy236: +yy343: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'I': - case 'i': goto yy292; - default: goto yy54; + case 'i': goto yy418; + default: goto yy62; } -yy237: +yy344: + yyaccept = 21; + 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 yy345; + case '\\': goto yy148; + default: goto yy61; + } +yy345: +#line 434 "src/parser.re" + { NEWTOKEN(PSI_T_ZVAL); goto start; } +#line 4183 "src/parser.c" +yy346: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'N': - case 'n': goto yy293; - default: goto yy54; + case 'm': goto yy419; + default: goto yy62; } -yy238: +yy347: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'E': - case 'e': goto yy294; - default: goto yy54; + case 't': goto yy420; + default: goto yy62; } -yy239: +yy348: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'C': - case 'c': goto yy295; - default: goto yy54; + case 't': goto yy421; + default: goto yy62; } -yy240: +yy349: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'A': - case 'a': goto yy296; - default: goto yy54; + case 'l': goto yy422; + default: goto yy62; } -yy241: - yyaccept = 17; - yych = *(P->mrk = ++P->cur); +yy350: + yyaccept = 5; + yych = *(mrk = ++cur); switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': + case 's': goto yy423; + default: goto yy62; + } +yy351: + yyaccept = 22; + 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 yy352; case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy242; + case 'v': goto yy378; + case '\\': goto yy148; + default: goto yy61; } -yy242: -#line 323 "src/parser.re" - {RETURN(PSI_T_TEMP);} -#line 3017 "src/parser.c" -yy243: +yy352: +#line 384 "src/parser.re" + { NEWTOKEN(PSI_T_BOOL); goto start; } +#line 4295 "src/parser.c" +yy353: + 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 yy354; + case '\\': goto yy148; + default: goto yy61; + } +yy354: +#line 385 "src/parser.re" + { NEWTOKEN(PSI_T_CHAR); goto start; } +#line 4370 "src/parser.c" +yy355: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'R': - case 'r': goto yy297; - default: goto yy54; + case 't': goto yy424; + default: goto yy62; } -yy244: +yy356: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'O': - case 'o': goto yy298; - default: goto yy54; + case 'l': goto yy426; + default: goto yy62; } -yy245: +yy357: + yyaccept = 24; + 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 yy358; + case '\\': goto yy148; + default: goto yy61; + } +yy358: +#line 381 "src/parser.re" + { NEWTOKEN(PSI_T_ENUM); goto start; } +#line 4459 "src/parser.c" +yy359: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'L': - case 'l': goto yy299; - default: goto yy54; + case 'T': goto yy391; + case 't': goto yy427; + default: goto yy62; } -yy246: +yy360: + yyaccept = 25; + 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 yy361; + case '\\': goto yy148; + default: goto yy61; + } +yy361: +#line 377 "src/parser.re" + { NEWTOKEN(PSI_T_LINE); goto start; } +#line 4542 "src/parser.c" +yy362: + yyaccept = 26; + 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 yy363; + case '\\': goto yy148; + default: goto yy61; + } +yy363: +#line 388 "src/parser.re" + { NEWTOKEN(PSI_T_LONG); goto start; } +#line 4617 "src/parser.c" +yy364: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'N': - case 'n': goto yy300; - default: goto yy54; + case 'm': goto yy429; + default: goto yy62; } -yy247: +yy365: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'B': - case 'b': goto yy301; - default: goto yy54; + case 't': goto yy430; + default: goto yy62; } -yy248: +yy366: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'T': - case 't': goto yy302; - default: goto yy54; + case 'e': goto yy432; + default: goto yy62; } -yy249: - yyaccept = 18; - yych = *(P->mrk = ++P->cur); +yy367: + yyaccept = 5; + yych = *(mrk = ++cur); switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy250; + case 'o': goto yy433; + default: goto yy62; } -yy250: -#line 282 "src/parser.re" - {RETURN(PSI_T_TRUE);} -#line 3139 "src/parser.c" -yy251: +yy368: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'D': - case 'd': goto yy303; - default: goto yy54; + case 'c': goto yy434; + default: goto yy62; } -yy252: +yy369: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case '1': goto yy304; - case '3': goto yy305; - case '6': goto yy306; - case '8': goto yy307; - default: goto yy54; + case 'd': goto yy435; + default: goto yy62; } -yy253: +yy370: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'N': - case 'n': goto yy308; - default: goto yy54; + case 'n': goto yy436; + default: goto yy62; } -yy254: +yy371: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'G': - case 'g': goto yy310; - default: goto yy54; + case 'g': goto yy438; + default: goto yy62; } -yy255: - yyaccept = 19; - yych = *(P->mrk = ++P->cur); +yy372: + yyaccept = 27; + 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 yy373; + case '\\': goto yy148; + default: goto yy61; + } +yy373: +#line 383 "src/parser.re" + { NEWTOKEN(PSI_T_VOID); goto start; } +#line 4748 "src/parser.c" +yy374: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 't': goto yy439; + default: goto yy62; + } +yy375: + yyaccept = 28; + 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 yy376; + case '\\': goto yy148; + default: goto yy61; + } +yy376: +#line 412 "src/parser.re" + { NEWTOKEN(PSI_T_ARRAY); goto start; } +#line 4830 "src/parser.c" +yy377: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'L': + case 'l': goto yy440; + default: goto yy62; + } +yy378: + yyaccept = 5; + yych = *(mrk = ++cur); switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': case 'A': + case 'a': goto yy442; + default: goto yy62; + } +yy379: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { case 'B': + case 'b': goto yy443; + default: goto yy62; + } +yy380: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'A': + case 'a': goto yy444; + default: goto yy62; + } +yy381: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { case 'C': - case 'D': + case 'c': goto yy445; + default: goto yy62; + } +yy382: + yyaccept = 29; + 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 yy383; + case '\\': goto yy148; + default: goto yy61; + } +yy383: +#line 435 "src/parser.re" + { NEWTOKEN(PSI_T_COUNT); goto start; } +#line 4945 "src/parser.c" +yy384: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': + case 'e': goto yy447; + default: goto yy62; + } +yy385: + yyaccept = 30; + 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 yy386; + case '\\': goto yy148; + default: goto yy61; + } +yy386: +#line 398 "src/parser.re" + { NEWTOKEN(PSI_T_ENDIF); goto start; } +#line 5028 "src/parser.c" +yy387: + yyaccept = 31; + 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 yy388; + case '\\': goto yy148; + default: goto yy61; + } +yy388: +#line 403 "src/parser.re" + { NEWTOKEN(PSI_T_ERROR); goto start; } +#line 5103 "src/parser.c" +yy389: + yyaccept = 32; + 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 yy390; + case '\\': goto yy148; + default: goto yy61; + } +yy390: +#line 407 "src/parser.re" + { NEWTOKEN(PSI_T_FALSE); goto start; } +#line 5178 "src/parser.c" +yy391: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy256; + case 'v': goto yy449; + default: goto yy62; } -yy256: -#line 287 "src/parser.re" - {RETURN(PSI_T_VOID);} -#line 3247 "src/parser.c" -yy257: - yyaccept = 20; - yych = *(P->mrk = ++P->cur); +yy392: + yyaccept = 5; + yych = *(mrk = ++cur); switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy258; + case 'i': goto yy450; + default: goto yy62; } -yy258: -#line 332 "src/parser.re" - {RETURN(PSI_T_ZVAL);} -#line 3321 "src/parser.c" -yy259: - yyaccept = 21; - yych = *(P->mrk = ++P->cur); +yy393: + yyaccept = 33; + 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 yy394; + case '\\': goto yy148; + default: goto yy61; + } +yy394: +#line 394 "src/parser.re" + { NEWTOKEN(PSI_T_IFDEF); goto start; } +#line 5269 "src/parser.c" +yy395: + yyaccept = 5; + yych = *(mrk = ++cur); switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': + case 'f': goto yy451; + default: goto yy62; + } +yy396: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'D': + case 'd': goto yy453; + default: goto yy62; + } +yy397: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': + case 'l': goto yy454; + default: goto yy62; + } +yy398: + yyaccept = 34; + 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 yy399; + case '\\': goto yy148; + default: goto yy61; + } +yy399: +#line 409 "src/parser.re" + { NEWTOKEN(PSI_T_MIXED); goto start; } +#line 5368 "src/parser.c" +yy400: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy260; + case 't': goto yy456; + default: goto yy62; } -yy260: -#line 306 "src/parser.re" - {RETURN(PSI_T_ARRAY);} -#line 3395 "src/parser.c" -yy261: +yy401: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy311; - default: goto yy54; + case 'l': goto yy458; + default: goto yy62; } -yy262: +yy402: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'A': - case 'a': goto yy313; - default: goto yy54; + case 'a': goto yy460; + default: goto yy62; } -yy263: +yy403: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'B': - case 'b': goto yy314; - default: goto yy54; + case 'A': + case 'a': goto yy461; + default: goto yy62; } -yy264: +yy404: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'A': - case 'a': goto yy315; - default: goto yy54; + case 'S': + case 's': goto yy462; + default: goto yy62; } -yy265: +yy405: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'C': - case 'c': goto yy316; - default: goto yy54; + case 'N': + case 'n': goto yy463; + default: goto yy62; } -yy266: - yyaccept = 22; - yych = *(P->mrk = ++P->cur); +yy406: + yyaccept = 5; + yych = *(mrk = ++cur); switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': case 'C': - case 'D': - case 'E': - case 'F': + case 'c': goto yy465; + default: goto yy62; + } +yy407: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy267; + case 'g': goto yy467; + default: goto yy62; } -yy267: -#line 315 "src/parser.re" - {RETURN(PSI_T_CONST);} -#line 3509 "src/parser.c" -yy268: - yyaccept = 23; - yych = *(P->mrk = ++P->cur); +yy408: + yyaccept = 5; + yych = *(mrk = ++cur); switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy269; + case 'n': goto yy469; + default: goto yy62; } -yy269: -#line 333 "src/parser.re" - {RETURN(PSI_T_COUNT);} -#line 3583 "src/parser.c" -yy270: +yy409: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'E': - case 'e': goto yy318; - default: goto yy54; + case 'L': + case 'l': goto yy471; + default: goto yy62; } -yy271: - yyaccept = 24; - yych = *(P->mrk = ++P->cur); +yy410: + yyaccept = 5; + yych = *(mrk = ++cur); switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy272; + case 'r': goto yy473; + default: goto yy62; } -yy272: -#line 283 "src/parser.re" - {RETURN(PSI_T_FALSE);} -#line 3665 "src/parser.c" -yy273: - yyaccept = 25; - yych = *(P->mrk = ++P->cur); +yy411: + yyaccept = 5; + yych = *(mrk = ++cur); switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case 'V': - case 'v': goto yy320; - case '\\': goto yy114; - default: goto yy274; + case 'o': goto yy474; + default: goto yy62; } -yy274: -#line 293 "src/parser.re" - {RETURN(PSI_T_FLOAT);} -#line 3739 "src/parser.c" -yy275: +yy412: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'I': - case 'i': goto yy321; - default: goto yy54; + case 'O': + case 'o': goto yy475; + default: goto yy62; } -yy276: +yy413: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy322; - default: goto yy54; + case 'T': + case 't': goto yy476; + default: goto yy62; } -yy277: +yy414: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy323; - default: goto yy54; + case 'J': + case 'j': goto yy478; + default: goto yy62; } -yy278: +yy415: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy324; - default: goto yy54; + case 'R': + case 'r': goto yy479; + default: goto yy62; } -yy279: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'T': - case 't': goto yy325; - default: goto yy54; +yy416: + yyaccept = 35; + 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 yy417; + case '\\': goto yy148; + default: goto yy61; } -yy280: +yy417: +#line 401 "src/parser.re" + { NEWTOKEN(PSI_T_UNDEF); goto start; } +#line 5571 "src/parser.c" +yy418: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'L': - case 'l': goto yy327; - default: goto yy54; - } -yy281: - yyaccept = 26; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy282; + case 'n': goto yy480; + default: goto yy62; } -yy282: -#line 285 "src/parser.re" - {RETURN(PSI_T_MIXED);} -#line 3858 "src/parser.c" -yy283: +yy419: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'T': - case 't': goto yy329; - default: goto yy54; + case '_': goto yy481; + default: goto yy62; } -yy284: +yy420: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'L': - case 'l': goto yy331; - default: goto yy54; + case 'r': goto yy482; + default: goto yy62; } -yy285: +yy421: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'A': - case 'a': goto yy333; - default: goto yy54; + case 'e': goto yy483; + default: goto yy62; } -yy286: +yy422: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'A': - case 'a': goto yy334; - default: goto yy54; + case 'i': goto yy484; + default: goto yy62; } -yy287: +yy423: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'S': - case 's': goto yy335; - default: goto yy54; + case 't': goto yy485; + default: goto yy62; } -yy288: +yy424: + yyaccept = 36; + 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 yy425; + case '\\': goto yy148; + default: goto yy61; + } +yy425: +#line 382 "src/parser.re" + { NEWTOKEN(PSI_T_CONST); goto start; } +#line 5689 "src/parser.c" +yy426: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'N': - case 'n': goto yy336; - default: goto yy54; + case 'e': goto yy486; + default: goto yy62; } -yy289: - yyaccept = 27; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': +yy427: + yyaccept = 37; + 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 yy428; case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy290; + case 'v': goto yy449; + case '\\': goto yy148; + default: goto yy61; } -yy290: -#line 290 "src/parser.re" - {RETURN(PSI_T_SHORT);} -#line 3980 "src/parser.c" -yy291: +yy428: +#line 389 "src/parser.re" + { NEWTOKEN(PSI_T_FLOAT); goto start; } +#line 5773 "src/parser.c" +yy429: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'D': - case 'd': goto yy338; - default: goto yy54; + case 'a': goto yy488; + default: goto yy62; } -yy292: +yy430: + yyaccept = 38; + 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 yy431; + case '\\': goto yy148; + default: goto yy61; + } +yy431: +#line 386 "src/parser.re" + { NEWTOKEN(PSI_T_SHORT); goto start; } +#line 5855 "src/parser.c" +yy432: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'C': - case 'c': goto yy340; - default: goto yy54; + case 'd': goto yy490; + default: goto yy62; } -yy293: +yy433: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'G': - case 'g': goto yy342; - default: goto yy54; + case 'f': goto yy492; + default: goto yy62; } -yy294: +yy434: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'N': - case 'n': goto yy344; - default: goto yy54; + case 't': goto yy494; + default: goto yy62; } -yy295: +yy435: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'T': - case 't': goto yy346; - default: goto yy54; + case 'e': goto yy496; + default: goto yy62; } -yy296: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); +yy436: + yyaccept = 39; + 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 yy437; + case '\\': goto yy148; + default: goto yy61; + } +yy437: +#line 380 "src/parser.re" + { NEWTOKEN(PSI_T_UNION); goto start; } +#line 5958 "src/parser.c" +yy438: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'n': goto yy497; + default: goto yy62; + } +yy439: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'i': goto yy498; + default: goto yy62; + } +yy440: + yyaccept = 40; + 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 yy441; + case '\\': goto yy148; + default: goto yy61; + } +yy441: +#line 432 "src/parser.re" + { NEWTOKEN(PSI_T_ARRVAL); goto start; } +#line 6047 "src/parser.c" +yy442: + yyaccept = 5; + yych = *(mrk = ++cur); switch (yych) { case 'L': - case 'l': goto yy348; - default: goto yy54; + case 'l': goto yy499; + default: goto yy62; } -yy297: +yy443: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'R': - case 'r': goto yy350; - default: goto yy54; + case 'L': + case 'l': goto yy501; + default: goto yy62; } -yy298: +yy444: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'O': - case 'o': goto yy351; - default: goto yy54; + case 'C': + case 'c': goto yy502; + default: goto yy62; } -yy299: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'O': - case 'o': goto yy352; - default: goto yy54; +yy445: + yyaccept = 41; + 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 yy446; + case '\\': goto yy148; + default: goto yy61; + } +yy446: +#line 436 "src/parser.re" + { NEWTOKEN(PSI_T_CALLOC); goto start; } +#line 6146 "src/parser.c" +yy447: + yyaccept = 42; + 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 yy448; + case 'D': + case 'd': goto yy503; + case '\\': goto yy148; + default: goto yy61; } -yy300: +yy448: +#line 399 "src/parser.re" + { NEWTOKEN(PSI_T_DEFINE); goto start; } +#line 6223 "src/parser.c" +yy449: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'T': - case 't': goto yy353; - default: goto yy54; + case 'A': + case 'a': goto yy505; + default: goto yy62; } -yy301: +yy450: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'J': - case 'j': goto yy355; - default: goto yy54; + case 'O': + case 'o': goto yy506; + default: goto yy62; } -yy302: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); +yy451: + yyaccept = 43; + 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 yy452; + case '\\': goto yy148; + default: goto yy61; + } +yy452: +#line 395 "src/parser.re" + { NEWTOKEN(PSI_T_IFNDEF); goto start; } +#line 6314 "src/parser.c" +yy453: + yyaccept = 5; + yych = *(mrk = ++cur); switch (yych) { - case 'R': - case 'r': goto yy356; - default: goto yy54; + case 'E': + case 'e': goto yy507; + default: goto yy62; } -yy303: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); +yy454: + yyaccept = 44; + 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 yy455; + case '\\': goto yy148; + default: goto yy61; + } +yy455: +#line 429 "src/parser.re" + { NEWTOKEN(PSI_T_INTVAL); goto start; } +#line 6397 "src/parser.c" +yy456: + yyaccept = 45; + 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 yy457; + case '\\': goto yy148; + default: goto yy61; + } +yy457: +#line 413 "src/parser.re" + { NEWTOKEN(PSI_T_OBJECT); goto start; } +#line 6472 "src/parser.c" +yy458: + yyaccept = 46; + 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 yy459; + case '\\': goto yy148; + default: goto yy61; + } +yy459: +#line 433 "src/parser.re" + { NEWTOKEN(PSI_T_OBJVAL); goto start; } +#line 6547 "src/parser.c" +yy460: + yyaccept = 5; + yych = *(mrk = ++cur); switch (yych) { - case 'E': - case 'e': goto yy357; - default: goto yy54; + case 'L': + case 'l': goto yy509; + default: goto yy62; } -yy304: +yy461: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case '6': goto yy358; - default: goto yy54; + case 'S': + case 's': goto yy511; + default: goto yy62; } -yy305: +yy462: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case '2': goto yy359; - default: goto yy54; + case 'S': + case 's': goto yy512; + default: goto yy62; } -yy306: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); +yy463: + yyaccept = 47; + 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 yy464; + case '\\': goto yy148; + default: goto yy61; + } +yy464: +#line 422 "src/parser.re" + { NEWTOKEN(PSI_T_RETURN); goto start; } +#line 6646 "src/parser.c" +yy465: + yyaccept = 48; + 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 yy466; + case '\\': goto yy148; + default: goto yy61; + } +yy466: +#line 415 "src/parser.re" + { NEWTOKEN(PSI_T_STATIC); goto start; } +#line 6721 "src/parser.c" +yy467: + yyaccept = 49; + 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 yy468; + case '\\': goto yy148; + default: goto yy61; + } +yy468: +#line 411 "src/parser.re" + { NEWTOKEN(PSI_T_STRING); goto start; } +#line 6796 "src/parser.c" +yy469: + yyaccept = 50; + 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 yy470; + case '\\': goto yy148; + default: goto yy61; + } +yy470: +#line 426 "src/parser.re" + { NEWTOKEN(PSI_T_STRLEN); goto start; } +#line 6871 "src/parser.c" +yy471: + yyaccept = 51; + 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 yy472; + case '\\': goto yy148; + default: goto yy61; + } +yy472: +#line 427 "src/parser.re" + { NEWTOKEN(PSI_T_STRVAL); goto start; } +#line 6946 "src/parser.c" +yy473: + yyaccept = 5; + yych = *(mrk = ++cur); switch (yych) { - case '4': goto yy360; - default: goto yy54; + case 'A': + case 'a': goto yy513; + default: goto yy62; } -yy307: +yy474: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case '_': goto yy361; - default: goto yy54; + case 'L': + case 'l': goto yy514; + default: goto yy62; } -yy308: - yyaccept = 28; - yych = *(P->mrk = ++P->cur); +yy475: + yyaccept = 5; + yych = *(mrk = ++cur); switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': case 'A': - case 'B': - case 'C': - case 'D': + case 'a': goto yy516; + default: goto yy62; + } +yy476: + yyaccept = 52; + 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 yy477; + case '\\': goto yy148; + default: goto yy61; + } +yy477: +#line 440 "src/parser.re" + { NEWTOKEN(PSI_T_TO_INT); goto start; } +#line 7045 "src/parser.c" +yy478: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { case 'E': - case 'F': - case 'G': - case 'H': + case 'e': goto yy517; + default: goto yy62; + } +yy479: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy309; + case 'i': goto yy518; + default: goto yy62; } -yy309: -#line 313 "src/parser.re" - {RETURN(PSI_T_UNION);} -#line 4186 "src/parser.c" -yy310: +yy480: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'N': - case 'n': goto yy362; - default: goto yy54; + case 'G': + case 'g': goto yy519; + default: goto yy62; } -yy311: - yyaccept = 29; - yych = *(P->mrk = ++P->cur); +yy481: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case '_': goto yy521; + default: goto yy62; + } +yy482: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'i': goto yy523; + default: goto yy62; + } +yy483: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'n': goto yy524; + default: goto yy62; + } +yy484: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'n': goto yy525; + default: goto yy62; + } +yy485: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'r': goto yy526; + default: goto yy62; + } +yy486: + yyaccept = 53; + 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 yy487; + case '\\': goto yy148; + default: goto yy61; + } +yy487: +#line 390 "src/parser.re" + { NEWTOKEN(PSI_T_DOUBLE); goto start; } +#line 7179 "src/parser.c" +yy488: + yyaccept = 54; + 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 yy489; + case '\\': goto yy148; + default: goto yy527; + } +yy489: +#line 369 "src/parser.re" + { NEWTOKEN(PSI_T_PRAGMA); goto start; } +#line 7254 "src/parser.c" +yy490: + yyaccept = 55; + 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 yy491; + case '\\': goto yy148; + default: goto yy61; + } +yy491: +#line 392 "src/parser.re" + { NEWTOKEN(PSI_T_SIGNED); goto start; } +#line 7329 "src/parser.c" +yy492: + yyaccept = 56; + 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 yy493; + case '\\': goto yy148; + default: goto yy61; + } +yy493: +#line 376 "src/parser.re" + { NEWTOKEN(PSI_T_SIZEOF); goto start; } +#line 7404 "src/parser.c" +yy494: + 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 yy495; + case '\\': goto yy148; + default: goto yy61; + } +yy495: +#line 379 "src/parser.re" + { NEWTOKEN(PSI_T_STRUCT); goto start; } +#line 7479 "src/parser.c" +yy496: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'f': goto yy529; + default: goto yy62; + } +yy497: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'e': goto yy531; + default: goto yy62; + } +yy498: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'l': goto yy532; + default: goto yy62; + } +yy499: + yyaccept = 58; + 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 yy500; + case '\\': goto yy148; + default: goto yy61; + } +yy500: +#line 431 "src/parser.re" + { NEWTOKEN(PSI_T_BOOLVAL); goto start; } +#line 7575 "src/parser.c" +yy501: + yyaccept = 5; + yych = *(mrk = ++cur); switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': + case 'e': goto yy533; + default: goto yy62; + } +yy502: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { case 'K': + case 'k': goto yy535; + default: goto yy62; + } +yy503: + yyaccept = 59; + 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 yy504; + case '\\': goto yy148; + default: goto yy61; + } +yy504: +#line 400 "src/parser.re" + { NEWTOKEN(PSI_T_DEFINED); goto start; } +#line 7666 "src/parser.c" +yy505: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { case 'L': - case 'M': + case 'l': goto yy537; + default: goto yy62; + } +yy506: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': + case 'n': goto yy539; + default: goto yy62; + } +yy507: + yyaccept = 60; + 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 yy508; + case '\\': goto yy148; + case '_': goto yy541; + default: goto yy61; + } +yy508: +#line 404 "src/parser.re" + { NEWTOKEN(PSI_T_INCLUDE); goto start; } +#line 7758 "src/parser.c" +yy509: + yyaccept = 61; + 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 yy510; + case '\\': goto yy148; + default: goto yy61; + } +yy510: +#line 428 "src/parser.re" + { NEWTOKEN(PSI_T_PATHVAL); goto start; } +#line 7833 "src/parser.c" +yy511: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy312; + case 's': goto yy542; + default: goto yy62; } -yy312: -#line 330 "src/parser.re" - {RETURN(PSI_T_ARRVAL);} -#line 4268 "src/parser.c" -yy313: +yy512: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'L': - case 'l': goto yy363; - default: goto yy54; + case 'E': + case 'e': goto yy543; + default: goto yy62; } -yy314: +yy513: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case 'L': - case 'l': goto yy365; - default: goto yy54; + case 'Y': + case 'y': goto yy544; + default: goto yy62; } -yy315: +yy514: + yyaccept = 62; + 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 yy515; + case '\\': goto yy148; + default: goto yy61; + } +yy515: +#line 442 "src/parser.re" + { NEWTOKEN(PSI_T_TO_BOOL); goto start; } +#line 7932 "src/parser.c" +yy516: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'T': + case 't': goto yy546; + default: goto yy62; + } +yy517: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { case 'C': - case 'c': goto yy366; - default: goto yy54; + case 'c': goto yy548; + default: goto yy62; } -yy316: - yyaccept = 30; - yych = *(P->mrk = ++P->cur); +yy518: + yyaccept = 5; + yych = *(mrk = ++cur); switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy317; + case 'n': goto yy549; + default: goto yy62; } -yy317: -#line 334 "src/parser.re" - {RETURN(PSI_T_CALLOC);} -#line 4366 "src/parser.c" -yy318: - yyaccept = 31; - yych = *(P->mrk = ++P->cur); +yy519: + yyaccept = 63; + 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 yy520; + case '\\': goto yy148; + default: goto yy61; + } +yy520: +#line 402 "src/parser.re" + { NEWTOKEN(PSI_T_WARNING); goto start; } +#line 8031 "src/parser.c" +yy521: + yyaccept = 64; + 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 yy522; + case '\\': goto yy148; + default: goto yy61; + } +yy522: +#line 374 "src/parser.re" + { NEWTOKEN(PSI_T_CPP_ASM); goto start; } +#line 8106 "src/parser.c" +yy523: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'b': goto yy550; + default: goto yy62; + } +yy524: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 's': goto yy551; + default: goto yy62; + } +yy525: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'e': goto yy552; + default: goto yy62; + } +yy526: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'i': goto yy554; + default: goto yy62; + } +yy527: + yyaccept = 5; + mrk = ++cur; + if (lim <= cur) 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 '~': + case 0x7F: goto yy55; + case '\\': goto yy148; + case 'o': goto yy555; + default: goto yy527; + } +yy529: + yyaccept = 65; + 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 yy530; + case '\\': goto yy148; + default: goto yy61; + } +yy530: +#line 378 "src/parser.re" + { NEWTOKEN(PSI_T_TYPEDEF); goto start; } +#line 8283 "src/parser.c" +yy531: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'd': goto yy557; + default: goto yy62; + } +yy532: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'e': goto yy559; + default: goto yy62; + } +yy533: + yyaccept = 66; + 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 yy534; + case '\\': goto yy148; + default: goto yy61; + } +yy534: +#line 410 "src/parser.re" + { NEWTOKEN(PSI_T_CALLABLE); goto start; } +#line 8372 "src/parser.c" +yy535: + yyaccept = 67; + 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 yy536; + case '\\': goto yy148; + default: goto yy61; + } +yy536: +#line 414 "src/parser.re" + { NEWTOKEN(PSI_T_CALLBACK); goto start; } +#line 8447 "src/parser.c" +yy537: + yyaccept = 68; + 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 yy538; + case '\\': goto yy148; + default: goto yy61; + } +yy538: +#line 430 "src/parser.re" + { NEWTOKEN(PSI_T_FLOATVAL); goto start; } +#line 8522 "src/parser.c" +yy539: + yyaccept = 69; + 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 yy540; + case '\\': goto yy148; + default: goto yy61; + } +yy540: +#line 416 "src/parser.re" + { NEWTOKEN(PSI_T_FUNCTION); goto start; } +#line 8597 "src/parser.c" +yy541: + yyaccept = 5; + yych = *(mrk = ++cur); switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy319; - } -yy319: -#line 294 "src/parser.re" - {RETURN(PSI_T_DOUBLE);} -#line 4440 "src/parser.c" -yy320: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'A': - case 'a': goto yy367; - default: goto yy54; - } -yy321: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'O': - case 'o': goto yy368; - default: goto yy54; - } -yy322: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'T': - case 't': goto yy369; - default: goto yy54; - } -yy323: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'T': - case 't': goto yy371; - default: goto yy54; + case 'n': goto yy561; + default: goto yy62; } -yy324: +yy542: yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'T': - case 't': goto yy373; - default: goto yy54; - } -yy325: - yyaccept = 32; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy326; - } -yy326: -#line 295 "src/parser.re" - {RETURN(PSI_T_INT8);} -#line 4554 "src/parser.c" -yy327: - yyaccept = 33; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy328; - } -yy328: -#line 327 "src/parser.re" - {RETURN(PSI_T_INTVAL);} -#line 4628 "src/parser.c" -yy329: - yyaccept = 34; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy330; - } -yy330: -#line 307 "src/parser.re" - {RETURN(PSI_T_OBJECT);} -#line 4702 "src/parser.c" -yy331: - yyaccept = 35; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy332; - } -yy332: -#line 331 "src/parser.re" - {RETURN(PSI_T_OBJVAL);} -#line 4776 "src/parser.c" -yy333: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'L': - case 'l': goto yy375; - default: goto yy54; - } -yy334: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'S': - case 's': goto yy377; - default: goto yy54; - } -yy335: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'S': - case 's': goto yy378; - default: goto yy54; - } -yy336: - yyaccept = 36; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy337; - } -yy337: -#line 321 "src/parser.re" - {RETURN(PSI_T_RETURN);} -#line 4874 "src/parser.c" -yy338: - yyaccept = 37; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy339; - } -yy339: -#line 304 "src/parser.re" - {RETURN(PSI_T_SIGNED);} -#line 4948 "src/parser.c" -yy340: - yyaccept = 38; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy341; - } -yy341: -#line 309 "src/parser.re" - {RETURN(PSI_T_STATIC);} -#line 5022 "src/parser.c" -yy342: - yyaccept = 39; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy343; - } -yy343: -#line 305 "src/parser.re" - {RETURN(PSI_T_STRING);} -#line 5096 "src/parser.c" -yy344: - yyaccept = 40; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy345; - } -yy345: -#line 324 "src/parser.re" - {RETURN(PSI_T_STRLEN);} -#line 5170 "src/parser.c" -yy346: - yyaccept = 41; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy347; - } -yy347: -#line 312 "src/parser.re" - {RETURN(PSI_T_STRUCT);} -#line 5244 "src/parser.c" -yy348: - yyaccept = 42; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy349; - } -yy349: -#line 325 "src/parser.re" - {RETURN(PSI_T_STRVAL);} -#line 5318 "src/parser.c" -yy350: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'A': - case 'a': goto yy379; - default: goto yy54; - } -yy351: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'L': - case 'l': goto yy380; - default: goto yy54; - } -yy352: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'A': - case 'a': goto yy382; - default: goto yy54; - } -yy353: - yyaccept = 43; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy354; - } -yy354: -#line 338 "src/parser.re" - {RETURN(PSI_T_TO_INT);} -#line 5416 "src/parser.c" -yy355: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'E': - case 'e': goto yy383; - default: goto yy54; - } -yy356: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'I': - case 'i': goto yy384; - default: goto yy54; - } -yy357: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'F': - case 'f': goto yy385; - default: goto yy54; - } -yy358: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '_': goto yy387; - default: goto yy54; - } -yy359: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '_': goto yy388; - default: goto yy54; - } -yy360: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '_': goto yy389; - default: goto yy54; - } -yy361: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'T': - case 't': goto yy390; - default: goto yy54; - } -yy362: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'E': - case 'e': goto yy392; - default: goto yy54; - } -yy363: - yyaccept = 44; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy364; - } -yy364: -#line 329 "src/parser.re" - {RETURN(PSI_T_BOOLVAL);} -#line 5551 "src/parser.c" -yy365: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'E': - case 'e': goto yy393; - default: goto yy54; - } -yy366: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'K': - case 'k': goto yy395; - default: goto yy54; - } -yy367: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'L': - case 'l': goto yy397; - default: goto yy54; - } -yy368: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'N': - case 'n': goto yy399; - default: goto yy54; - } -yy369: - yyaccept = 45; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy370; - } -yy370: -#line 297 "src/parser.re" - {RETURN(PSI_T_INT16);} -#line 5657 "src/parser.c" -yy371: - yyaccept = 46; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy372; - } -yy372: -#line 299 "src/parser.re" - {RETURN(PSI_T_INT32);} -#line 5731 "src/parser.c" -yy373: - yyaccept = 47; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy374; - } -yy374: -#line 301 "src/parser.re" - {RETURN(PSI_T_INT64);} -#line 5805 "src/parser.c" -yy375: - yyaccept = 48; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy376; - } -yy376: -#line 326 "src/parser.re" - {RETURN(PSI_T_PATHVAL);} -#line 5879 "src/parser.c" -yy377: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'S': - case 's': goto yy401; - default: goto yy54; - } -yy378: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'E': - case 'e': goto yy402; - default: goto yy54; - } -yy379: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'Y': - case 'y': goto yy403; - default: goto yy54; - } -yy380: - yyaccept = 49; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy381; - } -yy381: -#line 340 "src/parser.re" - {RETURN(PSI_T_TO_BOOL);} -#line 5977 "src/parser.c" -yy382: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'T': - case 't': goto yy405; - default: goto yy54; - } -yy383: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'C': - case 'c': goto yy407; - default: goto yy54; - } -yy384: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'N': - case 'n': goto yy408; - default: goto yy54; - } -yy385: - yyaccept = 50; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy386; - } -yy386: -#line 311 "src/parser.re" - {RETURN(PSI_T_TYPEDEF);} -#line 6075 "src/parser.c" -yy387: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'T': - case 't': goto yy409; - default: goto yy54; - } -yy388: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'T': - case 't': goto yy411; - default: goto yy54; - } -yy389: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'T': - case 't': goto yy413; - default: goto yy54; - } -yy390: - yyaccept = 51; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy391; - } -yy391: -#line 296 "src/parser.re" - {RETURN(PSI_T_UINT8);} -#line 6173 "src/parser.c" -yy392: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'D': - case 'd': goto yy415; - default: goto yy54; - } -yy393: - yyaccept = 52; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy394; - } -yy394: -#line 286 "src/parser.re" - {RETURN(PSI_T_CALLABLE);} -#line 6255 "src/parser.c" -yy395: - yyaccept = 53; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy396; - } -yy396: -#line 308 "src/parser.re" - {RETURN(PSI_T_CALLBACK);} -#line 6329 "src/parser.c" -yy397: - yyaccept = 54; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy398; - } -yy398: -#line 328 "src/parser.re" - {RETURN(PSI_T_FLOATVAL);} -#line 6403 "src/parser.c" -yy399: - yyaccept = 55; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy400; - } -yy400: -#line 310 "src/parser.re" - {RETURN(PSI_T_FUNCTION);} -#line 6477 "src/parser.c" -yy401: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'E': - case 'e': goto yy417; - default: goto yy54; - } -yy402: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'R': - case 'r': goto yy418; - default: goto yy54; - } -yy403: - yyaccept = 56; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy404; - } -yy404: -#line 336 "src/parser.re" - {RETURN(PSI_T_TO_ARRAY);} -#line 6567 "src/parser.c" -yy405: - yyaccept = 57; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy406; - } -yy406: -#line 339 "src/parser.re" - {RETURN(PSI_T_TO_FLOAT);} -#line 6641 "src/parser.c" -yy407: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'T': - case 't': goto yy419; - default: goto yy54; - } -yy408: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'G': - case 'g': goto yy421; - default: goto yy54; - } -yy409: - yyaccept = 58; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy410; - } -yy410: -#line 298 "src/parser.re" - {RETURN(PSI_T_UINT16);} -#line 6731 "src/parser.c" -yy411: - yyaccept = 59; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy412; - } -yy412: -#line 300 "src/parser.re" - {RETURN(PSI_T_UINT32);} -#line 6805 "src/parser.c" -yy413: - yyaccept = 60; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy414; - } -yy414: -#line 302 "src/parser.re" - {RETURN(PSI_T_UINT64);} -#line 6879 "src/parser.c" -yy415: - yyaccept = 61; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy416; - } -yy416: -#line 303 "src/parser.re" - {RETURN(PSI_T_UNSIGNED);} -#line 6953 "src/parser.c" -yy417: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'R': - case 'r': goto yy423; - default: goto yy54; - } -yy418: - yyaccept = 5; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case 'T': - case 't': goto yy424; - default: goto yy54; - } -yy419: - yyaccept = 62; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy420; - } -yy420: -#line 335 "src/parser.re" - {RETURN(PSI_T_TO_OBJECT);} -#line 7043 "src/parser.c" -yy421: - yyaccept = 63; - yych = *(P->mrk = ++P->cur); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy422; + case 'e': goto yy562; + default: goto yy62; } -yy422: -#line 337 "src/parser.re" - {RETURN(PSI_T_TO_STRING);} -#line 7117 "src/parser.c" -yy423: +yy543: yyaccept = 5; - yych = *(P->mrk = ++P->cur); + yych = *(mrk = ++cur); + switch (yych) { + case 'R': + case 'r': goto yy563; + default: goto yy62; + } +yy544: + yyaccept = 70; + 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 yy545; + case '\\': goto yy148; + default: goto yy61; + } +yy545: +#line 438 "src/parser.re" + { NEWTOKEN(PSI_T_TO_ARRAY); goto start; } +#line 8696 "src/parser.c" +yy546: + yyaccept = 71; + 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 yy547; + case '\\': goto yy148; + default: goto yy61; + } +yy547: +#line 441 "src/parser.re" + { NEWTOKEN(PSI_T_TO_FLOAT); goto start; } +#line 8771 "src/parser.c" +yy548: + yyaccept = 5; + yych = *(mrk = ++cur); switch (yych) { case 'T': - case 't': goto yy426; - default: goto yy54; + case 't': goto yy564; + default: goto yy62; } -yy424: - yyaccept = 64; - yych = *(P->mrk = ++P->cur); +yy549: + yyaccept = 5; + yych = *(mrk = ++cur); switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy425; + case 'g': goto yy566; + default: goto yy62; } -yy425: -#line 319 "src/parser.re" - {RETURN(PSI_T_PRE_ASSERT);} -#line 7199 "src/parser.c" -yy426: - yyaccept = 65; - yych = *(P->mrk = ++P->cur); +yy550: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'u': goto yy568; + default: goto yy62; + } +yy551: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'i': goto yy569; + default: goto yy62; + } +yy552: + yyaccept = 72; + 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 yy553; + case '\\': goto yy148; + default: goto yy61; + } +yy553: +#line 371 "src/parser.re" + { NEWTOKEN(PSI_T_CPP_INLINE); goto start; } +#line 8876 "src/parser.c" +yy554: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'c': goto yy570; + default: goto yy62; + } +yy555: + yyaccept = 5; + mrk = ++cur; + if (lim <= cur) 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 '~': + case 0x7F: goto yy55; + case '\\': goto yy148; + case 'n': goto yy571; + case 'o': goto yy555; + default: goto yy527; + } +yy557: + yyaccept = 73; + 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 yy558; + case '\\': goto yy148; + default: goto yy61; + } +yy558: +#line 391 "src/parser.re" + { NEWTOKEN(PSI_T_UNSIGNED); goto start; } +#line 9033 "src/parser.c" +yy559: + yyaccept = 74; + 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 yy560; + case '\\': goto yy148; + default: goto yy61; + } +yy560: +#line 375 "src/parser.re" + { NEWTOKEN(PSI_T_VOLATILE); goto start; } +#line 9108 "src/parser.c" +yy561: + yyaccept = 5; + yych = *(mrk = ++cur); switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'A': - case 'B': - case 'C': - case 'D': case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': + case 'e': goto yy572; + default: goto yy62; + } +yy562: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { case 'R': - case 'S': + case 'r': goto yy573; + default: goto yy62; + } +yy563: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { case 'T': - case 'U': - case 'V': - case 'W': + case 't': goto yy574; + default: goto yy62; + } +yy564: + yyaccept = 75; + 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 yy565; + case '\\': goto yy148; + default: goto yy61; + } +yy565: +#line 437 "src/parser.re" + { NEWTOKEN(PSI_T_TO_OBJECT); goto start; } +#line 9207 "src/parser.c" +yy566: + yyaccept = 76; + 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 yy567; + case '\\': goto yy148; + default: goto yy61; + } +yy567: +#line 439 "src/parser.re" + { NEWTOKEN(PSI_T_TO_STRING); goto start; } +#line 9282 "src/parser.c" +yy568: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 't': goto yy576; + default: goto yy62; + } +yy569: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'o': goto yy577; + default: goto yy62; + } +yy570: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 't': goto yy578; + default: goto yy62; + } +yy571: + yyaccept = 5; + mrk = ++cur; + if (lim <= cur) 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 '~': + case 0x7F: goto yy55; + case '\\': goto yy148; + case 'c': goto yy580; + case 'o': goto yy555; + default: goto yy527; + } +yy572: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { case 'X': - case 'Y': - case 'Z': - case '_': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy53; - case '\\': goto yy114; - default: goto yy427; + case 'x': goto yy581; + default: goto yy62; } -yy427: -#line 320 "src/parser.re" - {RETURN(PSI_T_POST_ASSERT);} -#line 7273 "src/parser.c" +yy573: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'T': + case 't': goto yy582; + default: goto yy62; + } +yy574: + yyaccept = 77; + 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 yy575; + case '\\': goto yy148; + default: goto yy61; + } +yy575: +#line 420 "src/parser.re" + { NEWTOKEN(PSI_T_PRE_ASSERT); goto start; } +#line 9469 "src/parser.c" +yy576: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'e': goto yy584; + default: goto yy62; + } +yy577: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'n': goto yy585; + default: goto yy62; + } +yy578: + yyaccept = 78; + 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 yy579; + case '\\': goto yy148; + default: goto yy61; + } +yy579: +#line 372 "src/parser.re" + { NEWTOKEN(PSI_T_CPP_RESTRICT); goto start; } +#line 9558 "src/parser.c" +yy580: + yyaccept = 5; + mrk = ++cur; + if (lim <= cur) 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 '~': + case 0x7F: goto yy55; + case '\\': goto yy148; + case 'e': goto yy586; + case 'o': goto yy555; + default: goto yy527; + } +yy581: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case 'T': + case 't': goto yy588; + default: goto yy62; + } +yy582: + yyaccept = 79; + 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 yy583; + case '\\': goto yy148; + default: goto yy61; + } +yy583: +#line 421 "src/parser.re" + { NEWTOKEN(PSI_T_POST_ASSERT); goto start; } +#line 9716 "src/parser.c" +yy584: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case '_': goto yy590; + default: goto yy62; + } +yy585: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case '_': goto yy591; + default: goto yy62; + } +yy586: + yyaccept = 80; + mrk = ++cur; + if (lim <= cur) 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 '~': + case 0x7F: goto yy587; + case '\\': goto yy148; + case 'o': goto yy555; + default: goto yy527; + } +yy587: +#line 370 "src/parser.re" + { NEWTOKEN(PSI_T_PRAGMA_ONCE); goto start; } +#line 9808 "src/parser.c" +yy588: + yyaccept = 81; + 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 yy589; + case '\\': goto yy148; + default: goto yy61; + } +yy589: +#line 405 "src/parser.re" + { NEWTOKEN(PSI_T_INCLUDE_NEXT); goto start; } +#line 9883 "src/parser.c" +yy590: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case '_': goto yy592; + default: goto yy62; + } +yy591: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case '_': goto yy593; + default: goto yy62; + } +yy592: + yyaccept = 5; + yych = *(mrk = ++cur); + switch (yych) { + case '\t': + case '\f': + case ' ': goto yy595; + case '(': goto yy597; + default: goto yy62; + } +yy593: + yyaccept = 82; + 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 yy594; + case '\\': goto yy148; + default: goto yy61; + } +yy594: +#line 373 "src/parser.re" + { NEWTOKEN(PSI_T_CPP_EXTENSION); goto start; } +#line 9982 "src/parser.c" +yy595: + ++cur; + if ((lim - cur) < 2) if (cur >= lim) goto done;; + yych = *cur; + switch (yych) { + case '\t': + case '\f': + case ' ': goto yy595; + case '(': goto yy597; + default: goto yy114; + } +yy597: + yych = *++cur; + switch (yych) { + case '(': goto yy598; + default: goto yy114; + } +yy598: + ++cur; +#line 447 "src/parser.re" + { parens = 2; goto cpp_attribute; } +#line 10004 "src/parser.c" } -#line 347 "src/parser.re" +#line 453 "src/parser.re" - comment: - P->tok = P->cur; + character: ; -#line 7281 "src/parser.c" +#line 10011 "src/parser.c" { unsigned char yych; - if ((P->lim - P->cur) < 2) { if (!psi_parser_fill(P,2)) RETURN(PSI_T_EOF); }; - yych = *P->cur; + if (lim <= cur) if (cur >= lim) goto done;; + yych = *cur; switch (yych) { - case '\n': goto yy432; - case '*': goto yy434; - default: goto yy430; - } -yy430: - ++P->cur; -yy431: -#line 354 "src/parser.re" + case '\n': + case '\r': goto yy604; + case '\'': goto yy606; + case '\\': goto yy608; + default: goto yy602; + } +yy602: + ++cur; +#line 471 "src/parser.re" + { escaped = false; goto character; } +#line 10027 "src/parser.c" +yy604: + ++cur; +#line 458 "src/parser.re" + { NEWLINE(); goto character; } +#line 10032 "src/parser.c" +yy606: + ++cur; +#line 460 "src/parser.re" + { + if (escaped) { + escaped = false; + goto character; + } + cur -= 1; + NEWTOKEN(PSI_T_QUOTED_CHAR); + cur += 1; + token->flags = char_width; + goto start; + } +#line 10047 "src/parser.c" +yy608: + ++cur; +#line 459 "src/parser.re" + { escaped = !escaped; goto character; } +#line 10052 "src/parser.c" + } +#line 473 "src/parser.re" + + + string: ; + +#line 10059 "src/parser.c" + { + unsigned char yych; + if (lim <= cur) if (cur >= lim) goto done;; + yych = *cur; + switch (yych) { + case '\n': + case '\r': goto yy614; + case '"': goto yy616; + case '\\': goto yy618; + default: goto yy612; + } +yy612: + ++cur; +#line 491 "src/parser.re" + { escaped = false; goto string; } +#line 10075 "src/parser.c" +yy614: + ++cur; +#line 478 "src/parser.re" + { NEWLINE(); goto string; } +#line 10080 "src/parser.c" +yy616: + ++cur; +#line 480 "src/parser.re" + { + if (escaped) { + escaped = false; + goto string; + } + cur -= 1; + NEWTOKEN(PSI_T_QUOTED_STRING); + cur += 1; + token->flags = char_width; + goto start; + } +#line 10095 "src/parser.c" +yy618: + ++cur; +#line 479 "src/parser.re" + { escaped = !escaped; goto string; } +#line 10100 "src/parser.c" + } +#line 493 "src/parser.re" + + + comment: ; + +#line 10107 "src/parser.c" + { + unsigned char yych; + if ((lim - cur) < 2) if (cur >= lim) goto done;; + yych = *cur; + switch (yych) { + case '\n': + case '\r': goto yy624; + case '*': goto yy626; + default: goto yy622; + } +yy622: + ++cur; +yy623: +#line 500 "src/parser.re" { goto comment; } -#line 7296 "src/parser.c" -yy432: - ++P->cur; -#line 352 "src/parser.re" - { NEWLINE(comment); } -#line 7301 "src/parser.c" -yy434: - yych = *++P->cur; +#line 10123 "src/parser.c" +yy624: + ++cur; +#line 498 "src/parser.re" + { NEWLINE(); goto comment; } +#line 10128 "src/parser.c" +yy626: + yych = *++cur; + switch (yych) { + case '/': goto yy627; + default: goto yy623; + } +yy627: + ++cur; +#line 499 "src/parser.re" + { NEWTOKEN(PSI_T_COMMENT); goto start; } +#line 10139 "src/parser.c" + } +#line 502 "src/parser.re" + + + comment_sl: ; + +#line 10146 "src/parser.c" + { + unsigned char yych; + if (lim <= cur) if (cur >= lim) goto done;; + yych = *cur; switch (yych) { - case '/': goto yy435; - default: goto yy431; - } -yy435: - ++P->cur; -#line 353 "src/parser.re" - { continue; } -#line 7312 "src/parser.c" + case '\n': + case '\r': goto yy633; + default: goto yy631; + } +yy631: + ++cur; +#line 508 "src/parser.re" + { goto comment_sl; } +#line 10160 "src/parser.c" +yy633: + ++cur; +#line 507 "src/parser.re" + { NEWTOKEN(PSI_T_COMMENT); NEWLINE(); goto start; } +#line 10165 "src/parser.c" } -#line 355 "src/parser.re" +#line 510 "src/parser.re" - } - return -1; + + cpp_attribute: ; + + +#line 10173 "src/parser.c" + { + unsigned char yych; + if (lim <= cur) if (cur >= lim) goto done;; + yych = *cur; + switch (yych) { + case '\n': + case '\r': goto yy639; + case '(': goto yy641; + case ')': goto yy643; + default: goto yy637; + } +yy637: + ++cur; +#line 519 "src/parser.re" + { goto cpp_attribute; } +#line 10189 "src/parser.c" +yy639: + ++cur; +#line 518 "src/parser.re" + { NEWLINE(); goto cpp_attribute; } +#line 10194 "src/parser.c" +yy641: + ++cur; +#line 516 "src/parser.re" + { ++parens; goto cpp_attribute; } +#line 10199 "src/parser.c" +yy643: + ++cur; +#line 517 "src/parser.re" + { if (parens == 1) { NEWTOKEN(PSI_T_CPP_ATTRIBUTE); goto start; } else { --parens; goto cpp_attribute; } } +#line 10204 "src/parser.c" + } +#line 521 "src/parser.re" + +error: ; + + P->error(PSI_DATA(P), token, PSI_WARNING, "PSI syntax error: unexpected input (%d) '%.*s' at col %tu", + token->type, token->size, token->text, tok - eol + 1); + psi_plist_free(tokens); + return NULL; + +done: + + PSI_DEBUG_PRINT(P, "PSI: EOF cur=%p lim=%p\n", cur, lim); + + return tokens; }