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