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