cpp
[m6w6/ext-psi] / src / parser.c
1 /* Generated by re2c 0.16 on Thu Mar 30 13:18:03 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 15
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 return 0 == psi_parser_proc_parse(P, tokens, processed);
198 }
199 return true;
200 }
201
202 bool psi_parser_parse(struct psi_parser *P, struct psi_parser_input *I)
203 {
204 struct psi_plist *scanned, *preproc;
205 size_t processed = 0;
206
207 if (!(scanned = psi_parser_scan(P, I))) {
208 return false;
209 }
210
211 if (!(preproc = psi_parser_preprocess(P, &scanned))) {
212 psi_plist_free(scanned);
213 return false;
214 }
215
216 if (!psi_parser_process(P, preproc, &processed)) {
217 psi_plist_free(preproc);
218 return false;
219 }
220
221 psi_plist_free(preproc);
222 return true;
223 }
224
225 void psi_parser_dtor(struct psi_parser *P)
226 {
227 psi_cpp_free(&P->preproc);
228 psi_data_dtor(PSI_DATA(P));
229
230 memset(P, 0, sizeof(*P));
231 }
232
233 void psi_parser_free(struct psi_parser **P)
234 {
235 if (*P) {
236 psi_parser_dtor(*P);
237 free(*P);
238 *P = NULL;
239 }
240 }
241
242 #define NEWLINE() \
243 eol = cur; \
244 ++I->lines
245
246 #define NEWTOKEN(t) \
247 token = psi_token_init(t, tok, cur - tok, tok - eol + 1, I->lines, I->file); \
248 tokens = psi_plist_add(tokens, &token); \
249 if (P->flags & PSI_DEBUG) { \
250 fprintf(stderr, "PSI< "); \
251 psi_token_dump(2, token); \
252 }
253
254 union int_suffix {
255 char s[SIZEOF_UINT32_T];
256 uint32_t i;
257 };
258
259 struct psi_plist *psi_parser_scan(struct psi_parser *P, struct psi_parser_input *I)
260 {
261 struct psi_plist *tokens;
262 struct psi_token *token;
263 const char *tok, *cur, *lim, *mrk, *eol, *ctxmrk;
264 unsigned parens;
265 bool escaped;
266 token_t char_width;
267
268 tok = mrk = eol = cur = I->buffer;
269 lim = I->buffer + I->length;
270 I->lines = 1;
271 tokens = psi_plist_init((psi_plist_dtor) psi_token_free);
272
273 start: ;
274 char_width = 1;
275 ctxmrk = NULL;
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) < 15) 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 0x0E:
297 case 0x0F:
298 case 0x10:
299 case 0x11:
300 case 0x12:
301 case 0x13:
302 case 0x14:
303 case 0x15:
304 case 0x16:
305 case 0x17:
306 case 0x18:
307 case 0x19:
308 case 0x1A:
309 case 0x1B:
310 case 0x1C:
311 case 0x1D:
312 case 0x1E:
313 case 0x1F:
314 case '@':
315 case '`':
316 case 0x7F: goto yy2;
317 case '\t':
318 case '\f':
319 case ' ': goto yy4;
320 case '\n':
321 case '\r': goto yy7;
322 case '!': goto yy9;
323 case '"': goto yy11;
324 case '#': goto yy13;
325 case '$': goto yy15;
326 case '%': goto yy16;
327 case '&': goto yy18;
328 case '\'': goto yy20;
329 case '(': goto yy22;
330 case ')': goto yy24;
331 case '*': goto yy26;
332 case '+': goto yy28;
333 case ',': goto yy30;
334 case '-': goto yy32;
335 case '.': goto yy34;
336 case '/': goto yy36;
337 case '0': goto yy38;
338 case '1':
339 case '2':
340 case '3':
341 case '4':
342 case '5':
343 case '6':
344 case '7':
345 case '8':
346 case '9': goto yy40;
347 case ':': goto yy42;
348 case ';': goto yy44;
349 case '<': goto yy46;
350 case '=': goto yy48;
351 case '>': goto yy50;
352 case '?': goto yy52;
353 case 'A':
354 case 'a': goto yy54;
355 case 'B':
356 case 'b': goto yy56;
357 case 'C':
358 case 'c': goto yy57;
359 case 'D':
360 case 'd': goto yy58;
361 case 'E':
362 case 'e': goto yy59;
363 case 'F':
364 case 'f': goto yy60;
365 case 'I':
366 case 'i': goto yy63;
367 case 'L': goto yy64;
368 case 'M':
369 case 'm': goto yy65;
370 case 'N':
371 case 'n': goto yy66;
372 case 'O':
373 case 'o': goto yy67;
374 case 'P': goto yy68;
375 case 'R':
376 case 'r': goto yy69;
377 case 'S':
378 case 's': goto yy70;
379 case 'T':
380 case 't': goto yy71;
381 case 'U': goto yy72;
382 case 'V':
383 case 'v': goto yy73;
384 case 'W':
385 case 'w': goto yy74;
386 case 'Z':
387 case 'z': goto yy75;
388 case '[': goto yy76;
389 case '\\': goto yy78;
390 case ']': goto yy80;
391 case '^': goto yy82;
392 case '_': goto yy84;
393 case 'l': goto yy85;
394 case 'p': goto yy86;
395 case 'u': goto yy87;
396 case '{': goto yy88;
397 case '|': goto yy90;
398 case '}': goto yy92;
399 case '~': goto yy94;
400 default: goto yy61;
401 }
402 yy2:
403 ++cur;
404 yy3:
405 #line 450 "src/parser.re"
406 { NEWTOKEN(-2); goto error; }
407 #line 408 "src/parser.c"
408 yy4:
409 ++cur;
410 if (lim <= cur) if (cur >= lim) goto done;;
411 yych = *cur;
412 switch (yych) {
413 case '\t':
414 case '\f':
415 case ' ': goto yy4;
416 default: goto yy6;
417 }
418 yy6:
419 #line 449 "src/parser.re"
420 { NEWTOKEN(PSI_T_WHITESPACE); goto start; }
421 #line 422 "src/parser.c"
422 yy7:
423 ++cur;
424 #line 448 "src/parser.re"
425 { NEWTOKEN(PSI_T_EOL); NEWLINE(); goto start; }
426 #line 427 "src/parser.c"
427 yy9:
428 ++cur;
429 switch ((yych = *cur)) {
430 case '=': goto yy96;
431 default: goto yy10;
432 }
433 yy10:
434 #line 347 "src/parser.re"
435 { NEWTOKEN(PSI_T_NOT); goto start; }
436 #line 437 "src/parser.c"
437 yy11:
438 ++cur;
439 #line 320 "src/parser.re"
440 { escaped = false; tok += 1; goto string; }
441 #line 442 "src/parser.c"
442 yy13:
443 ++cur;
444 switch ((yych = *cur)) {
445 case '#': goto yy98;
446 default: goto yy14;
447 }
448 yy14:
449 #line 330 "src/parser.re"
450 { NEWTOKEN(PSI_T_HASH); goto start; }
451 #line 452 "src/parser.c"
452 yy15:
453 yych = *++cur;
454 switch (yych) {
455 case 0x00:
456 case 0x01:
457 case 0x02:
458 case 0x03:
459 case 0x04:
460 case 0x05:
461 case 0x06:
462 case 0x07:
463 case 0x08:
464 case '\t':
465 case '\n':
466 case '\v':
467 case '\f':
468 case '\r':
469 case 0x0E:
470 case 0x0F:
471 case 0x10:
472 case 0x11:
473 case 0x12:
474 case 0x13:
475 case 0x14:
476 case 0x15:
477 case 0x16:
478 case 0x17:
479 case 0x18:
480 case 0x19:
481 case 0x1A:
482 case 0x1B:
483 case 0x1C:
484 case 0x1D:
485 case 0x1E:
486 case 0x1F:
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 '`':
515 case '{':
516 case '|':
517 case '}':
518 case '~':
519 case 0x7F: goto yy3;
520 default: goto yy100;
521 }
522 yy16:
523 ++cur;
524 #line 348 "src/parser.re"
525 { NEWTOKEN(PSI_T_MODULO); goto start; }
526 #line 527 "src/parser.c"
527 yy18:
528 ++cur;
529 switch ((yych = *cur)) {
530 case '&': goto yy103;
531 default: goto yy19;
532 }
533 yy19:
534 #line 349 "src/parser.re"
535 { NEWTOKEN(PSI_T_AMPERSAND); goto start; }
536 #line 537 "src/parser.c"
537 yy20:
538 ++cur;
539 #line 319 "src/parser.re"
540 { escaped = false; tok += 1; goto character; }
541 #line 542 "src/parser.c"
542 yy22:
543 ++cur;
544 #line 331 "src/parser.re"
545 { NEWTOKEN(PSI_T_LPAREN); goto start; }
546 #line 547 "src/parser.c"
547 yy24:
548 ++cur;
549 #line 332 "src/parser.re"
550 { NEWTOKEN(PSI_T_RPAREN); goto start; }
551 #line 552 "src/parser.c"
552 yy26:
553 ++cur;
554 #line 345 "src/parser.re"
555 { NEWTOKEN(PSI_T_ASTERISK); goto start; }
556 #line 557 "src/parser.c"
557 yy28:
558 yyaccept = 0;
559 yych = *(mrk = ++cur);
560 switch (yych) {
561 case '.': goto yy105;
562 case '0': goto yy38;
563 case '1':
564 case '2':
565 case '3':
566 case '4':
567 case '5':
568 case '6':
569 case '7':
570 case '8':
571 case '9': goto yy40;
572 default: goto yy29;
573 }
574 yy29:
575 #line 350 "src/parser.re"
576 { NEWTOKEN(PSI_T_PLUS); goto start; }
577 #line 578 "src/parser.c"
578 yy30:
579 ++cur;
580 #line 334 "src/parser.re"
581 { NEWTOKEN(PSI_T_COMMA); goto start; }
582 #line 583 "src/parser.c"
583 yy32:
584 yyaccept = 1;
585 yych = *(mrk = ++cur);
586 switch (yych) {
587 case '.': goto yy105;
588 case '0': goto yy38;
589 case '1':
590 case '2':
591 case '3':
592 case '4':
593 case '5':
594 case '6':
595 case '7':
596 case '8':
597 case '9': goto yy40;
598 default: goto yy33;
599 }
600 yy33:
601 #line 351 "src/parser.re"
602 { NEWTOKEN(PSI_T_MINUS); goto start; }
603 #line 604 "src/parser.c"
604 yy34:
605 yyaccept = 2;
606 yych = *(mrk = ++cur);
607 switch (yych) {
608 case '.': goto yy107;
609 case '0':
610 case '1':
611 case '2':
612 case '3':
613 case '4':
614 case '5':
615 case '6':
616 case '7':
617 case '8':
618 case '9': goto yy108;
619 default: goto yy35;
620 }
621 yy35:
622 #line 362 "src/parser.re"
623 { NEWTOKEN(PSI_T_PERIOD); goto start; }
624 #line 625 "src/parser.c"
625 yy36:
626 ++cur;
627 switch ((yych = *cur)) {
628 case '*': goto yy111;
629 case '/': goto yy113;
630 default: goto yy37;
631 }
632 yy37:
633 #line 352 "src/parser.re"
634 { NEWTOKEN(PSI_T_SLASH); goto start; }
635 #line 636 "src/parser.c"
636 yy38:
637 yyaccept = 3;
638 yych = *(mrk = ++cur);
639 ctxmrk = cur;
640 switch (yych) {
641 case '.': goto yy115;
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 yy117;
650 case 'E':
651 case 'e': goto yy119;
652 case 'L':
653 case 'l': goto yy120;
654 case 'U':
655 case 'u': goto yy122;
656 case 'X':
657 case 'x': goto yy124;
658 default: goto yy39;
659 }
660 yy39:
661 #line 306 "src/parser.re"
662 { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_INT; goto start; }
663 #line 664 "src/parser.c"
664 yy40:
665 yyaccept = 3;
666 mrk = ++cur;
667 if ((lim - cur) < 3) if (cur >= lim) goto done;;
668 yych = *cur;
669 ctxmrk = cur;
670 switch (yych) {
671 case '.': goto yy115;
672 case '0':
673 case '1':
674 case '2':
675 case '3':
676 case '4':
677 case '5':
678 case '6':
679 case '7':
680 case '8':
681 case '9': goto yy40;
682 case 'E':
683 case 'e': goto yy119;
684 case 'L':
685 case 'l': goto yy120;
686 case 'U':
687 case 'u': goto yy122;
688 default: goto yy39;
689 }
690 yy42:
691 ++cur;
692 #line 335 "src/parser.re"
693 { NEWTOKEN(PSI_T_COLON); goto start; }
694 #line 695 "src/parser.c"
695 yy44:
696 ++cur;
697 #line 333 "src/parser.re"
698 { NEWTOKEN(PSI_T_EOS); goto start; }
699 #line 700 "src/parser.c"
700 yy46:
701 yyaccept = 4;
702 yych = *(mrk = ++cur);
703 switch (yych) {
704 case '-':
705 case '.':
706 case '/':
707 case '0':
708 case '1':
709 case '2':
710 case '3':
711 case '4':
712 case '5':
713 case '6':
714 case '7':
715 case '8':
716 case '9':
717 case 'A':
718 case 'B':
719 case 'C':
720 case 'D':
721 case 'E':
722 case 'F':
723 case 'G':
724 case 'H':
725 case 'I':
726 case 'J':
727 case 'K':
728 case 'L':
729 case 'M':
730 case 'N':
731 case 'O':
732 case 'P':
733 case 'Q':
734 case 'R':
735 case 'S':
736 case 'T':
737 case 'U':
738 case 'V':
739 case 'W':
740 case 'X':
741 case 'Y':
742 case 'Z':
743 case '_':
744 case 'a':
745 case 'b':
746 case 'c':
747 case 'd':
748 case 'e':
749 case 'f':
750 case 'g':
751 case 'h':
752 case 'i':
753 case 'j':
754 case 'k':
755 case 'l':
756 case 'm':
757 case 'n':
758 case 'o':
759 case 'p':
760 case 'q':
761 case 'r':
762 case 's':
763 case 't':
764 case 'u':
765 case 'v':
766 case 'w':
767 case 'x':
768 case 'y':
769 case 'z': goto yy125;
770 case '<': goto yy127;
771 case '=': goto yy129;
772 default: goto yy47;
773 }
774 yy47:
775 #line 360 "src/parser.re"
776 { NEWTOKEN(PSI_T_LCHEVR); goto start; }
777 #line 778 "src/parser.c"
778 yy48:
779 ++cur;
780 switch ((yych = *cur)) {
781 case '=': goto yy131;
782 default: goto yy49;
783 }
784 yy49:
785 #line 344 "src/parser.re"
786 { NEWTOKEN(PSI_T_EQUALS); goto start; }
787 #line 788 "src/parser.c"
788 yy50:
789 ++cur;
790 switch ((yych = *cur)) {
791 case '=': goto yy133;
792 case '>': goto yy135;
793 default: goto yy51;
794 }
795 yy51:
796 #line 361 "src/parser.re"
797 { NEWTOKEN(PSI_T_RCHEVR); goto start; }
798 #line 799 "src/parser.c"
799 yy52:
800 ++cur;
801 #line 364 "src/parser.re"
802 { NEWTOKEN(PSI_T_IIF); goto start; }
803 #line 804 "src/parser.c"
804 yy54:
805 yyaccept = 5;
806 yych = *(mrk = ++cur);
807 switch (yych) {
808 case 'R':
809 case 'r': goto yy137;
810 default: goto yy62;
811 }
812 yy55:
813 #line 443 "src/parser.re"
814 { NEWTOKEN(PSI_T_NAME); goto start; }
815 #line 816 "src/parser.c"
816 yy56:
817 yyaccept = 5;
818 yych = *(mrk = ++cur);
819 switch (yych) {
820 case 'O':
821 case 'o': goto yy139;
822 default: goto yy62;
823 }
824 yy57:
825 yyaccept = 5;
826 yych = *(mrk = ++cur);
827 switch (yych) {
828 case 'A':
829 case 'a': goto yy140;
830 case 'H':
831 case 'h': goto yy141;
832 case 'O':
833 case 'o': goto yy142;
834 default: goto yy62;
835 }
836 yy58:
837 yyaccept = 5;
838 yych = *(mrk = ++cur);
839 switch (yych) {
840 case 'E':
841 case 'e': goto yy143;
842 case 'O':
843 case 'o': goto yy144;
844 default: goto yy62;
845 }
846 yy59:
847 yyaccept = 5;
848 yych = *(mrk = ++cur);
849 switch (yych) {
850 case 'L':
851 case 'l': goto yy145;
852 case 'N':
853 case 'n': goto yy146;
854 case 'R':
855 case 'r': goto yy147;
856 default: goto yy62;
857 }
858 yy60:
859 yyaccept = 5;
860 yych = *(mrk = ++cur);
861 switch (yych) {
862 case 'A':
863 case 'a': goto yy148;
864 case 'L':
865 case 'l': goto yy149;
866 case 'R':
867 case 'r': goto yy150;
868 case 'U':
869 case 'u': goto yy151;
870 default: goto yy62;
871 }
872 yy61:
873 yyaccept = 5;
874 mrk = ++cur;
875 if (lim <= cur) if (cur >= lim) goto done;;
876 yych = *cur;
877 yy62:
878 switch (yych) {
879 case 0x00:
880 case 0x01:
881 case 0x02:
882 case 0x03:
883 case 0x04:
884 case 0x05:
885 case 0x06:
886 case 0x07:
887 case 0x08:
888 case '\t':
889 case '\n':
890 case '\v':
891 case '\f':
892 case '\r':
893 case 0x0E:
894 case 0x0F:
895 case 0x10:
896 case 0x11:
897 case 0x12:
898 case 0x13:
899 case 0x14:
900 case 0x15:
901 case 0x16:
902 case 0x17:
903 case 0x18:
904 case 0x19:
905 case 0x1A:
906 case 0x1B:
907 case 0x1C:
908 case 0x1D:
909 case 0x1E:
910 case 0x1F:
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 '^':
937 case '`':
938 case '{':
939 case '|':
940 case '}':
941 case '~':
942 case 0x7F: goto yy55;
943 case '\\': goto yy138;
944 default: goto yy61;
945 }
946 yy63:
947 yyaccept = 5;
948 yych = *(mrk = ++cur);
949 switch (yych) {
950 case 'F':
951 case 'f': goto yy152;
952 case 'N':
953 case 'n': goto yy154;
954 default: goto yy62;
955 }
956 yy64:
957 yyaccept = 5;
958 yych = *(mrk = ++cur);
959 ctxmrk = cur;
960 switch (yych) {
961 case '"':
962 case '\'': goto yy155;
963 case 'E':
964 case 'e': goto yy157;
965 case 'I':
966 case 'i': goto yy158;
967 case 'O':
968 case 'o': goto yy159;
969 default: goto yy62;
970 }
971 yy65:
972 yyaccept = 5;
973 yych = *(mrk = ++cur);
974 switch (yych) {
975 case 'I':
976 case 'i': goto yy160;
977 default: goto yy62;
978 }
979 yy66:
980 yyaccept = 5;
981 yych = *(mrk = ++cur);
982 switch (yych) {
983 case 'U':
984 case 'u': goto yy161;
985 default: goto yy62;
986 }
987 yy67:
988 yyaccept = 5;
989 yych = *(mrk = ++cur);
990 switch (yych) {
991 case 'B':
992 case 'b': goto yy162;
993 default: goto yy62;
994 }
995 yy68:
996 yyaccept = 5;
997 yych = *(mrk = ++cur);
998 switch (yych) {
999 case 'A':
1000 case 'a': goto yy163;
1001 case 'O':
1002 case 'o': goto yy164;
1003 case 'R':
1004 case 'r': goto yy165;
1005 default: goto yy62;
1006 }
1007 yy69:
1008 yyaccept = 5;
1009 yych = *(mrk = ++cur);
1010 switch (yych) {
1011 case 'E':
1012 case 'e': goto yy166;
1013 default: goto yy62;
1014 }
1015 yy70:
1016 yyaccept = 5;
1017 yych = *(mrk = ++cur);
1018 switch (yych) {
1019 case 'E':
1020 case 'e': goto yy167;
1021 case 'H':
1022 case 'h': goto yy168;
1023 case 'I':
1024 case 'i': goto yy169;
1025 case 'T':
1026 case 't': goto yy170;
1027 default: goto yy62;
1028 }
1029 yy71:
1030 yyaccept = 5;
1031 yych = *(mrk = ++cur);
1032 switch (yych) {
1033 case 'E':
1034 case 'e': goto yy171;
1035 case 'O':
1036 case 'o': goto yy172;
1037 case 'R':
1038 case 'r': goto yy173;
1039 case 'Y':
1040 case 'y': goto yy174;
1041 default: goto yy62;
1042 }
1043 yy72:
1044 yyaccept = 5;
1045 yych = *(mrk = ++cur);
1046 ctxmrk = cur;
1047 switch (yych) {
1048 case '"':
1049 case '\'': goto yy175;
1050 case 'I':
1051 case 'i': goto yy177;
1052 case 'N':
1053 case 'n': goto yy178;
1054 default: goto yy62;
1055 }
1056 yy73:
1057 yyaccept = 5;
1058 yych = *(mrk = ++cur);
1059 switch (yych) {
1060 case 'O':
1061 case 'o': goto yy179;
1062 default: goto yy62;
1063 }
1064 yy74:
1065 yyaccept = 5;
1066 yych = *(mrk = ++cur);
1067 switch (yych) {
1068 case 'A':
1069 case 'a': goto yy180;
1070 default: goto yy62;
1071 }
1072 yy75:
1073 yyaccept = 5;
1074 yych = *(mrk = ++cur);
1075 switch (yych) {
1076 case 'V':
1077 case 'v': goto yy181;
1078 default: goto yy62;
1079 }
1080 yy76:
1081 ++cur;
1082 #line 338 "src/parser.re"
1083 { NEWTOKEN(PSI_T_LBRACKET); goto start; }
1084 #line 1085 "src/parser.c"
1085 yy78:
1086 ++cur;
1087 switch ((yych = *cur)) {
1088 case 0x00:
1089 case 0x01:
1090 case 0x02:
1091 case 0x03:
1092 case 0x04:
1093 case 0x05:
1094 case 0x06:
1095 case 0x07:
1096 case 0x08:
1097 case '\t':
1098 case '\n':
1099 case '\v':
1100 case '\f':
1101 case '\r':
1102 case 0x0E:
1103 case 0x0F:
1104 case 0x10:
1105 case 0x11:
1106 case 0x12:
1107 case 0x13:
1108 case 0x14:
1109 case 0x15:
1110 case 0x16:
1111 case 0x17:
1112 case 0x18:
1113 case 0x19:
1114 case 0x1A:
1115 case 0x1B:
1116 case 0x1C:
1117 case 0x1D:
1118 case 0x1E:
1119 case 0x1F:
1120 case ' ':
1121 case '!':
1122 case '"':
1123 case '#':
1124 case '$':
1125 case '%':
1126 case '&':
1127 case '\'':
1128 case '(':
1129 case ')':
1130 case '*':
1131 case '+':
1132 case ',':
1133 case '-':
1134 case '.':
1135 case '/':
1136 case '0':
1137 case '1':
1138 case '2':
1139 case '3':
1140 case '4':
1141 case '5':
1142 case '6':
1143 case '7':
1144 case '8':
1145 case '9':
1146 case ':':
1147 case ';':
1148 case '<':
1149 case '=':
1150 case '>':
1151 case '?':
1152 case '@':
1153 case '[':
1154 case '\\':
1155 case ']':
1156 case '^':
1157 case '`':
1158 case '{':
1159 case '|':
1160 case '}':
1161 case '~':
1162 case 0x7F: goto yy79;
1163 default: goto yy182;
1164 }
1165 yy79:
1166 #line 353 "src/parser.re"
1167 { NEWTOKEN(PSI_T_BSLASH); goto start; }
1168 #line 1169 "src/parser.c"
1169 yy80:
1170 ++cur;
1171 #line 339 "src/parser.re"
1172 { NEWTOKEN(PSI_T_RBRACKET); goto start; }
1173 #line 1174 "src/parser.c"
1174 yy82:
1175 ++cur;
1176 #line 355 "src/parser.re"
1177 { NEWTOKEN(PSI_T_CARET); goto start; }
1178 #line 1179 "src/parser.c"
1179 yy84:
1180 yyaccept = 5;
1181 yych = *(mrk = ++cur);
1182 switch (yych) {
1183 case '_': goto yy185;
1184 default: goto yy62;
1185 }
1186 yy85:
1187 yyaccept = 5;
1188 yych = *(mrk = ++cur);
1189 switch (yych) {
1190 case 'E':
1191 case 'e': goto yy157;
1192 case 'I': goto yy158;
1193 case 'O':
1194 case 'o': goto yy159;
1195 case 'i': goto yy186;
1196 default: goto yy62;
1197 }
1198 yy86:
1199 yyaccept = 5;
1200 yych = *(mrk = ++cur);
1201 switch (yych) {
1202 case 'A':
1203 case 'a': goto yy163;
1204 case 'O':
1205 case 'o': goto yy164;
1206 case 'R': goto yy165;
1207 case 'r': goto yy187;
1208 default: goto yy62;
1209 }
1210 yy87:
1211 yyaccept = 5;
1212 yych = *(mrk = ++cur);
1213 ctxmrk = cur;
1214 switch (yych) {
1215 case '"':
1216 case '\'': goto yy188;
1217 case '8': goto yy190;
1218 case 'I':
1219 case 'i': goto yy177;
1220 case 'N':
1221 case 'n': goto yy178;
1222 default: goto yy62;
1223 }
1224 yy88:
1225 ++cur;
1226 #line 336 "src/parser.re"
1227 { NEWTOKEN(PSI_T_LBRACE); goto start; }
1228 #line 1229 "src/parser.c"
1229 yy90:
1230 ++cur;
1231 switch ((yych = *cur)) {
1232 case '|': goto yy191;
1233 default: goto yy91;
1234 }
1235 yy91:
1236 #line 354 "src/parser.re"
1237 { NEWTOKEN(PSI_T_PIPE); goto start; }
1238 #line 1239 "src/parser.c"
1239 yy92:
1240 ++cur;
1241 #line 337 "src/parser.re"
1242 { NEWTOKEN(PSI_T_RBRACE); goto start; }
1243 #line 1244 "src/parser.c"
1244 yy94:
1245 ++cur;
1246 #line 346 "src/parser.re"
1247 { NEWTOKEN(PSI_T_TILDE); goto start; }
1248 #line 1249 "src/parser.c"
1249 yy96:
1250 ++cur;
1251 #line 340 "src/parser.re"
1252 { NEWTOKEN(PSI_T_CMP_NE); goto start; }
1253 #line 1254 "src/parser.c"
1254 yy98:
1255 ++cur;
1256 #line 329 "src/parser.re"
1257 { NEWTOKEN(PSI_T_CPP_PASTE); goto start; }
1258 #line 1259 "src/parser.c"
1259 yy100:
1260 ++cur;
1261 if (lim <= cur) if (cur >= lim) goto done;;
1262 yych = *cur;
1263 switch (yych) {
1264 case 0x00:
1265 case 0x01:
1266 case 0x02:
1267 case 0x03:
1268 case 0x04:
1269 case 0x05:
1270 case 0x06:
1271 case 0x07:
1272 case 0x08:
1273 case '\t':
1274 case '\n':
1275 case '\v':
1276 case '\f':
1277 case '\r':
1278 case 0x0E:
1279 case 0x0F:
1280 case 0x10:
1281 case 0x11:
1282 case 0x12:
1283 case 0x13:
1284 case 0x14:
1285 case 0x15:
1286 case 0x16:
1287 case 0x17:
1288 case 0x18:
1289 case 0x19:
1290 case 0x1A:
1291 case 0x1B:
1292 case 0x1C:
1293 case 0x1D:
1294 case 0x1E:
1295 case 0x1F:
1296 case ' ':
1297 case '!':
1298 case '"':
1299 case '#':
1300 case '$':
1301 case '%':
1302 case '&':
1303 case '\'':
1304 case '(':
1305 case ')':
1306 case '*':
1307 case '+':
1308 case ',':
1309 case '-':
1310 case '.':
1311 case '/':
1312 case ':':
1313 case ';':
1314 case '<':
1315 case '=':
1316 case '>':
1317 case '?':
1318 case '@':
1319 case '[':
1320 case '\\':
1321 case ']':
1322 case '^':
1323 case '`':
1324 case '{':
1325 case '|':
1326 case '}':
1327 case '~':
1328 case 0x7F: goto yy102;
1329 default: goto yy100;
1330 }
1331 yy102:
1332 #line 445 "src/parser.re"
1333 { NEWTOKEN(PSI_T_DOLLAR_NAME); goto start; }
1334 #line 1335 "src/parser.c"
1335 yy103:
1336 ++cur;
1337 #line 342 "src/parser.re"
1338 { NEWTOKEN(PSI_T_AND); goto start; }
1339 #line 1340 "src/parser.c"
1340 yy105:
1341 yych = *++cur;
1342 switch (yych) {
1343 case '0':
1344 case '1':
1345 case '2':
1346 case '3':
1347 case '4':
1348 case '5':
1349 case '6':
1350 case '7':
1351 case '8':
1352 case '9': goto yy108;
1353 default: goto yy106;
1354 }
1355 yy106:
1356 cur = mrk;
1357 switch (yyaccept) {
1358 case 0: goto yy29;
1359 case 1: goto yy33;
1360 case 2: goto yy35;
1361 case 3: goto yy39;
1362 case 4: goto yy47;
1363 case 5: goto yy55;
1364 case 6: goto yy110;
1365 case 7: goto yy121;
1366 case 8: goto yy153;
1367 case 9: goto yy184;
1368 case 10: goto yy229;
1369 case 11: goto yy231;
1370 case 12: goto yy233;
1371 case 13: goto yy243;
1372 case 14: goto yy279;
1373 case 15: goto yy282;
1374 case 16: goto yy288;
1375 case 17: goto yy290;
1376 case 18: goto yy293;
1377 case 19: goto yy298;
1378 case 20: goto yy309;
1379 case 21: goto yy312;
1380 case 22: goto yy327;
1381 case 23: goto yy335;
1382 case 24: goto yy342;
1383 case 25: goto yy345;
1384 case 26: goto yy351;
1385 case 27: goto yy354;
1386 case 28: goto yy361;
1387 case 29: goto yy363;
1388 case 30: goto yy367;
1389 case 31: goto yy369;
1390 case 32: goto yy371;
1391 case 33: goto yy373;
1392 case 34: goto yy376;
1393 case 35: goto yy385;
1394 case 36: goto yy393;
1395 case 37: goto yy412;
1396 case 38: goto yy414;
1397 case 39: goto yy423;
1398 case 40: goto yy428;
1399 case 41: goto yy430;
1400 case 42: goto yy432;
1401 case 43: goto yy436;
1402 case 44: goto yy442;
1403 case 45: goto yy444;
1404 case 46: goto yy446;
1405 case 47: goto yy448;
1406 case 48: goto yy453;
1407 case 49: goto yy455;
1408 case 50: goto yy457;
1409 case 51: goto yy459;
1410 case 52: goto yy461;
1411 case 53: goto yy463;
1412 case 54: goto yy465;
1413 case 55: goto yy470;
1414 case 56: goto yy485;
1415 case 57: goto yy487;
1416 case 58: goto yy491;
1417 case 59: goto yy495;
1418 case 60: goto yy497;
1419 case 61: goto yy499;
1420 case 62: goto yy501;
1421 case 63: goto yy503;
1422 case 64: goto yy508;
1423 case 65: goto yy513;
1424 case 66: goto yy518;
1425 case 67: goto yy521;
1426 case 68: goto yy523;
1427 case 69: goto yy530;
1428 case 70: goto yy532;
1429 case 71: goto yy534;
1430 case 72: goto yy536;
1431 case 73: goto yy541;
1432 case 74: goto yy543;
1433 case 75: goto yy547;
1434 case 76: goto yy549;
1435 case 77: goto yy551;
1436 case 78: goto yy553;
1437 case 79: goto yy563;
1438 case 80: goto yy565;
1439 case 81: goto yy573;
1440 case 82: goto yy577;
1441 case 83: goto yy581;
1442 case 84: goto yy585;
1443 case 85: goto yy587;
1444 default: goto yy592;
1445 }
1446 yy107:
1447 yych = *++cur;
1448 switch (yych) {
1449 case '.': goto yy193;
1450 default: goto yy106;
1451 }
1452 yy108:
1453 yyaccept = 6;
1454 mrk = ++cur;
1455 if ((lim - cur) < 2) if (cur >= lim) goto done;;
1456 yych = *cur;
1457 ctxmrk = cur;
1458 switch (yych) {
1459 case '0':
1460 case '1':
1461 case '2':
1462 case '3':
1463 case '4':
1464 case '5':
1465 case '6':
1466 case '7':
1467 case '8':
1468 case '9': goto yy108;
1469 case 'D':
1470 case 'd': goto yy195;
1471 case 'F':
1472 case 'f': goto yy196;
1473 case 'L':
1474 case 'l': goto yy198;
1475 default: goto yy110;
1476 }
1477 yy110:
1478 #line 312 "src/parser.re"
1479 { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT; goto start; }
1480 #line 1481 "src/parser.c"
1481 yy111:
1482 ++cur;
1483 #line 326 "src/parser.re"
1484 { goto comment; }
1485 #line 1486 "src/parser.c"
1486 yy113:
1487 ++cur;
1488 #line 327 "src/parser.re"
1489 { goto comment_sl; }
1490 #line 1491 "src/parser.c"
1491 yy115:
1492 yyaccept = 6;
1493 mrk = ++cur;
1494 if ((lim - cur) < 3) if (cur >= lim) goto done;;
1495 yych = *cur;
1496 ctxmrk = cur;
1497 switch (yych) {
1498 case '0':
1499 case '1':
1500 case '2':
1501 case '3':
1502 case '4':
1503 case '5':
1504 case '6':
1505 case '7':
1506 case '8':
1507 case '9': goto yy115;
1508 case 'D':
1509 case 'd': goto yy195;
1510 case 'E':
1511 case 'e': goto yy119;
1512 case 'F':
1513 case 'f': goto yy196;
1514 case 'L':
1515 case 'l': goto yy198;
1516 default: goto yy110;
1517 }
1518 yy117:
1519 ++cur;
1520 if ((lim - cur) < 3) if (cur >= lim) goto done;;
1521 yych = *cur;
1522 ctxmrk = cur;
1523 switch (yych) {
1524 case '0':
1525 case '1':
1526 case '2':
1527 case '3':
1528 case '4':
1529 case '5':
1530 case '6':
1531 case '7': goto yy117;
1532 case 'L':
1533 case 'l': goto yy120;
1534 case 'U':
1535 case 'u': goto yy122;
1536 default: goto yy39;
1537 }
1538 yy119:
1539 yych = *++cur;
1540 switch (yych) {
1541 case '+':
1542 case '-': goto yy105;
1543 case '0':
1544 case '1':
1545 case '2':
1546 case '3':
1547 case '4':
1548 case '5':
1549 case '6':
1550 case '7':
1551 case '8':
1552 case '9': goto yy108;
1553 default: goto yy106;
1554 }
1555 yy120:
1556 yyaccept = 7;
1557 yych = *(mrk = ++cur);
1558 switch (yych) {
1559 case 'L':
1560 case 'l': goto yy200;
1561 case 'U':
1562 case 'u': goto yy201;
1563 default: goto yy121;
1564 }
1565 yy121:
1566 cur = ctxmrk;
1567 #line 308 "src/parser.re"
1568 { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_INT | PSI_NUMBER_L; cur += 1; goto start; }
1569 #line 1570 "src/parser.c"
1570 yy122:
1571 ++cur;
1572 switch ((yych = *cur)) {
1573 case 'L':
1574 case 'l': goto yy203;
1575 default: goto yy123;
1576 }
1577 yy123:
1578 cur = ctxmrk;
1579 #line 307 "src/parser.re"
1580 { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_INT | PSI_NUMBER_U; cur += 1; goto start; }
1581 #line 1582 "src/parser.c"
1582 yy124:
1583 yych = *++cur;
1584 switch (yych) {
1585 case '0':
1586 case '1':
1587 case '2':
1588 case '3':
1589 case '4':
1590 case '5':
1591 case '6':
1592 case '7':
1593 case '8':
1594 case '9':
1595 case 'A':
1596 case 'B':
1597 case 'C':
1598 case 'D':
1599 case 'E':
1600 case 'F':
1601 case 'a':
1602 case 'b':
1603 case 'c':
1604 case 'd':
1605 case 'e':
1606 case 'f': goto yy204;
1607 default: goto yy106;
1608 }
1609 yy125:
1610 ++cur;
1611 if (lim <= cur) if (cur >= lim) goto done;;
1612 yych = *cur;
1613 switch (yych) {
1614 case '-':
1615 case '.':
1616 case '/':
1617 case '0':
1618 case '1':
1619 case '2':
1620 case '3':
1621 case '4':
1622 case '5':
1623 case '6':
1624 case '7':
1625 case '8':
1626 case '9':
1627 case 'A':
1628 case 'B':
1629 case 'C':
1630 case 'D':
1631 case 'E':
1632 case 'F':
1633 case 'G':
1634 case 'H':
1635 case 'I':
1636 case 'J':
1637 case 'K':
1638 case 'L':
1639 case 'M':
1640 case 'N':
1641 case 'O':
1642 case 'P':
1643 case 'Q':
1644 case 'R':
1645 case 'S':
1646 case 'T':
1647 case 'U':
1648 case 'V':
1649 case 'W':
1650 case 'X':
1651 case 'Y':
1652 case 'Z':
1653 case '_':
1654 case 'a':
1655 case 'b':
1656 case 'c':
1657 case 'd':
1658 case 'e':
1659 case 'f':
1660 case 'g':
1661 case 'h':
1662 case 'i':
1663 case 'j':
1664 case 'k':
1665 case 'l':
1666 case 'm':
1667 case 'n':
1668 case 'o':
1669 case 'p':
1670 case 'q':
1671 case 'r':
1672 case 's':
1673 case 't':
1674 case 'u':
1675 case 'v':
1676 case 'w':
1677 case 'x':
1678 case 'y':
1679 case 'z': goto yy125;
1680 case '>': goto yy206;
1681 default: goto yy106;
1682 }
1683 yy127:
1684 ++cur;
1685 #line 356 "src/parser.re"
1686 { NEWTOKEN(PSI_T_LSHIFT); goto start; }
1687 #line 1688 "src/parser.c"
1688 yy129:
1689 ++cur;
1690 #line 358 "src/parser.re"
1691 { NEWTOKEN(PSI_T_CMP_LE); goto start; }
1692 #line 1693 "src/parser.c"
1693 yy131:
1694 ++cur;
1695 #line 341 "src/parser.re"
1696 { NEWTOKEN(PSI_T_CMP_EQ); goto start; }
1697 #line 1698 "src/parser.c"
1698 yy133:
1699 ++cur;
1700 #line 359 "src/parser.re"
1701 { NEWTOKEN(PSI_T_CMP_GE); goto start; }
1702 #line 1703 "src/parser.c"
1703 yy135:
1704 ++cur;
1705 #line 357 "src/parser.re"
1706 { NEWTOKEN(PSI_T_RSHIFT); goto start; }
1707 #line 1708 "src/parser.c"
1708 yy137:
1709 yyaccept = 5;
1710 yych = *(mrk = ++cur);
1711 switch (yych) {
1712 case 'R':
1713 case 'r': goto yy208;
1714 default: goto yy62;
1715 }
1716 yy138:
1717 ++cur;
1718 if (lim <= cur) if (cur >= lim) goto done;;
1719 yych = *cur;
1720 switch (yych) {
1721 case 0x00:
1722 case 0x01:
1723 case 0x02:
1724 case 0x03:
1725 case 0x04:
1726 case 0x05:
1727 case 0x06:
1728 case 0x07:
1729 case 0x08:
1730 case '\t':
1731 case '\n':
1732 case '\v':
1733 case '\f':
1734 case '\r':
1735 case 0x0E:
1736 case 0x0F:
1737 case 0x10:
1738 case 0x11:
1739 case 0x12:
1740 case 0x13:
1741 case 0x14:
1742 case 0x15:
1743 case 0x16:
1744 case 0x17:
1745 case 0x18:
1746 case 0x19:
1747 case 0x1A:
1748 case 0x1B:
1749 case 0x1C:
1750 case 0x1D:
1751 case 0x1E:
1752 case 0x1F:
1753 case ' ':
1754 case '!':
1755 case '"':
1756 case '#':
1757 case '$':
1758 case '%':
1759 case '&':
1760 case '\'':
1761 case '(':
1762 case ')':
1763 case '*':
1764 case '+':
1765 case ',':
1766 case '-':
1767 case '.':
1768 case '/':
1769 case '0':
1770 case '1':
1771 case '2':
1772 case '3':
1773 case '4':
1774 case '5':
1775 case '6':
1776 case '7':
1777 case '8':
1778 case '9':
1779 case ':':
1780 case ';':
1781 case '<':
1782 case '=':
1783 case '>':
1784 case '?':
1785 case '@':
1786 case '[':
1787 case '\\':
1788 case ']':
1789 case '^':
1790 case '`':
1791 case '{':
1792 case '|':
1793 case '}':
1794 case '~':
1795 case 0x7F: goto yy106;
1796 default: goto yy182;
1797 }
1798 yy139:
1799 yyaccept = 5;
1800 yych = *(mrk = ++cur);
1801 switch (yych) {
1802 case 'O':
1803 case 'o': goto yy209;
1804 default: goto yy62;
1805 }
1806 yy140:
1807 yyaccept = 5;
1808 yych = *(mrk = ++cur);
1809 switch (yych) {
1810 case 'L':
1811 case 'l': goto yy210;
1812 default: goto yy62;
1813 }
1814 yy141:
1815 yyaccept = 5;
1816 yych = *(mrk = ++cur);
1817 switch (yych) {
1818 case 'A':
1819 case 'a': goto yy211;
1820 default: goto yy62;
1821 }
1822 yy142:
1823 yyaccept = 5;
1824 yych = *(mrk = ++cur);
1825 switch (yych) {
1826 case 'N':
1827 case 'n': goto yy212;
1828 case 'U':
1829 case 'u': goto yy213;
1830 default: goto yy62;
1831 }
1832 yy143:
1833 yyaccept = 5;
1834 yych = *(mrk = ++cur);
1835 switch (yych) {
1836 case 'F':
1837 case 'f': goto yy214;
1838 default: goto yy62;
1839 }
1840 yy144:
1841 yyaccept = 5;
1842 yych = *(mrk = ++cur);
1843 switch (yych) {
1844 case 'U':
1845 case 'u': goto yy215;
1846 default: goto yy62;
1847 }
1848 yy145:
1849 yyaccept = 5;
1850 yych = *(mrk = ++cur);
1851 switch (yych) {
1852 case 'I':
1853 case 'i': goto yy216;
1854 case 'S':
1855 case 's': goto yy217;
1856 default: goto yy62;
1857 }
1858 yy146:
1859 yyaccept = 5;
1860 yych = *(mrk = ++cur);
1861 switch (yych) {
1862 case 'D':
1863 case 'd': goto yy218;
1864 case 'U':
1865 case 'u': goto yy219;
1866 default: goto yy62;
1867 }
1868 yy147:
1869 yyaccept = 5;
1870 yych = *(mrk = ++cur);
1871 switch (yych) {
1872 case 'R':
1873 case 'r': goto yy220;
1874 default: goto yy62;
1875 }
1876 yy148:
1877 yyaccept = 5;
1878 yych = *(mrk = ++cur);
1879 switch (yych) {
1880 case 'L':
1881 case 'l': goto yy221;
1882 default: goto yy62;
1883 }
1884 yy149:
1885 yyaccept = 5;
1886 yych = *(mrk = ++cur);
1887 switch (yych) {
1888 case 'O':
1889 case 'o': goto yy222;
1890 default: goto yy62;
1891 }
1892 yy150:
1893 yyaccept = 5;
1894 yych = *(mrk = ++cur);
1895 switch (yych) {
1896 case 'E':
1897 case 'e': goto yy223;
1898 default: goto yy62;
1899 }
1900 yy151:
1901 yyaccept = 5;
1902 yych = *(mrk = ++cur);
1903 switch (yych) {
1904 case 'N':
1905 case 'n': goto yy224;
1906 default: goto yy62;
1907 }
1908 yy152:
1909 yyaccept = 8;
1910 yych = *(mrk = ++cur);
1911 switch (yych) {
1912 case 0x00:
1913 case 0x01:
1914 case 0x02:
1915 case 0x03:
1916 case 0x04:
1917 case 0x05:
1918 case 0x06:
1919 case 0x07:
1920 case 0x08:
1921 case '\t':
1922 case '\n':
1923 case '\v':
1924 case '\f':
1925 case '\r':
1926 case 0x0E:
1927 case 0x0F:
1928 case 0x10:
1929 case 0x11:
1930 case 0x12:
1931 case 0x13:
1932 case 0x14:
1933 case 0x15:
1934 case 0x16:
1935 case 0x17:
1936 case 0x18:
1937 case 0x19:
1938 case 0x1A:
1939 case 0x1B:
1940 case 0x1C:
1941 case 0x1D:
1942 case 0x1E:
1943 case 0x1F:
1944 case ' ':
1945 case '!':
1946 case '"':
1947 case '#':
1948 case '$':
1949 case '%':
1950 case '&':
1951 case '\'':
1952 case '(':
1953 case ')':
1954 case '*':
1955 case '+':
1956 case ',':
1957 case '-':
1958 case '.':
1959 case '/':
1960 case ':':
1961 case ';':
1962 case '<':
1963 case '=':
1964 case '>':
1965 case '?':
1966 case '@':
1967 case '[':
1968 case ']':
1969 case '^':
1970 case '`':
1971 case '{':
1972 case '|':
1973 case '}':
1974 case '~':
1975 case 0x7F: goto yy153;
1976 case 'D':
1977 case 'd': goto yy225;
1978 case 'N':
1979 case 'n': goto yy226;
1980 case '\\': goto yy138;
1981 default: goto yy61;
1982 }
1983 yy153:
1984 #line 371 "src/parser.re"
1985 { NEWTOKEN(PSI_T_IF); goto start; }
1986 #line 1987 "src/parser.c"
1987 yy154:
1988 yyaccept = 5;
1989 yych = *(mrk = ++cur);
1990 switch (yych) {
1991 case 'C':
1992 case 'c': goto yy227;
1993 case 'T':
1994 case 't': goto yy228;
1995 default: goto yy62;
1996 }
1997 yy155:
1998 ++cur;
1999 cur = ctxmrk;
2000 #line 324 "src/parser.re"
2001 { char_width = SIZEOF_WCHAR_T/8; }
2002 #line 2003 "src/parser.c"
2003 yy157:
2004 yyaccept = 5;
2005 yych = *(mrk = ++cur);
2006 switch (yych) {
2007 case 'T':
2008 case 't': goto yy230;
2009 default: goto yy62;
2010 }
2011 yy158:
2012 yyaccept = 5;
2013 yych = *(mrk = ++cur);
2014 switch (yych) {
2015 case 'B':
2016 case 'b': goto yy232;
2017 default: goto yy62;
2018 }
2019 yy159:
2020 yyaccept = 5;
2021 yych = *(mrk = ++cur);
2022 switch (yych) {
2023 case 'N':
2024 case 'n': goto yy234;
2025 default: goto yy62;
2026 }
2027 yy160:
2028 yyaccept = 5;
2029 yych = *(mrk = ++cur);
2030 switch (yych) {
2031 case 'X':
2032 case 'x': goto yy235;
2033 default: goto yy62;
2034 }
2035 yy161:
2036 yyaccept = 5;
2037 yych = *(mrk = ++cur);
2038 switch (yych) {
2039 case 'L':
2040 case 'l': goto yy236;
2041 default: goto yy62;
2042 }
2043 yy162:
2044 yyaccept = 5;
2045 yych = *(mrk = ++cur);
2046 switch (yych) {
2047 case 'J':
2048 case 'j': goto yy237;
2049 default: goto yy62;
2050 }
2051 yy163:
2052 yyaccept = 5;
2053 yych = *(mrk = ++cur);
2054 switch (yych) {
2055 case 'T':
2056 case 't': goto yy238;
2057 default: goto yy62;
2058 }
2059 yy164:
2060 yyaccept = 5;
2061 yych = *(mrk = ++cur);
2062 switch (yych) {
2063 case 'S':
2064 case 's': goto yy239;
2065 default: goto yy62;
2066 }
2067 yy165:
2068 yyaccept = 5;
2069 yych = *(mrk = ++cur);
2070 switch (yych) {
2071 case 'E':
2072 case 'e': goto yy240;
2073 default: goto yy62;
2074 }
2075 yy166:
2076 yyaccept = 5;
2077 yych = *(mrk = ++cur);
2078 switch (yych) {
2079 case 'T':
2080 case 't': goto yy241;
2081 default: goto yy62;
2082 }
2083 yy167:
2084 yyaccept = 5;
2085 yych = *(mrk = ++cur);
2086 switch (yych) {
2087 case 'T':
2088 case 't': goto yy242;
2089 default: goto yy62;
2090 }
2091 yy168:
2092 yyaccept = 5;
2093 yych = *(mrk = ++cur);
2094 switch (yych) {
2095 case 'O':
2096 case 'o': goto yy244;
2097 default: goto yy62;
2098 }
2099 yy169:
2100 yyaccept = 5;
2101 yych = *(mrk = ++cur);
2102 switch (yych) {
2103 case 'G':
2104 case 'g': goto yy245;
2105 default: goto yy62;
2106 }
2107 yy170:
2108 yyaccept = 5;
2109 yych = *(mrk = ++cur);
2110 switch (yych) {
2111 case 'A':
2112 case 'a': goto yy246;
2113 case 'R':
2114 case 'r': goto yy247;
2115 default: goto yy62;
2116 }
2117 yy171:
2118 yyaccept = 5;
2119 yych = *(mrk = ++cur);
2120 switch (yych) {
2121 case 'M':
2122 case 'm': goto yy248;
2123 default: goto yy62;
2124 }
2125 yy172:
2126 yyaccept = 5;
2127 yych = *(mrk = ++cur);
2128 switch (yych) {
2129 case '_': goto yy249;
2130 default: goto yy62;
2131 }
2132 yy173:
2133 yyaccept = 5;
2134 yych = *(mrk = ++cur);
2135 switch (yych) {
2136 case 'U':
2137 case 'u': goto yy250;
2138 default: goto yy62;
2139 }
2140 yy174:
2141 yyaccept = 5;
2142 yych = *(mrk = ++cur);
2143 switch (yych) {
2144 case 'P':
2145 case 'p': goto yy251;
2146 default: goto yy62;
2147 }
2148 yy175:
2149 ++cur;
2150 cur = ctxmrk;
2151 #line 323 "src/parser.re"
2152 { char_width = 4; }
2153 #line 2154 "src/parser.c"
2154 yy177:
2155 yyaccept = 5;
2156 yych = *(mrk = ++cur);
2157 switch (yych) {
2158 case 'N':
2159 case 'n': goto yy252;
2160 default: goto yy62;
2161 }
2162 yy178:
2163 yyaccept = 5;
2164 yych = *(mrk = ++cur);
2165 switch (yych) {
2166 case 'D':
2167 case 'd': goto yy253;
2168 case 'I':
2169 case 'i': goto yy254;
2170 case 'S':
2171 case 's': goto yy255;
2172 default: goto yy62;
2173 }
2174 yy179:
2175 yyaccept = 5;
2176 yych = *(mrk = ++cur);
2177 switch (yych) {
2178 case 'I':
2179 case 'i': goto yy256;
2180 default: goto yy62;
2181 }
2182 yy180:
2183 yyaccept = 5;
2184 yych = *(mrk = ++cur);
2185 switch (yych) {
2186 case 'R':
2187 case 'r': goto yy257;
2188 default: goto yy62;
2189 }
2190 yy181:
2191 yyaccept = 5;
2192 yych = *(mrk = ++cur);
2193 switch (yych) {
2194 case 'A':
2195 case 'a': goto yy258;
2196 default: goto yy62;
2197 }
2198 yy182:
2199 yyaccept = 9;
2200 mrk = ++cur;
2201 if (lim <= cur) if (cur >= lim) goto done;;
2202 yych = *cur;
2203 switch (yych) {
2204 case 0x00:
2205 case 0x01:
2206 case 0x02:
2207 case 0x03:
2208 case 0x04:
2209 case 0x05:
2210 case 0x06:
2211 case 0x07:
2212 case 0x08:
2213 case '\t':
2214 case '\n':
2215 case '\v':
2216 case '\f':
2217 case '\r':
2218 case 0x0E:
2219 case 0x0F:
2220 case 0x10:
2221 case 0x11:
2222 case 0x12:
2223 case 0x13:
2224 case 0x14:
2225 case 0x15:
2226 case 0x16:
2227 case 0x17:
2228 case 0x18:
2229 case 0x19:
2230 case 0x1A:
2231 case 0x1B:
2232 case 0x1C:
2233 case 0x1D:
2234 case 0x1E:
2235 case 0x1F:
2236 case ' ':
2237 case '!':
2238 case '"':
2239 case '#':
2240 case '$':
2241 case '%':
2242 case '&':
2243 case '\'':
2244 case '(':
2245 case ')':
2246 case '*':
2247 case '+':
2248 case ',':
2249 case '-':
2250 case '.':
2251 case '/':
2252 case ':':
2253 case ';':
2254 case '<':
2255 case '=':
2256 case '>':
2257 case '?':
2258 case '@':
2259 case '[':
2260 case ']':
2261 case '^':
2262 case '`':
2263 case '{':
2264 case '|':
2265 case '}':
2266 case '~':
2267 case 0x7F: goto yy184;
2268 case '\\': goto yy138;
2269 default: goto yy182;
2270 }
2271 yy184:
2272 #line 444 "src/parser.re"
2273 { NEWTOKEN(PSI_T_NSNAME); goto start; }
2274 #line 2275 "src/parser.c"
2275 yy185:
2276 yyaccept = 5;
2277 yych = *(mrk = ++cur);
2278 switch (yych) {
2279 case 'a': goto yy259;
2280 case 'e': goto yy260;
2281 case 'r': goto yy261;
2282 default: goto yy62;
2283 }
2284 yy186:
2285 yyaccept = 5;
2286 yych = *(mrk = ++cur);
2287 switch (yych) {
2288 case 'B':
2289 case 'b': goto yy232;
2290 case 'n': goto yy262;
2291 default: goto yy62;
2292 }
2293 yy187:
2294 yyaccept = 5;
2295 yych = *(mrk = ++cur);
2296 switch (yych) {
2297 case 'E':
2298 case 'e': goto yy240;
2299 case 'a': goto yy263;
2300 default: goto yy62;
2301 }
2302 yy188:
2303 ++cur;
2304 cur = ctxmrk;
2305 #line 322 "src/parser.re"
2306 { char_width = 2; }
2307 #line 2308 "src/parser.c"
2308 yy190:
2309 yyaccept = 5;
2310 yych = *(mrk = ++cur);
2311 ctxmrk = cur;
2312 switch (yych) {
2313 case '"': goto yy264;
2314 default: goto yy62;
2315 }
2316 yy191:
2317 ++cur;
2318 #line 343 "src/parser.re"
2319 { NEWTOKEN(PSI_T_OR); goto start; }
2320 #line 2321 "src/parser.c"
2321 yy193:
2322 ++cur;
2323 #line 363 "src/parser.re"
2324 { NEWTOKEN(PSI_T_ELLIPSIS); goto start; }
2325 #line 2326 "src/parser.c"
2326 yy195:
2327 yych = *++cur;
2328 switch (yych) {
2329 case 'D':
2330 case 'd': goto yy266;
2331 case 'F':
2332 case 'f': goto yy268;
2333 case 'L':
2334 case 'l': goto yy270;
2335 default: goto yy106;
2336 }
2337 yy196:
2338 ++cur;
2339 cur = ctxmrk;
2340 #line 313 "src/parser.re"
2341 { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT | PSI_NUMBER_F; cur += 1; goto start; }
2342 #line 2343 "src/parser.c"
2343 yy198:
2344 ++cur;
2345 cur = ctxmrk;
2346 #line 314 "src/parser.re"
2347 { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT | PSI_NUMBER_L; cur += 1; goto start; }
2348 #line 2349 "src/parser.c"
2349 yy200:
2350 yych = *++cur;
2351 switch (yych) {
2352 case 'U':
2353 case 'u': goto yy272;
2354 default: goto yy106;
2355 }
2356 yy201:
2357 ++cur;
2358 yy202:
2359 cur = ctxmrk;
2360 #line 309 "src/parser.re"
2361 { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_INT | PSI_NUMBER_UL; cur += 2; goto start; }
2362 #line 2363 "src/parser.c"
2363 yy203:
2364 yych = *++cur;
2365 switch (yych) {
2366 case 'L':
2367 case 'l': goto yy272;
2368 default: goto yy202;
2369 }
2370 yy204:
2371 yyaccept = 3;
2372 mrk = ++cur;
2373 if ((lim - cur) < 3) if (cur >= lim) goto done;;
2374 yych = *cur;
2375 ctxmrk = cur;
2376 switch (yych) {
2377 case '.': goto yy274;
2378 case '0':
2379 case '1':
2380 case '2':
2381 case '3':
2382 case '4':
2383 case '5':
2384 case '6':
2385 case '7':
2386 case '8':
2387 case '9':
2388 case 'A':
2389 case 'B':
2390 case 'C':
2391 case 'D':
2392 case 'E':
2393 case 'F':
2394 case 'a':
2395 case 'b':
2396 case 'c':
2397 case 'd':
2398 case 'e':
2399 case 'f': goto yy204;
2400 case 'L':
2401 case 'l': goto yy120;
2402 case 'P':
2403 case 'p': goto yy119;
2404 case 'U':
2405 case 'u': goto yy122;
2406 default: goto yy39;
2407 }
2408 yy206:
2409 ++cur;
2410 #line 446 "src/parser.re"
2411 { tok += 1; cur -= 1; NEWTOKEN(PSI_T_CPP_HEADER); cur += 1; goto start; }
2412 #line 2413 "src/parser.c"
2413 yy208:
2414 yyaccept = 5;
2415 yych = *(mrk = ++cur);
2416 switch (yych) {
2417 case 'A':
2418 case 'a': goto yy276;
2419 case 'V':
2420 case 'v': goto yy277;
2421 default: goto yy62;
2422 }
2423 yy209:
2424 yyaccept = 5;
2425 yych = *(mrk = ++cur);
2426 switch (yych) {
2427 case 'L':
2428 case 'l': goto yy278;
2429 default: goto yy62;
2430 }
2431 yy210:
2432 yyaccept = 5;
2433 yych = *(mrk = ++cur);
2434 switch (yych) {
2435 case 'L':
2436 case 'l': goto yy280;
2437 default: goto yy62;
2438 }
2439 yy211:
2440 yyaccept = 5;
2441 yych = *(mrk = ++cur);
2442 switch (yych) {
2443 case 'R':
2444 case 'r': goto yy281;
2445 default: goto yy62;
2446 }
2447 yy212:
2448 yyaccept = 5;
2449 yych = *(mrk = ++cur);
2450 switch (yych) {
2451 case 'S':
2452 case 's': goto yy283;
2453 default: goto yy62;
2454 }
2455 yy213:
2456 yyaccept = 5;
2457 yych = *(mrk = ++cur);
2458 switch (yych) {
2459 case 'N':
2460 case 'n': goto yy284;
2461 default: goto yy62;
2462 }
2463 yy214:
2464 yyaccept = 5;
2465 yych = *(mrk = ++cur);
2466 switch (yych) {
2467 case 'I':
2468 case 'i': goto yy285;
2469 default: goto yy62;
2470 }
2471 yy215:
2472 yyaccept = 5;
2473 yych = *(mrk = ++cur);
2474 switch (yych) {
2475 case 'B':
2476 case 'b': goto yy286;
2477 default: goto yy62;
2478 }
2479 yy216:
2480 yyaccept = 5;
2481 yych = *(mrk = ++cur);
2482 switch (yych) {
2483 case 'F':
2484 case 'f': goto yy287;
2485 default: goto yy62;
2486 }
2487 yy217:
2488 yyaccept = 5;
2489 yych = *(mrk = ++cur);
2490 switch (yych) {
2491 case 'E':
2492 case 'e': goto yy289;
2493 default: goto yy62;
2494 }
2495 yy218:
2496 yyaccept = 5;
2497 yych = *(mrk = ++cur);
2498 switch (yych) {
2499 case 'I':
2500 case 'i': goto yy291;
2501 default: goto yy62;
2502 }
2503 yy219:
2504 yyaccept = 5;
2505 yych = *(mrk = ++cur);
2506 switch (yych) {
2507 case 'M':
2508 case 'm': goto yy292;
2509 default: goto yy62;
2510 }
2511 yy220:
2512 yyaccept = 5;
2513 yych = *(mrk = ++cur);
2514 switch (yych) {
2515 case 'O':
2516 case 'o': goto yy294;
2517 default: goto yy62;
2518 }
2519 yy221:
2520 yyaccept = 5;
2521 yych = *(mrk = ++cur);
2522 switch (yych) {
2523 case 'S':
2524 case 's': goto yy295;
2525 default: goto yy62;
2526 }
2527 yy222:
2528 yyaccept = 5;
2529 yych = *(mrk = ++cur);
2530 switch (yych) {
2531 case 'A':
2532 case 'a': goto yy296;
2533 default: goto yy62;
2534 }
2535 yy223:
2536 yyaccept = 5;
2537 yych = *(mrk = ++cur);
2538 switch (yych) {
2539 case 'E':
2540 case 'e': goto yy297;
2541 default: goto yy62;
2542 }
2543 yy224:
2544 yyaccept = 5;
2545 yych = *(mrk = ++cur);
2546 switch (yych) {
2547 case 'C':
2548 case 'c': goto yy299;
2549 default: goto yy62;
2550 }
2551 yy225:
2552 yyaccept = 5;
2553 yych = *(mrk = ++cur);
2554 switch (yych) {
2555 case 'E':
2556 case 'e': goto yy300;
2557 default: goto yy62;
2558 }
2559 yy226:
2560 yyaccept = 5;
2561 yych = *(mrk = ++cur);
2562 switch (yych) {
2563 case 'D':
2564 case 'd': goto yy301;
2565 default: goto yy62;
2566 }
2567 yy227:
2568 yyaccept = 5;
2569 yych = *(mrk = ++cur);
2570 switch (yych) {
2571 case 'L':
2572 case 'l': goto yy302;
2573 default: goto yy62;
2574 }
2575 yy228:
2576 yyaccept = 10;
2577 yych = *(mrk = ++cur);
2578 switch (yych) {
2579 case 0x00:
2580 case 0x01:
2581 case 0x02:
2582 case 0x03:
2583 case 0x04:
2584 case 0x05:
2585 case 0x06:
2586 case 0x07:
2587 case 0x08:
2588 case '\t':
2589 case '\n':
2590 case '\v':
2591 case '\f':
2592 case '\r':
2593 case 0x0E:
2594 case 0x0F:
2595 case 0x10:
2596 case 0x11:
2597 case 0x12:
2598 case 0x13:
2599 case 0x14:
2600 case 0x15:
2601 case 0x16:
2602 case 0x17:
2603 case 0x18:
2604 case 0x19:
2605 case 0x1A:
2606 case 0x1B:
2607 case 0x1C:
2608 case 0x1D:
2609 case 0x1E:
2610 case 0x1F:
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 '<':
2630 case '=':
2631 case '>':
2632 case '?':
2633 case '@':
2634 case '[':
2635 case ']':
2636 case '^':
2637 case '`':
2638 case '{':
2639 case '|':
2640 case '}':
2641 case '~':
2642 case 0x7F: goto yy229;
2643 case '1': goto yy303;
2644 case '3': goto yy304;
2645 case '6': goto yy305;
2646 case '8': goto yy306;
2647 case 'V':
2648 case 'v': goto yy307;
2649 case '\\': goto yy138;
2650 default: goto yy61;
2651 }
2652 yy229:
2653 #line 393 "src/parser.re"
2654 { NEWTOKEN(PSI_T_INT); goto start; }
2655 #line 2656 "src/parser.c"
2656 yy230:
2657 yyaccept = 11;
2658 yych = *(mrk = ++cur);
2659 switch (yych) {
2660 case 0x00:
2661 case 0x01:
2662 case 0x02:
2663 case 0x03:
2664 case 0x04:
2665 case 0x05:
2666 case 0x06:
2667 case 0x07:
2668 case 0x08:
2669 case '\t':
2670 case '\n':
2671 case '\v':
2672 case '\f':
2673 case '\r':
2674 case 0x0E:
2675 case 0x0F:
2676 case 0x10:
2677 case 0x11:
2678 case 0x12:
2679 case 0x13:
2680 case 0x14:
2681 case 0x15:
2682 case 0x16:
2683 case 0x17:
2684 case 0x18:
2685 case 0x19:
2686 case 0x1A:
2687 case 0x1B:
2688 case 0x1C:
2689 case 0x1D:
2690 case 0x1E:
2691 case 0x1F:
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 ',':
2705 case '-':
2706 case '.':
2707 case '/':
2708 case ':':
2709 case ';':
2710 case '<':
2711 case '=':
2712 case '>':
2713 case '?':
2714 case '@':
2715 case '[':
2716 case ']':
2717 case '^':
2718 case '`':
2719 case '{':
2720 case '|':
2721 case '}':
2722 case '~':
2723 case 0x7F: goto yy231;
2724 case '\\': goto yy138;
2725 default: goto yy61;
2726 }
2727 yy231:
2728 #line 419 "src/parser.re"
2729 { NEWTOKEN(PSI_T_LET); goto start; }
2730 #line 2731 "src/parser.c"
2731 yy232:
2732 yyaccept = 12;
2733 yych = *(mrk = ++cur);
2734 switch (yych) {
2735 case 0x00:
2736 case 0x01:
2737 case 0x02:
2738 case 0x03:
2739 case 0x04:
2740 case 0x05:
2741 case 0x06:
2742 case 0x07:
2743 case 0x08:
2744 case '\t':
2745 case '\n':
2746 case '\v':
2747 case '\f':
2748 case '\r':
2749 case 0x0E:
2750 case 0x0F:
2751 case 0x10:
2752 case 0x11:
2753 case 0x12:
2754 case 0x13:
2755 case 0x14:
2756 case 0x15:
2757 case 0x16:
2758 case 0x17:
2759 case 0x18:
2760 case 0x19:
2761 case 0x1A:
2762 case 0x1B:
2763 case 0x1C:
2764 case 0x1D:
2765 case 0x1E:
2766 case 0x1F:
2767 case ' ':
2768 case '!':
2769 case '"':
2770 case '#':
2771 case '$':
2772 case '%':
2773 case '&':
2774 case '\'':
2775 case '(':
2776 case ')':
2777 case '*':
2778 case '+':
2779 case ',':
2780 case '-':
2781 case '.':
2782 case '/':
2783 case ':':
2784 case ';':
2785 case '<':
2786 case '=':
2787 case '>':
2788 case '?':
2789 case '@':
2790 case '[':
2791 case ']':
2792 case '^':
2793 case '`':
2794 case '{':
2795 case '|':
2796 case '}':
2797 case '~':
2798 case 0x7F: goto yy233;
2799 case '\\': goto yy138;
2800 default: goto yy61;
2801 }
2802 yy233:
2803 #line 418 "src/parser.re"
2804 { NEWTOKEN(PSI_T_LIB); goto start; }
2805 #line 2806 "src/parser.c"
2806 yy234:
2807 yyaccept = 5;
2808 yych = *(mrk = ++cur);
2809 switch (yych) {
2810 case 'G':
2811 case 'g': goto yy308;
2812 default: goto yy62;
2813 }
2814 yy235:
2815 yyaccept = 5;
2816 yych = *(mrk = ++cur);
2817 switch (yych) {
2818 case 'E':
2819 case 'e': goto yy310;
2820 default: goto yy62;
2821 }
2822 yy236:
2823 yyaccept = 5;
2824 yych = *(mrk = ++cur);
2825 switch (yych) {
2826 case 'L':
2827 case 'l': goto yy311;
2828 default: goto yy62;
2829 }
2830 yy237:
2831 yyaccept = 5;
2832 yych = *(mrk = ++cur);
2833 switch (yych) {
2834 case 'E':
2835 case 'e': goto yy313;
2836 case 'V':
2837 case 'v': goto yy314;
2838 default: goto yy62;
2839 }
2840 yy238:
2841 yyaccept = 5;
2842 yych = *(mrk = ++cur);
2843 switch (yych) {
2844 case 'H':
2845 case 'h': goto yy315;
2846 default: goto yy62;
2847 }
2848 yy239:
2849 yyaccept = 5;
2850 yych = *(mrk = ++cur);
2851 switch (yych) {
2852 case 'T':
2853 case 't': goto yy316;
2854 default: goto yy62;
2855 }
2856 yy240:
2857 yyaccept = 5;
2858 yych = *(mrk = ++cur);
2859 switch (yych) {
2860 case '_': goto yy317;
2861 default: goto yy62;
2862 }
2863 yy241:
2864 yyaccept = 5;
2865 yych = *(mrk = ++cur);
2866 switch (yych) {
2867 case 'U':
2868 case 'u': goto yy318;
2869 default: goto yy62;
2870 }
2871 yy242:
2872 yyaccept = 13;
2873 yych = *(mrk = ++cur);
2874 switch (yych) {
2875 case 0x00:
2876 case 0x01:
2877 case 0x02:
2878 case 0x03:
2879 case 0x04:
2880 case 0x05:
2881 case 0x06:
2882 case 0x07:
2883 case 0x08:
2884 case '\t':
2885 case '\n':
2886 case '\v':
2887 case '\f':
2888 case '\r':
2889 case 0x0E:
2890 case 0x0F:
2891 case 0x10:
2892 case 0x11:
2893 case 0x12:
2894 case 0x13:
2895 case 0x14:
2896 case 0x15:
2897 case 0x16:
2898 case 0x17:
2899 case 0x18:
2900 case 0x19:
2901 case 0x1A:
2902 case 0x1B:
2903 case 0x1C:
2904 case 0x1D:
2905 case 0x1E:
2906 case 0x1F:
2907 case ' ':
2908 case '!':
2909 case '"':
2910 case '#':
2911 case '$':
2912 case '%':
2913 case '&':
2914 case '\'':
2915 case '(':
2916 case ')':
2917 case '*':
2918 case '+':
2919 case ',':
2920 case '-':
2921 case '.':
2922 case '/':
2923 case ':':
2924 case ';':
2925 case '<':
2926 case '=':
2927 case '>':
2928 case '?':
2929 case '@':
2930 case '[':
2931 case ']':
2932 case '^':
2933 case '`':
2934 case '{':
2935 case '|':
2936 case '}':
2937 case '~':
2938 case 0x7F: goto yy243;
2939 case '\\': goto yy138;
2940 default: goto yy61;
2941 }
2942 yy243:
2943 #line 420 "src/parser.re"
2944 { NEWTOKEN(PSI_T_SET); goto start; }
2945 #line 2946 "src/parser.c"
2946 yy244:
2947 yyaccept = 5;
2948 yych = *(mrk = ++cur);
2949 switch (yych) {
2950 case 'R':
2951 case 'r': goto yy319;
2952 default: goto yy62;
2953 }
2954 yy245:
2955 yyaccept = 5;
2956 yych = *(mrk = ++cur);
2957 switch (yych) {
2958 case 'N':
2959 case 'n': goto yy320;
2960 default: goto yy62;
2961 }
2962 yy246:
2963 yyaccept = 5;
2964 yych = *(mrk = ++cur);
2965 switch (yych) {
2966 case 'T':
2967 case 't': goto yy321;
2968 default: goto yy62;
2969 }
2970 yy247:
2971 yyaccept = 5;
2972 yych = *(mrk = ++cur);
2973 switch (yych) {
2974 case 'I':
2975 case 'i': goto yy322;
2976 case 'L':
2977 case 'l': goto yy323;
2978 case 'U':
2979 case 'u': goto yy324;
2980 case 'V':
2981 case 'v': goto yy325;
2982 default: goto yy62;
2983 }
2984 yy248:
2985 yyaccept = 5;
2986 yych = *(mrk = ++cur);
2987 switch (yych) {
2988 case 'P':
2989 case 'p': goto yy326;
2990 default: goto yy62;
2991 }
2992 yy249:
2993 yyaccept = 5;
2994 yych = *(mrk = ++cur);
2995 switch (yych) {
2996 case 'A':
2997 case 'a': goto yy328;
2998 case 'B':
2999 case 'b': goto yy329;
3000 case 'F':
3001 case 'f': goto yy330;
3002 case 'I':
3003 case 'i': goto yy331;
3004 case 'O':
3005 case 'o': goto yy332;
3006 case 'S':
3007 case 's': goto yy333;
3008 default: goto yy62;
3009 }
3010 yy250:
3011 yyaccept = 5;
3012 yych = *(mrk = ++cur);
3013 switch (yych) {
3014 case 'E':
3015 case 'e': goto yy334;
3016 default: goto yy62;
3017 }
3018 yy251:
3019 yyaccept = 5;
3020 yych = *(mrk = ++cur);
3021 switch (yych) {
3022 case 'E':
3023 case 'e': goto yy336;
3024 default: goto yy62;
3025 }
3026 yy252:
3027 yyaccept = 5;
3028 yych = *(mrk = ++cur);
3029 switch (yych) {
3030 case 'T':
3031 case 't': goto yy337;
3032 default: goto yy62;
3033 }
3034 yy253:
3035 yyaccept = 5;
3036 yych = *(mrk = ++cur);
3037 switch (yych) {
3038 case 'E':
3039 case 'e': goto yy338;
3040 default: goto yy62;
3041 }
3042 yy254:
3043 yyaccept = 5;
3044 yych = *(mrk = ++cur);
3045 switch (yych) {
3046 case 'O':
3047 case 'o': goto yy339;
3048 default: goto yy62;
3049 }
3050 yy255:
3051 yyaccept = 5;
3052 yych = *(mrk = ++cur);
3053 switch (yych) {
3054 case 'I':
3055 case 'i': goto yy340;
3056 default: goto yy62;
3057 }
3058 yy256:
3059 yyaccept = 5;
3060 yych = *(mrk = ++cur);
3061 switch (yych) {
3062 case 'D':
3063 case 'd': goto yy341;
3064 default: goto yy62;
3065 }
3066 yy257:
3067 yyaccept = 5;
3068 yych = *(mrk = ++cur);
3069 switch (yych) {
3070 case 'N':
3071 case 'n': goto yy343;
3072 default: goto yy62;
3073 }
3074 yy258:
3075 yyaccept = 5;
3076 yych = *(mrk = ++cur);
3077 switch (yych) {
3078 case 'L':
3079 case 'l': goto yy344;
3080 default: goto yy62;
3081 }
3082 yy259:
3083 yyaccept = 5;
3084 yych = *(mrk = ++cur);
3085 switch (yych) {
3086 case 's': goto yy346;
3087 case 't': goto yy347;
3088 default: goto yy62;
3089 }
3090 yy260:
3091 yyaccept = 5;
3092 yych = *(mrk = ++cur);
3093 switch (yych) {
3094 case 'x': goto yy348;
3095 default: goto yy62;
3096 }
3097 yy261:
3098 yyaccept = 5;
3099 yych = *(mrk = ++cur);
3100 switch (yych) {
3101 case 'e': goto yy349;
3102 default: goto yy62;
3103 }
3104 yy262:
3105 yyaccept = 5;
3106 yych = *(mrk = ++cur);
3107 switch (yych) {
3108 case 'e': goto yy350;
3109 default: goto yy62;
3110 }
3111 yy263:
3112 yyaccept = 5;
3113 yych = *(mrk = ++cur);
3114 switch (yych) {
3115 case 'g': goto yy352;
3116 default: goto yy62;
3117 }
3118 yy264:
3119 ++cur;
3120 cur = ctxmrk;
3121 #line 321 "src/parser.re"
3122 { char_width = 1; }
3123 #line 3124 "src/parser.c"
3124 yy266:
3125 ++cur;
3126 cur = ctxmrk;
3127 #line 316 "src/parser.re"
3128 { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT | PSI_NUMBER_DD; cur += 2; goto start; }
3129 #line 3130 "src/parser.c"
3130 yy268:
3131 ++cur;
3132 cur = ctxmrk;
3133 #line 315 "src/parser.re"
3134 { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT | PSI_NUMBER_DF; cur += 2; goto start; }
3135 #line 3136 "src/parser.c"
3136 yy270:
3137 ++cur;
3138 cur = ctxmrk;
3139 #line 317 "src/parser.re"
3140 { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_FLT | PSI_NUMBER_DL; cur += 2; goto start; }
3141 #line 3142 "src/parser.c"
3142 yy272:
3143 ++cur;
3144 cur = ctxmrk;
3145 #line 310 "src/parser.re"
3146 { NEWTOKEN(PSI_T_NUMBER); token->flags = PSI_NUMBER_INT | PSI_NUMBER_ULL; cur += 3; goto start; }
3147 #line 3148 "src/parser.c"
3148 yy274:
3149 ++cur;
3150 if ((lim - cur) < 3) if (cur >= lim) goto done;;
3151 yych = *cur;
3152 switch (yych) {
3153 case '0':
3154 case '1':
3155 case '2':
3156 case '3':
3157 case '4':
3158 case '5':
3159 case '6':
3160 case '7':
3161 case '8':
3162 case '9':
3163 case 'A':
3164 case 'B':
3165 case 'C':
3166 case 'D':
3167 case 'E':
3168 case 'F':
3169 case 'a':
3170 case 'b':
3171 case 'c':
3172 case 'd':
3173 case 'e':
3174 case 'f': goto yy274;
3175 case 'P':
3176 case 'p': goto yy119;
3177 default: goto yy106;
3178 }
3179 yy276:
3180 yyaccept = 5;
3181 yych = *(mrk = ++cur);
3182 switch (yych) {
3183 case 'Y':
3184 case 'y': goto yy353;
3185 default: goto yy62;
3186 }
3187 yy277:
3188 yyaccept = 5;
3189 yych = *(mrk = ++cur);
3190 switch (yych) {
3191 case 'A':
3192 case 'a': goto yy355;
3193 default: goto yy62;
3194 }
3195 yy278:
3196 yyaccept = 14;
3197 yych = *(mrk = ++cur);
3198 switch (yych) {
3199 case 0x00:
3200 case 0x01:
3201 case 0x02:
3202 case 0x03:
3203 case 0x04:
3204 case 0x05:
3205 case 0x06:
3206 case 0x07:
3207 case 0x08:
3208 case '\t':
3209 case '\n':
3210 case '\v':
3211 case '\f':
3212 case '\r':
3213 case 0x0E:
3214 case 0x0F:
3215 case 0x10:
3216 case 0x11:
3217 case 0x12:
3218 case 0x13:
3219 case 0x14:
3220 case 0x15:
3221 case 0x16:
3222 case 0x17:
3223 case 0x18:
3224 case 0x19:
3225 case 0x1A:
3226 case 0x1B:
3227 case 0x1C:
3228 case 0x1D:
3229 case 0x1E:
3230 case 0x1F:
3231 case ' ':
3232 case '!':
3233 case '"':
3234 case '#':
3235 case '$':
3236 case '%':
3237 case '&':
3238 case '\'':
3239 case '(':
3240 case ')':
3241 case '*':
3242 case '+':
3243 case ',':
3244 case '-':
3245 case '.':
3246 case '/':
3247 case ':':
3248 case ';':
3249 case '<':
3250 case '=':
3251 case '>':
3252 case '?':
3253 case '@':
3254 case '[':
3255 case ']':
3256 case '^':
3257 case '`':
3258 case '{':
3259 case '|':
3260 case '}':
3261 case '~':
3262 case 0x7F: goto yy279;
3263 case 'V':
3264 case 'v': goto yy356;
3265 case '\\': goto yy138;
3266 default: goto yy61;
3267 }
3268 yy279:
3269 #line 390 "src/parser.re"
3270 { NEWTOKEN(PSI_T_BOOL); goto start; }
3271 #line 3272 "src/parser.c"
3272 yy280:
3273 yyaccept = 5;
3274 yych = *(mrk = ++cur);
3275 switch (yych) {
3276 case 'A':
3277 case 'a': goto yy357;
3278 case 'B':
3279 case 'b': goto yy358;
3280 case 'O':
3281 case 'o': goto yy359;
3282 default: goto yy62;
3283 }
3284 yy281:
3285 yyaccept = 15;
3286 yych = *(mrk = ++cur);
3287 switch (yych) {
3288 case 0x00:
3289 case 0x01:
3290 case 0x02:
3291 case 0x03:
3292 case 0x04:
3293 case 0x05:
3294 case 0x06:
3295 case 0x07:
3296 case 0x08:
3297 case '\t':
3298 case '\n':
3299 case '\v':
3300 case '\f':
3301 case '\r':
3302 case 0x0E:
3303 case 0x0F:
3304 case 0x10:
3305 case 0x11:
3306 case 0x12:
3307 case 0x13:
3308 case 0x14:
3309 case 0x15:
3310 case 0x16:
3311 case 0x17:
3312 case 0x18:
3313 case 0x19:
3314 case 0x1A:
3315 case 0x1B:
3316 case 0x1C:
3317 case 0x1D:
3318 case 0x1E:
3319 case 0x1F:
3320 case ' ':
3321 case '!':
3322 case '"':
3323 case '#':
3324 case '$':
3325 case '%':
3326 case '&':
3327 case '\'':
3328 case '(':
3329 case ')':
3330 case '*':
3331 case '+':
3332 case ',':
3333 case '-':
3334 case '.':
3335 case '/':
3336 case ':':
3337 case ';':
3338 case '<':
3339 case '=':
3340 case '>':
3341 case '?':
3342 case '@':
3343 case '[':
3344 case ']':
3345 case '^':
3346 case '`':
3347 case '{':
3348 case '|':
3349 case '}':
3350 case '~':
3351 case 0x7F: goto yy282;
3352 case '\\': goto yy138;
3353 default: goto yy61;
3354 }
3355 yy282:
3356 #line 391 "src/parser.re"
3357 { NEWTOKEN(PSI_T_CHAR); goto start; }
3358 #line 3359 "src/parser.c"
3359 yy283:
3360 yyaccept = 5;
3361 yych = *(mrk = ++cur);
3362 switch (yych) {
3363 case 'T':
3364 case 't': goto yy360;
3365 default: goto yy62;
3366 }
3367 yy284:
3368 yyaccept = 5;
3369 yych = *(mrk = ++cur);
3370 switch (yych) {
3371 case 'T':
3372 case 't': goto yy362;
3373 default: goto yy62;
3374 }
3375 yy285:
3376 yyaccept = 5;
3377 yych = *(mrk = ++cur);
3378 switch (yych) {
3379 case 'N':
3380 case 'n': goto yy364;
3381 default: goto yy62;
3382 }
3383 yy286:
3384 yyaccept = 5;
3385 yych = *(mrk = ++cur);
3386 switch (yych) {
3387 case 'L':
3388 case 'l': goto yy365;
3389 default: goto yy62;
3390 }
3391 yy287:
3392 yyaccept = 16;
3393 yych = *(mrk = ++cur);
3394 switch (yych) {
3395 case 0x00:
3396 case 0x01:
3397 case 0x02:
3398 case 0x03:
3399 case 0x04:
3400 case 0x05:
3401 case 0x06:
3402 case 0x07:
3403 case 0x08:
3404 case '\t':
3405 case '\n':
3406 case '\v':
3407 case '\f':
3408 case '\r':
3409 case 0x0E:
3410 case 0x0F:
3411 case 0x10:
3412 case 0x11:
3413 case 0x12:
3414 case 0x13:
3415 case 0x14:
3416 case 0x15:
3417 case 0x16:
3418 case 0x17:
3419 case 0x18:
3420 case 0x19:
3421 case 0x1A:
3422 case 0x1B:
3423 case 0x1C:
3424 case 0x1D:
3425 case 0x1E:
3426 case 0x1F:
3427 case ' ':
3428 case '!':
3429 case '"':
3430 case '#':
3431 case '$':
3432 case '%':
3433 case '&':
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 0x7F: goto yy288;
3459 case '\\': goto yy138;
3460 default: goto yy61;
3461 }
3462 yy288:
3463 #line 375 "src/parser.re"
3464 { NEWTOKEN(PSI_T_ELIF); goto start; }
3465 #line 3466 "src/parser.c"
3466 yy289:
3467 yyaccept = 17;
3468 yych = *(mrk = ++cur);
3469 switch (yych) {
3470 case 0x00:
3471 case 0x01:
3472 case 0x02:
3473 case 0x03:
3474 case 0x04:
3475 case 0x05:
3476 case 0x06:
3477 case 0x07:
3478 case 0x08:
3479 case '\t':
3480 case '\n':
3481 case '\v':
3482 case '\f':
3483 case '\r':
3484 case 0x0E:
3485 case 0x0F:
3486 case 0x10:
3487 case 0x11:
3488 case 0x12:
3489 case 0x13:
3490 case 0x14:
3491 case 0x15:
3492 case 0x16:
3493 case 0x17:
3494 case 0x18:
3495 case 0x19:
3496 case 0x1A:
3497 case 0x1B:
3498 case 0x1C:
3499 case 0x1D:
3500 case 0x1E:
3501 case 0x1F:
3502 case ' ':
3503 case '!':
3504 case '"':
3505 case '#':
3506 case '$':
3507 case '%':
3508 case '&':
3509 case '\'':
3510 case '(':
3511 case ')':
3512 case '*':
3513 case '+':
3514 case ',':
3515 case '-':
3516 case '.':
3517 case '/':
3518 case ':':
3519 case ';':
3520 case '<':
3521 case '=':
3522 case '>':
3523 case '?':
3524 case '@':
3525 case '[':
3526 case ']':
3527 case '^':
3528 case '`':
3529 case '{':
3530 case '|':
3531 case '}':
3532 case '~':
3533 case 0x7F: goto yy290;
3534 case '\\': goto yy138;
3535 default: goto yy61;
3536 }
3537 yy290:
3538 #line 374 "src/parser.re"
3539 { NEWTOKEN(PSI_T_ELSE); goto start; }
3540 #line 3541 "src/parser.c"
3541 yy291:
3542 yyaccept = 5;
3543 yych = *(mrk = ++cur);
3544 switch (yych) {
3545 case 'F':
3546 case 'f': goto yy366;
3547 default: goto yy62;
3548 }
3549 yy292:
3550 yyaccept = 18;
3551 yych = *(mrk = ++cur);
3552 switch (yych) {
3553 case 0x00:
3554 case 0x01:
3555 case 0x02:
3556 case 0x03:
3557 case 0x04:
3558 case 0x05:
3559 case 0x06:
3560 case 0x07:
3561 case 0x08:
3562 case '\t':
3563 case '\n':
3564 case '\v':
3565 case '\f':
3566 case '\r':
3567 case 0x0E:
3568 case 0x0F:
3569 case 0x10:
3570 case 0x11:
3571 case 0x12:
3572 case 0x13:
3573 case 0x14:
3574 case 0x15:
3575 case 0x16:
3576 case 0x17:
3577 case 0x18:
3578 case 0x19:
3579 case 0x1A:
3580 case 0x1B:
3581 case 0x1C:
3582 case 0x1D:
3583 case 0x1E:
3584 case 0x1F:
3585 case ' ':
3586 case '!':
3587 case '"':
3588 case '#':
3589 case '$':
3590 case '%':
3591 case '&':
3592 case '\'':
3593 case '(':
3594 case ')':
3595 case '*':
3596 case '+':
3597 case ',':
3598 case '-':
3599 case '.':
3600 case '/':
3601 case ':':
3602 case ';':
3603 case '<':
3604 case '=':
3605 case '>':
3606 case '?':
3607 case '@':
3608 case '[':
3609 case ']':
3610 case '^':
3611 case '`':
3612 case '{':
3613 case '|':
3614 case '}':
3615 case '~':
3616 case 0x7F: goto yy293;
3617 case '\\': goto yy138;
3618 default: goto yy61;
3619 }
3620 yy293:
3621 #line 416 "src/parser.re"
3622 { NEWTOKEN(PSI_T_ENUM); goto start; }
3623 #line 3624 "src/parser.c"
3624 yy294:
3625 yyaccept = 5;
3626 yych = *(mrk = ++cur);
3627 switch (yych) {
3628 case 'R':
3629 case 'r': goto yy368;
3630 default: goto yy62;
3631 }
3632 yy295:
3633 yyaccept = 5;
3634 yych = *(mrk = ++cur);
3635 switch (yych) {
3636 case 'E':
3637 case 'e': goto yy370;
3638 default: goto yy62;
3639 }
3640 yy296:
3641 yyaccept = 5;
3642 yych = *(mrk = ++cur);
3643 switch (yych) {
3644 case 'T':
3645 case 't': goto yy372;
3646 default: goto yy62;
3647 }
3648 yy297:
3649 yyaccept = 19;
3650 yych = *(mrk = ++cur);
3651 switch (yych) {
3652 case 0x00:
3653 case 0x01:
3654 case 0x02:
3655 case 0x03:
3656 case 0x04:
3657 case 0x05:
3658 case 0x06:
3659 case 0x07:
3660 case 0x08:
3661 case '\t':
3662 case '\n':
3663 case '\v':
3664 case '\f':
3665 case '\r':
3666 case 0x0E:
3667 case 0x0F:
3668 case 0x10:
3669 case 0x11:
3670 case 0x12:
3671 case 0x13:
3672 case 0x14:
3673 case 0x15:
3674 case 0x16:
3675 case 0x17:
3676 case 0x18:
3677 case 0x19:
3678 case 0x1A:
3679 case 0x1B:
3680 case 0x1C:
3681 case 0x1D:
3682 case 0x1E:
3683 case 0x1F:
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 '[':
3708 case ']':
3709 case '^':
3710 case '`':
3711 case '{':
3712 case '|':
3713 case '}':
3714 case '~':
3715 case 0x7F: goto yy298;
3716 case '\\': goto yy138;
3717 default: goto yy61;
3718 }
3719 yy298:
3720 #line 424 "src/parser.re"
3721 { NEWTOKEN(PSI_T_FREE); goto start; }
3722 #line 3723 "src/parser.c"
3723 yy299:
3724 yyaccept = 5;
3725 yych = *(mrk = ++cur);
3726 switch (yych) {
3727 case 'T':
3728 case 't': goto yy374;
3729 default: goto yy62;
3730 }
3731 yy300:
3732 yyaccept = 5;
3733 yych = *(mrk = ++cur);
3734 switch (yych) {
3735 case 'F':
3736 case 'f': goto yy375;
3737 default: goto yy62;
3738 }
3739 yy301:
3740 yyaccept = 5;
3741 yych = *(mrk = ++cur);
3742 switch (yych) {
3743 case 'E':
3744 case 'e': goto yy377;
3745 default: goto yy62;
3746 }
3747 yy302:
3748 yyaccept = 5;
3749 yych = *(mrk = ++cur);
3750 switch (yych) {
3751 case 'U':
3752 case 'u': goto yy378;
3753 default: goto yy62;
3754 }
3755 yy303:
3756 yyaccept = 5;
3757 yych = *(mrk = ++cur);
3758 switch (yych) {
3759 case '6': goto yy379;
3760 default: goto yy62;
3761 }
3762 yy304:
3763 yyaccept = 5;
3764 yych = *(mrk = ++cur);
3765 switch (yych) {
3766 case '2': goto yy380;
3767 default: goto yy62;
3768 }
3769 yy305:
3770 yyaccept = 5;
3771 yych = *(mrk = ++cur);
3772 switch (yych) {
3773 case '4': goto yy381;
3774 default: goto yy62;
3775 }
3776 yy306:
3777 yyaccept = 5;
3778 yych = *(mrk = ++cur);
3779 switch (yych) {
3780 case '_': goto yy382;
3781 default: goto yy62;
3782 }
3783 yy307:
3784 yyaccept = 5;
3785 yych = *(mrk = ++cur);
3786 switch (yych) {
3787 case 'A':
3788 case 'a': goto yy383;
3789 default: goto yy62;
3790 }
3791 yy308:
3792 yyaccept = 20;
3793 yych = *(mrk = ++cur);
3794 switch (yych) {
3795 case 0x00:
3796 case 0x01:
3797 case 0x02:
3798 case 0x03:
3799 case 0x04:
3800 case 0x05:
3801 case 0x06:
3802 case 0x07:
3803 case 0x08:
3804 case '\t':
3805 case '\n':
3806 case '\v':
3807 case '\f':
3808 case '\r':
3809 case 0x0E:
3810 case 0x0F:
3811 case 0x10:
3812 case 0x11:
3813 case 0x12:
3814 case 0x13:
3815 case 0x14:
3816 case 0x15:
3817 case 0x16:
3818 case 0x17:
3819 case 0x18:
3820 case 0x19:
3821 case 0x1A:
3822 case 0x1B:
3823 case 0x1C:
3824 case 0x1D:
3825 case 0x1E:
3826 case 0x1F:
3827 case ' ':
3828 case '!':
3829 case '"':
3830 case '#':
3831 case '$':
3832 case '%':
3833 case '&':
3834 case '\'':
3835 case '(':
3836 case ')':
3837 case '*':
3838 case '+':
3839 case ',':
3840 case '-':
3841 case '.':
3842 case '/':
3843 case ':':
3844 case ';':
3845 case '<':
3846 case '=':
3847 case '>':
3848 case '?':
3849 case '@':
3850 case '[':
3851 case ']':
3852 case '^':
3853 case '`':
3854 case '{':
3855 case '|':
3856 case '}':
3857 case '~':
3858 case 0x7F: goto yy309;
3859 case '\\': goto yy138;
3860 default: goto yy61;
3861 }
3862 yy309:
3863 #line 394 "src/parser.re"
3864 { NEWTOKEN(PSI_T_LONG); goto start; }
3865 #line 3866 "src/parser.c"
3866 yy310:
3867 yyaccept = 5;
3868 yych = *(mrk = ++cur);
3869 switch (yych) {
3870 case 'D':
3871 case 'd': goto yy384;
3872 default: goto yy62;
3873 }
3874 yy311:
3875 yyaccept = 21;
3876 yych = *(mrk = ++cur);
3877 switch (yych) {
3878 case 0x00:
3879 case 0x01:
3880 case 0x02:
3881 case 0x03:
3882 case 0x04:
3883 case 0x05:
3884 case 0x06:
3885 case 0x07:
3886 case 0x08:
3887 case '\t':
3888 case '\n':
3889 case '\v':
3890 case '\f':
3891 case '\r':
3892 case 0x0E:
3893 case 0x0F:
3894 case 0x10:
3895 case 0x11:
3896 case 0x12:
3897 case 0x13:
3898 case 0x14:
3899 case 0x15:
3900 case 0x16:
3901 case 0x17:
3902 case 0x18:
3903 case 0x19:
3904 case 0x1A:
3905 case 0x1B:
3906 case 0x1C:
3907 case 0x1D:
3908 case 0x1E:
3909 case 0x1F:
3910 case ' ':
3911 case '!':
3912 case '"':
3913 case '#':
3914 case '$':
3915 case '%':
3916 case '&':
3917 case '\'':
3918 case '(':
3919 case ')':
3920 case '*':
3921 case '+':
3922 case ',':
3923 case '-':
3924 case '.':
3925 case '/':
3926 case ':':
3927 case ';':
3928 case '<':
3929 case '=':
3930 case '>':
3931 case '?':
3932 case '@':
3933 case '[':
3934 case ']':
3935 case '^':
3936 case '`':
3937 case '{':
3938 case '|':
3939 case '}':
3940 case '~':
3941 case 0x7F: goto yy312;
3942 case '\\': goto yy138;
3943 default: goto yy61;
3944 }
3945 yy312:
3946 #line 386 "src/parser.re"
3947 { NEWTOKEN(PSI_T_NULL); goto start; }
3948 #line 3949 "src/parser.c"
3949 yy313:
3950 yyaccept = 5;
3951 yych = *(mrk = ++cur);
3952 switch (yych) {
3953 case 'C':
3954 case 'c': goto yy386;
3955 default: goto yy62;
3956 }
3957 yy314:
3958 yyaccept = 5;
3959 yych = *(mrk = ++cur);
3960 switch (yych) {
3961 case 'A':
3962 case 'a': goto yy387;
3963 default: goto yy62;
3964 }
3965 yy315:
3966 yyaccept = 5;
3967 yych = *(mrk = ++cur);
3968 switch (yych) {
3969 case 'V':
3970 case 'v': goto yy388;
3971 default: goto yy62;
3972 }
3973 yy316:
3974 yyaccept = 5;
3975 yych = *(mrk = ++cur);
3976 switch (yych) {
3977 case '_': goto yy389;
3978 default: goto yy62;
3979 }
3980 yy317:
3981 yyaccept = 5;
3982 yych = *(mrk = ++cur);
3983 switch (yych) {
3984 case 'A':
3985 case 'a': goto yy390;
3986 default: goto yy62;
3987 }
3988 yy318:
3989 yyaccept = 5;
3990 yych = *(mrk = ++cur);
3991 switch (yych) {
3992 case 'R':
3993 case 'r': goto yy391;
3994 default: goto yy62;
3995 }
3996 yy319:
3997 yyaccept = 5;
3998 yych = *(mrk = ++cur);
3999 switch (yych) {
4000 case 'T':
4001 case 't': goto yy392;
4002 default: goto yy62;
4003 }
4004 yy320:
4005 yyaccept = 5;
4006 yych = *(mrk = ++cur);
4007 switch (yych) {
4008 case 'E':
4009 case 'e': goto yy394;
4010 default: goto yy62;
4011 }
4012 yy321:
4013 yyaccept = 5;
4014 yych = *(mrk = ++cur);
4015 switch (yych) {
4016 case 'I':
4017 case 'i': goto yy395;
4018 default: goto yy62;
4019 }
4020 yy322:
4021 yyaccept = 5;
4022 yych = *(mrk = ++cur);
4023 switch (yych) {
4024 case 'N':
4025 case 'n': goto yy396;
4026 default: goto yy62;
4027 }
4028 yy323:
4029 yyaccept = 5;
4030 yych = *(mrk = ++cur);
4031 switch (yych) {
4032 case 'E':
4033 case 'e': goto yy397;
4034 default: goto yy62;
4035 }
4036 yy324:
4037 yyaccept = 5;
4038 yych = *(mrk = ++cur);
4039 switch (yych) {
4040 case 'C':
4041 case 'c': goto yy398;
4042 default: goto yy62;
4043 }
4044 yy325:
4045 yyaccept = 5;
4046 yych = *(mrk = ++cur);
4047 switch (yych) {
4048 case 'A':
4049 case 'a': goto yy399;
4050 default: goto yy62;
4051 }
4052 yy326:
4053 yyaccept = 22;
4054 yych = *(mrk = ++cur);
4055 switch (yych) {
4056 case 0x00:
4057 case 0x01:
4058 case 0x02:
4059 case 0x03:
4060 case 0x04:
4061 case 0x05:
4062 case 0x06:
4063 case 0x07:
4064 case 0x08:
4065 case '\t':
4066 case '\n':
4067 case '\v':
4068 case '\f':
4069 case '\r':
4070 case 0x0E:
4071 case 0x0F:
4072 case 0x10:
4073 case 0x11:
4074 case 0x12:
4075 case 0x13:
4076 case 0x14:
4077 case 0x15:
4078 case 0x16:
4079 case 0x17:
4080 case 0x18:
4081 case 0x19:
4082 case 0x1A:
4083 case 0x1B:
4084 case 0x1C:
4085 case 0x1D:
4086 case 0x1E:
4087 case 0x1F:
4088 case ' ':
4089 case '!':
4090 case '"':
4091 case '#':
4092 case '$':
4093 case '%':
4094 case '&':
4095 case '\'':
4096 case '(':
4097 case ')':
4098 case '*':
4099 case '+':
4100 case ',':
4101 case '-':
4102 case '.':
4103 case '/':
4104 case ':':
4105 case ';':
4106 case '<':
4107 case '=':
4108 case '>':
4109 case '?':
4110 case '@':
4111 case '[':
4112 case ']':
4113 case '^':
4114 case '`':
4115 case '{':
4116 case '|':
4117 case '}':
4118 case '~':
4119 case 0x7F: goto yy327;
4120 case '\\': goto yy138;
4121 default: goto yy61;
4122 }
4123 yy327:
4124 #line 425 "src/parser.re"
4125 { NEWTOKEN(PSI_T_TEMP); goto start; }
4126 #line 4127 "src/parser.c"
4127 yy328:
4128 yyaccept = 5;
4129 yych = *(mrk = ++cur);
4130 switch (yych) {
4131 case 'R':
4132 case 'r': goto yy400;
4133 default: goto yy62;
4134 }
4135 yy329:
4136 yyaccept = 5;
4137 yych = *(mrk = ++cur);
4138 switch (yych) {
4139 case 'O':
4140 case 'o': goto yy401;
4141 default: goto yy62;
4142 }
4143 yy330:
4144 yyaccept = 5;
4145 yych = *(mrk = ++cur);
4146 switch (yych) {
4147 case 'L':
4148 case 'l': goto yy402;
4149 default: goto yy62;
4150 }
4151 yy331:
4152 yyaccept = 5;
4153 yych = *(mrk = ++cur);
4154 switch (yych) {
4155 case 'N':
4156 case 'n': goto yy403;
4157 default: goto yy62;
4158 }
4159 yy332:
4160 yyaccept = 5;
4161 yych = *(mrk = ++cur);
4162 switch (yych) {
4163 case 'B':
4164 case 'b': goto yy404;
4165 default: goto yy62;
4166 }
4167 yy333:
4168 yyaccept = 5;
4169 yych = *(mrk = ++cur);
4170 switch (yych) {
4171 case 'T':
4172 case 't': goto yy405;
4173 default: goto yy62;
4174 }
4175 yy334:
4176 yyaccept = 23;
4177 yych = *(mrk = ++cur);
4178 switch (yych) {
4179 case 0x00:
4180 case 0x01:
4181 case 0x02:
4182 case 0x03:
4183 case 0x04:
4184 case 0x05:
4185 case 0x06:
4186 case 0x07:
4187 case 0x08:
4188 case '\t':
4189 case '\n':
4190 case '\v':
4191 case '\f':
4192 case '\r':
4193 case 0x0E:
4194 case 0x0F:
4195 case 0x10:
4196 case 0x11:
4197 case 0x12:
4198 case 0x13:
4199 case 0x14:
4200 case 0x15:
4201 case 0x16:
4202 case 0x17:
4203 case 0x18:
4204 case 0x19:
4205 case 0x1A:
4206 case 0x1B:
4207 case 0x1C:
4208 case 0x1D:
4209 case 0x1E:
4210 case 0x1F:
4211 case ' ':
4212 case '!':
4213 case '"':
4214 case '#':
4215 case '$':
4216 case '%':
4217 case '&':
4218 case '\'':
4219 case '(':
4220 case ')':
4221 case '*':
4222 case '+':
4223 case ',':
4224 case '-':
4225 case '.':
4226 case '/':
4227 case ':':
4228 case ';':
4229 case '<':
4230 case '=':
4231 case '>':
4232 case '?':
4233 case '@':
4234 case '[':
4235 case ']':
4236 case '^':
4237 case '`':
4238 case '{':
4239 case '|':
4240 case '}':
4241 case '~':
4242 case 0x7F: goto yy335;
4243 case '\\': goto yy138;
4244 default: goto yy61;
4245 }
4246 yy335:
4247 #line 384 "src/parser.re"
4248 { NEWTOKEN(PSI_T_TRUE); goto start; }
4249 #line 4250 "src/parser.c"
4250 yy336:
4251 yyaccept = 5;
4252 yych = *(mrk = ++cur);
4253 switch (yych) {
4254 case 'D':
4255 case 'd': goto yy406;
4256 default: goto yy62;
4257 }
4258 yy337:
4259 yyaccept = 5;
4260 yych = *(mrk = ++cur);
4261 switch (yych) {
4262 case '1': goto yy407;
4263 case '3': goto yy408;
4264 case '6': goto yy409;
4265 case '8': goto yy410;
4266 default: goto yy62;
4267 }
4268 yy338:
4269 yyaccept = 5;
4270 yych = *(mrk = ++cur);
4271 switch (yych) {
4272 case 'F':
4273 case 'f': goto yy411;
4274 default: goto yy62;
4275 }
4276 yy339:
4277 yyaccept = 5;
4278 yych = *(mrk = ++cur);
4279 switch (yych) {
4280 case 'N':
4281 case 'n': goto yy413;
4282 default: goto yy62;
4283 }
4284 yy340:
4285 yyaccept = 5;
4286 yych = *(mrk = ++cur);
4287 switch (yych) {
4288 case 'G':
4289 case 'g': goto yy415;
4290 default: goto yy62;
4291 }
4292 yy341:
4293 yyaccept = 24;
4294 yych = *(mrk = ++cur);
4295 switch (yych) {
4296 case 0x00:
4297 case 0x01:
4298 case 0x02:
4299 case 0x03:
4300 case 0x04:
4301 case 0x05:
4302 case 0x06:
4303 case 0x07:
4304 case 0x08:
4305 case '\t':
4306 case '\n':
4307 case '\v':
4308 case '\f':
4309 case '\r':
4310 case 0x0E:
4311 case 0x0F:
4312 case 0x10:
4313 case 0x11:
4314 case 0x12:
4315 case 0x13:
4316 case 0x14:
4317 case 0x15:
4318 case 0x16:
4319 case 0x17:
4320 case 0x18:
4321 case 0x19:
4322 case 0x1A:
4323 case 0x1B:
4324 case 0x1C:
4325 case 0x1D:
4326 case 0x1E:
4327 case 0x1F:
4328 case ' ':
4329 case '!':
4330 case '"':
4331 case '#':
4332 case '$':
4333 case '%':
4334 case '&':
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 0x7F: goto yy342;
4360 case '\\': goto yy138;
4361 default: goto yy61;
4362 }
4363 yy342:
4364 #line 389 "src/parser.re"
4365 { NEWTOKEN(PSI_T_VOID); goto start; }
4366 #line 4367 "src/parser.c"
4367 yy343:
4368 yyaccept = 5;
4369 yych = *(mrk = ++cur);
4370 switch (yych) {
4371 case 'I':
4372 case 'i': goto yy416;
4373 default: goto yy62;
4374 }
4375 yy344:
4376 yyaccept = 25;
4377 yych = *(mrk = ++cur);
4378 switch (yych) {
4379 case 0x00:
4380 case 0x01:
4381 case 0x02:
4382 case 0x03:
4383 case 0x04:
4384 case 0x05:
4385 case 0x06:
4386 case 0x07:
4387 case 0x08:
4388 case '\t':
4389 case '\n':
4390 case '\v':
4391 case '\f':
4392 case '\r':
4393 case 0x0E:
4394 case 0x0F:
4395 case 0x10:
4396 case 0x11:
4397 case 0x12:
4398 case 0x13:
4399 case 0x14:
4400 case 0x15:
4401 case 0x16:
4402 case 0x17:
4403 case 0x18:
4404 case 0x19:
4405 case 0x1A:
4406 case 0x1B:
4407 case 0x1C:
4408 case 0x1D:
4409 case 0x1E:
4410 case 0x1F:
4411 case ' ':
4412 case '!':
4413 case '"':
4414 case '#':
4415 case '$':
4416 case '%':
4417 case '&':
4418 case '\'':
4419 case '(':
4420 case ')':
4421 case '*':
4422 case '+':
4423 case ',':
4424 case '-':
4425 case '.':
4426 case '/':
4427 case ':':
4428 case ';':
4429 case '<':
4430 case '=':
4431 case '>':
4432 case '?':
4433 case '@':
4434 case '[':
4435 case ']':
4436 case '^':
4437 case '`':
4438 case '{':
4439 case '|':
4440 case '}':
4441 case '~':
4442 case 0x7F: goto yy345;
4443 case '\\': goto yy138;
4444 default: goto yy61;
4445 }
4446 yy345:
4447 #line 434 "src/parser.re"
4448 { NEWTOKEN(PSI_T_ZVAL); goto start; }
4449 #line 4450 "src/parser.c"
4450 yy346:
4451 yyaccept = 5;
4452 yych = *(mrk = ++cur);
4453 switch (yych) {
4454 case 'm': goto yy417;
4455 default: goto yy62;
4456 }
4457 yy347:
4458 yyaccept = 5;
4459 yych = *(mrk = ++cur);
4460 switch (yych) {
4461 case 't': goto yy418;
4462 default: goto yy62;
4463 }
4464 yy348:
4465 yyaccept = 5;
4466 yych = *(mrk = ++cur);
4467 switch (yych) {
4468 case 't': goto yy419;
4469 default: goto yy62;
4470 }
4471 yy349:
4472 yyaccept = 5;
4473 yych = *(mrk = ++cur);
4474 switch (yych) {
4475 case 's': goto yy420;
4476 default: goto yy62;
4477 }
4478 yy350:
4479 yyaccept = 26;
4480 yych = *(mrk = ++cur);
4481 switch (yych) {
4482 case 0x00:
4483 case 0x01:
4484 case 0x02:
4485 case 0x03:
4486 case 0x04:
4487 case 0x05:
4488 case 0x06:
4489 case 0x07:
4490 case 0x08:
4491 case '\t':
4492 case '\n':
4493 case '\v':
4494 case '\f':
4495 case '\r':
4496 case 0x0E:
4497 case 0x0F:
4498 case 0x10:
4499 case 0x11:
4500 case 0x12:
4501 case 0x13:
4502 case 0x14:
4503 case 0x15:
4504 case 0x16:
4505 case 0x17:
4506 case 0x18:
4507 case 0x19:
4508 case 0x1A:
4509 case 0x1B:
4510 case 0x1C:
4511 case 0x1D:
4512 case 0x1E:
4513 case 0x1F:
4514 case ' ':
4515 case '!':
4516 case '"':
4517 case '#':
4518 case '$':
4519 case '%':
4520 case '&':
4521 case '\'':
4522 case '(':
4523 case ')':
4524 case '*':
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 0x7F: goto yy351;
4546 case '\\': goto yy138;
4547 default: goto yy61;
4548 }
4549 yy351:
4550 #line 370 "src/parser.re"
4551 { NEWTOKEN(PSI_T_LINE); goto start; }
4552 #line 4553 "src/parser.c"
4553 yy352:
4554 yyaccept = 5;
4555 yych = *(mrk = ++cur);
4556 switch (yych) {
4557 case 'm': goto yy421;
4558 default: goto yy62;
4559 }
4560 yy353:
4561 yyaccept = 27;
4562 yych = *(mrk = ++cur);
4563 switch (yych) {
4564 case 0x00:
4565 case 0x01:
4566 case 0x02:
4567 case 0x03:
4568 case 0x04:
4569 case 0x05:
4570 case 0x06:
4571 case 0x07:
4572 case 0x08:
4573 case '\t':
4574 case '\n':
4575 case '\v':
4576 case '\f':
4577 case '\r':
4578 case 0x0E:
4579 case 0x0F:
4580 case 0x10:
4581 case 0x11:
4582 case 0x12:
4583 case 0x13:
4584 case 0x14:
4585 case 0x15:
4586 case 0x16:
4587 case 0x17:
4588 case 0x18:
4589 case 0x19:
4590 case 0x1A:
4591 case 0x1B:
4592 case 0x1C:
4593 case 0x1D:
4594 case 0x1E:
4595 case 0x1F:
4596 case ' ':
4597 case '!':
4598 case '"':
4599 case '#':
4600 case '$':
4601 case '%':
4602 case '&':
4603 case '\'':
4604 case '(':
4605 case ')':
4606 case '*':
4607 case '+':
4608 case ',':
4609 case '-':
4610 case '.':
4611 case '/':
4612 case ':':
4613 case ';':
4614 case '<':
4615 case '=':
4616 case '>':
4617 case '?':
4618 case '@':
4619 case '[':
4620 case ']':
4621 case '^':
4622 case '`':
4623 case '{':
4624 case '|':
4625 case '}':
4626 case '~':
4627 case 0x7F: goto yy354;
4628 case '\\': goto yy138;
4629 default: goto yy61;
4630 }
4631 yy354:
4632 #line 408 "src/parser.re"
4633 { NEWTOKEN(PSI_T_ARRAY); goto start; }
4634 #line 4635 "src/parser.c"
4635 yy355:
4636 yyaccept = 5;
4637 yych = *(mrk = ++cur);
4638 switch (yych) {
4639 case 'L':
4640 case 'l': goto yy422;
4641 default: goto yy62;
4642 }
4643 yy356:
4644 yyaccept = 5;
4645 yych = *(mrk = ++cur);
4646 switch (yych) {
4647 case 'A':
4648 case 'a': goto yy424;
4649 default: goto yy62;
4650 }
4651 yy357:
4652 yyaccept = 5;
4653 yych = *(mrk = ++cur);
4654 switch (yych) {
4655 case 'B':
4656 case 'b': goto yy425;
4657 default: goto yy62;
4658 }
4659 yy358:
4660 yyaccept = 5;
4661 yych = *(mrk = ++cur);
4662 switch (yych) {
4663 case 'A':
4664 case 'a': goto yy426;
4665 default: goto yy62;
4666 }
4667 yy359:
4668 yyaccept = 5;
4669 yych = *(mrk = ++cur);
4670 switch (yych) {
4671 case 'C':
4672 case 'c': goto yy427;
4673 default: goto yy62;
4674 }
4675 yy360:
4676 yyaccept = 28;
4677 yych = *(mrk = ++cur);
4678 switch (yych) {
4679 case 0x00:
4680 case 0x01:
4681 case 0x02:
4682 case 0x03:
4683 case 0x04:
4684 case 0x05:
4685 case 0x06:
4686 case 0x07:
4687 case 0x08:
4688 case '\t':
4689 case '\n':
4690 case '\v':
4691 case '\f':
4692 case '\r':
4693 case 0x0E:
4694 case 0x0F:
4695 case 0x10:
4696 case 0x11:
4697 case 0x12:
4698 case 0x13:
4699 case 0x14:
4700 case 0x15:
4701 case 0x16:
4702 case 0x17:
4703 case 0x18:
4704 case 0x19:
4705 case 0x1A:
4706 case 0x1B:
4707 case 0x1C:
4708 case 0x1D:
4709 case 0x1E:
4710 case 0x1F:
4711 case ' ':
4712 case '!':
4713 case '"':
4714 case '#':
4715 case '$':
4716 case '%':
4717 case '&':
4718 case '\'':
4719 case '(':
4720 case ')':
4721 case '*':
4722 case '+':
4723 case ',':
4724 case '-':
4725 case '.':
4726 case '/':
4727 case ':':
4728 case ';':
4729 case '<':
4730 case '=':
4731 case '>':
4732 case '?':
4733 case '@':
4734 case '[':
4735 case ']':
4736 case '^':
4737 case '`':
4738 case '{':
4739 case '|':
4740 case '}':
4741 case '~':
4742 case 0x7F: goto yy361;
4743 case '\\': goto yy138;
4744 default: goto yy61;
4745 }
4746 yy361:
4747 #line 417 "src/parser.re"
4748 { NEWTOKEN(PSI_T_CONST); goto start; }
4749 #line 4750 "src/parser.c"
4750 yy362:
4751 yyaccept = 29;
4752 yych = *(mrk = ++cur);
4753 switch (yych) {
4754 case 0x00:
4755 case 0x01:
4756 case 0x02:
4757 case 0x03:
4758 case 0x04:
4759 case 0x05:
4760 case 0x06:
4761 case 0x07:
4762 case 0x08:
4763 case '\t':
4764 case '\n':
4765 case '\v':
4766 case '\f':
4767 case '\r':
4768 case 0x0E:
4769 case 0x0F:
4770 case 0x10:
4771 case 0x11:
4772 case 0x12:
4773 case 0x13:
4774 case 0x14:
4775 case 0x15:
4776 case 0x16:
4777 case 0x17:
4778 case 0x18:
4779 case 0x19:
4780 case 0x1A:
4781 case 0x1B:
4782 case 0x1C:
4783 case 0x1D:
4784 case 0x1E:
4785 case 0x1F:
4786 case ' ':
4787 case '!':
4788 case '"':
4789 case '#':
4790 case '$':
4791 case '%':
4792 case '&':
4793 case '\'':
4794 case '(':
4795 case ')':
4796 case '*':
4797 case '+':
4798 case ',':
4799 case '-':
4800 case '.':
4801 case '/':
4802 case ':':
4803 case ';':
4804 case '<':
4805 case '=':
4806 case '>':
4807 case '?':
4808 case '@':
4809 case '[':
4810 case ']':
4811 case '^':
4812 case '`':
4813 case '{':
4814 case '|':
4815 case '}':
4816 case '~':
4817 case 0x7F: goto yy363;
4818 case '\\': goto yy138;
4819 default: goto yy61;
4820 }
4821 yy363:
4822 #line 435 "src/parser.re"
4823 { NEWTOKEN(PSI_T_COUNT); goto start; }
4824 #line 4825 "src/parser.c"
4825 yy364:
4826 yyaccept = 5;
4827 yych = *(mrk = ++cur);
4828 switch (yych) {
4829 case 'E':
4830 case 'e': goto yy429;
4831 default: goto yy62;
4832 }
4833 yy365:
4834 yyaccept = 5;
4835 yych = *(mrk = ++cur);
4836 switch (yych) {
4837 case 'E':
4838 case 'e': goto yy431;
4839 default: goto yy62;
4840 }
4841 yy366:
4842 yyaccept = 30;
4843 yych = *(mrk = ++cur);
4844 switch (yych) {
4845 case 0x00:
4846 case 0x01:
4847 case 0x02:
4848 case 0x03:
4849 case 0x04:
4850 case 0x05:
4851 case 0x06:
4852 case 0x07:
4853 case 0x08:
4854 case '\t':
4855 case '\n':
4856 case '\v':
4857 case '\f':
4858 case '\r':
4859 case 0x0E:
4860 case 0x0F:
4861 case 0x10:
4862 case 0x11:
4863 case 0x12:
4864 case 0x13:
4865 case 0x14:
4866 case 0x15:
4867 case 0x16:
4868 case 0x17:
4869 case 0x18:
4870 case 0x19:
4871 case 0x1A:
4872 case 0x1B:
4873 case 0x1C:
4874 case 0x1D:
4875 case 0x1E:
4876 case 0x1F:
4877 case ' ':
4878 case '!':
4879 case '"':
4880 case '#':
4881 case '$':
4882 case '%':
4883 case '&':
4884 case '\'':
4885 case '(':
4886 case ')':
4887 case '*':
4888 case '+':
4889 case ',':
4890 case '-':
4891 case '.':
4892 case '/':
4893 case ':':
4894 case ';':
4895 case '<':
4896 case '=':
4897 case '>':
4898 case '?':
4899 case '@':
4900 case '[':
4901 case ']':
4902 case '^':
4903 case '`':
4904 case '{':
4905 case '|':
4906 case '}':
4907 case '~':
4908 case 0x7F: goto yy367;
4909 case '\\': goto yy138;
4910 default: goto yy61;
4911 }
4912 yy367:
4913 #line 376 "src/parser.re"
4914 { NEWTOKEN(PSI_T_ENDIF); goto start; }
4915 #line 4916 "src/parser.c"
4916 yy368:
4917 yyaccept = 31;
4918 yych = *(mrk = ++cur);
4919 switch (yych) {
4920 case 0x00:
4921 case 0x01:
4922 case 0x02:
4923 case 0x03:
4924 case 0x04:
4925 case 0x05:
4926 case 0x06:
4927 case 0x07:
4928 case 0x08:
4929 case '\t':
4930 case '\n':
4931 case '\v':
4932 case '\f':
4933 case '\r':
4934 case 0x0E:
4935 case 0x0F:
4936 case 0x10:
4937 case 0x11:
4938 case 0x12:
4939 case 0x13:
4940 case 0x14:
4941 case 0x15:
4942 case 0x16:
4943 case 0x17:
4944 case 0x18:
4945 case 0x19:
4946 case 0x1A:
4947 case 0x1B:
4948 case 0x1C:
4949 case 0x1D:
4950 case 0x1E:
4951 case 0x1F:
4952 case ' ':
4953 case '!':
4954 case '"':
4955 case '#':
4956 case '$':
4957 case '%':
4958 case '&':
4959 case '\'':
4960 case '(':
4961 case ')':
4962 case '*':
4963 case '+':
4964 case ',':
4965 case '-':
4966 case '.':
4967 case '/':
4968 case ':':
4969 case ';':
4970 case '<':
4971 case '=':
4972 case '>':
4973 case '?':
4974 case '@':
4975 case '[':
4976 case ']':
4977 case '^':
4978 case '`':
4979 case '{':
4980 case '|':
4981 case '}':
4982 case '~':
4983 case 0x7F: goto yy369;
4984 case '\\': goto yy138;
4985 default: goto yy61;
4986 }
4987 yy369:
4988 #line 381 "src/parser.re"
4989 { NEWTOKEN(PSI_T_ERROR); goto start; }
4990 #line 4991 "src/parser.c"
4991 yy370:
4992 yyaccept = 32;
4993 yych = *(mrk = ++cur);
4994 switch (yych) {
4995 case 0x00:
4996 case 0x01:
4997 case 0x02:
4998 case 0x03:
4999 case 0x04:
5000 case 0x05:
5001 case 0x06:
5002 case 0x07:
5003 case 0x08:
5004 case '\t':
5005 case '\n':
5006 case '\v':
5007 case '\f':
5008 case '\r':
5009 case 0x0E:
5010 case 0x0F:
5011 case 0x10:
5012 case 0x11:
5013 case 0x12:
5014 case 0x13:
5015 case 0x14:
5016 case 0x15:
5017 case 0x16:
5018 case 0x17:
5019 case 0x18:
5020 case 0x19:
5021 case 0x1A:
5022 case 0x1B:
5023 case 0x1C:
5024 case 0x1D:
5025 case 0x1E:
5026 case 0x1F:
5027 case ' ':
5028 case '!':
5029 case '"':
5030 case '#':
5031 case '$':
5032 case '%':
5033 case '&':
5034 case '\'':
5035 case '(':
5036 case ')':
5037 case '*':
5038 case '+':
5039 case ',':
5040 case '-':
5041 case '.':
5042 case '/':
5043 case ':':
5044 case ';':
5045 case '<':
5046 case '=':
5047 case '>':
5048 case '?':
5049 case '@':
5050 case '[':
5051 case ']':
5052 case '^':
5053 case '`':
5054 case '{':
5055 case '|':
5056 case '}':
5057 case '~':
5058 case 0x7F: goto yy371;
5059 case '\\': goto yy138;
5060 default: goto yy61;
5061 }
5062 yy371:
5063 #line 385 "src/parser.re"
5064 { NEWTOKEN(PSI_T_FALSE); goto start; }
5065 #line 5066 "src/parser.c"
5066 yy372:
5067 yyaccept = 33;
5068 yych = *(mrk = ++cur);
5069 switch (yych) {
5070 case 0x00:
5071 case 0x01:
5072 case 0x02:
5073 case 0x03:
5074 case 0x04:
5075 case 0x05:
5076 case 0x06:
5077 case 0x07:
5078 case 0x08:
5079 case '\t':
5080 case '\n':
5081 case '\v':
5082 case '\f':
5083 case '\r':
5084 case 0x0E:
5085 case 0x0F:
5086 case 0x10:
5087 case 0x11:
5088 case 0x12:
5089 case 0x13:
5090 case 0x14:
5091 case 0x15:
5092 case 0x16:
5093 case 0x17:
5094 case 0x18:
5095 case 0x19:
5096 case 0x1A:
5097 case 0x1B:
5098 case 0x1C:
5099 case 0x1D:
5100 case 0x1E:
5101 case 0x1F:
5102 case ' ':
5103 case '!':
5104 case '"':
5105 case '#':
5106 case '$':
5107 case '%':
5108 case '&':
5109 case '\'':
5110 case '(':
5111 case ')':
5112 case '*':
5113 case '+':
5114 case ',':
5115 case '-':
5116 case '.':
5117 case '/':
5118 case ':':
5119 case ';':
5120 case '<':
5121 case '=':
5122 case '>':
5123 case '?':
5124 case '@':
5125 case '[':
5126 case ']':
5127 case '^':
5128 case '`':
5129 case '{':
5130 case '|':
5131 case '}':
5132 case '~':
5133 case 0x7F: goto yy373;
5134 case 'V':
5135 case 'v': goto yy433;
5136 case '\\': goto yy138;
5137 default: goto yy61;
5138 }
5139 yy373:
5140 #line 395 "src/parser.re"
5141 { NEWTOKEN(PSI_T_FLOAT); goto start; }
5142 #line 5143 "src/parser.c"
5143 yy374:
5144 yyaccept = 5;
5145 yych = *(mrk = ++cur);
5146 switch (yych) {
5147 case 'I':
5148 case 'i': goto yy434;
5149 default: goto yy62;
5150 }
5151 yy375:
5152 yyaccept = 34;
5153 yych = *(mrk = ++cur);
5154 switch (yych) {
5155 case 0x00:
5156 case 0x01:
5157 case 0x02:
5158 case 0x03:
5159 case 0x04:
5160 case 0x05:
5161 case 0x06:
5162 case 0x07:
5163 case 0x08:
5164 case '\t':
5165 case '\n':
5166 case '\v':
5167 case '\f':
5168 case '\r':
5169 case 0x0E:
5170 case 0x0F:
5171 case 0x10:
5172 case 0x11:
5173 case 0x12:
5174 case 0x13:
5175 case 0x14:
5176 case 0x15:
5177 case 0x16:
5178 case 0x17:
5179 case 0x18:
5180 case 0x19:
5181 case 0x1A:
5182 case 0x1B:
5183 case 0x1C:
5184 case 0x1D:
5185 case 0x1E:
5186 case 0x1F:
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 '?':
5209 case '@':
5210 case '[':
5211 case ']':
5212 case '^':
5213 case '`':
5214 case '{':
5215 case '|':
5216 case '}':
5217 case '~':
5218 case 0x7F: goto yy376;
5219 case '\\': goto yy138;
5220 default: goto yy61;
5221 }
5222 yy376:
5223 #line 372 "src/parser.re"
5224 { NEWTOKEN(PSI_T_IFDEF); goto start; }
5225 #line 5226 "src/parser.c"
5226 yy377:
5227 yyaccept = 5;
5228 yych = *(mrk = ++cur);
5229 switch (yych) {
5230 case 'F':
5231 case 'f': goto yy435;
5232 default: goto yy62;
5233 }
5234 yy378:
5235 yyaccept = 5;
5236 yych = *(mrk = ++cur);
5237 switch (yych) {
5238 case 'D':
5239 case 'd': goto yy437;
5240 default: goto yy62;
5241 }
5242 yy379:
5243 yyaccept = 5;
5244 yych = *(mrk = ++cur);
5245 switch (yych) {
5246 case '_': goto yy438;
5247 default: goto yy62;
5248 }
5249 yy380:
5250 yyaccept = 5;
5251 yych = *(mrk = ++cur);
5252 switch (yych) {
5253 case '_': goto yy439;
5254 default: goto yy62;
5255 }
5256 yy381:
5257 yyaccept = 5;
5258 yych = *(mrk = ++cur);
5259 switch (yych) {
5260 case '_': goto yy440;
5261 default: goto yy62;
5262 }
5263 yy382:
5264 yyaccept = 5;
5265 yych = *(mrk = ++cur);
5266 switch (yych) {
5267 case 'T':
5268 case 't': goto yy441;
5269 default: goto yy62;
5270 }
5271 yy383:
5272 yyaccept = 5;
5273 yych = *(mrk = ++cur);
5274 switch (yych) {
5275 case 'L':
5276 case 'l': goto yy443;
5277 default: goto yy62;
5278 }
5279 yy384:
5280 yyaccept = 35;
5281 yych = *(mrk = ++cur);
5282 switch (yych) {
5283 case 0x00:
5284 case 0x01:
5285 case 0x02:
5286 case 0x03:
5287 case 0x04:
5288 case 0x05:
5289 case 0x06:
5290 case 0x07:
5291 case 0x08:
5292 case '\t':
5293 case '\n':
5294 case '\v':
5295 case '\f':
5296 case '\r':
5297 case 0x0E:
5298 case 0x0F:
5299 case 0x10:
5300 case 0x11:
5301 case 0x12:
5302 case 0x13:
5303 case 0x14:
5304 case 0x15:
5305 case 0x16:
5306 case 0x17:
5307 case 0x18:
5308 case 0x19:
5309 case 0x1A:
5310 case 0x1B:
5311 case 0x1C:
5312 case 0x1D:
5313 case 0x1E:
5314 case 0x1F:
5315 case ' ':
5316 case '!':
5317 case '"':
5318 case '#':
5319 case '$':
5320 case '%':
5321 case '&':
5322 case '\'':
5323 case '(':
5324 case ')':
5325 case '*':
5326 case '+':
5327 case ',':
5328 case '-':
5329 case '.':
5330 case '/':
5331 case ':':
5332 case ';':
5333 case '<':
5334 case '=':
5335 case '>':
5336 case '?':
5337 case '@':
5338 case '[':
5339 case ']':
5340 case '^':
5341 case '`':
5342 case '{':
5343 case '|':
5344 case '}':
5345 case '~':
5346 case 0x7F: goto yy385;
5347 case '\\': goto yy138;
5348 default: goto yy61;
5349 }
5350 yy385:
5351 #line 387 "src/parser.re"
5352 { NEWTOKEN(PSI_T_MIXED); goto start; }
5353 #line 5354 "src/parser.c"
5354 yy386:
5355 yyaccept = 5;
5356 yych = *(mrk = ++cur);
5357 switch (yych) {
5358 case 'T':
5359 case 't': goto yy445;
5360 default: goto yy62;
5361 }
5362 yy387:
5363 yyaccept = 5;
5364 yych = *(mrk = ++cur);
5365 switch (yych) {
5366 case 'L':
5367 case 'l': goto yy447;
5368 default: goto yy62;
5369 }
5370 yy388:
5371 yyaccept = 5;
5372 yych = *(mrk = ++cur);
5373 switch (yych) {
5374 case 'A':
5375 case 'a': goto yy449;
5376 default: goto yy62;
5377 }
5378 yy389:
5379 yyaccept = 5;
5380 yych = *(mrk = ++cur);
5381 switch (yych) {
5382 case 'A':
5383 case 'a': goto yy450;
5384 default: goto yy62;
5385 }
5386 yy390:
5387 yyaccept = 5;
5388 yych = *(mrk = ++cur);
5389 switch (yych) {
5390 case 'S':
5391 case 's': goto yy451;
5392 default: goto yy62;
5393 }
5394 yy391:
5395 yyaccept = 5;
5396 yych = *(mrk = ++cur);
5397 switch (yych) {
5398 case 'N':
5399 case 'n': goto yy452;
5400 default: goto yy62;
5401 }
5402 yy392:
5403 yyaccept = 36;
5404 yych = *(mrk = ++cur);
5405 switch (yych) {
5406 case 0x00:
5407 case 0x01:
5408 case 0x02:
5409 case 0x03:
5410 case 0x04:
5411 case 0x05:
5412 case 0x06:
5413 case 0x07:
5414 case 0x08:
5415 case '\t':
5416 case '\n':
5417 case '\v':
5418 case '\f':
5419 case '\r':
5420 case 0x0E:
5421 case 0x0F:
5422 case 0x10:
5423 case 0x11:
5424 case 0x12:
5425 case 0x13:
5426 case 0x14:
5427 case 0x15:
5428 case 0x16:
5429 case 0x17:
5430 case 0x18:
5431 case 0x19:
5432 case 0x1A:
5433 case 0x1B:
5434 case 0x1C:
5435 case 0x1D:
5436 case 0x1E:
5437 case 0x1F:
5438 case ' ':
5439 case '!':
5440 case '"':
5441 case '#':
5442 case '$':
5443 case '%':
5444 case '&':
5445 case '\'':
5446 case '(':
5447 case ')':
5448 case '*':
5449 case '+':
5450 case ',':
5451 case '-':
5452 case '.':
5453 case '/':
5454 case ':':
5455 case ';':
5456 case '<':
5457 case '=':
5458 case '>':
5459 case '?':
5460 case '@':
5461 case '[':
5462 case ']':
5463 case '^':
5464 case '`':
5465 case '{':
5466 case '|':
5467 case '}':
5468 case '~':
5469 case 0x7F: goto yy393;
5470 case '\\': goto yy138;
5471 default: goto yy61;
5472 }
5473 yy393:
5474 #line 392 "src/parser.re"
5475 { NEWTOKEN(PSI_T_SHORT); goto start; }
5476 #line 5477 "src/parser.c"
5477 yy394:
5478 yyaccept = 5;
5479 yych = *(mrk = ++cur);
5480 switch (yych) {
5481 case 'D':
5482 case 'd': goto yy454;
5483 default: goto yy62;
5484 }
5485 yy395:
5486 yyaccept = 5;
5487 yych = *(mrk = ++cur);
5488 switch (yych) {
5489 case 'C':
5490 case 'c': goto yy456;
5491 default: goto yy62;
5492 }
5493 yy396:
5494 yyaccept = 5;
5495 yych = *(mrk = ++cur);
5496 switch (yych) {
5497 case 'G':
5498 case 'g': goto yy458;
5499 default: goto yy62;
5500 }
5501 yy397:
5502 yyaccept = 5;
5503 yych = *(mrk = ++cur);
5504 switch (yych) {
5505 case 'N':
5506 case 'n': goto yy460;
5507 default: goto yy62;
5508 }
5509 yy398:
5510 yyaccept = 5;
5511 yych = *(mrk = ++cur);
5512 switch (yych) {
5513 case 'T':
5514 case 't': goto yy462;
5515 default: goto yy62;
5516 }
5517 yy399:
5518 yyaccept = 5;
5519 yych = *(mrk = ++cur);
5520 switch (yych) {
5521 case 'L':
5522 case 'l': goto yy464;
5523 default: goto yy62;
5524 }
5525 yy400:
5526 yyaccept = 5;
5527 yych = *(mrk = ++cur);
5528 switch (yych) {
5529 case 'R':
5530 case 'r': goto yy466;
5531 default: goto yy62;
5532 }
5533 yy401:
5534 yyaccept = 5;
5535 yych = *(mrk = ++cur);
5536 switch (yych) {
5537 case 'O':
5538 case 'o': goto yy467;
5539 default: goto yy62;
5540 }
5541 yy402:
5542 yyaccept = 5;
5543 yych = *(mrk = ++cur);
5544 switch (yych) {
5545 case 'O':
5546 case 'o': goto yy468;
5547 default: goto yy62;
5548 }
5549 yy403:
5550 yyaccept = 5;
5551 yych = *(mrk = ++cur);
5552 switch (yych) {
5553 case 'T':
5554 case 't': goto yy469;
5555 default: goto yy62;
5556 }
5557 yy404:
5558 yyaccept = 5;
5559 yych = *(mrk = ++cur);
5560 switch (yych) {
5561 case 'J':
5562 case 'j': goto yy471;
5563 default: goto yy62;
5564 }
5565 yy405:
5566 yyaccept = 5;
5567 yych = *(mrk = ++cur);
5568 switch (yych) {
5569 case 'R':
5570 case 'r': goto yy472;
5571 default: goto yy62;
5572 }
5573 yy406:
5574 yyaccept = 5;
5575 yych = *(mrk = ++cur);
5576 switch (yych) {
5577 case 'E':
5578 case 'e': goto yy473;
5579 default: goto yy62;
5580 }
5581 yy407:
5582 yyaccept = 5;
5583 yych = *(mrk = ++cur);
5584 switch (yych) {
5585 case '6': goto yy474;
5586 default: goto yy62;
5587 }
5588 yy408:
5589 yyaccept = 5;
5590 yych = *(mrk = ++cur);
5591 switch (yych) {
5592 case '2': goto yy475;
5593 default: goto yy62;
5594 }
5595 yy409:
5596 yyaccept = 5;
5597 yych = *(mrk = ++cur);
5598 switch (yych) {
5599 case '4': goto yy476;
5600 default: goto yy62;
5601 }
5602 yy410:
5603 yyaccept = 5;
5604 yych = *(mrk = ++cur);
5605 switch (yych) {
5606 case '_': goto yy477;
5607 default: goto yy62;
5608 }
5609 yy411:
5610 yyaccept = 37;
5611 yych = *(mrk = ++cur);
5612 switch (yych) {
5613 case 0x00:
5614 case 0x01:
5615 case 0x02:
5616 case 0x03:
5617 case 0x04:
5618 case 0x05:
5619 case 0x06:
5620 case 0x07:
5621 case 0x08:
5622 case '\t':
5623 case '\n':
5624 case '\v':
5625 case '\f':
5626 case '\r':
5627 case 0x0E:
5628 case 0x0F:
5629 case 0x10:
5630 case 0x11:
5631 case 0x12:
5632 case 0x13:
5633 case 0x14:
5634 case 0x15:
5635 case 0x16:
5636 case 0x17:
5637 case 0x18:
5638 case 0x19:
5639 case 0x1A:
5640 case 0x1B:
5641 case 0x1C:
5642 case 0x1D:
5643 case 0x1E:
5644 case 0x1F:
5645 case ' ':
5646 case '!':
5647 case '"':
5648 case '#':
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 0x7F: goto yy412;
5677 case '\\': goto yy138;
5678 default: goto yy61;
5679 }
5680 yy412:
5681 #line 379 "src/parser.re"
5682 { NEWTOKEN(PSI_T_UNDEF); goto start; }
5683 #line 5684 "src/parser.c"
5684 yy413:
5685 yyaccept = 38;
5686 yych = *(mrk = ++cur);
5687 switch (yych) {
5688 case 0x00:
5689 case 0x01:
5690 case 0x02:
5691 case 0x03:
5692 case 0x04:
5693 case 0x05:
5694 case 0x06:
5695 case 0x07:
5696 case 0x08:
5697 case '\t':
5698 case '\n':
5699 case '\v':
5700 case '\f':
5701 case '\r':
5702 case 0x0E:
5703 case 0x0F:
5704 case 0x10:
5705 case 0x11:
5706 case 0x12:
5707 case 0x13:
5708 case 0x14:
5709 case 0x15:
5710 case 0x16:
5711 case 0x17:
5712 case 0x18:
5713 case 0x19:
5714 case 0x1A:
5715 case 0x1B:
5716 case 0x1C:
5717 case 0x1D:
5718 case 0x1E:
5719 case 0x1F:
5720 case ' ':
5721 case '!':
5722 case '"':
5723 case '#':
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 0x7F: goto yy414;
5752 case '\\': goto yy138;
5753 default: goto yy61;
5754 }
5755 yy414:
5756 #line 415 "src/parser.re"
5757 { NEWTOKEN(PSI_T_UNION); goto start; }
5758 #line 5759 "src/parser.c"
5759 yy415:
5760 yyaccept = 5;
5761 yych = *(mrk = ++cur);
5762 switch (yych) {
5763 case 'N':
5764 case 'n': goto yy478;
5765 default: goto yy62;
5766 }
5767 yy416:
5768 yyaccept = 5;
5769 yych = *(mrk = ++cur);
5770 switch (yych) {
5771 case 'N':
5772 case 'n': goto yy479;
5773 default: goto yy62;
5774 }
5775 yy417:
5776 yyaccept = 5;
5777 yych = *(mrk = ++cur);
5778 switch (yych) {
5779 case '_': goto yy480;
5780 default: goto yy62;
5781 }
5782 yy418:
5783 yyaccept = 5;
5784 yych = *(mrk = ++cur);
5785 switch (yych) {
5786 case 'r': goto yy481;
5787 default: goto yy62;
5788 }
5789 yy419:
5790 yyaccept = 5;
5791 yych = *(mrk = ++cur);
5792 switch (yych) {
5793 case 'e': goto yy482;
5794 default: goto yy62;
5795 }
5796 yy420:
5797 yyaccept = 5;
5798 yych = *(mrk = ++cur);
5799 switch (yych) {
5800 case 't': goto yy483;
5801 default: goto yy62;
5802 }
5803 yy421:
5804 yyaccept = 5;
5805 yych = *(mrk = ++cur);
5806 switch (yych) {
5807 case 'a': goto yy484;
5808 default: goto yy62;
5809 }
5810 yy422:
5811 yyaccept = 39;
5812 yych = *(mrk = ++cur);
5813 switch (yych) {
5814 case 0x00:
5815 case 0x01:
5816 case 0x02:
5817 case 0x03:
5818 case 0x04:
5819 case 0x05:
5820 case 0x06:
5821 case 0x07:
5822 case 0x08:
5823 case '\t':
5824 case '\n':
5825 case '\v':
5826 case '\f':
5827 case '\r':
5828 case 0x0E:
5829 case 0x0F:
5830 case 0x10:
5831 case 0x11:
5832 case 0x12:
5833 case 0x13:
5834 case 0x14:
5835 case 0x15:
5836 case 0x16:
5837 case 0x17:
5838 case 0x18:
5839 case 0x19:
5840 case 0x1A:
5841 case 0x1B:
5842 case 0x1C:
5843 case 0x1D:
5844 case 0x1E:
5845 case 0x1F:
5846 case ' ':
5847 case '!':
5848 case '"':
5849 case '#':
5850 case '$':
5851 case '%':
5852 case '&':
5853 case '\'':
5854 case '(':
5855 case ')':
5856 case '*':
5857 case '+':
5858 case ',':
5859 case '-':
5860 case '.':
5861 case '/':
5862 case ':':
5863 case ';':
5864 case '<':
5865 case '=':
5866 case '>':
5867 case '?':
5868 case '@':
5869 case '[':
5870 case ']':
5871 case '^':
5872 case '`':
5873 case '{':
5874 case '|':
5875 case '}':
5876 case '~':
5877 case 0x7F: goto yy423;
5878 case '\\': goto yy138;
5879 default: goto yy61;
5880 }
5881 yy423:
5882 #line 432 "src/parser.re"
5883 { NEWTOKEN(PSI_T_ARRVAL); goto start; }
5884 #line 5885 "src/parser.c"
5885 yy424:
5886 yyaccept = 5;
5887 yych = *(mrk = ++cur);
5888 switch (yych) {
5889 case 'L':
5890 case 'l': goto yy486;
5891 default: goto yy62;
5892 }
5893 yy425:
5894 yyaccept = 5;
5895 yych = *(mrk = ++cur);
5896 switch (yych) {
5897 case 'L':
5898 case 'l': goto yy488;
5899 default: goto yy62;
5900 }
5901 yy426:
5902 yyaccept = 5;
5903 yych = *(mrk = ++cur);
5904 switch (yych) {
5905 case 'C':
5906 case 'c': goto yy489;
5907 default: goto yy62;
5908 }
5909 yy427:
5910 yyaccept = 40;
5911 yych = *(mrk = ++cur);
5912 switch (yych) {
5913 case 0x00:
5914 case 0x01:
5915 case 0x02:
5916 case 0x03:
5917 case 0x04:
5918 case 0x05:
5919 case 0x06:
5920 case 0x07:
5921 case 0x08:
5922 case '\t':
5923 case '\n':
5924 case '\v':
5925 case '\f':
5926 case '\r':
5927 case 0x0E:
5928 case 0x0F:
5929 case 0x10:
5930 case 0x11:
5931 case 0x12:
5932 case 0x13:
5933 case 0x14:
5934 case 0x15:
5935 case 0x16:
5936 case 0x17:
5937 case 0x18:
5938 case 0x19:
5939 case 0x1A:
5940 case 0x1B:
5941 case 0x1C:
5942 case 0x1D:
5943 case 0x1E:
5944 case 0x1F:
5945 case ' ':
5946 case '!':
5947 case '"':
5948 case '#':
5949 case '$':
5950 case '%':
5951 case '&':
5952 case '\'':
5953 case '(':
5954 case ')':
5955 case '*':
5956 case '+':
5957 case ',':
5958 case '-':
5959 case '.':
5960 case '/':
5961 case ':':
5962 case ';':
5963 case '<':
5964 case '=':
5965 case '>':
5966 case '?':
5967 case '@':
5968 case '[':
5969 case ']':
5970 case '^':
5971 case '`':
5972 case '{':
5973 case '|':
5974 case '}':
5975 case '~':
5976 case 0x7F: goto yy428;
5977 case '\\': goto yy138;
5978 default: goto yy61;
5979 }
5980 yy428:
5981 #line 436 "src/parser.re"
5982 { NEWTOKEN(PSI_T_CALLOC); goto start; }
5983 #line 5984 "src/parser.c"
5984 yy429:
5985 yyaccept = 41;
5986 yych = *(mrk = ++cur);
5987 switch (yych) {
5988 case 0x00:
5989 case 0x01:
5990 case 0x02:
5991 case 0x03:
5992 case 0x04:
5993 case 0x05:
5994 case 0x06:
5995 case 0x07:
5996 case 0x08:
5997 case '\t':
5998 case '\n':
5999 case '\v':
6000 case '\f':
6001 case '\r':
6002 case 0x0E:
6003 case 0x0F:
6004 case 0x10:
6005 case 0x11:
6006 case 0x12:
6007 case 0x13:
6008 case 0x14:
6009 case 0x15:
6010 case 0x16:
6011 case 0x17:
6012 case 0x18:
6013 case 0x19:
6014 case 0x1A:
6015 case 0x1B:
6016 case 0x1C:
6017 case 0x1D:
6018 case 0x1E:
6019 case 0x1F:
6020 case ' ':
6021 case '!':
6022 case '"':
6023 case '#':
6024 case '$':
6025 case '%':
6026 case '&':
6027 case '\'':
6028 case '(':
6029 case ')':
6030 case '*':
6031 case '+':
6032 case ',':
6033 case '-':
6034 case '.':
6035 case '/':
6036 case ':':
6037 case ';':
6038 case '<':
6039 case '=':
6040 case '>':
6041 case '?':
6042 case '@':
6043 case '[':
6044 case ']':
6045 case '^':
6046 case '`':
6047 case '{':
6048 case '|':
6049 case '}':
6050 case '~':
6051 case 0x7F: goto yy430;
6052 case 'D':
6053 case 'd': goto yy490;
6054 case '\\': goto yy138;
6055 default: goto yy61;
6056 }
6057 yy430:
6058 #line 377 "src/parser.re"
6059 { NEWTOKEN(PSI_T_DEFINE); goto start; }
6060 #line 6061 "src/parser.c"
6061 yy431:
6062 yyaccept = 42;
6063 yych = *(mrk = ++cur);
6064 switch (yych) {
6065 case 0x00:
6066 case 0x01:
6067 case 0x02:
6068 case 0x03:
6069 case 0x04:
6070 case 0x05:
6071 case 0x06:
6072 case 0x07:
6073 case 0x08:
6074 case '\t':
6075 case '\n':
6076 case '\v':
6077 case '\f':
6078 case '\r':
6079 case 0x0E:
6080 case 0x0F:
6081 case 0x10:
6082 case 0x11:
6083 case 0x12:
6084 case 0x13:
6085 case 0x14:
6086 case 0x15:
6087 case 0x16:
6088 case 0x17:
6089 case 0x18:
6090 case 0x19:
6091 case 0x1A:
6092 case 0x1B:
6093 case 0x1C:
6094 case 0x1D:
6095 case 0x1E:
6096 case 0x1F:
6097 case ' ':
6098 case '!':
6099 case '"':
6100 case '#':
6101 case '$':
6102 case '%':
6103 case '&':
6104 case '\'':
6105 case '(':
6106 case ')':
6107 case '*':
6108 case '+':
6109 case ',':
6110 case '-':
6111 case '.':
6112 case '/':
6113 case ':':
6114 case ';':
6115 case '<':
6116 case '=':
6117 case '>':
6118 case '?':
6119 case '@':
6120 case '[':
6121 case ']':
6122 case '^':
6123 case '`':
6124 case '{':
6125 case '|':
6126 case '}':
6127 case '~':
6128 case 0x7F: goto yy432;
6129 case '\\': goto yy138;
6130 default: goto yy61;
6131 }
6132 yy432:
6133 #line 396 "src/parser.re"
6134 { NEWTOKEN(PSI_T_DOUBLE); goto start; }
6135 #line 6136 "src/parser.c"
6136 yy433:
6137 yyaccept = 5;
6138 yych = *(mrk = ++cur);
6139 switch (yych) {
6140 case 'A':
6141 case 'a': goto yy492;
6142 default: goto yy62;
6143 }
6144 yy434:
6145 yyaccept = 5;
6146 yych = *(mrk = ++cur);
6147 switch (yych) {
6148 case 'O':
6149 case 'o': goto yy493;
6150 default: goto yy62;
6151 }
6152 yy435:
6153 yyaccept = 43;
6154 yych = *(mrk = ++cur);
6155 switch (yych) {
6156 case 0x00:
6157 case 0x01:
6158 case 0x02:
6159 case 0x03:
6160 case 0x04:
6161 case 0x05:
6162 case 0x06:
6163 case 0x07:
6164 case 0x08:
6165 case '\t':
6166 case '\n':
6167 case '\v':
6168 case '\f':
6169 case '\r':
6170 case 0x0E:
6171 case 0x0F:
6172 case 0x10:
6173 case 0x11:
6174 case 0x12:
6175 case 0x13:
6176 case 0x14:
6177 case 0x15:
6178 case 0x16:
6179 case 0x17:
6180 case 0x18:
6181 case 0x19:
6182 case 0x1A:
6183 case 0x1B:
6184 case 0x1C:
6185 case 0x1D:
6186 case 0x1E:
6187 case 0x1F:
6188 case ' ':
6189 case '!':
6190 case '"':
6191 case '#':
6192 case '$':
6193 case '%':
6194 case '&':
6195 case '\'':
6196 case '(':
6197 case ')':
6198 case '*':
6199 case '+':
6200 case ',':
6201 case '-':
6202 case '.':
6203 case '/':
6204 case ':':
6205 case ';':
6206 case '<':
6207 case '=':
6208 case '>':
6209 case '?':
6210 case '@':
6211 case '[':
6212 case ']':
6213 case '^':
6214 case '`':
6215 case '{':
6216 case '|':
6217 case '}':
6218 case '~':
6219 case 0x7F: goto yy436;
6220 case '\\': goto yy138;
6221 default: goto yy61;
6222 }
6223 yy436:
6224 #line 373 "src/parser.re"
6225 { NEWTOKEN(PSI_T_IFNDEF); goto start; }
6226 #line 6227 "src/parser.c"
6227 yy437:
6228 yyaccept = 5;
6229 yych = *(mrk = ++cur);
6230 switch (yych) {
6231 case 'E':
6232 case 'e': goto yy494;
6233 default: goto yy62;
6234 }
6235 yy438:
6236 yyaccept = 5;
6237 yych = *(mrk = ++cur);
6238 switch (yych) {
6239 case 'T':
6240 case 't': goto yy496;
6241 default: goto yy62;
6242 }
6243 yy439:
6244 yyaccept = 5;
6245 yych = *(mrk = ++cur);
6246 switch (yych) {
6247 case 'T':
6248 case 't': goto yy498;
6249 default: goto yy62;
6250 }
6251 yy440:
6252 yyaccept = 5;
6253 yych = *(mrk = ++cur);
6254 switch (yych) {
6255 case 'T':
6256 case 't': goto yy500;
6257 default: goto yy62;
6258 }
6259 yy441:
6260 yyaccept = 44;
6261 yych = *(mrk = ++cur);
6262 switch (yych) {
6263 case 0x00:
6264 case 0x01:
6265 case 0x02:
6266 case 0x03:
6267 case 0x04:
6268 case 0x05:
6269 case 0x06:
6270 case 0x07:
6271 case 0x08:
6272 case '\t':
6273 case '\n':
6274 case '\v':
6275 case '\f':
6276 case '\r':
6277 case 0x0E:
6278 case 0x0F:
6279 case 0x10:
6280 case 0x11:
6281 case 0x12:
6282 case 0x13:
6283 case 0x14:
6284 case 0x15:
6285 case 0x16:
6286 case 0x17:
6287 case 0x18:
6288 case 0x19:
6289 case 0x1A:
6290 case 0x1B:
6291 case 0x1C:
6292 case 0x1D:
6293 case 0x1E:
6294 case 0x1F:
6295 case ' ':
6296 case '!':
6297 case '"':
6298 case '#':
6299 case '$':
6300 case '%':
6301 case '&':
6302 case '\'':
6303 case '(':
6304 case ')':
6305 case '*':
6306 case '+':
6307 case ',':
6308 case '-':
6309 case '.':
6310 case '/':
6311 case ':':
6312 case ';':
6313 case '<':
6314 case '=':
6315 case '>':
6316 case '?':
6317 case '@':
6318 case '[':
6319 case ']':
6320 case '^':
6321 case '`':
6322 case '{':
6323 case '|':
6324 case '}':
6325 case '~':
6326 case 0x7F: goto yy442;
6327 case '\\': goto yy138;
6328 default: goto yy61;
6329 }
6330 yy442:
6331 #line 397 "src/parser.re"
6332 { NEWTOKEN(PSI_T_INT8); goto start; }
6333 #line 6334 "src/parser.c"
6334 yy443:
6335 yyaccept = 45;
6336 yych = *(mrk = ++cur);
6337 switch (yych) {
6338 case 0x00:
6339 case 0x01:
6340 case 0x02:
6341 case 0x03:
6342 case 0x04:
6343 case 0x05:
6344 case 0x06:
6345 case 0x07:
6346 case 0x08:
6347 case '\t':
6348 case '\n':
6349 case '\v':
6350 case '\f':
6351 case '\r':
6352 case 0x0E:
6353 case 0x0F:
6354 case 0x10:
6355 case 0x11:
6356 case 0x12:
6357 case 0x13:
6358 case 0x14:
6359 case 0x15:
6360 case 0x16:
6361 case 0x17:
6362 case 0x18:
6363 case 0x19:
6364 case 0x1A:
6365 case 0x1B:
6366 case 0x1C:
6367 case 0x1D:
6368 case 0x1E:
6369 case 0x1F:
6370 case ' ':
6371 case '!':
6372 case '"':
6373 case '#':
6374 case '$':
6375 case '%':
6376 case '&':
6377 case '\'':
6378 case '(':
6379 case ')':
6380 case '*':
6381 case '+':
6382 case ',':
6383 case '-':
6384 case '.':
6385 case '/':
6386 case ':':
6387 case ';':
6388 case '<':
6389 case '=':
6390 case '>':
6391 case '?':
6392 case '@':
6393 case '[':
6394 case ']':
6395 case '^':
6396 case '`':
6397 case '{':
6398 case '|':
6399 case '}':
6400 case '~':
6401 case 0x7F: goto yy444;
6402 case '\\': goto yy138;
6403 default: goto yy61;
6404 }
6405 yy444:
6406 #line 429 "src/parser.re"
6407 { NEWTOKEN(PSI_T_INTVAL); goto start; }
6408 #line 6409 "src/parser.c"
6409 yy445:
6410 yyaccept = 46;
6411 yych = *(mrk = ++cur);
6412 switch (yych) {
6413 case 0x00:
6414 case 0x01:
6415 case 0x02:
6416 case 0x03:
6417 case 0x04:
6418 case 0x05:
6419 case 0x06:
6420 case 0x07:
6421 case 0x08:
6422 case '\t':
6423 case '\n':
6424 case '\v':
6425 case '\f':
6426 case '\r':
6427 case 0x0E:
6428 case 0x0F:
6429 case 0x10:
6430 case 0x11:
6431 case 0x12:
6432 case 0x13:
6433 case 0x14:
6434 case 0x15:
6435 case 0x16:
6436 case 0x17:
6437 case 0x18:
6438 case 0x19:
6439 case 0x1A:
6440 case 0x1B:
6441 case 0x1C:
6442 case 0x1D:
6443 case 0x1E:
6444 case 0x1F:
6445 case ' ':
6446 case '!':
6447 case '"':
6448 case '#':
6449 case '$':
6450 case '%':
6451 case '&':
6452 case '\'':
6453 case '(':
6454 case ')':
6455 case '*':
6456 case '+':
6457 case ',':
6458 case '-':
6459 case '.':
6460 case '/':
6461 case ':':
6462 case ';':
6463 case '<':
6464 case '=':
6465 case '>':
6466 case '?':
6467 case '@':
6468 case '[':
6469 case ']':
6470 case '^':
6471 case '`':
6472 case '{':
6473 case '|':
6474 case '}':
6475 case '~':
6476 case 0x7F: goto yy446;
6477 case '\\': goto yy138;
6478 default: goto yy61;
6479 }
6480 yy446:
6481 #line 409 "src/parser.re"
6482 { NEWTOKEN(PSI_T_OBJECT); goto start; }
6483 #line 6484 "src/parser.c"
6484 yy447:
6485 yyaccept = 47;
6486 yych = *(mrk = ++cur);
6487 switch (yych) {
6488 case 0x00:
6489 case 0x01:
6490 case 0x02:
6491 case 0x03:
6492 case 0x04:
6493 case 0x05:
6494 case 0x06:
6495 case 0x07:
6496 case 0x08:
6497 case '\t':
6498 case '\n':
6499 case '\v':
6500 case '\f':
6501 case '\r':
6502 case 0x0E:
6503 case 0x0F:
6504 case 0x10:
6505 case 0x11:
6506 case 0x12:
6507 case 0x13:
6508 case 0x14:
6509 case 0x15:
6510 case 0x16:
6511 case 0x17:
6512 case 0x18:
6513 case 0x19:
6514 case 0x1A:
6515 case 0x1B:
6516 case 0x1C:
6517 case 0x1D:
6518 case 0x1E:
6519 case 0x1F:
6520 case ' ':
6521 case '!':
6522 case '"':
6523 case '#':
6524 case '$':
6525 case '%':
6526 case '&':
6527 case '\'':
6528 case '(':
6529 case ')':
6530 case '*':
6531 case '+':
6532 case ',':
6533 case '-':
6534 case '.':
6535 case '/':
6536 case ':':
6537 case ';':
6538 case '<':
6539 case '=':
6540 case '>':
6541 case '?':
6542 case '@':
6543 case '[':
6544 case ']':
6545 case '^':
6546 case '`':
6547 case '{':
6548 case '|':
6549 case '}':
6550 case '~':
6551 case 0x7F: goto yy448;
6552 case '\\': goto yy138;
6553 default: goto yy61;
6554 }
6555 yy448:
6556 #line 433 "src/parser.re"
6557 { NEWTOKEN(PSI_T_OBJVAL); goto start; }
6558 #line 6559 "src/parser.c"
6559 yy449:
6560 yyaccept = 5;
6561 yych = *(mrk = ++cur);
6562 switch (yych) {
6563 case 'L':
6564 case 'l': goto yy502;
6565 default: goto yy62;
6566 }
6567 yy450:
6568 yyaccept = 5;
6569 yych = *(mrk = ++cur);
6570 switch (yych) {
6571 case 'S':
6572 case 's': goto yy504;
6573 default: goto yy62;
6574 }
6575 yy451:
6576 yyaccept = 5;
6577 yych = *(mrk = ++cur);
6578 switch (yych) {
6579 case 'S':
6580 case 's': goto yy505;
6581 default: goto yy62;
6582 }
6583 yy452:
6584 yyaccept = 48;
6585 yych = *(mrk = ++cur);
6586 switch (yych) {
6587 case 0x00:
6588 case 0x01:
6589 case 0x02:
6590 case 0x03:
6591 case 0x04:
6592 case 0x05:
6593 case 0x06:
6594 case 0x07:
6595 case 0x08:
6596 case '\t':
6597 case '\n':
6598 case '\v':
6599 case '\f':
6600 case '\r':
6601 case 0x0E:
6602 case 0x0F:
6603 case 0x10:
6604 case 0x11:
6605 case 0x12:
6606 case 0x13:
6607 case 0x14:
6608 case 0x15:
6609 case 0x16:
6610 case 0x17:
6611 case 0x18:
6612 case 0x19:
6613 case 0x1A:
6614 case 0x1B:
6615 case 0x1C:
6616 case 0x1D:
6617 case 0x1E:
6618 case 0x1F:
6619 case ' ':
6620 case '!':
6621 case '"':
6622 case '#':
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 0x7F: goto yy453;
6651 case '\\': goto yy138;
6652 default: goto yy61;
6653 }
6654 yy453:
6655 #line 423 "src/parser.re"
6656 { NEWTOKEN(PSI_T_RETURN); goto start; }
6657 #line 6658 "src/parser.c"
6658 yy454:
6659 yyaccept = 49;
6660 yych = *(mrk = ++cur);
6661 switch (yych) {
6662 case 0x00:
6663 case 0x01:
6664 case 0x02:
6665 case 0x03:
6666 case 0x04:
6667 case 0x05:
6668 case 0x06:
6669 case 0x07:
6670 case 0x08:
6671 case '\t':
6672 case '\n':
6673 case '\v':
6674 case '\f':
6675 case '\r':
6676 case 0x0E:
6677 case 0x0F:
6678 case 0x10:
6679 case 0x11:
6680 case 0x12:
6681 case 0x13:
6682 case 0x14:
6683 case 0x15:
6684 case 0x16:
6685 case 0x17:
6686 case 0x18:
6687 case 0x19:
6688 case 0x1A:
6689 case 0x1B:
6690 case 0x1C:
6691 case 0x1D:
6692 case 0x1E:
6693 case 0x1F:
6694 case ' ':
6695 case '!':
6696 case '"':
6697 case '#':
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 0x7F: goto yy455;
6726 case '\\': goto yy138;
6727 default: goto yy61;
6728 }
6729 yy455:
6730 #line 406 "src/parser.re"
6731 { NEWTOKEN(PSI_T_SIGNED); goto start; }
6732 #line 6733 "src/parser.c"
6733 yy456:
6734 yyaccept = 50;
6735 yych = *(mrk = ++cur);
6736 switch (yych) {
6737 case 0x00:
6738 case 0x01:
6739 case 0x02:
6740 case 0x03:
6741 case 0x04:
6742 case 0x05:
6743 case 0x06:
6744 case 0x07:
6745 case 0x08:
6746 case '\t':
6747 case '\n':
6748 case '\v':
6749 case '\f':
6750 case '\r':
6751 case 0x0E:
6752 case 0x0F:
6753 case 0x10:
6754 case 0x11:
6755 case 0x12:
6756 case 0x13:
6757 case 0x14:
6758 case 0x15:
6759 case 0x16:
6760 case 0x17:
6761 case 0x18:
6762 case 0x19:
6763 case 0x1A:
6764 case 0x1B:
6765 case 0x1C:
6766 case 0x1D:
6767 case 0x1E:
6768 case 0x1F:
6769 case ' ':
6770 case '!':
6771 case '"':
6772 case '#':
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 0x7F: goto yy457;
6801 case '\\': goto yy138;
6802 default: goto yy61;
6803 }
6804 yy457:
6805 #line 411 "src/parser.re"
6806 { NEWTOKEN(PSI_T_STATIC); goto start; }
6807 #line 6808 "src/parser.c"
6808 yy458:
6809 yyaccept = 51;
6810 yych = *(mrk = ++cur);
6811 switch (yych) {
6812 case 0x00:
6813 case 0x01:
6814 case 0x02:
6815 case 0x03:
6816 case 0x04:
6817 case 0x05:
6818 case 0x06:
6819 case 0x07:
6820 case 0x08:
6821 case '\t':
6822 case '\n':
6823 case '\v':
6824 case '\f':
6825 case '\r':
6826 case 0x0E:
6827 case 0x0F:
6828 case 0x10:
6829 case 0x11:
6830 case 0x12:
6831 case 0x13:
6832 case 0x14:
6833 case 0x15:
6834 case 0x16:
6835 case 0x17:
6836 case 0x18:
6837 case 0x19:
6838 case 0x1A:
6839 case 0x1B:
6840 case 0x1C:
6841 case 0x1D:
6842 case 0x1E:
6843 case 0x1F:
6844 case ' ':
6845 case '!':
6846 case '"':
6847 case '#':
6848 case '$':
6849 case '%':
6850 case '&':
6851 case '\'':
6852 case '(':
6853 case ')':
6854 case '*':
6855 case '+':
6856 case ',':
6857 case '-':
6858 case '.':
6859 case '/':
6860 case ':':
6861 case ';':
6862 case '<':
6863 case '=':
6864 case '>':
6865 case '?':
6866 case '@':
6867 case '[':
6868 case ']':
6869 case '^':
6870 case '`':
6871 case '{':
6872 case '|':
6873 case '}':
6874 case '~':
6875 case 0x7F: goto yy459;
6876 case '\\': goto yy138;
6877 default: goto yy61;
6878 }
6879 yy459:
6880 #line 407 "src/parser.re"
6881 { NEWTOKEN(PSI_T_STRING); goto start; }
6882 #line 6883 "src/parser.c"
6883 yy460:
6884 yyaccept = 52;
6885 yych = *(mrk = ++cur);
6886 switch (yych) {
6887 case 0x00:
6888 case 0x01:
6889 case 0x02:
6890 case 0x03:
6891 case 0x04:
6892 case 0x05:
6893 case 0x06:
6894 case 0x07:
6895 case 0x08:
6896 case '\t':
6897 case '\n':
6898 case '\v':
6899 case '\f':
6900 case '\r':
6901 case 0x0E:
6902 case 0x0F:
6903 case 0x10:
6904 case 0x11:
6905 case 0x12:
6906 case 0x13:
6907 case 0x14:
6908 case 0x15:
6909 case 0x16:
6910 case 0x17:
6911 case 0x18:
6912 case 0x19:
6913 case 0x1A:
6914 case 0x1B:
6915 case 0x1C:
6916 case 0x1D:
6917 case 0x1E:
6918 case 0x1F:
6919 case ' ':
6920 case '!':
6921 case '"':
6922 case '#':
6923 case '$':
6924 case '%':
6925 case '&':
6926 case '\'':
6927 case '(':
6928 case ')':
6929 case '*':
6930 case '+':
6931 case ',':
6932 case '-':
6933 case '.':
6934 case '/':
6935 case ':':
6936 case ';':
6937 case '<':
6938 case '=':
6939 case '>':
6940 case '?':
6941 case '@':
6942 case '[':
6943 case ']':
6944 case '^':
6945 case '`':
6946 case '{':
6947 case '|':
6948 case '}':
6949 case '~':
6950 case 0x7F: goto yy461;
6951 case '\\': goto yy138;
6952 default: goto yy61;
6953 }
6954 yy461:
6955 #line 426 "src/parser.re"
6956 { NEWTOKEN(PSI_T_STRLEN); goto start; }
6957 #line 6958 "src/parser.c"
6958 yy462:
6959 yyaccept = 53;
6960 yych = *(mrk = ++cur);
6961 switch (yych) {
6962 case 0x00:
6963 case 0x01:
6964 case 0x02:
6965 case 0x03:
6966 case 0x04:
6967 case 0x05:
6968 case 0x06:
6969 case 0x07:
6970 case 0x08:
6971 case '\t':
6972 case '\n':
6973 case '\v':
6974 case '\f':
6975 case '\r':
6976 case 0x0E:
6977 case 0x0F:
6978 case 0x10:
6979 case 0x11:
6980 case 0x12:
6981 case 0x13:
6982 case 0x14:
6983 case 0x15:
6984 case 0x16:
6985 case 0x17:
6986 case 0x18:
6987 case 0x19:
6988 case 0x1A:
6989 case 0x1B:
6990 case 0x1C:
6991 case 0x1D:
6992 case 0x1E:
6993 case 0x1F:
6994 case ' ':
6995 case '!':
6996 case '"':
6997 case '#':
6998 case '$':
6999 case '%':
7000 case '&':
7001 case '\'':
7002 case '(':
7003 case ')':
7004 case '*':
7005 case '+':
7006 case ',':
7007 case '-':
7008 case '.':
7009 case '/':
7010 case ':':
7011 case ';':
7012 case '<':
7013 case '=':
7014 case '>':
7015 case '?':
7016 case '@':
7017 case '[':
7018 case ']':
7019 case '^':
7020 case '`':
7021 case '{':
7022 case '|':
7023 case '}':
7024 case '~':
7025 case 0x7F: goto yy463;
7026 case '\\': goto yy138;
7027 default: goto yy61;
7028 }
7029 yy463:
7030 #line 414 "src/parser.re"
7031 { NEWTOKEN(PSI_T_STRUCT); goto start; }
7032 #line 7033 "src/parser.c"
7033 yy464:
7034 yyaccept = 54;
7035 yych = *(mrk = ++cur);
7036 switch (yych) {
7037 case 0x00:
7038 case 0x01:
7039 case 0x02:
7040 case 0x03:
7041 case 0x04:
7042 case 0x05:
7043 case 0x06:
7044 case 0x07:
7045 case 0x08:
7046 case '\t':
7047 case '\n':
7048 case '\v':
7049 case '\f':
7050 case '\r':
7051 case 0x0E:
7052 case 0x0F:
7053 case 0x10:
7054 case 0x11:
7055 case 0x12:
7056 case 0x13:
7057 case 0x14:
7058 case 0x15:
7059 case 0x16:
7060 case 0x17:
7061 case 0x18:
7062 case 0x19:
7063 case 0x1A:
7064 case 0x1B:
7065 case 0x1C:
7066 case 0x1D:
7067 case 0x1E:
7068 case 0x1F:
7069 case ' ':
7070 case '!':
7071 case '"':
7072 case '#':
7073 case '$':
7074 case '%':
7075 case '&':
7076 case '\'':
7077 case '(':
7078 case ')':
7079 case '*':
7080 case '+':
7081 case ',':
7082 case '-':
7083 case '.':
7084 case '/':
7085 case ':':
7086 case ';':
7087 case '<':
7088 case '=':
7089 case '>':
7090 case '?':
7091 case '@':
7092 case '[':
7093 case ']':
7094 case '^':
7095 case '`':
7096 case '{':
7097 case '|':
7098 case '}':
7099 case '~':
7100 case 0x7F: goto yy465;
7101 case '\\': goto yy138;
7102 default: goto yy61;
7103 }
7104 yy465:
7105 #line 427 "src/parser.re"
7106 { NEWTOKEN(PSI_T_STRVAL); goto start; }
7107 #line 7108 "src/parser.c"
7108 yy466:
7109 yyaccept = 5;
7110 yych = *(mrk = ++cur);
7111 switch (yych) {
7112 case 'A':
7113 case 'a': goto yy506;
7114 default: goto yy62;
7115 }
7116 yy467:
7117 yyaccept = 5;
7118 yych = *(mrk = ++cur);
7119 switch (yych) {
7120 case 'L':
7121 case 'l': goto yy507;
7122 default: goto yy62;
7123 }
7124 yy468:
7125 yyaccept = 5;
7126 yych = *(mrk = ++cur);
7127 switch (yych) {
7128 case 'A':
7129 case 'a': goto yy509;
7130 default: goto yy62;
7131 }
7132 yy469:
7133 yyaccept = 55;
7134 yych = *(mrk = ++cur);
7135 switch (yych) {
7136 case 0x00:
7137 case 0x01:
7138 case 0x02:
7139 case 0x03:
7140 case 0x04:
7141 case 0x05:
7142 case 0x06:
7143 case 0x07:
7144 case 0x08:
7145 case '\t':
7146 case '\n':
7147 case '\v':
7148 case '\f':
7149 case '\r':
7150 case 0x0E:
7151 case 0x0F:
7152 case 0x10:
7153 case 0x11:
7154 case 0x12:
7155 case 0x13:
7156 case 0x14:
7157 case 0x15:
7158 case 0x16:
7159 case 0x17:
7160 case 0x18:
7161 case 0x19:
7162 case 0x1A:
7163 case 0x1B:
7164 case 0x1C:
7165 case 0x1D:
7166 case 0x1E:
7167 case 0x1F:
7168 case ' ':
7169 case '!':
7170 case '"':
7171 case '#':
7172 case '$':
7173 case '%':
7174 case '&':
7175 case '\'':
7176 case '(':
7177 case ')':
7178 case '*':
7179 case '+':
7180 case ',':
7181 case '-':
7182 case '.':
7183 case '/':
7184 case ':':
7185 case ';':
7186 case '<':
7187 case '=':
7188 case '>':
7189 case '?':
7190 case '@':
7191 case '[':
7192 case ']':
7193 case '^':
7194 case '`':
7195 case '{':
7196 case '|':
7197 case '}':
7198 case '~':
7199 case 0x7F: goto yy470;
7200 case '\\': goto yy138;
7201 default: goto yy61;
7202 }
7203 yy470:
7204 #line 440 "src/parser.re"
7205 { NEWTOKEN(PSI_T_TO_INT); goto start; }
7206 #line 7207 "src/parser.c"
7207 yy471:
7208 yyaccept = 5;
7209 yych = *(mrk = ++cur);
7210 switch (yych) {
7211 case 'E':
7212 case 'e': goto yy510;
7213 default: goto yy62;
7214 }
7215 yy472:
7216 yyaccept = 5;
7217 yych = *(mrk = ++cur);
7218 switch (yych) {
7219 case 'I':
7220 case 'i': goto yy511;
7221 default: goto yy62;
7222 }
7223 yy473:
7224 yyaccept = 5;
7225 yych = *(mrk = ++cur);
7226 switch (yych) {
7227 case 'F':
7228 case 'f': goto yy512;
7229 default: goto yy62;
7230 }
7231 yy474:
7232 yyaccept = 5;
7233 yych = *(mrk = ++cur);
7234 switch (yych) {
7235 case '_': goto yy514;
7236 default: goto yy62;
7237 }
7238 yy475:
7239 yyaccept = 5;
7240 yych = *(mrk = ++cur);
7241 switch (yych) {
7242 case '_': goto yy515;
7243 default: goto yy62;
7244 }
7245 yy476:
7246 yyaccept = 5;
7247 yych = *(mrk = ++cur);
7248 switch (yych) {
7249 case '_': goto yy516;
7250 default: goto yy62;
7251 }
7252 yy477:
7253 yyaccept = 5;
7254 yych = *(mrk = ++cur);
7255 switch (yych) {
7256 case 'T':
7257 case 't': goto yy517;
7258 default: goto yy62;
7259 }
7260 yy478:
7261 yyaccept = 5;
7262 yych = *(mrk = ++cur);
7263 switch (yych) {
7264 case 'E':
7265 case 'e': goto yy519;
7266 default: goto yy62;
7267 }
7268 yy479:
7269 yyaccept = 5;
7270 yych = *(mrk = ++cur);
7271 switch (yych) {
7272 case 'G':
7273 case 'g': goto yy520;
7274 default: goto yy62;
7275 }
7276 yy480:
7277 yyaccept = 5;
7278 yych = *(mrk = ++cur);
7279 switch (yych) {
7280 case '_': goto yy522;
7281 default: goto yy62;
7282 }
7283 yy481:
7284 yyaccept = 5;
7285 yych = *(mrk = ++cur);
7286 switch (yych) {
7287 case 'i': goto yy524;
7288 default: goto yy62;
7289 }
7290 yy482:
7291 yyaccept = 5;
7292 yych = *(mrk = ++cur);
7293 switch (yych) {
7294 case 'n': goto yy525;
7295 default: goto yy62;
7296 }
7297 yy483:
7298 yyaccept = 5;
7299 yych = *(mrk = ++cur);
7300 switch (yych) {
7301 case 'r': goto yy526;
7302 default: goto yy62;
7303 }
7304 yy484:
7305 yyaccept = 56;
7306 yych = *(mrk = ++cur);
7307 switch (yych) {
7308 case 0x00:
7309 case 0x01:
7310 case 0x02:
7311 case 0x03:
7312 case 0x04:
7313 case 0x05:
7314 case 0x06:
7315 case 0x07:
7316 case 0x08:
7317 case '\t':
7318 case '\n':
7319 case '\v':
7320 case '\f':
7321 case '\r':
7322 case 0x0E:
7323 case 0x0F:
7324 case 0x10:
7325 case 0x11:
7326 case 0x12:
7327 case 0x13:
7328 case 0x14:
7329 case 0x15:
7330 case 0x16:
7331 case 0x17:
7332 case 0x18:
7333 case 0x19:
7334 case 0x1A:
7335 case 0x1B:
7336 case 0x1C:
7337 case 0x1D:
7338 case 0x1E:
7339 case 0x1F:
7340 case ' ':
7341 case '!':
7342 case '"':
7343 case '#':
7344 case '$':
7345 case '%':
7346 case '&':
7347 case '\'':
7348 case '(':
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 0x7F: goto yy485;
7372 case '\\': goto yy138;
7373 default: goto yy527;
7374 }
7375 yy485:
7376 #line 365 "src/parser.re"
7377 { NEWTOKEN(PSI_T_PRAGMA); goto start; }
7378 #line 7379 "src/parser.c"
7379 yy486:
7380 yyaccept = 57;
7381 yych = *(mrk = ++cur);
7382 switch (yych) {
7383 case 0x00:
7384 case 0x01:
7385 case 0x02:
7386 case 0x03:
7387 case 0x04:
7388 case 0x05:
7389 case 0x06:
7390 case 0x07:
7391 case 0x08:
7392 case '\t':
7393 case '\n':
7394 case '\v':
7395 case '\f':
7396 case '\r':
7397 case 0x0E:
7398 case 0x0F:
7399 case 0x10:
7400 case 0x11:
7401 case 0x12:
7402 case 0x13:
7403 case 0x14:
7404 case 0x15:
7405 case 0x16:
7406 case 0x17:
7407 case 0x18:
7408 case 0x19:
7409 case 0x1A:
7410 case 0x1B:
7411 case 0x1C:
7412 case 0x1D:
7413 case 0x1E:
7414 case 0x1F:
7415 case ' ':
7416 case '!':
7417 case '"':
7418 case '#':
7419 case '$':
7420 case '%':
7421 case '&':
7422 case '\'':
7423 case '(':
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 0x7F: goto yy487;
7447 case '\\': goto yy138;
7448 default: goto yy61;
7449 }
7450 yy487:
7451 #line 431 "src/parser.re"
7452 { NEWTOKEN(PSI_T_BOOLVAL); goto start; }
7453 #line 7454 "src/parser.c"
7454 yy488:
7455 yyaccept = 5;
7456 yych = *(mrk = ++cur);
7457 switch (yych) {
7458 case 'E':
7459 case 'e': goto yy529;
7460 default: goto yy62;
7461 }
7462 yy489:
7463 yyaccept = 5;
7464 yych = *(mrk = ++cur);
7465 switch (yych) {
7466 case 'K':
7467 case 'k': goto yy531;
7468 default: goto yy62;
7469 }
7470 yy490:
7471 yyaccept = 58;
7472 yych = *(mrk = ++cur);
7473 switch (yych) {
7474 case 0x00:
7475 case 0x01:
7476 case 0x02:
7477 case 0x03:
7478 case 0x04:
7479 case 0x05:
7480 case 0x06:
7481 case 0x07:
7482 case 0x08:
7483 case '\t':
7484 case '\n':
7485 case '\v':
7486 case '\f':
7487 case '\r':
7488 case 0x0E:
7489 case 0x0F:
7490 case 0x10:
7491 case 0x11:
7492 case 0x12:
7493 case 0x13:
7494 case 0x14:
7495 case 0x15:
7496 case 0x16:
7497 case 0x17:
7498 case 0x18:
7499 case 0x19:
7500 case 0x1A:
7501 case 0x1B:
7502 case 0x1C:
7503 case 0x1D:
7504 case 0x1E:
7505 case 0x1F:
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 ']':
7531 case '^':
7532 case '`':
7533 case '{':
7534 case '|':
7535 case '}':
7536 case '~':
7537 case 0x7F: goto yy491;
7538 case '\\': goto yy138;
7539 default: goto yy61;
7540 }
7541 yy491:
7542 #line 378 "src/parser.re"
7543 { NEWTOKEN(PSI_T_DEFINED); goto start; }
7544 #line 7545 "src/parser.c"
7545 yy492:
7546 yyaccept = 5;
7547 yych = *(mrk = ++cur);
7548 switch (yych) {
7549 case 'L':
7550 case 'l': goto yy533;
7551 default: goto yy62;
7552 }
7553 yy493:
7554 yyaccept = 5;
7555 yych = *(mrk = ++cur);
7556 switch (yych) {
7557 case 'N':
7558 case 'n': goto yy535;
7559 default: goto yy62;
7560 }
7561 yy494:
7562 yyaccept = 59;
7563 yych = *(mrk = ++cur);
7564 switch (yych) {
7565 case 0x00:
7566 case 0x01:
7567 case 0x02:
7568 case 0x03:
7569 case 0x04:
7570 case 0x05:
7571 case 0x06:
7572 case 0x07:
7573 case 0x08:
7574 case '\t':
7575 case '\n':
7576 case '\v':
7577 case '\f':
7578 case '\r':
7579 case 0x0E:
7580 case 0x0F:
7581 case 0x10:
7582 case 0x11:
7583 case 0x12:
7584 case 0x13:
7585 case 0x14:
7586 case 0x15:
7587 case 0x16:
7588 case 0x17:
7589 case 0x18:
7590 case 0x19:
7591 case 0x1A:
7592 case 0x1B:
7593 case 0x1C:
7594 case 0x1D:
7595 case 0x1E:
7596 case 0x1F:
7597 case ' ':
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 0x7F: goto yy495;
7629 case '\\': goto yy138;
7630 case '_': goto yy537;
7631 default: goto yy61;
7632 }
7633 yy495:
7634 #line 382 "src/parser.re"
7635 { NEWTOKEN(PSI_T_INCLUDE); goto start; }
7636 #line 7637 "src/parser.c"
7637 yy496:
7638 yyaccept = 60;
7639 yych = *(mrk = ++cur);
7640 switch (yych) {
7641 case 0x00:
7642 case 0x01:
7643 case 0x02:
7644 case 0x03:
7645 case 0x04:
7646 case 0x05:
7647 case 0x06:
7648 case 0x07:
7649 case 0x08:
7650 case '\t':
7651 case '\n':
7652 case '\v':
7653 case '\f':
7654 case '\r':
7655 case 0x0E:
7656 case 0x0F:
7657 case 0x10:
7658 case 0x11:
7659 case 0x12:
7660 case 0x13:
7661 case 0x14:
7662 case 0x15:
7663 case 0x16:
7664 case 0x17:
7665 case 0x18:
7666 case 0x19:
7667 case 0x1A:
7668 case 0x1B:
7669 case 0x1C:
7670 case 0x1D:
7671 case 0x1E:
7672 case 0x1F:
7673 case ' ':
7674 case '!':
7675 case '"':
7676 case '#':
7677 case '$':
7678 case '%':
7679 case '&':
7680 case '\'':
7681 case '(':
7682 case ')':
7683 case '*':
7684 case '+':
7685 case ',':
7686 case '-':
7687 case '.':
7688 case '/':
7689 case ':':
7690 case ';':
7691 case '<':
7692 case '=':
7693 case '>':
7694 case '?':
7695 case '@':
7696 case '[':
7697 case ']':
7698 case '^':
7699 case '`':
7700 case '{':
7701 case '|':
7702 case '}':
7703 case '~':
7704 case 0x7F: goto yy497;
7705 case '\\': goto yy138;
7706 default: goto yy61;
7707 }
7708 yy497:
7709 #line 399 "src/parser.re"
7710 { NEWTOKEN(PSI_T_INT16); goto start; }
7711 #line 7712 "src/parser.c"
7712 yy498:
7713 yyaccept = 61;
7714 yych = *(mrk = ++cur);
7715 switch (yych) {
7716 case 0x00:
7717 case 0x01:
7718 case 0x02:
7719 case 0x03:
7720 case 0x04:
7721 case 0x05:
7722 case 0x06:
7723 case 0x07:
7724 case 0x08:
7725 case '\t':
7726 case '\n':
7727 case '\v':
7728 case '\f':
7729 case '\r':
7730 case 0x0E:
7731 case 0x0F:
7732 case 0x10:
7733 case 0x11:
7734 case 0x12:
7735 case 0x13:
7736 case 0x14:
7737 case 0x15:
7738 case 0x16:
7739 case 0x17:
7740 case 0x18:
7741 case 0x19:
7742 case 0x1A:
7743 case 0x1B:
7744 case 0x1C:
7745 case 0x1D:
7746 case 0x1E:
7747 case 0x1F:
7748 case ' ':
7749 case '!':
7750 case '"':
7751 case '#':
7752 case '$':
7753 case '%':
7754 case '&':
7755 case '\'':
7756 case '(':
7757 case ')':
7758 case '*':
7759 case '+':
7760 case ',':
7761 case '-':
7762 case '.':
7763 case '/':
7764 case ':':
7765 case ';':
7766 case '<':
7767 case '=':
7768 case '>':
7769 case '?':
7770 case '@':
7771 case '[':
7772 case ']':
7773 case '^':
7774 case '`':
7775 case '{':
7776 case '|':
7777 case '}':
7778 case '~':
7779 case 0x7F: goto yy499;
7780 case '\\': goto yy138;
7781 default: goto yy61;
7782 }
7783 yy499:
7784 #line 401 "src/parser.re"
7785 { NEWTOKEN(PSI_T_INT32); goto start; }
7786 #line 7787 "src/parser.c"
7787 yy500:
7788 yyaccept = 62;
7789 yych = *(mrk = ++cur);
7790 switch (yych) {
7791 case 0x00:
7792 case 0x01:
7793 case 0x02:
7794 case 0x03:
7795 case 0x04:
7796 case 0x05:
7797 case 0x06:
7798 case 0x07:
7799 case 0x08:
7800 case '\t':
7801 case '\n':
7802 case '\v':
7803 case '\f':
7804 case '\r':
7805 case 0x0E:
7806 case 0x0F:
7807 case 0x10:
7808 case 0x11:
7809 case 0x12:
7810 case 0x13:
7811 case 0x14:
7812 case 0x15:
7813 case 0x16:
7814 case 0x17:
7815 case 0x18:
7816 case 0x19:
7817 case 0x1A:
7818 case 0x1B:
7819 case 0x1C:
7820 case 0x1D:
7821 case 0x1E:
7822 case 0x1F:
7823 case ' ':
7824 case '!':
7825 case '"':
7826 case '#':
7827 case '$':
7828 case '%':
7829 case '&':
7830 case '\'':
7831 case '(':
7832 case ')':
7833 case '*':
7834 case '+':
7835 case ',':
7836 case '-':
7837 case '.':
7838 case '/':
7839 case ':':
7840 case ';':
7841 case '<':
7842 case '=':
7843 case '>':
7844 case '?':
7845 case '@':
7846 case '[':
7847 case ']':
7848 case '^':
7849 case '`':
7850 case '{':
7851 case '|':
7852 case '}':
7853 case '~':
7854 case 0x7F: goto yy501;
7855 case '\\': goto yy138;
7856 default: goto yy61;
7857 }
7858 yy501:
7859 #line 403 "src/parser.re"
7860 { NEWTOKEN(PSI_T_INT64); goto start; }
7861 #line 7862 "src/parser.c"
7862 yy502:
7863 yyaccept = 63;
7864 yych = *(mrk = ++cur);
7865 switch (yych) {
7866 case 0x00:
7867 case 0x01:
7868 case 0x02:
7869 case 0x03:
7870 case 0x04:
7871 case 0x05:
7872 case 0x06:
7873 case 0x07:
7874 case 0x08:
7875 case '\t':
7876 case '\n':
7877 case '\v':
7878 case '\f':
7879 case '\r':
7880 case 0x0E:
7881 case 0x0F:
7882 case 0x10:
7883 case 0x11:
7884 case 0x12:
7885 case 0x13:
7886 case 0x14:
7887 case 0x15:
7888 case 0x16:
7889 case 0x17:
7890 case 0x18:
7891 case 0x19:
7892 case 0x1A:
7893 case 0x1B:
7894 case 0x1C:
7895 case 0x1D:
7896 case 0x1E:
7897 case 0x1F:
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 ',':
7911 case '-':
7912 case '.':
7913 case '/':
7914 case ':':
7915 case ';':
7916 case '<':
7917 case '=':
7918 case '>':
7919 case '?':
7920 case '@':
7921 case '[':
7922 case ']':
7923 case '^':
7924 case '`':
7925 case '{':
7926 case '|':
7927 case '}':
7928 case '~':
7929 case 0x7F: goto yy503;
7930 case '\\': goto yy138;
7931 default: goto yy61;
7932 }
7933 yy503:
7934 #line 428 "src/parser.re"
7935 { NEWTOKEN(PSI_T_PATHVAL); goto start; }
7936 #line 7937 "src/parser.c"
7937 yy504:
7938 yyaccept = 5;
7939 yych = *(mrk = ++cur);
7940 switch (yych) {
7941 case 'S':
7942 case 's': goto yy538;
7943 default: goto yy62;
7944 }
7945 yy505:
7946 yyaccept = 5;
7947 yych = *(mrk = ++cur);
7948 switch (yych) {
7949 case 'E':
7950 case 'e': goto yy539;
7951 default: goto yy62;
7952 }
7953 yy506:
7954 yyaccept = 5;
7955 yych = *(mrk = ++cur);
7956 switch (yych) {
7957 case 'Y':
7958 case 'y': goto yy540;
7959 default: goto yy62;
7960 }
7961 yy507:
7962 yyaccept = 64;
7963 yych = *(mrk = ++cur);
7964 switch (yych) {
7965 case 0x00:
7966 case 0x01:
7967 case 0x02:
7968 case 0x03:
7969 case 0x04:
7970 case 0x05:
7971 case 0x06:
7972 case 0x07:
7973 case 0x08:
7974 case '\t':
7975 case '\n':
7976 case '\v':
7977 case '\f':
7978 case '\r':
7979 case 0x0E:
7980 case 0x0F:
7981 case 0x10:
7982 case 0x11:
7983 case 0x12:
7984 case 0x13:
7985 case 0x14:
7986 case 0x15:
7987 case 0x16:
7988 case 0x17:
7989 case 0x18:
7990 case 0x19:
7991 case 0x1A:
7992 case 0x1B:
7993 case 0x1C:
7994 case 0x1D:
7995 case 0x1E:
7996 case 0x1F:
7997 case ' ':
7998 case '!':
7999 case '"':
8000 case '#':
8001 case '$':
8002 case '%':
8003 case '&':
8004 case '\'':
8005 case '(':
8006 case ')':
8007 case '*':
8008 case '+':
8009 case ',':
8010 case '-':
8011 case '.':
8012 case '/':
8013 case ':':
8014 case ';':
8015 case '<':
8016 case '=':
8017 case '>':
8018 case '?':
8019 case '@':
8020 case '[':
8021 case ']':
8022 case '^':
8023 case '`':
8024 case '{':
8025 case '|':
8026 case '}':
8027 case '~':
8028 case 0x7F: goto yy508;
8029 case '\\': goto yy138;
8030 default: goto yy61;
8031 }
8032 yy508:
8033 #line 442 "src/parser.re"
8034 { NEWTOKEN(PSI_T_TO_BOOL); goto start; }
8035 #line 8036 "src/parser.c"
8036 yy509:
8037 yyaccept = 5;
8038 yych = *(mrk = ++cur);
8039 switch (yych) {
8040 case 'T':
8041 case 't': goto yy542;
8042 default: goto yy62;
8043 }
8044 yy510:
8045 yyaccept = 5;
8046 yych = *(mrk = ++cur);
8047 switch (yych) {
8048 case 'C':
8049 case 'c': goto yy544;
8050 default: goto yy62;
8051 }
8052 yy511:
8053 yyaccept = 5;
8054 yych = *(mrk = ++cur);
8055 switch (yych) {
8056 case 'N':
8057 case 'n': goto yy545;
8058 default: goto yy62;
8059 }
8060 yy512:
8061 yyaccept = 65;
8062 yych = *(mrk = ++cur);
8063 switch (yych) {
8064 case 0x00:
8065 case 0x01:
8066 case 0x02:
8067 case 0x03:
8068 case 0x04:
8069 case 0x05:
8070 case 0x06:
8071 case 0x07:
8072 case 0x08:
8073 case '\t':
8074 case '\n':
8075 case '\v':
8076 case '\f':
8077 case '\r':
8078 case 0x0E:
8079 case 0x0F:
8080 case 0x10:
8081 case 0x11:
8082 case 0x12:
8083 case 0x13:
8084 case 0x14:
8085 case 0x15:
8086 case 0x16:
8087 case 0x17:
8088 case 0x18:
8089 case 0x19:
8090 case 0x1A:
8091 case 0x1B:
8092 case 0x1C:
8093 case 0x1D:
8094 case 0x1E:
8095 case 0x1F:
8096 case ' ':
8097 case '!':
8098 case '"':
8099 case '#':
8100 case '$':
8101 case '%':
8102 case '&':
8103 case '\'':
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 0x7F: goto yy513;
8128 case '\\': goto yy138;
8129 default: goto yy61;
8130 }
8131 yy513:
8132 #line 413 "src/parser.re"
8133 { NEWTOKEN(PSI_T_TYPEDEF); goto start; }
8134 #line 8135 "src/parser.c"
8135 yy514:
8136 yyaccept = 5;
8137 yych = *(mrk = ++cur);
8138 switch (yych) {
8139 case 'T':
8140 case 't': goto yy546;
8141 default: goto yy62;
8142 }
8143 yy515:
8144 yyaccept = 5;
8145 yych = *(mrk = ++cur);
8146 switch (yych) {
8147 case 'T':
8148 case 't': goto yy548;
8149 default: goto yy62;
8150 }
8151 yy516:
8152 yyaccept = 5;
8153 yych = *(mrk = ++cur);
8154 switch (yych) {
8155 case 'T':
8156 case 't': goto yy550;
8157 default: goto yy62;
8158 }
8159 yy517:
8160 yyaccept = 66;
8161 yych = *(mrk = ++cur);
8162 switch (yych) {
8163 case 0x00:
8164 case 0x01:
8165 case 0x02:
8166 case 0x03:
8167 case 0x04:
8168 case 0x05:
8169 case 0x06:
8170 case 0x07:
8171 case 0x08:
8172 case '\t':
8173 case '\n':
8174 case '\v':
8175 case '\f':
8176 case '\r':
8177 case 0x0E:
8178 case 0x0F:
8179 case 0x10:
8180 case 0x11:
8181 case 0x12:
8182 case 0x13:
8183 case 0x14:
8184 case 0x15:
8185 case 0x16:
8186 case 0x17:
8187 case 0x18:
8188 case 0x19:
8189 case 0x1A:
8190 case 0x1B:
8191 case 0x1C:
8192 case 0x1D:
8193 case 0x1E:
8194 case 0x1F:
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 '/':
8211 case ':':
8212 case ';':
8213 case '<':
8214 case '=':
8215 case '>':
8216 case '?':
8217 case '@':
8218 case '[':
8219 case ']':
8220 case '^':
8221 case '`':
8222 case '{':
8223 case '|':
8224 case '}':
8225 case '~':
8226 case 0x7F: goto yy518;
8227 case '\\': goto yy138;
8228 default: goto yy61;
8229 }
8230 yy518:
8231 #line 398 "src/parser.re"
8232 { NEWTOKEN(PSI_T_UINT8); goto start; }
8233 #line 8234 "src/parser.c"
8234 yy519:
8235 yyaccept = 5;
8236 yych = *(mrk = ++cur);
8237 switch (yych) {
8238 case 'D':
8239 case 'd': goto yy552;
8240 default: goto yy62;
8241 }
8242 yy520:
8243 yyaccept = 67;
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 yy521;
8310 case '\\': goto yy138;
8311 default: goto yy61;
8312 }
8313 yy521:
8314 #line 380 "src/parser.re"
8315 { NEWTOKEN(PSI_T_WARNING); goto start; }
8316 #line 8317 "src/parser.c"
8317 yy522:
8318 yyaccept = 68;
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 yy523;
8385 case '\\': goto yy138;
8386 default: goto yy61;
8387 }
8388 yy523:
8389 #line 369 "src/parser.re"
8390 { NEWTOKEN(PSI_T_CPP_ASM); goto start; }
8391 #line 8392 "src/parser.c"
8392 yy524:
8393 yyaccept = 5;
8394 yych = *(mrk = ++cur);
8395 switch (yych) {
8396 case 'b': goto yy554;
8397 default: goto yy62;
8398 }
8399 yy525:
8400 yyaccept = 5;
8401 yych = *(mrk = ++cur);
8402 switch (yych) {
8403 case 's': goto yy555;
8404 default: goto yy62;
8405 }
8406 yy526:
8407 yyaccept = 5;
8408 yych = *(mrk = ++cur);
8409 switch (yych) {
8410 case 'i': goto yy556;
8411 default: goto yy62;
8412 }
8413 yy527:
8414 yyaccept = 5;
8415 mrk = ++cur;
8416 if (lim <= cur) if (cur >= lim) goto done;;
8417 yych = *cur;
8418 switch (yych) {
8419 case 0x00:
8420 case 0x01:
8421 case 0x02:
8422 case 0x03:
8423 case 0x04:
8424 case 0x05:
8425 case 0x06:
8426 case 0x07:
8427 case 0x08:
8428 case '\t':
8429 case '\n':
8430 case '\v':
8431 case '\f':
8432 case '\r':
8433 case 0x0E:
8434 case 0x0F:
8435 case 0x10:
8436 case 0x11:
8437 case 0x12:
8438 case 0x13:
8439 case 0x14:
8440 case 0x15:
8441 case 0x16:
8442 case 0x17:
8443 case 0x18:
8444 case 0x19:
8445 case 0x1A:
8446 case 0x1B:
8447 case 0x1C:
8448 case 0x1D:
8449 case 0x1E:
8450 case 0x1F:
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 ']':
8476 case '^':
8477 case '`':
8478 case '{':
8479 case '|':
8480 case '}':
8481 case '~':
8482 case 0x7F: goto yy55;
8483 case '\\': goto yy138;
8484 case 'o': goto yy557;
8485 default: goto yy527;
8486 }
8487 yy529:
8488 yyaccept = 69;
8489 yych = *(mrk = ++cur);
8490 switch (yych) {
8491 case 0x00:
8492 case 0x01:
8493 case 0x02:
8494 case 0x03:
8495 case 0x04:
8496 case 0x05:
8497 case 0x06:
8498 case 0x07:
8499 case 0x08:
8500 case '\t':
8501 case '\n':
8502 case '\v':
8503 case '\f':
8504 case '\r':
8505 case 0x0E:
8506 case 0x0F:
8507 case 0x10:
8508 case 0x11:
8509 case 0x12:
8510 case 0x13:
8511 case 0x14:
8512 case 0x15:
8513 case 0x16:
8514 case 0x17:
8515 case 0x18:
8516 case 0x19:
8517 case 0x1A:
8518 case 0x1B:
8519 case 0x1C:
8520 case 0x1D:
8521 case 0x1E:
8522 case 0x1F:
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 '{':
8551 case '|':
8552 case '}':
8553 case '~':
8554 case 0x7F: goto yy530;
8555 case '\\': goto yy138;
8556 default: goto yy61;
8557 }
8558 yy530:
8559 #line 388 "src/parser.re"
8560 { NEWTOKEN(PSI_T_CALLABLE); goto start; }
8561 #line 8562 "src/parser.c"
8562 yy531:
8563 yyaccept = 70;
8564 yych = *(mrk = ++cur);
8565 switch (yych) {
8566 case 0x00:
8567 case 0x01:
8568 case 0x02:
8569 case 0x03:
8570 case 0x04:
8571 case 0x05:
8572 case 0x06:
8573 case 0x07:
8574 case 0x08:
8575 case '\t':
8576 case '\n':
8577 case '\v':
8578 case '\f':
8579 case '\r':
8580 case 0x0E:
8581 case 0x0F:
8582 case 0x10:
8583 case 0x11:
8584 case 0x12:
8585 case 0x13:
8586 case 0x14:
8587 case 0x15:
8588 case 0x16:
8589 case 0x17:
8590 case 0x18:
8591 case 0x19:
8592 case 0x1A:
8593 case 0x1B:
8594 case 0x1C:
8595 case 0x1D:
8596 case 0x1E:
8597 case 0x1F:
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 '{':
8626 case '|':
8627 case '}':
8628 case '~':
8629 case 0x7F: goto yy532;
8630 case '\\': goto yy138;
8631 default: goto yy61;
8632 }
8633 yy532:
8634 #line 410 "src/parser.re"
8635 { NEWTOKEN(PSI_T_CALLBACK); goto start; }
8636 #line 8637 "src/parser.c"
8637 yy533:
8638 yyaccept = 71;
8639 yych = *(mrk = ++cur);
8640 switch (yych) {
8641 case 0x00:
8642 case 0x01:
8643 case 0x02:
8644 case 0x03:
8645 case 0x04:
8646 case 0x05:
8647 case 0x06:
8648 case 0x07:
8649 case 0x08:
8650 case '\t':
8651 case '\n':
8652 case '\v':
8653 case '\f':
8654 case '\r':
8655 case 0x0E:
8656 case 0x0F:
8657 case 0x10:
8658 case 0x11:
8659 case 0x12:
8660 case 0x13:
8661 case 0x14:
8662 case 0x15:
8663 case 0x16:
8664 case 0x17:
8665 case 0x18:
8666 case 0x19:
8667 case 0x1A:
8668 case 0x1B:
8669 case 0x1C:
8670 case 0x1D:
8671 case 0x1E:
8672 case 0x1F:
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 '{':
8701 case '|':
8702 case '}':
8703 case '~':
8704 case 0x7F: goto yy534;
8705 case '\\': goto yy138;
8706 default: goto yy61;
8707 }
8708 yy534:
8709 #line 430 "src/parser.re"
8710 { NEWTOKEN(PSI_T_FLOATVAL); goto start; }
8711 #line 8712 "src/parser.c"
8712 yy535:
8713 yyaccept = 72;
8714 yych = *(mrk = ++cur);
8715 switch (yych) {
8716 case 0x00:
8717 case 0x01:
8718 case 0x02:
8719 case 0x03:
8720 case 0x04:
8721 case 0x05:
8722 case 0x06:
8723 case 0x07:
8724 case 0x08:
8725 case '\t':
8726 case '\n':
8727 case '\v':
8728 case '\f':
8729 case '\r':
8730 case 0x0E:
8731 case 0x0F:
8732 case 0x10:
8733 case 0x11:
8734 case 0x12:
8735 case 0x13:
8736 case 0x14:
8737 case 0x15:
8738 case 0x16:
8739 case 0x17:
8740 case 0x18:
8741 case 0x19:
8742 case 0x1A:
8743 case 0x1B:
8744 case 0x1C:
8745 case 0x1D:
8746 case 0x1E:
8747 case 0x1F:
8748 case ' ':
8749 case '!':
8750 case '"':
8751 case '#':
8752 case '$':
8753 case '%':
8754 case '&':
8755 case '\'':
8756 case '(':
8757 case ')':
8758 case '*':
8759 case '+':
8760 case ',':
8761 case '-':
8762 case '.':
8763 case '/':
8764 case ':':
8765 case ';':
8766 case '<':
8767 case '=':
8768 case '>':
8769 case '?':
8770 case '@':
8771 case '[':
8772 case ']':
8773 case '^':
8774 case '`':
8775 case '{':
8776 case '|':
8777 case '}':
8778 case '~':
8779 case 0x7F: goto yy536;
8780 case '\\': goto yy138;
8781 default: goto yy61;
8782 }
8783 yy536:
8784 #line 412 "src/parser.re"
8785 { NEWTOKEN(PSI_T_FUNCTION); goto start; }
8786 #line 8787 "src/parser.c"
8787 yy537:
8788 yyaccept = 5;
8789 yych = *(mrk = ++cur);
8790 switch (yych) {
8791 case 'N':
8792 case 'n': goto yy559;
8793 default: goto yy62;
8794 }
8795 yy538:
8796 yyaccept = 5;
8797 yych = *(mrk = ++cur);
8798 switch (yych) {
8799 case 'E':
8800 case 'e': goto yy560;
8801 default: goto yy62;
8802 }
8803 yy539:
8804 yyaccept = 5;
8805 yych = *(mrk = ++cur);
8806 switch (yych) {
8807 case 'R':
8808 case 'r': goto yy561;
8809 default: goto yy62;
8810 }
8811 yy540:
8812 yyaccept = 73;
8813 yych = *(mrk = ++cur);
8814 switch (yych) {
8815 case 0x00:
8816 case 0x01:
8817 case 0x02:
8818 case 0x03:
8819 case 0x04:
8820 case 0x05:
8821 case 0x06:
8822 case 0x07:
8823 case 0x08:
8824 case '\t':
8825 case '\n':
8826 case '\v':
8827 case '\f':
8828 case '\r':
8829 case 0x0E:
8830 case 0x0F:
8831 case 0x10:
8832 case 0x11:
8833 case 0x12:
8834 case 0x13:
8835 case 0x14:
8836 case 0x15:
8837 case 0x16:
8838 case 0x17:
8839 case 0x18:
8840 case 0x19:
8841 case 0x1A:
8842 case 0x1B:
8843 case 0x1C:
8844 case 0x1D:
8845 case 0x1E:
8846 case 0x1F:
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 '{':
8875 case '|':
8876 case '}':
8877 case '~':
8878 case 0x7F: goto yy541;
8879 case '\\': goto yy138;
8880 default: goto yy61;
8881 }
8882 yy541:
8883 #line 438 "src/parser.re"
8884 { NEWTOKEN(PSI_T_TO_ARRAY); goto start; }
8885 #line 8886 "src/parser.c"
8886 yy542:
8887 yyaccept = 74;
8888 yych = *(mrk = ++cur);
8889 switch (yych) {
8890 case 0x00:
8891 case 0x01:
8892 case 0x02:
8893 case 0x03:
8894 case 0x04:
8895 case 0x05:
8896 case 0x06:
8897 case 0x07:
8898 case 0x08:
8899 case '\t':
8900 case '\n':
8901 case '\v':
8902 case '\f':
8903 case '\r':
8904 case 0x0E:
8905 case 0x0F:
8906 case 0x10:
8907 case 0x11:
8908 case 0x12:
8909 case 0x13:
8910 case 0x14:
8911 case 0x15:
8912 case 0x16:
8913 case 0x17:
8914 case 0x18:
8915 case 0x19:
8916 case 0x1A:
8917 case 0x1B:
8918 case 0x1C:
8919 case 0x1D:
8920 case 0x1E:
8921 case 0x1F:
8922 case ' ':
8923 case '!':
8924 case '"':
8925 case '#':
8926 case '$':
8927 case '%':
8928 case '&':
8929 case '\'':
8930 case '(':
8931 case ')':
8932 case '*':
8933 case '+':
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 0x7F: goto yy543;
8954 case '\\': goto yy138;
8955 default: goto yy61;
8956 }
8957 yy543:
8958 #line 441 "src/parser.re"
8959 { NEWTOKEN(PSI_T_TO_FLOAT); goto start; }
8960 #line 8961 "src/parser.c"
8961 yy544:
8962 yyaccept = 5;
8963 yych = *(mrk = ++cur);
8964 switch (yych) {
8965 case 'T':
8966 case 't': goto yy562;
8967 default: goto yy62;
8968 }
8969 yy545:
8970 yyaccept = 5;
8971 yych = *(mrk = ++cur);
8972 switch (yych) {
8973 case 'G':
8974 case 'g': goto yy564;
8975 default: goto yy62;
8976 }
8977 yy546:
8978 yyaccept = 75;
8979 yych = *(mrk = ++cur);
8980 switch (yych) {
8981 case 0x00:
8982 case 0x01:
8983 case 0x02:
8984 case 0x03:
8985 case 0x04:
8986 case 0x05:
8987 case 0x06:
8988 case 0x07:
8989 case 0x08:
8990 case '\t':
8991 case '\n':
8992 case '\v':
8993 case '\f':
8994 case '\r':
8995 case 0x0E:
8996 case 0x0F:
8997 case 0x10:
8998 case 0x11:
8999 case 0x12:
9000 case 0x13:
9001 case 0x14:
9002 case 0x15:
9003 case 0x16:
9004 case 0x17:
9005 case 0x18:
9006 case 0x19:
9007 case 0x1A:
9008 case 0x1B:
9009 case 0x1C:
9010 case 0x1D:
9011 case 0x1E:
9012 case 0x1F:
9013 case ' ':
9014 case '!':
9015 case '"':
9016 case '#':
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 0x7F: goto yy547;
9045 case '\\': goto yy138;
9046 default: goto yy61;
9047 }
9048 yy547:
9049 #line 400 "src/parser.re"
9050 { NEWTOKEN(PSI_T_UINT16); goto start; }
9051 #line 9052 "src/parser.c"
9052 yy548:
9053 yyaccept = 76;
9054 yych = *(mrk = ++cur);
9055 switch (yych) {
9056 case 0x00:
9057 case 0x01:
9058 case 0x02:
9059 case 0x03:
9060 case 0x04:
9061 case 0x05:
9062 case 0x06:
9063 case 0x07:
9064 case 0x08:
9065 case '\t':
9066 case '\n':
9067 case '\v':
9068 case '\f':
9069 case '\r':
9070 case 0x0E:
9071 case 0x0F:
9072 case 0x10:
9073 case 0x11:
9074 case 0x12:
9075 case 0x13:
9076 case 0x14:
9077 case 0x15:
9078 case 0x16:
9079 case 0x17:
9080 case 0x18:
9081 case 0x19:
9082 case 0x1A:
9083 case 0x1B:
9084 case 0x1C:
9085 case 0x1D:
9086 case 0x1E:
9087 case 0x1F:
9088 case ' ':
9089 case '!':
9090 case '"':
9091 case '#':
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 0x7F: goto yy549;
9120 case '\\': goto yy138;
9121 default: goto yy61;
9122 }
9123 yy549:
9124 #line 402 "src/parser.re"
9125 { NEWTOKEN(PSI_T_UINT32); goto start; }
9126 #line 9127 "src/parser.c"
9127 yy550:
9128 yyaccept = 77;
9129 yych = *(mrk = ++cur);
9130 switch (yych) {
9131 case 0x00:
9132 case 0x01:
9133 case 0x02:
9134 case 0x03:
9135 case 0x04:
9136 case 0x05:
9137 case 0x06:
9138 case 0x07:
9139 case 0x08:
9140 case '\t':
9141 case '\n':
9142 case '\v':
9143 case '\f':
9144 case '\r':
9145 case 0x0E:
9146 case 0x0F:
9147 case 0x10:
9148 case 0x11:
9149 case 0x12:
9150 case 0x13:
9151 case 0x14:
9152 case 0x15:
9153 case 0x16:
9154 case 0x17:
9155 case 0x18:
9156 case 0x19:
9157 case 0x1A:
9158 case 0x1B:
9159 case 0x1C:
9160 case 0x1D:
9161 case 0x1E:
9162 case 0x1F:
9163 case ' ':
9164 case '!':
9165 case '"':
9166 case '#':
9167 case '$':
9168 case '%':
9169 case '&':
9170 case '\'':
9171 case '(':
9172 case ')':
9173 case '*':
9174 case '+':
9175 case ',':
9176 case '-':
9177 case '.':
9178 case '/':
9179 case ':':
9180 case ';':
9181 case '<':
9182 case '=':
9183 case '>':
9184 case '?':
9185 case '@':
9186 case '[':
9187 case ']':
9188 case '^':
9189 case '`':
9190 case '{':
9191 case '|':
9192 case '}':
9193 case '~':
9194 case 0x7F: goto yy551;
9195 case '\\': goto yy138;
9196 default: goto yy61;
9197 }
9198 yy551:
9199 #line 404 "src/parser.re"
9200 { NEWTOKEN(PSI_T_UINT64); goto start; }
9201 #line 9202 "src/parser.c"
9202 yy552:
9203 yyaccept = 78;
9204 yych = *(mrk = ++cur);
9205 switch (yych) {
9206 case 0x00:
9207 case 0x01:
9208 case 0x02:
9209 case 0x03:
9210 case 0x04:
9211 case 0x05:
9212 case 0x06:
9213 case 0x07:
9214 case 0x08:
9215 case '\t':
9216 case '\n':
9217 case '\v':
9218 case '\f':
9219 case '\r':
9220 case 0x0E:
9221 case 0x0F:
9222 case 0x10:
9223 case 0x11:
9224 case 0x12:
9225 case 0x13:
9226 case 0x14:
9227 case 0x15:
9228 case 0x16:
9229 case 0x17:
9230 case 0x18:
9231 case 0x19:
9232 case 0x1A:
9233 case 0x1B:
9234 case 0x1C:
9235 case 0x1D:
9236 case 0x1E:
9237 case 0x1F:
9238 case ' ':
9239 case '!':
9240 case '"':
9241 case '#':
9242 case '$':
9243 case '%':
9244 case '&':
9245 case '\'':
9246 case '(':
9247 case ')':
9248 case '*':
9249 case '+':
9250 case ',':
9251 case '-':
9252 case '.':
9253 case '/':
9254 case ':':
9255 case ';':
9256 case '<':
9257 case '=':
9258 case '>':
9259 case '?':
9260 case '@':
9261 case '[':
9262 case ']':
9263 case '^':
9264 case '`':
9265 case '{':
9266 case '|':
9267 case '}':
9268 case '~':
9269 case 0x7F: goto yy553;
9270 case '\\': goto yy138;
9271 default: goto yy61;
9272 }
9273 yy553:
9274 #line 405 "src/parser.re"
9275 { NEWTOKEN(PSI_T_UNSIGNED); goto start; }
9276 #line 9277 "src/parser.c"
9277 yy554:
9278 yyaccept = 5;
9279 yych = *(mrk = ++cur);
9280 switch (yych) {
9281 case 'u': goto yy566;
9282 default: goto yy62;
9283 }
9284 yy555:
9285 yyaccept = 5;
9286 yych = *(mrk = ++cur);
9287 switch (yych) {
9288 case 'i': goto yy567;
9289 default: goto yy62;
9290 }
9291 yy556:
9292 yyaccept = 5;
9293 yych = *(mrk = ++cur);
9294 switch (yych) {
9295 case 'c': goto yy568;
9296 default: goto yy62;
9297 }
9298 yy557:
9299 yyaccept = 5;
9300 mrk = ++cur;
9301 if (lim <= cur) if (cur >= lim) goto done;;
9302 yych = *cur;
9303 switch (yych) {
9304 case 0x00:
9305 case 0x01:
9306 case 0x02:
9307 case 0x03:
9308 case 0x04:
9309 case 0x05:
9310 case 0x06:
9311 case 0x07:
9312 case 0x08:
9313 case '\t':
9314 case '\n':
9315 case '\v':
9316 case '\f':
9317 case '\r':
9318 case 0x0E:
9319 case 0x0F:
9320 case 0x10:
9321 case 0x11:
9322 case 0x12:
9323 case 0x13:
9324 case 0x14:
9325 case 0x15:
9326 case 0x16:
9327 case 0x17:
9328 case 0x18:
9329 case 0x19:
9330 case 0x1A:
9331 case 0x1B:
9332 case 0x1C:
9333 case 0x1D:
9334 case 0x1E:
9335 case 0x1F:
9336 case ' ':
9337 case '!':
9338 case '"':
9339 case '#':
9340 case '$':
9341 case '%':
9342 case '&':
9343 case '\'':
9344 case '(':
9345 case ')':
9346 case '*':
9347 case '+':
9348 case ',':
9349 case '-':
9350 case '.':
9351 case '/':
9352 case ':':
9353 case ';':
9354 case '<':
9355 case '=':
9356 case '>':
9357 case '?':
9358 case '@':
9359 case '[':
9360 case ']':
9361 case '^':
9362 case '`':
9363 case '{':
9364 case '|':
9365 case '}':
9366 case '~':
9367 case 0x7F: goto yy55;
9368 case '\\': goto yy138;
9369 case 'n': goto yy569;
9370 case 'o': goto yy557;
9371 default: goto yy527;
9372 }
9373 yy559:
9374 yyaccept = 5;
9375 yych = *(mrk = ++cur);
9376 switch (yych) {
9377 case 'E':
9378 case 'e': goto yy570;
9379 default: goto yy62;
9380 }
9381 yy560:
9382 yyaccept = 5;
9383 yych = *(mrk = ++cur);
9384 switch (yych) {
9385 case 'R':
9386 case 'r': goto yy571;
9387 default: goto yy62;
9388 }
9389 yy561:
9390 yyaccept = 5;
9391 yych = *(mrk = ++cur);
9392 switch (yych) {
9393 case 'T':
9394 case 't': goto yy572;
9395 default: goto yy62;
9396 }
9397 yy562:
9398 yyaccept = 79;
9399 yych = *(mrk = ++cur);
9400 switch (yych) {
9401 case 0x00:
9402 case 0x01:
9403 case 0x02:
9404 case 0x03:
9405 case 0x04:
9406 case 0x05:
9407 case 0x06:
9408 case 0x07:
9409 case 0x08:
9410 case '\t':
9411 case '\n':
9412 case '\v':
9413 case '\f':
9414 case '\r':
9415 case 0x0E:
9416 case 0x0F:
9417 case 0x10:
9418 case 0x11:
9419 case 0x12:
9420 case 0x13:
9421 case 0x14:
9422 case 0x15:
9423 case 0x16:
9424 case 0x17:
9425 case 0x18:
9426 case 0x19:
9427 case 0x1A:
9428 case 0x1B:
9429 case 0x1C:
9430 case 0x1D:
9431 case 0x1E:
9432 case 0x1F:
9433 case ' ':
9434 case '!':
9435 case '"':
9436 case '#':
9437 case '$':
9438 case '%':
9439 case '&':
9440 case '\'':
9441 case '(':
9442 case ')':
9443 case '*':
9444 case '+':
9445 case ',':
9446 case '-':
9447 case '.':
9448 case '/':
9449 case ':':
9450 case ';':
9451 case '<':
9452 case '=':
9453 case '>':
9454 case '?':
9455 case '@':
9456 case '[':
9457 case ']':
9458 case '^':
9459 case '`':
9460 case '{':
9461 case '|':
9462 case '}':
9463 case '~':
9464 case 0x7F: goto yy563;
9465 case '\\': goto yy138;
9466 default: goto yy61;
9467 }
9468 yy563:
9469 #line 437 "src/parser.re"
9470 { NEWTOKEN(PSI_T_TO_OBJECT); goto start; }
9471 #line 9472 "src/parser.c"
9472 yy564:
9473 yyaccept = 80;
9474 yych = *(mrk = ++cur);
9475 switch (yych) {
9476 case 0x00:
9477 case 0x01:
9478 case 0x02:
9479 case 0x03:
9480 case 0x04:
9481 case 0x05:
9482 case 0x06:
9483 case 0x07:
9484 case 0x08:
9485 case '\t':
9486 case '\n':
9487 case '\v':
9488 case '\f':
9489 case '\r':
9490 case 0x0E:
9491 case 0x0F:
9492 case 0x10:
9493 case 0x11:
9494 case 0x12:
9495 case 0x13:
9496 case 0x14:
9497 case 0x15:
9498 case 0x16:
9499 case 0x17:
9500 case 0x18:
9501 case 0x19:
9502 case 0x1A:
9503 case 0x1B:
9504 case 0x1C:
9505 case 0x1D:
9506 case 0x1E:
9507 case 0x1F:
9508 case ' ':
9509 case '!':
9510 case '"':
9511 case '#':
9512 case '$':
9513 case '%':
9514 case '&':
9515 case '\'':
9516 case '(':
9517 case ')':
9518 case '*':
9519 case '+':
9520 case ',':
9521 case '-':
9522 case '.':
9523 case '/':
9524 case ':':
9525 case ';':
9526 case '<':
9527 case '=':
9528 case '>':
9529 case '?':
9530 case '@':
9531 case '[':
9532 case ']':
9533 case '^':
9534 case '`':
9535 case '{':
9536 case '|':
9537 case '}':
9538 case '~':
9539 case 0x7F: goto yy565;
9540 case '\\': goto yy138;
9541 default: goto yy61;
9542 }
9543 yy565:
9544 #line 439 "src/parser.re"
9545 { NEWTOKEN(PSI_T_TO_STRING); goto start; }
9546 #line 9547 "src/parser.c"
9547 yy566:
9548 yyaccept = 5;
9549 yych = *(mrk = ++cur);
9550 switch (yych) {
9551 case 't': goto yy574;
9552 default: goto yy62;
9553 }
9554 yy567:
9555 yyaccept = 5;
9556 yych = *(mrk = ++cur);
9557 switch (yych) {
9558 case 'o': goto yy575;
9559 default: goto yy62;
9560 }
9561 yy568:
9562 yyaccept = 5;
9563 yych = *(mrk = ++cur);
9564 switch (yych) {
9565 case 't': goto yy576;
9566 default: goto yy62;
9567 }
9568 yy569:
9569 yyaccept = 5;
9570 mrk = ++cur;
9571 if (lim <= cur) if (cur >= lim) goto done;;
9572 yych = *cur;
9573 switch (yych) {
9574 case 0x00:
9575 case 0x01:
9576 case 0x02:
9577 case 0x03:
9578 case 0x04:
9579 case 0x05:
9580 case 0x06:
9581 case 0x07:
9582 case 0x08:
9583 case '\t':
9584 case '\n':
9585 case '\v':
9586 case '\f':
9587 case '\r':
9588 case 0x0E:
9589 case 0x0F:
9590 case 0x10:
9591 case 0x11:
9592 case 0x12:
9593 case 0x13:
9594 case 0x14:
9595 case 0x15:
9596 case 0x16:
9597 case 0x17:
9598 case 0x18:
9599 case 0x19:
9600 case 0x1A:
9601 case 0x1B:
9602 case 0x1C:
9603 case 0x1D:
9604 case 0x1E:
9605 case 0x1F:
9606 case ' ':
9607 case '!':
9608 case '"':
9609 case '#':
9610 case '$':
9611 case '%':
9612 case '&':
9613 case '\'':
9614 case '(':
9615 case ')':
9616 case '*':
9617 case '+':
9618 case ',':
9619 case '-':
9620 case '.':
9621 case '/':
9622 case ':':
9623 case ';':
9624 case '<':
9625 case '=':
9626 case '>':
9627 case '?':
9628 case '@':
9629 case '[':
9630 case ']':
9631 case '^':
9632 case '`':
9633 case '{':
9634 case '|':
9635 case '}':
9636 case '~':
9637 case 0x7F: goto yy55;
9638 case '\\': goto yy138;
9639 case 'c': goto yy578;
9640 case 'o': goto yy557;
9641 default: goto yy527;
9642 }
9643 yy570:
9644 yyaccept = 5;
9645 yych = *(mrk = ++cur);
9646 switch (yych) {
9647 case 'X':
9648 case 'x': goto yy579;
9649 default: goto yy62;
9650 }
9651 yy571:
9652 yyaccept = 5;
9653 yych = *(mrk = ++cur);
9654 switch (yych) {
9655 case 'T':
9656 case 't': goto yy580;
9657 default: goto yy62;
9658 }
9659 yy572:
9660 yyaccept = 81;
9661 yych = *(mrk = ++cur);
9662 switch (yych) {
9663 case 0x00:
9664 case 0x01:
9665 case 0x02:
9666 case 0x03:
9667 case 0x04:
9668 case 0x05:
9669 case 0x06:
9670 case 0x07:
9671 case 0x08:
9672 case '\t':
9673 case '\n':
9674 case '\v':
9675 case '\f':
9676 case '\r':
9677 case 0x0E:
9678 case 0x0F:
9679 case 0x10:
9680 case 0x11:
9681 case 0x12:
9682 case 0x13:
9683 case 0x14:
9684 case 0x15:
9685 case 0x16:
9686 case 0x17:
9687 case 0x18:
9688 case 0x19:
9689 case 0x1A:
9690 case 0x1B:
9691 case 0x1C:
9692 case 0x1D:
9693 case 0x1E:
9694 case 0x1F:
9695 case ' ':
9696 case '!':
9697 case '"':
9698 case '#':
9699 case '$':
9700 case '%':
9701 case '&':
9702 case '\'':
9703 case '(':
9704 case ')':
9705 case '*':
9706 case '+':
9707 case ',':
9708 case '-':
9709 case '.':
9710 case '/':
9711 case ':':
9712 case ';':
9713 case '<':
9714 case '=':
9715 case '>':
9716 case '?':
9717 case '@':
9718 case '[':
9719 case ']':
9720 case '^':
9721 case '`':
9722 case '{':
9723 case '|':
9724 case '}':
9725 case '~':
9726 case 0x7F: goto yy573;
9727 case '\\': goto yy138;
9728 default: goto yy61;
9729 }
9730 yy573:
9731 #line 421 "src/parser.re"
9732 { NEWTOKEN(PSI_T_PRE_ASSERT); goto start; }
9733 #line 9734 "src/parser.c"
9734 yy574:
9735 yyaccept = 5;
9736 yych = *(mrk = ++cur);
9737 switch (yych) {
9738 case 'e': goto yy582;
9739 default: goto yy62;
9740 }
9741 yy575:
9742 yyaccept = 5;
9743 yych = *(mrk = ++cur);
9744 switch (yych) {
9745 case 'n': goto yy583;
9746 default: goto yy62;
9747 }
9748 yy576:
9749 yyaccept = 82;
9750 yych = *(mrk = ++cur);
9751 switch (yych) {
9752 case 0x00:
9753 case 0x01:
9754 case 0x02:
9755 case 0x03:
9756 case 0x04:
9757 case 0x05:
9758 case 0x06:
9759 case 0x07:
9760 case 0x08:
9761 case '\t':
9762 case '\n':
9763 case '\v':
9764 case '\f':
9765 case '\r':
9766 case 0x0E:
9767 case 0x0F:
9768 case 0x10:
9769 case 0x11:
9770 case 0x12:
9771 case 0x13:
9772 case 0x14:
9773 case 0x15:
9774 case 0x16:
9775 case 0x17:
9776 case 0x18:
9777 case 0x19:
9778 case 0x1A:
9779 case 0x1B:
9780 case 0x1C:
9781 case 0x1D:
9782 case 0x1E:
9783 case 0x1F:
9784 case ' ':
9785 case '!':
9786 case '"':
9787 case '#':
9788 case '$':
9789 case '%':
9790 case '&':
9791 case '\'':
9792 case '(':
9793 case ')':
9794 case '*':
9795 case '+':
9796 case ',':
9797 case '-':
9798 case '.':
9799 case '/':
9800 case ':':
9801 case ';':
9802 case '<':
9803 case '=':
9804 case '>':
9805 case '?':
9806 case '@':
9807 case '[':
9808 case ']':
9809 case '^':
9810 case '`':
9811 case '{':
9812 case '|':
9813 case '}':
9814 case '~':
9815 case 0x7F: goto yy577;
9816 case '\\': goto yy138;
9817 default: goto yy61;
9818 }
9819 yy577:
9820 #line 367 "src/parser.re"
9821 { NEWTOKEN(PSI_T_CPP_RESTRICT); goto start; }
9822 #line 9823 "src/parser.c"
9823 yy578:
9824 yyaccept = 5;
9825 mrk = ++cur;
9826 if (lim <= cur) if (cur >= lim) goto done;;
9827 yych = *cur;
9828 switch (yych) {
9829 case 0x00:
9830 case 0x01:
9831 case 0x02:
9832 case 0x03:
9833 case 0x04:
9834 case 0x05:
9835 case 0x06:
9836 case 0x07:
9837 case 0x08:
9838 case '\t':
9839 case '\n':
9840 case '\v':
9841 case '\f':
9842 case '\r':
9843 case 0x0E:
9844 case 0x0F:
9845 case 0x10:
9846 case 0x11:
9847 case 0x12:
9848 case 0x13:
9849 case 0x14:
9850 case 0x15:
9851 case 0x16:
9852 case 0x17:
9853 case 0x18:
9854 case 0x19:
9855 case 0x1A:
9856 case 0x1B:
9857 case 0x1C:
9858 case 0x1D:
9859 case 0x1E:
9860 case 0x1F:
9861 case ' ':
9862 case '!':
9863 case '"':
9864 case '#':
9865 case '$':
9866 case '%':
9867 case '&':
9868 case '\'':
9869 case '(':
9870 case ')':
9871 case '*':
9872 case '+':
9873 case ',':
9874 case '-':
9875 case '.':
9876 case '/':
9877 case ':':
9878 case ';':
9879 case '<':
9880 case '=':
9881 case '>':
9882 case '?':
9883 case '@':
9884 case '[':
9885 case ']':
9886 case '^':
9887 case '`':
9888 case '{':
9889 case '|':
9890 case '}':
9891 case '~':
9892 case 0x7F: goto yy55;
9893 case '\\': goto yy138;
9894 case 'e': goto yy584;
9895 case 'o': goto yy557;
9896 default: goto yy527;
9897 }
9898 yy579:
9899 yyaccept = 5;
9900 yych = *(mrk = ++cur);
9901 switch (yych) {
9902 case 'T':
9903 case 't': goto yy586;
9904 default: goto yy62;
9905 }
9906 yy580:
9907 yyaccept = 83;
9908 yych = *(mrk = ++cur);
9909 switch (yych) {
9910 case 0x00:
9911 case 0x01:
9912 case 0x02:
9913 case 0x03:
9914 case 0x04:
9915 case 0x05:
9916 case 0x06:
9917 case 0x07:
9918 case 0x08:
9919 case '\t':
9920 case '\n':
9921 case '\v':
9922 case '\f':
9923 case '\r':
9924 case 0x0E:
9925 case 0x0F:
9926 case 0x10:
9927 case 0x11:
9928 case 0x12:
9929 case 0x13:
9930 case 0x14:
9931 case 0x15:
9932 case 0x16:
9933 case 0x17:
9934 case 0x18:
9935 case 0x19:
9936 case 0x1A:
9937 case 0x1B:
9938 case 0x1C:
9939 case 0x1D:
9940 case 0x1E:
9941 case 0x1F:
9942 case ' ':
9943 case '!':
9944 case '"':
9945 case '#':
9946 case '$':
9947 case '%':
9948 case '&':
9949 case '\'':
9950 case '(':
9951 case ')':
9952 case '*':
9953 case '+':
9954 case ',':
9955 case '-':
9956 case '.':
9957 case '/':
9958 case ':':
9959 case ';':
9960 case '<':
9961 case '=':
9962 case '>':
9963 case '?':
9964 case '@':
9965 case '[':
9966 case ']':
9967 case '^':
9968 case '`':
9969 case '{':
9970 case '|':
9971 case '}':
9972 case '~':
9973 case 0x7F: goto yy581;
9974 case '\\': goto yy138;
9975 default: goto yy61;
9976 }
9977 yy581:
9978 #line 422 "src/parser.re"
9979 { NEWTOKEN(PSI_T_POST_ASSERT); goto start; }
9980 #line 9981 "src/parser.c"
9981 yy582:
9982 yyaccept = 5;
9983 yych = *(mrk = ++cur);
9984 switch (yych) {
9985 case '_': goto yy588;
9986 default: goto yy62;
9987 }
9988 yy583:
9989 yyaccept = 5;
9990 yych = *(mrk = ++cur);
9991 switch (yych) {
9992 case '_': goto yy589;
9993 default: goto yy62;
9994 }
9995 yy584:
9996 yyaccept = 84;
9997 mrk = ++cur;
9998 if (lim <= cur) if (cur >= lim) goto done;;
9999 yych = *cur;
10000 switch (yych) {
10001 case 0x00:
10002 case 0x01:
10003 case 0x02:
10004 case 0x03:
10005 case 0x04:
10006 case 0x05:
10007 case 0x06:
10008 case 0x07:
10009 case 0x08:
10010 case '\t':
10011 case '\n':
10012 case '\v':
10013 case '\f':
10014 case '\r':
10015 case 0x0E:
10016 case 0x0F:
10017 case 0x10:
10018 case 0x11:
10019 case 0x12:
10020 case 0x13:
10021 case 0x14:
10022 case 0x15:
10023 case 0x16:
10024 case 0x17:
10025 case 0x18:
10026 case 0x19:
10027 case 0x1A:
10028 case 0x1B:
10029 case 0x1C:
10030 case 0x1D:
10031 case 0x1E:
10032 case 0x1F:
10033 case ' ':
10034 case '!':
10035 case '"':
10036 case '#':
10037 case '$':
10038 case '%':
10039 case '&':
10040 case '\'':
10041 case '(':
10042 case ')':
10043 case '*':
10044 case '+':
10045 case ',':
10046 case '-':
10047 case '.':
10048 case '/':
10049 case ':':
10050 case ';':
10051 case '<':
10052 case '=':
10053 case '>':
10054 case '?':
10055 case '@':
10056 case '[':
10057 case ']':
10058 case '^':
10059 case '`':
10060 case '{':
10061 case '|':
10062 case '}':
10063 case '~':
10064 case 0x7F: goto yy585;
10065 case '\\': goto yy138;
10066 case 'o': goto yy557;
10067 default: goto yy527;
10068 }
10069 yy585:
10070 #line 366 "src/parser.re"
10071 { NEWTOKEN(PSI_T_PRAGMA_ONCE); goto start; }
10072 #line 10073 "src/parser.c"
10073 yy586:
10074 yyaccept = 85;
10075 yych = *(mrk = ++cur);
10076 switch (yych) {
10077 case 0x00:
10078 case 0x01:
10079 case 0x02:
10080 case 0x03:
10081 case 0x04:
10082 case 0x05:
10083 case 0x06:
10084 case 0x07:
10085 case 0x08:
10086 case '\t':
10087 case '\n':
10088 case '\v':
10089 case '\f':
10090 case '\r':
10091 case 0x0E:
10092 case 0x0F:
10093 case 0x10:
10094 case 0x11:
10095 case 0x12:
10096 case 0x13:
10097 case 0x14:
10098 case 0x15:
10099 case 0x16:
10100 case 0x17:
10101 case 0x18:
10102 case 0x19:
10103 case 0x1A:
10104 case 0x1B:
10105 case 0x1C:
10106 case 0x1D:
10107 case 0x1E:
10108 case 0x1F:
10109 case ' ':
10110 case '!':
10111 case '"':
10112 case '#':
10113 case '$':
10114 case '%':
10115 case '&':
10116 case '\'':
10117 case '(':
10118 case ')':
10119 case '*':
10120 case '+':
10121 case ',':
10122 case '-':
10123 case '.':
10124 case '/':
10125 case ':':
10126 case ';':
10127 case '<':
10128 case '=':
10129 case '>':
10130 case '?':
10131 case '@':
10132 case '[':
10133 case ']':
10134 case '^':
10135 case '`':
10136 case '{':
10137 case '|':
10138 case '}':
10139 case '~':
10140 case 0x7F: goto yy587;
10141 case '\\': goto yy138;
10142 default: goto yy61;
10143 }
10144 yy587:
10145 #line 383 "src/parser.re"
10146 { NEWTOKEN(PSI_T_INCLUDE_NEXT); goto start; }
10147 #line 10148 "src/parser.c"
10148 yy588:
10149 yyaccept = 5;
10150 yych = *(mrk = ++cur);
10151 switch (yych) {
10152 case '_': goto yy590;
10153 default: goto yy62;
10154 }
10155 yy589:
10156 yyaccept = 5;
10157 yych = *(mrk = ++cur);
10158 switch (yych) {
10159 case '_': goto yy591;
10160 default: goto yy62;
10161 }
10162 yy590:
10163 yyaccept = 5;
10164 yych = *(mrk = ++cur);
10165 switch (yych) {
10166 case 0x00:
10167 case 0x01:
10168 case 0x02:
10169 case 0x03:
10170 case 0x04:
10171 case 0x05:
10172 case 0x06:
10173 case 0x07:
10174 case 0x08:
10175 case '\n':
10176 case '\v':
10177 case '\r':
10178 case 0x0E:
10179 case 0x0F:
10180 case 0x10:
10181 case 0x11:
10182 case 0x12:
10183 case 0x13:
10184 case 0x14:
10185 case 0x15:
10186 case 0x16:
10187 case 0x17:
10188 case 0x18:
10189 case 0x19:
10190 case 0x1A:
10191 case 0x1B:
10192 case 0x1C:
10193 case 0x1D:
10194 case 0x1E:
10195 case 0x1F:
10196 case '!':
10197 case '"':
10198 case '#':
10199 case '$':
10200 case '%':
10201 case '&':
10202 case '\'':
10203 case ')':
10204 case '*':
10205 case '+':
10206 case ',':
10207 case '-':
10208 case '.':
10209 case '/':
10210 case ':':
10211 case ';':
10212 case '<':
10213 case '=':
10214 case '>':
10215 case '?':
10216 case '@':
10217 case '[':
10218 case ']':
10219 case '^':
10220 case '`':
10221 case '{':
10222 case '|':
10223 case '}':
10224 case '~':
10225 case 0x7F: goto yy55;
10226 case '\t':
10227 case '\f':
10228 case ' ': goto yy593;
10229 case '(': goto yy595;
10230 case '\\': goto yy138;
10231 default: goto yy61;
10232 }
10233 yy591:
10234 yyaccept = 86;
10235 yych = *(mrk = ++cur);
10236 switch (yych) {
10237 case 0x00:
10238 case 0x01:
10239 case 0x02:
10240 case 0x03:
10241 case 0x04:
10242 case 0x05:
10243 case 0x06:
10244 case 0x07:
10245 case 0x08:
10246 case '\t':
10247 case '\n':
10248 case '\v':
10249 case '\f':
10250 case '\r':
10251 case 0x0E:
10252 case 0x0F:
10253 case 0x10:
10254 case 0x11:
10255 case 0x12:
10256 case 0x13:
10257 case 0x14:
10258 case 0x15:
10259 case 0x16:
10260 case 0x17:
10261 case 0x18:
10262 case 0x19:
10263 case 0x1A:
10264 case 0x1B:
10265 case 0x1C:
10266 case 0x1D:
10267 case 0x1E:
10268 case 0x1F:
10269 case ' ':
10270 case '!':
10271 case '"':
10272 case '#':
10273 case '$':
10274 case '%':
10275 case '&':
10276 case '\'':
10277 case '(':
10278 case ')':
10279 case '*':
10280 case '+':
10281 case ',':
10282 case '-':
10283 case '.':
10284 case '/':
10285 case ':':
10286 case ';':
10287 case '<':
10288 case '=':
10289 case '>':
10290 case '?':
10291 case '@':
10292 case '[':
10293 case ']':
10294 case '^':
10295 case '`':
10296 case '{':
10297 case '|':
10298 case '}':
10299 case '~':
10300 case 0x7F: goto yy592;
10301 case '\\': goto yy138;
10302 default: goto yy61;
10303 }
10304 yy592:
10305 #line 368 "src/parser.re"
10306 { NEWTOKEN(PSI_T_CPP_EXTENSION); goto start; }
10307 #line 10308 "src/parser.c"
10308 yy593:
10309 ++cur;
10310 if ((lim - cur) < 2) if (cur >= lim) goto done;;
10311 yych = *cur;
10312 switch (yych) {
10313 case '\t':
10314 case '\f':
10315 case ' ': goto yy593;
10316 case '(': goto yy595;
10317 default: goto yy106;
10318 }
10319 yy595:
10320 yych = *++cur;
10321 switch (yych) {
10322 case '(': goto yy596;
10323 default: goto yy106;
10324 }
10325 yy596:
10326 ++cur;
10327 #line 447 "src/parser.re"
10328 { parens = 2; goto cpp_attribute; }
10329 #line 10330 "src/parser.c"
10330 }
10331 #line 453 "src/parser.re"
10332
10333
10334 character: ;
10335
10336 #line 10337 "src/parser.c"
10337 {
10338 unsigned char yych;
10339 if (lim <= cur) if (cur >= lim) goto done;;
10340 yych = *cur;
10341 switch (yych) {
10342 case '\n':
10343 case '\r': goto yy602;
10344 case '\'': goto yy604;
10345 case '\\': goto yy606;
10346 default: goto yy600;
10347 }
10348 yy600:
10349 ++cur;
10350 #line 461 "src/parser.re"
10351 { goto character; }
10352 #line 10353 "src/parser.c"
10353 yy602:
10354 ++cur;
10355 #line 459 "src/parser.re"
10356 { NEWLINE(); goto character; }
10357 #line 10358 "src/parser.c"
10358 yy604:
10359 ++cur;
10360 #line 458 "src/parser.re"
10361 { if (escaped) goto character; cur -= 1; NEWTOKEN(PSI_T_QUOTED_CHAR); cur += 1; token->flags = char_width; goto start; }
10362 #line 10363 "src/parser.c"
10363 yy606:
10364 ++cur;
10365 #line 460 "src/parser.re"
10366 { escaped = !escaped; }
10367 #line 10368 "src/parser.c"
10368 }
10369 #line 463 "src/parser.re"
10370
10371 string: ;
10372
10373 #line 10374 "src/parser.c"
10374 {
10375 unsigned char yych;
10376 if (lim <= cur) if (cur >= lim) goto done;;
10377 yych = *cur;
10378 switch (yych) {
10379 case '\n':
10380 case '\r': goto yy612;
10381 case '"': goto yy614;
10382 case '\\': goto yy616;
10383 default: goto yy610;
10384 }
10385 yy610:
10386 ++cur;
10387 #line 470 "src/parser.re"
10388 { goto string; }
10389 #line 10390 "src/parser.c"
10390 yy612:
10391 ++cur;
10392 #line 468 "src/parser.re"
10393 { NEWLINE(); goto string; }
10394 #line 10395 "src/parser.c"
10395 yy614:
10396 ++cur;
10397 #line 467 "src/parser.re"
10398 { if (escaped) goto string; cur -= 1; NEWTOKEN(PSI_T_QUOTED_STRING); cur += 1; token->flags = char_width; goto start; }
10399 #line 10400 "src/parser.c"
10400 yy616:
10401 ++cur;
10402 #line 469 "src/parser.re"
10403 { escaped = !escaped; goto string; }
10404 #line 10405 "src/parser.c"
10405 }
10406 #line 472 "src/parser.re"
10407
10408
10409 comment: ;
10410
10411 #line 10412 "src/parser.c"
10412 {
10413 unsigned char yych;
10414 if ((lim - cur) < 2) if (cur >= lim) goto done;;
10415 yych = *cur;
10416 switch (yych) {
10417 case '\n':
10418 case '\r': goto yy622;
10419 case '*': goto yy624;
10420 default: goto yy620;
10421 }
10422 yy620:
10423 ++cur;
10424 yy621:
10425 #line 479 "src/parser.re"
10426 { goto comment; }
10427 #line 10428 "src/parser.c"
10428 yy622:
10429 ++cur;
10430 #line 477 "src/parser.re"
10431 { NEWLINE(); goto comment; }
10432 #line 10433 "src/parser.c"
10433 yy624:
10434 yych = *++cur;
10435 switch (yych) {
10436 case '/': goto yy625;
10437 default: goto yy621;
10438 }
10439 yy625:
10440 ++cur;
10441 #line 478 "src/parser.re"
10442 { NEWTOKEN(PSI_T_COMMENT); goto start; }
10443 #line 10444 "src/parser.c"
10444 }
10445 #line 481 "src/parser.re"
10446
10447
10448 comment_sl: ;
10449
10450 #line 10451 "src/parser.c"
10451 {
10452 unsigned char yych;
10453 if (lim <= cur) if (cur >= lim) goto done;;
10454 yych = *cur;
10455 switch (yych) {
10456 case '\n':
10457 case '\r': goto yy631;
10458 default: goto yy629;
10459 }
10460 yy629:
10461 ++cur;
10462 #line 487 "src/parser.re"
10463 { goto comment_sl; }
10464 #line 10465 "src/parser.c"
10465 yy631:
10466 ++cur;
10467 #line 486 "src/parser.re"
10468 { NEWTOKEN(PSI_T_COMMENT); NEWLINE(); goto start; }
10469 #line 10470 "src/parser.c"
10470 }
10471 #line 489 "src/parser.re"
10472
10473
10474 cpp_attribute: ;
10475
10476
10477 #line 10478 "src/parser.c"
10478 {
10479 unsigned char yych;
10480 if (lim <= cur) if (cur >= lim) goto done;;
10481 yych = *cur;
10482 switch (yych) {
10483 case '\n':
10484 case '\r': goto yy637;
10485 case '(': goto yy639;
10486 case ')': goto yy641;
10487 default: goto yy635;
10488 }
10489 yy635:
10490 ++cur;
10491 #line 498 "src/parser.re"
10492 { goto cpp_attribute; }
10493 #line 10494 "src/parser.c"
10494 yy637:
10495 ++cur;
10496 #line 497 "src/parser.re"
10497 { NEWLINE(); goto cpp_attribute; }
10498 #line 10499 "src/parser.c"
10499 yy639:
10500 ++cur;
10501 #line 495 "src/parser.re"
10502 { ++parens; goto cpp_attribute; }
10503 #line 10504 "src/parser.c"
10504 yy641:
10505 ++cur;
10506 #line 496 "src/parser.re"
10507 { if (parens == 1) { NEWTOKEN(PSI_T_CPP_ATTRIBUTE); goto start; } else { --parens; goto cpp_attribute; } }
10508 #line 10509 "src/parser.c"
10509 }
10510 #line 500 "src/parser.re"
10511
10512 error: ;
10513
10514 P->error(PSI_DATA(P), token, PSI_WARNING, "PSI syntax error: unexpected input (%d) '%.*s' at col %tu",
10515 token->type, token->size, token->text, tok - eol + 1);
10516 psi_plist_free(tokens);
10517 return NULL;
10518
10519 done:
10520
10521 PSI_DEBUG_PRINT(P, "PSI: EOF cur=%p lim=%p\n", cur, lim);
10522
10523 return tokens;
10524 }