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