Skip to content

Latest commit

 

History

History
1359 lines (1332 loc) · 24.5 KB

mojoshader_lexer.c

File metadata and controls

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