ReactOS  0.4.14-dev-554-g2f8d847
hlsl.yy.c
Go to the documentation of this file.
1 #line 1 "hlsl.yy.c"
2 
3 #line 3 "hlsl.yy.c"
4 
5 #define YY_INT_ALIGNED short int
6 
7 /* A lexical scanner generated by flex */
8 
9 #define yy_create_buffer hlsl__create_buffer
10 #define yy_delete_buffer hlsl__delete_buffer
11 #define yy_scan_buffer hlsl__scan_buffer
12 #define yy_scan_string hlsl__scan_string
13 #define yy_scan_bytes hlsl__scan_bytes
14 #define yy_init_buffer hlsl__init_buffer
15 #define yy_flush_buffer hlsl__flush_buffer
16 #define yy_load_buffer_state hlsl__load_buffer_state
17 #define yy_switch_to_buffer hlsl__switch_to_buffer
18 #define yypush_buffer_state hlsl_push_buffer_state
19 #define yypop_buffer_state hlsl_pop_buffer_state
20 #define yyensure_buffer_stack hlsl_ensure_buffer_stack
21 #define yy_flex_debug hlsl__flex_debug
22 #define yyin hlsl_in
23 #define yyleng hlsl_leng
24 #define yylex hlsl_lex
25 #define yylineno hlsl_lineno
26 #define yyout hlsl_out
27 #define yyrestart hlsl_restart
28 #define yytext hlsl_text
29 #define yywrap hlsl_wrap
30 #define yyalloc hlsl_alloc
31 #define yyrealloc hlsl_realloc
32 #define yyfree hlsl_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 hlsl__create_buffer_ALREADY_DEFINED
44 #else
45 #define yy_create_buffer hlsl__create_buffer
46 #endif
47 
48 #ifdef yy_delete_buffer
49 #define hlsl__delete_buffer_ALREADY_DEFINED
50 #else
51 #define yy_delete_buffer hlsl__delete_buffer
52 #endif
53 
54 #ifdef yy_scan_buffer
55 #define hlsl__scan_buffer_ALREADY_DEFINED
56 #else
57 #define yy_scan_buffer hlsl__scan_buffer
58 #endif
59 
60 #ifdef yy_scan_string
61 #define hlsl__scan_string_ALREADY_DEFINED
62 #else
63 #define yy_scan_string hlsl__scan_string
64 #endif
65 
66 #ifdef yy_scan_bytes
67 #define hlsl__scan_bytes_ALREADY_DEFINED
68 #else
69 #define yy_scan_bytes hlsl__scan_bytes
70 #endif
71 
72 #ifdef yy_init_buffer
73 #define hlsl__init_buffer_ALREADY_DEFINED
74 #else
75 #define yy_init_buffer hlsl__init_buffer
76 #endif
77 
78 #ifdef yy_flush_buffer
79 #define hlsl__flush_buffer_ALREADY_DEFINED
80 #else
81 #define yy_flush_buffer hlsl__flush_buffer
82 #endif
83 
84 #ifdef yy_load_buffer_state
85 #define hlsl__load_buffer_state_ALREADY_DEFINED
86 #else
87 #define yy_load_buffer_state hlsl__load_buffer_state
88 #endif
89 
90 #ifdef yy_switch_to_buffer
91 #define hlsl__switch_to_buffer_ALREADY_DEFINED
92 #else
93 #define yy_switch_to_buffer hlsl__switch_to_buffer
94 #endif
95 
96 #ifdef yypush_buffer_state
97 #define hlsl_push_buffer_state_ALREADY_DEFINED
98 #else
99 #define yypush_buffer_state hlsl_push_buffer_state
100 #endif
101 
102 #ifdef yypop_buffer_state
103 #define hlsl_pop_buffer_state_ALREADY_DEFINED
104 #else
105 #define yypop_buffer_state hlsl_pop_buffer_state
106 #endif
107 
108 #ifdef yyensure_buffer_stack
109 #define hlsl_ensure_buffer_stack_ALREADY_DEFINED
110 #else
111 #define yyensure_buffer_stack hlsl_ensure_buffer_stack
112 #endif
113 
114 #ifdef yylex
115 #define hlsl_lex_ALREADY_DEFINED
116 #else
117 #define yylex hlsl_lex
118 #endif
119 
120 #ifdef yyrestart
121 #define hlsl_restart_ALREADY_DEFINED
122 #else
123 #define yyrestart hlsl_restart
124 #endif
125 
126 #ifdef yylex_init
127 #define hlsl_lex_init_ALREADY_DEFINED
128 #else
129 #define yylex_init hlsl_lex_init
130 #endif
131 
132 #ifdef yylex_init_extra
133 #define hlsl_lex_init_extra_ALREADY_DEFINED
134 #else
135 #define yylex_init_extra hlsl_lex_init_extra
136 #endif
137 
138 #ifdef yylex_destroy
139 #define hlsl_lex_destroy_ALREADY_DEFINED
140 #else
141 #define yylex_destroy hlsl_lex_destroy
142 #endif
143 
144 #ifdef yyget_debug
145 #define hlsl_get_debug_ALREADY_DEFINED
146 #else
147 #define yyget_debug hlsl_get_debug
148 #endif
149 
150 #ifdef yyset_debug
151 #define hlsl_set_debug_ALREADY_DEFINED
152 #else
153 #define yyset_debug hlsl_set_debug
154 #endif
155 
156 #ifdef yyget_extra
157 #define hlsl_get_extra_ALREADY_DEFINED
158 #else
159 #define yyget_extra hlsl_get_extra
160 #endif
161 
162 #ifdef yyset_extra
163 #define hlsl_set_extra_ALREADY_DEFINED
164 #else
165 #define yyset_extra hlsl_set_extra
166 #endif
167 
168 #ifdef yyget_in
169 #define hlsl_get_in_ALREADY_DEFINED
170 #else
171 #define yyget_in hlsl_get_in
172 #endif
173 
174 #ifdef yyset_in
175 #define hlsl_set_in_ALREADY_DEFINED
176 #else
177 #define yyset_in hlsl_set_in
178 #endif
179 
180 #ifdef yyget_out
181 #define hlsl_get_out_ALREADY_DEFINED
182 #else
183 #define yyget_out hlsl_get_out
184 #endif
185 
186 #ifdef yyset_out
187 #define hlsl_set_out_ALREADY_DEFINED
188 #else
189 #define yyset_out hlsl_set_out
190 #endif
191 
192 #ifdef yyget_leng
193 #define hlsl_get_leng_ALREADY_DEFINED
194 #else
195 #define yyget_leng hlsl_get_leng
196 #endif
197 
198 #ifdef yyget_text
199 #define hlsl_get_text_ALREADY_DEFINED
200 #else
201 #define yyget_text hlsl_get_text
202 #endif
203 
204 #ifdef yyget_lineno
205 #define hlsl_get_lineno_ALREADY_DEFINED
206 #else
207 #define yyget_lineno hlsl_get_lineno
208 #endif
209 
210 #ifdef yyset_lineno
211 #define hlsl_set_lineno_ALREADY_DEFINED
212 #else
213 #define yyset_lineno hlsl_set_lineno
214 #endif
215 
216 #ifdef yywrap
217 #define hlsl_wrap_ALREADY_DEFINED
218 #else
219 #define yywrap hlsl_wrap
220 #endif
221 
222 #ifdef yyalloc
223 #define hlsl_alloc_ALREADY_DEFINED
224 #else
225 #define yyalloc hlsl_alloc
226 #endif
227 
228 #ifdef yyrealloc
229 #define hlsl_realloc_ALREADY_DEFINED
230 #else
231 #define yyrealloc hlsl_realloc
232 #endif
233 
234 #ifdef yyfree
235 #define hlsl_free_ALREADY_DEFINED
236 #else
237 #define yyfree hlsl_free
238 #endif
239 
240 #ifdef yytext
241 #define hlsl_text_ALREADY_DEFINED
242 #else
243 #define yytext hlsl_text
244 #endif
245 
246 #ifdef yyleng
247 #define hlsl_leng_ALREADY_DEFINED
248 #else
249 #define yyleng hlsl_leng
250 #endif
251 
252 #ifdef yyin
253 #define hlsl_in_ALREADY_DEFINED
254 #else
255 #define yyin hlsl_in
256 #endif
257 
258 #ifdef yyout
259 #define hlsl_out_ALREADY_DEFINED
260 #else
261 #define yyout hlsl_out
262 #endif
263 
264 #ifdef yy_flex_debug
265 #define hlsl__flex_debug_ALREADY_DEFINED
266 #else
267 #define yy_flex_debug hlsl__flex_debug
268 #endif
269 
270 #ifdef yylineno
271 #define hlsl_lineno_ALREADY_DEFINED
272 #else
273 #define yylineno hlsl_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  */
455  int yy_buf_size;
456 
457  /* Number of characters read into yy_ch_buf, not including EOB
458  * characters.
459  */
460  int yy_n_chars;
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 hlsl_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 125
618 #define YY_END_OF_BUFFER 126
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[717] =
627  { 0,
628  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
629  126, 124, 108, 109, 124, 124, 124, 124, 124, 124,
630  124, 124, 124, 124, 106, 106, 124, 124, 124, 124,
631  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
632  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
633  100, 100, 100, 100, 100, 100, 100, 100, 124, 110,
634  93, 123, 122, 123, 116, 123, 125, 118, 119, 125,
635  125, 115, 114, 115, 115, 121, 120, 121, 108, 109,
636  85, 94, 95, 90, 75, 91, 88, 73, 86, 74,
637  87, 97, 0, 101, 107, 89, 102, 105, 106, 0,
638 
639  103, 0, 96, 78, 83, 77, 84, 80, 100, 100,
640  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
641  100, 100, 100, 100, 100, 100, 100, 100, 15, 100,
642  100, 100, 100, 100, 100, 100, 100, 100, 23, 24,
643  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
644  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
645  100, 100, 100, 100, 100, 100, 100, 100, 100, 92,
646  76, 122, 116, 0, 118, 119, 0, 117, 114, 0,
647  120, 82, 0, 101, 107, 0, 102, 0, 0, 104,
648  79, 81, 100, 100, 100, 100, 100, 100, 100, 100,
649 
650  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
651  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
652  100, 100, 20, 100, 100, 100, 100, 100, 100, 100,
653  100, 100, 2, 100, 100, 30, 100, 100, 100, 100,
654  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
655  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
656  3, 100, 100, 100, 100, 100, 100, 100, 100, 100,
657  0, 0, 0, 101, 0, 102, 100, 100, 100, 100,
658  100, 100, 100, 100, 100, 100, 1, 100, 100, 100,
659  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
660 
661  17, 100, 100, 100, 100, 100, 100, 100, 100, 100,
662  100, 100, 100, 31, 100, 100, 100, 100, 100, 100,
663  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
664  100, 100, 100, 100, 100, 100, 65, 100, 100, 100,
665  100, 100, 100, 100, 70, 100, 100, 0, 0, 100,
666  100, 100, 100, 100, 100, 100, 100, 100, 100, 6,
667  100, 100, 100, 10, 100, 100, 100, 100, 100, 100,
668  100, 100, 19, 100, 100, 100, 26, 100, 100, 100,
669  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
670  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
671 
672  100, 100, 100, 100, 100, 100, 4, 100, 100, 100,
673  100, 72, 0, 0, 100, 7, 100, 100, 100, 100,
674  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
675  100, 16, 100, 100, 18, 100, 25, 27, 100, 100,
676  100, 100, 100, 100, 100, 100, 100, 36, 100, 100,
677  45, 100, 48, 49, 50, 51, 100, 100, 100, 100,
678  100, 100, 100, 100, 68, 100, 100, 0, 0, 100,
679  100, 100, 100, 100, 100, 100, 100, 100, 8, 100,
680  9, 100, 100, 14, 100, 100, 100, 100, 100, 100,
681  33, 100, 100, 100, 100, 38, 100, 100, 52, 100,
682 
683  100, 55, 66, 100, 67, 100, 100, 111, 0, 100,
684  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
685  100, 100, 11, 100, 100, 100, 100, 100, 37, 100,
686  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
687  100, 100, 100, 71, 0, 100, 100, 100, 100, 100,
688  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
689  28, 100, 100, 99, 39, 40, 41, 100, 100, 100,
690  100, 53, 56, 58, 62, 100, 0, 5, 100, 100,
691  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
692  100, 100, 100, 100, 100, 100, 46, 100, 100, 100,
693 
694  0, 100, 100, 32, 100, 100, 100, 100, 100, 60,
695  100, 100, 100, 100, 22, 100, 100, 42, 100, 100,
696  54, 64, 0, 100, 100, 100, 100, 100, 100, 100,
697  100, 100, 69, 98, 100, 100, 100, 100, 0, 0,
698  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
699  100, 100, 43, 100, 0, 0, 0, 100, 100, 21,
700  100, 100, 100, 57, 59, 100, 63, 100, 100, 100,
701  0, 0, 100, 100, 34, 100, 100, 100, 29, 100,
702  100, 0, 0, 100, 13, 35, 100, 61, 47, 0,
703  0, 12, 100, 0, 0, 100, 0, 0, 100, 0,
704 
705  0, 100, 0, 0, 100, 0, 0, 44, 0, 0,
706  112, 0, 0, 0, 113, 0
707  } ;
708 
709 static const YY_CHAR yy_ec[256] =
710  { 0,
711  1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
712  1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
713  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
714  1, 2, 5, 6, 7, 1, 8, 9, 1, 10,
715  11, 12, 13, 1, 14, 15, 16, 17, 18, 19,
716  20, 21, 21, 21, 21, 22, 22, 23, 1, 24,
717  25, 26, 1, 27, 28, 29, 30, 31, 32, 33,
718  34, 35, 36, 36, 36, 36, 37, 36, 36, 38,
719  36, 39, 40, 41, 42, 43, 36, 36, 36, 36,
720  1, 1, 1, 1, 44, 1, 45, 46, 47, 48,
721 
722  49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
723  59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
724  69, 70, 1, 71, 1, 1, 1, 1, 1, 1,
725  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
726  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
727  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
728  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
729  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
730  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
731  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
732 
733  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
734  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
735  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
736  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
737  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
738  1, 1, 1, 1, 1
739  } ;
740 
741 static const YY_CHAR yy_meta[72] =
742  { 0,
743  1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
744  1, 1, 1, 1, 1, 1, 3, 3, 3, 3,
745  3, 3, 1, 1, 1, 1, 1, 3, 3, 3,
746  3, 3, 3, 4, 4, 4, 4, 4, 4, 4,
747  4, 4, 4, 4, 3, 3, 3, 3, 3, 3,
748  4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
749  4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
750  1
751  } ;
752 
753 static const flex_int16_t yy_base[725] =
754  { 0,
755  0, 65, 74, 80, 83, 101, 70, 72, 76, 78,
756  938, 939, 935, 939, 933, 910, 81, 909, 97, 908,
757  96, 98, 96, 94, 126, 118, 909, 101, 906, 102,
758  0, 64, 881, 880, 875, 104, 882, 877, 876, 859,
759  861, 110, 101, 109, 112, 120, 114, 863, 86, 136,
760  103, 128, 93, 135, 152, 126, 147, 869, 158, 184,
761  895, 939, 939, 916, 198, 856, 939, 915, 939, 913,
762  909, 939, 939, 911, 868, 939, 939, 909, 909, 939,
763  939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
764  939, 939, 895, 213, 0, 939, 268, 841, 0, 236,
765 
766  939, 0, 939, 883, 939, 939, 939, 882, 0, 857,
767  855, 844, 844, 834, 838, 842, 842, 830, 835, 832,
768  846, 144, 829, 848, 847, 166, 153, 828, 825, 831,
769  825, 822, 176, 830, 823, 831, 819, 823, 0, 154,
770  823, 816, 815, 821, 810, 823, 826, 810, 810, 188,
771  826, 174, 804, 813, 167, 191, 198, 816, 803, 212,
772  211, 201, 807, 214, 813, 818, 802, 215, 810, 939,
773  939, 939, 274, 817, 859, 939, 854, 939, 939, 812,
774  939, 939, 291, 939, 0, 308, 939, 314, 323, 0,
775  939, 939, 800, 807, 792, 798, 805, 789, 804, 791,
776 
777  786, 785, 789, 802, 797, 798, 794, 781, 779, 776,
778  780, 188, 794, 789, 790, 790, 790, 785, 776, 776,
779  782, 767, 0, 780, 769, 762, 773, 760, 773, 761,
780  777, 772, 0, 762, 757, 0, 755, 770, 750, 751,
781  758, 760, 754, 746, 766, 749, 746, 745, 748, 756,
782  740, 249, 739, 752, 749, 740, 735, 735, 738, 747,
783  0, 746, 222, 741, 735, 728, 727, 742, 744, 732,
784  736, 731, 329, 378, 342, 433, 737, 735, 731, 733,
785  725, 731, 730, 722, 712, 727, 0, 720, 722, 723,
786  709, 714, 717, 705, 715, 702, 702, 720, 708, 706,
787 
788  0, 709, 699, 711, 701, 698, 699, 692, 702, 708,
789  690, 688, 706, 0, 697, 704, 699, 694, 683, 681,
790  682, 686, 686, 692, 676, 690, 679, 225, 679, 689,
791  688, 684, 675, 676, 666, 663, 0, 249, 670, 670,
792  676, 675, 666, 659, 0, 659, 673, 664, 676, 679,
793  656, 677, 652, 675, 652, 651, 663, 649, 642, 0,
794  660, 650, 651, 662, 647, 648, 654, 640, 652, 647,
795  652, 640, 0, 649, 633, 646, 0, 626, 637, 632,
796  642, 626, 626, 624, 640, 639, 621, 635, 625, 637,
797  632, 632, 631, 628, 631, 629, 624, 610, 621, 623,
798 
799  618, 625, 607, 619, 622, 604, 0, 607, 602, 618,
800  609, 0, 616, 603, 595, 0, 594, 595, 604, 602,
801  613, 591, 603, 611, 588, 605, 599, 600, 581, 581,
802  596, 0, 596, 589, 0, 589, 0, 0, 591, 594,
803  576, 578, 587, 586, 570, 584, 570, 0, 577, 568,
804  0, 573, 584, 0, 0, 0, 565, 565, 561, 575,
805  573, 565, 564, 571, 0, 563, 562, 615, 571, 570,
806  565, 544, 567, 541, 565, 579, 334, 556, 0, 550,
807  0, 561, 556, 0, 560, 539, 557, 554, 540, 537,
808  0, 549, 535, 536, 536, 347, 535, 546, 0, 527,
809 
810  542, 350, 0, 541, 0, 541, 539, 585, 522, 521,
811  526, 543, 534, 532, 518, 520, 547, 546, 545, 530,
812  529, 510, 0, 525, 509, 521, 510, 520, 0, 505,
813  504, 534, 533, 532, 520, 498, 513, 514, 509, 526,
814  525, 524, 512, 0, 491, 503, 504, 498, 500, 486,
815  496, 489, 517, 278, 516, 495, 488, 477, 495, 490,
816  0, 482, 488, 0, 0, 0, 0, 507, 471, 479,
817  470, 514, 0, 0, 0, 502, 475, 0, 450, 457,
818  439, 460, 450, 438, 435, 434, 455, 432, 444, 433,
819  428, 442, 444, 424, 455, 441, 440, 418, 464, 448,
820 
821  411, 422, 429, 0, 412, 411, 429, 411, 410, 443,
822  408, 407, 405, 401, 0, 400, 419, 0, 398, 398,
823  0, 0, 273, 236, 411, 414, 415, 395, 411, 403,
824  385, 401, 0, 0, 392, 397, 394, 378, 314, 355,
825  377, 387, 377, 374, 384, 383, 366, 365, 371, 363,
826  370, 382, 0, 381, 369, 366, 365, 378, 373, 0,
827  372, 371, 356, 0, 0, 373, 0, 357, 351, 348,
828  354, 342, 344, 340, 0, 339, 346, 335, 0, 339,
829  352, 328, 346, 340, 0, 0, 329, 0, 0, 329,
830  327, 0, 93, 134, 160, 164, 195, 190, 237, 241,
831 
832  240, 255, 278, 275, 289, 301, 370, 0, 315, 374,
833  939, 316, 377, 381, 939, 939, 504, 508, 512, 516,
834  518, 522, 526, 379
835  } ;
836 
837 static const flex_int16_t yy_def[725] =
838  { 0,
839  716, 1, 717, 717, 718, 718, 719, 719, 720, 720,
840  716, 716, 716, 716, 716, 716, 716, 716, 716, 716,
841  716, 716, 716, 716, 716, 25, 716, 716, 716, 716,
842  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
843  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
844  721, 721, 721, 721, 721, 721, 721, 721, 716, 716,
845  716, 716, 716, 716, 716, 716, 716, 716, 716, 716,
846  722, 716, 716, 716, 716, 716, 716, 716, 716, 716,
847  716, 716, 716, 716, 716, 716, 716, 716, 716, 716,
848  716, 716, 716, 716, 723, 716, 716, 25, 26, 716,
849 
850  716, 724, 716, 716, 716, 716, 716, 716, 721, 721,
851  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
852  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
853  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
854  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
855  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
856  721, 721, 721, 721, 721, 721, 721, 721, 721, 716,
857  716, 716, 716, 716, 716, 716, 722, 716, 716, 716,
858  716, 716, 716, 716, 723, 716, 716, 716, 716, 724,
859  716, 716, 721, 721, 721, 721, 721, 721, 721, 721,
860 
861  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
862  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
863  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
864  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
865  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
866  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
867  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
868  716, 716, 716, 716, 716, 716, 721, 721, 721, 721,
869  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
870  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
871 
872  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
873  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
874  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
875  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
876  721, 721, 721, 721, 721, 721, 721, 716, 716, 721,
877  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
878  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
879  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
880  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
881  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
882 
883  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
884  721, 721, 716, 716, 721, 721, 721, 721, 721, 721,
885  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
886  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
887  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
888  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
889  721, 721, 721, 721, 721, 721, 721, 716, 716, 721,
890  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
891  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
892  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
893 
894  721, 721, 721, 721, 721, 721, 721, 716, 716, 721,
895  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
896  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
897  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
898  721, 721, 721, 721, 716, 721, 721, 721, 721, 721,
899  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
900  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
901  721, 721, 721, 721, 721, 721, 716, 721, 721, 721,
902  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
903  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
904 
905  716, 721, 721, 721, 721, 721, 721, 721, 721, 721,
906  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
907  721, 721, 716, 721, 721, 721, 721, 721, 721, 721,
908  721, 721, 721, 721, 721, 721, 721, 721, 716, 716,
909  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
910  721, 721, 721, 721, 716, 716, 716, 721, 721, 721,
911  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
912  716, 716, 721, 721, 721, 721, 721, 721, 721, 721,
913  721, 716, 716, 721, 721, 721, 721, 721, 721, 716,
914  716, 721, 721, 716, 716, 721, 716, 716, 721, 716,
915 
916  716, 721, 716, 716, 721, 716, 716, 721, 716, 716,
917  716, 716, 716, 716, 716, 0, 716, 716, 716, 716,
918  716, 716, 716, 716
919  } ;
920 
921 static const flex_int16_t yy_nxt[1011] =
922  { 0,
923  12, 13, 14, 15, 16, 12, 17, 18, 19, 12,
924  12, 20, 21, 22, 23, 24, 25, 26, 26, 26,
925  26, 26, 27, 28, 29, 30, 12, 31, 32, 31,
926  33, 31, 31, 34, 31, 31, 31, 35, 36, 37,
927  38, 31, 39, 31, 40, 41, 42, 43, 44, 45,
928  46, 31, 47, 31, 31, 48, 49, 50, 51, 52,
929  31, 53, 54, 55, 56, 57, 58, 31, 31, 31,
930  59, 60, 73, 74, 73, 74, 63, 64, 77, 78,
931  77, 78, 63, 64, 68, 69, 70, 82, 71, 61,
932  65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
933 
934  65, 65, 68, 69, 70, 85, 71, 83, 88, 95,
935  93, 90, 94, 94, 94, 94, 94, 94, 96, 110,
936  89, 86, 91, 92, 104, 105, 107, 108, 111, 75,
937  142, 75, 696, 66, 99, 99, 99, 99, 99, 66,
938  97, 152, 98, 98, 98, 98, 98, 99, 115, 127,
939  143, 153, 116, 128, 122, 123, 134, 100, 101, 129,
940  101, 124, 147, 139, 131, 125, 132, 148, 126, 130,
941  135, 140, 149, 136, 100, 101, 133, 101, 137, 154,
942  144, 138, 170, 164, 145, 716, 155, 156, 165, 150,
943  82, 697, 151, 102, 146, 166, 101, 159, 157, 167,
944 
945  160, 158, 213, 161, 698, 168, 205, 206, 214, 227,
946  83, 247, 228, 162, 173, 173, 173, 173, 173, 173,
947  163, 210, 211, 212, 242, 248, 243, 699, 171, 94,
948  94, 94, 94, 94, 94, 220, 238, 244, 700, 221,
949  239, 249, 251, 701, 183, 184, 240, 184, 188, 188,
950  294, 295, 189, 189, 189, 189, 189, 189, 255, 252,
951  250, 183, 184, 258, 184, 260, 263, 268, 256, 261,
952  269, 339, 259, 395, 639, 641, 264, 396, 642, 257,
953  340, 702, 640, 184, 94, 94, 94, 94, 94, 94,
954  173, 173, 173, 173, 173, 173, 404, 703, 704, 186,
955 
956  187, 329, 187, 273, 273, 586, 405, 274, 274, 274,
957  274, 274, 274, 330, 587, 639, 186, 187, 705, 187,
958  275, 275, 706, 640, 276, 276, 276, 276, 276, 276,
959  189, 189, 189, 189, 189, 189, 707, 708, 187, 189,
960  189, 189, 189, 189, 189, 274, 274, 274, 274, 274,
961  274, 517, 518, 519, 709, 101, 655, 101, 276, 276,
962  276, 276, 276, 276, 532, 533, 534, 540, 541, 542,
963  655, 710, 101, 712, 101, 710, 535, 713, 714, 543,
964  711, 190, 714, 695, 711, 694, 693, 715, 692, 691,
965  536, 715, 690, 101, 274, 274, 274, 274, 274, 274,
966 
967  689, 656, 261, 688, 687, 686, 685, 684, 683, 682,
968  184, 681, 184, 680, 679, 656, 657, 678, 677, 676,
969  675, 674, 673, 672, 671, 670, 669, 184, 668, 184,
970  657, 667, 666, 665, 664, 663, 662, 661, 660, 659,
971  658, 654, 653, 652, 651, 650, 649, 648, 184, 276,
972  276, 276, 276, 276, 276, 647, 646, 645, 644, 643,
973  638, 637, 636, 635, 287, 187, 634, 187, 633, 632,
974  631, 630, 629, 628, 627, 626, 625, 624, 623, 622,
975  621, 261, 187, 620, 187, 619, 618, 617, 616, 615,
976  614, 613, 612, 611, 610, 609, 608, 607, 606, 605,
977 
978  604, 603, 602, 187, 62, 62, 62, 62, 67, 67,
979  67, 67, 72, 72, 72, 72, 76, 76, 76, 76,
980  109, 109, 177, 177, 177, 177, 185, 601, 185, 185,
981  600, 599, 598, 597, 596, 595, 594, 593, 592, 591,
982  287, 590, 589, 588, 585, 584, 583, 582, 581, 580,
983  579, 578, 577, 576, 575, 574, 573, 572, 571, 570,
984  569, 568, 567, 566, 565, 564, 563, 233, 562, 561,
985  560, 559, 558, 557, 556, 555, 554, 553, 552, 551,
986  550, 549, 548, 547, 546, 545, 508, 544, 407, 407,
987  261, 539, 538, 537, 531, 530, 529, 528, 233, 527,
988 
989  526, 525, 233, 524, 523, 522, 521, 520, 516, 515,
990  514, 513, 512, 511, 510, 509, 508, 507, 407, 506,
991  505, 504, 503, 502, 501, 500, 499, 498, 497, 496,
992  495, 494, 493, 492, 233, 491, 490, 489, 488, 233,
993  487, 486, 485, 484, 287, 483, 482, 481, 480, 479,
994  478, 477, 476, 475, 474, 473, 472, 471, 470, 469,
995  468, 467, 466, 465, 464, 463, 462, 461, 460, 459,
996  458, 457, 456, 455, 454, 453, 452, 261, 261, 451,
997  450, 449, 448, 447, 446, 233, 445, 444, 443, 442,
998  441, 440, 439, 438, 437, 436, 233, 435, 434, 433,
999 
1000  432, 431, 287, 430, 429, 428, 427, 426, 425, 424,
1001  423, 422, 421, 420, 419, 418, 417, 416, 415, 414,
1002  413, 412, 411, 410, 409, 407, 408, 407, 406, 261,
1003  403, 402, 401, 400, 399, 398, 397, 394, 393, 261,
1004  392, 391, 390, 389, 388, 387, 386, 385, 384, 383,
1005  382, 381, 380, 379, 378, 377, 376, 375, 374, 373,
1006  372, 371, 370, 369, 368, 367, 366, 365, 364, 363,
1007  362, 287, 361, 287, 360, 359, 358, 357, 356, 355,
1008  354, 353, 352, 351, 350, 349, 348, 347, 346, 345,
1009  344, 343, 342, 341, 338, 337, 336, 261, 335, 334,
1010 
1011  333, 332, 331, 328, 327, 326, 325, 324, 323, 322,
1012  321, 320, 319, 318, 317, 316, 315, 314, 313, 312,
1013  311, 310, 309, 233, 308, 307, 306, 233, 305, 304,
1014  303, 302, 287, 301, 300, 299, 298, 297, 296, 293,
1015  292, 291, 287, 290, 289, 287, 288, 287, 286, 285,
1016  284, 283, 282, 281, 280, 279, 278, 277, 272, 178,
1017  175, 271, 270, 267, 266, 265, 262, 254, 253, 246,
1018  245, 241, 237, 236, 235, 234, 233, 232, 231, 230,
1019  229, 226, 225, 224, 223, 222, 219, 218, 217, 216,
1020  215, 209, 208, 207, 204, 203, 202, 201, 200, 199,
1021 
1022  198, 197, 196, 195, 194, 193, 192, 191, 716, 182,
1023  79, 181, 180, 179, 178, 176, 175, 174, 172, 106,
1024  169, 141, 121, 120, 119, 118, 117, 114, 113, 112,
1025  106, 103, 87, 84, 81, 80, 79, 716, 11, 716,
1026  716, 716, 716, 716, 716, 716, 716, 716, 716, 716,
1027  716, 716, 716, 716, 716, 716, 716, 716, 716, 716,
1028  716, 716, 716, 716, 716, 716, 716, 716, 716, 716,
1029  716, 716, 716, 716, 716, 716, 716, 716, 716, 716,
1030  716, 716, 716, 716, 716, 716, 716, 716, 716, 716,
1031  716, 716, 716, 716, 716, 716, 716, 716, 716, 716,
1032 
1033  716, 716, 716, 716, 716, 716, 716, 716, 716, 716
1034  } ;
1035 
1036 static const flex_int16_t yy_chk[1011] =
1037  { 0,
1038  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1039  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1040  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1041  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1042  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1043  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1044  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1045  1, 2, 7, 7, 8, 8, 3, 3, 9, 9,
1046  10, 10, 4, 4, 5, 5, 5, 17, 5, 2,
1047  3, 3, 3, 3, 3, 3, 4, 4, 4, 4,
1048 
1049  4, 4, 6, 6, 6, 19, 6, 17, 21, 24,
1050  23, 22, 23, 23, 23, 23, 23, 23, 24, 32,
1051  21, 19, 22, 22, 28, 28, 30, 30, 32, 7,
1052  49, 8, 693, 3, 26, 26, 26, 26, 26, 4,
1053  25, 53, 25, 25, 25, 25, 25, 25, 36, 43,
1054  49, 53, 36, 43, 42, 42, 45, 25, 25, 43,
1055  25, 42, 51, 47, 44, 42, 44, 51, 42, 43,
1056  45, 47, 52, 45, 25, 25, 44, 25, 46, 54,
1057  50, 46, 59, 56, 50, 26, 54, 54, 56, 52,
1058  60, 694, 52, 25, 50, 57, 25, 55, 54, 57,
1059 
1060  55, 54, 127, 55, 695, 57, 122, 122, 127, 140,
1061  60, 155, 140, 55, 65, 65, 65, 65, 65, 65,
1062  55, 126, 126, 126, 152, 155, 152, 696, 59, 94,
1063  94, 94, 94, 94, 94, 133, 150, 152, 697, 133,
1064  150, 156, 157, 698, 94, 94, 150, 94, 100, 100,
1065  212, 212, 100, 100, 100, 100, 100, 100, 160, 157,
1066  156, 94, 94, 161, 94, 162, 164, 168, 160, 162,
1067  168, 263, 161, 328, 623, 624, 164, 328, 624, 160,
1068  263, 699, 623, 94, 97, 97, 97, 97, 97, 97,
1069  173, 173, 173, 173, 173, 173, 338, 700, 701, 97,
1070 
1071  97, 252, 97, 183, 183, 554, 338, 183, 183, 183,
1072  183, 183, 183, 252, 554, 639, 97, 97, 702, 97,
1073  186, 186, 703, 639, 186, 186, 186, 186, 186, 186,
1074  188, 188, 188, 188, 188, 188, 704, 705, 97, 189,
1075  189, 189, 189, 189, 189, 273, 273, 273, 273, 273,
1076  273, 477, 477, 477, 706, 189, 640, 189, 275, 275,
1077  275, 275, 275, 275, 496, 496, 496, 502, 502, 502,
1078  655, 707, 189, 709, 189, 710, 496, 712, 713, 502,
1079  707, 724, 714, 691, 710, 690, 687, 713, 684, 683,
1080  496, 714, 682, 189, 274, 274, 274, 274, 274, 274,
1081 
1082  681, 640, 680, 678, 677, 676, 674, 673, 672, 671,
1083  274, 670, 274, 669, 668, 655, 640, 666, 663, 662,
1084  661, 659, 658, 657, 656, 654, 652, 274, 651, 274,
1085  655, 650, 649, 648, 647, 646, 645, 644, 643, 642,
1086  641, 638, 637, 636, 635, 632, 631, 630, 274, 276,
1087  276, 276, 276, 276, 276, 629, 628, 627, 626, 625,
1088  620, 619, 617, 616, 614, 276, 613, 276, 612, 611,
1089  610, 609, 608, 607, 606, 605, 603, 602, 601, 600,
1090  599, 598, 276, 597, 276, 596, 595, 594, 593, 592,
1091  591, 590, 589, 588, 587, 586, 585, 584, 583, 582,
1092 
1093  581, 580, 579, 276, 717, 717, 717, 717, 718, 718,
1094  718, 718, 719, 719, 719, 719, 720, 720, 720, 720,
1095  721, 721, 722, 722, 722, 722, 723, 577, 723, 723,
1096  576, 572, 571, 570, 569, 568, 563, 562, 560, 559,
1097  558, 557, 556, 555, 553, 552, 551, 550, 549, 548,
1098  547, 546, 545, 543, 542, 541, 540, 539, 538, 537,
1099  536, 535, 534, 533, 532, 531, 530, 528, 527, 526,
1100  525, 524, 522, 521, 520, 519, 518, 517, 516, 515,
1101  514, 513, 512, 511, 510, 509, 508, 507, 506, 504,
1102  501, 500, 498, 497, 495, 494, 493, 492, 490, 489,
1103 
1104  488, 487, 486, 485, 483, 482, 480, 478, 476, 475,
1105  474, 473, 472, 471, 470, 469, 468, 467, 466, 464,
1106  463, 462, 461, 460, 459, 458, 457, 453, 452, 450,
1107  449, 447, 446, 445, 444, 443, 442, 441, 440, 439,
1108  436, 434, 433, 431, 430, 429, 428, 427, 426, 425,
1109  424, 423, 422, 421, 420, 419, 418, 417, 415, 414,
1110  413, 411, 410, 409, 408, 406, 405, 404, 403, 402,
1111  401, 400, 399, 398, 397, 396, 395, 394, 393, 392,
1112  391, 390, 389, 388, 387, 386, 385, 384, 383, 382,
1113  381, 380, 379, 378, 376, 375, 374, 372, 371, 370,
1114 
1115  369, 368, 367, 366, 365, 364, 363, 362, 361, 359,
1116  358, 357, 356, 355, 354, 353, 352, 351, 350, 349,
1117  348, 347, 346, 344, 343, 342, 341, 340, 339, 336,
1118  335, 334, 333, 332, 331, 330, 329, 327, 326, 325,
1119  324, 323, 322, 321, 320, 319, 318, 317, 316, 315,
1120  313, 312, 311, 310, 309, 308, 307, 306, 305, 304,
1121  303, 302, 300, 299, 298, 297, 296, 295, 294, 293,
1122  292, 291, 290, 289, 288, 286, 285, 284, 283, 282,
1123  281, 280, 279, 278, 277, 272, 271, 270, 269, 268,
1124  267, 266, 265, 264, 262, 260, 259, 258, 257, 256,
1125 
1126  255, 254, 253, 251, 250, 249, 248, 247, 246, 245,
1127  244, 243, 242, 241, 240, 239, 238, 237, 235, 234,
1128  232, 231, 230, 229, 228, 227, 226, 225, 224, 222,
1129  221, 220, 219, 218, 217, 216, 215, 214, 213, 211,
1130  210, 209, 208, 207, 206, 205, 204, 203, 202, 201,
1131  200, 199, 198, 197, 196, 195, 194, 193, 180, 177,
1132  175, 174, 169, 167, 166, 165, 163, 159, 158, 154,
1133  153, 151, 149, 148, 147, 146, 145, 144, 143, 142,
1134  141, 138, 137, 136, 135, 134, 132, 131, 130, 129,
1135  128, 125, 124, 123, 121, 120, 119, 118, 117, 116,
1136 
1137  115, 114, 113, 112, 111, 110, 108, 104, 98, 93,
1138  79, 78, 75, 74, 71, 70, 68, 66, 64, 61,
1139  58, 48, 41, 40, 39, 38, 37, 35, 34, 33,
1140  29, 27, 20, 18, 16, 15, 13, 11, 716, 716,
1141  716, 716, 716, 716, 716, 716, 716, 716, 716, 716,
1142  716, 716, 716, 716, 716, 716, 716, 716, 716, 716,
1143  716, 716, 716, 716, 716, 716, 716, 716, 716, 716,
1144  716, 716, 716, 716, 716, 716, 716, 716, 716, 716,
1145  716, 716, 716, 716, 716, 716, 716, 716, 716, 716,
1146  716, 716, 716, 716, 716, 716, 716, 716, 716, 716,
1147 
1148  716, 716, 716, 716, 716, 716, 716, 716, 716, 716
1149  } ;
1150 
1153 
1154 extern int yy_flex_debug;
1156 
1157 /* The intent behind this definition is that it'll catch
1158  * any uses of REJECT which flex missed.
1159  */
1160 #define REJECT reject_used_but_not_detected
1161 #define yymore() yymore_used_but_not_detected
1162 #define YY_MORE_ADJ 0
1163 #define YY_RESTORE_YY_MORE_OFFSET
1164 char *yytext;
1165 #line 1 "hlsl.l"
1166 /*
1167  * HLSL parser
1168  *
1169  * Copyright 2008 Stefan Dösinger
1170  * Copyright 2012 Matteo Bruni for CodeWeavers
1171  *
1172  * This library is free software; you can redistribute it and/or
1173  * modify it under the terms of the GNU Lesser General Public
1174  * License as published by the Free Software Foundation; either
1175  * version 2.1 of the License, or (at your option) any later version.
1176  *
1177  * This library is distributed in the hope that it will be useful,
1178  * but WITHOUT ANY WARRANTY; without even the implied warranty of
1179  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1180  * Lesser General Public License for more details.
1181  *
1182  * You should have received a copy of the GNU Lesser General Public
1183  * License along with this library; if not, write to the Free Software
1184  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
1185  */
1186 #line 23 "hlsl.l"
1187 #include "wine/debug.h"
1188 
1189 #define YY_NO_UNISTD_H
1190 #include "d3dcompiler_private.h"
1191 #include "hlsl.tab.h"
1192 
1193 WINE_DEFAULT_DEBUG_CHANNEL(hlsl_parser);
1194 
1195 #define YY_USER_ACTION \
1196  do { \
1197  hlsl_lloc.first_column = hlsl_ctx.column; \
1198  hlsl_lloc.first_line = hlsl_ctx.line_no; \
1199  hlsl_ctx.column += yyleng; \
1200  } while(0);
1201 
1202 #line 1202 "hlsl.yy.c"
1203 #define YY_NO_INPUT 1
1204 
1205 #line 1205 "hlsl.yy.c"
1206 
1207 #define INITIAL 0
1208 #define pp 1
1209 #define pp_line 2
1210 #define pp_pragma 3
1211 #define pp_ignore 4
1212 
1213 #ifndef YY_NO_UNISTD_H
1214 /* Special case for "unistd.h", since it is non-ANSI. We include it way
1215  * down here because we want the user's section 1 to have been scanned first.
1216  * The user has a chance to override it with an option.
1217  */
1218 #include <unistd.h>
1219 #endif
1220 
1221 #ifndef YY_EXTRA_TYPE
1222 #define YY_EXTRA_TYPE void *
1223 #endif
1224 
1225 static int yy_init_globals ( void );
1226 
1227 /* Accessor methods to globals.
1228  These are made visible to non-reentrant scanners for convenience. */
1229 
1230 int yylex_destroy ( void );
1231 
1232 int yyget_debug ( void );
1233 
1234 void yyset_debug ( int debug_flag );
1235 
1236 YY_EXTRA_TYPE yyget_extra ( void );
1237 
1238 void yyset_extra ( YY_EXTRA_TYPE user_defined );
1239 
1240 FILE *yyget_in ( void );
1241 
1242 void yyset_in ( FILE * _in_str );
1243 
1244 FILE *yyget_out ( void );
1245 
1246 void yyset_out ( FILE * _out_str );
1247 
1248  int yyget_leng ( void );
1249 
1250 char *yyget_text ( void );
1251 
1252 int yyget_lineno ( void );
1253 
1254 void yyset_lineno ( int _line_number );
1255 
1256 /* Macros after this point can all be overridden by user definitions in
1257  * section 1.
1258  */
1259 
1260 #ifndef YY_SKIP_YYWRAP
1261 #ifdef __cplusplus
1262 extern "C" int yywrap ( void );
1263 #else
1264 extern int yywrap ( void );
1265 #endif
1266 #endif
1267 
1268 #ifndef YY_NO_UNPUT
1269 
1270 #endif
1271 
1272 #ifndef yytext_ptr
1273 static void yy_flex_strncpy ( char *, const char *, int );
1274 #endif
1275 
1276 #ifdef YY_NEED_STRLEN
1277 static int yy_flex_strlen ( const char * );
1278 #endif
1279 
1280 #ifndef YY_NO_INPUT
1281 #ifdef __cplusplus
1282 static int yyinput ( void );
1283 #else
1284 static int input ( void );
1285 #endif
1286 
1287 #endif
1288 
1289 /* Amount of stuff to slurp up with each read. */
1290 #ifndef YY_READ_BUF_SIZE
1291 #ifdef __ia64__
1292 /* On IA-64, the buffer size is 16k, not 8k */
1293 #define YY_READ_BUF_SIZE 16384
1294 #else
1295 #define YY_READ_BUF_SIZE 8192
1296 #endif /* __ia64__ */
1297 #endif
1298 
1299 /* Copy whatever the last rule matched to the standard output. */
1300 #ifndef ECHO
1301 /* This used to be an fputs(), but since the string might contain NUL's,
1302  * we now use fwrite().
1303  */
1304 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
1305 #endif
1306 
1307 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1308  * is returned in "result".
1309  */
1310 #ifndef YY_INPUT
1311 #define YY_INPUT(buf,result,max_size) \
1312  if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1313  { \
1314  int c = '*'; \
1315  int n; \
1316  for ( n = 0; n < max_size && \
1317  (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1318  buf[n] = (char) c; \
1319  if ( c == '\n' ) \
1320  buf[n++] = (char) c; \
1321  if ( c == EOF && ferror( yyin ) ) \
1322  YY_FATAL_ERROR( "input in flex scanner failed" ); \
1323  result = n; \
1324  } \
1325  else \
1326  { \
1327  errno=0; \
1328  while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
1329  { \
1330  if( errno != EINTR) \
1331  { \
1332  YY_FATAL_ERROR( "input in flex scanner failed" ); \
1333  break; \
1334  } \
1335  errno=0; \
1336  clearerr(yyin); \
1337  } \
1338  }\
1339 \
1340 
1341 #endif
1342 
1343 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1344  * we don't want an extra ';' after the "return" because that will cause
1345  * some compilers to complain about unreachable statements.
1346  */
1347 #ifndef yyterminate
1348 #define yyterminate() return YY_NULL
1349 #endif
1350 
1351 /* Number of entries by which start-condition stack grows. */
1352 #ifndef YY_START_STACK_INCR
1353 #define YY_START_STACK_INCR 25
1354 #endif
1355 
1356 /* Report a fatal error. */
1357 #ifndef YY_FATAL_ERROR
1358 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1359 #endif
1360 
1361 /* end tables serialization structures and prototypes */
1362 
1363 /* Default declaration of generated scanner - a define so the user can
1364  * easily add parameters.
1365  */
1366 #ifndef YY_DECL
1367 #define YY_DECL_IS_OURS 1
1368 
1369 extern int yylex (void);
1370 
1371 #define YY_DECL int yylex (void)
1372 #endif /* !YY_DECL */
1373 
1374 /* Code executed at the beginning of each rule, after yytext and yyleng
1375  * have been set up.
1376  */
1377 #ifndef YY_USER_ACTION
1378 #define YY_USER_ACTION
1379 #endif
1380 
1381 /* Code executed at the end of each rule. */
1382 #ifndef YY_BREAK
1383 #define YY_BREAK /*LINTED*/break;
1384 #endif
1385 
1386 #define YY_RULE_SETUP \
1387  if ( yyleng > 0 ) \
1388  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
1389  (yytext[yyleng - 1] == '\n'); \
1390  YY_USER_ACTION
1391 
1394 YY_DECL
1397  char *yy_cp, *yy_bp;
1398  int yy_act;
1399 
1400  if ( !(yy_init) )
1401  {
1402  (yy_init) = 1;
1403 
1404 #ifdef YY_USER_INIT
1405  YY_USER_INIT;
1406 #endif
1407 
1408  if ( ! (yy_start) )
1409  (yy_start) = 1; /* first start state */
1410 
1411  if ( ! yyin )
1412  yyin = stdin;
1413 
1414  if ( ! yyout )
1415  yyout = stdout;
1416 
1417  if ( ! YY_CURRENT_BUFFER ) {
1421  }
1422 
1424  }
1425 
1426  {
1427 #line 58 "hlsl.l"
1428 
1429 #line 1429 "hlsl.yy.c"
1430 
1431  while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
1432  {
1433  yy_cp = (yy_c_buf_p);
1434 
1435  /* Support of yytext. */
1436  *yy_cp = (yy_hold_char);
1437 
1438  /* yy_bp points to the position in yy_ch_buf of the start of
1439  * the current run.
1440  */
1441  yy_bp = yy_cp;
1442 
1445 yy_match:
1446  do
1447  {
1448  YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
1449  if ( yy_accept[yy_current_state] )
1450  {
1453  }
1454  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1455  {
1457  if ( yy_current_state >= 717 )
1458  yy_c = yy_meta[yy_c];
1459  }
1461  ++yy_cp;
1462  }
1463  while ( yy_current_state != 716 );
1466 
1467 yy_find_action:
1469 
1471 
1472 do_action: /* This label is used only to access EOF actions. */
1473 
1474  switch ( yy_act )
1475  { /* beginning of action switch */
1476  case 0: /* must back up */
1477  /* undo the effects of YY_DO_BEFORE_ACTION */
1478  *yy_cp = (yy_hold_char);
1481  goto yy_find_action;
1482 
1483 case 1:
1485 #line 59 "hlsl.l"
1486 {
1487  hlsl_message("Line %u: Reserved keyword \"%s\" used.\n", hlsl_ctx.line_no, yytext);
1489  }
1490  YY_BREAK
1491 case 2:
1493 #line 63 "hlsl.l"
1494 {
1495  hlsl_message("Line %u: Reserved keyword \"%s\" used.\n", hlsl_ctx.line_no, yytext);
1497  }
1498  YY_BREAK
1499 case 3:
1501 #line 67 "hlsl.l"
1502 {
1503  hlsl_message("Line %u: Reserved keyword \"%s\" used.\n", hlsl_ctx.line_no, yytext);
1505  }
1506  YY_BREAK
1507 case 4:
1509 #line 71 "hlsl.l"
1510 {
1511  hlsl_message("Line %u: Reserved keyword \"%s\" used.\n", hlsl_ctx.line_no, yytext);
1513  }
1514  YY_BREAK
1515 case 5:
1517 #line 76 "hlsl.l"
1518 {return KW_BLENDSTATE; }
1519  YY_BREAK
1520 case 6:
1522 #line 77 "hlsl.l"
1523 {return KW_BREAK; }
1524  YY_BREAK
1525 case 7:
1527 #line 78 "hlsl.l"
1528 {return KW_BUFFER; }
1529  YY_BREAK
1530 case 8:
1532 #line 79 "hlsl.l"
1533 {return KW_CBUFFER; }
1534  YY_BREAK
1535 case 9:
1537 #line 80 "hlsl.l"
1538 {return KW_COMPILE; }
1539  YY_BREAK
1540 case 10:
1542 #line 81 "hlsl.l"
1543 {return KW_CONST; }
1544  YY_BREAK
1545 case 11:
1547 #line 82 "hlsl.l"
1548 {return KW_CONTINUE; }
1549  YY_BREAK
1550 case 12:
1552 #line 83 "hlsl.l"
1553 {return KW_DEPTHSTENCILSTATE; }
1554  YY_BREAK
1555 case 13:
1557 #line 84 "hlsl.l"
1558 {return KW_DEPTHSTENCILVIEW; }
1559  YY_BREAK
1560 case 14:
1562 #line 85 "hlsl.l"
1563 {return KW_DISCARD; }
1564  YY_BREAK
1565 case 15:
1567 #line 86 "hlsl.l"
1568 {return KW_DO; }
1569  YY_BREAK
1570 case 16:
1572 #line 87 "hlsl.l"
1573 {return KW_DOUBLE; }
1574  YY_BREAK
1575 case 17:
1577 #line 88 "hlsl.l"
1578 {return KW_ELSE; }
1579  YY_BREAK
1580 case 18:
1582 #line 89 "hlsl.l"
1583 {return KW_EXTERN; }
1584  YY_BREAK
1585 case 19:
1587 #line 90 "hlsl.l"
1588 {return KW_FALSE; }
1589  YY_BREAK
1590 case 20:
1592 #line 91 "hlsl.l"
1593 {return KW_FOR; }
1594  YY_BREAK
1595 case 21:
1597 #line 92 "hlsl.l"
1598 {return KW_GEOMETRYSHADER; }
1599  YY_BREAK
1600 case 22:
1602 #line 93 "hlsl.l"
1603 {return KW_GROUPSHARED; }
1604  YY_BREAK
1605 case 23:
1607 #line 94 "hlsl.l"
1608 {return KW_IF; }
1609  YY_BREAK
1610 case 24:
1612 #line 95 "hlsl.l"
1613 {return KW_IN; }
1614  YY_BREAK
1615 case 25:
1617 #line 96 "hlsl.l"
1618 {return KW_INLINE; }
1619  YY_BREAK
1620 case 26:
1622 #line 97 "hlsl.l"
1623 {return KW_INOUT; }
1624  YY_BREAK
1625 case 27:
1627 #line 98 "hlsl.l"
1628 {return KW_MATRIX; }
1629  YY_BREAK
1630 case 28:
1632 #line 99 "hlsl.l"
1633 {return KW_NAMESPACE; }
1634  YY_BREAK
1635 case 29:
1637 #line 100 "hlsl.l"
1638 {return KW_NOINTERPOLATION; }
1639  YY_BREAK
1640 case 30:
1642 #line 101 "hlsl.l"
1643 {return KW_OUT; }
1644  YY_BREAK
1645 case 31:
1647 #line 102 "hlsl.l"
1648 {return KW_PASS; }
1649  YY_BREAK
1650 case 32:
1652 #line 103 "hlsl.l"
1653 {return KW_PIXELSHADER; }
1654  YY_BREAK
1655 case 33:
1657 #line 104 "hlsl.l"
1658 {return KW_PRECISE; }
1659  YY_BREAK
1660 case 34:
1662 #line 105 "hlsl.l"
1663 {return KW_RASTERIZERSTATE; }
1664  YY_BREAK
1665 case 35:
1667 #line 106 "hlsl.l"
1668 {return KW_RENDERTARGETVIEW; }
1669  YY_BREAK
1670 case 36:
1672 #line 107 "hlsl.l"
1673 {return KW_RETURN; }
1674  YY_BREAK
1675 case 37:
1677 #line 108 "hlsl.l"
1678 {return KW_REGISTER; }
1679  YY_BREAK
1680 case 38:
1682 #line 109 "hlsl.l"
1683 {return KW_SAMPLER; }
1684  YY_BREAK
1685 case 39:
1687 #line 110 "hlsl.l"
1688 {return KW_SAMPLER1D; }
1689  YY_BREAK
1690 case 40:
1692 #line 111 "hlsl.l"
1693 {return KW_SAMPLER2D; }
1694  YY_BREAK
1695 case 41:
1697 #line 112 "hlsl.l"
1698 {return KW_SAMPLER3D; }
1699  YY_BREAK
1700 case 42:
1702 #line 113 "hlsl.l"
1703 {return KW_SAMPLERCUBE; }
1704  YY_BREAK
1705 case 43:
1707 #line 114 "hlsl.l"
1708 {return KW_SAMPLER_STATE; }
1709  YY_BREAK
1710 case 44:
1712 #line 115 "hlsl.l"
1713 {return KW_SAMPLERCOMPARISONSTATE;}
1714  YY_BREAK
1715 case 45:
1717 #line 116 "hlsl.l"
1718 {return KW_SHARED; }
1719  YY_BREAK
1720 case 46:
1722 #line 117 "hlsl.l"
1723 {return KW_STATEBLOCK; }
1724  YY_BREAK
1725 case 47:
1727 #line 118 "hlsl.l"
1728 {return KW_STATEBLOCK_STATE; }
1729  YY_BREAK
1730 case 48:
1732 #line 119 "hlsl.l"
1733 {return KW_STATIC; }
1734  YY_BREAK
1735 case 49:
1737 #line 120 "hlsl.l"
1738 {return KW_STRING; }
1739  YY_BREAK
1740 case 50:
1742 #line 121 "hlsl.l"
1743 {return KW_STRUCT; }
1744  YY_BREAK
1745 case 51:
1747 #line 122 "hlsl.l"
1748 {return KW_SWITCH; }
1749  YY_BREAK
1750 case 52:
1752 #line 123 "hlsl.l"
1753 {return KW_TBUFFER; }
1754  YY_BREAK
1755 case 53:
1757 #line 124 "hlsl.l"
1758 {return KW_TECHNIQUE; }
1759  YY_BREAK
1760 case 54:
1762 #line 125 "hlsl.l"
1763 {return KW_TECHNIQUE10; }
1764  YY_BREAK
1765 case 55:
1767 #line 126 "hlsl.l"
1768 {return KW_TEXTURE; }
1769  YY_BREAK
1770 case 56:
1772 #line 127 "hlsl.l"
1773 {return KW_TEXTURE1D; }
1774  YY_BREAK
1775 case 57:
1777 #line 128 "hlsl.l"
1778 {return KW_TEXTURE1DARRAY; }
1779  YY_BREAK
1780 case 58:
1782 #line 129 "hlsl.l"
1783 {return KW_TEXTURE2D; }
1784  YY_BREAK
1785 case 59:
1787 #line 130 "hlsl.l"
1788 {return KW_TEXTURE2DARRAY; }
1789  YY_BREAK
1790 case 60:
1792 #line 131 "hlsl.l"
1793 {return KW_TEXTURE2DMS; }
1794  YY_BREAK
1795 case 61:
1797 #line 132 "hlsl.l"
1798 {return KW_TEXTURE2DMSARRAY; }
1799  YY_BREAK
1800 case 62:
1802 #line 133 "hlsl.l"
1803 {return KW_TEXTURE3D; }
1804  YY_BREAK
1805 case 63:
1807 #line 134 "hlsl.l"
1808 {return KW_TEXTURE3DARRAY; }
1809  YY_BREAK
1810 case 64:
1812 #line 135 "hlsl.l"
1813 {return KW_TEXTURECUBE; }
1814  YY_BREAK
1815 case 65:
1817 #line 136 "hlsl.l"
1818 {return KW_TRUE; }
1819  YY_BREAK
1820 case 66:
1822 #line 137 "hlsl.l"
1823 {return KW_TYPEDEF; }
1824  YY_BREAK
1825 case 67:
1827 #line 138 "hlsl.l"
1828 {return KW_UNIFORM; }
1829  YY_BREAK
1830 case 68:
1832 #line 139 "hlsl.l"
1833 {return KW_VECTOR; }
1834  YY_BREAK
1835 case 69:
1837 #line 140 "hlsl.l"
1838 {return KW_VERTEXSHADER; }
1839  YY_BREAK
1840 case 70:
1842 #line 141 "hlsl.l"
1843 {return KW_VOID; }
1844  YY_BREAK
1845 case 71:
1847 #line 142 "hlsl.l"
1848 {return KW_VOLATILE; }
1849  YY_BREAK
1850 case 72:
1852 #line 143 "hlsl.l"
1853 {return KW_WHILE; }
1854  YY_BREAK
1855 case 73:
1857 #line 145 "hlsl.l"
1858 {return OP_INC; }
1859  YY_BREAK
1860 case 74:
1862 #line 146 "hlsl.l"
1863 {return OP_DEC; }
1864  YY_BREAK
1865 case 75:
1867 #line 147 "hlsl.l"
1868 {return OP_AND; }
1869  YY_BREAK
1870 case 76:
1872 #line 148 "hlsl.l"
1873 {return OP_OR; }
1874  YY_BREAK
1875 case 77:
1877 #line 149 "hlsl.l"
1878 {return OP_EQ; }
1879  YY_BREAK
1880 case 78:
1882 #line 150 "hlsl.l"
1883 {return OP_LEFTSHIFT; }
1884  YY_BREAK
1885 case 79:
1887 #line 151 "hlsl.l"
1888 {return OP_LEFTSHIFTASSIGN; }
1889  YY_BREAK
1890 case 80:
1892 #line 152 "hlsl.l"
1893 {return OP_RIGHTSHIFT; }
1894  YY_BREAK
1895 case 81:
1897 #line 153 "hlsl.l"
1898 {return OP_RIGHTSHIFTASSIGN; }
1899  YY_BREAK
1900 case 82:
1902 #line 154 "hlsl.l"
1903 {return OP_ELLIPSIS; }
1904  YY_BREAK
1905 case 83:
1907 #line 155 "hlsl.l"
1908 {return OP_LE; }
1909  YY_BREAK
1910 case 84:
1912 #line 156 "hlsl.l"
1913 {return OP_GE; }
1914  YY_BREAK
1915 case 85:
1917 #line 157 "hlsl.l"
1918 {return OP_NE; }
1919  YY_BREAK
1920 case 86:
1922 #line 158 "hlsl.l"
1923 {return OP_ADDASSIGN; }
1924  YY_BREAK
1925 case 87:
1927 #line 159 "hlsl.l"
1928 {return OP_SUBASSIGN; }
1929  YY_BREAK
1930 case 88:
1932 #line 160 "hlsl.l"
1933 {return OP_MULASSIGN; }
1934  YY_BREAK
1935 case 89:
1937 #line 161 "hlsl.l"
1938 {return OP_DIVASSIGN; }
1939  YY_BREAK
1940 case 90:
1942 #line 162 "hlsl.l"
1943 {return OP_MODASSIGN; }
1944  YY_BREAK
1945 case 91:
1947 #line 163 "hlsl.l"
1948 {return OP_ANDASSIGN; }
1949  YY_BREAK
1950 case 92:
1952 #line 164 "hlsl.l"
1953 {return OP_ORASSIGN; }
1954  YY_BREAK
1955 case 93:
1957 #line 165 "hlsl.l"
1958 {return OP_XORASSIGN; }
1959  YY_BREAK
1960 case 94:
1962 #line 166 "hlsl.l"
1963 {return OP_UNKNOWN1; }
1964  YY_BREAK
1965 case 95:
1967 #line 167 "hlsl.l"
1968 {return OP_UNKNOWN2; }
1969  YY_BREAK
1970 case 96:
1972 #line 168 "hlsl.l"
1973 {return OP_UNKNOWN3; }
1974  YY_BREAK
1975 case 97:
1977 #line 169 "hlsl.l"
1978 {return OP_UNKNOWN4; }
1979  YY_BREAK
1980 case 98:
1982 #line 171 "hlsl.l"
1983 {return KW_COLUMN_MAJOR; }
1984  YY_BREAK
1985 case 99:
1987 #line 172 "hlsl.l"
1988 {return KW_ROW_MAJOR; }
1989  YY_BREAK
1990 case 100:
1992 #line 174 "hlsl.l"
1993 {
1995  if (get_variable(hlsl_ctx.cur_scope, yytext)
1996  || find_function(yytext))
1997  return VAR_IDENTIFIER;
1998  else if (get_type(hlsl_ctx.cur_scope, yytext, TRUE))
1999  return TYPE_IDENTIFIER;
2000  else
2001  return NEW_IDENTIFIER;
2002  }
2003  YY_BREAK
2004 case 101:
2006 #line 185 "hlsl.l"
2007 {
2009  return C_FLOAT;
2010  }
2011  YY_BREAK
2012 case 102:
2014 #line 189 "hlsl.l"
2015 {
2017  return C_FLOAT;
2018  }
2019  YY_BREAK
2020 case 103:
2022 #line 193 "hlsl.l"
2023 {
2025  return C_FLOAT;
2026  }
2027  YY_BREAK
2028 case 104:
2030 #line 197 "hlsl.l"
2031 {
2032  sscanf(yytext, "0x%x", &hlsl_lval.intval);
2033  return C_INTEGER;
2034  }
2035  YY_BREAK
2036 case 105:
2038 #line 201 "hlsl.l"
2039 {
2040  sscanf(yytext, "0%o", &hlsl_lval.intval);
2041  return C_INTEGER;
2042  }
2043  YY_BREAK
2044 case 106:
2046 #line 205 "hlsl.l"
2047 {
2048  hlsl_lval.intval = (atoi(yytext));
2049  return C_INTEGER;
2050  }
2051  YY_BREAK
2052 case 107:
2054 #line 210 "hlsl.l"
2055 {}
2056  YY_BREAK
2057 case 108:
2059 #line 212 "hlsl.l"
2060 {}
2061  YY_BREAK
2062 case 109:
2063 /* rule 109 can match eol */
2065 #line 213 "hlsl.l"
2066 {
2067  hlsl_ctx.line_no++;
2068  hlsl_ctx.column = 1;
2069  }
2070  YY_BREAK
2071 case 110:
2073 #line 218 "hlsl.l"
2074 {
2075  BEGIN pp;
2076  }
2077  YY_BREAK
2078 case 111:
2080 #line 222 "hlsl.l"
2081 {
2082  TRACE("Got a #pragma.\n");
2083  BEGIN pp_pragma;
2084  }
2085  YY_BREAK
2086 case 112:
2088 #line 226 "hlsl.l"
2089 {
2090  TRACE("#pragma setting row_major mode.\n");
2091  hlsl_ctx.matrix_majority = HLSL_ROW_MAJOR;
2092  BEGIN pp_ignore;
2093  }
2094  YY_BREAK
2095 case 113:
2097 #line 231 "hlsl.l"
2098 {
2099  TRACE("#pragma setting column_major mode.\n");
2100  hlsl_ctx.matrix_majority = HLSL_COLUMN_MAJOR;
2101  BEGIN pp_ignore;
2102  }
2103  YY_BREAK
2104 case 114:
2105 /* rule 114 can match eol */
2107 #line 236 "hlsl.l"
2108 {
2109  FIXME("Unsupported preprocessor #pragma directive at line %u.\n", hlsl_ctx.line_no);
2110  BEGIN INITIAL;
2111  }
2112  YY_BREAK
2113 case 115:
2115 #line 240 "hlsl.l"
2116 {}
2117  YY_BREAK
2118 case 116:
2120 #line 241 "hlsl.l"
2121 {
2122  TRACE("Preprocessor line info.\n");
2123  BEGIN pp_line;
2124  hlsl_lval.intval = (atoi(yytext));
2125  return PRE_LINE;
2126  }
2127  YY_BREAK
2128 case 117:
2129 /* rule 117 can match eol */
2131 #line 247 "hlsl.l"
2132 {
2133  char *string = d3dcompiler_strdup(yytext + 1);
2134 
2135  BEGIN pp_ignore;
2136  string[strlen(string) - 1] = 0;
2137  hlsl_lval.name = string;
2138  return STRING;
2139  }
2140  YY_BREAK
2141 case 118:
2143 #line 255 "hlsl.l"
2144 {}
2145  YY_BREAK
2146 case 119:
2147 /* rule 119 can match eol */
2149 #line 256 "hlsl.l"
2150 {
2151  FIXME("Malformed preprocessor line directive?\n");
2152  BEGIN INITIAL;
2153  }
2154  YY_BREAK
2155 case 120:
2156 /* rule 120 can match eol */
2158 #line 260 "hlsl.l"
2159 {
2160  BEGIN INITIAL;
2161  }
2162  YY_BREAK
2163 case 121:
2165 #line 263 "hlsl.l"
2166 {}
2167  YY_BREAK
2168 case 122:
2169 /* rule 122 can match eol */
2171 #line 264 "hlsl.l"
2172 {
2173  FIXME("Unexpected preprocessor directive.\n");
2174  BEGIN INITIAL;
2175  }
2176  YY_BREAK
2177 case 123:
2179 #line 268 "hlsl.l"
2180 {}
2181  YY_BREAK
2182 case 124:
2184 #line 270 "hlsl.l"
2185 {
2186  return yytext[0];
2187  }
2188  YY_BREAK
2189 case 125:
2191 #line 274 "hlsl.l"
2192 ECHO;
2193  YY_BREAK
2194 #line 2194 "hlsl.yy.c"
2195 case YY_STATE_EOF(INITIAL):
2196 case YY_STATE_EOF(pp):
2197 case YY_STATE_EOF(pp_line):
2198 case YY_STATE_EOF(pp_pragma):
2199 case YY_STATE_EOF(pp_ignore):
2200  yyterminate();
2201 
2202  case YY_END_OF_BUFFER:
2203  {
2204  /* Amount of text matched not including the EOB char. */
2205  int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
2206 
2207  /* Undo the effects of YY_DO_BEFORE_ACTION. */
2208  *yy_cp = (yy_hold_char);
2210 
2211  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2212  {
2213  /* We're scanning a new file or input source. It's
2214  * possible that this happened because the user
2215  * just pointed yyin at a new source and called
2216  * yylex(). If so, then we have to assure
2217  * consistency between YY_CURRENT_BUFFER and our
2218  * globals. Here is the right place to do so, because
2219  * this is the first action (other than possibly a
2220  * back-up) that will match for the new input source.
2221  */
2222  (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2223  YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
2224  YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2225  }
2226 
2227  /* Note that here we test for yy_c_buf_p "<=" to the position
2228  * of the first EOB in the buffer, since yy_c_buf_p will
2229  * already have been incremented past the NUL character
2230  * (since all states make transitions on EOB to the
2231  * end-of-buffer state). Contrast this with the test
2232  * in input().
2233  */
2234  if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2235  { /* This was really a NUL. */
2236  yy_state_type yy_next_state;
2237 
2238  (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
2239 
2241 
2242  /* Okay, we're now positioned to make the NUL
2243  * transition. We couldn't have
2244  * yy_get_previous_state() go ahead and do it
2245  * for us because it doesn't know how to deal
2246  * with the possibility of jamming (and we don't
2247  * want to build jamming into it because then it
2248  * will run more slowly).
2249  */
2250 
2251  yy_next_state = yy_try_NUL_trans( yy_current_state );
2252 
2254 
2255  if ( yy_next_state )
2256  {
2257  /* Consume the NUL. */
2258  yy_cp = ++(yy_c_buf_p);
2259  yy_current_state = yy_next_state;
2260  goto yy_match;
2261  }
2262 
2263  else
2264  {
2267  goto yy_find_action;
2268  }
2269  }
2270 
2271  else switch ( yy_get_next_buffer( ) )
2272  {
2273  case EOB_ACT_END_OF_FILE:
2274  {
2276 
2277  if ( yywrap( ) )
2278  {
2279  /* Note: because we've taken care in
2280  * yy_get_next_buffer() to have set up
2281  * yytext, we can now set up
2282  * yy_c_buf_p so that if some total
2283  * hoser (like flex itself) wants to
2284  * call the scanner after we return the
2285  * YY_NULL, it'll still work - another
2286  * YY_NULL will get returned.
2287  */
2289 
2291  goto do_action;
2292  }
2293 
2294  else
2295  {
2296  if ( ! (yy_did_buffer_switch_on_eof) )
2297  YY_NEW_FILE;
2298  }
2299  break;
2300  }
2301 
2302  case EOB_ACT_CONTINUE_SCAN:
2303  (yy_c_buf_p) =
2304  (yytext_ptr) + yy_amount_of_matched_text;
2305 
2307 
2308  yy_cp = (yy_c_buf_p);
2310  goto yy_match;
2311 
2312  case EOB_ACT_LAST_MATCH:
2313  (yy_c_buf_p) =
2314  &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
2315 
2317 
2318  yy_cp = (yy_c_buf_p);
2320  goto yy_find_action;
2321  }
2322  break;
2323  }
2324 
2325  default:
2327  "fatal flex scanner internal error--no action found" );
2328  } /* end of action switch */
2329  } /* end of scanning one token */
2330  } /* end of user's declarations */
2331 } /* end of yylex */
2332 
2333 /* yy_get_next_buffer - try to read in a new buffer
2334  *
2335  * Returns a code representing an action:
2336  * EOB_ACT_LAST_MATCH -
2337  * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2338  * EOB_ACT_END_OF_FILE - end of file
2339  */
2340 static int yy_get_next_buffer (void)
2341 {
2342  char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
2343  char *source = (yytext_ptr);
2344  int number_to_move, i;
2345  int ret_val;
2346 
2347  if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
2349  "fatal flex scanner internal error--end of buffer missed" );
2350 
2351  if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
2352  { /* Don't try to fill the buffer, so this is an EOF. */
2353  if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
2354  {
2355  /* We matched a single character, the EOB, so
2356  * treat this as a final EOF.
2357  */
2358  return EOB_ACT_END_OF_FILE;
2359  }
2360 
2361  else
2362  {
2363  /* We matched some text prior to the EOB, first
2364  * process it.
2365  */
2366  return EOB_ACT_LAST_MATCH;
2367  }
2368  }
2369 
2370  /* Try to read more data. */
2371 
2372  /* First move last chars to start of buffer. */
2373  number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
2374 
2375  for ( i = 0; i < number_to_move; ++i )
2376  *(dest++) = *(source++);
2377 
2378  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2379  /* don't do the read, it's not guaranteed to return an EOF,
2380  * just force an EOF
2381  */
2382  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
2383 
2384  else
2385  {
2386  int num_to_read =
2387  YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
2388 
2389  while ( num_to_read <= 0 )
2390  { /* Not enough room in the buffer - grow it. */
2391 
2392  /* just a shorter name for the current buffer */
2394 
2395  int yy_c_buf_p_offset =
2396  (int) ((yy_c_buf_p) - b->yy_ch_buf);
2397 
2398  if ( b->yy_is_our_buffer )
2399  {
2400  int new_size = b->yy_buf_size * 2;
2401 
2402  if ( new_size <= 0 )
2403  b->yy_buf_size += b->yy_buf_size / 8;
2404  else
2405  b->yy_buf_size *= 2;
2406 
2407  b->yy_ch_buf = (char *)
2408  /* Include room in for 2 EOB chars. */
2409  yyrealloc( (void *) b->yy_ch_buf,
2410  (yy_size_t) (b->yy_buf_size + 2) );
2411  }
2412  else
2413  /* Can't grow it, we don't own it. */
2414  b->yy_ch_buf = NULL;
2415 
2416  if ( ! b->yy_ch_buf )
2418  "fatal error - scanner input buffer overflow" );
2419 
2420  (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
2421 
2422  num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
2423  number_to_move - 1;
2424 
2425  }
2426 
2427  if ( num_to_read > YY_READ_BUF_SIZE )
2428  num_to_read = YY_READ_BUF_SIZE;
2429 
2430  /* Read in more data. */
2431  YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
2432  (yy_n_chars), num_to_read );
2433 
2434  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2435  }
2436 
2437  if ( (yy_n_chars) == 0 )
2438  {
2439  if ( number_to_move == YY_MORE_ADJ )
2440  {
2441  ret_val = EOB_ACT_END_OF_FILE;
2442  yyrestart( yyin );
2443  }
2444 
2445  else
2446  {
2447  ret_val = EOB_ACT_LAST_MATCH;
2448  YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
2450  }
2451  }
2452 
2453  else
2454  ret_val = EOB_ACT_CONTINUE_SCAN;
2455 
2456  if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
2457  /* Extend the array by 50%, plus the number we really need. */
2458  int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
2459  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
2460  (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size );
2461  if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
2462  YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
2463  /* "- 2" to take care of EOB's */
2464  YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
2465  }
2466 
2467  (yy_n_chars) += number_to_move;
2470 
2471  (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
2472 
2473  return ret_val;
2474 }
2475 
2476 /* yy_get_previous_state - get the state just before the EOB char was reached */
2477 
2478  static yy_state_type yy_get_previous_state (void)
2479 {
2481  char *yy_cp;
2482 
2485 
2486  for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
2487  {
2488  YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2489  if ( yy_accept[yy_current_state] )
2490  {
2493  }
2494  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2495  {
2497  if ( yy_current_state >= 717 )
2498  yy_c = yy_meta[yy_c];
2499  }
2501  }
2502 
2503  return yy_current_state;
2504 }
2505 
2506 /* yy_try_NUL_trans - try to make a transition on the NUL character
2507  *
2508  * synopsis
2509  * next_state = yy_try_NUL_trans( current_state );
2510  */
2512 {
2513  int yy_is_jam;
2514  char *yy_cp = (yy_c_buf_p);
2515 
2516  YY_CHAR yy_c = 1;
2517  if ( yy_accept[yy_current_state] )
2518  {
2521  }
2522  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2523  {
2525  if ( yy_current_state >= 717 )
2526  yy_c = yy_meta[yy_c];
2527  }
2529  yy_is_jam = (yy_current_state == 716);
2530 
2531  return yy_is_jam ? 0 : yy_current_state;
2532 }
2533 
2534 #ifndef YY_NO_UNPUT
2535 
2536 #endif
2537 
2538 #ifndef YY_NO_INPUT
2539 #ifdef __cplusplus
2540  static int yyinput (void)
2541 #else
2542  static int input (void)
2543 #endif
2544 
2545 {
2546  int c;
2547 
2548  *(yy_c_buf_p) = (yy_hold_char);
2549 
2550  if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
2551  {
2552  /* yy_c_buf_p now points to the character we want to return.
2553  * If this occurs *before* the EOB characters, then it's a
2554  * valid NUL; if not, then we've hit the end of the buffer.
2555  */
2556  if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2557  /* This was really a NUL. */
2558  *(yy_c_buf_p) = '\0';
2559 
2560  else
2561  { /* need more input */
2562  int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
2563  ++(yy_c_buf_p);
2564 
2565  switch ( yy_get_next_buffer( ) )
2566  {
2567  case EOB_ACT_LAST_MATCH:
2568  /* This happens because yy_g_n_b()
2569  * sees that we've accumulated a
2570  * token and flags that we need to
2571  * try matching the token before
2572  * proceeding. But for input(),
2573  * there's no matching to consider.
2574  * So convert the EOB_ACT_LAST_MATCH
2575  * to EOB_ACT_END_OF_FILE.
2576  */
2577 
2578  /* Reset buffer status. */
2579  yyrestart( yyin );
2580 
2581  /*FALLTHROUGH*/
2582 
2583  case EOB_ACT_END_OF_FILE:
2584  {
2585  if ( yywrap( ) )
2586  return 0;
2587 
2588  if ( ! (yy_did_buffer_switch_on_eof) )
2589  YY_NEW_FILE;
2590 #ifdef __cplusplus
2591  return yyinput();
2592 #else
2593  return input();
2594 #endif
2595  }
2596 
2597  case EOB_ACT_CONTINUE_SCAN:
2598  (yy_c_buf_p) = (yytext_ptr) + offset;
2599  break;
2600  }
2601  }
2602  }
2603 
2604  c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
2605  *(yy_c_buf_p) = '\0'; /* preserve yytext */
2606  (yy_hold_char) = *++(yy_c_buf_p);
2607 
2608  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
2609 
2610  return c;
2611 }
2612 #endif /* ifndef YY_NO_INPUT */
2613 
2619  void yyrestart (FILE * input_file )
2620 {
2621 
2622  if ( ! YY_CURRENT_BUFFER ){
2626  }
2627 
2628  yy_init_buffer( YY_CURRENT_BUFFER, input_file );
2630 }
2631 
2636  void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
2637 {
2638 
2639  /* TODO. We should be able to replace this entire function body
2640  * with
2641  * yypop_buffer_state();
2642  * yypush_buffer_state(new_buffer);
2643  */
2645  if ( YY_CURRENT_BUFFER == new_buffer )
2646  return;
2647 
2648  if ( YY_CURRENT_BUFFER )
2649  {
2650  /* Flush out information for old buffer. */
2651  *(yy_c_buf_p) = (yy_hold_char);
2652  YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2653  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2654  }
2655 
2656  YY_CURRENT_BUFFER_LVALUE = new_buffer;
2658 
2659  /* We don't actually know whether we did this switch during
2660  * EOF (yywrap()) processing, but the only time this flag
2661  * is looked at is after yywrap() is called, so it's safe
2662  * to go ahead and always set it.
2663  */
2665 }
2666 
2667 static void yy_load_buffer_state (void)
2668 {
2669  (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2670  (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
2671  yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
2672  (yy_hold_char) = *(yy_c_buf_p);
2673 }
2674 
2682 {
2684 
2685  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
2686  if ( ! b )
2687  YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2688 
2689  b->yy_buf_size = size;
2690 
2691  /* yy_ch_buf has to be 2 characters longer than the size given because
2692  * we need to put in 2 end-of-buffer characters.
2693  */
2694  b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) );
2695  if ( ! b->yy_ch_buf )
2696  YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2697 
2698  b->yy_is_our_buffer = 1;
2699 
2700  yy_init_buffer( b, file );
2701 
2702  return b;
2703 }
2704 
2710 {
2711 
2712  if ( ! b )
2713  return;
2714 
2715  if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
2717 
2718  if ( b->yy_is_our_buffer )
2719  yyfree( (void *) b->yy_ch_buf );
2720 
2721  yyfree( (void *) b );
2722 }
2723 
2724 /* Initializes or reinitializes a buffer.
2725  * This function is sometimes called more than once on the same buffer,
2726  * such as during a yyrestart() or at EOF.
2727  */
2728  static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
2729 
2730 {
2731  int oerrno = errno;
2732 
2733  yy_flush_buffer( b );
2734 
2735  b->yy_input_file = file;
2736  b->yy_fill_buffer = 1;
2737 
2738  /* If b is the current buffer, then yy_init_buffer was _probably_
2739  * called from yyrestart() or through yy_get_next_buffer.
2740  * In that case, we don't want to reset the lineno or column.
2741  */
2742  if (b != YY_CURRENT_BUFFER){
2743  b->yy_bs_lineno = 1;
2744  b->yy_bs_column = 0;
2745  }
2746 
2747  b->yy_is_interactive = 0;
2748 
2749  errno = oerrno;
2750 }
2751 
2757 {
2758  if ( ! b )
2759  return;
2760 
2761  b->yy_n_chars = 0;
2762 
2763  /* We always need two end-of-buffer characters. The first causes
2764  * a transition to the end-of-buffer state. The second causes
2765  * a jam in that state.
2766  */
2767  b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2768  b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2769 
2770  b->yy_buf_pos = &b->yy_ch_buf[0];
2771 
2772  b->yy_at_bol = 1;
2773  b->yy_buffer_status = YY_BUFFER_NEW;
2774 
2775  if ( b == YY_CURRENT_BUFFER )
2777 }
2778 
2785 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
2786 {
2787  if (new_buffer == NULL)
2788  return;
2789 
2791 
2792  /* This block is copied from yy_switch_to_buffer. */
2793  if ( YY_CURRENT_BUFFER )
2794  {
2795  /* Flush out information for old buffer. */
2796  *(yy_c_buf_p) = (yy_hold_char);
2797  YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2798  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2799  }
2800 
2801  /* Only push if top exists. Otherwise, replace top. */
2802  if (YY_CURRENT_BUFFER)
2803  (yy_buffer_stack_top)++;
2804  YY_CURRENT_BUFFER_LVALUE = new_buffer;
2805 
2806  /* copied from yy_switch_to_buffer. */
2809 }
2810 
2815 void yypop_buffer_state (void)
2816 {
2817  if (!YY_CURRENT_BUFFER)
2818  return;
2819 
2822  if ((yy_buffer_stack_top) > 0)
2823  --(yy_buffer_stack_top);
2824 
2825  if (YY_CURRENT_BUFFER) {
2828  }
2829 }
2830 
2831 /* Allocates the stack if it does not exist.
2832  * Guarantees space for at least one push.
2833  */
2834 static void yyensure_buffer_stack (void)
2835 {
2836  yy_size_t num_to_alloc;
2837 
2838  if (!(yy_buffer_stack)) {
2839 
2840  /* First allocation is just for 2 elements, since we don't know if this
2841  * scanner will even need a stack. We use 2 instead of 1 to avoid an
2842  * immediate realloc on the next call.
2843  */
2844  num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
2846  (num_to_alloc * sizeof(struct yy_buffer_state*)
2847  );
2848  if ( ! (yy_buffer_stack) )
2849  YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
2850 
2851  memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
2852 
2853  (yy_buffer_stack_max) = num_to_alloc;
2854  (yy_buffer_stack_top) = 0;
2855  return;
2856  }
2857 
2858  if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
2859 
2860  /* Increase the buffer to prepare for a possible push. */
2861  yy_size_t grow_size = 8 /* arbitrary grow size */;
2862 
2863  num_to_alloc = (yy_buffer_stack_max) + grow_size;
2865  ((yy_buffer_stack),
2866  num_to_alloc * sizeof(struct yy_buffer_state*)
2867  );
2868  if ( ! (yy_buffer_stack) )
2869  YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
2870 
2871  /* zero only the new slots.*/
2872  memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
2873  (yy_buffer_stack_max) = num_to_alloc;
2874  }
2875 }
2876 
2884 {
2886 
2887  if ( size < 2 ||
2890  /* They forgot to leave room for the EOB's. */
2891  return NULL;
2892 
2893  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
2894  if ( ! b )
2895  YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
2896 
2897  b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
2898  b->yy_buf_pos = b->yy_ch_buf = base;
2899  b->yy_is_our_buffer = 0;
2900  b->yy_input_file = NULL;
2901  b->yy_n_chars = b->yy_buf_size;
2902  b->yy_is_interactive = 0;
2903  b->yy_at_bol = 1;
2904  b->yy_fill_buffer = 0;
2905  b->yy_buffer_status = YY_BUFFER_NEW;
2906 
2908 
2909  return b;
2910 }
2911 
2920 YY_BUFFER_STATE yy_scan_string (const char * yystr )
2921 {
2922 
2923  return yy_scan_bytes( yystr, (int) strlen(yystr) );
2924 }
2925 
2933 YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len )
2934 {
2936  char *buf;
2937  yy_size_t n;
2938  int i;
2939 
2940  /* Get memory for full buffer, including space for trailing EOB's. */
2941  n = (yy_size_t) (_yybytes_len + 2);
2942  buf = (char *) yyalloc( n );
2943  if ( ! buf )
2944  YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
2945 
2946  for ( i = 0; i < _yybytes_len; ++i )
2947  buf[i] = yybytes[i];
2948 
2949  buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
2950 
2951  b = yy_scan_buffer( buf, n );
2952  if ( ! b )
2953  YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
2954 
2955  /* It's okay to grow etc. this buffer, and we should throw it
2956  * away when we're done.
2957  */
2958  b->yy_is_our_buffer = 1;
2959 
2960  return b;
2961 }
2962 
2963 #ifndef YY_EXIT_FAILURE
2964 #define YY_EXIT_FAILURE 2
2965 #endif
2966 
2967 static void yynoreturn yy_fatal_error (const char* msg )
2968 {
2969  fprintf( stderr, "%s\n", msg );
2970  exit( YY_EXIT_FAILURE );
2971 }
2972 
2973 /* Redefine yyless() so it works in section 3 code. */
2974 
2975 #undef yyless
2976 #define yyless(n) \
2977  do \
2978  { \
2979  /* Undo effects of setting up yytext. */ \
2980  int yyless_macro_arg = (n); \
2981  YY_LESS_LINENO(yyless_macro_arg);\
2982  yytext[yyleng] = (yy_hold_char); \
2983  (yy_c_buf_p) = yytext + yyless_macro_arg; \
2984  (yy_hold_char) = *(yy_c_buf_p); \
2985  *(yy_c_buf_p) = '\0'; \
2986  yyleng = yyless_macro_arg; \
2987  } \
2988  while ( 0 )
2989 
2990 /* Accessor methods (get/set functions) to struct members. */
2991 
2995 int yyget_lineno (void)
2996 {
2997 
2998  return yylineno;
2999 }
3000 
3004 FILE *yyget_in (void)
3005 {
3006  return yyin;
3007 }
3008 
3012 FILE *yyget_out (void)
3013 {
3014  return yyout;
3015 }
3016 
3020 int yyget_leng (void)
3021 {
3022  return yyleng;
3023 }
3024 
3029 char *yyget_text (void)
3030 {
3031  return yytext;
3032 }
3033 
3038 void yyset_lineno (int _line_number )
3039 {
3040 
3041  yylineno = _line_number;
3042 }
3043 
3050 void yyset_in (FILE * _in_str )
3051 {
3052  yyin = _in_str ;
3053 }
3054 
3055 void yyset_out (FILE * _out_str )
3056 {
3057  yyout = _out_str ;
3058 }
3059 
3060 int yyget_debug (void)
3061 {
3062  return yy_flex_debug;
3063 }
3064 
3065 void yyset_debug (int _bdebug )
3066 {
3067  yy_flex_debug = _bdebug ;
3068 }
3069 
3070 static int yy_init_globals (void)
3071 {
3072  /* Initialization is the same as for the non-reentrant scanner.
3073  * This function is called from yylex_destroy(), so don't allocate here.
3074  */
3075 
3076  (yy_buffer_stack) = NULL;
3077  (yy_buffer_stack_top) = 0;
3078  (yy_buffer_stack_max) = 0;
3079  (yy_c_buf_p) = NULL;
3080  (yy_init) = 0;
3081  (yy_start) = 0;
3082 
3083 /* Defined in main.c */
3084 #ifdef YY_STDINIT
3085  yyin = stdin;
3086  yyout = stdout;
3087 #else
3088  yyin = NULL;
3089  yyout = NULL;
3090 #endif
3091 
3092  /* For future reference: Set errno on error, since we are called by
3093  * yylex_init()
3094  */
3095  return 0;
3096 }
3097 
3098 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
3099 int yylex_destroy (void)
3100 {
3101 
3102  /* Pop the buffer stack, destroying each element. */
3103  while(YY_CURRENT_BUFFER){
3107  }
3108 
3109  /* Destroy the stack itself. */
3110  yyfree((yy_buffer_stack) );
3111  (yy_buffer_stack) = NULL;
3112 
3113  /* Reset the globals. This is important in a non-reentrant scanner so the next time
3114  * yylex() is called, initialization will occur. */
3115  yy_init_globals( );
3116 
3117  return 0;
3118 }
3119 
3120 /*
3121  * Internal utility routines.
3122  */
3123 
3124 #ifndef yytext_ptr
3125 static void yy_flex_strncpy (char* s1, const char * s2, int n )
3126 {
3127 
3128  int i;
3129  for ( i = 0; i < n; ++i )
3130  s1[i] = s2[i];
3131 }
3132 #endif
3133 
3134 #ifdef YY_NEED_STRLEN
3135 static int yy_flex_strlen (const char * s )
3136 {
3137  int n;
3138  for ( n = 0; s[n]; ++n )
3139  ;
3140 
3141  return n;
3142 }
3143 #endif
3144 
3145 void *yyalloc (yy_size_t size )
3146 {
3147  return malloc(size);
3148 }
3149 
3150 void *yyrealloc (void * ptr, yy_size_t size )
3151 {
3152 
3153  /* The cast to (char *) in the following accommodates both
3154  * implementations that use char* generic pointers, and those
3155  * that use void* generic pointers. It works with the latter
3156  * because both ANSI C and C++ allow castless assignment from
3157  * any pointer type to void*, and deal with argument conversions
3158  * as though doing an assignment.
3159  */
3160  return realloc(ptr, size);
3161 }
3162 
3163 void yyfree (void * ptr )
3164 {
3165  free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
3166 }
3167 
3168 #define YYTABLES_NAME "yytables"
3169 
3170 #line 274 "hlsl.l"
3171 
3172 
3174  const char *entrypoint, char **messages);
3175 
3177  const char *entrypoint, char **messages)
3178 {
3179  struct bwriter_shader *ret = NULL;
3181 
3182  buffer = hlsl__scan_string(text);
3183  hlsl__switch_to_buffer(buffer);
3184 
3185  ret = parse_hlsl(type, major, minor, entrypoint, messages);
3186 
3187  hlsl__delete_buffer(buffer);
3188  return ret;
3189 }
3190 
#define realloc
Definition: debug_ros.c:6
#define YY_INPUT(buf, result, max_size)
Definition: hlsl.yy.c:1311
unsigned char flex_uint8_t
Definition: macro.lex.yy.c:54
char * name
Definition: hlsl.tab.c:1096
FILE * yy_input_file
Definition: macro.lex.yy.c:192
unsigned char flex_uint8_t
Definition: hlsl.yy.c:313
yy_size_t yy_n_chars
Definition: macro.lex.yy.c:205
struct S2 s2
#define TRUE
Definition: types.h:120
struct bwriter_shader * parse_hlsl(enum shader_type type, DWORD major, DWORD minor, const char *entrypoint, char **messages)
Definition: hlsl.tab.c:4883
#define OP_EQ
Definition: query.h:36
#define OP_GE
Definition: query.h:42
#define yylex_destroy
Definition: hlsl.yy.c:141
#define yyget_extra
Definition: hlsl.yy.c:159
short int flex_int16_t
Definition: hlsl.yy.c:311
unsigned char YY_CHAR
Definition: macro.lex.yy.c:336
ACPI_SIZE strlen(const char *String)
Definition: utclib.c:269
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
char * yy_bp
Definition: hlsl.yy.c:1397
#define yy_scan_buffer
Definition: hlsl.yy.c:11
#define yyalloc
Definition: hlsl.yy.c:30
const WCHAR * text
Definition: package.c:1827
static yy_state_type yy_get_previous_state(void)
#define free
Definition: debug_ros.c:5
#define yy_scan_string
Definition: hlsl.yy.c:12
#define YY_BUFFER_NEW
Definition: hlsl.yy.c:491
static int yy_did_buffer_switch_on_eof
Definition: hlsl.yy.c:540
#define yyset_in
Definition: hlsl.yy.c:177
GLintptr offset
Definition: glext.h:5920
#define YY_READ_BUF_SIZE
Definition: hlsl.yy.c:1295
int flex_int32_t
Definition: hlsl.yy.c:312
GLdouble n
Definition: glext.h:7729
static char yy_hold_char
Definition: hlsl.yy.c:528
size_t yy_size_t
Definition: macro.lex.yy.c:159
static char * yy_last_accepting_cpos
Definition: hlsl.yy.c:1152
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLuint buffer
Definition: glext.h:5915
FILE * stdin
#define yyget_text
Definition: hlsl.yy.c:201
#define YY_END_OF_BUFFER
Definition: hlsl.yy.c:618
#define yylineno
Definition: hlsl.yy.c:25
int errno
unsigned short int uint16_t
Definition: acefiex.h:54
#define yy_init_buffer
Definition: hlsl.yy.c:14
struct bwriter_shader * parse_hlsl_shader(const char *text, enum shader_type type, DWORD major, DWORD minor, const char *entrypoint, char **messages)
Definition: hlsl.yy.c:3176
flex_uint8_t YY_CHAR
Definition: hlsl.yy.c:588
#define yy_flex_debug
Definition: hlsl.yy.c:21
#define YY_MORE_ADJ
Definition: hlsl.yy.c:1162
unsigned short int flex_uint16_t
Definition: hlsl.yy.c:314
static const YY_CHAR yy_ec[256]
Definition: hlsl.yy.c:709
#define yypop_buffer_state
Definition: hlsl.yy.c:19
FILE * stdout
#define OP_AND
Definition: query.h:37
struct hlsl_ir_var * get_variable(struct hlsl_scope *scope, const char *name) DECLSPEC_HIDDEN
Definition: utils.c:784
#define YY_SC_TO_UI(c)
Definition: hlsl.yy.c:371
#define yy_load_buffer_state
Definition: hlsl.yy.c:16
#define yy_create_buffer
Definition: hlsl.yy.c:9
_Check_return_ _CRTIMP double __cdecl atof(_In_z_ const char *str)
yy_size_t yy_buf_size
Definition: macro.lex.yy.c:200
#define yytext_ptr
Definition: hlsl.yy.c:601
#define yyterminate()
Definition: hlsl.yy.c:1348
#define yyrealloc
Definition: hlsl.yy.c:31
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
static unsigned char bytes[4]
Definition: adnsresfilter.c:74
static const flex_int16_t yy_chk[1011]
Definition: hlsl.yy.c:1036
#define yyset_extra
Definition: hlsl.yy.c:165
GLuint base
Definition: 3dtext.c:35
_Check_return_opt_ _CRTIMP int __cdecl fprintf(_Inout_ FILE *_File, _In_z_ _Printf_format_string_ const char *_Format,...)
#define yy_delete_buffer
Definition: hlsl.yy.c:10
#define FIXME(fmt,...)
Definition: debug.h:110
static PVOID ptr
Definition: dispmode.c:27
#define pp
Definition: hlsl.yy.c:1208
static yy_state_type yy_try_NUL_trans(yy_state_type current_state)
int yy_state_type
Definition: macro.lex.yy.c:340
smooth NULL
Definition: ftsmooth.c:416
#define YY_BUF_SIZE
Definition: hlsl.yy.c:399
#define yyget_debug
Definition: hlsl.yy.c:147
#define EOB_ACT_LAST_MATCH
Definition: hlsl.yy.c:423
#define yyin
Definition: hlsl.yy.c:22
#define yylex
Definition: hlsl.yy.c:24
WINE_DEFAULT_DEBUG_CHANNEL(hlsl_parser)
#define yyfree
Definition: hlsl.yy.c:32
#define OP_NE
Definition: query.h:43
#define yyget_out
Definition: hlsl.yy.c:183
_Check_return_ _CRTIMP int __cdecl sscanf(_In_z_ const char *_Src, _In_z_ _Scanf_format_string_ const char *_Format,...)
#define yyset_debug
Definition: hlsl.yy.c:153
static const YY_CHAR yy_meta[72]
Definition: hlsl.yy.c:741
#define b
Definition: ke_i.h:79
static int yy_init
Definition: hlsl.yy.c:534
#define yypush_buffer_state
Definition: hlsl.yy.c:18
static void yynoreturn yy_fatal_error(const char *msg)
int yy_state_type
Definition: hlsl.yy.c:592
#define BEGIN
Definition: hlsl.yy.c:377
#define pp_ignore
Definition: hlsl.yy.c:1211
#define YY_DECL
Definition: hlsl.yy.c:1371
#define EOB_ACT_END_OF_FILE
Definition: hlsl.yy.c:422
char * yy_cp
Definition: hlsl.yy.c:1397
signed char int8_t
Definition: acefiex.h:50
GLboolean GLboolean GLboolean b
Definition: glext.h:6204
#define TRACE(s)
Definition: solgame.cpp:4
#define yyget_leng
Definition: hlsl.yy.c:195
GLsizeiptr size
Definition: glext.h:5919
static char * d3dcompiler_strdup(const char *string)
#define yy_flush_buffer
Definition: hlsl.yy.c:15
static int yy_n_chars
Definition: hlsl.yy.c:529
struct S1 s1
#define YY_CURRENT_BUFFER_LVALUE
Definition: hlsl.yy.c:525
#define YY_START
Definition: hlsl.yy.c:382
const char file[]
Definition: icontest.c:11
#define YY_RULE_SETUP
Definition: hlsl.yy.c:1386
const GLubyte * c
Definition: glext.h:8905
unsigned long DWORD
Definition: ntddk_ex.h:95
static size_t yy_buffer_stack_top
Definition: hlsl.yy.c:509
#define EOB_ACT_CONTINUE_SCAN
Definition: hlsl.yy.c:421
static const flex_int16_t yy_nxt[1011]
Definition: hlsl.yy.c:921
#define yyrestart
Definition: hlsl.yy.c:27
#define STRING(String)
short int flex_int16_t
Definition: macro.lex.yy.c:52
#define yy_current_state()
Definition: ppl.yy.c:1440
#define OP_LE
Definition: query.h:41
int flex_int32_t
Definition: macro.lex.yy.c:53
#define yy_scan_bytes
Definition: hlsl.yy.c:13
FLOAT floatval
Definition: hlsl.tab.c:1094
struct hlsl_parse_ctx hlsl_ctx
Definition: hlsl.tab.c:90
int ret
#define yyleng
Definition: hlsl.yy.c:23
YYSTYPE hlsl_lval
BOOL find_function(const char *name) DECLSPEC_HIDDEN
Definition: utils.c:852
#define YY_BUFFER_EOF_PENDING
Definition: hlsl.yy.c:503
#define yyset_out
Definition: hlsl.yy.c:189
#define YY_BUFFER_NORMAL
Definition: hlsl.yy.c:492
GLenum GLsizei len
Definition: glext.h:6722
#define yyset_lineno
Definition: hlsl.yy.c:213
static size_t yy_buffer_stack_max
Definition: hlsl.yy.c:510
INT intval
Definition: hlsl.tab.c:1093
GLdouble s
Definition: gl.h:2039
static void set_parse_status(enum parse_status *current, enum parse_status update)
#define ECHO
Definition: hlsl.yy.c:1304
#define YY_BREAK
Definition: hlsl.yy.c:1383
BYTE uint8_t
Definition: msvideo1.c:66
#define YY_END_OF_BUFFER_CHAR
Definition: hlsl.yy.c:388
char string[160]
Definition: util.h:11
INT32 int32_t
Definition: types.h:71
struct yy_buffer_state * YY_BUFFER_STATE
Definition: hlsl.yy.c:409
#define yyensure_buffer_stack
Definition: hlsl.yy.c:20
#define YY_EXIT_FAILURE
#define yynoreturn
Definition: hlsl.yy.c:362
flex_int32_t yy_verify
Definition: macro.lex.yy.c:370
GLenum GLenum GLenum input
Definition: glext.h:9031
static yy_state_type yy_last_accepting_state
Definition: hlsl.yy.c:1151
#define major(rdev)
Definition: propsheet.cpp:916
static char * yy_c_buf_p
Definition: hlsl.yy.c:533
#define INITIAL
Definition: hlsl.yy.c:1207
#define yytext
Definition: hlsl.yy.c:28
#define YY_RESTORE_YY_MORE_OFFSET
Definition: hlsl.yy.c:1163
static const flex_int16_t yy_accept[717]
Definition: hlsl.yy.c:626
#define YY_EXTRA_TYPE
Definition: hlsl.yy.c:1222
static YY_BUFFER_STATE * yy_buffer_stack
Definition: hlsl.yy.c:511
UINT32 uint32_t
Definition: types.h:75
#define YY_CURRENT_BUFFER
Definition: hlsl.yy.c:519
flex_int32_t yy_nxt
Definition: macro.lex.yy.c:371
#define OP_OR
Definition: query.h:38
int yy_act
Definition: hlsl.yy.c:1398
#define msg(x)
Definition: auth_time.c:54
_Check_return_ int __cdecl atoi(_In_z_ const char *_Str)
#define yyget_lineno
Definition: hlsl.yy.c:207
unsigned int flex_uint32_t
Definition: hlsl.yy.c:315
size_t yy_size_t
Definition: hlsl.yy.c:414
static int yy_get_next_buffer(void)
#define c
Definition: ke_i.h:80
FILE * stderr
#define minor(rdev)
Definition: propsheet.cpp:917
struct hlsl_type * get_type(struct hlsl_scope *scope, const char *name, BOOL recursive) DECLSPEC_HIDDEN
Definition: utils.c:841
#define malloc
Definition: debug_ros.c:4
INT16 int16_t
Definition: types.h:70
static char * dest
Definition: rtl.c:135
#define yywrap
Definition: hlsl.yy.c:29
#define pp_pragma
Definition: hlsl.yy.c:1210
void WINAPIV hlsl_message(const char *fmt,...) PRINTF_ATTR(1
void exit(int exitcode)
Definition: _exit.c:33
#define YY_STATE_EOF(state)
Definition: hlsl.yy.c:385
#define pp_line
Definition: hlsl.yy.c:1209
static const flex_int16_t yy_def[725]
Definition: hlsl.yy.c:837
#define YY_FATAL_ERROR(msg)
Definition: hlsl.yy.c:1358
static int yy_init_globals(void)
#define YY_NEW_FILE
Definition: hlsl.yy.c:387
#define memset(x, y, z)
Definition: compat.h:39
static const flex_int16_t yy_base[725]
Definition: hlsl.yy.c:753
signed char flex_int8_t
Definition: hlsl.yy.c:310
#define YY_AT_BOL()
Definition: hlsl.yy.c:582
#define YY_DO_BEFORE_ACTION
Definition: hlsl.yy.c:611
static int yy_start
Definition: hlsl.yy.c:535
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
Definition: typeof.h:31
#define yyout
Definition: hlsl.yy.c:26
#define yyget_in
Definition: hlsl.yy.c:171
#define yy_switch_to_buffer
Definition: hlsl.yy.c:17
Definition: fci.c:126