12ea648d0863510274ec76cc00642d31e499b1b8
[m6w6/ext-psi] / src / parser.c
1 /* Generated by re2c 0.16 on Fri Mar 24 12:21:07 2017 */
2 #line 1 "src/parser.re"
3 /*******************************************************************************
4 Copyright (c) 2016, Michael Wallner <mike@php.net>.
5 All rights reserved.
6
7 Redistribution and use in source and binary forms, with or without
8 modification, are permitted provided that the following conditions are met:
9
10 * Redistributions of source code must retain the above copyright notice,
11 this list of conditions and the following disclaimer.
12 * Redistributions in binary form must reproduce the above copyright
13 notice, this list of conditions and the following disclaimer in the
14 documentation and/or other materials provided with the distribution.
15
16 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
20 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
22 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
23 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 *******************************************************************************/
27
28 #include "php_psi_stdinc.h"
29 #include <sys/mman.h>
30 #include <assert.h>
31 #include <stdarg.h>
32
33 #include "parser.h"
34
35 #define YYMAXFILL 13
36 #ifndef YYMAXFILL
37 # define YYMAXFILL 256
38 #endif
39
40 struct psi_parser *psi_parser_init(struct psi_parser *P, psi_error_cb error, unsigned flags)
41 {
42 if (!P) {
43 P = malloc(sizeof(*P));
44 }
45 memset(P, 0, sizeof(*P));
46
47 psi_data_ctor_with_dtors(PSI_DATA(P), error, flags);
48
49 P->preproc = psi_cpp_init(P);
50
51 psi_cpp_load_defaults(P->preproc);
52
53 return P;
54 }
55
56 struct psi_parser_input *psi_parser_open_file(struct psi_parser *P, const char *filename, bool report_errors)
57 {
58 struct stat sb;
59 FILE *fp;
60 struct psi_parser_input *fb;
61
62 if (stat(filename, &sb)) {
63 if (report_errors) {
64 P->error(PSI_DATA(P), NULL, PSI_WARNING,
65 "Could not stat '%s': %s",
66 filename, strerror(errno));
67 }
68 return NULL;
69 }
70
71 if (!(fb = malloc(sizeof(*fb) + strlen(filename) + 1 + sb.st_size + YYMAXFILL))) {
72 if (report_errors) {
73 P->error(PSI_DATA(P), NULL, PSI_WARNING,
74 "Could not allocate %zu bytes for reading '%s': %s",
75 sb.st_size + YYMAXFILL, filename, strerror(errno));
76 }
77 return NULL;
78 }
79
80 if (!(fp = fopen(filename, "r"))) {
81 free(fb);
82 if (report_errors) {
83 P->error(PSI_DATA(P), NULL, PSI_WARNING,
84 "Could not open '%s' for reading: %s",
85 filename, strerror(errno));
86 }
87 return NULL;
88 }
89
90 if (sb.st_size != fread(fb->buffer, 1, sb.st_size, fp)) {
91 free(fb);
92 fclose(fp);
93 if (report_errors) {
94 P->error(PSI_DATA(P), NULL, PSI_WARNING,
95 "Could not read %zu bytes from '%s': %s",
96 sb.st_size + YYMAXFILL, filename, strerror(errno));
97 }
98 return NULL;
99 }
100
101 memset(fb->buffer + sb.st_size, 0, YYMAXFILL);
102 fb->length = sb.st_size;
103 fb->file = &fb->buffer[sb.st_size + YYMAXFILL];
104 memcpy(fb->file, filename, strlen(filename) + 1);
105
106 return fb;
107 }
108
109 struct psi_parser_input *psi_parser_open_string(struct psi_parser *P, const char *string, size_t length)
110 {
111 struct psi_parser_input *sb;
112
113 if (!(sb = malloc(sizeof(*sb) + sizeof("<stdin>") + length + YYMAXFILL))) {
114 P->error(PSI_DATA(P), NULL, PSI_WARNING,
115 "Could not allocate %zu bytes: %s",
116 length + YYMAXFILL, strerror(errno));
117 return NULL;
118 }
119
120 memcpy(sb->buffer, string, length);
121 memset(sb->buffer + length, 0, YYMAXFILL);
122
123 sb->length = length;
124 sb->file = &sb->buffer[length + YYMAXFILL];
125 memcpy(sb->file, "<stdin>", sizeof("<stdin>"));
126
127 return sb;
128 }
129
130 #if 0
131 static void psi_parser_register_constants(struct psi_parser *P)
132 {
133 zend_string *key;
134 zval *val;
135
136 ZEND_HASH_FOREACH_STR_KEY_VAL(&P->cpp.defs, key, val)
137 {
138 struct psi_impl_def_val *iv;
139 struct psi_const_type *ct;
140 struct psi_const *c;
141 const char *ctn;
142 token_t ctt;
143 impl_val tmp;
144 zend_string *str;
145
146 ZVAL_DEREF(val);
147 switch (Z_TYPE_P(val)) {
148 case IS_TRUE:
149 case IS_FALSE:
150 ctt = PSI_T_BOOL;
151 ctn = "bool";
152 tmp.zend.bval = Z_TYPE_P(val) == IS_TRUE;
153 break;
154 case IS_LONG:
155 ctt = PSI_T_INT;
156 ctn = "int";
157 tmp.zend.lval = Z_LVAL_P(val);
158 break;
159 case IS_DOUBLE:
160 ctt = PSI_T_FLOAT;
161 ctn = "float";
162 tmp.dval = Z_DVAL_P(val);
163 break;
164 default:
165 ctt = PSI_T_STRING;
166 ctn = "string";
167 str = zval_get_string(val);
168 tmp.zend.str = zend_string_dup(str, 1);
169 zend_string_release(str);
170 break;
171 }
172
173 iv = psi_impl_def_val_init(ctt, NULL);
174 iv->ival = tmp;
175 ct = psi_const_type_init(ctt, ctn);
176 c = psi_const_init(ct, key->val, iv);
177 if (!P->consts) {
178 P->consts = psi_plist_init((psi_plist_dtor) psi_const_free);
179 }
180 P->consts = psi_plist_add(P->consts, &c);
181 }
182 ZEND_HASH_FOREACH_END();
183 }
184 #endif
185
186 struct psi_plist *psi_parser_preprocess(struct psi_parser *P, struct psi_plist *tokens)
187 {
188 if (psi_cpp_process(P->preproc, &tokens)) {
189 return tokens;
190 }
191 return NULL;
192 }
193
194 bool psi_parser_process(struct psi_parser *P, struct psi_plist *tokens, size_t *processed)
195 {
196 if (psi_plist_count(tokens)) {
197 int rc;
198
199 if (P->flags & PSI_DEBUG) {
200 psi_parser_proc_debug = 1;
201 }
202 rc = psi_parser_proc_parse(P, tokens, processed);
203 if (P->flags & PSI_DEBUG) {
204 psi_parser_proc_debug = 0;
205 }
206 return rc == 0;
207 }
208 return true;
209 }
210
211 bool psi_parser_parse(struct psi_parser *P, struct psi_parser_input *I)
212 {
213 struct psi_plist *scanned, *preproc;
214 size_t processed = 0;
215
216 if (!(scanned = psi_parser_scan(P, I))) {
217 return false;
218 }
219
220 if (!(preproc = psi_parser_preprocess(P, scanned))) {
221 psi_plist_free(scanned);
222 return false;
223 }
224
225 if (!psi_parser_process(P, preproc, &processed)) {
226 psi_plist_free(preproc);
227 return false;
228 }
229
230 psi_plist_free(preproc);
231 return true;
232 }
233
234 void psi_parser_dtor(struct psi_parser *P)
235 {
236 psi_cpp_free(&P->preproc);
237 psi_data_dtor(PSI_DATA(P));
238
239 memset(P, 0, sizeof(*P));
240 }
241
242 void psi_parser_free(struct psi_parser **P)
243 {
244 if (*P) {
245 psi_parser_dtor(*P);
246 free(*P);
247 *P = NULL;
248 }
249 }
250
251 #define NEWLINE() \
252 eol = cur; \
253 ++I->lines
254
255 #define NEWTOKEN(t) \
256 token = psi_token_init(t, tok, cur - tok, tok - eol + 1, I->lines, I->file); \
257 tokens = psi_plist_add(tokens, &token); \
258 if (P->flags & PSI_DEBUG) { \
259 fprintf(stderr, "PSI< "); \
260 psi_token_dump(2, token); \
261 }
262
263
264 struct psi_plist *psi_parser_scan(struct psi_parser *P, struct psi_parser_input *I)
265 {
266 struct psi_plist *tokens;
267 struct psi_token *token;
268 const char *tok, *cur, *lim, *mrk, *eol;
269
270 tok = mrk = eol = cur = I->buffer;
271 lim = I->buffer + I->length;
272 I->lines = 1;
273 tokens = psi_plist_init((void (*)(void *)) psi_token_free);
274
275 start: ;
276 tok = cur;
277
278
279 #line 280 "src/parser.c"
280 {
281 unsigned char yych;
282 unsigned int yyaccept = 0;
283 if ((lim - cur) < 13) if (cur >= lim) goto done;;
284 yych = *cur;
285 switch (yych) {
286 case 0x00:
287 case 0x01:
288 case 0x02:
289 case 0x03:
290 case 0x04:
291 case 0x05:
292 case 0x06:
293 case 0x07:
294 case 0x08:
295 case '\v':
296 case '\f':
297 case 0x0E:
298 case 0x0F:
299 case 0x10:
300 case 0x11:
301 case 0x12:
302 case 0x13:
303 case 0x14:
304 case 0x15:
305 case 0x16:
306 case 0x17:
307 case 0x18:
308 case 0x19:
309 case 0x1A:
310 case 0x1B:
311 case 0x1C:
312 case 0x1D:
313 case 0x1E:
314 case 0x1F:
315 case '?':
316 case '@':
317 case '`':
318 case 0x7F: goto yy2;
319 case '\t':
320 case ' ': goto yy4;
321 case '\n':
322 case '\r': goto yy7;
323 case '!': goto yy9;
324 case '"': goto yy11;
325 case '#': goto yy12;
326 case '$': goto yy14;
327 case '%': goto yy15;
328 case '&': goto yy17;
329 case '\'': goto yy19;
330 case '(': goto yy20;
331 case ')': goto yy22;
332 case '*': goto yy24;
333 case '+': goto yy26;
334 case ',': goto yy28;
335 case '-': goto yy30;
336 case '.': goto yy32;
337 case '/': goto yy34;
338 case '0': goto yy36;
339 case '1':
340 case '2':
341 case '3':
342 case '4':
343 case '5':
344 case '6':
345 case '7':
346 case '8':
347 case '9': goto yy38;
348 case ':': goto yy40;
349 case ';': goto yy42;
350 case '<': goto yy44;
351 case '=': goto yy46;
352 case '>': goto yy48;
353 case 'A':
354 case 'a': goto yy50;
355 case 'B':
356 case 'b': goto yy52;
357 case 'C':
358 case 'c': goto yy53;
359 case 'D':
360 case 'd': goto yy54;
361 case 'E':
362 case 'e': goto yy55;
363 case 'F':
364 case 'f': goto yy56;
365 case 'I':
366 case 'i': goto yy59;
367 case 'L': goto yy60;
368 case 'M':
369 case 'm': goto yy61;
370 case 'N':
371 case 'n': goto yy62;
372 case 'O':
373 case 'o': goto yy63;
374 case 'P':
375 case 'p': goto yy64;
376 case 'R':
377 case 'r': goto yy65;
378 case 'S':
379 case 's': goto yy66;
380 case 'T':
381 case 't': goto yy67;
382 case 'U':
383 case 'u': goto yy68;
384 case 'V':
385 case 'v': goto yy69;
386 case 'W':
387 case 'w': goto yy70;
388 case 'Z':
389 case 'z': goto yy71;
390 case '[': goto yy72;
391 case '\\': goto yy74;
392 case ']': goto yy76;
393 case '^': goto yy78;
394 case 'l': goto yy80;
395 case '{': goto yy81;
396 case '|': goto yy83;
397 case '}': goto yy85;
398 case '~': goto yy87;
399 default: goto yy57;
400 }
401 yy2:
402 ++cur;
403 yy3:
404 #line 433 "src/parser.re"
405 { NEWTOKEN(-2); goto error; }
406 #line 407 "src/parser.c"
407 yy4:
408 ++cur;
409 if (lim <= cur) if (cur >= lim) goto done;;
410 yych = *cur;
411 switch (yych) {
412 case '\t':
413 case ' ': goto yy4;
414 default: goto yy6;
415 }
416 yy6:
417 #line 432 "src/parser.re"
418 { NEWTOKEN(PSI_T_WHITESPACE); goto start; }
419 #line 420 "src/parser.c"
420 yy7:
421 ++cur;
422 #line 431 "src/parser.re"
423 { NEWTOKEN(PSI_T_EOL); NEWLINE(); goto start; }
424 #line 425 "src/parser.c"
425 yy9:
426 ++cur;
427 switch ((yych = *cur)) {
428 case '=': goto yy89;
429 default: goto yy10;
430 }
431 yy10:
432 #line 335 "src/parser.re"
433 { NEWTOKEN(PSI_T_NOT); goto start; }
434 #line 435 "src/parser.c"
435 yy11:
436 yyaccept = 0;
437 yych = *(mrk = ++cur);
438 switch (yych) {
439 case '"': goto yy3;
440 default: goto yy91;
441 }
442 yy12:
443 ++cur;
444 #line 318 "src/parser.re"
445 { NEWTOKEN(PSI_T_HASH); goto start; }
446 #line 447 "src/parser.c"
447 yy14:
448 yych = *++cur;
449 switch (yych) {
450 case 0x00:
451 case 0x01:
452 case 0x02:
453 case 0x03:
454 case 0x04:
455 case 0x05:
456 case 0x06:
457 case 0x07:
458 case 0x08:
459 case '\t':
460 case '\n':
461 case '\v':
462 case '\f':
463 case '\r':
464 case 0x0E:
465 case 0x0F:
466 case 0x10:
467 case 0x11:
468 case 0x12:
469 case 0x13:
470 case 0x14:
471 case 0x15:
472 case 0x16:
473 case 0x17:
474 case 0x18:
475 case 0x19:
476 case 0x1A:
477 case 0x1B:
478 case 0x1C:
479 case 0x1D:
480 case 0x1E:
481 case 0x1F:
482 case ' ':
483 case '!':
484 case '"':
485 case '#':
486 case '$':
487 case '%':
488 case '&':
489 case '\'':
490 case '(':
491 case ')':
492 case '*':
493 case '+':
494 case ',':
495 case '-':
496 case '.':
497 case '/':
498 case ':':
499 case ';':
500 case '<':
501 case '=':
502 case '>':
503 case '?':
504 case '@':
505 case '[':
506 case '\\':
507 case ']':
508 case '^':
509 case '`':
510 case '{':
511 case '|':
512 case '}':
513 case '~':
514 case 0x7F: goto yy3;
515 default: goto yy93;
516 }
517 yy15:
518 ++cur;
519 #line 336 "src/parser.re"
520 { NEWTOKEN(PSI_T_MODULO); goto start; }
521 #line 522 "src/parser.c"
522 yy17:
523 ++cur;
524 switch ((yych = *cur)) {
525 case '&': goto yy96;
526 default: goto yy18;
527 }
528 yy18:
529 #line 337 "src/parser.re"
530 { NEWTOKEN(PSI_T_AMPERSAND); goto start; }
531 #line 532 "src/parser.c"
532 yy19:
533 yyaccept = 0;
534 yych = *(mrk = ++cur);
535 switch (yych) {
536 case '\'': goto yy3;
537 default: goto yy98;
538 }
539 yy20:
540 ++cur;
541 #line 319 "src/parser.re"
542 { NEWTOKEN(PSI_T_LPAREN); goto start; }
543 #line 544 "src/parser.c"
544 yy22:
545 ++cur;
546 #line 320 "src/parser.re"
547 { NEWTOKEN(PSI_T_RPAREN); goto start; }
548 #line 549 "src/parser.c"
549 yy24:
550 ++cur;
551 #line 333 "src/parser.re"
552 { NEWTOKEN(PSI_T_ASTERISK); goto start; }
553 #line 554 "src/parser.c"
554 yy26:
555 ++cur;
556 switch ((yych = *cur)) {
557 case '.': goto yy100;
558 case '0': goto yy36;
559 case '1':
560 case '2':
561 case '3':
562 case '4':
563 case '5':
564 case '6':
565 case '7':
566 case '8':
567 case '9': goto yy38;
568 default: goto yy27;
569 }
570 yy27:
571 #line 338 "src/parser.re"
572 { NEWTOKEN(PSI_T_PLUS); goto start; }
573 #line 574 "src/parser.c"
574 yy28:
575 ++cur;
576 #line 322 "src/parser.re"
577 { NEWTOKEN(PSI_T_COMMA); goto start; }
578 #line 579 "src/parser.c"
579 yy30:
580 ++cur;
581 switch ((yych = *cur)) {
582 case '.': goto yy100;
583 case '0': goto yy36;
584 case '1':
585 case '2':
586 case '3':
587 case '4':
588 case '5':
589 case '6':
590 case '7':
591 case '8':
592 case '9': goto yy38;
593 default: goto yy31;
594 }
595 yy31:
596 #line 339 "src/parser.re"
597 { NEWTOKEN(PSI_T_MINUS); goto start; }
598 #line 599 "src/parser.c"
599 yy32:
600 yyaccept = 1;
601 yych = *(mrk = ++cur);
602 switch (yych) {
603 case '.': goto yy102;
604 case '0':
605 case '1':
606 case '2':
607 case '3':
608 case '4':
609 case '5':
610 case '6':
611 case '7':
612 case '8':
613 case '9': goto yy100;
614 case 'D':
615 case 'd': goto yy104;
616 case 'F':
617 case 'L':
618 case 'f':
619 case 'l': goto yy105;
620 default: goto yy33;
621 }
622 yy33:
623 #line 350 "src/parser.re"
624 { NEWTOKEN(PSI_T_PERIOD); goto start; }
625 #line 626 "src/parser.c"
626 yy34:
627 ++cur;
628 switch ((yych = *cur)) {
629 case '*': goto yy106;
630 case '/': goto yy108;
631 default: goto yy35;
632 }
633 yy35:
634 #line 340 "src/parser.re"
635 { NEWTOKEN(PSI_T_SLASH); goto start; }
636 #line 637 "src/parser.c"
637 yy36:
638 yyaccept = 2;
639 yych = *(mrk = ++cur);
640 switch (yych) {
641 case '.': goto yy110;
642 case '0':
643 case '1':
644 case '2':
645 case '3':
646 case '4':
647 case '5':
648 case '6':
649 case '7': goto yy112;
650 case 'E':
651 case 'e': goto yy114;
652 case 'L':
653 case 'l': goto yy115;
654 case 'U':
655 case 'u': goto yy116;
656 case 'X':
657 case 'x': goto yy117;
658 default: goto yy37;
659 }
660 yy37:
661 #line 424 "src/parser.re"
662 { NEWTOKEN(PSI_T_NUMBER); goto start; }
663 #line 664 "src/parser.c"
664 yy38:
665 yyaccept = 2;
666 mrk = ++cur;
667 if ((lim - cur) < 3) if (cur >= lim) goto done;;
668 yych = *cur;
669 switch (yych) {
670 case '.': goto yy110;
671 case '0':
672 case '1':
673 case '2':
674 case '3':
675 case '4':
676 case '5':
677 case '6':
678 case '7':
679 case '8':
680 case '9': goto yy38;
681 case 'E':
682 case 'e': goto yy114;
683 case 'L':
684 case 'l': goto yy115;
685 case 'U':
686 case 'u': goto yy116;
687 default: goto yy37;
688 }
689 yy40:
690 ++cur;
691 #line 323 "src/parser.re"
692 { NEWTOKEN(PSI_T_COLON); goto start; }
693 #line 694 "src/parser.c"
694 yy42:
695 ++cur;
696 #line 321 "src/parser.re"
697 { NEWTOKEN(PSI_T_EOS); goto start; }
698 #line 699 "src/parser.c"
699 yy44:
700 yyaccept = 3;
701 yych = *(mrk = ++cur);
702 switch (yych) {
703 case '-':
704 case '.':
705 case '/':
706 case '0':
707 case '1':
708 case '2':
709 case '3':
710 case '4':
711 case '5':
712 case '6':
713 case '7':
714 case '8':
715 case '9':
716 case 'A':
717 case 'B':
718 case 'C':
719 case 'D':
720 case 'E':
721 case 'F':
722 case 'G':
723 case 'H':
724 case 'I':
725 case 'J':
726 case 'K':
727 case 'L':
728 case 'M':
729 case 'N':
730 case 'O':
731 case 'P':
732 case 'Q':
733 case 'R':
734 case 'S':
735 case 'T':
736 case 'U':
737 case 'V':
738 case 'W':
739 case 'X':
740 case 'Y':
741 case 'Z':
742 case '_':
743 case 'a':
744 case 'b':
745 case 'c':
746 case 'd':
747 case 'e':
748 case 'f':
749 case 'g':
750 case 'h':
751 case 'i':
752 case 'j':
753 case 'k':
754 case 'l':
755 case 'm':
756 case 'n':
757 case 'o':
758 case 'p':
759 case 'q':
760 case 'r':
761 case 's':
762 case 't':
763 case 'u':
764 case 'v':
765 case 'w':
766 case 'x':
767 case 'y':
768 case 'z': goto yy118;
769 case '<': goto yy120;
770 case '=': goto yy122;
771 default: goto yy45;
772 }
773 yy45:
774 #line 348 "src/parser.re"
775 { NEWTOKEN(PSI_T_LCHEVR); goto start; }
776 #line 777 "src/parser.c"
777 yy46:
778 ++cur;
779 switch ((yych = *cur)) {
780 case '=': goto yy124;
781 default: goto yy47;
782 }
783 yy47:
784 #line 332 "src/parser.re"
785 { NEWTOKEN(PSI_T_EQUALS); goto start; }
786 #line 787 "src/parser.c"
787 yy48:
788 ++cur;
789 switch ((yych = *cur)) {
790 case '=': goto yy126;
791 case '>': goto yy128;
792 default: goto yy49;
793 }
794 yy49:
795 #line 349 "src/parser.re"
796 { NEWTOKEN(PSI_T_RCHEVR); goto start; }
797 #line 798 "src/parser.c"
798 yy50:
799 yyaccept = 4;
800 yych = *(mrk = ++cur);
801 switch (yych) {
802 case 'R':
803 case 'r': goto yy130;
804 default: goto yy58;
805 }
806 yy51:
807 #line 425 "src/parser.re"
808 { NEWTOKEN(PSI_T_NAME); goto start; }
809 #line 810 "src/parser.c"
810 yy52:
811 yyaccept = 4;
812 yych = *(mrk = ++cur);
813 switch (yych) {
814 case 'O':
815 case 'o': goto yy132;
816 default: goto yy58;
817 }
818 yy53:
819 yyaccept = 4;
820 yych = *(mrk = ++cur);
821 switch (yych) {
822 case 'A':
823 case 'a': goto yy133;
824 case 'H':
825 case 'h': goto yy134;
826 case 'O':
827 case 'o': goto yy135;
828 default: goto yy58;
829 }
830 yy54:
831 yyaccept = 4;
832 yych = *(mrk = ++cur);
833 switch (yych) {
834 case 'E':
835 case 'e': goto yy136;
836 case 'O':
837 case 'o': goto yy137;
838 default: goto yy58;
839 }
840 yy55:
841 yyaccept = 4;
842 yych = *(mrk = ++cur);
843 switch (yych) {
844 case 'L':
845 case 'l': goto yy138;
846 case 'N':
847 case 'n': goto yy139;
848 case 'R':
849 case 'r': goto yy140;
850 default: goto yy58;
851 }
852 yy56:
853 yyaccept = 4;
854 yych = *(mrk = ++cur);
855 switch (yych) {
856 case 'A':
857 case 'a': goto yy141;
858 case 'L':
859 case 'l': goto yy142;
860 case 'R':
861 case 'r': goto yy143;
862 case 'U':
863 case 'u': goto yy144;
864 default: goto yy58;
865 }
866 yy57:
867 yyaccept = 4;
868 mrk = ++cur;
869 if (lim <= cur) if (cur >= lim) goto done;;
870 yych = *cur;
871 yy58:
872 switch (yych) {
873 case 0x00:
874 case 0x01:
875 case 0x02:
876 case 0x03:
877 case 0x04:
878 case 0x05:
879 case 0x06:
880 case 0x07:
881 case 0x08:
882 case '\t':
883 case '\n':
884 case '\v':
885 case '\f':
886 case '\r':
887 case 0x0E:
888 case 0x0F:
889 case 0x10:
890 case 0x11:
891 case 0x12:
892 case 0x13:
893 case 0x14:
894 case 0x15:
895 case 0x16:
896 case 0x17:
897 case 0x18:
898 case 0x19:
899 case 0x1A:
900 case 0x1B:
901 case 0x1C:
902 case 0x1D:
903 case 0x1E:
904 case 0x1F:
905 case ' ':
906 case '!':
907 case '"':
908 case '#':
909 case '$':
910 case '%':
911 case '&':
912 case '\'':
913 case '(':
914 case ')':
915 case '*':
916 case '+':
917 case ',':
918 case '-':
919 case '.':
920 case '/':
921 case ':':
922 case ';':
923 case '<':
924 case '=':
925 case '>':
926 case '?':
927 case '@':
928 case '[':
929 case ']':
930 case '^':
931 case '`':
932 case '{':
933 case '|':
934 case '}':
935 case '~':
936 case 0x7F: goto yy51;
937 case '\\': goto yy131;
938 default: goto yy57;
939 }
940 yy59:
941 yyaccept = 4;
942 yych = *(mrk = ++cur);
943 switch (yych) {
944 case 'F':
945 case 'f': goto yy145;
946 case 'N':
947 case 'n': goto yy147;
948 default: goto yy58;
949 }
950 yy60:
951 yyaccept = 4;
952 yych = *(mrk = ++cur);
953 switch (yych) {
954 case '"': goto yy148;
955 case '\'': goto yy149;
956 case 'E':
957 case 'e': goto yy150;
958 case 'I':
959 case 'i': goto yy151;
960 case 'O':
961 case 'o': goto yy152;
962 default: goto yy58;
963 }
964 yy61:
965 yyaccept = 4;
966 yych = *(mrk = ++cur);
967 switch (yych) {
968 case 'I':
969 case 'i': goto yy153;
970 default: goto yy58;
971 }
972 yy62:
973 yyaccept = 4;
974 yych = *(mrk = ++cur);
975 switch (yych) {
976 case 'U':
977 case 'u': goto yy154;
978 default: goto yy58;
979 }
980 yy63:
981 yyaccept = 4;
982 yych = *(mrk = ++cur);
983 switch (yych) {
984 case 'B':
985 case 'b': goto yy155;
986 default: goto yy58;
987 }
988 yy64:
989 yyaccept = 4;
990 yych = *(mrk = ++cur);
991 switch (yych) {
992 case 'A':
993 case 'a': goto yy156;
994 case 'O':
995 case 'o': goto yy157;
996 case 'R':
997 case 'r': goto yy158;
998 default: goto yy58;
999 }
1000 yy65:
1001 yyaccept = 4;
1002 yych = *(mrk = ++cur);
1003 switch (yych) {
1004 case 'E':
1005 case 'e': goto yy159;
1006 default: goto yy58;
1007 }
1008 yy66:
1009 yyaccept = 4;
1010 yych = *(mrk = ++cur);
1011 switch (yych) {
1012 case 'E':
1013 case 'e': goto yy160;
1014 case 'H':
1015 case 'h': goto yy161;
1016 case 'I':
1017 case 'i': goto yy162;
1018 case 'T':
1019 case 't': goto yy163;
1020 default: goto yy58;
1021 }
1022 yy67:
1023 yyaccept = 4;
1024 yych = *(mrk = ++cur);
1025 switch (yych) {
1026 case 'E':
1027 case 'e': goto yy164;
1028 case 'O':
1029 case 'o': goto yy165;
1030 case 'R':
1031 case 'r': goto yy166;
1032 case 'Y':
1033 case 'y': goto yy167;
1034 default: goto yy58;
1035 }
1036 yy68:
1037 yyaccept = 4;
1038 yych = *(mrk = ++cur);
1039 switch (yych) {
1040 case 'I':
1041 case 'i': goto yy168;
1042 case 'N':
1043 case 'n': goto yy169;
1044 default: goto yy58;
1045 }
1046 yy69:
1047 yyaccept = 4;
1048 yych = *(mrk = ++cur);
1049 switch (yych) {
1050 case 'O':
1051 case 'o': goto yy170;
1052 default: goto yy58;
1053 }
1054 yy70:
1055 yyaccept = 4;
1056 yych = *(mrk = ++cur);
1057 switch (yych) {
1058 case 'A':
1059 case 'a': goto yy171;
1060 default: goto yy58;
1061 }
1062 yy71:
1063 yyaccept = 4;
1064 yych = *(mrk = ++cur);
1065 switch (yych) {
1066 case 'V':
1067 case 'v': goto yy172;
1068 default: goto yy58;
1069 }
1070 yy72:
1071 ++cur;
1072 #line 326 "src/parser.re"
1073 { NEWTOKEN(PSI_T_LBRACKET); goto start; }
1074 #line 1075 "src/parser.c"
1075 yy74:
1076 ++cur;
1077 switch ((yych = *cur)) {
1078 case 0x00:
1079 case 0x01:
1080 case 0x02:
1081 case 0x03:
1082 case 0x04:
1083 case 0x05:
1084 case 0x06:
1085 case 0x07:
1086 case 0x08:
1087 case '\t':
1088 case '\n':
1089 case '\v':
1090 case '\f':
1091 case '\r':
1092 case 0x0E:
1093 case 0x0F:
1094 case 0x10:
1095 case 0x11:
1096 case 0x12:
1097 case 0x13:
1098 case 0x14:
1099 case 0x15:
1100 case 0x16:
1101 case 0x17:
1102 case 0x18:
1103 case 0x19:
1104 case 0x1A:
1105 case 0x1B:
1106 case 0x1C:
1107 case 0x1D:
1108 case 0x1E:
1109 case 0x1F:
1110 case ' ':
1111 case '!':
1112 case '"':
1113 case '#':
1114 case '$':
1115 case '%':
1116 case '&':
1117 case '\'':
1118 case '(':
1119 case ')':
1120 case '*':
1121 case '+':
1122 case ',':
1123 case '-':
1124 case '.':
1125 case '/':
1126 case '0':
1127 case '1':
1128 case '2':
1129 case '3':
1130 case '4':
1131 case '5':
1132 case '6':
1133 case '7':
1134 case '8':
1135 case '9':
1136 case ':':
1137 case ';':
1138 case '<':
1139 case '=':
1140 case '>':
1141 case '?':
1142 case '@':
1143 case '[':
1144 case '\\':
1145 case ']':
1146 case '^':
1147 case '`':
1148 case '{':
1149 case '|':
1150 case '}':
1151 case '~':
1152 case 0x7F: goto yy75;
1153 default: goto yy173;
1154 }
1155 yy75:
1156 #line 341 "src/parser.re"
1157 { NEWTOKEN(PSI_T_BSLASH); goto start; }
1158 #line 1159 "src/parser.c"
1159 yy76:
1160 ++cur;
1161 #line 327 "src/parser.re"
1162 { NEWTOKEN(PSI_T_RBRACKET); goto start; }
1163 #line 1164 "src/parser.c"
1164 yy78:
1165 ++cur;
1166 #line 343 "src/parser.re"
1167 { NEWTOKEN(PSI_T_CARET); goto start; }
1168 #line 1169 "src/parser.c"
1169 yy80:
1170 yyaccept = 4;
1171 yych = *(mrk = ++cur);
1172 switch (yych) {
1173 case 'E':
1174 case 'e': goto yy150;
1175 case 'I':
1176 case 'i': goto yy151;
1177 case 'O':
1178 case 'o': goto yy152;
1179 default: goto yy58;
1180 }
1181 yy81:
1182 ++cur;
1183 #line 324 "src/parser.re"
1184 { NEWTOKEN(PSI_T_LBRACE); goto start; }
1185 #line 1186 "src/parser.c"
1186 yy83:
1187 ++cur;
1188 switch ((yych = *cur)) {
1189 case '|': goto yy176;
1190 default: goto yy84;
1191 }
1192 yy84:
1193 #line 342 "src/parser.re"
1194 { NEWTOKEN(PSI_T_PIPE); goto start; }
1195 #line 1196 "src/parser.c"
1196 yy85:
1197 ++cur;
1198 #line 325 "src/parser.re"
1199 { NEWTOKEN(PSI_T_RBRACE); goto start; }
1200 #line 1201 "src/parser.c"
1201 yy87:
1202 ++cur;
1203 #line 334 "src/parser.re"
1204 { NEWTOKEN(PSI_T_TILDE); goto start; }
1205 #line 1206 "src/parser.c"
1206 yy89:
1207 ++cur;
1208 #line 328 "src/parser.re"
1209 { NEWTOKEN(PSI_T_CMP_NE); goto start; }
1210 #line 1211 "src/parser.c"
1211 yy91:
1212 ++cur;
1213 if (lim <= cur) if (cur >= lim) goto done;;
1214 yych = *cur;
1215 switch (yych) {
1216 case '"': goto yy178;
1217 default: goto yy91;
1218 }
1219 yy93:
1220 ++cur;
1221 if (lim <= cur) if (cur >= lim) goto done;;
1222 yych = *cur;
1223 switch (yych) {
1224 case 0x00:
1225 case 0x01:
1226 case 0x02:
1227 case 0x03:
1228 case 0x04:
1229 case 0x05:
1230 case 0x06:
1231 case 0x07:
1232 case 0x08:
1233 case '\t':
1234 case '\n':
1235 case '\v':
1236 case '\f':
1237 case '\r':
1238 case 0x0E:
1239 case 0x0F:
1240 case 0x10:
1241 case 0x11:
1242 case 0x12:
1243 case 0x13:
1244 case 0x14:
1245 case 0x15:
1246 case 0x16:
1247 case 0x17:
1248 case 0x18:
1249 case 0x19:
1250 case 0x1A:
1251 case 0x1B:
1252 case 0x1C:
1253 case 0x1D:
1254 case 0x1E:
1255 case 0x1F:
1256 case ' ':
1257 case '!':
1258 case '"':
1259 case '#':
1260 case '$':
1261 case '%':
1262 case '&':
1263 case '\'':
1264 case '(':
1265 case ')':
1266 case '*':
1267 case '+':
1268 case ',':
1269 case '-':
1270 case '.':
1271 case '/':
1272 case ':':
1273 case ';':
1274 case '<':
1275 case '=':
1276 case '>':
1277 case '?':
1278 case '@':
1279 case '[':
1280 case '\\':
1281 case ']':
1282 case '^':
1283 case '`':
1284 case '{':
1285 case '|':
1286 case '}':
1287 case '~':
1288 case 0x7F: goto yy95;
1289 default: goto yy93;
1290 }
1291 yy95:
1292 #line 427 "src/parser.re"
1293 { NEWTOKEN(PSI_T_DOLLAR_NAME); goto start; }
1294 #line 1295 "src/parser.c"
1295 yy96:
1296 ++cur;
1297 #line 330 "src/parser.re"
1298 { NEWTOKEN(PSI_T_AND); goto start; }
1299 #line 1300 "src/parser.c"
1300 yy98:
1301 ++cur;
1302 if (lim <= cur) if (cur >= lim) goto done;;
1303 yych = *cur;
1304 switch (yych) {
1305 case '\'': goto yy180;
1306 case '\\': goto yy182;
1307 default: goto yy98;
1308 }
1309 yy100:
1310 yyaccept = 2;
1311 mrk = ++cur;
1312 if ((lim - cur) < 2) if (cur >= lim) goto done;;
1313 yych = *cur;
1314 switch (yych) {
1315 case '0':
1316 case '1':
1317 case '2':
1318 case '3':
1319 case '4':
1320 case '5':
1321 case '6':
1322 case '7':
1323 case '8':
1324 case '9': goto yy100;
1325 case 'D':
1326 case 'd': goto yy104;
1327 case 'F':
1328 case 'L':
1329 case 'f':
1330 case 'l': goto yy105;
1331 default: goto yy37;
1332 }
1333 yy102:
1334 yych = *++cur;
1335 switch (yych) {
1336 case '.': goto yy184;
1337 default: goto yy103;
1338 }
1339 yy103:
1340 cur = mrk;
1341 switch (yyaccept) {
1342 case 0: goto yy3;
1343 case 1: goto yy33;
1344 case 2: goto yy37;
1345 case 3: goto yy45;
1346 case 4: goto yy51;
1347 case 5: goto yy146;
1348 case 6: goto yy175;
1349 case 7: goto yy214;
1350 case 8: goto yy216;
1351 case 9: goto yy218;
1352 case 10: goto yy228;
1353 case 11: goto yy181;
1354 case 12: goto yy250;
1355 case 13: goto yy253;
1356 case 14: goto yy259;
1357 case 15: goto yy261;
1358 case 16: goto yy264;
1359 case 17: goto yy269;
1360 case 18: goto yy280;
1361 case 19: goto yy283;
1362 case 20: goto yy298;
1363 case 21: goto yy306;
1364 case 22: goto yy313;
1365 case 23: goto yy316;
1366 case 24: goto yy318;
1367 case 25: goto yy325;
1368 case 26: goto yy327;
1369 case 27: goto yy331;
1370 case 28: goto yy333;
1371 case 29: goto yy335;
1372 case 30: goto yy337;
1373 case 31: goto yy340;
1374 case 32: goto yy349;
1375 case 33: goto yy357;
1376 case 34: goto yy376;
1377 case 35: goto yy378;
1378 case 36: goto yy382;
1379 case 37: goto yy387;
1380 case 38: goto yy389;
1381 case 39: goto yy391;
1382 case 40: goto yy395;
1383 case 41: goto yy401;
1384 case 42: goto yy403;
1385 case 43: goto yy405;
1386 case 44: goto yy407;
1387 case 45: goto yy412;
1388 case 46: goto yy414;
1389 case 47: goto yy416;
1390 case 48: goto yy418;
1391 case 49: goto yy420;
1392 case 50: goto yy422;
1393 case 51: goto yy424;
1394 case 52: goto yy429;
1395 case 53: goto yy440;
1396 case 54: goto yy444;
1397 case 55: goto yy448;
1398 case 56: goto yy450;
1399 case 57: goto yy452;
1400 case 58: goto yy454;
1401 case 59: goto yy456;
1402 case 60: goto yy461;
1403 case 61: goto yy466;
1404 case 62: goto yy471;
1405 case 63: goto yy474;
1406 case 64: goto yy476;
1407 case 65: goto yy478;
1408 case 66: goto yy480;
1409 case 67: goto yy482;
1410 case 68: goto yy487;
1411 case 69: goto yy489;
1412 case 70: goto yy493;
1413 case 71: goto yy495;
1414 case 72: goto yy497;
1415 case 73: goto yy499;
1416 case 74: goto yy504;
1417 case 75: goto yy506;
1418 case 76: goto yy510;
1419 case 77: goto yy513;
1420 default: goto yy515;
1421 }
1422 yy104:
1423 yych = *++cur;
1424 switch (yych) {
1425 case 'D':
1426 case 'F':
1427 case 'L':
1428 case 'd':
1429 case 'f':
1430 case 'l': goto yy105;
1431 default: goto yy103;
1432 }
1433 yy105:
1434 yych = *++cur;
1435 goto yy37;
1436 yy106:
1437 ++cur;
1438 #line 316 "src/parser.re"
1439 { goto comment; }
1440 #line 1441 "src/parser.c"
1441 yy108:
1442 ++cur;
1443 #line 317 "src/parser.re"
1444 { goto comment_sl; }
1445 #line 1446 "src/parser.c"
1446 yy110:
1447 yyaccept = 2;
1448 mrk = ++cur;
1449 if ((lim - cur) < 3) if (cur >= lim) goto done;;
1450 yych = *cur;
1451 switch (yych) {
1452 case '0':
1453 case '1':
1454 case '2':
1455 case '3':
1456 case '4':
1457 case '5':
1458 case '6':
1459 case '7':
1460 case '8':
1461 case '9': goto yy110;
1462 case 'D':
1463 case 'd': goto yy104;
1464 case 'E':
1465 case 'e': goto yy114;
1466 case 'F':
1467 case 'L':
1468 case 'f':
1469 case 'l': goto yy105;
1470 default: goto yy37;
1471 }
1472 yy112:
1473 ++cur;
1474 if ((lim - cur) < 3) if (cur >= lim) goto done;;
1475 yych = *cur;
1476 switch (yych) {
1477 case '0':
1478 case '1':
1479 case '2':
1480 case '3':
1481 case '4':
1482 case '5':
1483 case '6':
1484 case '7': goto yy112;
1485 case 'L':
1486 case 'l': goto yy115;
1487 case 'U':
1488 case 'u': goto yy116;
1489 default: goto yy37;
1490 }
1491 yy114:
1492 yych = *++cur;
1493 switch (yych) {
1494 case '+':
1495 case '-': goto yy186;
1496 case '0':
1497 case '1':
1498 case '2':
1499 case '3':
1500 case '4':
1501 case '5':
1502 case '6':
1503 case '7':
1504 case '8':
1505 case '9': goto yy100;
1506 default: goto yy103;
1507 }
1508 yy115:
1509 yyaccept = 2;
1510 yych = *(mrk = ++cur);
1511 switch (yych) {
1512 case 'L':
1513 case 'l': goto yy187;
1514 case 'U':
1515 case 'u': goto yy105;
1516 default: goto yy37;
1517 }
1518 yy116:
1519 yych = *++cur;
1520 switch (yych) {
1521 case 'L':
1522 case 'l': goto yy188;
1523 default: goto yy37;
1524 }
1525 yy117:
1526 yych = *++cur;
1527 switch (yych) {
1528 case '0':
1529 case '1':
1530 case '2':
1531 case '3':
1532 case '4':
1533 case '5':
1534 case '6':
1535 case '7':
1536 case '8':
1537 case '9':
1538 case 'A':
1539 case 'B':
1540 case 'C':
1541 case 'D':
1542 case 'E':
1543 case 'F':
1544 case 'a':
1545 case 'b':
1546 case 'c':
1547 case 'd':
1548 case 'e':
1549 case 'f': goto yy189;
1550 default: goto yy103;
1551 }
1552 yy118:
1553 ++cur;
1554 if (lim <= cur) if (cur >= lim) goto done;;
1555 yych = *cur;
1556 switch (yych) {
1557 case '-':
1558 case '.':
1559 case '/':
1560 case '0':
1561 case '1':
1562 case '2':
1563 case '3':
1564 case '4':
1565 case '5':
1566 case '6':
1567 case '7':
1568 case '8':
1569 case '9':
1570 case 'A':
1571 case 'B':
1572 case 'C':
1573 case 'D':
1574 case 'E':
1575 case 'F':
1576 case 'G':
1577 case 'H':
1578 case 'I':
1579 case 'J':
1580 case 'K':
1581 case 'L':
1582 case 'M':
1583 case 'N':
1584 case 'O':
1585 case 'P':
1586 case 'Q':
1587 case 'R':
1588 case 'S':
1589 case 'T':
1590 case 'U':
1591 case 'V':
1592 case 'W':
1593 case 'X':
1594 case 'Y':
1595 case 'Z':
1596 case '_':
1597 case 'a':
1598 case 'b':
1599 case 'c':
1600 case 'd':
1601 case 'e':
1602 case 'f':
1603 case 'g':
1604 case 'h':
1605 case 'i':
1606 case 'j':
1607 case 'k':
1608 case 'l':
1609 case 'm':
1610 case 'n':
1611 case 'o':
1612 case 'p':
1613 case 'q':
1614 case 'r':
1615 case 's':
1616 case 't':
1617 case 'u':
1618 case 'v':
1619 case 'w':
1620 case 'x':
1621 case 'y':
1622 case 'z': goto yy118;
1623 case '>': goto yy191;
1624 default: goto yy103;
1625 }
1626 yy120:
1627 ++cur;
1628 #line 344 "src/parser.re"
1629 { NEWTOKEN(PSI_T_LSHIFT); goto start; }
1630 #line 1631 "src/parser.c"
1631 yy122:
1632 ++cur;
1633 #line 346 "src/parser.re"
1634 { NEWTOKEN(PSI_T_CMP_LE); goto start; }
1635 #line 1636 "src/parser.c"
1636 yy124:
1637 ++cur;
1638 #line 329 "src/parser.re"
1639 { NEWTOKEN(PSI_T_CMP_EQ); goto start; }
1640 #line 1641 "src/parser.c"
1641 yy126:
1642 ++cur;
1643 #line 347 "src/parser.re"
1644 { NEWTOKEN(PSI_T_CMP_GE); goto start; }
1645 #line 1646 "src/parser.c"
1646 yy128:
1647 ++cur;
1648 #line 345 "src/parser.re"
1649 { NEWTOKEN(PSI_T_RSHIFT); goto start; }
1650 #line 1651 "src/parser.c"
1651 yy130:
1652 yyaccept = 4;
1653 yych = *(mrk = ++cur);
1654 switch (yych) {
1655 case 'R':
1656 case 'r': goto yy193;
1657 default: goto yy58;
1658 }
1659 yy131:
1660 ++cur;
1661 if (lim <= cur) if (cur >= lim) goto done;;
1662 yych = *cur;
1663 switch (yych) {
1664 case 0x00:
1665 case 0x01:
1666 case 0x02:
1667 case 0x03:
1668 case 0x04:
1669 case 0x05:
1670 case 0x06:
1671 case 0x07:
1672 case 0x08:
1673 case '\t':
1674 case '\n':
1675 case '\v':
1676 case '\f':
1677 case '\r':
1678 case 0x0E:
1679 case 0x0F:
1680 case 0x10:
1681 case 0x11:
1682 case 0x12:
1683 case 0x13:
1684 case 0x14:
1685 case 0x15:
1686 case 0x16:
1687 case 0x17:
1688 case 0x18:
1689 case 0x19:
1690 case 0x1A:
1691 case 0x1B:
1692 case 0x1C:
1693 case 0x1D:
1694 case 0x1E:
1695 case 0x1F:
1696 case ' ':
1697 case '!':
1698 case '"':
1699 case '#':
1700 case '$':
1701 case '%':
1702 case '&':
1703 case '\'':
1704 case '(':
1705 case ')':
1706 case '*':
1707 case '+':
1708 case ',':
1709 case '-':
1710 case '.':
1711 case '/':
1712 case '0':
1713 case '1':
1714 case '2':
1715 case '3':
1716 case '4':
1717 case '5':
1718 case '6':
1719 case '7':
1720 case '8':
1721 case '9':
1722 case ':':
1723 case ';':
1724 case '<':
1725 case '=':
1726 case '>':
1727 case '?':
1728 case '@':
1729 case '[':
1730 case '\\':
1731 case ']':
1732 case '^':
1733 case '`':
1734 case '{':
1735 case '|':
1736 case '}':
1737 case '~':
1738 case 0x7F: goto yy103;
1739 default: goto yy173;
1740 }
1741 yy132:
1742 yyaccept = 4;
1743 yych = *(mrk = ++cur);
1744 switch (yych) {
1745 case 'O':
1746 case 'o': goto yy194;
1747 default: goto yy58;
1748 }
1749 yy133:
1750 yyaccept = 4;
1751 yych = *(mrk = ++cur);
1752 switch (yych) {
1753 case 'L':
1754 case 'l': goto yy195;
1755 default: goto yy58;
1756 }
1757 yy134:
1758 yyaccept = 4;
1759 yych = *(mrk = ++cur);
1760 switch (yych) {
1761 case 'A':
1762 case 'a': goto yy196;
1763 default: goto yy58;
1764 }
1765 yy135:
1766 yyaccept = 4;
1767 yych = *(mrk = ++cur);
1768 switch (yych) {
1769 case 'N':
1770 case 'n': goto yy197;
1771 case 'U':
1772 case 'u': goto yy198;
1773 default: goto yy58;
1774 }
1775 yy136:
1776 yyaccept = 4;
1777 yych = *(mrk = ++cur);
1778 switch (yych) {
1779 case 'F':
1780 case 'f': goto yy199;
1781 default: goto yy58;
1782 }
1783 yy137:
1784 yyaccept = 4;
1785 yych = *(mrk = ++cur);
1786 switch (yych) {
1787 case 'U':
1788 case 'u': goto yy200;
1789 default: goto yy58;
1790 }
1791 yy138:
1792 yyaccept = 4;
1793 yych = *(mrk = ++cur);
1794 switch (yych) {
1795 case 'I':
1796 case 'i': goto yy201;
1797 case 'S':
1798 case 's': goto yy202;
1799 default: goto yy58;
1800 }
1801 yy139:
1802 yyaccept = 4;
1803 yych = *(mrk = ++cur);
1804 switch (yych) {
1805 case 'D':
1806 case 'd': goto yy203;
1807 case 'U':
1808 case 'u': goto yy204;
1809 default: goto yy58;
1810 }
1811 yy140:
1812 yyaccept = 4;
1813 yych = *(mrk = ++cur);
1814 switch (yych) {
1815 case 'R':
1816 case 'r': goto yy205;
1817 default: goto yy58;
1818 }
1819 yy141:
1820 yyaccept = 4;
1821 yych = *(mrk = ++cur);
1822 switch (yych) {
1823 case 'L':
1824 case 'l': goto yy206;
1825 default: goto yy58;
1826 }
1827 yy142:
1828 yyaccept = 4;
1829 yych = *(mrk = ++cur);
1830 switch (yych) {
1831 case 'O':
1832 case 'o': goto yy207;
1833 default: goto yy58;
1834 }
1835 yy143:
1836 yyaccept = 4;
1837 yych = *(mrk = ++cur);
1838 switch (yych) {
1839 case 'E':
1840 case 'e': goto yy208;
1841 default: goto yy58;
1842 }
1843 yy144:
1844 yyaccept = 4;
1845 yych = *(mrk = ++cur);
1846 switch (yych) {
1847 case 'N':
1848 case 'n': goto yy209;
1849 default: goto yy58;
1850 }
1851 yy145:
1852 yyaccept = 5;
1853 yych = *(mrk = ++cur);
1854 switch (yych) {
1855 case 0x00:
1856 case 0x01:
1857 case 0x02:
1858 case 0x03:
1859 case 0x04:
1860 case 0x05:
1861 case 0x06:
1862 case 0x07:
1863 case 0x08:
1864 case '\t':
1865 case '\n':
1866 case '\v':
1867 case '\f':
1868 case '\r':
1869 case 0x0E:
1870 case 0x0F:
1871 case 0x10:
1872 case 0x11:
1873 case 0x12:
1874 case 0x13:
1875 case 0x14:
1876 case 0x15:
1877 case 0x16:
1878 case 0x17:
1879 case 0x18:
1880 case 0x19:
1881 case 0x1A:
1882 case 0x1B:
1883 case 0x1C:
1884 case 0x1D:
1885 case 0x1E:
1886 case 0x1F:
1887 case ' ':
1888 case '!':
1889 case '"':
1890 case '#':
1891 case '$':
1892 case '%':
1893 case '&':
1894 case '\'':
1895 case '(':
1896 case ')':
1897 case '*':
1898 case '+':
1899 case ',':
1900 case '-':
1901 case '.':
1902 case '/':
1903 case ':':
1904 case ';':
1905 case '<':
1906 case '=':
1907 case '>':
1908 case '?':
1909 case '@':
1910 case '[':
1911 case ']':
1912 case '^':
1913 case '`':
1914 case '{':
1915 case '|':
1916 case '}':
1917 case '~':
1918 case 0x7F: goto yy146;
1919 case 'D':
1920 case 'd': goto yy210;
1921 case 'N':
1922 case 'n': goto yy211;
1923 case '\\': goto yy131;
1924 default: goto yy57;
1925 }
1926 yy146:
1927 #line 352 "src/parser.re"
1928 { NEWTOKEN(PSI_T_IF); goto start; }
1929 #line 1930 "src/parser.c"
1930 yy147:
1931 yyaccept = 4;
1932 yych = *(mrk = ++cur);
1933 switch (yych) {
1934 case 'C':
1935 case 'c': goto yy212;
1936 case 'T':
1937 case 't': goto yy213;
1938 default: goto yy58;
1939 }
1940 yy148:
1941 yych = *++cur;
1942 switch (yych) {
1943 case '"': goto yy103;
1944 default: goto yy91;
1945 }
1946 yy149:
1947 yych = *++cur;
1948 switch (yych) {
1949 case '\'': goto yy103;
1950 default: goto yy98;
1951 }
1952 yy150:
1953 yyaccept = 4;
1954 yych = *(mrk = ++cur);
1955 switch (yych) {
1956 case 'T':
1957 case 't': goto yy215;
1958 default: goto yy58;
1959 }
1960 yy151:
1961 yyaccept = 4;
1962 yych = *(mrk = ++cur);
1963 switch (yych) {
1964 case 'B':
1965 case 'b': goto yy217;
1966 default: goto yy58;
1967 }
1968 yy152:
1969 yyaccept = 4;
1970 yych = *(mrk = ++cur);
1971 switch (yych) {
1972 case 'N':
1973 case 'n': goto yy219;
1974 default: goto yy58;
1975 }
1976 yy153:
1977 yyaccept = 4;
1978 yych = *(mrk = ++cur);
1979 switch (yych) {
1980 case 'X':
1981 case 'x': goto yy220;
1982 default: goto yy58;
1983 }
1984 yy154:
1985 yyaccept = 4;
1986 yych = *(mrk = ++cur);
1987 switch (yych) {
1988 case 'L':
1989 case 'l': goto yy221;
1990 default: goto yy58;
1991 }
1992 yy155:
1993 yyaccept = 4;
1994 yych = *(mrk = ++cur);
1995 switch (yych) {
1996 case 'J':
1997 case 'j': goto yy222;
1998 default: goto yy58;
1999 }
2000 yy156:
2001 yyaccept = 4;
2002 yych = *(mrk = ++cur);
2003 switch (yych) {
2004 case 'T':
2005 case 't': goto yy223;
2006 default: goto yy58;
2007 }
2008 yy157:
2009 yyaccept = 4;
2010 yych = *(mrk = ++cur);
2011 switch (yych) {
2012 case 'S':
2013 case 's': goto yy224;
2014 default: goto yy58;
2015 }
2016 yy158:
2017 yyaccept = 4;
2018 yych = *(mrk = ++cur);
2019 switch (yych) {
2020 case 'E':
2021 case 'e': goto yy225;
2022 default: goto yy58;
2023 }
2024 yy159:
2025 yyaccept = 4;
2026 yych = *(mrk = ++cur);
2027 switch (yych) {
2028 case 'T':
2029 case 't': goto yy226;
2030 default: goto yy58;
2031 }
2032 yy160:
2033 yyaccept = 4;
2034 yych = *(mrk = ++cur);
2035 switch (yych) {
2036 case 'T':
2037 case 't': goto yy227;
2038 default: goto yy58;
2039 }
2040 yy161:
2041 yyaccept = 4;
2042 yych = *(mrk = ++cur);
2043 switch (yych) {
2044 case 'O':
2045 case 'o': goto yy229;
2046 default: goto yy58;
2047 }
2048 yy162:
2049 yyaccept = 4;
2050 yych = *(mrk = ++cur);
2051 switch (yych) {
2052 case 'G':
2053 case 'g': goto yy230;
2054 default: goto yy58;
2055 }
2056 yy163:
2057 yyaccept = 4;
2058 yych = *(mrk = ++cur);
2059 switch (yych) {
2060 case 'A':
2061 case 'a': goto yy231;
2062 case 'R':
2063 case 'r': goto yy232;
2064 default: goto yy58;
2065 }
2066 yy164:
2067 yyaccept = 4;
2068 yych = *(mrk = ++cur);
2069 switch (yych) {
2070 case 'M':
2071 case 'm': goto yy233;
2072 default: goto yy58;
2073 }
2074 yy165:
2075 yyaccept = 4;
2076 yych = *(mrk = ++cur);
2077 switch (yych) {
2078 case '_': goto yy234;
2079 default: goto yy58;
2080 }
2081 yy166:
2082 yyaccept = 4;
2083 yych = *(mrk = ++cur);
2084 switch (yych) {
2085 case 'U':
2086 case 'u': goto yy235;
2087 default: goto yy58;
2088 }
2089 yy167:
2090 yyaccept = 4;
2091 yych = *(mrk = ++cur);
2092 switch (yych) {
2093 case 'P':
2094 case 'p': goto yy236;
2095 default: goto yy58;
2096 }
2097 yy168:
2098 yyaccept = 4;
2099 yych = *(mrk = ++cur);
2100 switch (yych) {
2101 case 'N':
2102 case 'n': goto yy237;
2103 default: goto yy58;
2104 }
2105 yy169:
2106 yyaccept = 4;
2107 yych = *(mrk = ++cur);
2108 switch (yych) {
2109 case 'D':
2110 case 'd': goto yy238;
2111 case 'I':
2112 case 'i': goto yy239;
2113 case 'S':
2114 case 's': goto yy240;
2115 default: goto yy58;
2116 }
2117 yy170:
2118 yyaccept = 4;
2119 yych = *(mrk = ++cur);
2120 switch (yych) {
2121 case 'I':
2122 case 'i': goto yy241;
2123 default: goto yy58;
2124 }
2125 yy171:
2126 yyaccept = 4;
2127 yych = *(mrk = ++cur);
2128 switch (yych) {
2129 case 'R':
2130 case 'r': goto yy242;
2131 default: goto yy58;
2132 }
2133 yy172:
2134 yyaccept = 4;
2135 yych = *(mrk = ++cur);
2136 switch (yych) {
2137 case 'A':
2138 case 'a': goto yy243;
2139 default: goto yy58;
2140 }
2141 yy173:
2142 yyaccept = 6;
2143 mrk = ++cur;
2144 if (lim <= cur) if (cur >= lim) goto done;;
2145 yych = *cur;
2146 switch (yych) {
2147 case 0x00:
2148 case 0x01:
2149 case 0x02:
2150 case 0x03:
2151 case 0x04:
2152 case 0x05:
2153 case 0x06:
2154 case 0x07:
2155 case 0x08:
2156 case '\t':
2157 case '\n':
2158 case '\v':
2159 case '\f':
2160 case '\r':
2161 case 0x0E:
2162 case 0x0F:
2163 case 0x10:
2164 case 0x11:
2165 case 0x12:
2166 case 0x13:
2167 case 0x14:
2168 case 0x15:
2169 case 0x16:
2170 case 0x17:
2171 case 0x18:
2172 case 0x19:
2173 case 0x1A:
2174 case 0x1B:
2175 case 0x1C:
2176 case 0x1D:
2177 case 0x1E:
2178 case 0x1F:
2179 case ' ':
2180 case '!':
2181 case '"':
2182 case '#':
2183 case '$':
2184 case '%':
2185 case '&':
2186 case '\'':
2187 case '(':
2188 case ')':
2189 case '*':
2190 case '+':
2191 case ',':
2192 case '-':
2193 case '.':
2194 case '/':
2195 case ':':
2196 case ';':
2197 case '<':
2198 case '=':
2199 case '>':
2200 case '?':
2201 case '@':
2202 case '[':
2203 case ']':
2204 case '^':
2205 case '`':
2206 case '{':
2207 case '|':
2208 case '}':
2209 case '~':
2210 case 0x7F: goto yy175;
2211 case '\\': goto yy131;
2212 default: goto yy173;
2213 }
2214 yy175:
2215 #line 426 "src/parser.re"
2216 { NEWTOKEN(PSI_T_NSNAME); goto start; }
2217 #line 2218 "src/parser.c"
2218 yy176:
2219 ++cur;
2220 #line 331 "src/parser.re"
2221 { NEWTOKEN(PSI_T_OR); goto start; }
2222 #line 2223 "src/parser.c"
2223 yy178:
2224 ++cur;
2225 #line 428 "src/parser.re"
2226 { NEWTOKEN(PSI_T_QUOTED_STRING); goto start; }
2227 #line 2228 "src/parser.c"
2228 yy180:
2229 ++cur;
2230 yy181:
2231 #line 429 "src/parser.re"
2232 { NEWTOKEN(PSI_T_QUOTED_CHAR); goto start; }
2233 #line 2234 "src/parser.c"
2234 yy182:
2235 ++cur;
2236 if (lim <= cur) if (cur >= lim) goto done;;
2237 yych = *cur;
2238 switch (yych) {
2239 case '\'': goto yy244;
2240 case '\\': goto yy182;
2241 default: goto yy98;
2242 }
2243 yy184:
2244 ++cur;
2245 #line 351 "src/parser.re"
2246 { NEWTOKEN(PSI_T_ELLIPSIS); goto start; }
2247 #line 2248 "src/parser.c"
2248 yy186:
2249 yych = *++cur;
2250 switch (yych) {
2251 case '0':
2252 case '1':
2253 case '2':
2254 case '3':
2255 case '4':
2256 case '5':
2257 case '6':
2258 case '7':
2259 case '8':
2260 case '9': goto yy100;
2261 default: goto yy103;
2262 }
2263 yy187:
2264 yych = *++cur;
2265 switch (yych) {
2266 case 'U':
2267 case 'u': goto yy105;
2268 default: goto yy103;
2269 }
2270 yy188:
2271 yych = *++cur;
2272 switch (yych) {
2273 case 'L':
2274 case 'l': goto yy105;
2275 default: goto yy37;
2276 }
2277 yy189:
2278 yyaccept = 2;
2279 mrk = ++cur;
2280 if ((lim - cur) < 3) if (cur >= lim) goto done;;
2281 yych = *cur;
2282 switch (yych) {
2283 case '.': goto yy245;
2284 case '0':
2285 case '1':
2286 case '2':
2287 case '3':
2288 case '4':
2289 case '5':
2290 case '6':
2291 case '7':
2292 case '8':
2293 case '9':
2294 case 'A':
2295 case 'B':
2296 case 'C':
2297 case 'D':
2298 case 'E':
2299 case 'F':
2300 case 'a':
2301 case 'b':
2302 case 'c':
2303 case 'd':
2304 case 'e':
2305 case 'f': goto yy189;
2306 case 'L':
2307 case 'l': goto yy115;
2308 case 'P':
2309 case 'p': goto yy114;
2310 case 'U':
2311 case 'u': goto yy116;
2312 default: goto yy37;
2313 }
2314 yy191:
2315 ++cur;
2316 #line 430 "src/parser.re"
2317 { NEWTOKEN(PSI_T_CPP_HEADER); goto start; }
2318 #line 2319 "src/parser.c"
2319 yy193:
2320 yyaccept = 4;
2321 yych = *(mrk = ++cur);
2322 switch (yych) {
2323 case 'A':
2324 case 'a': goto yy247;
2325 case 'V':
2326 case 'v': goto yy248;
2327 default: goto yy58;
2328 }
2329 yy194:
2330 yyaccept = 4;
2331 yych = *(mrk = ++cur);
2332 switch (yych) {
2333 case 'L':
2334 case 'l': goto yy249;
2335 default: goto yy58;
2336 }
2337 yy195:
2338 yyaccept = 4;
2339 yych = *(mrk = ++cur);
2340 switch (yych) {
2341 case 'L':
2342 case 'l': goto yy251;
2343 default: goto yy58;
2344 }
2345 yy196:
2346 yyaccept = 4;
2347 yych = *(mrk = ++cur);
2348 switch (yych) {
2349 case 'R':
2350 case 'r': goto yy252;
2351 default: goto yy58;
2352 }
2353 yy197:
2354 yyaccept = 4;
2355 yych = *(mrk = ++cur);
2356 switch (yych) {
2357 case 'S':
2358 case 's': goto yy254;
2359 default: goto yy58;
2360 }
2361 yy198:
2362 yyaccept = 4;
2363 yych = *(mrk = ++cur);
2364 switch (yych) {
2365 case 'N':
2366 case 'n': goto yy255;
2367 default: goto yy58;
2368 }
2369 yy199:
2370 yyaccept = 4;
2371 yych = *(mrk = ++cur);
2372 switch (yych) {
2373 case 'I':
2374 case 'i': goto yy256;
2375 default: goto yy58;
2376 }
2377 yy200:
2378 yyaccept = 4;
2379 yych = *(mrk = ++cur);
2380 switch (yych) {
2381 case 'B':
2382 case 'b': goto yy257;
2383 default: goto yy58;
2384 }
2385 yy201:
2386 yyaccept = 4;
2387 yych = *(mrk = ++cur);
2388 switch (yych) {
2389 case 'F':
2390 case 'f': goto yy258;
2391 default: goto yy58;
2392 }
2393 yy202:
2394 yyaccept = 4;
2395 yych = *(mrk = ++cur);
2396 switch (yych) {
2397 case 'E':
2398 case 'e': goto yy260;
2399 default: goto yy58;
2400 }
2401 yy203:
2402 yyaccept = 4;
2403 yych = *(mrk = ++cur);
2404 switch (yych) {
2405 case 'I':
2406 case 'i': goto yy262;
2407 default: goto yy58;
2408 }
2409 yy204:
2410 yyaccept = 4;
2411 yych = *(mrk = ++cur);
2412 switch (yych) {
2413 case 'M':
2414 case 'm': goto yy263;
2415 default: goto yy58;
2416 }
2417 yy205:
2418 yyaccept = 4;
2419 yych = *(mrk = ++cur);
2420 switch (yych) {
2421 case 'O':
2422 case 'o': goto yy265;
2423 default: goto yy58;
2424 }
2425 yy206:
2426 yyaccept = 4;
2427 yych = *(mrk = ++cur);
2428 switch (yych) {
2429 case 'S':
2430 case 's': goto yy266;
2431 default: goto yy58;
2432 }
2433 yy207:
2434 yyaccept = 4;
2435 yych = *(mrk = ++cur);
2436 switch (yych) {
2437 case 'A':
2438 case 'a': goto yy267;
2439 default: goto yy58;
2440 }
2441 yy208:
2442 yyaccept = 4;
2443 yych = *(mrk = ++cur);
2444 switch (yych) {
2445 case 'E':
2446 case 'e': goto yy268;
2447 default: goto yy58;
2448 }
2449 yy209:
2450 yyaccept = 4;
2451 yych = *(mrk = ++cur);
2452 switch (yych) {
2453 case 'C':
2454 case 'c': goto yy270;
2455 default: goto yy58;
2456 }
2457 yy210:
2458 yyaccept = 4;
2459 yych = *(mrk = ++cur);
2460 switch (yych) {
2461 case 'E':
2462 case 'e': goto yy271;
2463 default: goto yy58;
2464 }
2465 yy211:
2466 yyaccept = 4;
2467 yych = *(mrk = ++cur);
2468 switch (yych) {
2469 case 'D':
2470 case 'd': goto yy272;
2471 default: goto yy58;
2472 }
2473 yy212:
2474 yyaccept = 4;
2475 yych = *(mrk = ++cur);
2476 switch (yych) {
2477 case 'L':
2478 case 'l': goto yy273;
2479 default: goto yy58;
2480 }
2481 yy213:
2482 yyaccept = 7;
2483 yych = *(mrk = ++cur);
2484 switch (yych) {
2485 case 0x00:
2486 case 0x01:
2487 case 0x02:
2488 case 0x03:
2489 case 0x04:
2490 case 0x05:
2491 case 0x06:
2492 case 0x07:
2493 case 0x08:
2494 case '\t':
2495 case '\n':
2496 case '\v':
2497 case '\f':
2498 case '\r':
2499 case 0x0E:
2500 case 0x0F:
2501 case 0x10:
2502 case 0x11:
2503 case 0x12:
2504 case 0x13:
2505 case 0x14:
2506 case 0x15:
2507 case 0x16:
2508 case 0x17:
2509 case 0x18:
2510 case 0x19:
2511 case 0x1A:
2512 case 0x1B:
2513 case 0x1C:
2514 case 0x1D:
2515 case 0x1E:
2516 case 0x1F:
2517 case ' ':
2518 case '!':
2519 case '"':
2520 case '#':
2521 case '$':
2522 case '%':
2523 case '&':
2524 case '\'':
2525 case '(':
2526 case ')':
2527 case '*':
2528 case '+':
2529 case ',':
2530 case '-':
2531 case '.':
2532 case '/':
2533 case ':':
2534 case ';':
2535 case '<':
2536 case '=':
2537 case '>':
2538 case '?':
2539 case '@':
2540 case '[':
2541 case ']':
2542 case '^':
2543 case '`':
2544 case '{':
2545 case '|':
2546 case '}':
2547 case '~':
2548 case 0x7F: goto yy214;
2549 case '1': goto yy274;
2550 case '3': goto yy275;
2551 case '6': goto yy276;
2552 case '8': goto yy277;
2553 case 'V':
2554 case 'v': goto yy278;
2555 case '\\': goto yy131;
2556 default: goto yy57;
2557 }
2558 yy214:
2559 #line 374 "src/parser.re"
2560 { NEWTOKEN(PSI_T_INT); goto start; }
2561 #line 2562 "src/parser.c"
2562 yy215:
2563 yyaccept = 8;
2564 yych = *(mrk = ++cur);
2565 switch (yych) {
2566 case 0x00:
2567 case 0x01:
2568 case 0x02:
2569 case 0x03:
2570 case 0x04:
2571 case 0x05:
2572 case 0x06:
2573 case 0x07:
2574 case 0x08:
2575 case '\t':
2576 case '\n':
2577 case '\v':
2578 case '\f':
2579 case '\r':
2580 case 0x0E:
2581 case 0x0F:
2582 case 0x10:
2583 case 0x11:
2584 case 0x12:
2585 case 0x13:
2586 case 0x14:
2587 case 0x15:
2588 case 0x16:
2589 case 0x17:
2590 case 0x18:
2591 case 0x19:
2592 case 0x1A:
2593 case 0x1B:
2594 case 0x1C:
2595 case 0x1D:
2596 case 0x1E:
2597 case 0x1F:
2598 case ' ':
2599 case '!':
2600 case '"':
2601 case '#':
2602 case '$':
2603 case '%':
2604 case '&':
2605 case '\'':
2606 case '(':
2607 case ')':
2608 case '*':
2609 case '+':
2610 case ',':
2611 case '-':
2612 case '.':
2613 case '/':
2614 case ':':
2615 case ';':
2616 case '<':
2617 case '=':
2618 case '>':
2619 case '?':
2620 case '@':
2621 case '[':
2622 case ']':
2623 case '^':
2624 case '`':
2625 case '{':
2626 case '|':
2627 case '}':
2628 case '~':
2629 case 0x7F: goto yy216;
2630 case '\\': goto yy131;
2631 default: goto yy57;
2632 }
2633 yy216:
2634 #line 400 "src/parser.re"
2635 { NEWTOKEN(PSI_T_LET); goto start; }
2636 #line 2637 "src/parser.c"
2637 yy217:
2638 yyaccept = 9;
2639 yych = *(mrk = ++cur);
2640 switch (yych) {
2641 case 0x00:
2642 case 0x01:
2643 case 0x02:
2644 case 0x03:
2645 case 0x04:
2646 case 0x05:
2647 case 0x06:
2648 case 0x07:
2649 case 0x08:
2650 case '\t':
2651 case '\n':
2652 case '\v':
2653 case '\f':
2654 case '\r':
2655 case 0x0E:
2656 case 0x0F:
2657 case 0x10:
2658 case 0x11:
2659 case 0x12:
2660 case 0x13:
2661 case 0x14:
2662 case 0x15:
2663 case 0x16:
2664 case 0x17:
2665 case 0x18:
2666 case 0x19:
2667 case 0x1A:
2668 case 0x1B:
2669 case 0x1C:
2670 case 0x1D:
2671 case 0x1E:
2672 case 0x1F:
2673 case ' ':
2674 case '!':
2675 case '"':
2676 case '#':
2677 case '$':
2678 case '%':
2679 case '&':
2680 case '\'':
2681 case '(':
2682 case ')':
2683 case '*':
2684 case '+':
2685 case ',':
2686 case '-':
2687 case '.':
2688 case '/':
2689 case ':':
2690 case ';':
2691 case '<':
2692 case '=':
2693 case '>':
2694 case '?':
2695 case '@':
2696 case '[':
2697 case ']':
2698 case '^':
2699 case '`':
2700 case '{':
2701 case '|':
2702 case '}':
2703 case '~':
2704 case 0x7F: goto yy218;
2705 case '\\': goto yy131;
2706 default: goto yy57;
2707 }
2708 yy218:
2709 #line 399 "src/parser.re"
2710 { NEWTOKEN(PSI_T_LIB); goto start; }
2711 #line 2712 "src/parser.c"
2712 yy219:
2713 yyaccept = 4;
2714 yych = *(mrk = ++cur);
2715 switch (yych) {
2716 case 'G':
2717 case 'g': goto yy279;
2718 default: goto yy58;
2719 }
2720 yy220:
2721 yyaccept = 4;
2722 yych = *(mrk = ++cur);
2723 switch (yych) {
2724 case 'E':
2725 case 'e': goto yy281;
2726 default: goto yy58;
2727 }
2728 yy221:
2729 yyaccept = 4;
2730 yych = *(mrk = ++cur);
2731 switch (yych) {
2732 case 'L':
2733 case 'l': goto yy282;
2734 default: goto yy58;
2735 }
2736 yy222:
2737 yyaccept = 4;
2738 yych = *(mrk = ++cur);
2739 switch (yych) {
2740 case 'E':
2741 case 'e': goto yy284;
2742 case 'V':
2743 case 'v': goto yy285;
2744 default: goto yy58;
2745 }
2746 yy223:
2747 yyaccept = 4;
2748 yych = *(mrk = ++cur);
2749 switch (yych) {
2750 case 'H':
2751 case 'h': goto yy286;
2752 default: goto yy58;
2753 }
2754 yy224:
2755 yyaccept = 4;
2756 yych = *(mrk = ++cur);
2757 switch (yych) {
2758 case 'T':
2759 case 't': goto yy287;
2760 default: goto yy58;
2761 }
2762 yy225:
2763 yyaccept = 4;
2764 yych = *(mrk = ++cur);
2765 switch (yych) {
2766 case '_': goto yy288;
2767 default: goto yy58;
2768 }
2769 yy226:
2770 yyaccept = 4;
2771 yych = *(mrk = ++cur);
2772 switch (yych) {
2773 case 'U':
2774 case 'u': goto yy289;
2775 default: goto yy58;
2776 }
2777 yy227:
2778 yyaccept = 10;
2779 yych = *(mrk = ++cur);
2780 switch (yych) {
2781 case 0x00:
2782 case 0x01:
2783 case 0x02:
2784 case 0x03:
2785 case 0x04:
2786 case 0x05:
2787 case 0x06:
2788 case 0x07:
2789 case 0x08:
2790 case '\t':
2791 case '\n':
2792 case '\v':
2793 case '\f':
2794 case '\r':
2795 case 0x0E:
2796 case 0x0F:
2797 case 0x10:
2798 case 0x11:
2799 case 0x12:
2800 case 0x13:
2801 case 0x14:
2802 case 0x15:
2803 case 0x16:
2804 case 0x17:
2805 case 0x18:
2806 case 0x19:
2807 case 0x1A:
2808 case 0x1B:
2809 case 0x1C:
2810 case 0x1D:
2811 case 0x1E:
2812 case 0x1F:
2813 case ' ':
2814 case '!':
2815 case '"':
2816 case '#':
2817 case '$':
2818 case '%':
2819 case '&':
2820 case '\'':
2821 case '(':
2822 case ')':
2823 case '*':
2824 case '+':
2825 case ',':
2826 case '-':
2827 case '.':
2828 case '/':
2829 case ':':
2830 case ';':
2831 case '<':
2832 case '=':
2833 case '>':
2834 case '?':
2835 case '@':
2836 case '[':
2837 case ']':
2838 case '^':
2839 case '`':
2840 case '{':
2841 case '|':
2842 case '}':
2843 case '~':
2844 case 0x7F: goto yy228;
2845 case '\\': goto yy131;
2846 default: goto yy57;
2847 }
2848 yy228:
2849 #line 401 "src/parser.re"
2850 { NEWTOKEN(PSI_T_SET); goto start; }
2851 #line 2852 "src/parser.c"
2852 yy229:
2853 yyaccept = 4;
2854 yych = *(mrk = ++cur);
2855 switch (yych) {
2856 case 'R':
2857 case 'r': goto yy290;
2858 default: goto yy58;
2859 }
2860 yy230:
2861 yyaccept = 4;
2862 yych = *(mrk = ++cur);
2863 switch (yych) {
2864 case 'N':
2865 case 'n': goto yy291;
2866 default: goto yy58;
2867 }
2868 yy231:
2869 yyaccept = 4;
2870 yych = *(mrk = ++cur);
2871 switch (yych) {
2872 case 'T':
2873 case 't': goto yy292;
2874 default: goto yy58;
2875 }
2876 yy232:
2877 yyaccept = 4;
2878 yych = *(mrk = ++cur);
2879 switch (yych) {
2880 case 'I':
2881 case 'i': goto yy293;
2882 case 'L':
2883 case 'l': goto yy294;
2884 case 'U':
2885 case 'u': goto yy295;
2886 case 'V':
2887 case 'v': goto yy296;
2888 default: goto yy58;
2889 }
2890 yy233:
2891 yyaccept = 4;
2892 yych = *(mrk = ++cur);
2893 switch (yych) {
2894 case 'P':
2895 case 'p': goto yy297;
2896 default: goto yy58;
2897 }
2898 yy234:
2899 yyaccept = 4;
2900 yych = *(mrk = ++cur);
2901 switch (yych) {
2902 case 'A':
2903 case 'a': goto yy299;
2904 case 'B':
2905 case 'b': goto yy300;
2906 case 'F':
2907 case 'f': goto yy301;
2908 case 'I':
2909 case 'i': goto yy302;
2910 case 'O':
2911 case 'o': goto yy303;
2912 case 'S':
2913 case 's': goto yy304;
2914 default: goto yy58;
2915 }
2916 yy235:
2917 yyaccept = 4;
2918 yych = *(mrk = ++cur);
2919 switch (yych) {
2920 case 'E':
2921 case 'e': goto yy305;
2922 default: goto yy58;
2923 }
2924 yy236:
2925 yyaccept = 4;
2926 yych = *(mrk = ++cur);
2927 switch (yych) {
2928 case 'E':
2929 case 'e': goto yy307;
2930 default: goto yy58;
2931 }
2932 yy237:
2933 yyaccept = 4;
2934 yych = *(mrk = ++cur);
2935 switch (yych) {
2936 case 'T':
2937 case 't': goto yy308;
2938 default: goto yy58;
2939 }
2940 yy238:
2941 yyaccept = 4;
2942 yych = *(mrk = ++cur);
2943 switch (yych) {
2944 case 'E':
2945 case 'e': goto yy309;
2946 default: goto yy58;
2947 }
2948 yy239:
2949 yyaccept = 4;
2950 yych = *(mrk = ++cur);
2951 switch (yych) {
2952 case 'O':
2953 case 'o': goto yy310;
2954 default: goto yy58;
2955 }
2956 yy240:
2957 yyaccept = 4;
2958 yych = *(mrk = ++cur);
2959 switch (yych) {
2960 case 'I':
2961 case 'i': goto yy311;
2962 default: goto yy58;
2963 }
2964 yy241:
2965 yyaccept = 4;
2966 yych = *(mrk = ++cur);
2967 switch (yych) {
2968 case 'D':
2969 case 'd': goto yy312;
2970 default: goto yy58;
2971 }
2972 yy242:
2973 yyaccept = 4;
2974 yych = *(mrk = ++cur);
2975 switch (yych) {
2976 case 'N':
2977 case 'n': goto yy314;
2978 default: goto yy58;
2979 }
2980 yy243:
2981 yyaccept = 4;
2982 yych = *(mrk = ++cur);
2983 switch (yych) {
2984 case 'L':
2985 case 'l': goto yy315;
2986 default: goto yy58;
2987 }
2988 yy244:
2989 yyaccept = 11;
2990 mrk = ++cur;
2991 if (lim <= cur) if (cur >= lim) goto done;;
2992 yych = *cur;
2993 switch (yych) {
2994 case '\'': goto yy180;
2995 default: goto yy98;
2996 }
2997 yy245:
2998 ++cur;
2999 if ((lim - cur) < 3) if (cur >= lim) goto done;;
3000 yych = *cur;
3001 switch (yych) {
3002 case '0':
3003 case '1':
3004 case '2':
3005 case '3':
3006 case '4':
3007 case '5':
3008 case '6':
3009 case '7':
3010 case '8':
3011 case '9':
3012 case 'A':
3013 case 'B':
3014 case 'C':
3015 case 'D':
3016 case 'E':
3017 case 'F':
3018 case 'a':
3019 case 'b':
3020 case 'c':
3021 case 'd':
3022 case 'e':
3023 case 'f': goto yy245;
3024 case 'P':
3025 case 'p': goto yy114;
3026 default: goto yy103;
3027 }
3028 yy247:
3029 yyaccept = 4;
3030 yych = *(mrk = ++cur);
3031 switch (yych) {
3032 case 'Y':
3033 case 'y': goto yy317;
3034 default: goto yy58;
3035 }
3036 yy248:
3037 yyaccept = 4;
3038 yych = *(mrk = ++cur);
3039 switch (yych) {
3040 case 'A':
3041 case 'a': goto yy319;
3042 default: goto yy58;
3043 }
3044 yy249:
3045 yyaccept = 12;
3046 yych = *(mrk = ++cur);
3047 switch (yych) {
3048 case 0x00:
3049 case 0x01:
3050 case 0x02:
3051 case 0x03:
3052 case 0x04:
3053 case 0x05:
3054 case 0x06:
3055 case 0x07:
3056 case 0x08:
3057 case '\t':
3058 case '\n':
3059 case '\v':
3060 case '\f':
3061 case '\r':
3062 case 0x0E:
3063 case 0x0F:
3064 case 0x10:
3065 case 0x11:
3066 case 0x12:
3067 case 0x13:
3068 case 0x14:
3069 case 0x15:
3070 case 0x16:
3071 case 0x17:
3072 case 0x18:
3073 case 0x19:
3074 case 0x1A:
3075 case 0x1B:
3076 case 0x1C:
3077 case 0x1D:
3078 case 0x1E:
3079 case 0x1F:
3080 case ' ':
3081 case '!':
3082 case '"':
3083 case '#':
3084 case '$':
3085 case '%':
3086 case '&':
3087 case '\'':
3088 case '(':
3089 case ')':
3090 case '*':
3091 case '+':
3092 case ',':
3093 case '-':
3094 case '.':
3095 case '/':
3096 case ':':
3097 case ';':
3098 case '<':
3099 case '=':
3100 case '>':
3101 case '?':
3102 case '@':
3103 case '[':
3104 case ']':
3105 case '^':
3106 case '`':
3107 case '{':
3108 case '|':
3109 case '}':
3110 case '~':
3111 case 0x7F: goto yy250;
3112 case 'V':
3113 case 'v': goto yy320;
3114 case '\\': goto yy131;
3115 default: goto yy57;
3116 }
3117 yy250:
3118 #line 371 "src/parser.re"
3119 { NEWTOKEN(PSI_T_BOOL); goto start; }
3120 #line 3121 "src/parser.c"
3121 yy251:
3122 yyaccept = 4;
3123 yych = *(mrk = ++cur);
3124 switch (yych) {
3125 case 'A':
3126 case 'a': goto yy321;
3127 case 'B':
3128 case 'b': goto yy322;
3129 case 'O':
3130 case 'o': goto yy323;
3131 default: goto yy58;
3132 }
3133 yy252:
3134 yyaccept = 13;
3135 yych = *(mrk = ++cur);
3136 switch (yych) {
3137 case 0x00:
3138 case 0x01:
3139 case 0x02:
3140 case 0x03:
3141 case 0x04:
3142 case 0x05:
3143 case 0x06:
3144 case 0x07:
3145 case 0x08:
3146 case '\t':
3147 case '\n':
3148 case '\v':
3149 case '\f':
3150 case '\r':
3151 case 0x0E:
3152 case 0x0F:
3153 case 0x10:
3154 case 0x11:
3155 case 0x12:
3156 case 0x13:
3157 case 0x14:
3158 case 0x15:
3159 case 0x16:
3160 case 0x17:
3161 case 0x18:
3162 case 0x19:
3163 case 0x1A:
3164 case 0x1B:
3165 case 0x1C:
3166 case 0x1D:
3167 case 0x1E:
3168 case 0x1F:
3169 case ' ':
3170 case '!':
3171 case '"':
3172 case '#':
3173 case '$':
3174 case '%':
3175 case '&':
3176 case '\'':
3177 case '(':
3178 case ')':
3179 case '*':
3180 case '+':
3181 case ',':
3182 case '-':
3183 case '.':
3184 case '/':
3185 case ':':
3186 case ';':
3187 case '<':
3188 case '=':
3189 case '>':
3190 case '?':
3191 case '@':
3192 case '[':
3193 case ']':
3194 case '^':
3195 case '`':
3196 case '{':
3197 case '|':
3198 case '}':
3199 case '~':
3200 case 0x7F: goto yy253;
3201 case '\\': goto yy131;
3202 default: goto yy57;
3203 }
3204 yy253:
3205 #line 372 "src/parser.re"
3206 { NEWTOKEN(PSI_T_CHAR); goto start; }
3207 #line 3208 "src/parser.c"
3208 yy254:
3209 yyaccept = 4;
3210 yych = *(mrk = ++cur);
3211 switch (yych) {
3212 case 'T':
3213 case 't': goto yy324;
3214 default: goto yy58;
3215 }
3216 yy255:
3217 yyaccept = 4;
3218 yych = *(mrk = ++cur);
3219 switch (yych) {
3220 case 'T':
3221 case 't': goto yy326;
3222 default: goto yy58;
3223 }
3224 yy256:
3225 yyaccept = 4;
3226 yych = *(mrk = ++cur);
3227 switch (yych) {
3228 case 'N':
3229 case 'n': goto yy328;
3230 default: goto yy58;
3231 }
3232 yy257:
3233 yyaccept = 4;
3234 yych = *(mrk = ++cur);
3235 switch (yych) {
3236 case 'L':
3237 case 'l': goto yy329;
3238 default: goto yy58;
3239 }
3240 yy258:
3241 yyaccept = 14;
3242 yych = *(mrk = ++cur);
3243 switch (yych) {
3244 case 0x00:
3245 case 0x01:
3246 case 0x02:
3247 case 0x03:
3248 case 0x04:
3249 case 0x05:
3250 case 0x06:
3251 case 0x07:
3252 case 0x08:
3253 case '\t':
3254 case '\n':
3255 case '\v':
3256 case '\f':
3257 case '\r':
3258 case 0x0E:
3259 case 0x0F:
3260 case 0x10:
3261 case 0x11:
3262 case 0x12:
3263 case 0x13:
3264 case 0x14:
3265 case 0x15:
3266 case 0x16:
3267 case 0x17:
3268 case 0x18:
3269 case 0x19:
3270 case 0x1A:
3271 case 0x1B:
3272 case 0x1C:
3273 case 0x1D:
3274 case 0x1E:
3275 case 0x1F:
3276 case ' ':
3277 case '!':
3278 case '"':
3279 case '#':
3280 case '$':
3281 case '%':
3282 case '&':
3283 case '\'':
3284 case '(':
3285 case ')':
3286 case '*':
3287 case '+':
3288 case ',':
3289 case '-':
3290 case '.':
3291 case '/':
3292 case ':':
3293 case ';':
3294 case '<':
3295 case '=':
3296 case '>':
3297 case '?':
3298 case '@':
3299 case '[':
3300 case ']':
3301 case '^':
3302 case '`':
3303 case '{':
3304 case '|':
3305 case '}':
3306 case '~':
3307 case 0x7F: goto yy259;
3308 case '\\': goto yy131;
3309 default: goto yy57;
3310 }
3311 yy259:
3312 #line 356 "src/parser.re"
3313 { NEWTOKEN(PSI_T_ELIF); goto start; }
3314 #line 3315 "src/parser.c"
3315 yy260:
3316 yyaccept = 15;
3317 yych = *(mrk = ++cur);
3318 switch (yych) {
3319 case 0x00:
3320 case 0x01:
3321 case 0x02:
3322 case 0x03:
3323 case 0x04:
3324 case 0x05:
3325 case 0x06:
3326 case 0x07:
3327 case 0x08:
3328 case '\t':
3329 case '\n':
3330 case '\v':
3331 case '\f':
3332 case '\r':
3333 case 0x0E:
3334 case 0x0F:
3335 case 0x10:
3336 case 0x11:
3337 case 0x12:
3338 case 0x13:
3339 case 0x14:
3340 case 0x15:
3341 case 0x16:
3342 case 0x17:
3343 case 0x18:
3344 case 0x19:
3345 case 0x1A:
3346 case 0x1B:
3347 case 0x1C:
3348 case 0x1D:
3349 case 0x1E:
3350 case 0x1F:
3351 case ' ':
3352 case '!':
3353 case '"':
3354 case '#':
3355 case '$':
3356 case '%':
3357 case '&':
3358 case '\'':
3359 case '(':
3360 case ')':
3361 case '*':
3362 case '+':
3363 case ',':
3364 case '-':
3365 case '.':
3366 case '/':
3367 case ':':
3368 case ';':
3369 case '<':
3370 case '=':
3371 case '>':
3372 case '?':
3373 case '@':
3374 case '[':
3375 case ']':
3376 case '^':
3377 case '`':
3378 case '{':
3379 case '|':
3380 case '}':
3381 case '~':
3382 case 0x7F: goto yy261;
3383 case '\\': goto yy131;
3384 default: goto yy57;
3385 }
3386 yy261:
3387 #line 355 "src/parser.re"
3388 { NEWTOKEN(PSI_T_ELSE); goto start; }
3389 #line 3390 "src/parser.c"
3390 yy262:
3391 yyaccept = 4;
3392 yych = *(mrk = ++cur);
3393 switch (yych) {
3394 case 'F':
3395 case 'f': goto yy330;
3396 default: goto yy58;
3397 }
3398 yy263:
3399 yyaccept = 16;
3400 yych = *(mrk = ++cur);
3401 switch (yych) {
3402 case 0x00:
3403 case 0x01:
3404 case 0x02:
3405 case 0x03:
3406 case 0x04:
3407 case 0x05:
3408 case 0x06:
3409 case 0x07:
3410 case 0x08:
3411 case '\t':
3412 case '\n':
3413 case '\v':
3414 case '\f':
3415 case '\r':
3416 case 0x0E:
3417 case 0x0F:
3418 case 0x10:
3419 case 0x11:
3420 case 0x12:
3421 case 0x13:
3422 case 0x14:
3423 case 0x15:
3424 case 0x16:
3425 case 0x17:
3426 case 0x18:
3427 case 0x19:
3428 case 0x1A:
3429 case 0x1B:
3430 case 0x1C:
3431 case 0x1D:
3432 case 0x1E:
3433 case 0x1F:
3434 case ' ':
3435 case '!':
3436 case '"':
3437 case '#':
3438 case '$':
3439 case '%':
3440 case '&':
3441 case '\'':
3442 case '(':
3443 case ')':
3444 case '*':
3445 case '+':
3446 case ',':
3447 case '-':
3448 case '.':
3449 case '/':
3450 case ':':
3451 case ';':
3452 case '<':
3453 case '=':
3454 case '>':
3455 case '?':
3456 case '@':
3457 case '[':
3458 case ']':
3459 case '^':
3460 case '`':
3461 case '{':
3462 case '|':
3463 case '}':
3464 case '~':
3465 case 0x7F: goto yy264;
3466 case '\\': goto yy131;
3467 default: goto yy57;
3468 }
3469 yy264:
3470 #line 397 "src/parser.re"
3471 { NEWTOKEN(PSI_T_ENUM); goto start; }
3472 #line 3473 "src/parser.c"
3473 yy265:
3474 yyaccept = 4;
3475 yych = *(mrk = ++cur);
3476 switch (yych) {
3477 case 'R':
3478 case 'r': goto yy332;
3479 default: goto yy58;
3480 }
3481 yy266:
3482 yyaccept = 4;
3483 yych = *(mrk = ++cur);
3484 switch (yych) {
3485 case 'E':
3486 case 'e': goto yy334;
3487 default: goto yy58;
3488 }
3489 yy267:
3490 yyaccept = 4;
3491 yych = *(mrk = ++cur);
3492 switch (yych) {
3493 case 'T':
3494 case 't': goto yy336;
3495 default: goto yy58;
3496 }
3497 yy268:
3498 yyaccept = 17;
3499 yych = *(mrk = ++cur);
3500 switch (yych) {
3501 case 0x00:
3502 case 0x01:
3503 case 0x02:
3504 case 0x03:
3505 case 0x04:
3506 case 0x05:
3507 case 0x06:
3508 case 0x07:
3509 case 0x08:
3510 case '\t':
3511 case '\n':
3512 case '\v':
3513 case '\f':
3514 case '\r':
3515 case 0x0E:
3516 case 0x0F:
3517 case 0x10:
3518 case 0x11:
3519 case 0x12:
3520 case 0x13:
3521 case 0x14:
3522 case 0x15:
3523 case 0x16:
3524 case 0x17:
3525 case 0x18:
3526 case 0x19:
3527 case 0x1A:
3528 case 0x1B:
3529 case 0x1C:
3530 case 0x1D:
3531 case 0x1E:
3532 case 0x1F:
3533 case ' ':
3534 case '!':
3535 case '"':
3536 case '#':
3537 case '$':
3538 case '%':
3539 case '&':
3540 case '\'':
3541 case '(':
3542 case ')':
3543 case '*':
3544 case '+':
3545 case ',':
3546 case '-':
3547 case '.':
3548 case '/':
3549 case ':':
3550 case ';':
3551 case '<':
3552 case '=':
3553 case '>':
3554 case '?':
3555 case '@':
3556 case '[':
3557 case ']':
3558 case '^':
3559 case '`':
3560 case '{':
3561 case '|':
3562 case '}':
3563 case '~':
3564 case 0x7F: goto yy269;
3565 case '\\': goto yy131;
3566 default: goto yy57;
3567 }
3568 yy269:
3569 #line 405 "src/parser.re"
3570 { NEWTOKEN(PSI_T_FREE); goto start; }
3571 #line 3572 "src/parser.c"
3572 yy270:
3573 yyaccept = 4;
3574 yych = *(mrk = ++cur);
3575 switch (yych) {
3576 case 'T':
3577 case 't': goto yy338;
3578 default: goto yy58;
3579 }
3580 yy271:
3581 yyaccept = 4;
3582 yych = *(mrk = ++cur);
3583 switch (yych) {
3584 case 'F':
3585 case 'f': goto yy339;
3586 default: goto yy58;
3587 }
3588 yy272:
3589 yyaccept = 4;
3590 yych = *(mrk = ++cur);
3591 switch (yych) {
3592 case 'E':
3593 case 'e': goto yy341;
3594 default: goto yy58;
3595 }
3596 yy273:
3597 yyaccept = 4;
3598 yych = *(mrk = ++cur);
3599 switch (yych) {
3600 case 'U':
3601 case 'u': goto yy342;
3602 default: goto yy58;
3603 }
3604 yy274:
3605 yyaccept = 4;
3606 yych = *(mrk = ++cur);
3607 switch (yych) {
3608 case '6': goto yy343;
3609 default: goto yy58;
3610 }
3611 yy275:
3612 yyaccept = 4;
3613 yych = *(mrk = ++cur);
3614 switch (yych) {
3615 case '2': goto yy344;
3616 default: goto yy58;
3617 }
3618 yy276:
3619 yyaccept = 4;
3620 yych = *(mrk = ++cur);
3621 switch (yych) {
3622 case '4': goto yy345;
3623 default: goto yy58;
3624 }
3625 yy277:
3626 yyaccept = 4;
3627 yych = *(mrk = ++cur);
3628 switch (yych) {
3629 case '_': goto yy346;
3630 default: goto yy58;
3631 }
3632 yy278:
3633 yyaccept = 4;
3634 yych = *(mrk = ++cur);
3635 switch (yych) {
3636 case 'A':
3637 case 'a': goto yy347;
3638 default: goto yy58;
3639 }
3640 yy279:
3641 yyaccept = 18;
3642 yych = *(mrk = ++cur);
3643 switch (yych) {
3644 case 0x00:
3645 case 0x01:
3646 case 0x02:
3647 case 0x03:
3648 case 0x04:
3649 case 0x05:
3650 case 0x06:
3651 case 0x07:
3652 case 0x08:
3653 case '\t':
3654 case '\n':
3655 case '\v':
3656 case '\f':
3657 case '\r':
3658 case 0x0E:
3659 case 0x0F:
3660 case 0x10:
3661 case 0x11:
3662 case 0x12:
3663 case 0x13:
3664 case 0x14:
3665 case 0x15:
3666 case 0x16:
3667 case 0x17:
3668 case 0x18:
3669 case 0x19:
3670 case 0x1A:
3671 case 0x1B:
3672 case 0x1C:
3673 case 0x1D:
3674 case 0x1E:
3675 case 0x1F:
3676 case ' ':
3677 case '!':
3678 case '"':
3679 case '#':
3680 case '$':
3681 case '%':
3682 case '&':
3683 case '\'':
3684 case '(':
3685 case ')':
3686 case '*':
3687 case '+':
3688 case ',':
3689 case '-':
3690 case '.':
3691 case '/':
3692 case ':':
3693 case ';':
3694 case '<':
3695 case '=':
3696 case '>':
3697 case '?':
3698 case '@':
3699 case '[':
3700 case ']':
3701 case '^':
3702 case '`':
3703 case '{':
3704 case '|':
3705 case '}':
3706 case '~':
3707 case 0x7F: goto yy280;
3708 case '\\': goto yy131;
3709 default: goto yy57;
3710 }
3711 yy280:
3712 #line 375 "src/parser.re"
3713 { NEWTOKEN(PSI_T_LONG); goto start; }
3714 #line 3715 "src/parser.c"
3715 yy281:
3716 yyaccept = 4;
3717 yych = *(mrk = ++cur);
3718 switch (yych) {
3719 case 'D':
3720 case 'd': goto yy348;
3721 default: goto yy58;
3722 }
3723 yy282:
3724 yyaccept = 19;
3725 yych = *(mrk = ++cur);
3726 switch (yych) {
3727 case 0x00:
3728 case 0x01:
3729 case 0x02:
3730 case 0x03:
3731 case 0x04:
3732 case 0x05:
3733 case 0x06:
3734 case 0x07:
3735 case 0x08:
3736 case '\t':
3737 case '\n':
3738 case '\v':
3739 case '\f':
3740 case '\r':
3741 case 0x0E:
3742 case 0x0F:
3743 case 0x10:
3744 case 0x11:
3745 case 0x12:
3746 case 0x13:
3747 case 0x14:
3748 case 0x15:
3749 case 0x16:
3750 case 0x17:
3751 case 0x18:
3752 case 0x19:
3753 case 0x1A:
3754 case 0x1B:
3755 case 0x1C:
3756 case 0x1D:
3757 case 0x1E:
3758 case 0x1F:
3759 case ' ':
3760 case '!':
3761 case '"':
3762 case '#':
3763 case '$':
3764 case '%':
3765 case '&':
3766 case '\'':
3767 case '(':
3768 case ')':
3769 case '*':
3770 case '+':
3771 case ',':
3772 case '-':
3773 case '.':
3774 case '/':
3775 case ':':
3776 case ';':
3777 case '<':
3778 case '=':
3779 case '>':
3780 case '?':
3781 case '@':
3782 case '[':
3783 case ']':
3784 case '^':
3785 case '`':
3786 case '{':
3787 case '|':
3788 case '}':
3789 case '~':
3790 case 0x7F: goto yy283;
3791 case '\\': goto yy131;
3792 default: goto yy57;
3793 }
3794 yy283:
3795 #line 367 "src/parser.re"
3796 { NEWTOKEN(PSI_T_NULL); goto start; }
3797 #line 3798 "src/parser.c"
3798 yy284:
3799 yyaccept = 4;
3800 yych = *(mrk = ++cur);
3801 switch (yych) {
3802 case 'C':
3803 case 'c': goto yy350;
3804 default: goto yy58;
3805 }
3806 yy285:
3807 yyaccept = 4;
3808 yych = *(mrk = ++cur);
3809 switch (yych) {
3810 case 'A':
3811 case 'a': goto yy351;
3812 default: goto yy58;
3813 }
3814 yy286:
3815 yyaccept = 4;
3816 yych = *(mrk = ++cur);
3817 switch (yych) {
3818 case 'V':
3819 case 'v': goto yy352;
3820 default: goto yy58;
3821 }
3822 yy287:
3823 yyaccept = 4;
3824 yych = *(mrk = ++cur);
3825 switch (yych) {
3826 case '_': goto yy353;
3827 default: goto yy58;
3828 }
3829 yy288:
3830 yyaccept = 4;
3831 yych = *(mrk = ++cur);
3832 switch (yych) {
3833 case 'A':
3834 case 'a': goto yy354;
3835 default: goto yy58;
3836 }
3837 yy289:
3838 yyaccept = 4;
3839 yych = *(mrk = ++cur);
3840 switch (yych) {
3841 case 'R':
3842 case 'r': goto yy355;
3843 default: goto yy58;
3844 }
3845 yy290:
3846 yyaccept = 4;
3847 yych = *(mrk = ++cur);
3848 switch (yych) {
3849 case 'T':
3850 case 't': goto yy356;
3851 default: goto yy58;
3852 }
3853 yy291:
3854 yyaccept = 4;
3855 yych = *(mrk = ++cur);
3856 switch (yych) {
3857 case 'E':
3858 case 'e': goto yy358;
3859 default: goto yy58;
3860 }
3861 yy292:
3862 yyaccept = 4;
3863 yych = *(mrk = ++cur);
3864 switch (yych) {
3865 case 'I':
3866 case 'i': goto yy359;
3867 default: goto yy58;
3868 }
3869 yy293:
3870 yyaccept = 4;
3871 yych = *(mrk = ++cur);
3872 switch (yych) {
3873 case 'N':
3874 case 'n': goto yy360;
3875 default: goto yy58;
3876 }
3877 yy294:
3878 yyaccept = 4;
3879 yych = *(mrk = ++cur);
3880 switch (yych) {
3881 case 'E':
3882 case 'e': goto yy361;
3883 default: goto yy58;
3884 }
3885 yy295:
3886 yyaccept = 4;
3887 yych = *(mrk = ++cur);
3888 switch (yych) {
3889 case 'C':
3890 case 'c': goto yy362;
3891 default: goto yy58;
3892 }
3893 yy296:
3894 yyaccept = 4;
3895 yych = *(mrk = ++cur);
3896 switch (yych) {
3897 case 'A':
3898 case 'a': goto yy363;
3899 default: goto yy58;
3900 }
3901 yy297:
3902 yyaccept = 20;
3903 yych = *(mrk = ++cur);
3904 switch (yych) {
3905 case 0x00:
3906 case 0x01:
3907 case 0x02:
3908 case 0x03:
3909 case 0x04:
3910 case 0x05:
3911 case 0x06:
3912 case 0x07:
3913 case 0x08:
3914 case '\t':
3915 case '\n':
3916 case '\v':
3917 case '\f':
3918 case '\r':
3919 case 0x0E:
3920 case 0x0F:
3921 case 0x10:
3922 case 0x11:
3923 case 0x12:
3924 case 0x13:
3925 case 0x14:
3926 case 0x15:
3927 case 0x16:
3928 case 0x17:
3929 case 0x18:
3930 case 0x19:
3931 case 0x1A:
3932 case 0x1B:
3933 case 0x1C:
3934 case 0x1D:
3935 case 0x1E:
3936 case 0x1F:
3937 case ' ':
3938 case '!':
3939 case '"':
3940 case '#':
3941 case '$':
3942 case '%':
3943 case '&':
3944 case '\'':
3945 case '(':
3946 case ')':
3947 case '*':
3948 case '+':
3949 case ',':
3950 case '-':
3951 case '.':
3952 case '/':
3953 case ':':
3954 case ';':
3955 case '<':
3956 case '=':
3957 case '>':
3958 case '?':
3959 case '@':
3960 case '[':
3961 case ']':
3962 case '^':
3963 case '`':
3964 case '{':
3965 case '|':
3966 case '}':
3967 case '~':
3968 case 0x7F: goto yy298;
3969 case '\\': goto yy131;
3970 default: goto yy57;
3971 }
3972 yy298:
3973 #line 406 "src/parser.re"
3974 { NEWTOKEN(PSI_T_TEMP); goto start; }
3975 #line 3976 "src/parser.c"
3976 yy299:
3977 yyaccept = 4;
3978 yych = *(mrk = ++cur);
3979 switch (yych) {
3980 case 'R':
3981 case 'r': goto yy364;
3982 default: goto yy58;
3983 }
3984 yy300:
3985 yyaccept = 4;
3986 yych = *(mrk = ++cur);
3987 switch (yych) {
3988 case 'O':
3989 case 'o': goto yy365;
3990 default: goto yy58;
3991 }
3992 yy301:
3993 yyaccept = 4;
3994 yych = *(mrk = ++cur);
3995 switch (yych) {
3996 case 'L':
3997 case 'l': goto yy366;
3998 default: goto yy58;
3999 }
4000 yy302:
4001 yyaccept = 4;
4002 yych = *(mrk = ++cur);
4003 switch (yych) {
4004 case 'N':
4005 case 'n': goto yy367;
4006 default: goto yy58;
4007 }
4008 yy303:
4009 yyaccept = 4;
4010 yych = *(mrk = ++cur);
4011 switch (yych) {
4012 case 'B':
4013 case 'b': goto yy368;
4014 default: goto yy58;
4015 }
4016 yy304:
4017 yyaccept = 4;
4018 yych = *(mrk = ++cur);
4019 switch (yych) {
4020 case 'T':
4021 case 't': goto yy369;
4022 default: goto yy58;
4023 }
4024 yy305:
4025 yyaccept = 21;
4026 yych = *(mrk = ++cur);
4027 switch (yych) {
4028 case 0x00:
4029 case 0x01:
4030 case 0x02:
4031 case 0x03:
4032 case 0x04:
4033 case 0x05:
4034 case 0x06:
4035 case 0x07:
4036 case 0x08:
4037 case '\t':
4038 case '\n':
4039 case '\v':
4040 case '\f':
4041 case '\r':
4042 case 0x0E:
4043 case 0x0F:
4044 case 0x10:
4045 case 0x11:
4046 case 0x12:
4047 case 0x13:
4048 case 0x14:
4049 case 0x15:
4050 case 0x16:
4051 case 0x17:
4052 case 0x18:
4053 case 0x19:
4054 case 0x1A:
4055 case 0x1B:
4056 case 0x1C:
4057 case 0x1D:
4058 case 0x1E:
4059 case 0x1F:
4060 case ' ':
4061 case '!':
4062 case '"':
4063 case '#':
4064 case '$':
4065 case '%':
4066 case '&':
4067 case '\'':
4068 case '(':
4069 case ')':
4070 case '*':
4071 case '+':
4072 case ',':
4073 case '-':
4074 case '.':
4075 case '/':
4076 case ':':
4077 case ';':
4078 case '<':
4079 case '=':
4080 case '>':
4081 case '?':
4082 case '@':
4083 case '[':
4084 case ']':
4085 case '^':
4086 case '`':
4087 case '{':
4088 case '|':
4089 case '}':
4090 case '~':
4091 case 0x7F: goto yy306;
4092 case '\\': goto yy131;
4093 default: goto yy57;
4094 }
4095 yy306:
4096 #line 365 "src/parser.re"
4097 { NEWTOKEN(PSI_T_TRUE); goto start; }
4098 #line 4099 "src/parser.c"
4099 yy307:
4100 yyaccept = 4;
4101 yych = *(mrk = ++cur);
4102 switch (yych) {
4103 case 'D':
4104 case 'd': goto yy370;
4105 default: goto yy58;
4106 }
4107 yy308:
4108 yyaccept = 4;
4109 yych = *(mrk = ++cur);
4110 switch (yych) {
4111 case '1': goto yy371;
4112 case '3': goto yy372;
4113 case '6': goto yy373;
4114 case '8': goto yy374;
4115 default: goto yy58;
4116 }
4117 yy309:
4118 yyaccept = 4;
4119 yych = *(mrk = ++cur);
4120 switch (yych) {
4121 case 'F':
4122 case 'f': goto yy375;
4123 default: goto yy58;
4124 }
4125 yy310:
4126 yyaccept = 4;
4127 yych = *(mrk = ++cur);
4128 switch (yych) {
4129 case 'N':
4130 case 'n': goto yy377;
4131 default: goto yy58;
4132 }
4133 yy311:
4134 yyaccept = 4;
4135 yych = *(mrk = ++cur);
4136 switch (yych) {
4137 case 'G':
4138 case 'g': goto yy379;
4139 default: goto yy58;
4140 }
4141 yy312:
4142 yyaccept = 22;
4143 yych = *(mrk = ++cur);
4144 switch (yych) {
4145 case 0x00:
4146 case 0x01:
4147 case 0x02:
4148 case 0x03:
4149 case 0x04:
4150 case 0x05:
4151 case 0x06:
4152 case 0x07:
4153 case 0x08:
4154 case '\t':
4155 case '\n':
4156 case '\v':
4157 case '\f':
4158 case '\r':
4159 case 0x0E:
4160 case 0x0F:
4161 case 0x10:
4162 case 0x11:
4163 case 0x12:
4164 case 0x13:
4165 case 0x14:
4166 case 0x15:
4167 case 0x16:
4168 case 0x17:
4169 case 0x18:
4170 case 0x19:
4171 case 0x1A:
4172 case 0x1B:
4173 case 0x1C:
4174 case 0x1D:
4175 case 0x1E:
4176 case 0x1F:
4177 case ' ':
4178 case '!':
4179 case '"':
4180 case '#':
4181 case '$':
4182 case '%':
4183 case '&':
4184 case '\'':
4185 case '(':
4186 case ')':
4187 case '*':
4188 case '+':
4189 case ',':
4190 case '-':
4191 case '.':
4192 case '/':
4193 case ':':
4194 case ';':
4195 case '<':
4196 case '=':
4197 case '>':
4198 case '?':
4199 case '@':
4200 case '[':
4201 case ']':
4202 case '^':
4203 case '`':
4204 case '{':
4205 case '|':
4206 case '}':
4207 case '~':
4208 case 0x7F: goto yy313;
4209 case '\\': goto yy131;
4210 default: goto yy57;
4211 }
4212 yy313:
4213 #line 370 "src/parser.re"
4214 { NEWTOKEN(PSI_T_VOID); goto start; }
4215 #line 4216 "src/parser.c"
4216 yy314:
4217 yyaccept = 4;
4218 yych = *(mrk = ++cur);
4219 switch (yych) {
4220 case 'I':
4221 case 'i': goto yy380;
4222 default: goto yy58;
4223 }
4224 yy315:
4225 yyaccept = 23;
4226 yych = *(mrk = ++cur);
4227 switch (yych) {
4228 case 0x00:
4229 case 0x01:
4230 case 0x02:
4231 case 0x03:
4232 case 0x04:
4233 case 0x05:
4234 case 0x06:
4235 case 0x07:
4236 case 0x08:
4237 case '\t':
4238 case '\n':
4239 case '\v':
4240 case '\f':
4241 case '\r':
4242 case 0x0E:
4243 case 0x0F:
4244 case 0x10:
4245 case 0x11:
4246 case 0x12:
4247 case 0x13:
4248 case 0x14:
4249 case 0x15:
4250 case 0x16:
4251 case 0x17:
4252 case 0x18:
4253 case 0x19:
4254 case 0x1A:
4255 case 0x1B:
4256 case 0x1C:
4257 case 0x1D:
4258 case 0x1E:
4259 case 0x1F:
4260 case ' ':
4261 case '!':
4262 case '"':
4263 case '#':
4264 case '$':
4265 case '%':
4266 case '&':
4267 case '\'':
4268 case '(':
4269 case ')':
4270 case '*':
4271 case '+':
4272 case ',':
4273 case '-':
4274 case '.':
4275 case '/':
4276 case ':':
4277 case ';':
4278 case '<':
4279 case '=':
4280 case '>':
4281 case '?':
4282 case '@':
4283 case '[':
4284 case ']':
4285 case '^':
4286 case '`':
4287 case '{':
4288 case '|':
4289 case '}':
4290 case '~':
4291 case 0x7F: goto yy316;
4292 case '\\': goto yy131;
4293 default: goto yy57;
4294 }
4295 yy316:
4296 #line 415 "src/parser.re"
4297 { NEWTOKEN(PSI_T_ZVAL); goto start; }
4298 #line 4299 "src/parser.c"
4299 yy317:
4300 yyaccept = 24;
4301 yych = *(mrk = ++cur);
4302 switch (yych) {
4303 case 0x00:
4304 case 0x01:
4305 case 0x02:
4306 case 0x03:
4307 case 0x04:
4308 case 0x05:
4309 case 0x06:
4310 case 0x07:
4311 case 0x08:
4312 case '\t':
4313 case '\n':
4314 case '\v':
4315 case '\f':
4316 case '\r':
4317 case 0x0E:
4318 case 0x0F:
4319 case 0x10:
4320 case 0x11:
4321 case 0x12:
4322 case 0x13:
4323 case 0x14:
4324 case 0x15:
4325 case 0x16:
4326 case 0x17:
4327 case 0x18:
4328 case 0x19:
4329 case 0x1A:
4330 case 0x1B:
4331 case 0x1C:
4332 case 0x1D:
4333 case 0x1E:
4334 case 0x1F:
4335 case ' ':
4336 case '!':
4337 case '"':
4338 case '#':
4339 case '$':
4340 case '%':
4341 case '&':
4342 case '\'':
4343 case '(':
4344 case ')':
4345 case '*':
4346 case '+':
4347 case ',':
4348 case '-':
4349 case '.':
4350 case '/':
4351 case ':':
4352 case ';':
4353 case '<':
4354 case '=':
4355 case '>':
4356 case '?':
4357 case '@':
4358 case '[':
4359 case ']':
4360 case '^':
4361 case '`':
4362 case '{':
4363 case '|':
4364 case '}':
4365 case '~':
4366 case 0x7F: goto yy318;
4367 case '\\': goto yy131;
4368 default: goto yy57;
4369 }
4370 yy318:
4371 #line 389 "src/parser.re"
4372 { NEWTOKEN(PSI_T_ARRAY); goto start; }
4373 #line 4374 "src/parser.c"
4374 yy319:
4375 yyaccept = 4;
4376 yych = *(mrk = ++cur);
4377 switch (yych) {
4378 case 'L':
4379 case 'l': goto yy381;
4380 default: goto yy58;
4381 }
4382 yy320:
4383 yyaccept = 4;
4384 yych = *(mrk = ++cur);
4385 switch (yych) {
4386 case 'A':
4387 case 'a': goto yy383;
4388 default: goto yy58;
4389 }
4390 yy321:
4391 yyaccept = 4;
4392 yych = *(mrk = ++cur);
4393 switch (yych) {
4394 case 'B':
4395 case 'b': goto yy384;
4396 default: goto yy58;
4397 }
4398 yy322:
4399 yyaccept = 4;
4400 yych = *(mrk = ++cur);
4401 switch (yych) {
4402 case 'A':
4403 case 'a': goto yy385;
4404 default: goto yy58;
4405 }
4406 yy323:
4407 yyaccept = 4;
4408 yych = *(mrk = ++cur);
4409 switch (yych) {
4410 case 'C':
4411 case 'c': goto yy386;
4412 default: goto yy58;
4413 }
4414 yy324:
4415 yyaccept = 25;
4416 yych = *(mrk = ++cur);
4417 switch (yych) {
4418 case 0x00:
4419 case 0x01:
4420 case 0x02:
4421 case 0x03:
4422 case 0x04:
4423 case 0x05:
4424 case 0x06:
4425 case 0x07:
4426 case 0x08:
4427 case '\t':
4428 case '\n':
4429 case '\v':
4430 case '\f':
4431 case '\r':
4432 case 0x0E:
4433 case 0x0F:
4434 case 0x10:
4435 case 0x11:
4436 case 0x12:
4437 case 0x13:
4438 case 0x14:
4439 case 0x15:
4440 case 0x16:
4441 case 0x17:
4442 case 0x18:
4443 case 0x19:
4444 case 0x1A:
4445 case 0x1B:
4446 case 0x1C:
4447 case 0x1D:
4448 case 0x1E:
4449 case 0x1F:
4450 case ' ':
4451 case '!':
4452 case '"':
4453 case '#':
4454 case '$':
4455 case '%':
4456 case '&':
4457 case '\'':
4458 case '(':
4459 case ')':
4460 case '*':
4461 case '+':
4462 case ',':
4463 case '-':
4464 case '.':
4465 case '/':
4466 case ':':
4467 case ';':
4468 case '<':
4469 case '=':
4470 case '>':
4471 case '?':
4472 case '@':
4473 case '[':
4474 case ']':
4475 case '^':
4476 case '`':
4477 case '{':
4478 case '|':
4479 case '}':
4480 case '~':
4481 case 0x7F: goto yy325;
4482 case '\\': goto yy131;
4483 default: goto yy57;
4484 }
4485 yy325:
4486 #line 398 "src/parser.re"
4487 { NEWTOKEN(PSI_T_CONST); goto start; }
4488 #line 4489 "src/parser.c"
4489 yy326:
4490 yyaccept = 26;
4491 yych = *(mrk = ++cur);
4492 switch (yych) {
4493 case 0x00:
4494 case 0x01:
4495 case 0x02:
4496 case 0x03:
4497 case 0x04:
4498 case 0x05:
4499 case 0x06:
4500 case 0x07:
4501 case 0x08:
4502 case '\t':
4503 case '\n':
4504 case '\v':
4505 case '\f':
4506 case '\r':
4507 case 0x0E:
4508 case 0x0F:
4509 case 0x10:
4510 case 0x11:
4511 case 0x12:
4512 case 0x13:
4513 case 0x14:
4514 case 0x15:
4515 case 0x16:
4516 case 0x17:
4517 case 0x18:
4518 case 0x19:
4519 case 0x1A:
4520 case 0x1B:
4521 case 0x1C:
4522 case 0x1D:
4523 case 0x1E:
4524 case 0x1F:
4525 case ' ':
4526 case '!':
4527 case '"':
4528 case '#':
4529 case '$':
4530 case '%':
4531 case '&':
4532 case '\'':
4533 case '(':
4534 case ')':
4535 case '*':
4536 case '+':
4537 case ',':
4538 case '-':
4539 case '.':
4540 case '/':
4541 case ':':
4542 case ';':
4543 case '<':
4544 case '=':
4545 case '>':
4546 case '?':
4547 case '@':
4548 case '[':
4549 case ']':
4550 case '^':
4551 case '`':
4552 case '{':
4553 case '|':
4554 case '}':
4555 case '~':
4556 case 0x7F: goto yy327;
4557 case '\\': goto yy131;
4558 default: goto yy57;
4559 }
4560 yy327:
4561 #line 416 "src/parser.re"
4562 { NEWTOKEN(PSI_T_COUNT); goto start; }
4563 #line 4564 "src/parser.c"
4564 yy328:
4565 yyaccept = 4;
4566 yych = *(mrk = ++cur);
4567 switch (yych) {
4568 case 'E':
4569 case 'e': goto yy388;
4570 default: goto yy58;
4571 }
4572 yy329:
4573 yyaccept = 4;
4574 yych = *(mrk = ++cur);
4575 switch (yych) {
4576 case 'E':
4577 case 'e': goto yy390;
4578 default: goto yy58;
4579 }
4580 yy330:
4581 yyaccept = 27;
4582 yych = *(mrk = ++cur);
4583 switch (yych) {
4584 case 0x00:
4585 case 0x01:
4586 case 0x02:
4587 case 0x03:
4588 case 0x04:
4589 case 0x05:
4590 case 0x06:
4591 case 0x07:
4592 case 0x08:
4593 case '\t':
4594 case '\n':
4595 case '\v':
4596 case '\f':
4597 case '\r':
4598 case 0x0E:
4599 case 0x0F:
4600 case 0x10:
4601 case 0x11:
4602 case 0x12:
4603 case 0x13:
4604 case 0x14:
4605 case 0x15:
4606 case 0x16:
4607 case 0x17:
4608 case 0x18:
4609 case 0x19:
4610 case 0x1A:
4611 case 0x1B:
4612 case 0x1C:
4613 case 0x1D:
4614 case 0x1E:
4615 case 0x1F:
4616 case ' ':
4617 case '!':
4618 case '"':
4619 case '#':
4620 case '$':
4621 case '%':
4622 case '&':
4623 case '\'':
4624 case '(':
4625 case ')':
4626 case '*':
4627 case '+':
4628 case ',':
4629 case '-':
4630 case '.':
4631 case '/':
4632 case ':':
4633 case ';':
4634 case '<':
4635 case '=':
4636 case '>':
4637 case '?':
4638 case '@':
4639 case '[':
4640 case ']':
4641 case '^':
4642 case '`':
4643 case '{':
4644 case '|':
4645 case '}':
4646 case '~':
4647 case 0x7F: goto yy331;
4648 case '\\': goto yy131;
4649 default: goto yy57;
4650 }
4651 yy331:
4652 #line 357 "src/parser.re"
4653 { NEWTOKEN(PSI_T_ENDIF); goto start; }
4654 #line 4655 "src/parser.c"
4655 yy332:
4656 yyaccept = 28;
4657 yych = *(mrk = ++cur);
4658 switch (yych) {
4659 case 0x00:
4660 case 0x01:
4661 case 0x02:
4662 case 0x03:
4663 case 0x04:
4664 case 0x05:
4665 case 0x06:
4666 case 0x07:
4667 case 0x08:
4668 case '\t':
4669 case '\n':
4670 case '\v':
4671 case '\f':
4672 case '\r':
4673 case 0x0E:
4674 case 0x0F:
4675 case 0x10:
4676 case 0x11:
4677 case 0x12:
4678 case 0x13:
4679 case 0x14:
4680 case 0x15:
4681 case 0x16:
4682 case 0x17:
4683 case 0x18:
4684 case 0x19:
4685 case 0x1A:
4686 case 0x1B:
4687 case 0x1C:
4688 case 0x1D:
4689 case 0x1E:
4690 case 0x1F:
4691 case ' ':
4692 case '!':
4693 case '"':
4694 case '#':
4695 case '$':
4696 case '%':
4697 case '&':
4698 case '\'':
4699 case '(':
4700 case ')':
4701 case '*':
4702 case '+':
4703 case ',':
4704 case '-':
4705 case '.':
4706 case '/':
4707 case ':':
4708 case ';':
4709 case '<':
4710 case '=':
4711 case '>':
4712 case '?':
4713 case '@':
4714 case '[':
4715 case ']':
4716 case '^':
4717 case '`':
4718 case '{':
4719 case '|':
4720 case '}':
4721 case '~':
4722 case 0x7F: goto yy333;
4723 case '\\': goto yy131;
4724 default: goto yy57;
4725 }
4726 yy333:
4727 #line 362 "src/parser.re"
4728 { NEWTOKEN(PSI_T_ERROR); goto start; }
4729 #line 4730 "src/parser.c"
4730 yy334:
4731 yyaccept = 29;
4732 yych = *(mrk = ++cur);
4733 switch (yych) {
4734 case 0x00:
4735 case 0x01:
4736 case 0x02:
4737 case 0x03:
4738 case 0x04:
4739 case 0x05:
4740 case 0x06:
4741 case 0x07:
4742 case 0x08:
4743 case '\t':
4744 case '\n':
4745 case '\v':
4746 case '\f':
4747 case '\r':
4748 case 0x0E:
4749 case 0x0F:
4750 case 0x10:
4751 case 0x11:
4752 case 0x12:
4753 case 0x13:
4754 case 0x14:
4755 case 0x15:
4756 case 0x16:
4757 case 0x17:
4758 case 0x18:
4759 case 0x19:
4760 case 0x1A:
4761 case 0x1B:
4762 case 0x1C:
4763 case 0x1D:
4764 case 0x1E:
4765 case 0x1F:
4766 case ' ':
4767 case '!':
4768 case '"':
4769 case '#':
4770 case '$':
4771 case '%':
4772 case '&':
4773 case '\'':
4774 case '(':
4775 case ')':
4776 case '*':
4777 case '+':
4778 case ',':
4779 case '-':
4780 case '.':
4781 case '/':
4782 case ':':
4783 case ';':
4784 case '<':
4785 case '=':
4786 case '>':
4787 case '?':
4788 case '@':
4789 case '[':
4790 case ']':
4791 case '^':
4792 case '`':
4793 case '{':
4794 case '|':
4795 case '}':
4796 case '~':
4797 case 0x7F: goto yy335;
4798 case '\\': goto yy131;
4799 default: goto yy57;
4800 }
4801 yy335:
4802 #line 366 "src/parser.re"
4803 { NEWTOKEN(PSI_T_FALSE); goto start; }
4804 #line 4805 "src/parser.c"
4805 yy336:
4806 yyaccept = 30;
4807 yych = *(mrk = ++cur);
4808 switch (yych) {
4809 case 0x00:
4810 case 0x01:
4811 case 0x02:
4812 case 0x03:
4813 case 0x04:
4814 case 0x05:
4815 case 0x06:
4816 case 0x07:
4817 case 0x08:
4818 case '\t':
4819 case '\n':
4820 case '\v':
4821 case '\f':
4822 case '\r':
4823 case 0x0E:
4824 case 0x0F:
4825 case 0x10:
4826 case 0x11:
4827 case 0x12:
4828 case 0x13:
4829 case 0x14:
4830 case 0x15:
4831 case 0x16:
4832 case 0x17:
4833 case 0x18:
4834 case 0x19:
4835 case 0x1A:
4836 case 0x1B:
4837 case 0x1C:
4838 case 0x1D:
4839 case 0x1E:
4840 case 0x1F:
4841 case ' ':
4842 case '!':
4843 case '"':
4844 case '#':
4845 case '$':
4846 case '%':
4847 case '&':
4848 case '\'':
4849 case '(':
4850 case ')':
4851 case '*':
4852 case '+':
4853 case ',':
4854 case '-':
4855 case '.':
4856 case '/':
4857 case ':':
4858 case ';':
4859 case '<':
4860 case '=':
4861 case '>':
4862 case '?':
4863 case '@':
4864 case '[':
4865 case ']':
4866 case '^':
4867 case '`':
4868 case '{':
4869 case '|':
4870 case '}':
4871 case '~':
4872 case 0x7F: goto yy337;
4873 case 'V':
4874 case 'v': goto yy392;
4875 case '\\': goto yy131;
4876 default: goto yy57;
4877 }
4878 yy337:
4879 #line 376 "src/parser.re"
4880 { NEWTOKEN(PSI_T_FLOAT); goto start; }
4881 #line 4882 "src/parser.c"
4882 yy338:
4883 yyaccept = 4;
4884 yych = *(mrk = ++cur);
4885 switch (yych) {
4886 case 'I':
4887 case 'i': goto yy393;
4888 default: goto yy58;
4889 }
4890 yy339:
4891 yyaccept = 31;
4892 yych = *(mrk = ++cur);
4893 switch (yych) {
4894 case 0x00:
4895 case 0x01:
4896 case 0x02:
4897 case 0x03:
4898 case 0x04:
4899 case 0x05:
4900 case 0x06:
4901 case 0x07:
4902 case 0x08:
4903 case '\t':
4904 case '\n':
4905 case '\v':
4906 case '\f':
4907 case '\r':
4908 case 0x0E:
4909 case 0x0F:
4910 case 0x10:
4911 case 0x11:
4912 case 0x12:
4913 case 0x13:
4914 case 0x14:
4915 case 0x15:
4916 case 0x16:
4917 case 0x17:
4918 case 0x18:
4919 case 0x19:
4920 case 0x1A:
4921 case 0x1B:
4922 case 0x1C:
4923 case 0x1D:
4924 case 0x1E:
4925 case 0x1F:
4926 case ' ':
4927 case '!':
4928 case '"':
4929 case '#':
4930 case '$':
4931 case '%':
4932 case '&':
4933 case '\'':
4934 case '(':
4935 case ')':
4936 case '*':
4937 case '+':
4938 case ',':
4939 case '-':
4940 case '.':
4941 case '/':
4942 case ':':
4943 case ';':
4944 case '<':
4945 case '=':
4946 case '>':
4947 case '?':
4948 case '@':
4949 case '[':
4950 case ']':
4951 case '^':
4952 case '`':
4953 case '{':
4954 case '|':
4955 case '}':
4956 case '~':
4957 case 0x7F: goto yy340;
4958 case '\\': goto yy131;
4959 default: goto yy57;
4960 }
4961 yy340:
4962 #line 353 "src/parser.re"
4963 { NEWTOKEN(PSI_T_IFDEF); goto start; }
4964 #line 4965 "src/parser.c"
4965 yy341:
4966 yyaccept = 4;
4967 yych = *(mrk = ++cur);
4968 switch (yych) {
4969 case 'F':
4970 case 'f': goto yy394;
4971 default: goto yy58;
4972 }
4973 yy342:
4974 yyaccept = 4;
4975 yych = *(mrk = ++cur);
4976 switch (yych) {
4977 case 'D':
4978 case 'd': goto yy396;
4979 default: goto yy58;
4980 }
4981 yy343:
4982 yyaccept = 4;
4983 yych = *(mrk = ++cur);
4984 switch (yych) {
4985 case '_': goto yy397;
4986 default: goto yy58;
4987 }
4988 yy344:
4989 yyaccept = 4;
4990 yych = *(mrk = ++cur);
4991 switch (yych) {
4992 case '_': goto yy398;
4993 default: goto yy58;
4994 }
4995 yy345:
4996 yyaccept = 4;
4997 yych = *(mrk = ++cur);
4998 switch (yych) {
4999 case '_': goto yy399;
5000 default: goto yy58;
5001 }
5002 yy346:
5003 yyaccept = 4;
5004 yych = *(mrk = ++cur);
5005 switch (yych) {
5006 case 'T':
5007 case 't': goto yy400;
5008 default: goto yy58;
5009 }
5010 yy347:
5011 yyaccept = 4;
5012 yych = *(mrk = ++cur);
5013 switch (yych) {
5014 case 'L':
5015 case 'l': goto yy402;
5016 default: goto yy58;
5017 }
5018 yy348:
5019 yyaccept = 32;
5020 yych = *(mrk = ++cur);
5021 switch (yych) {
5022 case 0x00:
5023 case 0x01:
5024 case 0x02:
5025 case 0x03:
5026 case 0x04:
5027 case 0x05:
5028 case 0x06:
5029 case 0x07:
5030 case 0x08:
5031 case '\t':
5032 case '\n':
5033 case '\v':
5034 case '\f':
5035 case '\r':
5036 case 0x0E:
5037 case 0x0F:
5038 case 0x10:
5039 case 0x11:
5040 case 0x12:
5041 case 0x13:
5042 case 0x14:
5043 case 0x15:
5044 case 0x16:
5045 case 0x17:
5046 case 0x18:
5047 case 0x19:
5048 case 0x1A:
5049 case 0x1B:
5050 case 0x1C:
5051 case 0x1D:
5052 case 0x1E:
5053 case 0x1F:
5054 case ' ':
5055 case '!':
5056 case '"':
5057 case '#':
5058 case '$':
5059 case '%':
5060 case '&':
5061 case '\'':
5062 case '(':
5063 case ')':
5064 case '*':
5065 case '+':
5066 case ',':
5067 case '-':
5068 case '.':
5069 case '/':
5070 case ':':
5071 case ';':
5072 case '<':
5073 case '=':
5074 case '>':
5075 case '?':
5076 case '@':
5077 case '[':
5078 case ']':
5079 case '^':
5080 case '`':
5081 case '{':
5082 case '|':
5083 case '}':
5084 case '~':
5085 case 0x7F: goto yy349;
5086 case '\\': goto yy131;
5087 default: goto yy57;
5088 }
5089 yy349:
5090 #line 368 "src/parser.re"
5091 { NEWTOKEN(PSI_T_MIXED); goto start; }
5092 #line 5093 "src/parser.c"
5093 yy350:
5094 yyaccept = 4;
5095 yych = *(mrk = ++cur);
5096 switch (yych) {
5097 case 'T':
5098 case 't': goto yy404;
5099 default: goto yy58;
5100 }
5101 yy351:
5102 yyaccept = 4;
5103 yych = *(mrk = ++cur);
5104 switch (yych) {
5105 case 'L':
5106 case 'l': goto yy406;
5107 default: goto yy58;
5108 }
5109 yy352:
5110 yyaccept = 4;
5111 yych = *(mrk = ++cur);
5112 switch (yych) {
5113 case 'A':
5114 case 'a': goto yy408;
5115 default: goto yy58;
5116 }
5117 yy353:
5118 yyaccept = 4;
5119 yych = *(mrk = ++cur);
5120 switch (yych) {
5121 case 'A':
5122 case 'a': goto yy409;
5123 default: goto yy58;
5124 }
5125 yy354:
5126 yyaccept = 4;
5127 yych = *(mrk = ++cur);
5128 switch (yych) {
5129 case 'S':
5130 case 's': goto yy410;
5131 default: goto yy58;
5132 }
5133 yy355:
5134 yyaccept = 4;
5135 yych = *(mrk = ++cur);
5136 switch (yych) {
5137 case 'N':
5138 case 'n': goto yy411;
5139 default: goto yy58;
5140 }
5141 yy356:
5142 yyaccept = 33;
5143 yych = *(mrk = ++cur);
5144 switch (yych) {
5145 case 0x00:
5146 case 0x01:
5147 case 0x02:
5148 case 0x03:
5149 case 0x04:
5150 case 0x05:
5151 case 0x06:
5152 case 0x07:
5153 case 0x08:
5154 case '\t':
5155 case '\n':
5156 case '\v':
5157 case '\f':
5158 case '\r':
5159 case 0x0E:
5160 case 0x0F:
5161 case 0x10:
5162 case 0x11:
5163 case 0x12:
5164 case 0x13:
5165 case 0x14:
5166 case 0x15:
5167 case 0x16:
5168 case 0x17:
5169 case 0x18:
5170 case 0x19:
5171 case 0x1A:
5172 case 0x1B:
5173 case 0x1C:
5174 case 0x1D:
5175 case 0x1E:
5176 case 0x1F:
5177 case ' ':
5178 case '!':
5179 case '"':
5180 case '#':
5181 case '$':
5182 case '%':
5183 case '&':
5184 case '\'':
5185 case '(':
5186 case ')':
5187 case '*':
5188 case '+':
5189 case ',':
5190 case '-':
5191 case '.':
5192 case '/':
5193 case ':':
5194 case ';':
5195 case '<':
5196 case '=':
5197 case '>':
5198 case '?':
5199 case '@':
5200 case '[':
5201 case ']':
5202 case '^':
5203 case '`':
5204 case '{':
5205 case '|':
5206 case '}':
5207 case '~':
5208 case 0x7F: goto yy357;
5209 case '\\': goto yy131;
5210 default: goto yy57;
5211 }
5212 yy357:
5213 #line 373 "src/parser.re"
5214 { NEWTOKEN(PSI_T_SHORT); goto start; }
5215 #line 5216 "src/parser.c"
5216 yy358:
5217 yyaccept = 4;
5218 yych = *(mrk = ++cur);
5219 switch (yych) {
5220 case 'D':
5221 case 'd': goto yy413;
5222 default: goto yy58;
5223 }
5224 yy359:
5225 yyaccept = 4;
5226 yych = *(mrk = ++cur);
5227 switch (yych) {
5228 case 'C':
5229 case 'c': goto yy415;
5230 default: goto yy58;
5231 }
5232 yy360:
5233 yyaccept = 4;
5234 yych = *(mrk = ++cur);
5235 switch (yych) {
5236 case 'G':
5237 case 'g': goto yy417;
5238 default: goto yy58;
5239 }
5240 yy361:
5241 yyaccept = 4;
5242 yych = *(mrk = ++cur);
5243 switch (yych) {
5244 case 'N':
5245 case 'n': goto yy419;
5246 default: goto yy58;
5247 }
5248 yy362:
5249 yyaccept = 4;
5250 yych = *(mrk = ++cur);
5251 switch (yych) {
5252 case 'T':
5253 case 't': goto yy421;
5254 default: goto yy58;
5255 }
5256 yy363:
5257 yyaccept = 4;
5258 yych = *(mrk = ++cur);
5259 switch (yych) {
5260 case 'L':
5261 case 'l': goto yy423;
5262 default: goto yy58;
5263 }
5264 yy364:
5265 yyaccept = 4;
5266 yych = *(mrk = ++cur);
5267 switch (yych) {
5268 case 'R':
5269 case 'r': goto yy425;
5270 default: goto yy58;
5271 }
5272 yy365:
5273 yyaccept = 4;
5274 yych = *(mrk = ++cur);
5275 switch (yych) {
5276 case 'O':
5277 case 'o': goto yy426;
5278 default: goto yy58;
5279 }
5280 yy366:
5281 yyaccept = 4;
5282 yych = *(mrk = ++cur);
5283 switch (yych) {
5284 case 'O':
5285 case 'o': goto yy427;
5286 default: goto yy58;
5287 }
5288 yy367:
5289 yyaccept = 4;
5290 yych = *(mrk = ++cur);
5291 switch (yych) {
5292 case 'T':
5293 case 't': goto yy428;
5294 default: goto yy58;
5295 }
5296 yy368:
5297 yyaccept = 4;
5298 yych = *(mrk = ++cur);
5299 switch (yych) {
5300 case 'J':
5301 case 'j': goto yy430;
5302 default: goto yy58;
5303 }
5304 yy369:
5305 yyaccept = 4;
5306 yych = *(mrk = ++cur);
5307 switch (yych) {
5308 case 'R':
5309 case 'r': goto yy431;
5310 default: goto yy58;
5311 }
5312 yy370:
5313 yyaccept = 4;
5314 yych = *(mrk = ++cur);
5315 switch (yych) {
5316 case 'E':
5317 case 'e': goto yy432;
5318 default: goto yy58;
5319 }
5320 yy371:
5321 yyaccept = 4;
5322 yych = *(mrk = ++cur);
5323 switch (yych) {
5324 case '6': goto yy433;
5325 default: goto yy58;
5326 }
5327 yy372:
5328 yyaccept = 4;
5329 yych = *(mrk = ++cur);
5330 switch (yych) {
5331 case '2': goto yy434;
5332 default: goto yy58;
5333 }
5334 yy373:
5335 yyaccept = 4;
5336 yych = *(mrk = ++cur);
5337 switch (yych) {
5338 case '4': goto yy435;
5339 default: goto yy58;
5340 }
5341 yy374:
5342 yyaccept = 4;
5343 yych = *(mrk = ++cur);
5344 switch (yych) {
5345 case '_': goto yy436;
5346 default: goto yy58;
5347 }
5348 yy375:
5349 yyaccept = 34;
5350 yych = *(mrk = ++cur);
5351 switch (yych) {
5352 case 0x00:
5353 case 0x01:
5354 case 0x02:
5355 case 0x03:
5356 case 0x04:
5357 case 0x05:
5358 case 0x06:
5359 case 0x07:
5360 case 0x08:
5361 case '\t':
5362 case '\n':
5363 case '\v':
5364 case '\f':
5365 case '\r':
5366 case 0x0E:
5367 case 0x0F:
5368 case 0x10:
5369 case 0x11:
5370 case 0x12:
5371 case 0x13:
5372 case 0x14:
5373 case 0x15:
5374 case 0x16:
5375 case 0x17:
5376 case 0x18:
5377 case 0x19:
5378 case 0x1A:
5379 case 0x1B:
5380 case 0x1C:
5381 case 0x1D:
5382 case 0x1E:
5383 case 0x1F:
5384 case ' ':
5385 case '!':
5386 case '"':
5387 case '#':
5388 case '$':
5389 case '%':
5390 case '&':
5391 case '\'':
5392 case '(':
5393 case ')':
5394 case '*':
5395 case '+':
5396 case ',':
5397 case '-':
5398 case '.':
5399 case '/':
5400 case ':':
5401 case ';':
5402 case '<':
5403 case '=':
5404 case '>':
5405 case '?':
5406 case '@':
5407 case '[':
5408 case ']':
5409 case '^':
5410 case '`':
5411 case '{':
5412 case '|':
5413 case '}':
5414 case '~':
5415 case 0x7F: goto yy376;
5416 case '\\': goto yy131;
5417 default: goto yy57;
5418 }
5419 yy376:
5420 #line 360 "src/parser.re"
5421 { NEWTOKEN(PSI_T_UNDEF); goto start; }
5422 #line 5423 "src/parser.c"
5423 yy377:
5424 yyaccept = 35;
5425 yych = *(mrk = ++cur);
5426 switch (yych) {
5427 case 0x00:
5428 case 0x01:
5429 case 0x02:
5430 case 0x03:
5431 case 0x04:
5432 case 0x05:
5433 case 0x06:
5434 case 0x07:
5435 case 0x08:
5436 case '\t':
5437 case '\n':
5438 case '\v':
5439 case '\f':
5440 case '\r':
5441 case 0x0E:
5442 case 0x0F:
5443 case 0x10:
5444 case 0x11:
5445 case 0x12:
5446 case 0x13:
5447 case 0x14:
5448 case 0x15:
5449 case 0x16:
5450 case 0x17:
5451 case 0x18:
5452 case 0x19:
5453 case 0x1A:
5454 case 0x1B:
5455 case 0x1C:
5456 case 0x1D:
5457 case 0x1E:
5458 case 0x1F:
5459 case ' ':
5460 case '!':
5461 case '"':
5462 case '#':
5463 case '$':
5464 case '%':
5465 case '&':
5466 case '\'':
5467 case '(':
5468 case ')':
5469 case '*':
5470 case '+':
5471 case ',':
5472 case '-':
5473 case '.':
5474 case '/':
5475 case ':':
5476 case ';':
5477 case '<':
5478 case '=':
5479 case '>':
5480 case '?':
5481 case '@':
5482 case '[':
5483 case ']':
5484 case '^':
5485 case '`':
5486 case '{':
5487 case '|':
5488 case '}':
5489 case '~':
5490 case 0x7F: goto yy378;
5491 case '\\': goto yy131;
5492 default: goto yy57;
5493 }
5494 yy378:
5495 #line 396 "src/parser.re"
5496 { NEWTOKEN(PSI_T_UNION); goto start; }
5497 #line 5498 "src/parser.c"
5498 yy379:
5499 yyaccept = 4;
5500 yych = *(mrk = ++cur);
5501 switch (yych) {
5502 case 'N':
5503 case 'n': goto yy437;
5504 default: goto yy58;
5505 }
5506 yy380:
5507 yyaccept = 4;
5508 yych = *(mrk = ++cur);
5509 switch (yych) {
5510 case 'N':
5511 case 'n': goto yy438;
5512 default: goto yy58;
5513 }
5514 yy381:
5515 yyaccept = 36;
5516 yych = *(mrk = ++cur);
5517 switch (yych) {
5518 case 0x00:
5519 case 0x01:
5520 case 0x02:
5521 case 0x03:
5522 case 0x04:
5523 case 0x05:
5524 case 0x06:
5525 case 0x07:
5526 case 0x08:
5527 case '\t':
5528 case '\n':
5529 case '\v':
5530 case '\f':
5531 case '\r':
5532 case 0x0E:
5533 case 0x0F:
5534 case 0x10:
5535 case 0x11:
5536 case 0x12:
5537 case 0x13:
5538 case 0x14:
5539 case 0x15:
5540 case 0x16:
5541 case 0x17:
5542 case 0x18:
5543 case 0x19:
5544 case 0x1A:
5545 case 0x1B:
5546 case 0x1C:
5547 case 0x1D:
5548 case 0x1E:
5549 case 0x1F:
5550 case ' ':
5551 case '!':
5552 case '"':
5553 case '#':
5554 case '$':
5555 case '%':
5556 case '&':
5557 case '\'':
5558 case '(':
5559 case ')':
5560 case '*':
5561 case '+':
5562 case ',':
5563 case '-':
5564 case '.':
5565 case '/':
5566 case ':':
5567 case ';':
5568 case '<':
5569 case '=':
5570 case '>':
5571 case '?':
5572 case '@':
5573 case '[':
5574 case ']':
5575 case '^':
5576 case '`':
5577 case '{':
5578 case '|':
5579 case '}':
5580 case '~':
5581 case 0x7F: goto yy382;
5582 case '\\': goto yy131;
5583 default: goto yy57;
5584 }
5585 yy382:
5586 #line 413 "src/parser.re"
5587 { NEWTOKEN(PSI_T_ARRVAL); goto start; }
5588 #line 5589 "src/parser.c"
5589 yy383:
5590 yyaccept = 4;
5591 yych = *(mrk = ++cur);
5592 switch (yych) {
5593 case 'L':
5594 case 'l': goto yy439;
5595 default: goto yy58;
5596 }
5597 yy384:
5598 yyaccept = 4;
5599 yych = *(mrk = ++cur);
5600 switch (yych) {
5601 case 'L':
5602 case 'l': goto yy441;
5603 default: goto yy58;
5604 }
5605 yy385:
5606 yyaccept = 4;
5607 yych = *(mrk = ++cur);
5608 switch (yych) {
5609 case 'C':
5610 case 'c': goto yy442;
5611 default: goto yy58;
5612 }
5613 yy386:
5614 yyaccept = 37;
5615 yych = *(mrk = ++cur);
5616 switch (yych) {
5617 case 0x00:
5618 case 0x01:
5619 case 0x02:
5620 case 0x03:
5621 case 0x04:
5622 case 0x05:
5623 case 0x06:
5624 case 0x07:
5625 case 0x08:
5626 case '\t':
5627 case '\n':
5628 case '\v':
5629 case '\f':
5630 case '\r':
5631 case 0x0E:
5632 case 0x0F:
5633 case 0x10:
5634 case 0x11:
5635 case 0x12:
5636 case 0x13:
5637 case 0x14:
5638 case 0x15:
5639 case 0x16:
5640 case 0x17:
5641 case 0x18:
5642 case 0x19:
5643 case 0x1A:
5644 case 0x1B:
5645 case 0x1C:
5646 case 0x1D:
5647 case 0x1E:
5648 case 0x1F:
5649 case ' ':
5650 case '!':
5651 case '"':
5652 case '#':
5653 case '$':
5654 case '%':
5655 case '&':
5656 case '\'':
5657 case '(':
5658 case ')':
5659 case '*':
5660 case '+':
5661 case ',':
5662 case '-':
5663 case '.':
5664 case '/':
5665 case ':':
5666 case ';':
5667 case '<':
5668 case '=':
5669 case '>':
5670 case '?':
5671 case '@':
5672 case '[':
5673 case ']':
5674 case '^':
5675 case '`':
5676 case '{':
5677 case '|':
5678 case '}':
5679 case '~':
5680 case 0x7F: goto yy387;
5681 case '\\': goto yy131;
5682 default: goto yy57;
5683 }
5684 yy387:
5685 #line 417 "src/parser.re"
5686 { NEWTOKEN(PSI_T_CALLOC); goto start; }
5687 #line 5688 "src/parser.c"
5688 yy388:
5689 yyaccept = 38;
5690 yych = *(mrk = ++cur);
5691 switch (yych) {
5692 case 0x00:
5693 case 0x01:
5694 case 0x02:
5695 case 0x03:
5696 case 0x04:
5697 case 0x05:
5698 case 0x06:
5699 case 0x07:
5700 case 0x08:
5701 case '\t':
5702 case '\n':
5703 case '\v':
5704 case '\f':
5705 case '\r':
5706 case 0x0E:
5707 case 0x0F:
5708 case 0x10:
5709 case 0x11:
5710 case 0x12:
5711 case 0x13:
5712 case 0x14:
5713 case 0x15:
5714 case 0x16:
5715 case 0x17:
5716 case 0x18:
5717 case 0x19:
5718 case 0x1A:
5719 case 0x1B:
5720 case 0x1C:
5721 case 0x1D:
5722 case 0x1E:
5723 case 0x1F:
5724 case ' ':
5725 case '!':
5726 case '"':
5727 case '#':
5728 case '$':
5729 case '%':
5730 case '&':
5731 case '\'':
5732 case '(':
5733 case ')':
5734 case '*':
5735 case '+':
5736 case ',':
5737 case '-':
5738 case '.':
5739 case '/':
5740 case ':':
5741 case ';':
5742 case '<':
5743 case '=':
5744 case '>':
5745 case '?':
5746 case '@':
5747 case '[':
5748 case ']':
5749 case '^':
5750 case '`':
5751 case '{':
5752 case '|':
5753 case '}':
5754 case '~':
5755 case 0x7F: goto yy389;
5756 case 'D':
5757 case 'd': goto yy443;
5758 case '\\': goto yy131;
5759 default: goto yy57;
5760 }
5761 yy389:
5762 #line 358 "src/parser.re"
5763 { NEWTOKEN(PSI_T_DEFINE); goto start; }
5764 #line 5765 "src/parser.c"
5765 yy390:
5766 yyaccept = 39;
5767 yych = *(mrk = ++cur);
5768 switch (yych) {
5769 case 0x00:
5770 case 0x01:
5771 case 0x02:
5772 case 0x03:
5773 case 0x04:
5774 case 0x05:
5775 case 0x06:
5776 case 0x07:
5777 case 0x08:
5778 case '\t':
5779 case '\n':
5780 case '\v':
5781 case '\f':
5782 case '\r':
5783 case 0x0E:
5784 case 0x0F:
5785 case 0x10:
5786 case 0x11:
5787 case 0x12:
5788 case 0x13:
5789 case 0x14:
5790 case 0x15:
5791 case 0x16:
5792 case 0x17:
5793 case 0x18:
5794 case 0x19:
5795 case 0x1A:
5796 case 0x1B:
5797 case 0x1C:
5798 case 0x1D:
5799 case 0x1E:
5800 case 0x1F:
5801 case ' ':
5802 case '!':
5803 case '"':
5804 case '#':
5805 case '$':
5806 case '%':
5807 case '&':
5808 case '\'':
5809 case '(':
5810 case ')':
5811 case '*':
5812 case '+':
5813 case ',':
5814 case '-':
5815 case '.':
5816 case '/':
5817 case ':':
5818 case ';':
5819 case '<':
5820 case '=':
5821 case '>':
5822 case '?':
5823 case '@':
5824 case '[':
5825 case ']':
5826 case '^':
5827 case '`':
5828 case '{':
5829 case '|':
5830 case '}':
5831 case '~':
5832 case 0x7F: goto yy391;
5833 case '\\': goto yy131;
5834 default: goto yy57;
5835 }
5836 yy391:
5837 #line 377 "src/parser.re"
5838 { NEWTOKEN(PSI_T_DOUBLE); goto start; }
5839 #line 5840 "src/parser.c"
5840 yy392:
5841 yyaccept = 4;
5842 yych = *(mrk = ++cur);
5843 switch (yych) {
5844 case 'A':
5845 case 'a': goto yy445;
5846 default: goto yy58;
5847 }
5848 yy393:
5849 yyaccept = 4;
5850 yych = *(mrk = ++cur);
5851 switch (yych) {
5852 case 'O':
5853 case 'o': goto yy446;
5854 default: goto yy58;
5855 }
5856 yy394:
5857 yyaccept = 40;
5858 yych = *(mrk = ++cur);
5859 switch (yych) {
5860 case 0x00:
5861 case 0x01:
5862 case 0x02:
5863 case 0x03:
5864 case 0x04:
5865 case 0x05:
5866 case 0x06:
5867 case 0x07:
5868 case 0x08:
5869 case '\t':
5870 case '\n':
5871 case '\v':
5872 case '\f':
5873 case '\r':
5874 case 0x0E:
5875 case 0x0F:
5876 case 0x10:
5877 case 0x11:
5878 case 0x12:
5879 case 0x13:
5880 case 0x14:
5881 case 0x15:
5882 case 0x16:
5883 case 0x17:
5884 case 0x18:
5885 case 0x19:
5886 case 0x1A:
5887 case 0x1B:
5888 case 0x1C:
5889 case 0x1D:
5890 case 0x1E:
5891 case 0x1F:
5892 case ' ':
5893 case '!':
5894 case '"':
5895 case '#':
5896 case '$':
5897 case '%':
5898 case '&':
5899 case '\'':
5900 case '(':
5901 case ')':
5902 case '*':
5903 case '+':
5904 case ',':
5905 case '-':
5906 case '.':
5907 case '/':
5908 case ':':
5909 case ';':
5910 case '<':
5911 case '=':
5912 case '>':
5913 case '?':
5914 case '@':
5915 case '[':
5916 case ']':
5917 case '^':
5918 case '`':
5919 case '{':
5920 case '|':
5921 case '}':
5922 case '~':
5923 case 0x7F: goto yy395;
5924 case '\\': goto yy131;
5925 default: goto yy57;
5926 }
5927 yy395:
5928 #line 354 "src/parser.re"
5929 { NEWTOKEN(PSI_T_IFNDEF); goto start; }
5930 #line 5931 "src/parser.c"
5931 yy396:
5932 yyaccept = 4;
5933 yych = *(mrk = ++cur);
5934 switch (yych) {
5935 case 'E':
5936 case 'e': goto yy447;
5937 default: goto yy58;
5938 }
5939 yy397:
5940 yyaccept = 4;
5941 yych = *(mrk = ++cur);
5942 switch (yych) {
5943 case 'T':
5944 case 't': goto yy449;
5945 default: goto yy58;
5946 }
5947 yy398:
5948 yyaccept = 4;
5949 yych = *(mrk = ++cur);
5950 switch (yych) {
5951 case 'T':
5952 case 't': goto yy451;
5953 default: goto yy58;
5954 }
5955 yy399:
5956 yyaccept = 4;
5957 yych = *(mrk = ++cur);
5958 switch (yych) {
5959 case 'T':
5960 case 't': goto yy453;
5961 default: goto yy58;
5962 }
5963 yy400:
5964 yyaccept = 41;
5965 yych = *(mrk = ++cur);
5966 switch (yych) {
5967 case 0x00:
5968 case 0x01:
5969 case 0x02:
5970 case 0x03:
5971 case 0x04:
5972 case 0x05:
5973 case 0x06:
5974 case 0x07:
5975 case 0x08:
5976 case '\t':
5977 case '\n':
5978 case '\v':
5979 case '\f':
5980 case '\r':
5981 case 0x0E:
5982 case 0x0F:
5983 case 0x10:
5984 case 0x11:
5985 case 0x12:
5986 case 0x13:
5987 case 0x14:
5988 case 0x15:
5989 case 0x16:
5990 case 0x17:
5991 case 0x18:
5992 case 0x19:
5993 case 0x1A:
5994 case 0x1B:
5995 case 0x1C:
5996 case 0x1D:
5997 case 0x1E:
5998 case 0x1F:
5999 case ' ':
6000 case '!':
6001 case '"':
6002 case '#':
6003 case '$':
6004 case '%':
6005 case '&':
6006 case '\'':
6007 case '(':
6008 case ')':
6009 case '*':
6010 case '+':
6011 case ',':
6012 case '-':
6013 case '.':
6014 case '/':
6015 case ':':
6016 case ';':
6017 case '<':
6018 case '=':
6019 case '>':
6020 case '?':
6021 case '@':
6022 case '[':
6023 case ']':
6024 case '^':
6025 case '`':
6026 case '{':
6027 case '|':
6028 case '}':
6029 case '~':
6030 case 0x7F: goto yy401;
6031 case '\\': goto yy131;
6032 default: goto yy57;
6033 }
6034 yy401:
6035 #line 378 "src/parser.re"
6036 { NEWTOKEN(PSI_T_INT8); goto start; }
6037 #line 6038 "src/parser.c"
6038 yy402:
6039 yyaccept = 42;
6040 yych = *(mrk = ++cur);
6041 switch (yych) {
6042 case 0x00:
6043 case 0x01:
6044 case 0x02:
6045 case 0x03:
6046 case 0x04:
6047 case 0x05:
6048 case 0x06:
6049 case 0x07:
6050 case 0x08:
6051 case '\t':
6052 case '\n':
6053 case '\v':
6054 case '\f':
6055 case '\r':
6056 case 0x0E:
6057 case 0x0F:
6058 case 0x10:
6059 case 0x11:
6060 case 0x12:
6061 case 0x13:
6062 case 0x14:
6063 case 0x15:
6064 case 0x16:
6065 case 0x17:
6066 case 0x18:
6067 case 0x19:
6068 case 0x1A:
6069 case 0x1B:
6070 case 0x1C:
6071 case 0x1D:
6072 case 0x1E:
6073 case 0x1F:
6074 case ' ':
6075 case '!':
6076 case '"':
6077 case '#':
6078 case '$':
6079 case '%':
6080 case '&':
6081 case '\'':
6082 case '(':
6083 case ')':
6084 case '*':
6085 case '+':
6086 case ',':
6087 case '-':
6088 case '.':
6089 case '/':
6090 case ':':
6091 case ';':
6092 case '<':
6093 case '=':
6094 case '>':
6095 case '?':
6096 case '@':
6097 case '[':
6098 case ']':
6099 case '^':
6100 case '`':
6101 case '{':
6102 case '|':
6103 case '}':
6104 case '~':
6105 case 0x7F: goto yy403;
6106 case '\\': goto yy131;
6107 default: goto yy57;
6108 }
6109 yy403:
6110 #line 410 "src/parser.re"
6111 { NEWTOKEN(PSI_T_INTVAL); goto start; }
6112 #line 6113 "src/parser.c"
6113 yy404:
6114 yyaccept = 43;
6115 yych = *(mrk = ++cur);
6116 switch (yych) {
6117 case 0x00:
6118 case 0x01:
6119 case 0x02:
6120 case 0x03:
6121 case 0x04:
6122 case 0x05:
6123 case 0x06:
6124 case 0x07:
6125 case 0x08:
6126 case '\t':
6127 case '\n':
6128 case '\v':
6129 case '\f':
6130 case '\r':
6131 case 0x0E:
6132 case 0x0F:
6133 case 0x10:
6134 case 0x11:
6135 case 0x12:
6136 case 0x13:
6137 case 0x14:
6138 case 0x15:
6139 case 0x16:
6140 case 0x17:
6141 case 0x18:
6142 case 0x19:
6143 case 0x1A:
6144 case 0x1B:
6145 case 0x1C:
6146 case 0x1D:
6147 case 0x1E:
6148 case 0x1F:
6149 case ' ':
6150 case '!':
6151 case '"':
6152 case '#':
6153 case '$':
6154 case '%':
6155 case '&':
6156 case '\'':
6157 case '(':
6158 case ')':
6159 case '*':
6160 case '+':
6161 case ',':
6162 case '-':
6163 case '.':
6164 case '/':
6165 case ':':
6166 case ';':
6167 case '<':
6168 case '=':
6169 case '>':
6170 case '?':
6171 case '@':
6172 case '[':
6173 case ']':
6174 case '^':
6175 case '`':
6176 case '{':
6177 case '|':
6178 case '}':
6179 case '~':
6180 case 0x7F: goto yy405;
6181 case '\\': goto yy131;
6182 default: goto yy57;
6183 }
6184 yy405:
6185 #line 390 "src/parser.re"
6186 { NEWTOKEN(PSI_T_OBJECT); goto start; }
6187 #line 6188 "src/parser.c"
6188 yy406:
6189 yyaccept = 44;
6190 yych = *(mrk = ++cur);
6191 switch (yych) {
6192 case 0x00:
6193 case 0x01:
6194 case 0x02:
6195 case 0x03:
6196 case 0x04:
6197 case 0x05:
6198 case 0x06:
6199 case 0x07:
6200 case 0x08:
6201 case '\t':
6202 case '\n':
6203 case '\v':
6204 case '\f':
6205 case '\r':
6206 case 0x0E:
6207 case 0x0F:
6208 case 0x10:
6209 case 0x11:
6210 case 0x12:
6211 case 0x13:
6212 case 0x14:
6213 case 0x15:
6214 case 0x16:
6215 case 0x17:
6216 case 0x18:
6217 case 0x19:
6218 case 0x1A:
6219 case 0x1B:
6220 case 0x1C:
6221 case 0x1D:
6222 case 0x1E:
6223 case 0x1F:
6224 case ' ':
6225 case '!':
6226 case '"':
6227 case '#':
6228 case '$':
6229 case '%':
6230 case '&':
6231 case '\'':
6232 case '(':
6233 case ')':
6234 case '*':
6235 case '+':
6236 case ',':
6237 case '-':
6238 case '.':
6239 case '/':
6240 case ':':
6241 case ';':
6242 case '<':
6243 case '=':
6244 case '>':
6245 case '?':
6246 case '@':
6247 case '[':
6248 case ']':
6249 case '^':
6250 case '`':
6251 case '{':
6252 case '|':
6253 case '}':
6254 case '~':
6255 case 0x7F: goto yy407;
6256 case '\\': goto yy131;
6257 default: goto yy57;
6258 }
6259 yy407:
6260 #line 414 "src/parser.re"
6261 { NEWTOKEN(PSI_T_OBJVAL); goto start; }
6262 #line 6263 "src/parser.c"
6263 yy408:
6264 yyaccept = 4;
6265 yych = *(mrk = ++cur);
6266 switch (yych) {
6267 case 'L':
6268 case 'l': goto yy455;
6269 default: goto yy58;
6270 }
6271 yy409:
6272 yyaccept = 4;
6273 yych = *(mrk = ++cur);
6274 switch (yych) {
6275 case 'S':
6276 case 's': goto yy457;
6277 default: goto yy58;
6278 }
6279 yy410:
6280 yyaccept = 4;
6281 yych = *(mrk = ++cur);
6282 switch (yych) {
6283 case 'S':
6284 case 's': goto yy458;
6285 default: goto yy58;
6286 }
6287 yy411:
6288 yyaccept = 45;
6289 yych = *(mrk = ++cur);
6290 switch (yych) {
6291 case 0x00:
6292 case 0x01:
6293 case 0x02:
6294 case 0x03:
6295 case 0x04:
6296 case 0x05:
6297 case 0x06:
6298 case 0x07:
6299 case 0x08:
6300 case '\t':
6301 case '\n':
6302 case '\v':
6303 case '\f':
6304 case '\r':
6305 case 0x0E:
6306 case 0x0F:
6307 case 0x10:
6308 case 0x11:
6309 case 0x12:
6310 case 0x13:
6311 case 0x14:
6312 case 0x15:
6313 case 0x16:
6314 case 0x17:
6315 case 0x18:
6316 case 0x19:
6317 case 0x1A:
6318 case 0x1B:
6319 case 0x1C:
6320 case 0x1D:
6321 case 0x1E:
6322 case 0x1F:
6323 case ' ':
6324 case '!':
6325 case '"':
6326 case '#':
6327 case '$':
6328 case '%':
6329 case '&':
6330 case '\'':
6331 case '(':
6332 case ')':
6333 case '*':
6334 case '+':
6335 case ',':
6336 case '-':
6337 case '.':
6338 case '/':
6339 case ':':
6340 case ';':
6341 case '<':
6342 case '=':
6343 case '>':
6344 case '?':
6345 case '@':
6346 case '[':
6347 case ']':
6348 case '^':
6349 case '`':
6350 case '{':
6351 case '|':
6352 case '}':
6353 case '~':
6354 case 0x7F: goto yy412;
6355 case '\\': goto yy131;
6356 default: goto yy57;
6357 }
6358 yy412:
6359 #line 404 "src/parser.re"
6360 { NEWTOKEN(PSI_T_RETURN); goto start; }
6361 #line 6362 "src/parser.c"
6362 yy413:
6363 yyaccept = 46;
6364 yych = *(mrk = ++cur);
6365 switch (yych) {
6366 case 0x00:
6367 case 0x01:
6368 case 0x02:
6369 case 0x03:
6370 case 0x04:
6371 case 0x05:
6372 case 0x06:
6373 case 0x07:
6374 case 0x08:
6375 case '\t':
6376 case '\n':
6377 case '\v':
6378 case '\f':
6379 case '\r':
6380 case 0x0E:
6381 case 0x0F:
6382 case 0x10:
6383 case 0x11:
6384 case 0x12:
6385 case 0x13:
6386 case 0x14:
6387 case 0x15:
6388 case 0x16:
6389 case 0x17:
6390 case 0x18:
6391 case 0x19:
6392 case 0x1A:
6393 case 0x1B:
6394 case 0x1C:
6395 case 0x1D:
6396 case 0x1E:
6397 case 0x1F:
6398 case ' ':
6399 case '!':
6400 case '"':
6401 case '#':
6402 case '$':
6403 case '%':
6404 case '&':
6405 case '\'':
6406 case '(':
6407 case ')':
6408 case '*':
6409 case '+':
6410 case ',':
6411 case '-':
6412 case '.':
6413 case '/':
6414 case ':':
6415 case ';':
6416 case '<':
6417 case '=':
6418 case '>':
6419 case '?':
6420 case '@':
6421 case '[':
6422 case ']':
6423 case '^':
6424 case '`':
6425 case '{':
6426 case '|':
6427 case '}':
6428 case '~':
6429 case 0x7F: goto yy414;
6430 case '\\': goto yy131;
6431 default: goto yy57;
6432 }
6433 yy414:
6434 #line 387 "src/parser.re"
6435 { NEWTOKEN(PSI_T_SIGNED); goto start; }
6436 #line 6437 "src/parser.c"
6437 yy415:
6438 yyaccept = 47;
6439 yych = *(mrk = ++cur);
6440 switch (yych) {
6441 case 0x00:
6442 case 0x01:
6443 case 0x02:
6444 case 0x03:
6445 case 0x04:
6446 case 0x05:
6447 case 0x06:
6448 case 0x07:
6449 case 0x08:
6450 case '\t':
6451 case '\n':
6452 case '\v':
6453 case '\f':
6454 case '\r':
6455 case 0x0E:
6456 case 0x0F:
6457 case 0x10:
6458 case 0x11:
6459 case 0x12:
6460 case 0x13:
6461 case 0x14:
6462 case 0x15:
6463 case 0x16:
6464 case 0x17:
6465 case 0x18:
6466 case 0x19:
6467 case 0x1A:
6468 case 0x1B:
6469 case 0x1C:
6470 case 0x1D:
6471 case 0x1E:
6472 case 0x1F:
6473 case ' ':
6474 case '!':
6475 case '"':
6476 case '#':
6477 case '$':
6478 case '%':
6479 case '&':
6480 case '\'':
6481 case '(':
6482 case ')':
6483 case '*':
6484 case '+':
6485 case ',':
6486 case '-':
6487 case '.':
6488 case '/':
6489 case ':':
6490 case ';':
6491 case '<':
6492 case '=':
6493 case '>':
6494 case '?':
6495 case '@':
6496 case '[':
6497 case ']':
6498 case '^':
6499 case '`':
6500 case '{':
6501 case '|':
6502 case '}':
6503 case '~':
6504 case 0x7F: goto yy416;
6505 case '\\': goto yy131;
6506 default: goto yy57;
6507 }
6508 yy416:
6509 #line 392 "src/parser.re"
6510 { NEWTOKEN(PSI_T_STATIC); goto start; }
6511 #line 6512 "src/parser.c"
6512 yy417:
6513 yyaccept = 48;
6514 yych = *(mrk = ++cur);
6515 switch (yych) {
6516 case 0x00:
6517 case 0x01:
6518 case 0x02:
6519 case 0x03:
6520 case 0x04:
6521 case 0x05:
6522 case 0x06:
6523 case 0x07:
6524 case 0x08:
6525 case '\t':
6526 case '\n':
6527 case '\v':
6528 case '\f':
6529 case '\r':
6530 case 0x0E:
6531 case 0x0F:
6532 case 0x10:
6533 case 0x11:
6534 case 0x12:
6535 case 0x13:
6536 case 0x14:
6537 case 0x15:
6538 case 0x16:
6539 case 0x17:
6540 case 0x18:
6541 case 0x19:
6542 case 0x1A:
6543 case 0x1B:
6544 case 0x1C:
6545 case 0x1D:
6546 case 0x1E:
6547 case 0x1F:
6548 case ' ':
6549 case '!':
6550 case '"':
6551 case '#':
6552 case '$':
6553 case '%':
6554 case '&':
6555 case '\'':
6556 case '(':
6557 case ')':
6558 case '*':
6559 case '+':
6560 case ',':
6561 case '-':
6562 case '.':
6563 case '/':
6564 case ':':
6565 case ';':
6566 case '<':
6567 case '=':
6568 case '>':
6569 case '?':
6570 case '@':
6571 case '[':
6572 case ']':
6573 case '^':
6574 case '`':
6575 case '{':
6576 case '|':
6577 case '}':
6578 case '~':
6579 case 0x7F: goto yy418;
6580 case '\\': goto yy131;
6581 default: goto yy57;
6582 }
6583 yy418:
6584 #line 388 "src/parser.re"
6585 { NEWTOKEN(PSI_T_STRING); goto start; }
6586 #line 6587 "src/parser.c"
6587 yy419:
6588 yyaccept = 49;
6589 yych = *(mrk = ++cur);
6590 switch (yych) {
6591 case 0x00:
6592 case 0x01:
6593 case 0x02:
6594 case 0x03:
6595 case 0x04:
6596 case 0x05:
6597 case 0x06:
6598 case 0x07:
6599 case 0x08:
6600 case '\t':
6601 case '\n':
6602 case '\v':
6603 case '\f':
6604 case '\r':
6605 case 0x0E:
6606 case 0x0F:
6607 case 0x10:
6608 case 0x11:
6609 case 0x12:
6610 case 0x13:
6611 case 0x14:
6612 case 0x15:
6613 case 0x16:
6614 case 0x17:
6615 case 0x18:
6616 case 0x19:
6617 case 0x1A:
6618 case 0x1B:
6619 case 0x1C:
6620 case 0x1D:
6621 case 0x1E:
6622 case 0x1F:
6623 case ' ':
6624 case '!':
6625 case '"':
6626 case '#':
6627 case '$':
6628 case '%':
6629 case '&':
6630 case '\'':
6631 case '(':
6632 case ')':
6633 case '*':
6634 case '+':
6635 case ',':
6636 case '-':
6637 case '.':
6638 case '/':
6639 case ':':
6640 case ';':
6641 case '<':
6642 case '=':
6643 case '>':
6644 case '?':
6645 case '@':
6646 case '[':
6647 case ']':
6648 case '^':
6649 case '`':
6650 case '{':
6651 case '|':
6652 case '}':
6653 case '~':
6654 case 0x7F: goto yy420;
6655 case '\\': goto yy131;
6656 default: goto yy57;
6657 }
6658 yy420:
6659 #line 407 "src/parser.re"
6660 { NEWTOKEN(PSI_T_STRLEN); goto start; }
6661 #line 6662 "src/parser.c"
6662 yy421:
6663 yyaccept = 50;
6664 yych = *(mrk = ++cur);
6665 switch (yych) {
6666 case 0x00:
6667 case 0x01:
6668 case 0x02:
6669 case 0x03:
6670 case 0x04:
6671 case 0x05:
6672 case 0x06:
6673 case 0x07:
6674 case 0x08:
6675 case '\t':
6676 case '\n':
6677 case '\v':
6678 case '\f':
6679 case '\r':
6680 case 0x0E:
6681 case 0x0F:
6682 case 0x10:
6683 case 0x11:
6684 case 0x12:
6685 case 0x13:
6686 case 0x14:
6687 case 0x15:
6688 case 0x16:
6689 case 0x17:
6690 case 0x18:
6691 case 0x19:
6692 case 0x1A:
6693 case 0x1B:
6694 case 0x1C:
6695 case 0x1D:
6696 case 0x1E:
6697 case 0x1F:
6698 case ' ':
6699 case '!':
6700 case '"':
6701 case '#':
6702 case '$':
6703 case '%':
6704 case '&':
6705 case '\'':
6706 case '(':
6707 case ')':
6708 case '*':
6709 case '+':
6710 case ',':
6711 case '-':
6712 case '.':
6713 case '/':
6714 case ':':
6715 case ';':
6716 case '<':
6717 case '=':
6718 case '>':
6719 case '?':
6720 case '@':
6721 case '[':
6722 case ']':
6723 case '^':
6724 case '`':
6725 case '{':
6726 case '|':
6727 case '}':
6728 case '~':
6729 case 0x7F: goto yy422;
6730 case '\\': goto yy131;
6731 default: goto yy57;
6732 }
6733 yy422:
6734 #line 395 "src/parser.re"
6735 { NEWTOKEN(PSI_T_STRUCT); goto start; }
6736 #line 6737 "src/parser.c"
6737 yy423:
6738 yyaccept = 51;
6739 yych = *(mrk = ++cur);
6740 switch (yych) {
6741 case 0x00:
6742 case 0x01:
6743 case 0x02:
6744 case 0x03:
6745 case 0x04:
6746 case 0x05:
6747 case 0x06:
6748 case 0x07:
6749 case 0x08:
6750 case '\t':
6751 case '\n':
6752 case '\v':
6753 case '\f':
6754 case '\r':
6755 case 0x0E:
6756 case 0x0F:
6757 case 0x10:
6758 case 0x11:
6759 case 0x12:
6760 case 0x13:
6761 case 0x14:
6762 case 0x15:
6763 case 0x16:
6764 case 0x17:
6765 case 0x18:
6766 case 0x19:
6767 case 0x1A:
6768 case 0x1B:
6769 case 0x1C:
6770 case 0x1D:
6771 case 0x1E:
6772 case 0x1F:
6773 case ' ':
6774 case '!':
6775 case '"':
6776 case '#':
6777 case '$':
6778 case '%':
6779 case '&':
6780 case '\'':
6781 case '(':
6782 case ')':
6783 case '*':
6784 case '+':
6785 case ',':
6786 case '-':
6787 case '.':
6788 case '/':
6789 case ':':
6790 case ';':
6791 case '<':
6792 case '=':
6793 case '>':
6794 case '?':
6795 case '@':
6796 case '[':
6797 case ']':
6798 case '^':
6799 case '`':
6800 case '{':
6801 case '|':
6802 case '}':
6803 case '~':
6804 case 0x7F: goto yy424;
6805 case '\\': goto yy131;
6806 default: goto yy57;
6807 }
6808 yy424:
6809 #line 408 "src/parser.re"
6810 { NEWTOKEN(PSI_T_STRVAL); goto start; }
6811 #line 6812 "src/parser.c"
6812 yy425:
6813 yyaccept = 4;
6814 yych = *(mrk = ++cur);
6815 switch (yych) {
6816 case 'A':
6817 case 'a': goto yy459;
6818 default: goto yy58;
6819 }
6820 yy426:
6821 yyaccept = 4;
6822 yych = *(mrk = ++cur);
6823 switch (yych) {
6824 case 'L':
6825 case 'l': goto yy460;
6826 default: goto yy58;
6827 }
6828 yy427:
6829 yyaccept = 4;
6830 yych = *(mrk = ++cur);
6831 switch (yych) {
6832 case 'A':
6833 case 'a': goto yy462;
6834 default: goto yy58;
6835 }
6836 yy428:
6837 yyaccept = 52;
6838 yych = *(mrk = ++cur);
6839 switch (yych) {
6840 case 0x00:
6841 case 0x01:
6842 case 0x02:
6843 case 0x03:
6844 case 0x04:
6845 case 0x05:
6846 case 0x06:
6847 case 0x07:
6848 case 0x08:
6849 case '\t':
6850 case '\n':
6851 case '\v':
6852 case '\f':
6853 case '\r':
6854 case 0x0E:
6855 case 0x0F:
6856 case 0x10:
6857 case 0x11:
6858 case 0x12:
6859 case 0x13:
6860 case 0x14:
6861 case 0x15:
6862 case 0x16:
6863 case 0x17:
6864 case 0x18:
6865 case 0x19:
6866 case 0x1A:
6867 case 0x1B:
6868 case 0x1C:
6869 case 0x1D:
6870 case 0x1E:
6871 case 0x1F:
6872 case ' ':
6873 case '!':
6874 case '"':
6875 case '#':
6876 case '$':
6877 case '%':
6878 case '&':
6879 case '\'':
6880 case '(':
6881 case ')':
6882 case '*':
6883 case '+':
6884 case ',':
6885 case '-':
6886 case '.':
6887 case '/':
6888 case ':':
6889 case ';':
6890 case '<':
6891 case '=':
6892 case '>':
6893 case '?':
6894 case '@':
6895 case '[':
6896 case ']':
6897 case '^':
6898 case '`':
6899 case '{':
6900 case '|':
6901 case '}':
6902 case '~':
6903 case 0x7F: goto yy429;
6904 case '\\': goto yy131;
6905 default: goto yy57;
6906 }
6907 yy429:
6908 #line 421 "src/parser.re"
6909 { NEWTOKEN(PSI_T_TO_INT); goto start; }
6910 #line 6911 "src/parser.c"
6911 yy430:
6912 yyaccept = 4;
6913 yych = *(mrk = ++cur);
6914 switch (yych) {
6915 case 'E':
6916 case 'e': goto yy463;
6917 default: goto yy58;
6918 }
6919 yy431:
6920 yyaccept = 4;
6921 yych = *(mrk = ++cur);
6922 switch (yych) {
6923 case 'I':
6924 case 'i': goto yy464;
6925 default: goto yy58;
6926 }
6927 yy432:
6928 yyaccept = 4;
6929 yych = *(mrk = ++cur);
6930 switch (yych) {
6931 case 'F':
6932 case 'f': goto yy465;
6933 default: goto yy58;
6934 }
6935 yy433:
6936 yyaccept = 4;
6937 yych = *(mrk = ++cur);
6938 switch (yych) {
6939 case '_': goto yy467;
6940 default: goto yy58;
6941 }
6942 yy434:
6943 yyaccept = 4;
6944 yych = *(mrk = ++cur);
6945 switch (yych) {
6946 case '_': goto yy468;
6947 default: goto yy58;
6948 }
6949 yy435:
6950 yyaccept = 4;
6951 yych = *(mrk = ++cur);
6952 switch (yych) {
6953 case '_': goto yy469;
6954 default: goto yy58;
6955 }
6956 yy436:
6957 yyaccept = 4;
6958 yych = *(mrk = ++cur);
6959 switch (yych) {
6960 case 'T':
6961 case 't': goto yy470;
6962 default: goto yy58;
6963 }
6964 yy437:
6965 yyaccept = 4;
6966 yych = *(mrk = ++cur);
6967 switch (yych) {
6968 case 'E':
6969 case 'e': goto yy472;
6970 default: goto yy58;
6971 }
6972 yy438:
6973 yyaccept = 4;
6974 yych = *(mrk = ++cur);
6975 switch (yych) {
6976 case 'G':
6977 case 'g': goto yy473;
6978 default: goto yy58;
6979 }
6980 yy439:
6981 yyaccept = 53;
6982 yych = *(mrk = ++cur);
6983 switch (yych) {
6984 case 0x00:
6985 case 0x01:
6986 case 0x02:
6987 case 0x03:
6988 case 0x04:
6989 case 0x05:
6990 case 0x06:
6991 case 0x07:
6992 case 0x08:
6993 case '\t':
6994 case '\n':
6995 case '\v':
6996 case '\f':
6997 case '\r':
6998 case 0x0E:
6999 case 0x0F:
7000 case 0x10:
7001 case 0x11:
7002 case 0x12:
7003 case 0x13:
7004 case 0x14:
7005 case 0x15:
7006 case 0x16:
7007 case 0x17:
7008 case 0x18:
7009 case 0x19:
7010 case 0x1A:
7011 case 0x1B:
7012 case 0x1C:
7013 case 0x1D:
7014 case 0x1E:
7015 case 0x1F:
7016 case ' ':
7017 case '!':
7018 case '"':
7019 case '#':
7020 case '$':
7021 case '%':
7022 case '&':
7023 case '\'':
7024 case '(':
7025 case ')':
7026 case '*':
7027 case '+':
7028 case ',':
7029 case '-':
7030 case '.':
7031 case '/':
7032 case ':':
7033 case ';':
7034 case '<':
7035 case '=':
7036 case '>':
7037 case '?':
7038 case '@':
7039 case '[':
7040 case ']':
7041 case '^':
7042 case '`':
7043 case '{':
7044 case '|':
7045 case '}':
7046 case '~':
7047 case 0x7F: goto yy440;
7048 case '\\': goto yy131;
7049 default: goto yy57;
7050 }
7051 yy440:
7052 #line 412 "src/parser.re"
7053 { NEWTOKEN(PSI_T_BOOLVAL); goto start; }
7054 #line 7055 "src/parser.c"
7055 yy441:
7056 yyaccept = 4;
7057 yych = *(mrk = ++cur);
7058 switch (yych) {
7059 case 'E':
7060 case 'e': goto yy475;
7061 default: goto yy58;
7062 }
7063 yy442:
7064 yyaccept = 4;
7065 yych = *(mrk = ++cur);
7066 switch (yych) {
7067 case 'K':
7068 case 'k': goto yy477;
7069 default: goto yy58;
7070 }
7071 yy443:
7072 yyaccept = 54;
7073 yych = *(mrk = ++cur);
7074 switch (yych) {
7075 case 0x00:
7076 case 0x01:
7077 case 0x02:
7078 case 0x03:
7079 case 0x04:
7080 case 0x05:
7081 case 0x06:
7082 case 0x07:
7083 case 0x08:
7084 case '\t':
7085 case '\n':
7086 case '\v':
7087 case '\f':
7088 case '\r':
7089 case 0x0E:
7090 case 0x0F:
7091 case 0x10:
7092 case 0x11:
7093 case 0x12:
7094 case 0x13:
7095 case 0x14:
7096 case 0x15:
7097 case 0x16:
7098 case 0x17:
7099 case 0x18:
7100 case 0x19:
7101 case 0x1A:
7102 case 0x1B:
7103 case 0x1C:
7104 case 0x1D:
7105 case 0x1E:
7106 case 0x1F:
7107 case ' ':
7108 case '!':
7109 case '"':
7110 case '#':
7111 case '$':
7112 case '%':
7113 case '&':
7114 case '\'':
7115 case '(':
7116 case ')':
7117 case '*':
7118 case '+':
7119 case ',':
7120 case '-':
7121 case '.':
7122 case '/':
7123 case ':':
7124 case ';':
7125 case '<':
7126 case '=':
7127 case '>':
7128 case '?':
7129 case '@':
7130 case '[':
7131 case ']':
7132 case '^':
7133 case '`':
7134 case '{':
7135 case '|':
7136 case '}':
7137 case '~':
7138 case 0x7F: goto yy444;
7139 case '\\': goto yy131;
7140 default: goto yy57;
7141 }
7142 yy444:
7143 #line 359 "src/parser.re"
7144 { NEWTOKEN(PSI_T_DEFINED); goto start; }
7145 #line 7146 "src/parser.c"
7146 yy445:
7147 yyaccept = 4;
7148 yych = *(mrk = ++cur);
7149 switch (yych) {
7150 case 'L':
7151 case 'l': goto yy479;
7152 default: goto yy58;
7153 }
7154 yy446:
7155 yyaccept = 4;
7156 yych = *(mrk = ++cur);
7157 switch (yych) {
7158 case 'N':
7159 case 'n': goto yy481;
7160 default: goto yy58;
7161 }
7162 yy447:
7163 yyaccept = 55;
7164 yych = *(mrk = ++cur);
7165 switch (yych) {
7166 case 0x00:
7167 case 0x01:
7168 case 0x02:
7169 case 0x03:
7170 case 0x04:
7171 case 0x05:
7172 case 0x06:
7173 case 0x07:
7174 case 0x08:
7175 case '\t':
7176 case '\n':
7177 case '\v':
7178 case '\f':
7179 case '\r':
7180 case 0x0E:
7181 case 0x0F:
7182 case 0x10:
7183 case 0x11:
7184 case 0x12:
7185 case 0x13:
7186 case 0x14:
7187 case 0x15:
7188 case 0x16:
7189 case 0x17:
7190 case 0x18:
7191 case 0x19:
7192 case 0x1A:
7193 case 0x1B:
7194 case 0x1C:
7195 case 0x1D:
7196 case 0x1E:
7197 case 0x1F:
7198 case ' ':
7199 case '!':
7200 case '"':
7201 case '#':
7202 case '$':
7203 case '%':
7204 case '&':
7205 case '\'':
7206 case '(':
7207 case ')':
7208 case '*':
7209 case '+':
7210 case ',':
7211 case '-':
7212 case '.':
7213 case '/':
7214 case ':':
7215 case ';':
7216 case '<':
7217 case '=':
7218 case '>':
7219 case '?':
7220 case '@':
7221 case '[':
7222 case ']':
7223 case '^':
7224 case '`':
7225 case '{':
7226 case '|':
7227 case '}':
7228 case '~':
7229 case 0x7F: goto yy448;
7230 case '\\': goto yy131;
7231 case '_': goto yy483;
7232 default: goto yy57;
7233 }
7234 yy448:
7235 #line 363 "src/parser.re"
7236 { NEWTOKEN(PSI_T_INCLUDE); goto start; }
7237 #line 7238 "src/parser.c"
7238 yy449:
7239 yyaccept = 56;
7240 yych = *(mrk = ++cur);
7241 switch (yych) {
7242 case 0x00:
7243 case 0x01:
7244 case 0x02:
7245 case 0x03:
7246 case 0x04:
7247 case 0x05:
7248 case 0x06:
7249 case 0x07:
7250 case 0x08:
7251 case '\t':
7252 case '\n':
7253 case '\v':
7254 case '\f':
7255 case '\r':
7256 case 0x0E:
7257 case 0x0F:
7258 case 0x10:
7259 case 0x11:
7260 case 0x12:
7261 case 0x13:
7262 case 0x14:
7263 case 0x15:
7264 case 0x16:
7265 case 0x17:
7266 case 0x18:
7267 case 0x19:
7268 case 0x1A:
7269 case 0x1B:
7270 case 0x1C:
7271 case 0x1D:
7272 case 0x1E:
7273 case 0x1F:
7274 case ' ':
7275 case '!':
7276 case '"':
7277 case '#':
7278 case '$':
7279 case '%':
7280 case '&':
7281 case '\'':
7282 case '(':
7283 case ')':
7284 case '*':
7285 case '+':
7286 case ',':
7287 case '-':
7288 case '.':
7289 case '/':
7290 case ':':
7291 case ';':
7292 case '<':
7293 case '=':
7294 case '>':
7295 case '?':
7296 case '@':
7297 case '[':
7298 case ']':
7299 case '^':
7300 case '`':
7301 case '{':
7302 case '|':
7303 case '}':
7304 case '~':
7305 case 0x7F: goto yy450;
7306 case '\\': goto yy131;
7307 default: goto yy57;
7308 }
7309 yy450:
7310 #line 380 "src/parser.re"
7311 { NEWTOKEN(PSI_T_INT16); goto start; }
7312 #line 7313 "src/parser.c"
7313 yy451:
7314 yyaccept = 57;
7315 yych = *(mrk = ++cur);
7316 switch (yych) {
7317 case 0x00:
7318 case 0x01:
7319 case 0x02:
7320 case 0x03:
7321 case 0x04:
7322 case 0x05:
7323 case 0x06:
7324 case 0x07:
7325 case 0x08:
7326 case '\t':
7327 case '\n':
7328 case '\v':
7329 case '\f':
7330 case '\r':
7331 case 0x0E:
7332 case 0x0F:
7333 case 0x10:
7334 case 0x11:
7335 case 0x12:
7336 case 0x13:
7337 case 0x14:
7338 case 0x15:
7339 case 0x16:
7340 case 0x17:
7341 case 0x18:
7342 case 0x19:
7343 case 0x1A:
7344 case 0x1B:
7345 case 0x1C:
7346 case 0x1D:
7347 case 0x1E:
7348 case 0x1F:
7349 case ' ':
7350 case '!':
7351 case '"':
7352 case '#':
7353 case '$':
7354 case '%':
7355 case '&':
7356 case '\'':
7357 case '(':
7358 case ')':
7359 case '*':
7360 case '+':
7361 case ',':
7362 case '-':
7363 case '.':
7364 case '/':
7365 case ':':
7366 case ';':
7367 case '<':
7368 case '=':
7369 case '>':
7370 case '?':
7371 case '@':
7372 case '[':
7373 case ']':
7374 case '^':
7375 case '`':
7376 case '{':
7377 case '|':
7378 case '}':
7379 case '~':
7380 case 0x7F: goto yy452;
7381 case '\\': goto yy131;
7382 default: goto yy57;
7383 }
7384 yy452:
7385 #line 382 "src/parser.re"
7386 { NEWTOKEN(PSI_T_INT32); goto start; }
7387 #line 7388 "src/parser.c"
7388 yy453:
7389 yyaccept = 58;
7390 yych = *(mrk = ++cur);
7391 switch (yych) {
7392 case 0x00:
7393 case 0x01:
7394 case 0x02:
7395 case 0x03:
7396 case 0x04:
7397 case 0x05:
7398 case 0x06:
7399 case 0x07:
7400 case 0x08:
7401 case '\t':
7402 case '\n':
7403 case '\v':
7404 case '\f':
7405 case '\r':
7406 case 0x0E:
7407 case 0x0F:
7408 case 0x10:
7409 case 0x11:
7410 case 0x12:
7411 case 0x13:
7412 case 0x14:
7413 case 0x15:
7414 case 0x16:
7415 case 0x17:
7416 case 0x18:
7417 case 0x19:
7418 case 0x1A:
7419 case 0x1B:
7420 case 0x1C:
7421 case 0x1D:
7422 case 0x1E:
7423 case 0x1F:
7424 case ' ':
7425 case '!':
7426 case '"':
7427 case '#':
7428 case '$':
7429 case '%':
7430 case '&':
7431 case '\'':
7432 case '(':
7433 case ')':
7434 case '*':
7435 case '+':
7436 case ',':
7437 case '-':
7438 case '.':
7439 case '/':
7440 case ':':
7441 case ';':
7442 case '<':
7443 case '=':
7444 case '>':
7445 case '?':
7446 case '@':
7447 case '[':
7448 case ']':
7449 case '^':
7450 case '`':
7451 case '{':
7452 case '|':
7453 case '}':
7454 case '~':
7455 case 0x7F: goto yy454;
7456 case '\\': goto yy131;
7457 default: goto yy57;
7458 }
7459 yy454:
7460 #line 384 "src/parser.re"
7461 { NEWTOKEN(PSI_T_INT64); goto start; }
7462 #line 7463 "src/parser.c"
7463 yy455:
7464 yyaccept = 59;
7465 yych = *(mrk = ++cur);
7466 switch (yych) {
7467 case 0x00:
7468 case 0x01:
7469 case 0x02:
7470 case 0x03:
7471 case 0x04:
7472 case 0x05:
7473 case 0x06:
7474 case 0x07:
7475 case 0x08:
7476 case '\t':
7477 case '\n':
7478 case '\v':
7479 case '\f':
7480 case '\r':
7481 case 0x0E:
7482 case 0x0F:
7483 case 0x10:
7484 case 0x11:
7485 case 0x12:
7486 case 0x13:
7487 case 0x14:
7488 case 0x15:
7489 case 0x16:
7490 case 0x17:
7491 case 0x18:
7492 case 0x19:
7493 case 0x1A:
7494 case 0x1B:
7495 case 0x1C:
7496 case 0x1D:
7497 case 0x1E:
7498 case 0x1F:
7499 case ' ':
7500 case '!':
7501 case '"':
7502 case '#':
7503 case '$':
7504 case '%':
7505 case '&':
7506 case '\'':
7507 case '(':
7508 case ')':
7509 case '*':
7510 case '+':
7511 case ',':
7512 case '-':
7513 case '.':
7514 case '/':
7515 case ':':
7516 case ';':
7517 case '<':
7518 case '=':
7519 case '>':
7520 case '?':
7521 case '@':
7522 case '[':
7523 case ']':
7524 case '^':
7525 case '`':
7526 case '{':
7527 case '|':
7528 case '}':
7529 case '~':
7530 case 0x7F: goto yy456;
7531 case '\\': goto yy131;
7532 default: goto yy57;
7533 }
7534 yy456:
7535 #line 409 "src/parser.re"
7536 { NEWTOKEN(PSI_T_PATHVAL); goto start; }
7537 #line 7538 "src/parser.c"
7538 yy457:
7539 yyaccept = 4;
7540 yych = *(mrk = ++cur);
7541 switch (yych) {
7542 case 'S':
7543 case 's': goto yy484;
7544 default: goto yy58;
7545 }
7546 yy458:
7547 yyaccept = 4;
7548 yych = *(mrk = ++cur);
7549 switch (yych) {
7550 case 'E':
7551 case 'e': goto yy485;
7552 default: goto yy58;
7553 }
7554 yy459:
7555 yyaccept = 4;
7556 yych = *(mrk = ++cur);
7557 switch (yych) {
7558 case 'Y':
7559 case 'y': goto yy486;
7560 default: goto yy58;
7561 }
7562 yy460:
7563 yyaccept = 60;
7564 yych = *(mrk = ++cur);
7565 switch (yych) {
7566 case 0x00:
7567 case 0x01:
7568 case 0x02:
7569 case 0x03:
7570 case 0x04:
7571 case 0x05:
7572 case 0x06:
7573 case 0x07:
7574 case 0x08:
7575 case '\t':
7576 case '\n':
7577 case '\v':
7578 case '\f':
7579 case '\r':
7580 case 0x0E:
7581 case 0x0F:
7582 case 0x10:
7583 case 0x11:
7584 case 0x12:
7585 case 0x13:
7586 case 0x14:
7587 case 0x15:
7588 case 0x16:
7589 case 0x17:
7590 case 0x18:
7591 case 0x19:
7592 case 0x1A:
7593 case 0x1B:
7594 case 0x1C:
7595 case 0x1D:
7596 case 0x1E:
7597 case 0x1F:
7598 case ' ':
7599 case '!':
7600 case '"':
7601 case '#':
7602 case '$':
7603 case '%':
7604 case '&':
7605 case '\'':
7606 case '(':
7607 case ')':
7608 case '*':
7609 case '+':
7610 case ',':
7611 case '-':
7612 case '.':
7613 case '/':
7614 case ':':
7615 case ';':
7616 case '<':
7617 case '=':
7618 case '>':
7619 case '?':
7620 case '@':
7621 case '[':
7622 case ']':
7623 case '^':
7624 case '`':
7625 case '{':
7626 case '|':
7627 case '}':
7628 case '~':
7629 case 0x7F: goto yy461;
7630 case '\\': goto yy131;
7631 default: goto yy57;
7632 }
7633 yy461:
7634 #line 423 "src/parser.re"
7635 { NEWTOKEN(PSI_T_TO_BOOL); goto start; }
7636 #line 7637 "src/parser.c"
7637 yy462:
7638 yyaccept = 4;
7639 yych = *(mrk = ++cur);
7640 switch (yych) {
7641 case 'T':
7642 case 't': goto yy488;
7643 default: goto yy58;
7644 }
7645 yy463:
7646 yyaccept = 4;
7647 yych = *(mrk = ++cur);
7648 switch (yych) {
7649 case 'C':
7650 case 'c': goto yy490;
7651 default: goto yy58;
7652 }
7653 yy464:
7654 yyaccept = 4;
7655 yych = *(mrk = ++cur);
7656 switch (yych) {
7657 case 'N':
7658 case 'n': goto yy491;
7659 default: goto yy58;
7660 }
7661 yy465:
7662 yyaccept = 61;
7663 yych = *(mrk = ++cur);
7664 switch (yych) {
7665 case 0x00:
7666 case 0x01:
7667 case 0x02:
7668 case 0x03:
7669 case 0x04:
7670 case 0x05:
7671 case 0x06:
7672 case 0x07:
7673 case 0x08:
7674 case '\t':
7675 case '\n':
7676 case '\v':
7677 case '\f':
7678 case '\r':
7679 case 0x0E:
7680 case 0x0F:
7681 case 0x10:
7682 case 0x11:
7683 case 0x12:
7684 case 0x13:
7685 case 0x14:
7686 case 0x15:
7687 case 0x16:
7688 case 0x17:
7689 case 0x18:
7690 case 0x19:
7691 case 0x1A:
7692 case 0x1B:
7693 case 0x1C:
7694 case 0x1D:
7695 case 0x1E:
7696 case 0x1F:
7697 case ' ':
7698 case '!':
7699 case '"':
7700 case '#':
7701 case '$':
7702 case '%':
7703 case '&':
7704 case '\'':
7705 case '(':
7706 case ')':
7707 case '*':
7708 case '+':
7709 case ',':
7710 case '-':
7711 case '.':
7712 case '/':
7713 case ':':
7714 case ';':
7715 case '<':
7716 case '=':
7717 case '>':
7718 case '?':
7719 case '@':
7720 case '[':
7721 case ']':
7722 case '^':
7723 case '`':
7724 case '{':
7725 case '|':
7726 case '}':
7727 case '~':
7728 case 0x7F: goto yy466;
7729 case '\\': goto yy131;
7730 default: goto yy57;
7731 }
7732 yy466:
7733 #line 394 "src/parser.re"
7734 { NEWTOKEN(PSI_T_TYPEDEF); goto start; }
7735 #line 7736 "src/parser.c"
7736 yy467:
7737 yyaccept = 4;
7738 yych = *(mrk = ++cur);
7739 switch (yych) {
7740 case 'T':
7741 case 't': goto yy492;
7742 default: goto yy58;
7743 }
7744 yy468:
7745 yyaccept = 4;
7746 yych = *(mrk = ++cur);
7747 switch (yych) {
7748 case 'T':
7749 case 't': goto yy494;
7750 default: goto yy58;
7751 }
7752 yy469:
7753 yyaccept = 4;
7754 yych = *(mrk = ++cur);
7755 switch (yych) {
7756 case 'T':
7757 case 't': goto yy496;
7758 default: goto yy58;
7759 }
7760 yy470:
7761 yyaccept = 62;
7762 yych = *(mrk = ++cur);
7763 switch (yych) {
7764 case 0x00:
7765 case 0x01:
7766 case 0x02:
7767 case 0x03:
7768 case 0x04:
7769 case 0x05:
7770 case 0x06:
7771 case 0x07:
7772 case 0x08:
7773 case '\t':
7774 case '\n':
7775 case '\v':
7776 case '\f':
7777 case '\r':
7778 case 0x0E:
7779 case 0x0F:
7780 case 0x10:
7781 case 0x11:
7782 case 0x12:
7783 case 0x13:
7784 case 0x14:
7785 case 0x15:
7786 case 0x16:
7787 case 0x17:
7788 case 0x18:
7789 case 0x19:
7790 case 0x1A:
7791 case 0x1B:
7792 case 0x1C:
7793 case 0x1D:
7794 case 0x1E:
7795 case 0x1F:
7796 case ' ':
7797 case '!':
7798 case '"':
7799 case '#':
7800 case '$':
7801 case '%':
7802 case '&':
7803 case '\'':
7804 case '(':
7805 case ')':
7806 case '*':
7807 case '+':
7808 case ',':
7809 case '-':
7810 case '.':
7811 case '/':
7812 case ':':
7813 case ';':
7814 case '<':
7815 case '=':
7816 case '>':
7817 case '?':
7818 case '@':
7819 case '[':
7820 case ']':
7821 case '^':
7822 case '`':
7823 case '{':
7824 case '|':
7825 case '}':
7826 case '~':
7827 case 0x7F: goto yy471;
7828 case '\\': goto yy131;
7829 default: goto yy57;
7830 }
7831 yy471:
7832 #line 379 "src/parser.re"
7833 { NEWTOKEN(PSI_T_UINT8); goto start; }
7834 #line 7835 "src/parser.c"
7835 yy472:
7836 yyaccept = 4;
7837 yych = *(mrk = ++cur);
7838 switch (yych) {
7839 case 'D':
7840 case 'd': goto yy498;
7841 default: goto yy58;
7842 }
7843 yy473:
7844 yyaccept = 63;
7845 yych = *(mrk = ++cur);
7846 switch (yych) {
7847 case 0x00:
7848 case 0x01:
7849 case 0x02:
7850 case 0x03:
7851 case 0x04:
7852 case 0x05:
7853 case 0x06:
7854 case 0x07:
7855 case 0x08:
7856 case '\t':
7857 case '\n':
7858 case '\v':
7859 case '\f':
7860 case '\r':
7861 case 0x0E:
7862 case 0x0F:
7863 case 0x10:
7864 case 0x11:
7865 case 0x12:
7866 case 0x13:
7867 case 0x14:
7868 case 0x15:
7869 case 0x16:
7870 case 0x17:
7871 case 0x18:
7872 case 0x19:
7873 case 0x1A:
7874 case 0x1B:
7875 case 0x1C:
7876 case 0x1D:
7877 case 0x1E:
7878 case 0x1F:
7879 case ' ':
7880 case '!':
7881 case '"':
7882 case '#':
7883 case '$':
7884 case '%':
7885 case '&':
7886 case '\'':
7887 case '(':
7888 case ')':
7889 case '*':
7890 case '+':
7891 case ',':
7892 case '-':
7893 case '.':
7894 case '/':
7895 case ':':
7896 case ';':
7897 case '<':
7898 case '=':
7899 case '>':
7900 case '?':
7901 case '@':
7902 case '[':
7903 case ']':
7904 case '^':
7905 case '`':
7906 case '{':
7907 case '|':
7908 case '}':
7909 case '~':
7910 case 0x7F: goto yy474;
7911 case '\\': goto yy131;
7912 default: goto yy57;
7913 }
7914 yy474:
7915 #line 361 "src/parser.re"
7916 { NEWTOKEN(PSI_T_WARNING); goto start; }
7917 #line 7918 "src/parser.c"
7918 yy475:
7919 yyaccept = 64;
7920 yych = *(mrk = ++cur);
7921 switch (yych) {
7922 case 0x00:
7923 case 0x01:
7924 case 0x02:
7925 case 0x03:
7926 case 0x04:
7927 case 0x05:
7928 case 0x06:
7929 case 0x07:
7930 case 0x08:
7931 case '\t':
7932 case '\n':
7933 case '\v':
7934 case '\f':
7935 case '\r':
7936 case 0x0E:
7937 case 0x0F:
7938 case 0x10:
7939 case 0x11:
7940 case 0x12:
7941 case 0x13:
7942 case 0x14:
7943 case 0x15:
7944 case 0x16:
7945 case 0x17:
7946 case 0x18:
7947 case 0x19:
7948 case 0x1A:
7949 case 0x1B:
7950 case 0x1C:
7951 case 0x1D:
7952 case 0x1E:
7953 case 0x1F:
7954 case ' ':
7955 case '!':
7956 case '"':
7957 case '#':
7958 case '$':
7959 case '%':
7960 case '&':
7961 case '\'':
7962 case '(':
7963 case ')':
7964 case '*':
7965 case '+':
7966 case ',':
7967 case '-':
7968 case '.':
7969 case '/':
7970 case ':':
7971 case ';':
7972 case '<':
7973 case '=':
7974 case '>':
7975 case '?':
7976 case '@':
7977 case '[':
7978 case ']':
7979 case '^':
7980 case '`':
7981 case '{':
7982 case '|':
7983 case '}':
7984 case '~':
7985 case 0x7F: goto yy476;
7986 case '\\': goto yy131;
7987 default: goto yy57;
7988 }
7989 yy476:
7990 #line 369 "src/parser.re"
7991 { NEWTOKEN(PSI_T_CALLABLE); goto start; }
7992 #line 7993 "src/parser.c"
7993 yy477:
7994 yyaccept = 65;
7995 yych = *(mrk = ++cur);
7996 switch (yych) {
7997 case 0x00:
7998 case 0x01:
7999 case 0x02:
8000 case 0x03:
8001 case 0x04:
8002 case 0x05:
8003 case 0x06:
8004 case 0x07:
8005 case 0x08:
8006 case '\t':
8007 case '\n':
8008 case '\v':
8009 case '\f':
8010 case '\r':
8011 case 0x0E:
8012 case 0x0F:
8013 case 0x10:
8014 case 0x11:
8015 case 0x12:
8016 case 0x13:
8017 case 0x14:
8018 case 0x15:
8019 case 0x16:
8020 case 0x17:
8021 case 0x18:
8022 case 0x19:
8023 case 0x1A:
8024 case 0x1B:
8025 case 0x1C:
8026 case 0x1D:
8027 case 0x1E:
8028 case 0x1F:
8029 case ' ':
8030 case '!':
8031 case '"':
8032 case '#':
8033 case '$':
8034 case '%':
8035 case '&':
8036 case '\'':
8037 case '(':
8038 case ')':
8039 case '*':
8040 case '+':
8041 case ',':
8042 case '-':
8043 case '.':
8044 case '/':
8045 case ':':
8046 case ';':
8047 case '<':
8048 case '=':
8049 case '>':
8050 case '?':
8051 case '@':
8052 case '[':
8053 case ']':
8054 case '^':
8055 case '`':
8056 case '{':
8057 case '|':
8058 case '}':
8059 case '~':
8060 case 0x7F: goto yy478;
8061 case '\\': goto yy131;
8062 default: goto yy57;
8063 }
8064 yy478:
8065 #line 391 "src/parser.re"
8066 { NEWTOKEN(PSI_T_CALLBACK); goto start; }
8067 #line 8068 "src/parser.c"
8068 yy479:
8069 yyaccept = 66;
8070 yych = *(mrk = ++cur);
8071 switch (yych) {
8072 case 0x00:
8073 case 0x01:
8074 case 0x02:
8075 case 0x03:
8076 case 0x04:
8077 case 0x05:
8078 case 0x06:
8079 case 0x07:
8080 case 0x08:
8081 case '\t':
8082 case '\n':
8083 case '\v':
8084 case '\f':
8085 case '\r':
8086 case 0x0E:
8087 case 0x0F:
8088 case 0x10:
8089 case 0x11:
8090 case 0x12:
8091 case 0x13:
8092 case 0x14:
8093 case 0x15:
8094 case 0x16:
8095 case 0x17:
8096 case 0x18:
8097 case 0x19:
8098 case 0x1A:
8099 case 0x1B:
8100 case 0x1C:
8101 case 0x1D:
8102 case 0x1E:
8103 case 0x1F:
8104 case ' ':
8105 case '!':
8106 case '"':
8107 case '#':
8108 case '$':
8109 case '%':
8110 case '&':
8111 case '\'':
8112 case '(':
8113 case ')':
8114 case '*':
8115 case '+':
8116 case ',':
8117 case '-':
8118 case '.':
8119 case '/':
8120 case ':':
8121 case ';':
8122 case '<':
8123 case '=':
8124 case '>':
8125 case '?':
8126 case '@':
8127 case '[':
8128 case ']':
8129 case '^':
8130 case '`':
8131 case '{':
8132 case '|':
8133 case '}':
8134 case '~':
8135 case 0x7F: goto yy480;
8136 case '\\': goto yy131;
8137 default: goto yy57;
8138 }
8139 yy480:
8140 #line 411 "src/parser.re"
8141 { NEWTOKEN(PSI_T_FLOATVAL); goto start; }
8142 #line 8143 "src/parser.c"
8143 yy481:
8144 yyaccept = 67;
8145 yych = *(mrk = ++cur);
8146 switch (yych) {
8147 case 0x00:
8148 case 0x01:
8149 case 0x02:
8150 case 0x03:
8151 case 0x04:
8152 case 0x05:
8153 case 0x06:
8154 case 0x07:
8155 case 0x08:
8156 case '\t':
8157 case '\n':
8158 case '\v':
8159 case '\f':
8160 case '\r':
8161 case 0x0E:
8162 case 0x0F:
8163 case 0x10:
8164 case 0x11:
8165 case 0x12:
8166 case 0x13:
8167 case 0x14:
8168 case 0x15:
8169 case 0x16:
8170 case 0x17:
8171 case 0x18:
8172 case 0x19:
8173 case 0x1A:
8174 case 0x1B:
8175 case 0x1C:
8176 case 0x1D:
8177 case 0x1E:
8178 case 0x1F:
8179 case ' ':
8180 case '!':
8181 case '"':
8182 case '#':
8183 case '$':
8184 case '%':
8185 case '&':
8186 case '\'':
8187 case '(':
8188 case ')':
8189 case '*':
8190 case '+':
8191 case ',':
8192 case '-':
8193 case '.':
8194 case '/':
8195 case ':':
8196 case ';':
8197 case '<':
8198 case '=':
8199 case '>':
8200 case '?':
8201 case '@':
8202 case '[':
8203 case ']':
8204 case '^':
8205 case '`':
8206 case '{':
8207 case '|':
8208 case '}':
8209 case '~':
8210 case 0x7F: goto yy482;
8211 case '\\': goto yy131;
8212 default: goto yy57;
8213 }
8214 yy482:
8215 #line 393 "src/parser.re"
8216 { NEWTOKEN(PSI_T_FUNCTION); goto start; }
8217 #line 8218 "src/parser.c"
8218 yy483:
8219 yyaccept = 4;
8220 yych = *(mrk = ++cur);
8221 switch (yych) {
8222 case 'N':
8223 case 'n': goto yy500;
8224 default: goto yy58;
8225 }
8226 yy484:
8227 yyaccept = 4;
8228 yych = *(mrk = ++cur);
8229 switch (yych) {
8230 case 'E':
8231 case 'e': goto yy501;
8232 default: goto yy58;
8233 }
8234 yy485:
8235 yyaccept = 4;
8236 yych = *(mrk = ++cur);
8237 switch (yych) {
8238 case 'R':
8239 case 'r': goto yy502;
8240 default: goto yy58;
8241 }
8242 yy486:
8243 yyaccept = 68;
8244 yych = *(mrk = ++cur);
8245 switch (yych) {
8246 case 0x00:
8247 case 0x01:
8248 case 0x02:
8249 case 0x03:
8250 case 0x04:
8251 case 0x05:
8252 case 0x06:
8253 case 0x07:
8254 case 0x08:
8255 case '\t':
8256 case '\n':
8257 case '\v':
8258 case '\f':
8259 case '\r':
8260 case 0x0E:
8261 case 0x0F:
8262 case 0x10:
8263 case 0x11:
8264 case 0x12:
8265 case 0x13:
8266 case 0x14:
8267 case 0x15:
8268 case 0x16:
8269 case 0x17:
8270 case 0x18:
8271 case 0x19:
8272 case 0x1A:
8273 case 0x1B:
8274 case 0x1C:
8275 case 0x1D:
8276 case 0x1E:
8277 case 0x1F:
8278 case ' ':
8279 case '!':
8280 case '"':
8281 case '#':
8282 case '$':
8283 case '%':
8284 case '&':
8285 case '\'':
8286 case '(':
8287 case ')':
8288 case '*':
8289 case '+':
8290 case ',':
8291 case '-':
8292 case '.':
8293 case '/':
8294 case ':':
8295 case ';':
8296 case '<':
8297 case '=':
8298 case '>':
8299 case '?':
8300 case '@':
8301 case '[':
8302 case ']':
8303 case '^':
8304 case '`':
8305 case '{':
8306 case '|':
8307 case '}':
8308 case '~':
8309 case 0x7F: goto yy487;
8310 case '\\': goto yy131;
8311 default: goto yy57;
8312 }
8313 yy487:
8314 #line 419 "src/parser.re"
8315 { NEWTOKEN(PSI_T_TO_ARRAY); goto start; }
8316 #line 8317 "src/parser.c"
8317 yy488:
8318 yyaccept = 69;
8319 yych = *(mrk = ++cur);
8320 switch (yych) {
8321 case 0x00:
8322 case 0x01:
8323 case 0x02:
8324 case 0x03:
8325 case 0x04:
8326 case 0x05:
8327 case 0x06:
8328 case 0x07:
8329 case 0x08:
8330 case '\t':
8331 case '\n':
8332 case '\v':
8333 case '\f':
8334 case '\r':
8335 case 0x0E:
8336 case 0x0F:
8337 case 0x10:
8338 case 0x11:
8339 case 0x12:
8340 case 0x13:
8341 case 0x14:
8342 case 0x15:
8343 case 0x16:
8344 case 0x17:
8345 case 0x18:
8346 case 0x19:
8347 case 0x1A:
8348 case 0x1B:
8349 case 0x1C:
8350 case 0x1D:
8351 case 0x1E:
8352 case 0x1F:
8353 case ' ':
8354 case '!':
8355 case '"':
8356 case '#':
8357 case '$':
8358 case '%':
8359 case '&':
8360 case '\'':
8361 case '(':
8362 case ')':
8363 case '*':
8364 case '+':
8365 case ',':
8366 case '-':
8367 case '.':
8368 case '/':
8369 case ':':
8370 case ';':
8371 case '<':
8372 case '=':
8373 case '>':
8374 case '?':
8375 case '@':
8376 case '[':
8377 case ']':
8378 case '^':
8379 case '`':
8380 case '{':
8381 case '|':
8382 case '}':
8383 case '~':
8384 case 0x7F: goto yy489;
8385 case '\\': goto yy131;
8386 default: goto yy57;
8387 }
8388 yy489:
8389 #line 422 "src/parser.re"
8390 { NEWTOKEN(PSI_T_TO_FLOAT); goto start; }
8391 #line 8392 "src/parser.c"
8392 yy490:
8393 yyaccept = 4;
8394 yych = *(mrk = ++cur);
8395 switch (yych) {
8396 case 'T':
8397 case 't': goto yy503;
8398 default: goto yy58;
8399 }
8400 yy491:
8401 yyaccept = 4;
8402 yych = *(mrk = ++cur);
8403 switch (yych) {
8404 case 'G':
8405 case 'g': goto yy505;
8406 default: goto yy58;
8407 }
8408 yy492:
8409 yyaccept = 70;
8410 yych = *(mrk = ++cur);
8411 switch (yych) {
8412 case 0x00:
8413 case 0x01:
8414 case 0x02:
8415 case 0x03:
8416 case 0x04:
8417 case 0x05:
8418 case 0x06:
8419 case 0x07:
8420 case 0x08:
8421 case '\t':
8422 case '\n':
8423 case '\v':
8424 case '\f':
8425 case '\r':
8426 case 0x0E:
8427 case 0x0F:
8428 case 0x10:
8429 case 0x11:
8430 case 0x12:
8431 case 0x13:
8432 case 0x14:
8433 case 0x15:
8434 case 0x16:
8435 case 0x17:
8436 case 0x18:
8437 case 0x19:
8438 case 0x1A:
8439 case 0x1B:
8440 case 0x1C:
8441 case 0x1D:
8442 case 0x1E:
8443 case 0x1F:
8444 case ' ':
8445 case '!':
8446 case '"':
8447 case '#':
8448 case '$':
8449 case '%':
8450 case '&':
8451 case '\'':
8452 case '(':
8453 case ')':
8454 case '*':
8455 case '+':
8456 case ',':
8457 case '-':
8458 case '.':
8459 case '/':
8460 case ':':
8461 case ';':
8462 case '<':
8463 case '=':
8464 case '>':
8465 case '?':
8466 case '@':
8467 case '[':
8468 case ']':
8469 case '^':
8470 case '`':
8471 case '{':
8472 case '|':
8473 case '}':
8474 case '~':
8475 case 0x7F: goto yy493;
8476 case '\\': goto yy131;
8477 default: goto yy57;
8478 }
8479 yy493:
8480 #line 381 "src/parser.re"
8481 { NEWTOKEN(PSI_T_UINT16); goto start; }
8482 #line 8483 "src/parser.c"
8483 yy494:
8484 yyaccept = 71;
8485 yych = *(mrk = ++cur);
8486 switch (yych) {
8487 case 0x00:
8488 case 0x01:
8489 case 0x02:
8490 case 0x03:
8491 case 0x04:
8492 case 0x05:
8493 case 0x06:
8494 case 0x07:
8495 case 0x08:
8496 case '\t':
8497 case '\n':
8498 case '\v':
8499 case '\f':
8500 case '\r':
8501 case 0x0E:
8502 case 0x0F:
8503 case 0x10:
8504 case 0x11:
8505 case 0x12:
8506 case 0x13:
8507 case 0x14:
8508 case 0x15:
8509 case 0x16:
8510 case 0x17:
8511 case 0x18:
8512 case 0x19:
8513 case 0x1A:
8514 case 0x1B:
8515 case 0x1C:
8516 case 0x1D:
8517 case 0x1E:
8518 case 0x1F:
8519 case ' ':
8520 case '!':
8521 case '"':
8522 case '#':
8523 case '$':
8524 case '%':
8525 case '&':
8526 case '\'':
8527 case '(':
8528 case ')':
8529 case '*':
8530 case '+':
8531 case ',':
8532 case '-':
8533 case '.':
8534 case '/':
8535 case ':':
8536 case ';':
8537 case '<':
8538 case '=':
8539 case '>':
8540 case '?':
8541 case '@':
8542 case '[':
8543 case ']':
8544 case '^':
8545 case '`':
8546 case '{':
8547 case '|':
8548 case '}':
8549 case '~':
8550 case 0x7F: goto yy495;
8551 case '\\': goto yy131;
8552 default: goto yy57;
8553 }
8554 yy495:
8555 #line 383 "src/parser.re"
8556 { NEWTOKEN(PSI_T_UINT32); goto start; }
8557 #line 8558 "src/parser.c"
8558 yy496:
8559 yyaccept = 72;
8560 yych = *(mrk = ++cur);
8561 switch (yych) {
8562 case 0x00:
8563 case 0x01:
8564 case 0x02:
8565 case 0x03:
8566 case 0x04:
8567 case 0x05:
8568 case 0x06:
8569 case 0x07:
8570 case 0x08:
8571 case '\t':
8572 case '\n':
8573 case '\v':
8574 case '\f':
8575 case '\r':
8576 case 0x0E:
8577 case 0x0F:
8578 case 0x10:
8579 case 0x11:
8580 case 0x12:
8581 case 0x13:
8582 case 0x14:
8583 case 0x15:
8584 case 0x16:
8585 case 0x17:
8586 case 0x18:
8587 case 0x19:
8588 case 0x1A:
8589 case 0x1B:
8590 case 0x1C:
8591 case 0x1D:
8592 case 0x1E:
8593 case 0x1F:
8594 case ' ':
8595 case '!':
8596 case '"':
8597 case '#':
8598 case '$':
8599 case '%':
8600 case '&':
8601 case '\'':
8602 case '(':
8603 case ')':
8604 case '*':
8605 case '+':
8606 case ',':
8607 case '-':
8608 case '.':
8609 case '/':
8610 case ':':
8611 case ';':
8612 case '<':
8613 case '=':
8614 case '>':
8615 case '?':
8616 case '@':
8617 case '[':
8618 case ']':
8619 case '^':
8620 case '`':
8621 case '{':
8622 case '|':
8623 case '}':
8624 case '~':
8625 case 0x7F: goto yy497;
8626 case '\\': goto yy131;
8627 default: goto yy57;
8628 }
8629 yy497:
8630 #line 385 "src/parser.re"
8631 { NEWTOKEN(PSI_T_UINT64); goto start; }
8632 #line 8633 "src/parser.c"
8633 yy498:
8634 yyaccept = 73;
8635 yych = *(mrk = ++cur);
8636 switch (yych) {
8637 case 0x00:
8638 case 0x01:
8639 case 0x02:
8640 case 0x03:
8641 case 0x04:
8642 case 0x05:
8643 case 0x06:
8644 case 0x07:
8645 case 0x08:
8646 case '\t':
8647 case '\n':
8648 case '\v':
8649 case '\f':
8650 case '\r':
8651 case 0x0E:
8652 case 0x0F:
8653 case 0x10:
8654 case 0x11:
8655 case 0x12:
8656 case 0x13:
8657 case 0x14:
8658 case 0x15:
8659 case 0x16:
8660 case 0x17:
8661 case 0x18:
8662 case 0x19:
8663 case 0x1A:
8664 case 0x1B:
8665 case 0x1C:
8666 case 0x1D:
8667 case 0x1E:
8668 case 0x1F:
8669 case ' ':
8670 case '!':
8671 case '"':
8672 case '#':
8673 case '$':
8674 case '%':
8675 case '&':
8676 case '\'':
8677 case '(':
8678 case ')':
8679 case '*':
8680 case '+':
8681 case ',':
8682 case '-':
8683 case '.':
8684 case '/':
8685 case ':':
8686 case ';':
8687 case '<':
8688 case '=':
8689 case '>':
8690 case '?':
8691 case '@':
8692 case '[':
8693 case ']':
8694 case '^':
8695 case '`':
8696 case '{':
8697 case '|':
8698 case '}':
8699 case '~':
8700 case 0x7F: goto yy499;
8701 case '\\': goto yy131;
8702 default: goto yy57;
8703 }
8704 yy499:
8705 #line 386 "src/parser.re"
8706 { NEWTOKEN(PSI_T_UNSIGNED); goto start; }
8707 #line 8708 "src/parser.c"
8708 yy500:
8709 yyaccept = 4;
8710 yych = *(mrk = ++cur);
8711 switch (yych) {
8712 case 'E':
8713 case 'e': goto yy507;
8714 default: goto yy58;
8715 }
8716 yy501:
8717 yyaccept = 4;
8718 yych = *(mrk = ++cur);
8719 switch (yych) {
8720 case 'R':
8721 case 'r': goto yy508;
8722 default: goto yy58;
8723 }
8724 yy502:
8725 yyaccept = 4;
8726 yych = *(mrk = ++cur);
8727 switch (yych) {
8728 case 'T':
8729 case 't': goto yy509;
8730 default: goto yy58;
8731 }
8732 yy503:
8733 yyaccept = 74;
8734 yych = *(mrk = ++cur);
8735 switch (yych) {
8736 case 0x00:
8737 case 0x01:
8738 case 0x02:
8739 case 0x03:
8740 case 0x04:
8741 case 0x05:
8742 case 0x06:
8743 case 0x07:
8744 case 0x08:
8745 case '\t':
8746 case '\n':
8747 case '\v':
8748 case '\f':
8749 case '\r':
8750 case 0x0E:
8751 case 0x0F:
8752 case 0x10:
8753 case 0x11:
8754 case 0x12:
8755 case 0x13:
8756 case 0x14:
8757 case 0x15:
8758 case 0x16:
8759 case 0x17:
8760 case 0x18:
8761 case 0x19:
8762 case 0x1A:
8763 case 0x1B:
8764 case 0x1C:
8765 case 0x1D:
8766 case 0x1E:
8767 case 0x1F:
8768 case ' ':
8769 case '!':
8770 case '"':
8771 case '#':
8772 case '$':
8773 case '%':
8774 case '&':
8775 case '\'':
8776 case '(':
8777 case ')':
8778 case '*':
8779 case '+':
8780 case ',':
8781 case '-':
8782 case '.':
8783 case '/':
8784 case ':':
8785 case ';':
8786 case '<':
8787 case '=':
8788 case '>':
8789 case '?':
8790 case '@':
8791 case '[':
8792 case ']':
8793 case '^':
8794 case '`':
8795 case '{':
8796 case '|':
8797 case '}':
8798 case '~':
8799 case 0x7F: goto yy504;
8800 case '\\': goto yy131;
8801 default: goto yy57;
8802 }
8803 yy504:
8804 #line 418 "src/parser.re"
8805 { NEWTOKEN(PSI_T_TO_OBJECT); goto start; }
8806 #line 8807 "src/parser.c"
8807 yy505:
8808 yyaccept = 75;
8809 yych = *(mrk = ++cur);
8810 switch (yych) {
8811 case 0x00:
8812 case 0x01:
8813 case 0x02:
8814 case 0x03:
8815 case 0x04:
8816 case 0x05:
8817 case 0x06:
8818 case 0x07:
8819 case 0x08:
8820 case '\t':
8821 case '\n':
8822 case '\v':
8823 case '\f':
8824 case '\r':
8825 case 0x0E:
8826 case 0x0F:
8827 case 0x10:
8828 case 0x11:
8829 case 0x12:
8830 case 0x13:
8831 case 0x14:
8832 case 0x15:
8833 case 0x16:
8834 case 0x17:
8835 case 0x18:
8836 case 0x19:
8837 case 0x1A:
8838 case 0x1B:
8839 case 0x1C:
8840 case 0x1D:
8841 case 0x1E:
8842 case 0x1F:
8843 case ' ':
8844 case '!':
8845 case '"':
8846 case '#':
8847 case '$':
8848 case '%':
8849 case '&':
8850 case '\'':
8851 case '(':
8852 case ')':
8853 case '*':
8854 case '+':
8855 case ',':
8856 case '-':
8857 case '.':
8858 case '/':
8859 case ':':
8860 case ';':
8861 case '<':
8862 case '=':
8863 case '>':
8864 case '?':
8865 case '@':
8866 case '[':
8867 case ']':
8868 case '^':
8869 case '`':
8870 case '{':
8871 case '|':
8872 case '}':
8873 case '~':
8874 case 0x7F: goto yy506;
8875 case '\\': goto yy131;
8876 default: goto yy57;
8877 }
8878 yy506:
8879 #line 420 "src/parser.re"
8880 { NEWTOKEN(PSI_T_TO_STRING); goto start; }
8881 #line 8882 "src/parser.c"
8882 yy507:
8883 yyaccept = 4;
8884 yych = *(mrk = ++cur);
8885 switch (yych) {
8886 case 'X':
8887 case 'x': goto yy511;
8888 default: goto yy58;
8889 }
8890 yy508:
8891 yyaccept = 4;
8892 yych = *(mrk = ++cur);
8893 switch (yych) {
8894 case 'T':
8895 case 't': goto yy512;
8896 default: goto yy58;
8897 }
8898 yy509:
8899 yyaccept = 76;
8900 yych = *(mrk = ++cur);
8901 switch (yych) {
8902 case 0x00:
8903 case 0x01:
8904 case 0x02:
8905 case 0x03:
8906 case 0x04:
8907 case 0x05:
8908 case 0x06:
8909 case 0x07:
8910 case 0x08:
8911 case '\t':
8912 case '\n':
8913 case '\v':
8914 case '\f':
8915 case '\r':
8916 case 0x0E:
8917 case 0x0F:
8918 case 0x10:
8919 case 0x11:
8920 case 0x12:
8921 case 0x13:
8922 case 0x14:
8923 case 0x15:
8924 case 0x16:
8925 case 0x17:
8926 case 0x18:
8927 case 0x19:
8928 case 0x1A:
8929 case 0x1B:
8930 case 0x1C:
8931 case 0x1D:
8932 case 0x1E:
8933 case 0x1F:
8934 case ' ':
8935 case '!':
8936 case '"':
8937 case '#':
8938 case '$':
8939 case '%':
8940 case '&':
8941 case '\'':
8942 case '(':
8943 case ')':
8944 case '*':
8945 case '+':
8946 case ',':
8947 case '-':
8948 case '.':
8949 case '/':
8950 case ':':
8951 case ';':
8952 case '<':
8953 case '=':
8954 case '>':
8955 case '?':
8956 case '@':
8957 case '[':
8958 case ']':
8959 case '^':
8960 case '`':
8961 case '{':
8962 case '|':
8963 case '}':
8964 case '~':
8965 case 0x7F: goto yy510;
8966 case '\\': goto yy131;
8967 default: goto yy57;
8968 }
8969 yy510:
8970 #line 402 "src/parser.re"
8971 { NEWTOKEN(PSI_T_PRE_ASSERT); goto start; }
8972 #line 8973 "src/parser.c"
8973 yy511:
8974 yyaccept = 4;
8975 yych = *(mrk = ++cur);
8976 switch (yych) {
8977 case 'T':
8978 case 't': goto yy514;
8979 default: goto yy58;
8980 }
8981 yy512:
8982 yyaccept = 77;
8983 yych = *(mrk = ++cur);
8984 switch (yych) {
8985 case 0x00:
8986 case 0x01:
8987 case 0x02:
8988 case 0x03:
8989 case 0x04:
8990 case 0x05:
8991 case 0x06:
8992 case 0x07:
8993 case 0x08:
8994 case '\t':
8995 case '\n':
8996 case '\v':
8997 case '\f':
8998 case '\r':
8999 case 0x0E:
9000 case 0x0F:
9001 case 0x10:
9002 case 0x11:
9003 case 0x12:
9004 case 0x13:
9005 case 0x14:
9006 case 0x15:
9007 case 0x16:
9008 case 0x17:
9009 case 0x18:
9010 case 0x19:
9011 case 0x1A:
9012 case 0x1B:
9013 case 0x1C:
9014 case 0x1D:
9015 case 0x1E:
9016 case 0x1F:
9017 case ' ':
9018 case '!':
9019 case '"':
9020 case '#':
9021 case '$':
9022 case '%':
9023 case '&':
9024 case '\'':
9025 case '(':
9026 case ')':
9027 case '*':
9028 case '+':
9029 case ',':
9030 case '-':
9031 case '.':
9032 case '/':
9033 case ':':
9034 case ';':
9035 case '<':
9036 case '=':
9037 case '>':
9038 case '?':
9039 case '@':
9040 case '[':
9041 case ']':
9042 case '^':
9043 case '`':
9044 case '{':
9045 case '|':
9046 case '}':
9047 case '~':
9048 case 0x7F: goto yy513;
9049 case '\\': goto yy131;
9050 default: goto yy57;
9051 }
9052 yy513:
9053 #line 403 "src/parser.re"
9054 { NEWTOKEN(PSI_T_POST_ASSERT); goto start; }
9055 #line 9056 "src/parser.c"
9056 yy514:
9057 yyaccept = 78;
9058 yych = *(mrk = ++cur);
9059 switch (yych) {
9060 case 0x00:
9061 case 0x01:
9062 case 0x02:
9063 case 0x03:
9064 case 0x04:
9065 case 0x05:
9066 case 0x06:
9067 case 0x07:
9068 case 0x08:
9069 case '\t':
9070 case '\n':
9071 case '\v':
9072 case '\f':
9073 case '\r':
9074 case 0x0E:
9075 case 0x0F:
9076 case 0x10:
9077 case 0x11:
9078 case 0x12:
9079 case 0x13:
9080 case 0x14:
9081 case 0x15:
9082 case 0x16:
9083 case 0x17:
9084 case 0x18:
9085 case 0x19:
9086 case 0x1A:
9087 case 0x1B:
9088 case 0x1C:
9089 case 0x1D:
9090 case 0x1E:
9091 case 0x1F:
9092 case ' ':
9093 case '!':
9094 case '"':
9095 case '#':
9096 case '$':
9097 case '%':
9098 case '&':
9099 case '\'':
9100 case '(':
9101 case ')':
9102 case '*':
9103 case '+':
9104 case ',':
9105 case '-':
9106 case '.':
9107 case '/':
9108 case ':':
9109 case ';':
9110 case '<':
9111 case '=':
9112 case '>':
9113 case '?':
9114 case '@':
9115 case '[':
9116 case ']':
9117 case '^':
9118 case '`':
9119 case '{':
9120 case '|':
9121 case '}':
9122 case '~':
9123 case 0x7F: goto yy515;
9124 case '\\': goto yy131;
9125 default: goto yy57;
9126 }
9127 yy515:
9128 #line 364 "src/parser.re"
9129 { NEWTOKEN(PSI_T_INCLUDE_NEXT); goto start; }
9130 #line 9131 "src/parser.c"
9131 }
9132 #line 436 "src/parser.re"
9133
9134
9135 comment: ;
9136
9137 #line 9138 "src/parser.c"
9138 {
9139 unsigned char yych;
9140 if ((lim - cur) < 2) if (cur >= lim) goto done;;
9141 yych = *cur;
9142 switch (yych) {
9143 case '\n':
9144 case '\r': goto yy520;
9145 case '*': goto yy522;
9146 default: goto yy518;
9147 }
9148 yy518:
9149 ++cur;
9150 yy519:
9151 #line 443 "src/parser.re"
9152 { goto comment; }
9153 #line 9154 "src/parser.c"
9154 yy520:
9155 ++cur;
9156 #line 441 "src/parser.re"
9157 { NEWLINE(); goto comment; }
9158 #line 9159 "src/parser.c"
9159 yy522:
9160 yych = *++cur;
9161 switch (yych) {
9162 case '/': goto yy523;
9163 default: goto yy519;
9164 }
9165 yy523:
9166 ++cur;
9167 #line 442 "src/parser.re"
9168 { NEWTOKEN(PSI_T_COMMENT); goto start; }
9169 #line 9170 "src/parser.c"
9170 }
9171 #line 445 "src/parser.re"
9172
9173
9174 comment_sl: ;
9175
9176 #line 9177 "src/parser.c"
9177 {
9178 unsigned char yych;
9179 if (lim <= cur) if (cur >= lim) goto done;;
9180 yych = *cur;
9181 switch (yych) {
9182 case '\n':
9183 case '\r': goto yy529;
9184 default: goto yy527;
9185 }
9186 yy527:
9187 ++cur;
9188 #line 451 "src/parser.re"
9189 { goto comment_sl; }
9190 #line 9191 "src/parser.c"
9191 yy529:
9192 ++cur;
9193 #line 450 "src/parser.re"
9194 { NEWTOKEN(PSI_T_COMMENT); NEWLINE(); goto start; }
9195 #line 9196 "src/parser.c"
9196 }
9197 #line 453 "src/parser.re"
9198
9199 error: ;
9200
9201 P->error(PSI_DATA(P), token, PSI_WARNING, "PSI syntax error: unexpected input (%d) '%.*s' at col %tu",
9202 token->type, token->size, token->text, tok - eol + 1);
9203 psi_plist_free(tokens);
9204 return NULL;
9205
9206 done:
9207
9208 PSI_DEBUG_PRINT(P, "PSI: EOF cur=%p lim=%p\n", cur, lim);
9209
9210 return tokens;
9211 }