ReactOS  0.4.14-dev-358-gbef841c
asmshader.yy.c
Go to the documentation of this file.
1 #line 1 "asmshader.yy.c"
2 
3 #line 3 "asmshader.yy.c"
4 
5 #define YY_INT_ALIGNED short int
6 
7 /* A lexical scanner generated by flex */
8 
9 #define yy_create_buffer asmshader__create_buffer
10 #define yy_delete_buffer asmshader__delete_buffer
11 #define yy_scan_buffer asmshader__scan_buffer
12 #define yy_scan_string asmshader__scan_string
13 #define yy_scan_bytes asmshader__scan_bytes
14 #define yy_init_buffer asmshader__init_buffer
15 #define yy_flush_buffer asmshader__flush_buffer
16 #define yy_load_buffer_state asmshader__load_buffer_state
17 #define yy_switch_to_buffer asmshader__switch_to_buffer
18 #define yypush_buffer_state asmshader_push_buffer_state
19 #define yypop_buffer_state asmshader_pop_buffer_state
20 #define yyensure_buffer_stack asmshader_ensure_buffer_stack
21 #define yy_flex_debug asmshader__flex_debug
22 #define yyin asmshader_in
23 #define yyleng asmshader_leng
24 #define yylex asmshader_lex
25 #define yylineno asmshader_lineno
26 #define yyout asmshader_out
27 #define yyrestart asmshader_restart
28 #define yytext asmshader_text
29 #define yywrap asmshader_wrap
30 #define yyalloc asmshader_alloc
31 #define yyrealloc asmshader_realloc
32 #define yyfree asmshader_free
33 
34 #define FLEX_SCANNER
35 #define YY_FLEX_MAJOR_VERSION 2
36 #define YY_FLEX_MINOR_VERSION 6
37 #define YY_FLEX_SUBMINOR_VERSION 4
38 #if YY_FLEX_SUBMINOR_VERSION > 0
39 #define FLEX_BETA
40 #endif
41 
42 #ifdef yy_create_buffer
43 #define asmshader__create_buffer_ALREADY_DEFINED
44 #else
45 #define yy_create_buffer asmshader__create_buffer
46 #endif
47 
48 #ifdef yy_delete_buffer
49 #define asmshader__delete_buffer_ALREADY_DEFINED
50 #else
51 #define yy_delete_buffer asmshader__delete_buffer
52 #endif
53 
54 #ifdef yy_scan_buffer
55 #define asmshader__scan_buffer_ALREADY_DEFINED
56 #else
57 #define yy_scan_buffer asmshader__scan_buffer
58 #endif
59 
60 #ifdef yy_scan_string
61 #define asmshader__scan_string_ALREADY_DEFINED
62 #else
63 #define yy_scan_string asmshader__scan_string
64 #endif
65 
66 #ifdef yy_scan_bytes
67 #define asmshader__scan_bytes_ALREADY_DEFINED
68 #else
69 #define yy_scan_bytes asmshader__scan_bytes
70 #endif
71 
72 #ifdef yy_init_buffer
73 #define asmshader__init_buffer_ALREADY_DEFINED
74 #else
75 #define yy_init_buffer asmshader__init_buffer
76 #endif
77 
78 #ifdef yy_flush_buffer
79 #define asmshader__flush_buffer_ALREADY_DEFINED
80 #else
81 #define yy_flush_buffer asmshader__flush_buffer
82 #endif
83 
84 #ifdef yy_load_buffer_state
85 #define asmshader__load_buffer_state_ALREADY_DEFINED
86 #else
87 #define yy_load_buffer_state asmshader__load_buffer_state
88 #endif
89 
90 #ifdef yy_switch_to_buffer
91 #define asmshader__switch_to_buffer_ALREADY_DEFINED
92 #else
93 #define yy_switch_to_buffer asmshader__switch_to_buffer
94 #endif
95 
96 #ifdef yypush_buffer_state
97 #define asmshader_push_buffer_state_ALREADY_DEFINED
98 #else
99 #define yypush_buffer_state asmshader_push_buffer_state
100 #endif
101 
102 #ifdef yypop_buffer_state
103 #define asmshader_pop_buffer_state_ALREADY_DEFINED
104 #else
105 #define yypop_buffer_state asmshader_pop_buffer_state
106 #endif
107 
108 #ifdef yyensure_buffer_stack
109 #define asmshader_ensure_buffer_stack_ALREADY_DEFINED
110 #else
111 #define yyensure_buffer_stack asmshader_ensure_buffer_stack
112 #endif
113 
114 #ifdef yylex
115 #define asmshader_lex_ALREADY_DEFINED
116 #else
117 #define yylex asmshader_lex
118 #endif
119 
120 #ifdef yyrestart
121 #define asmshader_restart_ALREADY_DEFINED
122 #else
123 #define yyrestart asmshader_restart
124 #endif
125 
126 #ifdef yylex_init
127 #define asmshader_lex_init_ALREADY_DEFINED
128 #else
129 #define yylex_init asmshader_lex_init
130 #endif
131 
132 #ifdef yylex_init_extra
133 #define asmshader_lex_init_extra_ALREADY_DEFINED
134 #else
135 #define yylex_init_extra asmshader_lex_init_extra
136 #endif
137 
138 #ifdef yylex_destroy
139 #define asmshader_lex_destroy_ALREADY_DEFINED
140 #else
141 #define yylex_destroy asmshader_lex_destroy
142 #endif
143 
144 #ifdef yyget_debug
145 #define asmshader_get_debug_ALREADY_DEFINED
146 #else
147 #define yyget_debug asmshader_get_debug
148 #endif
149 
150 #ifdef yyset_debug
151 #define asmshader_set_debug_ALREADY_DEFINED
152 #else
153 #define yyset_debug asmshader_set_debug
154 #endif
155 
156 #ifdef yyget_extra
157 #define asmshader_get_extra_ALREADY_DEFINED
158 #else
159 #define yyget_extra asmshader_get_extra
160 #endif
161 
162 #ifdef yyset_extra
163 #define asmshader_set_extra_ALREADY_DEFINED
164 #else
165 #define yyset_extra asmshader_set_extra
166 #endif
167 
168 #ifdef yyget_in
169 #define asmshader_get_in_ALREADY_DEFINED
170 #else
171 #define yyget_in asmshader_get_in
172 #endif
173 
174 #ifdef yyset_in
175 #define asmshader_set_in_ALREADY_DEFINED
176 #else
177 #define yyset_in asmshader_set_in
178 #endif
179 
180 #ifdef yyget_out
181 #define asmshader_get_out_ALREADY_DEFINED
182 #else
183 #define yyget_out asmshader_get_out
184 #endif
185 
186 #ifdef yyset_out
187 #define asmshader_set_out_ALREADY_DEFINED
188 #else
189 #define yyset_out asmshader_set_out
190 #endif
191 
192 #ifdef yyget_leng
193 #define asmshader_get_leng_ALREADY_DEFINED
194 #else
195 #define yyget_leng asmshader_get_leng
196 #endif
197 
198 #ifdef yyget_text
199 #define asmshader_get_text_ALREADY_DEFINED
200 #else
201 #define yyget_text asmshader_get_text
202 #endif
203 
204 #ifdef yyget_lineno
205 #define asmshader_get_lineno_ALREADY_DEFINED
206 #else
207 #define yyget_lineno asmshader_get_lineno
208 #endif
209 
210 #ifdef yyset_lineno
211 #define asmshader_set_lineno_ALREADY_DEFINED
212 #else
213 #define yyset_lineno asmshader_set_lineno
214 #endif
215 
216 #ifdef yywrap
217 #define asmshader_wrap_ALREADY_DEFINED
218 #else
219 #define yywrap asmshader_wrap
220 #endif
221 
222 #ifdef yyalloc
223 #define asmshader_alloc_ALREADY_DEFINED
224 #else
225 #define yyalloc asmshader_alloc
226 #endif
227 
228 #ifdef yyrealloc
229 #define asmshader_realloc_ALREADY_DEFINED
230 #else
231 #define yyrealloc asmshader_realloc
232 #endif
233 
234 #ifdef yyfree
235 #define asmshader_free_ALREADY_DEFINED
236 #else
237 #define yyfree asmshader_free
238 #endif
239 
240 #ifdef yytext
241 #define asmshader_text_ALREADY_DEFINED
242 #else
243 #define yytext asmshader_text
244 #endif
245 
246 #ifdef yyleng
247 #define asmshader_leng_ALREADY_DEFINED
248 #else
249 #define yyleng asmshader_leng
250 #endif
251 
252 #ifdef yyin
253 #define asmshader_in_ALREADY_DEFINED
254 #else
255 #define yyin asmshader_in
256 #endif
257 
258 #ifdef yyout
259 #define asmshader_out_ALREADY_DEFINED
260 #else
261 #define yyout asmshader_out
262 #endif
263 
264 #ifdef yy_flex_debug
265 #define asmshader__flex_debug_ALREADY_DEFINED
266 #else
267 #define yy_flex_debug asmshader__flex_debug
268 #endif
269 
270 #ifdef yylineno
271 #define asmshader_lineno_ALREADY_DEFINED
272 #else
273 #define yylineno asmshader_lineno
274 #endif
275 
276 /* First, we deal with platform-specific or compiler-specific issues. */
277 
278 /* begin standard C headers. */
279 #include <stdio.h>
280 #include <string.h>
281 #include <errno.h>
282 #include <stdlib.h>
283 
284 /* end standard C headers. */
285 
286 /* flex integer type definitions */
287 
288 #ifndef FLEXINT_H
289 #define FLEXINT_H
290 
291 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
292 
293 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
294 
295 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
296  * if you want the limit (max/min) macros for int types.
297  */
298 #ifndef __STDC_LIMIT_MACROS
299 #define __STDC_LIMIT_MACROS 1
300 #endif
301 
302 #include <inttypes.h>
303 typedef int8_t flex_int8_t;
304 typedef uint8_t flex_uint8_t;
305 typedef int16_t flex_int16_t;
306 typedef uint16_t flex_uint16_t;
307 typedef int32_t flex_int32_t;
308 typedef uint32_t flex_uint32_t;
309 #else
310 typedef signed char flex_int8_t;
311 typedef short int flex_int16_t;
312 typedef int flex_int32_t;
313 typedef unsigned char flex_uint8_t;
314 typedef unsigned short int flex_uint16_t;
315 typedef unsigned int flex_uint32_t;
316 
317 /* Limits of integral types. */
318 #ifndef INT8_MIN
319 #define INT8_MIN (-128)
320 #endif
321 #ifndef INT16_MIN
322 #define INT16_MIN (-32767-1)
323 #endif
324 #ifndef INT32_MIN
325 #define INT32_MIN (-2147483647-1)
326 #endif
327 #ifndef INT8_MAX
328 #define INT8_MAX (127)
329 #endif
330 #ifndef INT16_MAX
331 #define INT16_MAX (32767)
332 #endif
333 #ifndef INT32_MAX
334 #define INT32_MAX (2147483647)
335 #endif
336 #ifndef UINT8_MAX
337 #define UINT8_MAX (255U)
338 #endif
339 #ifndef UINT16_MAX
340 #define UINT16_MAX (65535U)
341 #endif
342 #ifndef UINT32_MAX
343 #define UINT32_MAX (4294967295U)
344 #endif
345 
346 #ifndef SIZE_MAX
347 #define SIZE_MAX (~(size_t)0)
348 #endif
349 
350 #endif /* ! C99 */
351 
352 #endif /* ! FLEXINT_H */
353 
354 /* begin standard C++ headers. */
355 
356 /* TODO: this is always defined, so inline it */
357 #define yyconst const
358 
359 #if defined(__GNUC__) && __GNUC__ >= 3
360 #define yynoreturn __attribute__((__noreturn__))
361 #else
362 #define yynoreturn
363 #endif
364 
365 /* Returned upon end-of-file. */
366 #define YY_NULL 0
367 
368 /* Promotes a possibly negative, possibly signed char to an
369  * integer in range [0..255] for use as an array index.
370  */
371 #define YY_SC_TO_UI(c) ((YY_CHAR) (c))
372 
373 /* Enter a start condition. This macro really ought to take a parameter,
374  * but we do it the disgusting crufty way forced on us by the ()-less
375  * definition of BEGIN.
376  */
377 #define BEGIN (yy_start) = 1 + 2 *
378 /* Translate the current start state into a value that can be later handed
379  * to BEGIN to return to the state. The YYSTATE alias is for lex
380  * compatibility.
381  */
382 #define YY_START (((yy_start) - 1) / 2)
383 #define YYSTATE YY_START
384 /* Action number for EOF rule of a given start state. */
385 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
386 /* Special action meaning "start processing a new file". */
387 #define YY_NEW_FILE yyrestart( yyin )
388 #define YY_END_OF_BUFFER_CHAR 0
389 
390 /* Size of default input buffer. */
391 #ifndef YY_BUF_SIZE
392 #ifdef __ia64__
393 /* On IA-64, the buffer size is 16k, not 8k.
394  * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
395  * Ditto for the __ia64__ case accordingly.
396  */
397 #define YY_BUF_SIZE 32768
398 #else
399 #define YY_BUF_SIZE 16384
400 #endif /* __ia64__ */
401 #endif
402 
403 /* The state buf must be large enough to hold one state per character in the main buffer.
404  */
405 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
406 
407 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
408 #define YY_TYPEDEF_YY_BUFFER_STATE
410 #endif
411 
412 #ifndef YY_TYPEDEF_YY_SIZE_T
413 #define YY_TYPEDEF_YY_SIZE_T
414 typedef size_t yy_size_t;
415 #endif
416 
417 extern int yyleng;
418 
419 extern FILE *yyin, *yyout;
420 
421 #define EOB_ACT_CONTINUE_SCAN 0
422 #define EOB_ACT_END_OF_FILE 1
423 #define EOB_ACT_LAST_MATCH 2
424 
425  #define YY_LESS_LINENO(n)
426  #define YY_LINENO_REWIND_TO(ptr)
427 
428 /* Return all but the first "n" matched characters back to the input stream. */
429 #define yyless(n) \
430  do \
431  { \
432  /* Undo effects of setting up yytext. */ \
433  int yyless_macro_arg = (n); \
434  YY_LESS_LINENO(yyless_macro_arg);\
435  *yy_cp = (yy_hold_char); \
436  YY_RESTORE_YY_MORE_OFFSET \
437  (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
438  YY_DO_BEFORE_ACTION; /* set up yytext again */ \
439  } \
440  while ( 0 )
441 #define unput(c) yyunput( c, (yytext_ptr) )
442 
443 #ifndef YY_STRUCT_YY_BUFFER_STATE
444 #define YY_STRUCT_YY_BUFFER_STATE
445 struct yy_buffer_state
446  {
448 
449  char *yy_ch_buf; /* input buffer */
450  char *yy_buf_pos; /* current position in input buffer */
451 
452  /* Size of input buffer in bytes, not including room for EOB
453  * characters.
454  */
456 
457  /* Number of characters read into yy_ch_buf, not including EOB
458  * characters.
459  */
461 
462  /* Whether we "own" the buffer - i.e., we know we created it,
463  * and can realloc() it to grow it, and should free() it to
464  * delete it.
465  */
466  int yy_is_our_buffer;
467 
468  /* Whether this is an "interactive" input source; if so, and
469  * if we're using stdio for input, then we want to use getc()
470  * instead of fread(), to make sure we stop fetching input after
471  * each newline.
472  */
473  int yy_is_interactive;
474 
475  /* Whether we're considered to be at the beginning of a line.
476  * If so, '^' rules will be active on the next match, otherwise
477  * not.
478  */
479  int yy_at_bol;
480 
481  int yy_bs_lineno;
482  int yy_bs_column;
484  /* Whether to try to fill the input buffer when we reach the
485  * end of it.
486  */
487  int yy_fill_buffer;
488 
489  int yy_buffer_status;
490 
491 #define YY_BUFFER_NEW 0
492 #define YY_BUFFER_NORMAL 1
493  /* When an EOF's been seen but there's still some text to process
494  * then we mark the buffer as YY_EOF_PENDING, to indicate that we
495  * shouldn't try reading from the input source any more. We might
496  * still have a bunch of tokens to match, though, because of
497  * possible backing-up.
498  *
499  * When we actually see the EOF, we change the status to "new"
500  * (via yyrestart()), so that the user can continue scanning by
501  * just pointing yyin at a new input file.
502  */
503 #define YY_BUFFER_EOF_PENDING 2
504 
505  };
506 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
507 
508 /* Stack of input buffers. */
509 static size_t yy_buffer_stack_top = 0;
510 static size_t yy_buffer_stack_max = 0;
513 /* We provide macros for accessing buffer states in case in the
514  * future we want to put the buffer states in a more general
515  * "scanner state".
516  *
517  * Returns the top of the stack, or NULL.
518  */
519 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
520  ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
521  : NULL)
522 /* Same as previous macro, but useful when we know that the buffer stack is not
523  * NULL or when we need an lvalue. For internal use only.
524  */
525 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
526 
527 /* yy_hold_char holds the character lost when yytext is formed. */
528 static char yy_hold_char;
529 static int yy_n_chars; /* number of characters read into yy_ch_buf */
530 int yyleng;
531 
532 /* Points to current character in buffer. */
533 static char *yy_c_buf_p = NULL;
534 static int yy_init = 0; /* whether we need to initialize */
535 static int yy_start = 0; /* start state number */
536 
537 /* Flag which is used to allow yywrap()'s to do buffer switches
538  * instead of setting up a fresh yyin. A bit of a hack ...
539  */
541 
542 void yyrestart ( FILE *input_file );
543 void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer );
547 void yypush_buffer_state ( YY_BUFFER_STATE new_buffer );
548 void yypop_buffer_state ( void );
549 
550 static void yyensure_buffer_stack ( void );
551 static void yy_load_buffer_state ( void );
552 static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file );
553 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
554 
556 YY_BUFFER_STATE yy_scan_string ( const char *yy_str );
557 YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len );
558 
559 void *yyalloc ( yy_size_t );
560 void *yyrealloc ( void *, yy_size_t );
561 void yyfree ( void * );
562 
563 #define yy_new_buffer yy_create_buffer
564 #define yy_set_interactive(is_interactive) \
565  { \
566  if ( ! YY_CURRENT_BUFFER ){ \
567  yyensure_buffer_stack (); \
568  YY_CURRENT_BUFFER_LVALUE = \
569  yy_create_buffer( yyin, YY_BUF_SIZE ); \
570  } \
571  YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
572  }
573 #define yy_set_bol(at_bol) \
574  { \
575  if ( ! YY_CURRENT_BUFFER ){\
576  yyensure_buffer_stack (); \
577  YY_CURRENT_BUFFER_LVALUE = \
578  yy_create_buffer( yyin, YY_BUF_SIZE ); \
579  } \
580  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
581  }
582 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
583 
584 /* Begin user sect3 */
585 
586 #define asmshader_wrap() (/*CONSTCOND*/1)
587 #define YY_SKIP_YYWRAP
589 
591 
592 typedef int yy_state_type;
593 
594 extern int yylineno;
595 int yylineno = 1;
596 
597 extern char *yytext;
598 #ifdef yytext_ptr
599 #undef yytext_ptr
600 #endif
601 #define yytext_ptr yytext
602 
603 static yy_state_type yy_get_previous_state ( void );
604 static yy_state_type yy_try_NUL_trans ( yy_state_type current_state );
605 static int yy_get_next_buffer ( void );
606 static void yynoreturn yy_fatal_error ( const char* msg );
607 
608 /* Done after the current pattern has been matched and before the
609  * corresponding action - sets up yytext.
610  */
611 #define YY_DO_BEFORE_ACTION \
612  (yytext_ptr) = yy_bp; \
613  yyleng = (int) (yy_cp - yy_bp); \
614  (yy_hold_char) = *yy_cp; \
615  *yy_cp = '\0'; \
616  (yy_c_buf_p) = yy_cp;
617 #define YY_NUM_RULES 174
618 #define YY_END_OF_BUFFER 175
619 /* This struct is not used in this scanner,
620  but its presence is necessary. */
621 struct yy_trans_info
622  {
625  };
626 static const flex_int16_t yy_accept[481] =
627  { 0,
628  0, 0, 175, 173, 171, 172, 173, 149, 173, 141,
629  142, 143, 139, 140, 119, 173, 136, 170, 173, 120,
630  120, 88, 173, 173, 173, 120, 173, 173, 173, 173,
631  86, 173, 120, 173, 173, 87, 171, 172, 0, 168,
632  0, 136, 136, 169, 136, 136, 170, 0, 0, 0,
633  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
634  0, 0, 0, 102, 103, 0, 0, 90, 0, 0,
635  88, 0, 0, 0, 0, 0, 0, 0, 0, 0,
636  0, 0, 0, 0, 89, 39, 105, 0, 0, 0,
637  0, 0, 0, 0, 0, 0, 0, 0, 0, 86,
638 
639  0, 0, 0, 0, 0, 104, 0, 0, 0, 85,
640  0, 0, 0, 93, 0, 0, 0, 0, 0, 91,
641  0, 0, 87, 0, 0, 0, 169, 164, 165, 0,
642  0, 0, 0, 0, 0, 0, 124, 125, 126, 0,
643  147, 146, 134, 0, 132, 130, 133, 131, 135, 0,
644  0, 128, 0, 0, 0, 0, 0, 121, 122, 123,
645  15, 1, 78, 0, 0, 55, 54, 24, 33, 34,
646  0, 9, 10, 20, 79, 80, 0, 0, 16, 0,
647  22, 0, 52, 17, 0, 21, 0, 0, 5, 12,
648  11, 3, 6, 2, 26, 98, 97, 0, 0, 0,
649 
650  0, 92, 0, 23, 0, 0, 7, 37, 47, 8,
651  0, 14, 25, 0, 13, 4, 60, 0, 0, 0,
652  0, 0, 148, 0, 0, 0, 145, 0, 0, 0,
653  0, 161, 0, 0, 0, 0, 127, 0, 0, 0,
654  0, 0, 44, 35, 36, 0, 40, 0, 0, 0,
655  18, 0, 0, 19, 46, 32, 31, 30, 29, 28,
656  53, 0, 95, 94, 96, 0, 0, 0, 0, 0,
657  0, 0, 50, 0, 0, 0, 0, 0, 0, 0,
658  0, 137, 0, 100, 0, 0, 0, 0, 0, 0,
659  144, 0, 0, 0, 0, 166, 0, 161, 0, 0,
660 
661  0, 0, 0, 0, 0, 0, 42, 0, 0, 41,
662  0, 0, 138, 49, 0, 84, 0, 0, 0, 0,
663  0, 0, 0, 0, 0, 0, 0, 0, 0, 61,
664  0, 0, 101, 0, 0, 0, 0, 0, 0, 0,
665  0, 0, 160, 162, 0, 0, 154, 0, 0, 0,
666  0, 0, 43, 45, 56, 0, 38, 99, 111, 112,
667  113, 114, 115, 116, 117, 118, 27, 62, 0, 58,
668  0, 75, 0, 82, 83, 51, 81, 0, 0, 106,
669  107, 108, 109, 110, 0, 0, 0, 0, 160, 162,
670  153, 0, 154, 163, 0, 0, 0, 167, 48, 63,
671 
672  0, 0, 0, 59, 0, 76, 0, 0, 0, 0,
673  0, 153, 0, 163, 156, 0, 0, 57, 77, 0,
674  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
675  157, 0, 0, 129, 150, 156, 0, 155, 73, 0,
676  0, 0, 0, 0, 0, 0, 64, 65, 0, 157,
677  0, 0, 150, 159, 0, 155, 0, 67, 68, 69,
678  0, 72, 0, 66, 0, 0, 159, 158, 0, 70,
679  0, 0, 151, 158, 74, 71, 152, 151, 152, 0
680  } ;
681 
682 static const YY_CHAR yy_ec[256] =
683  { 0,
684  1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
685  1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
686  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
687  1, 2, 5, 1, 6, 1, 1, 1, 1, 7,
688  8, 1, 9, 10, 11, 12, 13, 14, 15, 16,
689  17, 18, 19, 19, 19, 20, 19, 1, 21, 1,
690  1, 1, 1, 1, 1, 1, 22, 23, 1, 24,
691  1, 1, 1, 1, 1, 25, 1, 1, 1, 26,
692  1, 1, 1, 27, 1, 1, 1, 1, 1, 1,
693  28, 1, 29, 1, 30, 1, 31, 32, 33, 34,
694 
695  35, 36, 37, 38, 39, 1, 40, 41, 42, 43,
696  44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
697  54, 55, 1, 1, 1, 1, 1, 1, 1, 1,
698  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
699  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
700  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
701  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
702  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
703  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
704  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
705 
706  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
707  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
708  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
709  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
710  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
711  1, 1, 1, 1, 1
712  } ;
713 
714 static const YY_CHAR yy_meta[56] =
715  { 0,
716  1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
717  1, 3, 1, 4, 4, 4, 4, 4, 4, 4,
718  1, 1, 1, 5, 1, 5, 1, 1, 1, 1,
719  6, 1, 7, 1, 8, 3, 1, 1, 9, 1,
720  1, 10, 10, 9, 1, 1, 11, 12, 1, 1,
721  1, 1, 1, 1, 1
722  } ;
723 
724 static const flex_int16_t yy_base[491] =
725  { 0,
726  0, 0, 889, 890, 886, 890, 884, 890, 883, 890,
727  890, 890, 890, 44, 51, 872, 45, 0, 67, 59,
728  39, 45, 61, 36, 64, 890, 107, 97, 114, 28,
729  151, 91, 107, 165, 43, 124, 882, 890, 880, 890,
730  172, 101, 193, 0, 202, 890, 0, 848, 847, 848,
731  108, 189, 179, 833, 834, 84, 103, 116, 182, 846,
732  99, 832, 178, 890, 890, 827, 840, 226, 831, 837,
733  233, 830, 825, 835, 820, 826, 830, 219, 205, 817,
734  830, 818, 821, 828, 246, 890, 253, 828, 810, 70,
735  813, 804, 803, 123, 812, 803, 812, 807, 809, 260,
736 
737  267, 274, 806, 36, 276, 890, 818, 796, 193, 283,
738  802, 114, 800, 296, 796, 111, 801, 794, 810, 303,
739  788, 790, 310, 808, 794, 319, 0, 890, 890, 789,
740  301, 801, 819, 791, 792, 800, 890, 890, 890, 786,
741  890, 890, 890, 793, 890, 890, 890, 890, 890, 782,
742  780, 890, 788, 183, 783, 285, 784, 890, 890, 890,
743  890, 890, 890, 793, 782, 890, 890, 890, 890, 302,
744  791, 890, 890, 890, 890, 890, 786, 296, 775, 771,
745  890, 783, 890, 772, 771, 890, 239, 287, 890, 890,
746  890, 784, 890, 890, 890, 336, 890, 769, 776, 764,
747 
748  763, 343, 762, 890, 291, 330, 890, 890, 890, 890,
749  764, 890, 890, 775, 890, 890, 332, 772, 773, 757,
750  352, 360, 890, 756, 759, 759, 890, 752, 756, 764,
751  749, 366, 755, 757, 740, 749, 890, 756, 744, 758,
752  740, 749, 745, 890, 890, 753, 890, 750, 741, 749,
753  890, 748, 741, 890, 890, 890, 890, 890, 890, 890,
754  890, 732, 890, 890, 890, 745, 767, 766, 765, 746,
755  745, 744, 890, 729, 737, 292, 158, 732, 736, 752,
756  733, 890, 732, 890, 754, 753, 752, 733, 732, 731,
757  890, 713, 725, 711, 710, 890, 718, 373, 724, 705,
758 
759  718, 711, 716, 714, 705, 706, 702, 691, 711, 890,
760  700, 698, 890, 890, 704, 890, 380, 103, 727, 385,
761  148, 726, 691, 696, 693, 702, 690, 717, 692, 372,
762  679, 694, 890, 356, 391, 716, 393, 395, 715, 686,
763  371, 683, 410, 417, 685, 686, 435, 689, 670, 679,
764  665, 673, 890, 890, 890, 662, 890, 890, 890, 890,
765  890, 890, 890, 890, 890, 890, 890, 665, 658, 890,
766  652, 651, 657, 890, 890, 890, 890, 395, 681, 890,
767  890, 890, 890, 890, 665, 650, 657, 652, 442, 449,
768  456, 644, 463, 470, 638, 651, 635, 890, 890, 890,
769 
770  647, 641, 640, 890, 457, 370, 461, 633, 639, 632,
771  634, 495, 624, 502, 509, 616, 630, 890, 890, 610,
772  616, 476, 470, 473, 458, 466, 452, 452, 465, 459,
773  516, 456, 457, 890, 523, 530, 449, 537, 890, 402,
774  412, 392, 409, 407, 388, 395, 890, 890, 407, 544,
775  405, 384, 551, 559, 373, 566, 367, 890, 890, 890,
776  381, 890, 343, 890, 313, 293, 573, 580, 302, 890,
777  195, 49, 587, 594, 890, 890, 601, 608, 615, 890,
778  635, 645, 649, 658, 666, 674, 682, 691, 699, 711
779  } ;
780 
781 static const flex_int16_t yy_def[491] =
782  { 0,
783  480, 1, 480, 480, 480, 480, 480, 480, 481, 480,
784  480, 480, 480, 480, 480, 480, 482, 483, 480, 480,
785  484, 485, 480, 480, 480, 480, 480, 486, 480, 480,
786  480, 480, 487, 480, 488, 489, 480, 480, 481, 480,
787  480, 482, 480, 490, 480, 480, 483, 480, 480, 480,
788  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
789  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
790  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
791  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
792  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
793 
794  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
795  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
796  480, 480, 480, 480, 480, 480, 490, 480, 480, 480,
797  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
798  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
799  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
800  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
801  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
802  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
803  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
804 
805  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
806  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
807  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
808  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
809  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
810  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
811  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
812  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
813  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
814  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
815 
816  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
817  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
818  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
819  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
820  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
821  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
822  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
823  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
824  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
825  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
826 
827  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
828  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
829  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
830  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
831  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
832  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
833  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
834  480, 480, 480, 480, 480, 480, 480, 480, 480, 0,
835  480, 480, 480, 480, 480, 480, 480, 480, 480, 480
836  } ;
837 
838 static const flex_int16_t yy_nxt[946] =
839  { 0,
840  4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
841  14, 15, 16, 17, 17, 17, 17, 17, 17, 17,
842  18, 4, 4, 4, 4, 4, 4, 12, 12, 19,
843  20, 21, 22, 23, 24, 25, 26, 4, 27, 4,
844  28, 29, 30, 31, 32, 4, 33, 34, 35, 4,
845  36, 26, 26, 26, 26, 41, 45, 42, 42, 42,
846  42, 42, 42, 42, 43, 43, 43, 43, 43, 43,
847  43, 98, 64, 69, 99, 72, 80, 121, 81, 200,
848  46, 48, 49, 65, 201, 70, 73, 74, 82, 122,
849  66, 75, 67, 76, 83, 77, 477, 50, 51, 52,
850 
851  53, 54, 55, 56, 106, 78, 184, 57, 79, 58,
852  84, 59, 45, 185, 60, 61, 364, 62, 145, 63,
853  85, 85, 85, 85, 85, 85, 85, 88, 107, 155,
854  92, 93, 146, 156, 108, 89, 46, 147, 109, 111,
855  90, 112, 86, 91, 94, 212, 131, 124, 132, 125,
856  149, 148, 95, 213, 113, 365, 189, 96, 208, 150,
857  133, 364, 209, 97, 100, 100, 100, 100, 100, 100,
858  100, 126, 101, 102, 103, 190, 104, 105, 114, 114,
859  114, 114, 114, 114, 114, 43, 43, 43, 43, 43,
860  43, 43, 327, 158, 137, 159, 138, 160, 139, 115,
861 
862  365, 116, 328, 117, 205, 118, 43, 43, 43, 43,
863  43, 43, 43, 140, 119, 43, 43, 43, 43, 43,
864  43, 43, 206, 134, 236, 151, 152, 476, 46, 153,
865  141, 237, 135, 142, 171, 172, 173, 46, 136, 68,
866  68, 68, 68, 68, 68, 68, 71, 71, 71, 71,
867  71, 71, 71, 174, 256, 257, 258, 175, 176, 85,
868  85, 85, 85, 85, 85, 85, 87, 87, 87, 87,
869  87, 87, 87, 100, 100, 100, 100, 100, 100, 100,
870  196, 196, 196, 196, 196, 196, 196, 197, 197, 202,
871  202, 202, 202, 202, 202, 202, 110, 110, 110, 110,
872 
873  110, 110, 110, 259, 260, 267, 268, 269, 198, 114,
874  114, 114, 114, 114, 114, 114, 120, 120, 120, 120,
875  120, 120, 120, 123, 123, 123, 123, 123, 123, 123,
876  221, 224, 239, 244, 248, 325, 249, 240, 326, 475,
877  245, 473, 250, 225, 270, 271, 272, 472, 222, 196,
878  196, 196, 196, 196, 196, 196, 202, 202, 202, 202,
879  202, 202, 202, 275, 276, 277, 285, 286, 287, 380,
880  381, 278, 279, 280, 288, 289, 290, 471, 281, 298,
881  298, 298, 298, 298, 298, 298, 298, 298, 298, 298,
882  298, 298, 298, 359, 360, 361, 362, 363, 359, 360,
883 
884  361, 362, 363, 374, 382, 375, 380, 381, 382, 386,
885  405, 406, 376, 470, 424, 469, 377, 425, 426, 468,
886  427, 466, 387, 389, 389, 389, 389, 389, 389, 389,
887  390, 390, 390, 390, 390, 390, 390, 465, 464, 463,
888  462, 461, 460, 383, 459, 458, 457, 383, 393, 393,
889  393, 393, 393, 393, 393, 389, 389, 389, 389, 389,
890  389, 389, 390, 390, 390, 390, 390, 390, 390, 412,
891  412, 412, 412, 412, 412, 412, 393, 393, 393, 393,
892  393, 393, 393, 414, 414, 414, 414, 414, 414, 414,
893  421, 428, 455, 452, 451, 449, 448, 429, 447, 446,
894 
895  445, 422, 444, 443, 442, 423, 441, 430, 412, 412,
896  412, 412, 412, 412, 412, 414, 414, 414, 414, 414,
897  414, 414, 436, 436, 436, 436, 436, 436, 436, 450,
898  450, 450, 450, 450, 450, 450, 453, 453, 453, 453,
899  453, 453, 453, 436, 436, 436, 436, 436, 436, 436,
900  456, 456, 456, 456, 456, 456, 456, 450, 450, 450,
901  450, 450, 450, 450, 453, 453, 453, 453, 453, 453,
902  453, 454, 467, 467, 467, 467, 467, 467, 467, 456,
903  456, 456, 456, 456, 456, 456, 467, 467, 467, 467,
904  467, 467, 467, 474, 474, 474, 474, 474, 474, 474,
905 
906  478, 478, 478, 478, 478, 478, 478, 474, 474, 474,
907  474, 474, 474, 474, 479, 479, 479, 479, 479, 479,
908  479, 478, 478, 478, 478, 478, 478, 478, 479, 479,
909  479, 479, 479, 479, 479, 39, 39, 39, 39, 39,
910  39, 39, 39, 39, 39, 39, 39, 42, 42, 47,
911  440, 47, 47, 47, 47, 47, 47, 47, 47, 47,
912  47, 68, 439, 438, 437, 68, 435, 434, 68, 71,
913  433, 71, 432, 431, 420, 71, 71, 87, 419, 87,
914  418, 417, 87, 416, 87, 110, 415, 413, 110, 110,
915  411, 410, 409, 110, 120, 408, 407, 404, 120, 403,
916 
917  402, 120, 123, 123, 401, 400, 399, 398, 397, 396,
918  123, 127, 395, 127, 127, 127, 127, 127, 127, 127,
919  127, 127, 127, 394, 392, 391, 388, 385, 384, 384,
920  379, 378, 373, 372, 371, 370, 369, 368, 367, 366,
921  366, 358, 357, 356, 355, 354, 353, 352, 351, 350,
922  349, 348, 347, 346, 345, 344, 343, 342, 341, 340,
923  339, 338, 337, 336, 335, 334, 333, 332, 331, 330,
924  329, 324, 323, 322, 321, 320, 319, 318, 317, 316,
925  315, 314, 313, 312, 311, 310, 309, 308, 307, 306,
926  305, 304, 303, 302, 301, 300, 299, 297, 296, 295,
927 
928  294, 293, 292, 291, 284, 283, 282, 274, 273, 266,
929  265, 264, 263, 262, 261, 255, 254, 253, 252, 251,
930  247, 246, 243, 242, 241, 238, 235, 234, 233, 232,
931  231, 230, 229, 228, 227, 226, 223, 220, 219, 218,
932  217, 216, 215, 214, 211, 210, 207, 204, 203, 199,
933  195, 194, 193, 192, 191, 188, 187, 186, 183, 182,
934  181, 180, 179, 178, 177, 170, 169, 168, 167, 166,
935  165, 164, 163, 162, 161, 157, 154, 144, 143, 130,
936  129, 128, 40, 37, 44, 40, 38, 37, 480, 3,
937  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
938 
939  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
940  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
941  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
942  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
943  480, 480, 480, 480, 480
944  } ;
945 
946 static const flex_int16_t yy_chk[946] =
947  { 0,
948  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
949  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
950  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
951  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
952  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
953  1, 1, 1, 1, 1, 14, 17, 14, 14, 14,
954  14, 14, 14, 14, 15, 15, 15, 15, 15, 15,
955  15, 30, 20, 21, 30, 22, 24, 35, 24, 104,
956  17, 19, 19, 20, 104, 21, 22, 22, 24, 35,
957  20, 22, 20, 23, 25, 23, 472, 19, 19, 19,
958 
959  19, 19, 19, 19, 32, 23, 90, 19, 23, 19,
960  25, 19, 42, 90, 19, 19, 318, 19, 56, 19,
961  27, 27, 27, 27, 27, 27, 27, 28, 32, 61,
962  29, 29, 56, 61, 32, 28, 42, 57, 32, 33,
963  28, 33, 27, 28, 29, 116, 51, 36, 51, 36,
964  58, 57, 29, 116, 33, 318, 94, 29, 112, 58,
965  51, 321, 112, 29, 31, 31, 31, 31, 31, 31,
966  31, 36, 31, 31, 31, 94, 31, 31, 34, 34,
967  34, 34, 34, 34, 34, 41, 41, 41, 41, 41,
968  41, 41, 277, 63, 53, 63, 53, 63, 53, 34,
969 
970  321, 34, 277, 34, 109, 34, 43, 43, 43, 43,
971  43, 43, 43, 53, 34, 45, 45, 45, 45, 45,
972  45, 45, 109, 52, 154, 59, 59, 471, 43, 59,
973  53, 154, 52, 53, 78, 78, 78, 45, 52, 68,
974  68, 68, 68, 68, 68, 68, 71, 71, 71, 71,
975  71, 71, 71, 79, 187, 187, 187, 79, 79, 85,
976  85, 85, 85, 85, 85, 85, 87, 87, 87, 87,
977  87, 87, 87, 100, 100, 100, 100, 100, 100, 100,
978  101, 101, 101, 101, 101, 101, 101, 102, 102, 105,
979  105, 105, 105, 105, 105, 105, 110, 110, 110, 110,
980 
981  110, 110, 110, 188, 188, 205, 205, 205, 102, 114,
982  114, 114, 114, 114, 114, 114, 120, 120, 120, 120,
983  120, 120, 120, 123, 123, 123, 123, 123, 123, 123,
984  126, 131, 156, 170, 178, 276, 178, 156, 276, 469,
985  170, 466, 178, 131, 206, 206, 206, 465, 126, 196,
986  196, 196, 196, 196, 196, 196, 202, 202, 202, 202,
987  202, 202, 202, 217, 217, 217, 221, 221, 221, 334,
988  334, 217, 217, 217, 222, 222, 222, 463, 217, 232,
989  232, 232, 232, 232, 232, 232, 298, 298, 298, 298,
990  298, 298, 298, 317, 317, 317, 317, 317, 320, 320,
991 
992  320, 320, 320, 330, 335, 330, 337, 337, 338, 341,
993  378, 378, 330, 461, 406, 457, 330, 406, 406, 455,
994  406, 452, 341, 343, 343, 343, 343, 343, 343, 343,
995  344, 344, 344, 344, 344, 344, 344, 451, 449, 446,
996  445, 444, 443, 335, 442, 441, 440, 338, 347, 347,
997  347, 347, 347, 347, 347, 389, 389, 389, 389, 389,
998  389, 389, 390, 390, 390, 390, 390, 390, 390, 391,
999  391, 391, 391, 391, 391, 391, 393, 393, 393, 393,
1000  393, 393, 393, 394, 394, 394, 394, 394, 394, 394,
1001  405, 407, 437, 433, 432, 430, 429, 407, 428, 427,
1002 
1003  426, 405, 425, 424, 423, 405, 422, 407, 412, 412,
1004  412, 412, 412, 412, 412, 414, 414, 414, 414, 414,
1005  414, 414, 415, 415, 415, 415, 415, 415, 415, 431,
1006  431, 431, 431, 431, 431, 431, 435, 435, 435, 435,
1007  435, 435, 435, 436, 436, 436, 436, 436, 436, 436,
1008  438, 438, 438, 438, 438, 438, 438, 450, 450, 450,
1009  450, 450, 450, 450, 453, 453, 453, 453, 453, 453,
1010  453, 435, 454, 454, 454, 454, 454, 454, 454, 456,
1011  456, 456, 456, 456, 456, 456, 467, 467, 467, 467,
1012  467, 467, 467, 468, 468, 468, 468, 468, 468, 468,
1013 
1014  473, 473, 473, 473, 473, 473, 473, 474, 474, 474,
1015  474, 474, 474, 474, 477, 477, 477, 477, 477, 477,
1016  477, 478, 478, 478, 478, 478, 478, 478, 479, 479,
1017  479, 479, 479, 479, 479, 481, 481, 481, 481, 481,
1018  481, 481, 481, 481, 481, 481, 481, 482, 482, 483,
1019  421, 483, 483, 483, 483, 483, 483, 483, 483, 483,
1020  483, 484, 420, 417, 416, 484, 413, 411, 484, 485,
1021  410, 485, 409, 408, 403, 485, 485, 486, 402, 486,
1022  401, 397, 486, 396, 486, 487, 395, 392, 487, 487,
1023  388, 387, 386, 487, 488, 385, 379, 373, 488, 372,
1024 
1025  371, 488, 489, 489, 369, 368, 356, 352, 351, 350,
1026  489, 490, 349, 490, 490, 490, 490, 490, 490, 490,
1027  490, 490, 490, 348, 346, 345, 342, 340, 339, 336,
1028  332, 331, 329, 328, 327, 326, 325, 324, 323, 322,
1029  319, 315, 312, 311, 309, 308, 307, 306, 305, 304,
1030  303, 302, 301, 300, 299, 297, 295, 294, 293, 292,
1031  290, 289, 288, 287, 286, 285, 283, 281, 280, 279,
1032  278, 275, 274, 272, 271, 270, 269, 268, 267, 266,
1033  262, 253, 252, 250, 249, 248, 246, 243, 242, 241,
1034  240, 239, 238, 236, 235, 234, 233, 231, 230, 229,
1035 
1036  228, 226, 225, 224, 220, 219, 218, 214, 211, 203,
1037  201, 200, 199, 198, 192, 185, 184, 182, 180, 179,
1038  177, 171, 165, 164, 157, 155, 153, 151, 150, 144,
1039  140, 136, 135, 134, 133, 132, 130, 125, 124, 122,
1040  121, 119, 118, 117, 115, 113, 111, 108, 107, 103,
1041  99, 98, 97, 96, 95, 93, 92, 91, 89, 88,
1042  84, 83, 82, 81, 80, 77, 76, 75, 74, 73,
1043  72, 70, 69, 67, 66, 62, 60, 55, 54, 50,
1044  49, 48, 39, 37, 16, 9, 7, 5, 3, 480,
1045  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
1046 
1047  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
1048  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
1049  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
1050  480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
1051  480, 480, 480, 480, 480
1052  } ;
1053 
1056 
1057 extern int yy_flex_debug;
1059 
1060 /* The intent behind this definition is that it'll catch
1061  * any uses of REJECT which flex missed.
1062  */
1063 #define REJECT reject_used_but_not_detected
1064 #define yymore() yymore_used_but_not_detected
1065 #define YY_MORE_ADJ 0
1066 #define YY_RESTORE_YY_MORE_OFFSET
1067 char *yytext;
1068 #line 1 "asmshader.l"
1069 /*
1070  * Direct3D shader assembler
1071  *
1072  * Copyright 2008 Stefan Dösinger
1073  * Copyright 2009 Matteo Bruni
1074  *
1075  * This library is free software; you can redistribute it and/or
1076  * modify it under the terms of the GNU Lesser General Public
1077  * License as published by the Free Software Foundation; either
1078  * version 2.1 of the License, or (at your option) any later version.
1079  *
1080  * This library is distributed in the hope that it will be useful,
1081  * but WITHOUT ANY WARRANTY; without even the implied warranty of
1082  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1083  * Lesser General Public License for more details.
1084  *
1085  * You should have received a copy of the GNU Lesser General Public
1086  * License along with this library; if not, write to the Free Software
1087  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
1088  */
1089 #line 23 "asmshader.l"
1090 #include "wine/debug.h"
1091 
1092 #include "d3dcompiler_private.h"
1093 #include "asmshader.tab.h"
1094 
1095 WINE_DEFAULT_DEBUG_CHANNEL(asmshader);
1096 #line 1096 "asmshader.yy.c"
1097 #define YY_NO_INPUT 1
1098 /* Swizzles and writemasks consist of a dot and up to 4 x, y, z or w characters,
1099  * or up to 4 a, r, g, b characters. There are different rules for swizzles and
1100  * writemasks wrt repetition, those are handled in the grammar.
1101  */
1102 /* Registers */
1103 /* for relative addressing in the form o[x], v[x] and c[x] */
1104 /* Not really a register, but it is considered as such */
1105 /* Comments */
1106 /* Whitespaces are spaces, tabs and newlines */
1107 #line 1107 "asmshader.yy.c"
1108 
1109 #define INITIAL 0
1110 
1111 #ifndef YY_NO_UNISTD_H
1112 /* Special case for "unistd.h", since it is non-ANSI. We include it way
1113  * down here because we want the user's section 1 to have been scanned first.
1114  * The user has a chance to override it with an option.
1115  */
1116 #include <unistd.h>
1117 #endif
1118 
1119 #ifndef YY_EXTRA_TYPE
1120 #define YY_EXTRA_TYPE void *
1121 #endif
1122 
1123 static int yy_init_globals ( void );
1124 
1125 /* Accessor methods to globals.
1126  These are made visible to non-reentrant scanners for convenience. */
1127 
1128 int yylex_destroy ( void );
1129 
1130 int yyget_debug ( void );
1131 
1132 void yyset_debug ( int debug_flag );
1133 
1134 YY_EXTRA_TYPE yyget_extra ( void );
1135 
1136 void yyset_extra ( YY_EXTRA_TYPE user_defined );
1137 
1138 FILE *yyget_in ( void );
1139 
1140 void yyset_in ( FILE * _in_str );
1141 
1142 FILE *yyget_out ( void );
1143 
1144 void yyset_out ( FILE * _out_str );
1145 
1146  int yyget_leng ( void );
1147 
1148 char *yyget_text ( void );
1149 
1150 int yyget_lineno ( void );
1151 
1152 void yyset_lineno ( int _line_number );
1153 
1154 /* Macros after this point can all be overridden by user definitions in
1155  * section 1.
1156  */
1157 
1158 #ifndef YY_SKIP_YYWRAP
1159 #ifdef __cplusplus
1160 extern "C" int yywrap ( void );
1161 #else
1162 extern int yywrap ( void );
1163 #endif
1164 #endif
1165 
1166 #ifndef YY_NO_UNPUT
1167 
1168 #endif
1169 
1170 #ifndef yytext_ptr
1171 static void yy_flex_strncpy ( char *, const char *, int );
1172 #endif
1173 
1174 #ifdef YY_NEED_STRLEN
1175 static int yy_flex_strlen ( const char * );
1176 #endif
1177 
1178 #ifndef YY_NO_INPUT
1179 #ifdef __cplusplus
1180 static int yyinput ( void );
1181 #else
1182 static int input ( void );
1183 #endif
1184 
1185 #endif
1186 
1187 /* Amount of stuff to slurp up with each read. */
1188 #ifndef YY_READ_BUF_SIZE
1189 #ifdef __ia64__
1190 /* On IA-64, the buffer size is 16k, not 8k */
1191 #define YY_READ_BUF_SIZE 16384
1192 #else
1193 #define YY_READ_BUF_SIZE 8192
1194 #endif /* __ia64__ */
1195 #endif
1196 
1197 /* Copy whatever the last rule matched to the standard output. */
1198 #ifndef ECHO
1199 /* This used to be an fputs(), but since the string might contain NUL's,
1200  * we now use fwrite().
1201  */
1202 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
1203 #endif
1204 
1205 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1206  * is returned in "result".
1207  */
1208 #ifndef YY_INPUT
1209 #define YY_INPUT(buf,result,max_size) \
1210  if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1211  { \
1212  int c = '*'; \
1213  int n; \
1214  for ( n = 0; n < max_size && \
1215  (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1216  buf[n] = (char) c; \
1217  if ( c == '\n' ) \
1218  buf[n++] = (char) c; \
1219  if ( c == EOF && ferror( yyin ) ) \
1220  YY_FATAL_ERROR( "input in flex scanner failed" ); \
1221  result = n; \
1222  } \
1223  else \
1224  { \
1225  errno=0; \
1226  while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
1227  { \
1228  if( errno != EINTR) \
1229  { \
1230  YY_FATAL_ERROR( "input in flex scanner failed" ); \
1231  break; \
1232  } \
1233  errno=0; \
1234  clearerr(yyin); \
1235  } \
1236  }\
1237 \
1238 
1239 #endif
1240 
1241 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1242  * we don't want an extra ';' after the "return" because that will cause
1243  * some compilers to complain about unreachable statements.
1244  */
1245 #ifndef yyterminate
1246 #define yyterminate() return YY_NULL
1247 #endif
1248 
1249 /* Number of entries by which start-condition stack grows. */
1250 #ifndef YY_START_STACK_INCR
1251 #define YY_START_STACK_INCR 25
1252 #endif
1253 
1254 /* Report a fatal error. */
1255 #ifndef YY_FATAL_ERROR
1256 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1257 #endif
1258 
1259 /* end tables serialization structures and prototypes */
1260 
1261 /* Default declaration of generated scanner - a define so the user can
1262  * easily add parameters.
1263  */
1264 #ifndef YY_DECL
1265 #define YY_DECL_IS_OURS 1
1266 
1267 extern int yylex (void);
1268 
1269 #define YY_DECL int yylex (void)
1270 #endif /* !YY_DECL */
1271 
1272 /* Code executed at the beginning of each rule, after yytext and yyleng
1273  * have been set up.
1274  */
1275 #ifndef YY_USER_ACTION
1276 #define YY_USER_ACTION
1277 #endif
1278 
1279 /* Code executed at the end of each rule. */
1280 #ifndef YY_BREAK
1281 #define YY_BREAK /*LINTED*/break;
1282 #endif
1283 
1284 #define YY_RULE_SETUP \
1285  YY_USER_ACTION
1286 
1289 YY_DECL
1292  char *yy_cp, *yy_bp;
1293  int yy_act;
1294 
1295  if ( !(yy_init) )
1296  {
1297  (yy_init) = 1;
1298 
1299 #ifdef YY_USER_INIT
1300  YY_USER_INIT;
1301 #endif
1302 
1303  if ( ! (yy_start) )
1304  (yy_start) = 1; /* first start state */
1305 
1306  if ( ! yyin )
1307  yyin = stdin;
1308 
1309  if ( ! yyout )
1310  yyout = stdout;
1311 
1312  if ( ! YY_CURRENT_BUFFER ) {
1316  }
1317 
1319  }
1320 
1321  {
1322 #line 103 "asmshader.l"
1323 
1324 
1325 #line 106 "asmshader.l"
1326  /* Common instructions(vertex and pixel shaders) */
1327 #line 1327 "asmshader.yy.c"
1328 
1329  while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
1330  {
1331  yy_cp = (yy_c_buf_p);
1332 
1333  /* Support of yytext. */
1334  *yy_cp = (yy_hold_char);
1335 
1336  /* yy_bp points to the position in yy_ch_buf of the start of
1337  * the current run.
1338  */
1339  yy_bp = yy_cp;
1340 
1342 yy_match:
1343  do
1344  {
1345  YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
1346  if ( yy_accept[yy_current_state] )
1347  {
1350  }
1351  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1352  {
1354  if ( yy_current_state >= 481 )
1355  yy_c = yy_meta[yy_c];
1356  }
1358  ++yy_cp;
1359  }
1360  while ( yy_current_state != 480 );
1363 
1364 yy_find_action:
1366 
1368 
1369 do_action: /* This label is used only to access EOF actions. */
1370 
1371  switch ( yy_act )
1372  { /* beginning of action switch */
1373  case 0: /* must back up */
1374  /* undo the effects of YY_DO_BEFORE_ACTION */
1375  *yy_cp = (yy_hold_char);
1378  goto yy_find_action;
1379 
1380 case 1:
1382 #line 107 "asmshader.l"
1383 {return INSTR_ADD; }
1384  YY_BREAK
1385 case 2:
1387 #line 108 "asmshader.l"
1388 {return INSTR_NOP; }
1389  YY_BREAK
1390 case 3:
1392 #line 109 "asmshader.l"
1393 {return INSTR_MOV; }
1394  YY_BREAK
1395 case 4:
1397 #line 110 "asmshader.l"
1398 {return INSTR_SUB; }
1399  YY_BREAK
1400 case 5:
1402 #line 111 "asmshader.l"
1403 {return INSTR_MAD; }
1404  YY_BREAK
1405 case 6:
1407 #line 112 "asmshader.l"
1408 {return INSTR_MUL; }
1409  YY_BREAK
1410 case 7:
1412 #line 113 "asmshader.l"
1413 {return INSTR_RCP; }
1414  YY_BREAK
1415 case 8:
1417 #line 114 "asmshader.l"
1418 {return INSTR_RSQ; }
1419  YY_BREAK
1420 case 9:
1422 #line 115 "asmshader.l"
1423 {return INSTR_DP3; }
1424  YY_BREAK
1425 case 10:
1427 #line 116 "asmshader.l"
1428 {return INSTR_DP4; }
1429  YY_BREAK
1430 case 11:
1432 #line 117 "asmshader.l"
1433 {return INSTR_MIN; }
1434  YY_BREAK
1435 case 12:
1437 #line 118 "asmshader.l"
1438 {return INSTR_MAX; }
1439  YY_BREAK
1440 case 13:
1442 #line 119 "asmshader.l"
1443 {return INSTR_SLT; }
1444  YY_BREAK
1445 case 14:
1447 #line 120 "asmshader.l"
1448 {return INSTR_SGE; }
1449  YY_BREAK
1450 case 15:
1452 #line 121 "asmshader.l"
1453 {return INSTR_ABS; }
1454  YY_BREAK
1455 case 16:
1457 #line 122 "asmshader.l"
1458 {return INSTR_EXP; }
1459  YY_BREAK
1460 case 17:
1462 #line 123 "asmshader.l"
1463 {return INSTR_LOG; }
1464  YY_BREAK
1465 case 18:
1467 #line 124 "asmshader.l"
1468 {return INSTR_EXPP; }
1469  YY_BREAK
1470 case 19:
1472 #line 125 "asmshader.l"
1473 {return INSTR_LOGP; }
1474  YY_BREAK
1475 case 20:
1477 #line 126 "asmshader.l"
1478 {return INSTR_DST; }
1479  YY_BREAK
1480 case 21:
1482 #line 127 "asmshader.l"
1483 {return INSTR_LRP; }
1484  YY_BREAK
1485 case 22:
1487 #line 128 "asmshader.l"
1488 {return INSTR_FRC; }
1489  YY_BREAK
1490 case 23:
1492 #line 129 "asmshader.l"
1493 {return INSTR_POW; }
1494  YY_BREAK
1495 case 24:
1497 #line 130 "asmshader.l"
1498 {return INSTR_CRS; }
1499  YY_BREAK
1500 case 25:
1502 #line 131 "asmshader.l"
1503 {return INSTR_SGN; }
1504  YY_BREAK
1505 case 26:
1507 #line 132 "asmshader.l"
1508 {return INSTR_NRM; }
1509  YY_BREAK
1510 case 27:
1512 #line 133 "asmshader.l"
1513 {return INSTR_SINCOS; }
1514  YY_BREAK
1515 case 28:
1517 #line 134 "asmshader.l"
1518 {return INSTR_M4x4; }
1519  YY_BREAK
1520 case 29:
1522 #line 135 "asmshader.l"
1523 {return INSTR_M4x3; }
1524  YY_BREAK
1525 case 30:
1527 #line 136 "asmshader.l"
1528 {return INSTR_M3x4; }
1529  YY_BREAK
1530 case 31:
1532 #line 137 "asmshader.l"
1533 {return INSTR_M3x3; }
1534  YY_BREAK
1535 case 32:
1537 #line 138 "asmshader.l"
1538 {return INSTR_M3x2; }
1539  YY_BREAK
1540 case 33:
1542 #line 139 "asmshader.l"
1543 {return INSTR_DCL; }
1544  YY_BREAK
1545 case 34:
1547 #line 140 "asmshader.l"
1548 {return INSTR_DEF; }
1549  YY_BREAK
1550 case 35:
1552 #line 141 "asmshader.l"
1553 {return INSTR_DEFB; }
1554  YY_BREAK
1555 case 36:
1557 #line 142 "asmshader.l"
1558 {return INSTR_DEFI; }
1559  YY_BREAK
1560 case 37:
1562 #line 143 "asmshader.l"
1563 {return INSTR_REP; }
1564  YY_BREAK
1565 case 38:
1567 #line 144 "asmshader.l"
1568 {return INSTR_ENDREP; }
1569  YY_BREAK
1570 case 39:
1572 #line 145 "asmshader.l"
1573 {return INSTR_IF; }
1574  YY_BREAK
1575 case 40:
1577 #line 146 "asmshader.l"
1578 {return INSTR_ELSE; }
1579  YY_BREAK
1580 case 41:
1582 #line 147 "asmshader.l"
1583 {return INSTR_ENDIF; }
1584  YY_BREAK
1585 case 42:
1587 #line 148 "asmshader.l"
1588 {return INSTR_BREAK; }
1589  YY_BREAK
1590 case 43:
1592 #line 149 "asmshader.l"
1593 {return INSTR_BREAKP; }
1594  YY_BREAK
1595 case 44:
1597 #line 150 "asmshader.l"
1598 {return INSTR_CALL; }
1599  YY_BREAK
1600 case 45:
1602 #line 151 "asmshader.l"
1603 {return INSTR_CALLNZ; }
1604  YY_BREAK
1605 case 46:
1607 #line 152 "asmshader.l"
1608 {return INSTR_LOOP; }
1609  YY_BREAK
1610 case 47:
1612 #line 153 "asmshader.l"
1613 {return INSTR_RET; }
1614  YY_BREAK
1615 case 48:
1617 #line 154 "asmshader.l"
1618 {return INSTR_ENDLOOP; }
1619  YY_BREAK
1620 case 49:
1622 #line 155 "asmshader.l"
1623 {return INSTR_LABEL; }
1624  YY_BREAK
1625 case 50:
1627 #line 156 "asmshader.l"
1628 {return INSTR_SETP; }
1629  YY_BREAK
1630 case 51:
1632 #line 157 "asmshader.l"
1633 {return INSTR_TEXLDL; }
1634  YY_BREAK
1635 /* Vertex shader only instructions */
1636 case 52:
1638 #line 160 "asmshader.l"
1639 {return INSTR_LIT; }
1640  YY_BREAK
1641 case 53:
1643 #line 161 "asmshader.l"
1644 {return INSTR_MOVA; }
1645  YY_BREAK
1646 /* Pixel shader only instructions */
1647 case 54:
1649 #line 164 "asmshader.l"
1650 {return INSTR_CND; }
1651  YY_BREAK
1652 case 55:
1654 #line 165 "asmshader.l"
1655 {return INSTR_CMP; }
1656  YY_BREAK
1657 case 56:
1659 #line 166 "asmshader.l"
1660 {return INSTR_DP2ADD; }
1661  YY_BREAK
1662 case 57:
1664 #line 167 "asmshader.l"
1665 {return INSTR_TEXCOORD; }
1666  YY_BREAK
1667 case 58:
1669 #line 168 "asmshader.l"
1670 {return INSTR_TEXCRD; }
1671  YY_BREAK
1672 case 59:
1674 #line 169 "asmshader.l"
1675 {return INSTR_TEXKILL; }
1676  YY_BREAK
1677 case 60:
1679 #line 170 "asmshader.l"
1680 {return INSTR_TEX; }
1681  YY_BREAK
1682 case 61:
1684 #line 171 "asmshader.l"
1685 {return INSTR_TEXLD; }
1686  YY_BREAK
1687 case 62:
1689 #line 172 "asmshader.l"
1690 {return INSTR_TEXBEM; }
1691  YY_BREAK
1692 case 63:
1694 #line 173 "asmshader.l"
1695 {return INSTR_TEXBEML; }
1696  YY_BREAK
1697 case 64:
1699 #line 174 "asmshader.l"
1700 {return INSTR_TEXREG2AR; }
1701  YY_BREAK
1702 case 65:
1704 #line 175 "asmshader.l"
1705 {return INSTR_TEXREG2GB; }
1706  YY_BREAK
1707 case 66:
1709 #line 176 "asmshader.l"
1710 {return INSTR_TEXREG2RGB; }
1711  YY_BREAK
1712 case 67:
1714 #line 177 "asmshader.l"
1715 {return INSTR_TEXM3x2PAD; }
1716  YY_BREAK
1717 case 68:
1719 #line 178 "asmshader.l"
1720 {return INSTR_TEXM3x2TEX; }
1721  YY_BREAK
1722 case 69:
1724 #line 179 "asmshader.l"
1725 {return INSTR_TEXM3x3PAD; }
1726  YY_BREAK
1727 case 70:
1729 #line 180 "asmshader.l"
1730 {return INSTR_TEXM3x3SPEC; }
1731  YY_BREAK
1732 case 71:
1734 #line 181 "asmshader.l"
1735 {return INSTR_TEXM3x3VSPEC; }
1736  YY_BREAK
1737 case 72:
1739 #line 182 "asmshader.l"
1740 {return INSTR_TEXM3x3TEX; }
1741  YY_BREAK
1742 case 73:
1744 #line 183 "asmshader.l"
1745 {return INSTR_TEXDP3TEX; }
1746  YY_BREAK
1747 case 74:
1749 #line 184 "asmshader.l"
1750 {return INSTR_TEXM3x2DEPTH; }
1751  YY_BREAK
1752 case 75:
1754 #line 185 "asmshader.l"
1755 {return INSTR_TEXDP3; }
1756  YY_BREAK
1757 case 76:
1759 #line 186 "asmshader.l"
1760 {return INSTR_TEXM3x3; }
1761  YY_BREAK
1762 case 77:
1764 #line 187 "asmshader.l"
1765 {return INSTR_TEXDEPTH; }
1766  YY_BREAK
1767 case 78:
1769 #line 188 "asmshader.l"
1770 {return INSTR_BEM; }
1771  YY_BREAK
1772 case 79:
1774 #line 189 "asmshader.l"
1775 {return INSTR_DSX; }
1776  YY_BREAK
1777 case 80:
1779 #line 190 "asmshader.l"
1780 {return INSTR_DSY; }
1781  YY_BREAK
1782 case 81:
1784 #line 191 "asmshader.l"
1785 {return INSTR_TEXLDP; }
1786  YY_BREAK
1787 case 82:
1789 #line 192 "asmshader.l"
1790 {return INSTR_TEXLDB; }
1791  YY_BREAK
1792 case 83:
1794 #line 193 "asmshader.l"
1795 {return INSTR_TEXLDD; }
1796  YY_BREAK
1797 case 84:
1799 #line 194 "asmshader.l"
1800 {return INSTR_PHASE; }
1801  YY_BREAK
1802 case 85:
1804 #line 196 "asmshader.l"
1805 {
1807  return REG_TEMP;
1808  }
1809  YY_BREAK
1810 case 86:
1812 #line 200 "asmshader.l"
1813 {
1815  return REG_OUTPUT;
1816  }
1817  YY_BREAK
1818 case 87:
1820 #line 204 "asmshader.l"
1821 {
1823  return REG_INPUT;
1824  }
1825  YY_BREAK
1826 case 88:
1828 #line 208 "asmshader.l"
1829 {
1831  return REG_CONSTFLOAT;
1832  }
1833  YY_BREAK
1834 case 89:
1836 #line 212 "asmshader.l"
1837 {
1839  return REG_CONSTINT;
1840  }
1841  YY_BREAK
1842 case 90:
1844 #line 216 "asmshader.l"
1845 {
1847  return REG_CONSTBOOL;
1848  }
1849  YY_BREAK
1850 case 91:
1852 #line 220 "asmshader.l"
1853 {
1855  return REG_TEXTURE;
1856  }
1857  YY_BREAK
1858 case 92:
1860 #line 224 "asmshader.l"
1861 {
1863  return REG_TEXCRDOUT;
1864  }
1865  YY_BREAK
1866 case 93:
1868 #line 228 "asmshader.l"
1869 {
1871  return REG_SAMPLER;
1872  }
1873  YY_BREAK
1874 case 94:
1876 #line 232 "asmshader.l"
1877 {return REG_OPOS; }
1878  YY_BREAK
1879 case 95:
1881 #line 233 "asmshader.l"
1882 {return REG_OFOG; }
1883  YY_BREAK
1884 case 96:
1886 #line 234 "asmshader.l"
1887 {return REG_OPTS; }
1888  YY_BREAK
1889 case 97:
1891 #line 235 "asmshader.l"
1892 {
1894  return REG_VERTEXCOLOR;
1895  }
1896  YY_BREAK
1897 case 98:
1899 #line 239 "asmshader.l"
1900 {
1902  return REG_FRAGCOLOR;
1903  }
1904  YY_BREAK
1905 case 99:
1907 #line 243 "asmshader.l"
1908 {return REG_FRAGDEPTH; }
1909  YY_BREAK
1910 case 100:
1912 #line 244 "asmshader.l"
1913 {return REG_VPOS; }
1914  YY_BREAK
1915 case 101:
1917 #line 245 "asmshader.l"
1918 {return REG_VFACE; }
1919  YY_BREAK
1920 case 102:
1922 #line 246 "asmshader.l"
1923 {return REG_ADDRESS; }
1924  YY_BREAK
1925 case 103:
1927 #line 247 "asmshader.l"
1928 {return REG_LOOP; }
1929  YY_BREAK
1930 case 104:
1932 #line 248 "asmshader.l"
1933 {return REG_PREDICATE; }
1934  YY_BREAK
1935 case 105:
1937 #line 250 "asmshader.l"
1938 {
1940  return REG_LABEL;
1941  }
1942  YY_BREAK
1943 /* Shader versions. These are important to select the correct
1944  * parser profile.
1945  */
1946 case 106:
1948 #line 258 "asmshader.l"
1949 {return VER_VS10; }
1950  YY_BREAK
1951 case 107:
1953 #line 259 "asmshader.l"
1954 {return VER_VS11; }
1955  YY_BREAK
1956 case 108:
1958 #line 261 "asmshader.l"
1959 {return VER_VS20; }
1960  YY_BREAK
1961 case 109:
1963 #line 262 "asmshader.l"
1964 {return VER_VS2X; }
1965  YY_BREAK
1966 case 110:
1968 #line 263 "asmshader.l"
1969 {return VER_VS30; }
1970  YY_BREAK
1971 case 111:
1973 #line 265 "asmshader.l"
1974 {return VER_PS10; }
1975  YY_BREAK
1976 case 112:
1978 #line 266 "asmshader.l"
1979 {return VER_PS11; }
1980  YY_BREAK
1981 case 113:
1983 #line 267 "asmshader.l"
1984 {return VER_PS12; }
1985  YY_BREAK
1986 case 114:
1988 #line 268 "asmshader.l"
1989 {return VER_PS13; }
1990  YY_BREAK
1991 case 115:
1993 #line 269 "asmshader.l"
1994 {return VER_PS14; }
1995  YY_BREAK
1996 case 116:
1998 #line 271 "asmshader.l"
1999 {return VER_PS20; }
2000  YY_BREAK
2001 case 117:
2003 #line 272 "asmshader.l"
2004 {return VER_PS2X; }
2005  YY_BREAK
2006 case 118:
2008 #line 273 "asmshader.l"
2009 {return VER_PS30; }
2010  YY_BREAK
2011 case 119:
2013 #line 275 "asmshader.l"
2014 {return yytext[0]; }
2015  YY_BREAK
2016 case 120:
2018 #line 276 "asmshader.l"
2019 {
2020  switch(yytext[0]) {
2021  case 'x':
2022  case 'r':
2024  break;
2025  case 'y':
2026  case 'g':
2028  break;
2029  case 'z':
2030  case 'b':
2032  break;
2033  case 'w':
2034  case 'a':
2036  break;
2037  }
2038  return COMPONENT;
2039  }
2040  YY_BREAK
2041 /* Output modifiers */
2042 case 121:
2044 #line 299 "asmshader.l"
2045 {return SHIFT_X2; }
2046  YY_BREAK
2047 case 122:
2049 #line 300 "asmshader.l"
2050 {return SHIFT_X4; }
2051  YY_BREAK
2052 case 123:
2054 #line 301 "asmshader.l"
2055 {return SHIFT_X8; }
2056  YY_BREAK
2057 case 124:
2059 #line 302 "asmshader.l"
2060 {return SHIFT_D2; }
2061  YY_BREAK
2062 case 125:
2064 #line 303 "asmshader.l"
2065 {return SHIFT_D4; }
2066  YY_BREAK
2067 case 126:
2069 #line 304 "asmshader.l"
2070 {return SHIFT_D8; }
2071  YY_BREAK
2072 case 127:
2074 #line 305 "asmshader.l"
2075 {return MOD_SAT; }
2076  YY_BREAK
2077 case 128:
2079 #line 306 "asmshader.l"
2080 {return MOD_PP; }
2081  YY_BREAK
2082 case 129:
2084 #line 307 "asmshader.l"
2085 {return MOD_CENTROID; }
2086  YY_BREAK
2087 /* compare params */
2088 case 130:
2090 #line 310 "asmshader.l"
2091 {return COMP_GT; }
2092  YY_BREAK
2093 case 131:
2095 #line 311 "asmshader.l"
2096 {return COMP_LT; }
2097  YY_BREAK
2098 case 132:
2100 #line 312 "asmshader.l"
2101 {return COMP_GE; }
2102  YY_BREAK
2103 case 133:
2105 #line 313 "asmshader.l"
2106 {return COMP_LE; }
2107  YY_BREAK
2108 case 134:
2110 #line 314 "asmshader.l"
2111 {return COMP_EQ; }
2112  YY_BREAK
2113 case 135:
2115 #line 315 "asmshader.l"
2116 {return COMP_NE; }
2117  YY_BREAK
2118 case 136:
2120 #line 317 "asmshader.l"
2121 {
2123  asmshader_lval.immval.integer = ((strstr(yytext, ".") == NULL) && (strstr(yytext, "f") == NULL));
2124  return IMMVAL;
2125  }
2126  YY_BREAK
2127 case 137:
2129 #line 322 "asmshader.l"
2130 {
2132  return IMMBOOL;
2133  }
2134  YY_BREAK
2135 case 138:
2137 #line 326 "asmshader.l"
2138 {
2140  return IMMBOOL;
2141  }
2142  YY_BREAK
2143 case 139:
2145 #line 331 "asmshader.l"
2146 {return yytext[0]; }
2147  YY_BREAK
2148 case 140:
2150 #line 332 "asmshader.l"
2151 {return yytext[0]; }
2152  YY_BREAK
2153 case 141:
2155 #line 333 "asmshader.l"
2156 {return yytext[0]; }
2157  YY_BREAK
2158 case 142:
2160 #line 334 "asmshader.l"
2161 {return yytext[0]; }
2162  YY_BREAK
2163 /* for relative addressing */
2164 case 143:
2166 #line 337 "asmshader.l"
2167 {return yytext[0]; }
2168  YY_BREAK
2169 case 144:
2171 #line 339 "asmshader.l"
2172 {return SMOD_BIAS; }
2173  YY_BREAK
2174 /* No _x2 here; it is identical to MOD_X2 */
2175 case 145:
2177 #line 341 "asmshader.l"
2178 {return SMOD_SCALEBIAS; }
2179  YY_BREAK
2180 case 146:
2182 #line 342 "asmshader.l"
2183 {return SMOD_DZ; }
2184  YY_BREAK
2185 case 147:
2187 #line 343 "asmshader.l"
2188 {return SMOD_DW; }
2189  YY_BREAK
2190 case 148:
2192 #line 344 "asmshader.l"
2193 {return SMOD_ABS; }
2194  YY_BREAK
2195 case 149:
2197 #line 346 "asmshader.l"
2198 {return SMOD_NOT; }
2199  YY_BREAK
2200 case 150:
2202 #line 348 "asmshader.l"
2203 {
2204  if(yytext[strlen("_position")] == '\0') {
2205  asmshader_lval.regnum = 0;
2206  } else {
2207  asmshader_lval.regnum = atoi(yytext + strlen("_position"));
2208  }
2209  return USAGE_POSITION;
2210  }
2211  YY_BREAK
2212 case 151:
2214 #line 356 "asmshader.l"
2215 {
2216  if(yytext[strlen("_blendweight")] == '\0') {
2217  asmshader_lval.regnum = 0;
2218  } else {
2219  asmshader_lval.regnum = atoi(yytext + strlen("_blendweight"));
2220  }
2221  return USAGE_BLENDWEIGHT;
2222  }
2223  YY_BREAK
2224 case 152:
2226 #line 364 "asmshader.l"
2227 {
2228  if(yytext[strlen("_blendindices")] == '\0') {
2229  asmshader_lval.regnum = 0;
2230  } else {
2231  asmshader_lval.regnum = atoi(yytext + strlen("_blendindices"));
2232  }
2233  return USAGE_BLENDINDICES;
2234  }
2235  YY_BREAK
2236 case 153:
2238 #line 372 "asmshader.l"
2239 {
2240  if(yytext[strlen("_normal")] == '\0') {
2241  asmshader_lval.regnum = 0;
2242  } else {
2243  asmshader_lval.regnum = atoi(yytext + strlen("_normal"));
2244  }
2245  return USAGE_NORMAL;
2246  }
2247  YY_BREAK
2248 case 154:
2250 #line 380 "asmshader.l"
2251 {
2252  if(yytext[strlen("_psize")] == '\0') {
2253  asmshader_lval.regnum = 0;
2254  } else {
2255  asmshader_lval.regnum = atoi(yytext + strlen("_psize"));
2256  }
2257  return USAGE_PSIZE;
2258  }
2259  YY_BREAK
2260 case 155:
2262 #line 388 "asmshader.l"
2263 {
2264  if(yytext[strlen("_texcoord")] == '\0') {
2265  asmshader_lval.regnum = 0;
2266  } else {
2267  asmshader_lval.regnum = atoi(yytext + strlen("_texcoord"));
2268  }
2269  return USAGE_TEXCOORD;
2270  }
2271  YY_BREAK
2272 case 156:
2274 #line 396 "asmshader.l"
2275 {
2276  if(yytext[strlen("_tangent")] == '\0') {
2277  asmshader_lval.regnum = 0;
2278  } else {
2279  asmshader_lval.regnum = atoi(yytext + strlen("_tangent"));
2280  }
2281  return USAGE_TANGENT;
2282  }
2283  YY_BREAK
2284 case 157:
2286 #line 404 "asmshader.l"
2287 {
2288  if(yytext[strlen("_binormal")] == '\0') {
2289  asmshader_lval.regnum = 0;
2290  } else {
2291  asmshader_lval.regnum = atoi(yytext + strlen("_binormal"));
2292  }
2293  return USAGE_BINORMAL;
2294  }
2295  YY_BREAK
2296 case 158:
2298 #line 412 "asmshader.l"
2299 {
2300  if(yytext[strlen("_tessfactor")] == '\0') {
2301  asmshader_lval.regnum = 0;
2302  } else {
2303  asmshader_lval.regnum = atoi(yytext + strlen("_tessfactor"));
2304  }
2305  return USAGE_TESSFACTOR;
2306  }
2307  YY_BREAK
2308 case 159:
2310 #line 420 "asmshader.l"
2311 {
2312  if(yytext[strlen("_positiont")] == '\0') {
2313  asmshader_lval.regnum = 0;
2314  } else {
2315  asmshader_lval.regnum = atoi(yytext + strlen("_positiont"));
2316  }
2317  return USAGE_POSITIONT;
2318  }
2319  YY_BREAK
2320 case 160:
2322 #line 428 "asmshader.l"
2323 {
2324  if(yytext[strlen("_color")] == '\0') {
2325  asmshader_lval.regnum = 0;
2326  } else {
2327  asmshader_lval.regnum = atoi(yytext + strlen("_color"));
2328  }
2329  return USAGE_COLOR;
2330  }
2331  YY_BREAK
2332 case 161:
2334 #line 436 "asmshader.l"
2335 {
2336  if(yytext[strlen("_fog")] == '\0') {
2337  asmshader_lval.regnum = 0;
2338  } else {
2339  asmshader_lval.regnum = atoi(yytext + strlen("_fog"));
2340  }
2341  return USAGE_FOG;
2342  }
2343  YY_BREAK
2344 case 162:
2346 #line 444 "asmshader.l"
2347 {
2348  if(yytext[strlen("_depth")] == '\0') {
2349  asmshader_lval.regnum = 0;
2350  } else {
2351  asmshader_lval.regnum = atoi(yytext + strlen("_depth"));
2352  }
2353  return USAGE_DEPTH;
2354  }
2355  YY_BREAK
2356 case 163:
2358 #line 452 "asmshader.l"
2359 {
2360  if(yytext[strlen("_sample")] == '\0') {
2361  asmshader_lval.regnum = 0;
2362  } else {
2363  asmshader_lval.regnum = atoi(yytext + strlen("_sample"));
2364  }
2365  return USAGE_SAMPLE;
2366  }
2367  YY_BREAK
2368 case 164:
2370 #line 461 "asmshader.l"
2371 { return SAMPTYPE_1D; }
2372  YY_BREAK
2373 case 165:
2375 #line 462 "asmshader.l"
2376 { return SAMPTYPE_2D; }
2377  YY_BREAK
2378 case 166:
2380 #line 463 "asmshader.l"
2381 { return SAMPTYPE_CUBE; }
2382  YY_BREAK
2383 case 167:
2385 #line 464 "asmshader.l"
2386 { return SAMPTYPE_VOLUME; }
2387  YY_BREAK
2388 case 168:
2389 /* rule 168 can match eol */
2391 #line 466 "asmshader.l"
2392 {
2393  /* TODO: update current line information */
2394  TRACE("line info update: %s", yytext);
2395  }
2396  YY_BREAK
2397 /* Skip comments */
2398 case 169:
2400 #line 472 "asmshader.l"
2401 { }
2402  YY_BREAK
2403 case 170:
2405 #line 473 "asmshader.l"
2406 { }
2407  YY_BREAK
2408 case 171:
2410 #line 475 "asmshader.l"
2411 { /* Do nothing */ }
2412  YY_BREAK
2413 case 172:
2414 /* rule 172 can match eol */
2416 #line 476 "asmshader.l"
2417 {
2418  asm_ctx.line_no++;
2419  }
2420  YY_BREAK
2421 case 173:
2423 #line 480 "asmshader.l"
2424 {
2425  asmparser_message(&asm_ctx, "Line %u: Unexpected input %s\n", asm_ctx.line_no, yytext);
2427  }
2428  YY_BREAK
2429 case 174:
2431 #line 485 "asmshader.l"
2432 ECHO;
2433  YY_BREAK
2434 #line 2434 "asmshader.yy.c"
2435 case YY_STATE_EOF(INITIAL):
2436  yyterminate();
2437 
2438  case YY_END_OF_BUFFER:
2439  {
2440  /* Amount of text matched not including the EOB char. */
2441  int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
2442 
2443  /* Undo the effects of YY_DO_BEFORE_ACTION. */
2444  *yy_cp = (yy_hold_char);
2446 
2447  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2448  {
2449  /* We're scanning a new file or input source. It's
2450  * possible that this happened because the user
2451  * just pointed yyin at a new source and called
2452  * yylex(). If so, then we have to assure
2453  * consistency between YY_CURRENT_BUFFER and our
2454  * globals. Here is the right place to do so, because
2455  * this is the first action (other than possibly a
2456  * back-up) that will match for the new input source.
2457  */
2458  (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2459  YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
2460  YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2461  }
2462 
2463  /* Note that here we test for yy_c_buf_p "<=" to the position
2464  * of the first EOB in the buffer, since yy_c_buf_p will
2465  * already have been incremented past the NUL character
2466  * (since all states make transitions on EOB to the
2467  * end-of-buffer state). Contrast this with the test
2468  * in input().
2469  */
2470  if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2471  { /* This was really a NUL. */
2472  yy_state_type yy_next_state;
2473 
2474  (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
2475 
2477 
2478  /* Okay, we're now positioned to make the NUL
2479  * transition. We couldn't have
2480  * yy_get_previous_state() go ahead and do it
2481  * for us because it doesn't know how to deal
2482  * with the possibility of jamming (and we don't
2483  * want to build jamming into it because then it
2484  * will run more slowly).
2485  */
2486 
2487  yy_next_state = yy_try_NUL_trans( yy_current_state );
2488 
2490 
2491  if ( yy_next_state )
2492  {
2493  /* Consume the NUL. */
2494  yy_cp = ++(yy_c_buf_p);
2495  yy_current_state = yy_next_state;
2496  goto yy_match;
2497  }
2498 
2499  else
2500  {
2503  goto yy_find_action;
2504  }
2505  }
2506 
2507  else switch ( yy_get_next_buffer( ) )
2508  {
2509  case EOB_ACT_END_OF_FILE:
2510  {
2512 
2513  if ( yywrap( ) )
2514  {
2515  /* Note: because we've taken care in
2516  * yy_get_next_buffer() to have set up
2517  * yytext, we can now set up
2518  * yy_c_buf_p so that if some total
2519  * hoser (like flex itself) wants to
2520  * call the scanner after we return the
2521  * YY_NULL, it'll still work - another
2522  * YY_NULL will get returned.
2523  */
2525 
2527  goto do_action;
2528  }
2529 
2530  else
2531  {
2532  if ( ! (yy_did_buffer_switch_on_eof) )
2533  YY_NEW_FILE;
2534  }
2535  break;
2536  }
2537 
2538  case EOB_ACT_CONTINUE_SCAN:
2539  (yy_c_buf_p) =
2540  (yytext_ptr) + yy_amount_of_matched_text;
2541 
2543 
2544  yy_cp = (yy_c_buf_p);
2546  goto yy_match;
2547 
2548  case EOB_ACT_LAST_MATCH:
2549  (yy_c_buf_p) =
2550  &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
2551 
2553 
2554  yy_cp = (yy_c_buf_p);
2556  goto yy_find_action;
2557  }
2558  break;
2559  }
2560 
2561  default:
2563  "fatal flex scanner internal error--no action found" );
2564  } /* end of action switch */
2565  } /* end of scanning one token */
2566  } /* end of user's declarations */
2567 } /* end of yylex */
2568 
2569 /* yy_get_next_buffer - try to read in a new buffer
2570  *
2571  * Returns a code representing an action:
2572  * EOB_ACT_LAST_MATCH -
2573  * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2574  * EOB_ACT_END_OF_FILE - end of file
2575  */
2576 static int yy_get_next_buffer (void)
2577 {
2578  char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
2579  char *source = (yytext_ptr);
2580  int number_to_move, i;
2581  int ret_val;
2582 
2583  if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
2585  "fatal flex scanner internal error--end of buffer missed" );
2586 
2587  if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
2588  { /* Don't try to fill the buffer, so this is an EOF. */
2589  if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
2590  {
2591  /* We matched a single character, the EOB, so
2592  * treat this as a final EOF.
2593  */
2594  return EOB_ACT_END_OF_FILE;
2595  }
2596 
2597  else
2598  {
2599  /* We matched some text prior to the EOB, first
2600  * process it.
2601  */
2602  return EOB_ACT_LAST_MATCH;
2603  }
2604  }
2605 
2606  /* Try to read more data. */
2607 
2608  /* First move last chars to start of buffer. */
2609  number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
2610 
2611  for ( i = 0; i < number_to_move; ++i )
2612  *(dest++) = *(source++);
2613 
2614  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2615  /* don't do the read, it's not guaranteed to return an EOF,
2616  * just force an EOF
2617  */
2618  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
2619 
2620  else
2621  {
2622  int num_to_read =
2623  YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
2624 
2625  while ( num_to_read <= 0 )
2626  { /* Not enough room in the buffer - grow it. */
2627 
2628  /* just a shorter name for the current buffer */
2630 
2631  int yy_c_buf_p_offset =
2632  (int) ((yy_c_buf_p) - b->yy_ch_buf);
2633 
2634  if ( b->yy_is_our_buffer )
2635  {
2636  int new_size = b->yy_buf_size * 2;
2637 
2638  if ( new_size <= 0 )
2639  b->yy_buf_size += b->yy_buf_size / 8;
2640  else
2641  b->yy_buf_size *= 2;
2642 
2643  b->yy_ch_buf = (char *)
2644  /* Include room in for 2 EOB chars. */
2645  yyrealloc( (void *) b->yy_ch_buf,
2646  (yy_size_t) (b->yy_buf_size + 2) );
2647  }
2648  else
2649  /* Can't grow it, we don't own it. */
2650  b->yy_ch_buf = NULL;
2651 
2652  if ( ! b->yy_ch_buf )
2654  "fatal error - scanner input buffer overflow" );
2655 
2656  (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
2657 
2658  num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
2659  number_to_move - 1;
2660 
2661  }
2662 
2663  if ( num_to_read > YY_READ_BUF_SIZE )
2664  num_to_read = YY_READ_BUF_SIZE;
2665 
2666  /* Read in more data. */
2667  YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
2668  (yy_n_chars), num_to_read );
2669 
2670  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2671  }
2672 
2673  if ( (yy_n_chars) == 0 )
2674  {
2675  if ( number_to_move == YY_MORE_ADJ )
2676  {
2677  ret_val = EOB_ACT_END_OF_FILE;
2678  yyrestart( yyin );
2679  }
2680 
2681  else
2682  {
2683  ret_val = EOB_ACT_LAST_MATCH;
2684  YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
2686  }
2687  }
2688 
2689  else
2690  ret_val = EOB_ACT_CONTINUE_SCAN;
2691 
2692  if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
2693  /* Extend the array by 50%, plus the number we really need. */
2694  int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
2695  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
2696  (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size );
2697  if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
2698  YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
2699  /* "- 2" to take care of EOB's */
2700  YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
2701  }
2702 
2703  (yy_n_chars) += number_to_move;
2706 
2707  (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
2708 
2709  return ret_val;
2710 }
2711 
2712 /* yy_get_previous_state - get the state just before the EOB char was reached */
2713 
2714  static yy_state_type yy_get_previous_state (void)
2715 {
2717  char *yy_cp;
2718 
2720 
2721  for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
2722  {
2723  YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2724  if ( yy_accept[yy_current_state] )
2725  {
2728  }
2729  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2730  {
2732  if ( yy_current_state >= 481 )
2733  yy_c = yy_meta[yy_c];
2734  }
2736  }
2737 
2738  return yy_current_state;
2739 }
2740 
2741 /* yy_try_NUL_trans - try to make a transition on the NUL character
2742  *
2743  * synopsis
2744  * next_state = yy_try_NUL_trans( current_state );
2745  */
2747 {
2748  int yy_is_jam;
2749  char *yy_cp = (yy_c_buf_p);
2750 
2751  YY_CHAR yy_c = 1;
2752  if ( yy_accept[yy_current_state] )
2753  {
2756  }
2757  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2758  {
2760  if ( yy_current_state >= 481 )
2761  yy_c = yy_meta[yy_c];
2762  }
2764  yy_is_jam = (yy_current_state == 480);
2765 
2766  return yy_is_jam ? 0 : yy_current_state;
2767 }
2768 
2769 #ifndef YY_NO_UNPUT
2770 
2771 #endif
2772 
2773 #ifndef YY_NO_INPUT
2774 #ifdef __cplusplus
2775  static int yyinput (void)
2776 #else
2777  static int input (void)
2778 #endif
2779 
2780 {
2781  int c;
2782 
2783  *(yy_c_buf_p) = (yy_hold_char);
2784 
2785  if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
2786  {
2787  /* yy_c_buf_p now points to the character we want to return.
2788  * If this occurs *before* the EOB characters, then it's a
2789  * valid NUL; if not, then we've hit the end of the buffer.
2790  */
2791  if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2792  /* This was really a NUL. */
2793  *(yy_c_buf_p) = '\0';
2794 
2795  else
2796  { /* need more input */
2797  int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
2798  ++(yy_c_buf_p);
2799 
2800  switch ( yy_get_next_buffer( ) )
2801  {
2802  case EOB_ACT_LAST_MATCH:
2803  /* This happens because yy_g_n_b()
2804  * sees that we've accumulated a
2805  * token and flags that we need to
2806  * try matching the token before
2807  * proceeding. But for input(),
2808  * there's no matching to consider.
2809  * So convert the EOB_ACT_LAST_MATCH
2810  * to EOB_ACT_END_OF_FILE.
2811  */
2812 
2813  /* Reset buffer status. */
2814  yyrestart( yyin );
2815 
2816  /*FALLTHROUGH*/
2817 
2818  case EOB_ACT_END_OF_FILE:
2819  {
2820  if ( yywrap( ) )
2821  return 0;
2822 
2823  if ( ! (yy_did_buffer_switch_on_eof) )
2824  YY_NEW_FILE;
2825 #ifdef __cplusplus
2826  return yyinput();
2827 #else
2828  return input();
2829 #endif
2830  }
2831 
2832  case EOB_ACT_CONTINUE_SCAN:
2833  (yy_c_buf_p) = (yytext_ptr) + offset;
2834  break;
2835  }
2836  }
2837  }
2838 
2839  c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
2840  *(yy_c_buf_p) = '\0'; /* preserve yytext */
2841  (yy_hold_char) = *++(yy_c_buf_p);
2842 
2843  return c;
2844 }
2845 #endif /* ifndef YY_NO_INPUT */
2846 
2852  void yyrestart (FILE * input_file )
2853 {
2854 
2855  if ( ! YY_CURRENT_BUFFER ){
2859  }
2860 
2861  yy_init_buffer( YY_CURRENT_BUFFER, input_file );
2863 }
2864 
2869  void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
2870 {
2871 
2872  /* TODO. We should be able to replace this entire function body
2873  * with
2874  * yypop_buffer_state();
2875  * yypush_buffer_state(new_buffer);
2876  */
2878  if ( YY_CURRENT_BUFFER == new_buffer )
2879  return;
2880 
2881  if ( YY_CURRENT_BUFFER )
2882  {
2883  /* Flush out information for old buffer. */
2884  *(yy_c_buf_p) = (yy_hold_char);
2885  YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2886  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2887  }
2888 
2889  YY_CURRENT_BUFFER_LVALUE = new_buffer;
2891 
2892  /* We don't actually know whether we did this switch during
2893  * EOF (yywrap()) processing, but the only time this flag
2894  * is looked at is after yywrap() is called, so it's safe
2895  * to go ahead and always set it.
2896  */
2898 }
2899 
2900 static void yy_load_buffer_state (void)
2901 {
2902  (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2903  (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
2904  yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
2905  (yy_hold_char) = *(yy_c_buf_p);
2906 }
2907 
2915 {
2917 
2918  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
2919  if ( ! b )
2920  YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2921 
2922  b->yy_buf_size = size;
2923 
2924  /* yy_ch_buf has to be 2 characters longer than the size given because
2925  * we need to put in 2 end-of-buffer characters.
2926  */
2927  b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) );
2928  if ( ! b->yy_ch_buf )
2929  YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2930 
2931  b->yy_is_our_buffer = 1;
2932 
2933  yy_init_buffer( b, file );
2934 
2935  return b;
2936 }
2937 
2943 {
2944 
2945  if ( ! b )
2946  return;
2947 
2948  if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
2950 
2951  if ( b->yy_is_our_buffer )
2952  yyfree( (void *) b->yy_ch_buf );
2953 
2954  yyfree( (void *) b );
2955 }
2956 
2957 /* Initializes or reinitializes a buffer.
2958  * This function is sometimes called more than once on the same buffer,
2959  * such as during a yyrestart() or at EOF.
2960  */
2961  static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
2962 
2963 {
2964  int oerrno = errno;
2965 
2966  yy_flush_buffer( b );
2967 
2968  b->yy_input_file = file;
2969  b->yy_fill_buffer = 1;
2970 
2971  /* If b is the current buffer, then yy_init_buffer was _probably_
2972  * called from yyrestart() or through yy_get_next_buffer.
2973  * In that case, we don't want to reset the lineno or column.
2974  */
2975  if (b != YY_CURRENT_BUFFER){
2976  b->yy_bs_lineno = 1;
2977  b->yy_bs_column = 0;
2978  }
2979 
2980  b->yy_is_interactive = 0;
2981 
2982  errno = oerrno;
2983 }
2984 
2990 {
2991  if ( ! b )
2992  return;
2993 
2994  b->yy_n_chars = 0;
2995 
2996  /* We always need two end-of-buffer characters. The first causes
2997  * a transition to the end-of-buffer state. The second causes
2998  * a jam in that state.
2999  */
3000  b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3001  b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3002 
3003  b->yy_buf_pos = &b->yy_ch_buf[0];
3004 
3005  b->yy_at_bol = 1;
3006  b->yy_buffer_status = YY_BUFFER_NEW;
3007 
3008  if ( b == YY_CURRENT_BUFFER )
3010 }
3011 
3018 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
3019 {
3020  if (new_buffer == NULL)
3021  return;
3022 
3024 
3025  /* This block is copied from yy_switch_to_buffer. */
3026  if ( YY_CURRENT_BUFFER )
3027  {
3028  /* Flush out information for old buffer. */
3029  *(yy_c_buf_p) = (yy_hold_char);
3030  YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3031  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3032  }
3033 
3034  /* Only push if top exists. Otherwise, replace top. */
3035  if (YY_CURRENT_BUFFER)
3036  (yy_buffer_stack_top)++;
3037  YY_CURRENT_BUFFER_LVALUE = new_buffer;
3038 
3039  /* copied from yy_switch_to_buffer. */
3042 }
3043 
3048 void yypop_buffer_state (void)
3049 {
3050  if (!YY_CURRENT_BUFFER)
3051  return;
3052 
3055  if ((yy_buffer_stack_top) > 0)
3056  --(yy_buffer_stack_top);
3057 
3058  if (YY_CURRENT_BUFFER) {
3061  }
3062 }
3063 
3064 /* Allocates the stack if it does not exist.
3065  * Guarantees space for at least one push.
3066  */
3067 static void yyensure_buffer_stack (void)
3068 {
3069  yy_size_t num_to_alloc;
3070 
3071  if (!(yy_buffer_stack)) {
3072 
3073  /* First allocation is just for 2 elements, since we don't know if this
3074  * scanner will even need a stack. We use 2 instead of 1 to avoid an
3075  * immediate realloc on the next call.
3076  */
3077  num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
3079  (num_to_alloc * sizeof(struct yy_buffer_state*)
3080  );
3081  if ( ! (yy_buffer_stack) )
3082  YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3083 
3084  memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
3085 
3086  (yy_buffer_stack_max) = num_to_alloc;
3087  (yy_buffer_stack_top) = 0;
3088  return;
3089  }
3090 
3091  if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3092 
3093  /* Increase the buffer to prepare for a possible push. */
3094  yy_size_t grow_size = 8 /* arbitrary grow size */;
3095 
3096  num_to_alloc = (yy_buffer_stack_max) + grow_size;
3098  ((yy_buffer_stack),
3099  num_to_alloc * sizeof(struct yy_buffer_state*)
3100  );
3101  if ( ! (yy_buffer_stack) )
3102  YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3103 
3104  /* zero only the new slots.*/
3105  memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
3106  (yy_buffer_stack_max) = num_to_alloc;
3107  }
3108 }
3109 
3117 {
3119 
3120  if ( size < 2 ||
3123  /* They forgot to leave room for the EOB's. */
3124  return NULL;
3125 
3126  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
3127  if ( ! b )
3128  YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3129 
3130  b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
3131  b->yy_buf_pos = b->yy_ch_buf = base;
3132  b->yy_is_our_buffer = 0;
3133  b->yy_input_file = NULL;
3134  b->yy_n_chars = b->yy_buf_size;
3135  b->yy_is_interactive = 0;
3136  b->yy_at_bol = 1;
3137  b->yy_fill_buffer = 0;
3138  b->yy_buffer_status = YY_BUFFER_NEW;
3139 
3141 
3142  return b;
3143 }
3144 
3153 YY_BUFFER_STATE yy_scan_string (const char * yystr )
3154 {
3155 
3156  return yy_scan_bytes( yystr, (int) strlen(yystr) );
3157 }
3158 
3166 YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len )
3167 {
3169  char *buf;
3170  yy_size_t n;
3171  int i;
3172 
3173  /* Get memory for full buffer, including space for trailing EOB's. */
3174  n = (yy_size_t) (_yybytes_len + 2);
3175  buf = (char *) yyalloc( n );
3176  if ( ! buf )
3177  YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3178 
3179  for ( i = 0; i < _yybytes_len; ++i )
3180  buf[i] = yybytes[i];
3181 
3182  buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
3183 
3184  b = yy_scan_buffer( buf, n );
3185  if ( ! b )
3186  YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3187 
3188  /* It's okay to grow etc. this buffer, and we should throw it
3189  * away when we're done.
3190  */
3191  b->yy_is_our_buffer = 1;
3192 
3193  return b;
3194 }
3195 
3196 #ifndef YY_EXIT_FAILURE
3197 #define YY_EXIT_FAILURE 2
3198 #endif
3199 
3200 static void yynoreturn yy_fatal_error (const char* msg )
3201 {
3202  fprintf( stderr, "%s\n", msg );
3203  exit( YY_EXIT_FAILURE );
3204 }
3205 
3206 /* Redefine yyless() so it works in section 3 code. */
3207 
3208 #undef yyless
3209 #define yyless(n) \
3210  do \
3211  { \
3212  /* Undo effects of setting up yytext. */ \
3213  int yyless_macro_arg = (n); \
3214  YY_LESS_LINENO(yyless_macro_arg);\
3215  yytext[yyleng] = (yy_hold_char); \
3216  (yy_c_buf_p) = yytext + yyless_macro_arg; \
3217  (yy_hold_char) = *(yy_c_buf_p); \
3218  *(yy_c_buf_p) = '\0'; \
3219  yyleng = yyless_macro_arg; \
3220  } \
3221  while ( 0 )
3222 
3223 /* Accessor methods (get/set functions) to struct members. */
3224 
3228 int yyget_lineno (void)
3229 {
3230 
3231  return yylineno;
3232 }
3233 
3237 FILE *yyget_in (void)
3238 {
3239  return yyin;
3240 }
3241 
3245 FILE *yyget_out (void)
3246 {
3247  return yyout;
3248 }
3249 
3253 int yyget_leng (void)
3254 {
3255  return yyleng;
3256 }
3257 
3262 char *yyget_text (void)
3263 {
3264  return yytext;
3265 }
3266 
3271 void yyset_lineno (int _line_number )
3272 {
3273 
3274  yylineno = _line_number;
3275 }
3276 
3283 void yyset_in (FILE * _in_str )
3284 {
3285  yyin = _in_str ;
3286 }
3287 
3288 void yyset_out (FILE * _out_str )
3289 {
3290  yyout = _out_str ;
3291 }
3292 
3293 int yyget_debug (void)
3294 {
3295  return yy_flex_debug;
3296 }
3297 
3298 void yyset_debug (int _bdebug )
3299 {
3300  yy_flex_debug = _bdebug ;
3301 }
3302 
3303 static int yy_init_globals (void)
3304 {
3305  /* Initialization is the same as for the non-reentrant scanner.
3306  * This function is called from yylex_destroy(), so don't allocate here.
3307  */
3308 
3309  (yy_buffer_stack) = NULL;
3310  (yy_buffer_stack_top) = 0;
3311  (yy_buffer_stack_max) = 0;
3312  (yy_c_buf_p) = NULL;
3313  (yy_init) = 0;
3314  (yy_start) = 0;
3315 
3316 /* Defined in main.c */
3317 #ifdef YY_STDINIT
3318  yyin = stdin;
3319  yyout = stdout;
3320 #else
3321  yyin = NULL;
3322  yyout = NULL;
3323 #endif
3324 
3325  /* For future reference: Set errno on error, since we are called by
3326  * yylex_init()
3327  */
3328  return 0;
3329 }
3330 
3331 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
3332 int yylex_destroy (void)
3333 {
3334 
3335  /* Pop the buffer stack, destroying each element. */
3336  while(YY_CURRENT_BUFFER){
3340  }
3341 
3342  /* Destroy the stack itself. */
3343  yyfree((yy_buffer_stack) );
3344  (yy_buffer_stack) = NULL;
3345 
3346  /* Reset the globals. This is important in a non-reentrant scanner so the next time
3347  * yylex() is called, initialization will occur. */
3348  yy_init_globals( );
3349 
3350  return 0;
3351 }
3352 
3353 /*
3354  * Internal utility routines.
3355  */
3356 
3357 #ifndef yytext_ptr
3358 static void yy_flex_strncpy (char* s1, const char * s2, int n )
3359 {
3360 
3361  int i;
3362  for ( i = 0; i < n; ++i )
3363  s1[i] = s2[i];
3364 }
3365 #endif
3366 
3367 #ifdef YY_NEED_STRLEN
3368 static int yy_flex_strlen (const char * s )
3369 {
3370  int n;
3371  for ( n = 0; s[n]; ++n )
3372  ;
3373 
3374  return n;
3375 }
3376 #endif
3377 
3378 void *yyalloc (yy_size_t size )
3379 {
3380  return malloc(size);
3381 }
3382 
3383 void *yyrealloc (void * ptr, yy_size_t size )
3384 {
3385 
3386  /* The cast to (char *) in the following accommodates both
3387  * implementations that use char* generic pointers, and those
3388  * that use void* generic pointers. It works with the latter
3389  * because both ANSI C and C++ allow castless assignment from
3390  * any pointer type to void*, and deal with argument conversions
3391  * as though doing an assignment.
3392  */
3393  return realloc(ptr, size);
3394 }
3395 
3396 void yyfree (void * ptr )
3397 {
3398  free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
3399 }
3400 
3401 #define YYTABLES_NAME "yytables"
3402 
3403 #line 485 "asmshader.l"
3404 
3405 
3406 struct bwriter_shader *SlAssembleShader(const char *text, char **messages) {
3407  struct bwriter_shader *ret = NULL;
3409  TRACE("%p, %p\n", text, messages);
3410 
3411  buffer = asmshader__scan_string(text);
3412  asmshader__switch_to_buffer(buffer);
3413 
3415 
3416  asmshader__delete_buffer(buffer);
3417 
3418  return ret;
3419 }
3420 
#define realloc
Definition: debug_ros.c:6
DWORD component
static yy_state_type yy_last_accepting_state
unsigned char flex_uint8_t
Definition: macro.lex.yy.c:54
#define yy_flush_buffer
Definition: asmshader.yy.c:15
#define YY_STATE_EOF(state)
Definition: asmshader.yy.c:385
static size_t yy_buffer_stack_top
Definition: asmshader.yy.c:509
#define yyin
Definition: asmshader.yy.c:22
FILE * yy_input_file
Definition: macro.lex.yy.c:192
struct S2 s2
#define TRUE
Definition: types.h:120
#define yyfree
Definition: asmshader.yy.c:32
unsigned char flex_uint8_t
Definition: asmshader.yy.c:313
flex_uint8_t YY_CHAR
Definition: asmshader.yy.c:588
WINE_DEFAULT_DEBUG_CHANNEL(asmshader)
#define yyget_text
Definition: asmshader.yy.c:201
#define yytext
Definition: asmshader.yy.c:28
#define yyterminate()
struct asm_parser asm_ctx
Definition: asmshader.tab.c:85
unsigned char YY_CHAR
Definition: macro.lex.yy.c:336
#define YY_CURRENT_BUFFER
Definition: asmshader.yy.c:519
ACPI_SIZE strlen(const char *String)
Definition: utclib.c:269
size_t yy_size_t
Definition: asmshader.yy.c:414
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
#define yypop_buffer_state
Definition: asmshader.yy.c:19
char * strstr(char *String1, char *String2)
Definition: utclib.c:653
const WCHAR * text
Definition: package.c:1827
static const flex_int16_t yy_chk[946]
Definition: asmshader.yy.c:946
#define yylineno
Definition: asmshader.yy.c:25
#define free
Definition: debug_ros.c:5
GLintptr offset
Definition: glext.h:5920
void WINAPIV asmparser_message(struct asm_parser *ctx, const char *fmt,...)
Definition: asmshader.tab.c:87
#define YY_CURRENT_BUFFER_LVALUE
Definition: asmshader.yy.c:525
GLdouble n
Definition: glext.h:7729
size_t yy_size_t
Definition: macro.lex.yy.c:159
GLuint buffer
Definition: glext.h:5915
FILE * stdin
#define yy_scan_string
Definition: asmshader.yy.c:12
#define YY_RULE_SETUP
int errno
static const flex_int16_t yy_def[491]
Definition: asmshader.yy.c:781
static int yy_init_globals(void)
unsigned short int uint16_t
Definition: acefiex.h:54
static yy_state_type yy_try_NUL_trans(yy_state_type current_state)
#define yy_scan_bytes
Definition: asmshader.yy.c:13
#define yyrealloc
Definition: asmshader.yy.c:31
char * yy_cp
FILE * stdout
#define YY_BUFFER_NEW
Definition: asmshader.yy.c:491
#define yy_init_buffer
Definition: asmshader.yy.c:14
#define yy_create_buffer
Definition: asmshader.yy.c:9
#define YY_EXTRA_TYPE
static const YY_CHAR yy_meta[56]
Definition: asmshader.yy.c:714
int yy_state_type
Definition: asmshader.yy.c:592
#define EOB_ACT_LAST_MATCH
Definition: asmshader.yy.c:423
_Check_return_ _CRTIMP double __cdecl atof(_In_z_ const char *str)
signed char flex_int8_t
Definition: asmshader.yy.c:310
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
#define YY_BREAK
static unsigned char bytes[4]
Definition: adnsresfilter.c:74
static int yy_init
Definition: asmshader.yy.c:534
GLuint base
Definition: 3dtext.c:35
_Check_return_opt_ _CRTIMP int __cdecl fprintf(_Inout_ FILE *_File, _In_z_ _Printf_format_string_ const char *_Format,...)
int flex_int32_t
Definition: asmshader.yy.c:312
static const flex_int16_t yy_nxt[946]
Definition: asmshader.yy.c:838
#define yyset_out
Definition: asmshader.yy.c:189
#define yy_load_buffer_state
Definition: asmshader.yy.c:16
static PVOID ptr
Definition: dispmode.c:27
#define yyget_in
Definition: asmshader.yy.c:171
#define EOB_ACT_END_OF_FILE
Definition: asmshader.yy.c:422
BOOL immbool
int yy_state_type
Definition: macro.lex.yy.c:340
unsigned int flex_uint32_t
Definition: asmshader.yy.c:315
smooth NULL
Definition: ftsmooth.c:416
#define YY_INPUT(buf, result, max_size)
YYSTYPE asmshader_lval
struct bwriter_shader * SlAssembleShader(const char *text, char **messages) DECLSPEC_HIDDEN
#define yy_scan_buffer
Definition: asmshader.yy.c:11
#define b
Definition: ke_i.h:79
static const flex_int16_t yy_base[491]
Definition: asmshader.yy.c:724
#define INITIAL
static int yy_start
Definition: asmshader.yy.c:535
static int yy_did_buffer_switch_on_eof
Definition: asmshader.yy.c:540
#define YY_MORE_ADJ
signed char int8_t
Definition: acefiex.h:50
GLboolean GLboolean GLboolean b
Definition: glext.h:6204
#define TRACE(s)
Definition: solgame.cpp:4
#define yynoreturn
Definition: asmshader.yy.c:362
GLsizeiptr size
Definition: glext.h:5919
static const flex_int16_t yy_accept[481]
Definition: asmshader.yy.c:626
#define yyensure_buffer_stack
Definition: asmshader.yy.c:20
static void yynoreturn yy_fatal_error(const char *msg)
struct S1 s1
static char * yy_last_accepting_cpos
const char file[]
Definition: icontest.c:11
const GLubyte * c
Definition: glext.h:8905
#define yy_delete_buffer
Definition: asmshader.yy.c:10
unsigned short int flex_uint16_t
Definition: asmshader.yy.c:314
#define YY_SC_TO_UI(c)
Definition: asmshader.yy.c:371
int yy_act
short int flex_int16_t
Definition: macro.lex.yy.c:52
#define yy_current_state()
Definition: ppl.yy.c:1440
#define yyset_debug
Definition: asmshader.yy.c:153
int flex_int32_t
Definition: macro.lex.yy.c:53
#define YY_RESTORE_YY_MORE_OFFSET
int ret
unsigned int regnum
#define EOB_ACT_CONTINUE_SCAN
Definition: asmshader.yy.c:421
struct bwriter_shader * parse_asm_shader(char **messages)
GLenum GLsizei len
Definition: glext.h:6722
static char yy_hold_char
Definition: asmshader.yy.c:528
#define YY_END_OF_BUFFER
Definition: asmshader.yy.c:618
GLdouble s
Definition: gl.h:2039
static void set_parse_status(enum parse_status *current, enum parse_status update)
#define YY_DECL
#define yytext_ptr
Definition: asmshader.yy.c:601
static yy_state_type yy_get_previous_state(void)
#define yy_switch_to_buffer
Definition: asmshader.yy.c:17
#define yyalloc
Definition: asmshader.yy.c:30
BYTE uint8_t
Definition: msvideo1.c:66
INT32 int32_t
Definition: types.h:71
char * yy_bp
static int yy_get_next_buffer(void)
#define yyget_lineno
Definition: asmshader.yy.c:207
static char * yy_c_buf_p
Definition: asmshader.yy.c:533
#define yyget_extra
Definition: asmshader.yy.c:159
#define YY_BUF_SIZE
Definition: asmshader.yy.c:399
#define YY_END_OF_BUFFER_CHAR
Definition: asmshader.yy.c:388
flex_int32_t yy_verify
Definition: macro.lex.yy.c:370
GLenum GLenum GLenum input
Definition: glext.h:9031
#define yyget_leng
Definition: asmshader.yy.c:195
#define yyout
Definition: asmshader.yy.c:26
short int flex_int16_t
Definition: asmshader.yy.c:311
static YY_BUFFER_STATE * yy_buffer_stack
Definition: asmshader.yy.c:511
#define yyleng
Definition: asmshader.yy.c:23
#define YY_BUFFER_EOF_PENDING
Definition: asmshader.yy.c:503
UINT32 uint32_t
Definition: types.h:75
#define yyset_in
Definition: asmshader.yy.c:177
flex_int32_t yy_nxt
Definition: macro.lex.yy.c:371
#define YY_BUFFER_NORMAL
Definition: asmshader.yy.c:492
#define yylex_destroy
Definition: asmshader.yy.c:141
#define msg(x)
Definition: auth_time.c:54
_Check_return_ int __cdecl atoi(_In_z_ const char *_Str)
struct YYSTYPE::@219 immval
#define c
Definition: ke_i.h:80
FILE * stderr
static size_t yy_buffer_stack_max
Definition: asmshader.yy.c:510
#define yy_flex_debug
Definition: asmshader.yy.c:21
#define yywrap
Definition: asmshader.yy.c:29
#define malloc
Definition: debug_ros.c:4
INT16 int16_t
Definition: types.h:70
static char * dest
Definition: rtl.c:135
#define ECHO
#define yypush_buffer_state
Definition: asmshader.yy.c:18
#define YY_NEW_FILE
Definition: asmshader.yy.c:387
void exit(int exitcode)
Definition: _exit.c:33
#define yyset_extra
Definition: asmshader.yy.c:165
static int yy_n_chars
Definition: asmshader.yy.c:529
#define YY_READ_BUF_SIZE
#define memset(x, y, z)
Definition: compat.h:39
#define YY_DO_BEFORE_ACTION
Definition: asmshader.yy.c:611
static const YY_CHAR yy_ec[256]
Definition: asmshader.yy.c:682
#define yyget_out
Definition: asmshader.yy.c:183
#define yyget_debug
Definition: asmshader.yy.c:147
struct yy_buffer_state * YY_BUFFER_STATE
Definition: asmshader.yy.c:409
#define YY_EXIT_FAILURE
#define YY_START
Definition: asmshader.yy.c:382
#define yyrestart
Definition: asmshader.yy.c:27
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
Definition: typeof.h:31
#define yylex
Definition: asmshader.yy.c:24
#define YY_FATAL_ERROR(msg)
Definition: fci.c:126
#define yyset_lineno
Definition: asmshader.yy.c:213