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