Skip to content

Latest commit

 

History

History
1432 lines (1406 loc) · 26.9 KB

mojoshader_lexer.c

File metadata and controls

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