/
mojoshader_lexer.c
1361 lines (1334 loc) · 24.5 KB
1
/* Generated by re2c 0.12.1 on Fri Feb 13 01:08:10 2009 */
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/**
* MojoShader; generate shader programs from bytecode of compiled
* Direct3D shaders.
*
* Please see the file LICENSE.txt in the source's root directory.
*
* This file written by Ryan C. Gordon.
*/
// This was originally based on examples/pp-c.re from re2c: http://re2c.org/
// re2c is public domain code.
//
// You build mojoshader_lexer_preprocessor.c from the .re file with re2c...
// re2c -is -o mojoshader_lexer_preprocessor.c mojoshader_lexer_preprocessor.re
//
// Changes to the lexer are done to the .re file, not the C code!
//
// Please note that this isn't a perfect C lexer, since it is used for both
// HLSL and shader assembly language, and follows the quirks of Microsoft's
// tools.
#define __MOJOSHADER_INTERNAL__ 1
#include "mojoshader_internal.h"
typedef unsigned char uchar;
28
#define RET(t) do { update_state(s, cursor, token); return t; } while (0)
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#define YYCTYPE uchar
#define YYCURSOR cursor
#define YYLIMIT limit
#define YYMARKER s->lexer_marker
#define YYFILL(n) { if ((n) == 1) { RET(TOKEN_EOI); } }
static void update_state(IncludeState *s, const uchar *cur, const uchar *tok)
{
s->bytes_left -= (unsigned int) (cur - ((const uchar *) s->source));
s->source = (const char *) cur;
s->token = (const char *) tok;
} // update_state
Token preprocessor_internal_lexer(IncludeState *s)
{
const uchar *cursor = (const uchar *) s->source;
const uchar *token;
46
const uchar *matchptr;
47
const uchar *limit = cursor + s->bytes_left;
48
int saw_newline = 0;
49
50
51
52
53
54
55
56
57
58
59
60
61
62
scanner_loop:
token = cursor;
if (YYLIMIT == YYCURSOR)
RET(TOKEN_EOI);
{
YYCTYPE yych;
unsigned int yyaccept = 0;
63
if((YYLIMIT - YYCURSOR) < 8) YYFILL(8);
64
yych = *YYCURSOR;
65
66
67
68
switch(yych) {
case 0x09:
case 0x0B:
case 0x0C:
69
case ' ': goto yy62;
70
71
case 0x0A: goto yy64;
case 0x0D: goto yy66;
72
case '!': goto yy34;
73
case '"': goto yy13;
74
75
76
case '#': goto yy36;
case '%': goto yy24;
case '&': goto yy28;
77
case '\'': goto yy9;
78
79
80
81
82
83
case '(': goto yy38;
case ')': goto yy40;
case '*': goto yy22;
case '+': goto yy18;
case ',': goto yy46;
case '-': goto yy20;
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
case '.': goto yy11;
case '/': goto yy2;
case '0': goto yy6;
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9': goto yy8;
case ':': goto yy50;
case ';': goto yy52;
case '<': goto yy16;
99
case '=': goto yy32;
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
case '>': goto yy14;
case '?': goto yy58;
case 'A':
case 'B':
case 'C':
case 'D':
case 'E':
case 'F':
case 'G':
case 'H':
case 'I':
case 'J':
case 'K':
case 'L':
case 'M':
case 'N':
case 'O':
case 'P':
case 'Q':
case 'R':
case 'S':
case 'T':
case 'U':
case 'V':
case 'W':
case 'X':
case 'Y':
case 'Z':
case '_':
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
case 'f':
case 'g':
case 'h':
case 'i':
case 'j':
case 'k':
case 'l':
case 'm':
case 'n':
case 'o':
case 'p':
case 'q':
case 'r':
case 's':
case 't':
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
case 'z': goto yy4;
155
case '[': goto yy42;
156
case '\\': goto yy60;
157
158
case ']': goto yy44;
case '^': goto yy26;
159
case '{': goto yy54;
160
case '|': goto yy30;
161
case '}': goto yy56;
162
case '~': goto yy48;
163
164
165
166
default: goto yy67;
}
yy2:
++YYCURSOR;
167
168
169
170
171
172
if((yych = *YYCURSOR) <= '.') {
if(yych == '*') goto yy230;
} else {
if(yych <= '/') goto yy228;
if(yych == '=') goto yy226;
}
173
174
175
176
{ RET('/'); }
yy4:
++YYCURSOR;
yych = *YYCURSOR;
177
goto yy225;
178
179
180
181
182
yy5:
{ RET(TOKEN_IDENTIFIER); }
yy6:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
183
184
if(yych <= 'X') {
if(yych <= 'T') {
185
186
if(yych == 'L') goto yy200;
goto yy216;
187
} else {
188
189
190
if(yych <= 'U') goto yy200;
if(yych <= 'W') goto yy216;
goto yy217;
191
192
}
} else {
193
if(yych <= 't') {
194
195
if(yych == 'l') goto yy200;
goto yy216;
196
} else {
197
198
199
if(yych <= 'u') goto yy200;
if(yych == 'x') goto yy217;
goto yy216;
200
201
202
203
204
205
206
}
}
yy7:
{ RET(TOKEN_INT_LITERAL); }
yy8:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
207
goto yy198;
208
209
210
yy9:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
211
212
if(yych == 0x0A) goto yy10;
if(yych != 0x0D) goto yy188;
213
yy10:
214
{ goto bad_chars; }
215
yy11:
216
217
218
++YYCURSOR;
if((yych = *YYCURSOR) <= '/') goto yy12;
if(yych <= '9') goto yy179;
219
220
221
222
223
yy12:
{ RET('.'); }
yy13:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
224
if(yych == 0x0A) goto yy10;
225
if(yych == 0x0D) goto yy10;
226
goto yy170;
227
228
yy14:
++YYCURSOR;
229
if((yych = *YYCURSOR) <= '<') goto yy15;
230
231
if(yych <= '=') goto yy163;
if(yych <= '>') goto yy165;
232
233
234
235
yy15:
{ RET('>'); }
yy16:
++YYCURSOR;
236
if((yych = *YYCURSOR) <= ';') goto yy17;
237
238
if(yych <= '<') goto yy159;
if(yych <= '=') goto yy157;
239
240
241
242
yy17:
{ RET('<'); }
yy18:
++YYCURSOR;
243
244
245
if((yych = *YYCURSOR) == '+') goto yy153;
if(yych == '=') goto yy155;
{ RET('+'); }
246
247
yy20:
++YYCURSOR;
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
if((yych = *YYCURSOR) == '-') goto yy149;
if(yych == '=') goto yy151;
{ RET('-'); }
yy22:
++YYCURSOR;
if((yych = *YYCURSOR) == '=') goto yy147;
{ RET('*'); }
yy24:
++YYCURSOR;
if((yych = *YYCURSOR) == '=') goto yy145;
{ RET('%'); }
yy26:
++YYCURSOR;
if((yych = *YYCURSOR) == '=') goto yy143;
{ RET('^'); }
yy28:
++YYCURSOR;
if((yych = *YYCURSOR) == '&') goto yy139;
if(yych == '=') goto yy141;
{ RET('&'); }
yy30:
++YYCURSOR;
if((yych = *YYCURSOR) == '=') goto yy137;
if(yych == '|') goto yy135;
272
{ RET('|'); }
273
yy32:
274
++YYCURSOR;
275
if((yych = *YYCURSOR) == '=') goto yy133;
276
{ RET('='); }
277
yy34:
278
++YYCURSOR;
279
if((yych = *YYCURSOR) == '=') goto yy131;
280
{ RET('!'); }
281
282
yy36:
yyaccept = 2;
283
yych = *(YYMARKER = ++YYCURSOR);
284
285
286
if(yych <= 'c') {
if(yych <= 0x1F) {
if(yych == 0x09) goto yy72;
287
} else {
288
289
if(yych <= ' ') goto yy72;
if(yych == '#') goto yy79;
290
291
}
} else {
292
293
294
if(yych <= 'k') {
if(yych <= 'e') goto yy72;
if(yych == 'i') goto yy72;
295
} else {
296
297
if(yych <= 'l') goto yy72;
if(yych == 'u') goto yy72;
298
299
}
}
300
yy37:
301
302
303
{ RET('#'); }
yy38:
++YYCURSOR;
304
{ RET('('); }
305
306
yy40:
++YYCURSOR;
307
{ RET(')'); }
308
309
yy42:
++YYCURSOR;
310
{ RET('['); }
311
312
yy44:
++YYCURSOR;
313
{ RET(']'); }
314
315
yy46:
++YYCURSOR;
316
{ RET(','); }
317
318
yy48:
++YYCURSOR;
319
{ RET('~'); }
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
yy50:
++YYCURSOR;
{ RET(':'); }
yy52:
++YYCURSOR;
{ RET(';'); }
yy54:
++YYCURSOR;
{ RET('{'); }
yy56:
++YYCURSOR;
{ RET('}'); }
yy58:
++YYCURSOR;
{ RET('?'); }
yy60:
++YYCURSOR;
{ RET('\\'); }
yy62:
++YYCURSOR;
yych = *YYCURSOR;
goto yy70;
yy63:
{ goto scanner_loop; }
yy64:
++YYCURSOR;
yy65:
347
{ s->line++; RET('\n'); }
348
349
yy66:
yych = *++YYCURSOR;
350
if(yych == 0x0A) goto yy68;
351
352
353
354
355
356
357
358
359
goto yy65;
yy67:
yych = *++YYCURSOR;
goto yy10;
yy68:
yych = *++YYCURSOR;
goto yy65;
yy69:
++YYCURSOR;
360
if(YYLIMIT == YYCURSOR) YYFILL(1);
361
362
yych = *YYCURSOR;
yy70:
363
364
if(yych <= 0x0A) {
if(yych == 0x09) goto yy69;
365
366
goto yy63;
} else {
367
368
if(yych <= 0x0C) goto yy69;
if(yych == ' ') goto yy69;
369
370
371
372
goto yy63;
}
yy71:
++YYCURSOR;
373
if((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
374
375
yych = *YYCURSOR;
yy72:
376
377
378
if(yych <= 'e') {
if(yych <= 0x1F) {
if(yych == 0x09) goto yy71;
379
} else {
380
381
382
if(yych <= ' ') goto yy71;
if(yych <= 'c') goto yy73;
if(yych <= 'd') goto yy77;
383
384
385
goto yy74;
}
} else {
386
387
if(yych <= 'k') {
if(yych == 'i') goto yy75;
388
} else {
389
390
if(yych <= 'l') goto yy78;
if(yych == 'u') goto yy76;
391
392
393
394
}
}
yy73:
YYCURSOR = YYMARKER;
395
396
397
if(yyaccept <= 2) {
if(yyaccept <= 1) {
if(yyaccept <= 0) {
398
399
400
401
402
goto yy7;
} else {
goto yy10;
}
} else {
403
goto yy37;
404
405
}
} else {
406
407
if(yyaccept <= 3) {
goto yy98;
408
} else {
409
goto yy181;
410
411
412
413
}
}
yy74:
yych = *++YYCURSOR;
414
415
if(yych <= 'm') {
if(yych == 'l') goto yy114;
416
417
goto yy73;
} else {
418
419
if(yych <= 'n') goto yy115;
if(yych == 'r') goto yy116;
420
421
422
423
goto yy73;
}
yy75:
yych = *++YYCURSOR;
424
425
if(yych == 'f') goto yy97;
if(yych == 'n') goto yy96;
426
427
428
goto yy73;
yy76:
yych = *++YYCURSOR;
429
if(yych == 'n') goto yy91;
430
431
432
goto yy73;
yy77:
yych = *++YYCURSOR;
433
if(yych == 'e') goto yy85;
434
435
436
goto yy73;
yy78:
yych = *++YYCURSOR;
437
if(yych == 'i') goto yy81;
438
439
440
441
442
443
goto yy73;
yy79:
++YYCURSOR;
{ RET(TOKEN_HASHHASH); }
yy81:
yych = *++YYCURSOR;
444
if(yych != 'n') goto yy73;
445
yych = *++YYCURSOR;
446
if(yych != 'e') goto yy73;
447
448
449
450
++YYCURSOR;
{ RET(TOKEN_PP_LINE); }
yy85:
yych = *++YYCURSOR;
451
if(yych != 'f') goto yy73;
452
yych = *++YYCURSOR;
453
if(yych != 'i') goto yy73;
454
yych = *++YYCURSOR;
455
if(yych != 'n') goto yy73;
456
yych = *++YYCURSOR;
457
if(yych != 'e') goto yy73;
458
459
460
461
++YYCURSOR;
{ RET(TOKEN_PP_DEFINE); }
yy91:
yych = *++YYCURSOR;
462
if(yych != 'd') goto yy73;
463
yych = *++YYCURSOR;
464
if(yych != 'e') goto yy73;
465
yych = *++YYCURSOR;
466
if(yych != 'f') goto yy73;
467
468
469
470
++YYCURSOR;
{ RET(TOKEN_PP_UNDEF); }
yy96:
yych = *++YYCURSOR;
471
if(yych == 'c') goto yy108;
472
473
goto yy73;
yy97:
474
yyaccept = 3;
475
yych = *(YYMARKER = ++YYCURSOR);
476
477
if(yych == 'd') goto yy100;
if(yych == 'n') goto yy99;
478
479
480
481
yy98:
{ RET(TOKEN_PP_IF); }
yy99:
yych = *++YYCURSOR;
482
if(yych == 'd') goto yy104;
483
484
485
goto yy73;
yy100:
yych = *++YYCURSOR;
486
if(yych != 'e') goto yy73;
487
yych = *++YYCURSOR;
488
if(yych != 'f') goto yy73;
489
490
491
492
++YYCURSOR;
{ RET(TOKEN_PP_IFDEF); }
yy104:
yych = *++YYCURSOR;
493
if(yych != 'e') goto yy73;
494
yych = *++YYCURSOR;
495
if(yych != 'f') goto yy73;
496
497
498
499
++YYCURSOR;
{ RET(TOKEN_PP_IFNDEF); }
yy108:
yych = *++YYCURSOR;
500
if(yych != 'l') goto yy73;
501
yych = *++YYCURSOR;
502
if(yych != 'u') goto yy73;
503
yych = *++YYCURSOR;
504
if(yych != 'd') goto yy73;
505
yych = *++YYCURSOR;
506
if(yych != 'e') goto yy73;
507
508
509
510
++YYCURSOR;
{ RET(TOKEN_PP_INCLUDE); }
yy114:
yych = *++YYCURSOR;
511
512
if(yych == 'i') goto yy125;
if(yych == 's') goto yy126;
513
514
515
goto yy73;
yy115:
yych = *++YYCURSOR;
516
if(yych == 'd') goto yy121;
517
518
519
goto yy73;
yy116:
yych = *++YYCURSOR;
520
if(yych != 'r') goto yy73;
521
yych = *++YYCURSOR;
522
if(yych != 'o') goto yy73;
523
yych = *++YYCURSOR;
524
if(yych != 'r') goto yy73;
525
526
527
528
++YYCURSOR;
{ RET(TOKEN_PP_ERROR); }
yy121:
yych = *++YYCURSOR;
529
if(yych != 'i') goto yy73;
530
yych = *++YYCURSOR;
531
if(yych != 'f') goto yy73;
532
533
534
535
++YYCURSOR;
{ RET(TOKEN_PP_ENDIF); }
yy125:
yych = *++YYCURSOR;
536
if(yych == 'f') goto yy129;
537
538
539
goto yy73;
yy126:
yych = *++YYCURSOR;
540
if(yych != 'e') goto yy73;
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
++YYCURSOR;
{ RET(TOKEN_PP_ELSE); }
yy129:
++YYCURSOR;
{ RET(TOKEN_PP_ELIF); }
yy131:
++YYCURSOR;
{ RET(TOKEN_NEQ); }
yy133:
++YYCURSOR;
{ RET(TOKEN_EQL); }
yy135:
++YYCURSOR;
{ RET(TOKEN_OROR); }
yy137:
++YYCURSOR;
557
{ RET(TOKEN_ORASSIGN); }
558
559
yy139:
++YYCURSOR;
560
{ RET(TOKEN_ANDAND); }
561
562
yy141:
++YYCURSOR;
563
{ RET(TOKEN_ANDASSIGN); }
564
565
yy143:
++YYCURSOR;
566
{ RET(TOKEN_XORASSIGN); }
567
568
yy145:
++YYCURSOR;
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
{ RET(TOKEN_MODASSIGN); }
yy147:
++YYCURSOR;
{ RET(TOKEN_MULTASSIGN); }
yy149:
++YYCURSOR;
{ RET(TOKEN_DECREMENT); }
yy151:
++YYCURSOR;
{ RET(TOKEN_SUBASSIGN); }
yy153:
++YYCURSOR;
{ RET(TOKEN_INCREMENT); }
yy155:
++YYCURSOR;
{ RET(TOKEN_ADDASSIGN); }
yy157:
++YYCURSOR;
{ RET(TOKEN_LEQ); }
yy159:
++YYCURSOR;
if((yych = *YYCURSOR) == '=') goto yy161;
{ RET(TOKEN_LSHIFT); }
yy161:
++YYCURSOR;
{ RET(TOKEN_LSHIFTASSIGN); }
yy163:
++YYCURSOR;
{ RET(TOKEN_GEQ); }
yy165:
++YYCURSOR;
if((yych = *YYCURSOR) == '=') goto yy167;
601
{ RET(TOKEN_RSHIFT); }
602
603
604
605
yy167:
++YYCURSOR;
{ RET(TOKEN_RSHIFTASSIGN); }
yy169:
606
++YYCURSOR;
607
if(YYLIMIT == YYCURSOR) YYFILL(1);
608
yych = *YYCURSOR;
609
yy170:
610
if(yych <= 0x0D) {
611
if(yych == 0x0A) goto yy73;
612
613
if(yych <= 0x0C) goto yy169;
goto yy73;
614
} else {
615
616
617
618
619
620
if(yych <= '"') {
if(yych <= '!') goto yy169;
goto yy172;
} else {
if(yych != '\\') goto yy169;
}
621
}
622
yy171:
623
++YYCURSOR;
624
if(YYLIMIT == YYCURSOR) YYFILL(1);
625
yych = *YYCURSOR;
626
627
628
if(yych <= 'b') {
if(yych <= '7') {
if(yych <= '&') {
629
if(yych == '"') goto yy169;
630
631
goto yy73;
} else {
632
if(yych <= '\'') goto yy169;
633
if(yych <= '/') goto yy73;
634
goto yy175;
635
636
}
} else {
637
if(yych <= '[') {
638
if(yych == '?') goto yy169;
639
640
goto yy73;
} else {
641
if(yych <= '\\') goto yy169;
642
if(yych <= '`') goto yy73;
643
goto yy169;
644
645
646
}
}
} else {
647
648
if(yych <= 'r') {
if(yych <= 'm') {
649
if(yych == 'f') goto yy169;
650
651
goto yy73;
} else {
652
if(yych <= 'n') goto yy169;
653
if(yych <= 'q') goto yy73;
654
goto yy169;
655
656
}
} else {
657
if(yych <= 'u') {
658
if(yych == 't') goto yy169;
659
660
goto yy73;
} else {
661
662
if(yych <= 'v') goto yy169;
if(yych == 'x') goto yy174;
663
664
665
666
goto yy73;
}
}
}
667
yy172:
668
669
++YYCURSOR;
{ RET(TOKEN_STRING_LITERAL); }
670
yy174:
671
++YYCURSOR;
672
if(YYLIMIT == YYCURSOR) YYFILL(1);
673
yych = *YYCURSOR;
674
675
if(yych <= '@') {
if(yych <= '/') goto yy73;
676
if(yych <= '9') goto yy177;
677
678
goto yy73;
} else {
679
if(yych <= 'F') goto yy177;
680
if(yych <= '`') goto yy73;
681
if(yych <= 'f') goto yy177;
682
683
goto yy73;
}
684
yy175:
685
++YYCURSOR;
686
if(YYLIMIT == YYCURSOR) YYFILL(1);
687
yych = *YYCURSOR;
688
689
690
691
692
693
694
695
if(yych <= '!') {
if(yych <= 0x0A) {
if(yych <= 0x09) goto yy169;
goto yy73;
} else {
if(yych == 0x0D) goto yy73;
goto yy169;
}
696
} else {
697
if(yych <= '7') {
698
if(yych <= '"') goto yy172;
699
700
if(yych <= '/') goto yy169;
goto yy175;
701
} else {
702
703
if(yych == '\\') goto yy171;
goto yy169;
704
705
}
}
706
yy177:
707
++YYCURSOR;
708
if(YYLIMIT == YYCURSOR) YYFILL(1);
709
yych = *YYCURSOR;
710
711
if(yych <= '/') {
if(yych <= 0x0C) {
712
if(yych == 0x0A) goto yy73;
713
goto yy169;
714
} else {
715
716
717
if(yych <= 0x0D) goto yy73;
if(yych == '"') goto yy172;
goto yy169;
718
719
}
} else {
720
if(yych <= '[') {
721
if(yych <= '9') goto yy177;
722
723
724
if(yych <= '@') goto yy169;
if(yych <= 'F') goto yy177;
goto yy169;
725
} else {
726
727
728
729
if(yych <= '\\') goto yy171;
if(yych <= '`') goto yy169;
if(yych <= 'f') goto yy177;
goto yy169;
730
731
}
}
732
733
yy179:
yyaccept = 4;
734
YYMARKER = ++YYCURSOR;
735
if((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
736
yych = *YYCURSOR;
737
738
if(yych <= 'K') {
if(yych <= 'D') {
739
740
if(yych <= '/') goto yy181;
if(yych <= '9') goto yy179;
741
} else {
742
743
if(yych <= 'E') goto yy182;
if(yych <= 'F') goto yy183;
744
745
}
} else {
746
if(yych <= 'e') {
747
748
if(yych <= 'L') goto yy183;
if(yych >= 'e') goto yy182;
749
} else {
750
751
if(yych <= 'f') goto yy183;
if(yych == 'l') goto yy183;
752
753
}
}
754
yy181:
755
{ RET(TOKEN_FLOAT_LITERAL); }
756
yy182:
757
yych = *++YYCURSOR;
758
if(yych <= ',') {
759
if(yych == '+') goto yy184;
760
761
goto yy73;
} else {
762
if(yych <= '-') goto yy184;
763
if(yych <= '/') goto yy73;
764
if(yych <= '9') goto yy185;
765
766
goto yy73;
}
767
yy183:
768
yych = *++YYCURSOR;
769
770
goto yy181;
yy184:
771
yych = *++YYCURSOR;
772
773
if(yych <= '/') goto yy73;
if(yych >= ':') goto yy73;
774
yy185:
775
++YYCURSOR;
776
if(YYLIMIT == YYCURSOR) YYFILL(1);
777
yych = *YYCURSOR;
778
779
if(yych <= 'K') {
if(yych <= '9') {
780
781
if(yych <= '/') goto yy181;
goto yy185;
782
} else {
783
784
if(yych == 'F') goto yy183;
goto yy181;
785
786
}
} else {
787
if(yych <= 'f') {
788
789
790
if(yych <= 'L') goto yy183;
if(yych <= 'e') goto yy181;
goto yy183;
791
} else {
792
793
if(yych == 'l') goto yy183;
goto yy181;
794
795
}
}
796
yy187:
797
++YYCURSOR;
798
if(YYLIMIT == YYCURSOR) YYFILL(1);
799
yych = *YYCURSOR;
800
yy188:
801
if(yych <= 0x0D) {
802
if(yych == 0x0A) goto yy73;
803
804
if(yych <= 0x0C) goto yy187;
goto yy73;
805
} else {
806
807
808
809
810
811
if(yych <= '\'') {
if(yych <= '&') goto yy187;
goto yy190;
} else {
if(yych != '\\') goto yy187;
}
812
}
813
yy189:
814
++YYCURSOR;
815
if(YYLIMIT == YYCURSOR) YYFILL(1);
816
yych = *YYCURSOR;
817
818
819
if(yych <= 'b') {
if(yych <= '7') {
if(yych <= '&') {
820
if(yych == '"') goto yy187;
821
822
goto yy73;
} else {
823
if(yych <= '\'') goto yy187;
824
if(yych <= '/') goto yy73;
825
goto yy192;
826
827
}
} else {
828
if(yych <= '[') {
829
if(yych == '?') goto yy187;
830
831
goto yy73;
} else {
832
if(yych <= '\\') goto yy187;
833
if(yych <= '`') goto yy73;
834
goto yy187;
835
836
837
}
}
} else {
838
839
if(yych <= 'r') {
if(yych <= 'm') {
840
if(yych == 'f') goto yy187;
841
842
goto yy73;
} else {
843
if(yych <= 'n') goto yy187;
844
if(yych <= 'q') goto yy73;
845
goto yy187;
846
847
}
} else {
848
if(yych <= 'u') {
849
if(yych == 't') goto yy187;
850
851
goto yy73;
} else {
852
853
if(yych <= 'v') goto yy187;
if(yych == 'x') goto yy191;
854
855
856
857
goto yy73;
}
}
}
858
yy190:
859
860
yych = *++YYCURSOR;
goto yy7;
861
yy191:
862
++YYCURSOR;
863
if(YYLIMIT == YYCURSOR) YYFILL(1);
864
yych = *YYCURSOR;
865
866
if(yych <= '@') {
if(yych <= '/') goto yy73;
867
if(yych <= '9') goto yy194;
868
869
goto yy73;
} else {
870
if(yych <= 'F') goto yy194;
871
if(yych <= '`') goto yy73;
872
if(yych <= 'f') goto yy194;
873
874
goto yy73;
}
875
yy192:
876
++YYCURSOR;
877
if(YYLIMIT == YYCURSOR) YYFILL(1);
878
yych = *YYCURSOR;
879
880
881
882
883
884
885
886
if(yych <= '&') {
if(yych <= 0x0A) {
if(yych <= 0x09) goto yy187;
goto yy73;
} else {
if(yych == 0x0D) goto yy73;
goto yy187;
}
887
} else {
888
if(yych <= '7') {
889
if(yych <= '\'') goto yy190;
890
891
if(yych <= '/') goto yy187;
goto yy192;
892
} else {
893
894
if(yych == '\\') goto yy189;
goto yy187;
895
896
}
}
897
yy194:
898
++YYCURSOR;
899
if(YYLIMIT == YYCURSOR) YYFILL(1);
900
yych = *YYCURSOR;
901
902
if(yych <= '/') {
if(yych <= 0x0C) {
903
if(yych == 0x0A) goto yy73;
904
goto yy187;
905
} else {
906
907
908
if(yych <= 0x0D) goto yy73;
if(yych == '\'') goto yy190;
goto yy187;
909
910
}
} else {
911
if(yych <= '[') {
912
if(yych <= '9') goto yy194;
913
914
915
if(yych <= '@') goto yy187;
if(yych <= 'F') goto yy194;
goto yy187;
916
} else {
917
918
919
920
if(yych <= '\\') goto yy189;
if(yych <= '`') goto yy187;
if(yych <= 'f') goto yy194;
goto yy187;
921
922
}
}
923
924
yy196:
yyaccept = 4;
925
yych = *(YYMARKER = ++YYCURSOR);
926
927
928
929
if(yych == 'E') goto yy207;
if(yych == 'e') goto yy207;
goto yy206;
yy197:
930
931
yyaccept = 0;
YYMARKER = ++YYCURSOR;
932
if((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
933
yych = *YYCURSOR;
934
yy198:
935
936
if(yych <= 'L') {
if(yych <= '9') {
937
if(yych == '.') goto yy196;
938
if(yych <= '/') goto yy7;
939
goto yy197;
940
} else {
941
if(yych == 'E') goto yy199;
942
if(yych <= 'K') goto yy7;
943
goto yy200;
944
945
}
} else {
946
if(yych <= 'e') {
947
if(yych == 'U') goto yy200;
948
if(yych <= 'd') goto yy7;
949
} else {
950
951
if(yych <= 'l') {
if(yych <= 'k') goto yy7;
952
goto yy200;
953
} else {
954
if(yych == 'u') goto yy200;
955
956
957
958
goto yy7;
}
}
}
959
yy199:
960
yych = *++YYCURSOR;
961
if(yych <= ',') {
962
if(yych == '+') goto yy202;
963
964
goto yy73;
} else {
965
if(yych <= '-') goto yy202;
966
if(yych <= '/') goto yy73;
967
if(yych <= '9') goto yy203;
968
969
goto yy73;
}
970
yy200:
971
++YYCURSOR;
972
if(YYLIMIT == YYCURSOR) YYFILL(1);
973
yych = *YYCURSOR;
974
if(yych <= 'U') {
975
if(yych == 'L') goto yy200;
976
if(yych <= 'T') goto yy7;
977
goto yy200;
978
} else {
979
980
if(yych <= 'l') {
if(yych <= 'k') goto yy7;
981
goto yy200;
982
} else {
983
if(yych == 'u') goto yy200;
984
985
986
goto yy7;
}
}
987
yy202:
988
yych = *++YYCURSOR;
989
990
if(yych <= '/') goto yy73;
if(yych >= ':') goto yy73;
991
yy203:
992
++YYCURSOR;
993
if(YYLIMIT == YYCURSOR) YYFILL(1);
994
yych = *YYCURSOR;
995
996
if(yych <= 'K') {
if(yych <= '9') {
997
998
if(yych <= '/') goto yy181;
goto yy203;
999
} else {
1000
if(yych == 'F') goto yy183;