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