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