-/* Generated by re2c 0.16 on Mon Feb 20 20:39:25 2017 */
+/* Generated by re2c 1.0.2 on Fri Oct 13 16:16:58 2017 */
#line 1 "src/parser.re"
+/*******************************************************************************
+ Copyright (c) 2016, Michael Wallner <mike@php.net>.
+ 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 <sys/mman.h>
#include <assert.h>
+#include <stdarg.h>
#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)
{
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("<stdin>") + 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("<input>");
+ 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, "<stdin>", sizeof("<stdin>"));
+
+ 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));
}
}
-#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;
+
-#line 234 "src/parser.c"
+#line 283 "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':
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 448 "src/parser.re"
+ { NEWTOKEN(-2); goto error; }
+#line 410 "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 447 "src/parser.re"
+ { NEWTOKEN(PSI_T_WHITESPACE); goto start; }
+#line 424 "src/parser.c"
yy7:
- ++P->cur;
-#line 280 "src/parser.re"
- { NEWLINE(nextline); }
-#line 360 "src/parser.c"
+ ++cur;
+#line 446 "src/parser.re"
+ { NEWTOKEN(PSI_T_EOL); NEWLINE(); goto start; }
+#line 429 "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 349 "src/parser.re"
+ { NEWTOKEN(PSI_T_NOT); goto start; }
+#line 439 "src/parser.c"
yy11:
- yyaccept = 0;
- yych = *(P->mrk = ++P->cur);
+ ++cur;
+#line 322 "src/parser.re"
+ { escaped = false; tok += 1; goto string; }
+#line 444 "src/parser.c"
+yy13:
+ yych = *++cur;
+ switch (yych) {
+ case '#': goto yy106;
+ default: goto yy14;
+ }
+yy14:
+#line 332 "src/parser.re"
+ { NEWTOKEN(PSI_T_HASH); goto start; }
+#line 454 "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 350 "src/parser.re"
+ { NEWTOKEN(PSI_T_MODULO); goto start; }
+#line 529 "src/parser.c"
+yy18:
+ yych = *++cur;
switch (yych) {
- case '"': goto yy3;
- default: goto yy84;
+ case '&': goto yy111;
+ default: goto yy19;
}
-yy12:
+yy19:
+#line 351 "src/parser.re"
+ { NEWTOKEN(PSI_T_AMPERSAND); goto start; }
+#line 539 "src/parser.c"
+yy20:
+ ++cur;
+#line 321 "src/parser.re"
+ { escaped = false; tok += 1; goto character; }
+#line 544 "src/parser.c"
+yy22:
+ ++cur;
+#line 333 "src/parser.re"
+ { NEWTOKEN(PSI_T_LPAREN); goto start; }
+#line 549 "src/parser.c"
+yy24:
+ ++cur;
+#line 334 "src/parser.re"
+ { NEWTOKEN(PSI_T_RPAREN); goto start; }
+#line 554 "src/parser.c"
+yy26:
+ ++cur;
+#line 347 "src/parser.re"
+ { NEWTOKEN(PSI_T_ASTERISK); goto start; }
+#line 559 "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 352 "src/parser.re"
+ { NEWTOKEN(PSI_T_PLUS); goto start; }
+#line 580 "src/parser.c"
+yy30:
+ ++cur;
+#line 336 "src/parser.re"
+ { NEWTOKEN(PSI_T_COMMA); goto start; }
+#line 585 "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 353 "src/parser.re"
+ { NEWTOKEN(PSI_T_MINUS); goto start; }
+#line 606 "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 364 "src/parser.re"
+ { NEWTOKEN(PSI_T_PERIOD); goto start; }
+#line 627 "src/parser.c"
+yy36:
+ yych = *++cur;
+ switch (yych) {
+ case '*': goto yy119;
+ case '/': goto yy121;
+ default: goto yy37;
+ }
+yy37:
+#line 354 "src/parser.re"
+ { NEWTOKEN(PSI_T_SLASH); goto start; }
+#line 638 "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 308 "src/parser.re"
+ { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_INT; goto start; }
+#line 653 "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 337 "src/parser.re"
+ { NEWTOKEN(PSI_T_COLON); goto start; }
+#line 683 "src/parser.c"
+yy44:
+ ++cur;
+#line 335 "src/parser.re"
+ { NEWTOKEN(PSI_T_EOS); goto start; }
+#line 688 "src/parser.c"
+yy46:
+ yyaccept = 4;
+ yych = *(mrk = ++cur);
+ switch (yych) {
+ case '-':
+ case '.':
+ case '/':
case '0':
case '1':
case '2':
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 362 "src/parser.re"
+ { NEWTOKEN(PSI_T_LCHEVR); goto start; }
+#line 766 "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 346 "src/parser.re"
+ { NEWTOKEN(PSI_T_EQUALS); goto start; }
+#line 776 "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 363 "src/parser.re"
+ { NEWTOKEN(PSI_T_RCHEVR); goto start; }
+#line 787 "src/parser.c"
+yy52:
+ ++cur;
+#line 366 "src/parser.re"
+ { NEWTOKEN(PSI_T_IIF); goto start; }
+#line 792 "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 441 "src/parser.re"
+ { NEWTOKEN(PSI_T_NAME); goto start; }
+#line 806 "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 340 "src/parser.re"
+ { NEWTOKEN(PSI_T_LBRACKET); goto start; }
+#line 1051 "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':
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 355 "src/parser.re"
+ { NEWTOKEN(PSI_T_BSLASH); goto start; }
+#line 1135 "src/parser.c"
+yy79:
+ ++cur;
+#line 341 "src/parser.re"
+ { NEWTOKEN(PSI_T_RBRACKET); goto start; }
+#line 1140 "src/parser.c"
+yy81:
+ ++cur;
+#line 357 "src/parser.re"
+ { NEWTOKEN(PSI_T_CARET); goto start; }
+#line 1145 "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 'L':
- case 'M':
- case 'N':
- case 'O':
- case 'P':
- case 'Q':
+ case 'e': goto yy152;
+ case 'o': goto yy191;
+ default: goto yy62;
+ }
+yy87:
+ yyaccept = 5;
+ yych = *(mrk = ++cur);
+ switch (yych) {
+ case 'L':
+ 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 338 "src/parser.re"
+ { NEWTOKEN(PSI_T_LBRACE); goto start; }
+#line 1287 "src/parser.c"
+yy98:
+ yych = *++cur;
+ switch (yych) {
+ case '|': goto yy207;
+ default: goto yy99;
+ }
+yy99:
+#line 356 "src/parser.re"
+ { NEWTOKEN(PSI_T_PIPE); goto start; }
+#line 1297 "src/parser.c"
+yy100:
+ ++cur;
+#line 339 "src/parser.re"
+ { NEWTOKEN(PSI_T_RBRACE); goto start; }
+#line 1302 "src/parser.c"
+yy102:
+ ++cur;
+#line 348 "src/parser.re"
+ { NEWTOKEN(PSI_T_TILDE); goto start; }
+#line 1307 "src/parser.c"
+yy104:
+ ++cur;
+#line 342 "src/parser.re"
+ { NEWTOKEN(PSI_T_CMP_NE); goto start; }
+#line 1312 "src/parser.c"
+yy106:
+ ++cur;
+#line 331 "src/parser.re"
+ { NEWTOKEN(PSI_T_CPP_PASTE); goto start; }
+#line 1317 "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 443 "src/parser.re"
+ { NEWTOKEN(PSI_T_DOLLAR_NAME); goto start; }
+#line 1393 "src/parser.c"
+yy111:
+ ++cur;
+#line 344 "src/parser.re"
+ { NEWTOKEN(PSI_T_AND); goto start; }
+#line 1398 "src/parser.c"
+yy113:
+ yych = *++cur;
switch (yych) {
case '0':
case '1':
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':
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 314 "src/parser.re"
+ { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT; goto start; }
+#line 1534 "src/parser.c"
+yy119:
+ ++cur;
+#line 328 "src/parser.re"
{ goto comment; }
-#line 1195 "src/parser.c"
-yy102:
- yych = *++P->cur;
+#line 1539 "src/parser.c"
+yy121:
+ ++cur;
+#line 329 "src/parser.re"
+ { goto comment_sl; }
+#line 1544 "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':
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 310 "src/parser.re"
+ { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_INT | PSI_NUMBER_L; cur += 1; goto start; }
+#line 1622 "src/parser.c"
+yy130:
+ yych = *++cur;
+ switch (yych) {
+ case 'L':
+ case 'l': goto yy219;
+ default: goto yy131;
+ }
+yy131:
+ cur -= 1;
+#line 309 "src/parser.re"
+ { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_INT | PSI_NUMBER_U; cur += 1; goto start; }
+#line 1634 "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':
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 358 "src/parser.re"
+ { NEWTOKEN(PSI_T_LSHIFT); goto start; }
+#line 1740 "src/parser.c"
+yy137:
+ ++cur;
+#line 360 "src/parser.re"
+ { NEWTOKEN(PSI_T_CMP_LE); goto start; }
+#line 1745 "src/parser.c"
+yy139:
+ ++cur;
+#line 343 "src/parser.re"
+ { NEWTOKEN(PSI_T_CMP_EQ); goto start; }
+#line 1750 "src/parser.c"
+yy141:
+ ++cur;
+#line 361 "src/parser.re"
+ { NEWTOKEN(PSI_T_CMP_GE); goto start; }
+#line 1755 "src/parser.c"
+yy143:
+ ++cur;
+#line 359 "src/parser.re"
+ { NEWTOKEN(PSI_T_RSHIFT); goto start; }
+#line 1760 "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 421 "src/parser.re"
+ { NEWTOKEN(PSI_T_AS); goto start; }
+#line 1843 "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 = *(P->mrk = ++P->cur);
+ yych = *(mrk = ++cur);
switch (yych) {
- case 'L':
- case 'l': goto yy168;
- default: goto yy54;
+ case 'R':
+ case 'r': goto yy232;
+ default: goto yy62;
+ }
+yy156:
+ yyaccept = 5;
+ yych = *(mrk = ++cur);
+ switch (yych) {
+ case 'L':
+ 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:
+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;
+ }
+yy161:
+#line 391 "src/parser.re"
+ { NEWTOKEN(PSI_T_IF); goto start; }
+#line 2094 "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 yy172;
- default: goto yy54;
+ case 't': goto yy240;
+ default: goto yy62;
}
-yy126:
+yy163:
+ ++cur;
+ cur -= 1;
+#line 326 "src/parser.re"
+ { char_width = SIZEOF_WCHAR_T/8; }
+#line 2110 "src/parser.c"
+yy165:
yyaccept = 5;
- yych = *(P->mrk = ++P->cur);
+ yych = *(mrk = ++cur);
switch (yych) {
case 'T':
- case 't': goto yy174;
- default: goto yy54;
+ case 't': goto yy241;
+ default: goto yy62;
}
-yy127:
+yy166:
yyaccept = 5;
- yych = *(P->mrk = ++P->cur);
+ yych = *(mrk = ++cur);
switch (yych) {
case 'B':
- case 'b': goto yy176;
- default: goto yy54;
- }
-yy128:
- yyaccept = 5;
- yych = *(P->mrk = ++P->cur);
- switch (yych) {
- case 'N':
- case 'n': goto yy178;
- default: goto yy54;
+ 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 325 "src/parser.re"
+ { char_width = 4; }
+#line 2229 "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 442 "src/parser.re"
+ { NEWTOKEN(PSI_T_NSNAME); goto start; }
+#line 2330 "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 324 "src/parser.re"
+ { char_width = 2; }
+#line 2461 "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 345 "src/parser.re"
+ { NEWTOKEN(PSI_T_OR); goto start; }
+#line 2491 "src/parser.c"
+yy209:
+ ++cur;
+#line 365 "src/parser.re"
+ { NEWTOKEN(PSI_T_ELLIPSIS); goto start; }
+#line 2496 "src/parser.c"
+yy211:
+ yych = *++cur;
switch (yych) {
- case '0':
- case '2':
- case '4':
- case '5':
- case '7':
- case '9':
- case 'A':
- case 'B':
- case 'C':
case 'D':
- case 'E':
+ case 'd': goto yy288;
case 'F':
- case 'G':
- case 'H':
- case 'I':
- case 'J':
- case 'K':
+ case 'f': goto yy290;
case 'L':
- case 'M':
- case 'N':
- case 'O':
- case 'P':
- case 'Q':
- case 'R':
- case 'S':
- case 'T':
+ case 'l': goto yy292;
+ default: goto yy114;
+ }
+yy212:
+ ++cur;
+ cur -= 1;
+#line 315 "src/parser.re"
+ { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT | PSI_NUMBER_F; cur += 1; goto start; }
+#line 2513 "src/parser.c"
+yy214:
+ ++cur;
+ cur -= 1;
+#line 316 "src/parser.re"
+ { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT | PSI_NUMBER_L; cur += 1; goto start; }
+#line 2519 "src/parser.c"
+yy216:
+ yych = *++cur;
+ switch (yych) {
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 'u': goto yy294;
+ default: goto yy114;
}
-yy173:
-#line 291 "src/parser.re"
- {RETURN(PSI_T_INT);}
-#line 1869 "src/parser.c"
-yy174:
- yyaccept = 8;
- yych = *(P->mrk = ++P->cur);
+yy217:
+ ++cur;
+yy218:
+ cur -= 2;
+#line 311 "src/parser.re"
+ { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_INT | PSI_NUMBER_UL; cur += 2; goto start; }
+#line 2533 "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 'D':
case 'E':
case 'F':
- case 'G':
- case 'H':
- case 'I':
- case 'J':
- case 'K':
- case 'L':
- case 'M':
- case 'N':
- case 'O':
- case 'P':
- case 'Q':
- case 'R':
- case 'S':
- case 'T':
- case 'U':
- case 'V':
- case 'W':
- 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 'f': goto yy220;
+ case 'L':
+ case 'l': goto yy128;
+ case 'P':
+ case 'p': goto yy127;
+ case 'U':
+ case 'u': goto yy130;
+ default: goto yy39;
}
-yy175:
-#line 317 "src/parser.re"
- {RETURN(PSI_T_LET);}
-#line 1943 "src/parser.c"
-yy176:
- yyaccept = 9;
- yych = *(P->mrk = ++P->cur);
+yy222:
+ ++cur;
+#line 444 "src/parser.re"
+ { tok += 1; cur -= 1; NEWTOKEN(PSI_T_CPP_HEADER); cur += 1; goto start; }
+#line 2582 "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 'n': goto yy302;
+ default: goto yy62;
+ }
+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 'F':
+ 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 '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;
}
-yy185:
+yy242:
+#line 416 "src/parser.re"
+ { NEWTOKEN(PSI_T_LET); goto start; }
+#line 2795 "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;
+ }
+yy244:
+#line 415 "src/parser.re"
+ { NEWTOKEN(PSI_T_LIB); goto start; }
+#line 2870 "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 417 "src/parser.re"
+ { NEWTOKEN(PSI_T_SET); goto start; }
+#line 3002 "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 = *(P->mrk = ++P->cur);
+ 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 385 "src/parser.re"
+ { NEWTOKEN(PSI_T_INT); goto start; }
+#line 3230 "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 = *(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 323 "src/parser.re"
+ { char_width = 1; }
+#line 3298 "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 318 "src/parser.re"
+ { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT | PSI_NUMBER_DD; cur += 2; goto start; }
+#line 3332 "src/parser.c"
+yy290:
+ ++cur;
+ cur -= 2;
+#line 317 "src/parser.re"
+ { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT | PSI_NUMBER_DF; cur += 2; goto start; }
+#line 3338 "src/parser.c"
+yy292:
+ ++cur;
+ cur -= 2;
+#line 319 "src/parser.re"
+ { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT | PSI_NUMBER_DL; cur += 2; goto start; }
+#line 3344 "src/parser.c"
+yy294:
+ ++cur;
+ cur -= 3;
+#line 312 "src/parser.re"
+ { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_INT | PSI_NUMBER_ULL; cur += 3; goto start; }
+#line 3350 "src/parser.c"
+yy296:
+ ++cur;
+ if ((lim - cur) < 3) if (cur >= lim) goto done;;
+ yych = *cur;
switch (yych) {
case '0':
case '1':
case 'D':
case 'E':
case 'F':
- case 'G':
- case 'H':
- case 'I':
- case '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 = *(mrk = ++cur);
+ switch (yych) {
+ case 'Y':
+ case 'y': goto yy375;
+ default: goto yy62;
+ }
+yy299:
yyaccept = 5;
- yych = *(P->mrk = ++P->cur);
+ 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;
+ }
+yy305:
+#line 395 "src/parser.re"
+ { NEWTOKEN(PSI_T_ELIF); goto start; }
+#line 3508 "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;
}
-yy210:
+yy307:
+#line 394 "src/parser.re"
+ { NEWTOKEN(PSI_T_ELSE); goto start; }
+#line 3583 "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 422 "src/parser.re"
+ { NEWTOKEN(PSI_T_FREE); goto start; }
+#line 3690 "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 406 "src/parser.re"
+ { NEWTOKEN(PSI_T_NULL); goto start; }
+#line 3813 "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 423 "src/parser.re"
+ { NEWTOKEN(PSI_T_TEMP); goto start; }
+#line 3967 "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 = *(mrk = ++cur);
+ switch (yych) {
+ case 'B':
+ case 'b': goto yy414;
+ default: goto yy62;
+ }
+yy339:
yyaccept = 5;
- yych = *(P->mrk = ++P->cur);
+ 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 404 "src/parser.re"
+ { NEWTOKEN(PSI_T_TRUE); goto start; }
+#line 4090 "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 432 "src/parser.re"
+ { NEWTOKEN(PSI_T_ZVAL); goto start; }
+#line 4181 "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 382 "src/parser.re"
+ { NEWTOKEN(PSI_T_BOOL); goto start; }
+#line 4293 "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 383 "src/parser.re"
+ { NEWTOKEN(PSI_T_CHAR); goto start; }
+#line 4368 "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 379 "src/parser.re"
+ { NEWTOKEN(PSI_T_ENUM); goto start; }
+#line 4457 "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 375 "src/parser.re"
+ { NEWTOKEN(PSI_T_LINE); goto start; }
+#line 4540 "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 386 "src/parser.re"
+ { NEWTOKEN(PSI_T_LONG); goto start; }
+#line 4615 "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 381 "src/parser.re"
+ { NEWTOKEN(PSI_T_VOID); goto start; }
+#line 4746 "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 410 "src/parser.re"
+ { NEWTOKEN(PSI_T_ARRAY); goto start; }
+#line 4828 "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 433 "src/parser.re"
+ { NEWTOKEN(PSI_T_COUNT); goto start; }
+#line 4943 "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 396 "src/parser.re"
+ { NEWTOKEN(PSI_T_ENDIF); goto start; }
+#line 5026 "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 401 "src/parser.re"
+ { NEWTOKEN(PSI_T_ERROR); goto start; }
+#line 5101 "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 405 "src/parser.re"
+ { NEWTOKEN(PSI_T_FALSE); goto start; }
+#line 5176 "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 392 "src/parser.re"
+ { NEWTOKEN(PSI_T_IFDEF); goto start; }
+#line 5267 "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 407 "src/parser.re"
+ { NEWTOKEN(PSI_T_MIXED); goto start; }
+#line 5366 "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);
- switch (yych) {
- case 'E':
- case 'e': goto yy318;
- default: goto yy54;
- }
-yy271:
- yyaccept = 24;
- 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 yy272;
+ case 'l': goto yy471;
+ 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);
+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 'W':
- 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 'r': goto yy473;
+ default: goto yy62;
}
-yy274:
-#line 293 "src/parser.re"
- {RETURN(PSI_T_FLOAT);}
-#line 3739 "src/parser.c"
-yy275:
+yy411:
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 yy474;
+ default: goto yy62;
}
-yy276:
+yy412:
yyaccept = 5;
- yych = *(P->mrk = ++P->cur);
+ yych = *(mrk = ++cur);
switch (yych) {
- case '_': goto yy322;
- default: goto yy54;
+ case 'O':
+ case 'o': goto yy475;
+ default: goto yy62;
}
-yy277:
+yy413:
yyaccept = 5;
- yych = *(P->mrk = ++P->cur);
+ yych = *(mrk = ++cur);
switch (yych) {
- case '_': goto yy323;
- default: goto yy54;
+ case 'T':
+ case 't': goto yy476;
+ default: goto yy62;
}
-yy278:
+yy414:
yyaccept = 5;
- yych = *(P->mrk = ++P->cur);
+ yych = *(mrk = ++cur);
switch (yych) {
- case '_': goto yy324;
- default: goto yy54;
+ case 'J':
+ case 'j': goto yy478;
+ default: goto yy62;
}
-yy279:
+yy415:
yyaccept = 5;
- yych = *(P->mrk = ++P->cur);
+ yych = *(mrk = ++cur);
switch (yych) {
- case 'T':
- case 't': goto yy325;
- default: goto yy54;
+ case 'R':
+ case 'r': goto yy479;
+ default: goto yy62;
}
-yy280:
- yyaccept = 5;
- yych = *(P->mrk = ++P->cur);
- switch (yych) {
- case 'L':
- case 'l': goto yy327;
- 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;
}
-yy281:
- yyaccept = 26;
- yych = *(P->mrk = ++P->cur);
+yy417:
+#line 399 "src/parser.re"
+ { NEWTOKEN(PSI_T_UNDEF); goto start; }
+#line 5569 "src/parser.c"
+yy418:
+ 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 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 380 "src/parser.re"
+ { NEWTOKEN(PSI_T_CONST); goto start; }
+#line 5687 "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 387 "src/parser.re"
+ { NEWTOKEN(PSI_T_FLOAT); goto start; }
+#line 5771 "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 384 "src/parser.re"
+ { NEWTOKEN(PSI_T_SHORT); goto start; }
+#line 5853 "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 378 "src/parser.re"
+ { NEWTOKEN(PSI_T_UNION); goto start; }
+#line 5956 "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 430 "src/parser.re"
+ { NEWTOKEN(PSI_T_ARRVAL); goto start; }
+#line 6045 "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:
+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 434 "src/parser.re"
+ { NEWTOKEN(PSI_T_CALLOC); goto start; }
+#line 6144 "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;
+ }
+yy448:
+#line 397 "src/parser.re"
+ { NEWTOKEN(PSI_T_DEFINE); goto start; }
+#line 6221 "src/parser.c"
+yy449:
yyaccept = 5;
- yych = *(P->mrk = ++P->cur);
+ yych = *(mrk = ++cur);
switch (yych) {
- case 'O':
- case 'o': goto yy352;
- default: goto yy54;
+ case 'A':
+ case 'a': goto yy505;
+ default: goto yy62;
}
-yy300:
+yy450:
yyaccept = 5;
- yych = *(P->mrk = ++P->cur);
+ yych = *(mrk = ++cur);
switch (yych) {
- case 'T':
- case 't': goto yy353;
- default: goto yy54;
+ case 'O':
+ case 'o': goto yy506;
+ default: goto yy62;
}
-yy301:
- 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 393 "src/parser.re"
+ { NEWTOKEN(PSI_T_IFNDEF); goto start; }
+#line 6312 "src/parser.c"
+yy453:
+ yyaccept = 5;
+ yych = *(mrk = ++cur);
switch (yych) {
- case 'J':
- case 'j': goto yy355;
- default: goto yy54;
+ case 'E':
+ case 'e': goto yy507;
+ default: goto yy62;
}
-yy302:
- 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 427 "src/parser.re"
+ { NEWTOKEN(PSI_T_INTVAL); goto start; }
+#line 6395 "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 411 "src/parser.re"
+ { NEWTOKEN(PSI_T_OBJECT); goto start; }
+#line 6470 "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 431 "src/parser.re"
+ { NEWTOKEN(PSI_T_OBJVAL); goto start; }
+#line 6545 "src/parser.c"
+yy460:
+ yyaccept = 5;
+ yych = *(mrk = ++cur);
switch (yych) {
- case 'R':
- case 'r': goto yy356;
- default: goto yy54;
+ case 'L':
+ case 'l': goto yy509;
+ default: goto yy62;
}
-yy303:
+yy461:
yyaccept = 5;
- yych = *(P->mrk = ++P->cur);
+ yych = *(mrk = ++cur);
switch (yych) {
- case 'E':
- case 'e': goto yy357;
- default: goto yy54;
+ case 'S':
+ case 's': goto yy511;
+ default: goto yy62;
}
-yy304:
+yy462:
yyaccept = 5;
- yych = *(P->mrk = ++P->cur);
+ yych = *(mrk = ++cur);
switch (yych) {
- case '6': goto yy358;
- default: goto yy54;
+ case 'S':
+ case 's': goto yy512;
+ default: goto yy62;
}
-yy305:
- 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 420 "src/parser.re"
+ { NEWTOKEN(PSI_T_RETURN); goto start; }
+#line 6644 "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 413 "src/parser.re"
+ { NEWTOKEN(PSI_T_STATIC); goto start; }
+#line 6719 "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 409 "src/parser.re"
+ { NEWTOKEN(PSI_T_STRING); goto start; }
+#line 6794 "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 424 "src/parser.re"
+ { NEWTOKEN(PSI_T_STRLEN); goto start; }
+#line 6869 "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 425 "src/parser.re"
+ { NEWTOKEN(PSI_T_STRVAL); goto start; }
+#line 6944 "src/parser.c"
+yy473:
+ yyaccept = 5;
+ yych = *(mrk = ++cur);
switch (yych) {
- case '2': goto yy359;
- default: goto yy54;
+ case 'A':
+ case 'a': goto yy513;
+ default: goto yy62;
}
-yy306:
+yy474:
yyaccept = 5;
- yych = *(P->mrk = ++P->cur);
+ yych = *(mrk = ++cur);
switch (yych) {
- case '4': goto yy360;
- default: goto yy54;
+ case 'L':
+ case 'l': goto yy514;
+ default: goto yy62;
}
-yy307:
+yy475:
yyaccept = 5;
- yych = *(P->mrk = ++P->cur);
+ yych = *(mrk = ++cur);
switch (yych) {
- case '_': goto yy361;
- default: goto yy54;
+ case 'A':
+ case 'a': goto yy516;
+ default: goto yy62;
}
-yy308:
- yyaccept = 28;
- yych = *(P->mrk = ++P->cur);
+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 438 "src/parser.re"
+ { NEWTOKEN(PSI_T_TO_INT); goto start; }
+#line 7043 "src/parser.c"
+yy478:
+ 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 yy309;
+ case 'e': goto yy517;
+ default: goto yy62;
}
-yy309:
-#line 313 "src/parser.re"
- {RETURN(PSI_T_UNION);}
-#line 4186 "src/parser.c"
-yy310:
+yy479:
yyaccept = 5;
- yych = *(P->mrk = ++P->cur);
+ yych = *(mrk = ++cur);
switch (yych) {
- case 'N':
- case 'n': goto yy362;
- default: goto yy54;
+ case 'I':
+ case 'i': goto yy518;
+ default: goto yy62;
}
-yy311:
- yyaccept = 29;
- yych = *(P->mrk = ++P->cur);
+yy480:
+ 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 yy312;
+ case 'g': goto yy519;
+ default: goto yy62;
}
-yy312:
-#line 330 "src/parser.re"
- {RETURN(PSI_T_ARRVAL);}
-#line 4268 "src/parser.c"
-yy313:
+yy481:
yyaccept = 5;
- yych = *(P->mrk = ++P->cur);
+ yych = *(mrk = ++cur);
switch (yych) {
- case 'L':
- case 'l': goto yy363;
- default: goto yy54;
+ case '_': goto yy521;
+ default: goto yy62;
}
-yy314:
+yy482:
yyaccept = 5;
- yych = *(P->mrk = ++P->cur);
+ yych = *(mrk = ++cur);
switch (yych) {
- case 'L':
- case 'l': goto yy365;
- default: goto yy54;
+ case 'i': goto yy523;
+ default: goto yy62;
}
-yy315:
+yy483:
yyaccept = 5;
- yych = *(P->mrk = ++P->cur);
+ yych = *(mrk = ++cur);
switch (yych) {
- case 'C':
- case 'c': goto yy366;
- default: goto yy54;
+ case 'n': goto yy524;
+ default: goto yy62;
}
-yy316:
- yyaccept = 30;
- yych = *(P->mrk = ++P->cur);
+yy484:
+ 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 yy525;
+ 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);
+yy485:
+ 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;
- }
-yy324:
- 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);
- switch (yych) {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- case 'A':
- case 'B':
- case 'C':
- case 'D':
- case 'E':
- case 'F':
- case 'G':
- case 'H':
- case 'I':
- case 'J':
- case 'K':
- case 'L':
- case 'M':
- case 'N':
- case 'O':
- case 'P':
- case 'Q':
- case 'R':
- case 'S':
- case 'T':
- case 'U':
- case 'V':
- case 'W':
- 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;
+ case 'r': goto yy526;
+ default: goto yy62;
}
-yy414:
-#line 302 "src/parser.re"
- {RETURN(PSI_T_UINT64);}
-#line 6879 "src/parser.c"
-yy415:
- yyaccept = 61;
- yych = *(P->mrk = ++P->cur);
+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 388 "src/parser.re"
+ { NEWTOKEN(PSI_T_DOUBLE); goto start; }
+#line 7177 "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 367 "src/parser.re"
+ { NEWTOKEN(PSI_T_PRAGMA); goto start; }
+#line 7252 "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 390 "src/parser.re"
+ { NEWTOKEN(PSI_T_SIGNED); goto start; }
+#line 7327 "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 374 "src/parser.re"
+ { NEWTOKEN(PSI_T_SIZEOF); goto start; }
+#line 7402 "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 377 "src/parser.re"
+ { NEWTOKEN(PSI_T_STRUCT); goto start; }
+#line 7477 "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 429 "src/parser.re"
+ { NEWTOKEN(PSI_T_BOOLVAL); goto start; }
+#line 7573 "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 398 "src/parser.re"
+ { NEWTOKEN(PSI_T_DEFINED); goto start; }
+#line 7664 "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 402 "src/parser.re"
+ { NEWTOKEN(PSI_T_INCLUDE); goto start; }
+#line 7756 "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 426 "src/parser.re"
+ { NEWTOKEN(PSI_T_PATHVAL); goto start; }
+#line 7831 "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 yy416;
+ case 's': goto yy542;
+ default: goto yy62;
}
-yy416:
-#line 303 "src/parser.re"
- {RETURN(PSI_T_UNSIGNED);}
-#line 6953 "src/parser.c"
-yy417:
+yy512:
yyaccept = 5;
- yych = *(P->mrk = ++P->cur);
+ yych = *(mrk = ++cur);
switch (yych) {
- case 'R':
- case 'r': goto yy423;
- default: goto yy54;
+ case 'E':
+ case 'e': goto yy543;
+ default: goto yy62;
}
-yy418:
+yy513:
yyaccept = 5;
- yych = *(P->mrk = ++P->cur);
+ yych = *(mrk = ++cur);
switch (yych) {
- case 'T':
- case 't': goto yy424;
- default: goto yy54;
+ case 'Y':
+ case 'y': goto yy544;
+ default: goto yy62;
}
-yy419:
+yy514:
yyaccept = 62;
- yych = *(P->mrk = ++P->cur);
+ 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 440 "src/parser.re"
+ { NEWTOKEN(PSI_T_TO_BOOL); goto start; }
+#line 7930 "src/parser.c"
+yy516:
+ yyaccept = 5;
+ yych = *(mrk = ++cur);
+ switch (yych) {
+ case 'T':
+ case 't': goto yy546;
+ default: goto yy62;
+ }
+yy517:
+ 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 'c': goto yy548;
+ default: goto yy62;
+ }
+yy518:
+ 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 yy420;
+ case 'n': goto yy549;
+ default: goto yy62;
}
-yy420:
-#line 335 "src/parser.re"
- {RETURN(PSI_T_TO_OBJECT);}
-#line 7043 "src/parser.c"
-yy421:
+yy519:
yyaccept = 63;
- yych = *(P->mrk = ++P->cur);
+ 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 400 "src/parser.re"
+ { NEWTOKEN(PSI_T_WARNING); goto start; }
+#line 8029 "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 372 "src/parser.re"
+ { NEWTOKEN(PSI_T_CPP_ASM); goto start; }
+#line 8104 "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 376 "src/parser.re"
+ { NEWTOKEN(PSI_T_TYPEDEF); goto start; }
+#line 8281 "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 408 "src/parser.re"
+ { NEWTOKEN(PSI_T_CALLABLE); goto start; }
+#line 8370 "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 412 "src/parser.re"
+ { NEWTOKEN(PSI_T_CALLBACK); goto start; }
+#line 8445 "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 428 "src/parser.re"
+ { NEWTOKEN(PSI_T_FLOATVAL); goto start; }
+#line 8520 "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 414 "src/parser.re"
+ { NEWTOKEN(PSI_T_FUNCTION); goto start; }
+#line 8595 "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 yy422;
+ case 'n': goto yy561;
+ default: goto yy62;
+ }
+yy542:
+ yyaccept = 5;
+ yych = *(mrk = ++cur);
+ switch (yych) {
+ case 'E':
+ 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 436 "src/parser.re"
+ { NEWTOKEN(PSI_T_TO_ARRAY); goto start; }
+#line 8694 "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 439 "src/parser.re"
+ { NEWTOKEN(PSI_T_TO_FLOAT); goto start; }
+#line 8769 "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 369 "src/parser.re"
+ { NEWTOKEN(PSI_T_CPP_INLINE); goto start; }
+#line 8874 "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 389 "src/parser.re"
+ { NEWTOKEN(PSI_T_UNSIGNED); goto start; }
+#line 9031 "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 373 "src/parser.re"
+ { NEWTOKEN(PSI_T_VOLATILE); goto start; }
+#line 9106 "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 435 "src/parser.re"
+ { NEWTOKEN(PSI_T_TO_OBJECT); goto start; }
+#line 9205 "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 437 "src/parser.re"
+ { NEWTOKEN(PSI_T_TO_STRING); goto start; }
+#line 9280 "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 418 "src/parser.re"
+ { NEWTOKEN(PSI_T_PRE_ASSERT); goto start; }
+#line 9467 "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 370 "src/parser.re"
+ { NEWTOKEN(PSI_T_CPP_RESTRICT); goto start; }
+#line 9556 "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 419 "src/parser.re"
+ { NEWTOKEN(PSI_T_POST_ASSERT); goto start; }
+#line 9714 "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 368 "src/parser.re"
+ { NEWTOKEN(PSI_T_PRAGMA_ONCE); goto start; }
+#line 9806 "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 403 "src/parser.re"
+ { NEWTOKEN(PSI_T_INCLUDE_NEXT); goto start; }
+#line 9881 "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 371 "src/parser.re"
+ { NEWTOKEN(PSI_T_CPP_EXTENSION); goto start; }
+#line 9980 "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 445 "src/parser.re"
+ { parens = 2; goto cpp_attribute; }
+#line 10002 "src/parser.c"
}
-#line 347 "src/parser.re"
+#line 451 "src/parser.re"
- comment:
- P->tok = P->cur;
+ character: ;
-#line 7281 "src/parser.c"
+#line 10009 "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 469 "src/parser.re"
+ { escaped = false; goto character; }
+#line 10025 "src/parser.c"
+yy604:
+ ++cur;
+#line 456 "src/parser.re"
+ { NEWLINE(); goto character; }
+#line 10030 "src/parser.c"
+yy606:
+ ++cur;
+#line 458 "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 10045 "src/parser.c"
+yy608:
+ ++cur;
+#line 457 "src/parser.re"
+ { escaped = !escaped; goto character; }
+#line 10050 "src/parser.c"
+ }
+#line 471 "src/parser.re"
+
+
+ string: ;
+
+#line 10057 "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 489 "src/parser.re"
+ { escaped = false; goto string; }
+#line 10073 "src/parser.c"
+yy614:
+ ++cur;
+#line 476 "src/parser.re"
+ { NEWLINE(); goto string; }
+#line 10078 "src/parser.c"
+yy616:
+ ++cur;
+#line 478 "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 10093 "src/parser.c"
+yy618:
+ ++cur;
+#line 477 "src/parser.re"
+ { escaped = !escaped; goto string; }
+#line 10098 "src/parser.c"
+ }
+#line 491 "src/parser.re"
+
+
+ comment: ;
+
+#line 10105 "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 498 "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 10121 "src/parser.c"
+yy624:
+ ++cur;
+#line 496 "src/parser.re"
+ { NEWLINE(); goto comment; }
+#line 10126 "src/parser.c"
+yy626:
+ yych = *++cur;
+ switch (yych) {
+ case '/': goto yy627;
+ default: goto yy623;
+ }
+yy627:
+ ++cur;
+#line 497 "src/parser.re"
+ { NEWTOKEN(PSI_T_COMMENT); goto start; }
+#line 10137 "src/parser.c"
+ }
+#line 500 "src/parser.re"
+
+
+ comment_sl: ;
+
+#line 10144 "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 506 "src/parser.re"
+ { goto comment_sl; }
+#line 10158 "src/parser.c"
+yy633:
+ ++cur;
+#line 505 "src/parser.re"
+ { NEWTOKEN(PSI_T_COMMENT); NEWLINE(); goto start; }
+#line 10163 "src/parser.c"
}
-#line 355 "src/parser.re"
+#line 508 "src/parser.re"
- }
- return -1;
+
+ cpp_attribute: ;
+
+
+#line 10171 "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 517 "src/parser.re"
+ { goto cpp_attribute; }
+#line 10187 "src/parser.c"
+yy639:
+ ++cur;
+#line 516 "src/parser.re"
+ { NEWLINE(); goto cpp_attribute; }
+#line 10192 "src/parser.c"
+yy641:
+ ++cur;
+#line 514 "src/parser.re"
+ { ++parens; goto cpp_attribute; }
+#line 10197 "src/parser.c"
+yy643:
+ ++cur;
+#line 515 "src/parser.re"
+ { if (parens == 1) { NEWTOKEN(PSI_T_CPP_ATTRIBUTE); goto start; } else { --parens; goto cpp_attribute; } }
+#line 10202 "src/parser.c"
+ }
+#line 519 "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;
}