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