ReactOS  0.4.14-dev-52-g6116262
hlsl.yy.c
Go to the documentation of this file.
1 #line 2 "hlsl.yy.c"
2 
3 #line 4 "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_flex_debug hlsl__flex_debug
12 #define yy_init_buffer hlsl__init_buffer
13 #define yy_flush_buffer hlsl__flush_buffer
14 #define yy_load_buffer_state hlsl__load_buffer_state
15 #define yy_switch_to_buffer hlsl__switch_to_buffer
16 #define yyin hlsl_in
17 #define yyleng hlsl_leng
18 #define yylex hlsl_lex
19 #define yylineno hlsl_lineno
20 #define yyout hlsl_out
21 #define yyrestart hlsl_restart
22 #define yytext hlsl_text
23 #define yywrap hlsl_wrap
24 #define yyalloc hlsl_alloc
25 #define yyrealloc hlsl_realloc
26 #define yyfree hlsl_free
27 
28 #define FLEX_SCANNER
29 #define YY_FLEX_MAJOR_VERSION 2
30 #define YY_FLEX_MINOR_VERSION 5
31 #define YY_FLEX_SUBMINOR_VERSION 37
32 #if YY_FLEX_SUBMINOR_VERSION > 0
33 #define FLEX_BETA
34 #endif
35 
36 /* First, we deal with platform-specific or compiler-specific issues. */
37 
38 /* begin standard C headers. */
39 #include <stdio.h>
40 #include <string.h>
41 #include <errno.h>
42 #include <stdlib.h>
43 
44 /* end standard C headers. */
45 
46 /* flex integer type definitions */
47 
48 #ifndef FLEXINT_H
49 #define FLEXINT_H
50 
51 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
52 
53 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
54 
55 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
56  * if you want the limit (max/min) macros for int types.
57  */
58 #ifndef __STDC_LIMIT_MACROS
59 #define __STDC_LIMIT_MACROS 1
60 #endif
61 
62 #include <inttypes.h>
63 typedef int8_t flex_int8_t;
64 typedef uint8_t flex_uint8_t;
65 typedef int16_t flex_int16_t;
66 typedef uint16_t flex_uint16_t;
67 typedef int32_t flex_int32_t;
68 typedef uint32_t flex_uint32_t;
69 #else
70 typedef signed char flex_int8_t;
71 typedef short int flex_int16_t;
72 typedef int flex_int32_t;
73 typedef unsigned char flex_uint8_t;
74 typedef unsigned short int flex_uint16_t;
75 typedef unsigned int flex_uint32_t;
76 
77 /* Limits of integral types. */
78 #ifndef INT8_MIN
79 #define INT8_MIN (-128)
80 #endif
81 #ifndef INT16_MIN
82 #define INT16_MIN (-32767-1)
83 #endif
84 #ifndef INT32_MIN
85 #define INT32_MIN (-2147483647-1)
86 #endif
87 #ifndef INT8_MAX
88 #define INT8_MAX (127)
89 #endif
90 #ifndef INT16_MAX
91 #define INT16_MAX (32767)
92 #endif
93 #ifndef INT32_MAX
94 #define INT32_MAX (2147483647)
95 #endif
96 #ifndef UINT8_MAX
97 #define UINT8_MAX (255U)
98 #endif
99 #ifndef UINT16_MAX
100 #define UINT16_MAX (65535U)
101 #endif
102 #ifndef UINT32_MAX
103 #define UINT32_MAX (4294967295U)
104 #endif
105 
106 #endif /* ! C99 */
107 
108 #endif /* ! FLEXINT_H */
109 
110 #ifdef __cplusplus
111 
112 /* The "const" storage-class-modifier is valid. */
113 #define YY_USE_CONST
114 
115 #else /* ! __cplusplus */
116 
117 /* C99 requires __STDC__ to be defined as 1. */
118 #if defined (__STDC__)
119 
120 #define YY_USE_CONST
121 
122 #endif /* defined (__STDC__) */
123 #endif /* ! __cplusplus */
124 
125 #ifdef YY_USE_CONST
126 #define yyconst const
127 #else
128 #define yyconst
129 #endif
130 
131 /* Returned upon end-of-file. */
132 #define YY_NULL 0
133 
134 /* Promotes a possibly negative, possibly signed char to an unsigned
135  * integer for use as an array index. If the signed char is negative,
136  * we want to instead treat it as an 8-bit unsigned char, hence the
137  * double cast.
138  */
139 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
140 
141 /* Enter a start condition. This macro really ought to take a parameter,
142  * but we do it the disgusting crufty way forced on us by the ()-less
143  * definition of BEGIN.
144  */
145 #define BEGIN (yy_start) = 1 + 2 *
146 
147 /* Translate the current start state into a value that can be later handed
148  * to BEGIN to return to the state. The YYSTATE alias is for lex
149  * compatibility.
150  */
151 #define YY_START (((yy_start) - 1) / 2)
152 #define YYSTATE YY_START
153 
154 /* Action number for EOF rule of a given start state. */
155 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
156 
157 /* Special action meaning "start processing a new file". */
158 #define YY_NEW_FILE hlsl_restart(hlsl_in )
159 
160 #define YY_END_OF_BUFFER_CHAR 0
161 
162 /* Size of default input buffer. */
163 #ifndef YY_BUF_SIZE
164 #define YY_BUF_SIZE 16384
165 #endif
166 
167 /* The state buf must be large enough to hold one state per character in the main buffer.
168  */
169 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
170 
171 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
172 #define YY_TYPEDEF_YY_BUFFER_STATE
174 #endif
175 
176 #ifndef YY_TYPEDEF_YY_SIZE_T
177 #define YY_TYPEDEF_YY_SIZE_T
178 typedef size_t yy_size_t;
179 #endif
180 
181 extern yy_size_t hlsl_leng;
182 
183 extern FILE *hlsl_in, *hlsl_out;
184 
185 #define EOB_ACT_CONTINUE_SCAN 0
186 #define EOB_ACT_END_OF_FILE 1
187 #define EOB_ACT_LAST_MATCH 2
188 
189  #define YY_LESS_LINENO(n)
190 
191 /* Return all but the first "n" matched characters back to the input stream. */
192 #define yyless(n) \
193  do \
194  { \
195  /* Undo effects of setting up hlsl_text. */ \
196  int yyless_macro_arg = (n); \
197  YY_LESS_LINENO(yyless_macro_arg);\
198  *yy_cp = (yy_hold_char); \
199  YY_RESTORE_YY_MORE_OFFSET \
200  (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
201  YY_DO_BEFORE_ACTION; /* set up hlsl_text again */ \
202  } \
203  while ( 0 )
204 
205 #define unput(c) yyunput( c, (yytext_ptr) )
206 
207 #ifndef YY_STRUCT_YY_BUFFER_STATE
208 #define YY_STRUCT_YY_BUFFER_STATE
209 struct yy_buffer_state
210  {
212 
213  char *yy_ch_buf; /* input buffer */
214  char *yy_buf_pos; /* current position in input buffer */
215 
216  /* Size of input buffer in bytes, not including room for EOB
217  * characters.
218  */
220 
221  /* Number of characters read into yy_ch_buf, not including EOB
222  * characters.
223  */
225 
226  /* Whether we "own" the buffer - i.e., we know we created it,
227  * and can realloc() it to grow it, and should free() it to
228  * delete it.
229  */
230  int yy_is_our_buffer;
231 
232  /* Whether this is an "interactive" input source; if so, and
233  * if we're using stdio for input, then we want to use getc()
234  * instead of fread(), to make sure we stop fetching input after
235  * each newline.
236  */
237  int yy_is_interactive;
238 
239  /* Whether we're considered to be at the beginning of a line.
240  * If so, '^' rules will be active on the next match, otherwise
241  * not.
242  */
243  int yy_at_bol;
244 
245  int yy_bs_lineno;
246  int yy_bs_column;
248  /* Whether to try to fill the input buffer when we reach the
249  * end of it.
250  */
251  int yy_fill_buffer;
252 
253  int yy_buffer_status;
254 
255 #define YY_BUFFER_NEW 0
256 #define YY_BUFFER_NORMAL 1
257  /* When an EOF's been seen but there's still some text to process
258  * then we mark the buffer as YY_EOF_PENDING, to indicate that we
259  * shouldn't try reading from the input source any more. We might
260  * still have a bunch of tokens to match, though, because of
261  * possible backing-up.
262  *
263  * When we actually see the EOF, we change the status to "new"
264  * (via hlsl_restart()), so that the user can continue scanning by
265  * just pointing hlsl_in at a new input file.
266  */
267 #define YY_BUFFER_EOF_PENDING 2
268 
269  };
270 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
271 
272 /* Stack of input buffers. */
273 static size_t yy_buffer_stack_top = 0;
274 static size_t yy_buffer_stack_max = 0;
277 /* We provide macros for accessing buffer states in case in the
278  * future we want to put the buffer states in a more general
279  * "scanner state".
280  *
281  * Returns the top of the stack, or NULL.
282  */
283 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
284  ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
285  : NULL)
286 
287 /* Same as previous macro, but useful when we know that the buffer stack is not
288  * NULL or when we need an lvalue. For internal use only.
289  */
290 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
291 
292 /* yy_hold_char holds the character lost when hlsl_text is formed. */
293 static char yy_hold_char;
294 static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */
296 
297 /* Points to current character in buffer. */
298 static char *yy_c_buf_p = (char *) 0;
299 static int yy_init = 0; /* whether we need to initialize */
300 static int yy_start = 0; /* start state number */
301 
302 /* Flag which is used to allow hlsl_wrap()'s to do buffer switches
303  * instead of setting up a fresh hlsl_in. A bit of a hack ...
304  */
306 
307 void hlsl_restart (FILE *input_file );
308 void hlsl__switch_to_buffer (YY_BUFFER_STATE new_buffer );
312 void hlsl_push_buffer_state (YY_BUFFER_STATE new_buffer );
313 void hlsl_pop_buffer_state (void );
314 
315 static void hlsl_ensure_buffer_stack (void );
316 static void hlsl__load_buffer_state (void );
318 
319 #define YY_FLUSH_BUFFER hlsl__flush_buffer(YY_CURRENT_BUFFER )
320 
324 
325 void *hlsl_alloc (yy_size_t );
326 void *hlsl_realloc (void *,yy_size_t );
327 void hlsl_free (void * );
328 
329 #define yy_new_buffer hlsl__create_buffer
330 
331 #define yy_set_interactive(is_interactive) \
332  { \
333  if ( ! YY_CURRENT_BUFFER ){ \
334  hlsl_ensure_buffer_stack (); \
335  YY_CURRENT_BUFFER_LVALUE = \
336  hlsl__create_buffer(hlsl_in,YY_BUF_SIZE ); \
337  } \
338  YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
339  }
340 
341 #define yy_set_bol(at_bol) \
342  { \
343  if ( ! YY_CURRENT_BUFFER ){\
344  hlsl_ensure_buffer_stack (); \
345  YY_CURRENT_BUFFER_LVALUE = \
346  hlsl__create_buffer(hlsl_in,YY_BUF_SIZE ); \
347  } \
348  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
349  }
350 
351 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
352 
353 /* Begin user sect3 */
354 
355 #define hlsl_wrap() 1
356 #define YY_SKIP_YYWRAP
357 
358 typedef unsigned char YY_CHAR;
359 
360 FILE *hlsl_in = (FILE *) 0, *hlsl_out = (FILE *) 0;
361 
362 typedef int yy_state_type;
363 
364 extern int hlsl_lineno;
365 
366 int hlsl_lineno = 1;
367 
368 extern char *hlsl_text;
369 #define yytext_ptr hlsl_text
370 
371 static yy_state_type yy_get_previous_state (void );
372 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
373 static int yy_get_next_buffer (void );
374 static void yy_fatal_error (yyconst char msg[] );
375 
376 /* Done after the current pattern has been matched and before the
377  * corresponding action - sets up hlsl_text.
378  */
379 #define YY_DO_BEFORE_ACTION \
380  (yytext_ptr) = yy_bp; \
381  hlsl_leng = (size_t) (yy_cp - yy_bp); \
382  (yy_hold_char) = *yy_cp; \
383  *yy_cp = '\0'; \
384  (yy_c_buf_p) = yy_cp;
385 
386 #define YY_NUM_RULES 125
387 #define YY_END_OF_BUFFER 126
388 /* This struct is not used in this scanner,
389  but its presence is necessary. */
390 struct yy_trans_info
391  {
394  };
396  { 0,
397  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
398  126, 124, 108, 109, 124, 124, 124, 124, 124, 124,
399  124, 124, 124, 124, 106, 106, 124, 124, 124, 124,
400  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
401  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
402  100, 100, 100, 100, 100, 100, 100, 100, 124, 110,
403  93, 123, 122, 123, 116, 123, 125, 118, 119, 125,
404  125, 115, 114, 115, 115, 121, 120, 121, 108, 109,
405  85, 94, 95, 90, 75, 91, 88, 73, 86, 74,
406  87, 97, 0, 101, 107, 89, 102, 105, 106, 0,
407 
408  103, 0, 96, 78, 83, 77, 84, 80, 100, 100,
409  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
410  100, 100, 100, 100, 100, 100, 100, 100, 15, 100,
411  100, 100, 100, 100, 100, 100, 100, 100, 23, 24,
412  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
413  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
414  100, 100, 100, 100, 100, 100, 100, 100, 100, 92,
415  76, 122, 116, 0, 118, 119, 0, 117, 114, 0,
416  120, 82, 0, 101, 107, 0, 102, 0, 0, 104,
417  79, 81, 100, 100, 100, 100, 100, 100, 100, 100,
418 
419  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
420  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
421  100, 100, 20, 100, 100, 100, 100, 100, 100, 100,
422  100, 100, 2, 100, 100, 30, 100, 100, 100, 100,
423  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
424  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
425  3, 100, 100, 100, 100, 100, 100, 100, 100, 100,
426  0, 0, 0, 101, 0, 102, 100, 100, 100, 100,
427  100, 100, 100, 100, 100, 100, 1, 100, 100, 100,
428  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
429 
430  17, 100, 100, 100, 100, 100, 100, 100, 100, 100,
431  100, 100, 100, 31, 100, 100, 100, 100, 100, 100,
432  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
433  100, 100, 100, 100, 100, 100, 65, 100, 100, 100,
434  100, 100, 100, 100, 70, 100, 100, 0, 0, 100,
435  100, 100, 100, 100, 100, 100, 100, 100, 100, 6,
436  100, 100, 100, 10, 100, 100, 100, 100, 100, 100,
437  100, 100, 19, 100, 100, 100, 26, 100, 100, 100,
438  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
439  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
440 
441  100, 100, 100, 100, 100, 100, 4, 100, 100, 100,
442  100, 72, 0, 0, 100, 7, 100, 100, 100, 100,
443  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
444  100, 16, 100, 100, 18, 100, 25, 27, 100, 100,
445  100, 100, 100, 100, 100, 100, 100, 36, 100, 100,
446  45, 100, 48, 49, 50, 51, 100, 100, 100, 100,
447  100, 100, 100, 100, 68, 100, 100, 0, 0, 100,
448  100, 100, 100, 100, 100, 100, 100, 100, 8, 100,
449  9, 100, 100, 14, 100, 100, 100, 100, 100, 100,
450  33, 100, 100, 100, 100, 38, 100, 100, 52, 100,
451 
452  100, 55, 66, 100, 67, 100, 100, 111, 0, 100,
453  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
454  100, 100, 11, 100, 100, 100, 100, 100, 37, 100,
455  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
456  100, 100, 100, 71, 0, 100, 100, 100, 100, 100,
457  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
458  28, 100, 100, 99, 39, 40, 41, 100, 100, 100,
459  100, 53, 56, 58, 62, 100, 0, 5, 100, 100,
460  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
461  100, 100, 100, 100, 100, 100, 46, 100, 100, 100,
462 
463  0, 100, 100, 32, 100, 100, 100, 100, 100, 60,
464  100, 100, 100, 100, 22, 100, 100, 42, 100, 100,
465  54, 64, 0, 100, 100, 100, 100, 100, 100, 100,
466  100, 100, 69, 98, 100, 100, 100, 100, 0, 0,
467  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
468  100, 100, 43, 100, 0, 0, 0, 100, 100, 21,
469  100, 100, 100, 57, 59, 100, 63, 100, 100, 100,
470  0, 0, 100, 100, 34, 100, 100, 100, 29, 100,
471  100, 0, 0, 100, 13, 35, 100, 61, 47, 0,
472  0, 12, 100, 0, 0, 100, 0, 0, 100, 0,
473 
474  0, 100, 0, 0, 100, 0, 0, 44, 0, 0,
475  112, 0, 0, 0, 113, 0
476  } ;
477 
479  { 0,
480  1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
481  1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
482  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
483  1, 2, 5, 6, 7, 1, 8, 9, 1, 10,
484  11, 12, 13, 1, 14, 15, 16, 17, 18, 19,
485  20, 21, 21, 21, 21, 22, 22, 23, 1, 24,
486  25, 26, 1, 27, 28, 29, 30, 31, 32, 33,
487  34, 35, 36, 36, 36, 36, 37, 36, 36, 38,
488  36, 39, 40, 41, 42, 43, 36, 36, 36, 36,
489  1, 1, 1, 1, 44, 1, 45, 46, 47, 48,
490 
491  49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
492  59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
493  69, 70, 1, 71, 1, 1, 1, 1, 1, 1,
494  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
495  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
496  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
497  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
498  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
499  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
500  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
501 
502  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
503  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
504  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
505  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
506  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
507  1, 1, 1, 1, 1
508  } ;
509 
511  { 0,
512  1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
513  1, 1, 1, 1, 1, 1, 3, 3, 3, 3,
514  3, 3, 1, 1, 1, 1, 1, 3, 3, 3,
515  3, 3, 3, 4, 4, 4, 4, 4, 4, 4,
516  4, 4, 4, 4, 3, 3, 3, 3, 3, 3,
517  4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
518  4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
519  1
520  } ;
521 
523  { 0,
524  0, 65, 74, 80, 83, 101, 70, 72, 76, 78,
525  938, 939, 935, 939, 933, 910, 81, 909, 97, 908,
526  96, 98, 96, 94, 126, 118, 909, 101, 906, 102,
527  0, 64, 881, 880, 875, 104, 882, 877, 876, 859,
528  861, 110, 101, 109, 112, 120, 114, 863, 86, 136,
529  103, 128, 93, 135, 152, 126, 147, 869, 158, 184,
530  895, 939, 939, 916, 198, 856, 939, 915, 939, 913,
531  909, 939, 939, 911, 868, 939, 939, 909, 909, 939,
532  939, 939, 939, 939, 939, 939, 939, 939, 939, 939,
533  939, 939, 895, 213, 0, 939, 268, 841, 0, 236,
534 
535  939, 0, 939, 883, 939, 939, 939, 882, 0, 857,
536  855, 844, 844, 834, 838, 842, 842, 830, 835, 832,
537  846, 144, 829, 848, 847, 166, 153, 828, 825, 831,
538  825, 822, 176, 830, 823, 831, 819, 823, 0, 154,
539  823, 816, 815, 821, 810, 823, 826, 810, 810, 188,
540  826, 174, 804, 813, 167, 191, 198, 816, 803, 212,
541  211, 201, 807, 214, 813, 818, 802, 215, 810, 939,
542  939, 939, 274, 817, 859, 939, 854, 939, 939, 812,
543  939, 939, 291, 939, 0, 308, 939, 314, 323, 0,
544  939, 939, 800, 807, 792, 798, 805, 789, 804, 791,
545 
546  786, 785, 789, 802, 797, 798, 794, 781, 779, 776,
547  780, 188, 794, 789, 790, 790, 790, 785, 776, 776,
548  782, 767, 0, 780, 769, 762, 773, 760, 773, 761,
549  777, 772, 0, 762, 757, 0, 755, 770, 750, 751,
550  758, 760, 754, 746, 766, 749, 746, 745, 748, 756,
551  740, 249, 739, 752, 749, 740, 735, 735, 738, 747,
552  0, 746, 222, 741, 735, 728, 727, 742, 744, 732,
553  736, 731, 329, 378, 342, 433, 737, 735, 731, 733,
554  725, 731, 730, 722, 712, 727, 0, 720, 722, 723,
555  709, 714, 717, 705, 715, 702, 702, 720, 708, 706,
556 
557  0, 709, 699, 711, 701, 698, 699, 692, 702, 708,
558  690, 688, 706, 0, 697, 704, 699, 694, 683, 681,
559  682, 686, 686, 692, 676, 690, 679, 225, 679, 689,
560  688, 684, 675, 676, 666, 663, 0, 249, 670, 670,
561  676, 675, 666, 659, 0, 659, 673, 664, 676, 679,
562  656, 677, 652, 675, 652, 651, 663, 649, 642, 0,
563  660, 650, 651, 662, 647, 648, 654, 640, 652, 647,
564  652, 640, 0, 649, 633, 646, 0, 626, 637, 632,
565  642, 626, 626, 624, 640, 639, 621, 635, 625, 637,
566  632, 632, 631, 628, 631, 629, 624, 610, 621, 623,
567 
568  618, 625, 607, 619, 622, 604, 0, 607, 602, 618,
569  609, 0, 616, 603, 595, 0, 594, 595, 604, 602,
570  613, 591, 603, 611, 588, 605, 599, 600, 581, 581,
571  596, 0, 596, 589, 0, 589, 0, 0, 591, 594,
572  576, 578, 587, 586, 570, 584, 570, 0, 577, 568,
573  0, 573, 584, 0, 0, 0, 565, 565, 561, 575,
574  573, 565, 564, 571, 0, 563, 562, 615, 571, 570,
575  565, 544, 567, 541, 565, 579, 334, 556, 0, 550,
576  0, 561, 556, 0, 560, 539, 557, 554, 540, 537,
577  0, 549, 535, 536, 536, 347, 535, 546, 0, 527,
578 
579  542, 350, 0, 541, 0, 541, 539, 585, 522, 521,
580  526, 543, 534, 532, 518, 520, 547, 546, 545, 530,
581  529, 510, 0, 525, 509, 521, 510, 520, 0, 505,
582  504, 534, 533, 532, 520, 498, 513, 514, 509, 526,
583  525, 524, 512, 0, 491, 503, 504, 498, 500, 486,
584  496, 489, 517, 278, 516, 495, 488, 477, 495, 490,
585  0, 482, 488, 0, 0, 0, 0, 507, 471, 479,
586  470, 514, 0, 0, 0, 502, 475, 0, 450, 457,
587  439, 460, 450, 438, 435, 434, 455, 432, 444, 433,
588  428, 442, 444, 424, 455, 441, 440, 418, 464, 448,
589 
590  411, 422, 429, 0, 412, 411, 429, 411, 410, 443,
591  408, 407, 405, 401, 0, 400, 419, 0, 398, 398,
592  0, 0, 273, 236, 411, 414, 415, 395, 411, 403,
593  385, 401, 0, 0, 392, 397, 394, 378, 314, 355,
594  377, 387, 377, 374, 384, 383, 366, 365, 371, 363,
595  370, 382, 0, 381, 369, 366, 365, 378, 373, 0,
596  372, 371, 356, 0, 0, 373, 0, 357, 351, 348,
597  354, 342, 344, 340, 0, 339, 346, 335, 0, 339,
598  352, 328, 346, 340, 0, 0, 329, 0, 0, 329,
599  327, 0, 93, 134, 160, 164, 195, 190, 237, 241,
600 
601  240, 255, 278, 275, 289, 301, 370, 0, 315, 374,
602  939, 316, 377, 381, 939, 939, 504, 508, 512, 516,
603  518, 522, 526, 379
604  } ;
605 
607  { 0,
608  716, 1, 717, 717, 718, 718, 719, 719, 720, 720,
609  716, 716, 716, 716, 716, 716, 716, 716, 716, 716,
610  716, 716, 716, 716, 716, 25, 716, 716, 716, 716,
611  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
612  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
613  721, 721, 721, 721, 721, 721, 721, 721, 716, 716,
614  716, 716, 716, 716, 716, 716, 716, 716, 716, 716,
615  722, 716, 716, 716, 716, 716, 716, 716, 716, 716,
616  716, 716, 716, 716, 716, 716, 716, 716, 716, 716,
617  716, 716, 716, 716, 723, 716, 716, 25, 26, 716,
618 
619  716, 724, 716, 716, 716, 716, 716, 716, 721, 721,
620  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
621  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
622  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
623  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
624  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
625  721, 721, 721, 721, 721, 721, 721, 721, 721, 716,
626  716, 716, 716, 716, 716, 716, 722, 716, 716, 716,
627  716, 716, 716, 716, 723, 716, 716, 716, 716, 724,
628  716, 716, 721, 721, 721, 721, 721, 721, 721, 721,
629 
630  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
631  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
632  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
633  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
634  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
635  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
636  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
637  716, 716, 716, 716, 716, 716, 721, 721, 721, 721,
638  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
639  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
640 
641  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
642  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
643  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
644  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
645  721, 721, 721, 721, 721, 721, 721, 716, 716, 721,
646  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
647  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
648  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
649  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
650  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
651 
652  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
653  721, 721, 716, 716, 721, 721, 721, 721, 721, 721,
654  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
655  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
656  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
657  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
658  721, 721, 721, 721, 721, 721, 721, 716, 716, 721,
659  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
660  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
661  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
662 
663  721, 721, 721, 721, 721, 721, 721, 716, 716, 721,
664  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
665  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
666  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
667  721, 721, 721, 721, 716, 721, 721, 721, 721, 721,
668  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
669  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
670  721, 721, 721, 721, 721, 721, 716, 721, 721, 721,
671  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
672  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
673 
674  716, 721, 721, 721, 721, 721, 721, 721, 721, 721,
675  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
676  721, 721, 716, 721, 721, 721, 721, 721, 721, 721,
677  721, 721, 721, 721, 721, 721, 721, 721, 716, 716,
678  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
679  721, 721, 721, 721, 716, 716, 716, 721, 721, 721,
680  721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
681  716, 716, 721, 721, 721, 721, 721, 721, 721, 721,
682  721, 716, 716, 721, 721, 721, 721, 721, 721, 716,
683  716, 721, 721, 716, 716, 721, 716, 716, 721, 716,
684 
685  716, 721, 716, 716, 721, 716, 716, 721, 716, 716,
686  716, 716, 716, 716, 716, 0, 716, 716, 716, 716,
687  716, 716, 716, 716
688  } ;
689 
691  { 0,
692  12, 13, 14, 15, 16, 12, 17, 18, 19, 12,
693  12, 20, 21, 22, 23, 24, 25, 26, 26, 26,
694  26, 26, 27, 28, 29, 30, 12, 31, 32, 31,
695  33, 31, 31, 34, 31, 31, 31, 35, 36, 37,
696  38, 31, 39, 31, 40, 41, 42, 43, 44, 45,
697  46, 31, 47, 31, 31, 48, 49, 50, 51, 52,
698  31, 53, 54, 55, 56, 57, 58, 31, 31, 31,
699  59, 60, 73, 74, 73, 74, 63, 64, 77, 78,
700  77, 78, 63, 64, 68, 69, 70, 82, 71, 61,
701  65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
702 
703  65, 65, 68, 69, 70, 85, 71, 83, 88, 95,
704  93, 90, 94, 94, 94, 94, 94, 94, 96, 110,
705  89, 86, 91, 92, 104, 105, 107, 108, 111, 75,
706  142, 75, 696, 66, 99, 99, 99, 99, 99, 66,
707  97, 152, 98, 98, 98, 98, 98, 99, 115, 127,
708  143, 153, 116, 128, 122, 123, 134, 100, 101, 129,
709  101, 124, 147, 139, 131, 125, 132, 148, 126, 130,
710  135, 140, 149, 136, 100, 101, 133, 101, 137, 154,
711  144, 138, 170, 164, 145, 716, 155, 156, 165, 150,
712  82, 697, 151, 102, 146, 166, 101, 159, 157, 167,
713 
714  160, 158, 213, 161, 698, 168, 205, 206, 214, 227,
715  83, 247, 228, 162, 173, 173, 173, 173, 173, 173,
716  163, 210, 211, 212, 242, 248, 243, 699, 171, 94,
717  94, 94, 94, 94, 94, 220, 238, 244, 700, 221,
718  239, 249, 251, 701, 183, 184, 240, 184, 188, 188,
719  294, 295, 189, 189, 189, 189, 189, 189, 255, 252,
720  250, 183, 184, 258, 184, 260, 263, 268, 256, 261,
721  269, 339, 259, 395, 639, 641, 264, 396, 642, 257,
722  340, 702, 640, 184, 94, 94, 94, 94, 94, 94,
723  173, 173, 173, 173, 173, 173, 404, 703, 704, 186,
724 
725  187, 329, 187, 273, 273, 586, 405, 274, 274, 274,
726  274, 274, 274, 330, 587, 639, 186, 187, 705, 187,
727  275, 275, 706, 640, 276, 276, 276, 276, 276, 276,
728  189, 189, 189, 189, 189, 189, 707, 708, 187, 189,
729  189, 189, 189, 189, 189, 274, 274, 274, 274, 274,
730  274, 517, 518, 519, 709, 101, 655, 101, 276, 276,
731  276, 276, 276, 276, 532, 533, 534, 540, 541, 542,
732  655, 710, 101, 712, 101, 710, 535, 713, 714, 543,
733  711, 190, 714, 695, 711, 694, 693, 715, 692, 691,
734  536, 715, 690, 101, 274, 274, 274, 274, 274, 274,
735 
736  689, 656, 261, 688, 687, 686, 685, 684, 683, 682,
737  184, 681, 184, 680, 679, 656, 657, 678, 677, 676,
738  675, 674, 673, 672, 671, 670, 669, 184, 668, 184,
739  657, 667, 666, 665, 664, 663, 662, 661, 660, 659,
740  658, 654, 653, 652, 651, 650, 649, 648, 184, 276,
741  276, 276, 276, 276, 276, 647, 646, 645, 644, 643,
742  638, 637, 636, 635, 287, 187, 634, 187, 633, 632,
743  631, 630, 629, 628, 627, 626, 625, 624, 623, 622,
744  621, 261, 187, 620, 187, 619, 618, 617, 616, 615,
745  614, 613, 612, 611, 610, 609, 608, 607, 606, 605,
746 
747  604, 603, 602, 187, 62, 62, 62, 62, 67, 67,
748  67, 67, 72, 72, 72, 72, 76, 76, 76, 76,
749  109, 109, 177, 177, 177, 177, 185, 601, 185, 185,
750  600, 599, 598, 597, 596, 595, 594, 593, 592, 591,
751  287, 590, 589, 588, 585, 584, 583, 582, 581, 580,
752  579, 578, 577, 576, 575, 574, 573, 572, 571, 570,
753  569, 568, 567, 566, 565, 564, 563, 233, 562, 561,
754  560, 559, 558, 557, 556, 555, 554, 553, 552, 551,
755  550, 549, 548, 547, 546, 545, 508, 544, 407, 407,
756  261, 539, 538, 537, 531, 530, 529, 528, 233, 527,
757 
758  526, 525, 233, 524, 523, 522, 521, 520, 516, 515,
759  514, 513, 512, 511, 510, 509, 508, 507, 407, 506,
760  505, 504, 503, 502, 501, 500, 499, 498, 497, 496,
761  495, 494, 493, 492, 233, 491, 490, 489, 488, 233,
762  487, 486, 485, 484, 287, 483, 482, 481, 480, 479,
763  478, 477, 476, 475, 474, 473, 472, 471, 470, 469,
764  468, 467, 466, 465, 464, 463, 462, 461, 460, 459,
765  458, 457, 456, 455, 454, 453, 452, 261, 261, 451,
766  450, 449, 448, 447, 446, 233, 445, 444, 443, 442,
767  441, 440, 439, 438, 437, 436, 233, 435, 434, 433,
768 
769  432, 431, 287, 430, 429, 428, 427, 426, 425, 424,
770  423, 422, 421, 420, 419, 418, 417, 416, 415, 414,
771  413, 412, 411, 410, 409, 407, 408, 407, 406, 261,
772  403, 402, 401, 400, 399, 398, 397, 394, 393, 261,
773  392, 391, 390, 389, 388, 387, 386, 385, 384, 383,
774  382, 381, 380, 379, 378, 377, 376, 375, 374, 373,
775  372, 371, 370, 369, 368, 367, 366, 365, 364, 363,
776  362, 287, 361, 287, 360, 359, 358, 357, 356, 355,
777  354, 353, 352, 351, 350, 349, 348, 347, 346, 345,
778  344, 343, 342, 341, 338, 337, 336, 261, 335, 334,
779 
780  333, 332, 331, 328, 327, 326, 325, 324, 323, 322,
781  321, 320, 319, 318, 317, 316, 315, 314, 313, 312,
782  311, 310, 309, 233, 308, 307, 306, 233, 305, 304,
783  303, 302, 287, 301, 300, 299, 298, 297, 296, 293,
784  292, 291, 287, 290, 289, 287, 288, 287, 286, 285,
785  284, 283, 282, 281, 280, 279, 278, 277, 272, 178,
786  175, 271, 270, 267, 266, 265, 262, 254, 253, 246,
787  245, 241, 237, 236, 235, 234, 233, 232, 231, 230,
788  229, 226, 225, 224, 223, 222, 219, 218, 217, 216,
789  215, 209, 208, 207, 204, 203, 202, 201, 200, 199,
790 
791  198, 197, 196, 195, 194, 193, 192, 191, 716, 182,
792  79, 181, 180, 179, 178, 176, 175, 174, 172, 106,
793  169, 141, 121, 120, 119, 118, 117, 114, 113, 112,
794  106, 103, 87, 84, 81, 80, 79, 716, 11, 716,
795  716, 716, 716, 716, 716, 716, 716, 716, 716, 716,
796  716, 716, 716, 716, 716, 716, 716, 716, 716, 716,
797  716, 716, 716, 716, 716, 716, 716, 716, 716, 716,
798  716, 716, 716, 716, 716, 716, 716, 716, 716, 716,
799  716, 716, 716, 716, 716, 716, 716, 716, 716, 716,
800  716, 716, 716, 716, 716, 716, 716, 716, 716, 716,
801 
802  716, 716, 716, 716, 716, 716, 716, 716, 716, 716
803  } ;
804 
806  { 0,
807  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
808  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
809  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
810  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
811  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
812  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
813  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
814  1, 2, 7, 7, 8, 8, 3, 3, 9, 9,
815  10, 10, 4, 4, 5, 5, 5, 17, 5, 2,
816  3, 3, 3, 3, 3, 3, 4, 4, 4, 4,
817 
818  4, 4, 6, 6, 6, 19, 6, 17, 21, 24,
819  23, 22, 23, 23, 23, 23, 23, 23, 24, 32,
820  21, 19, 22, 22, 28, 28, 30, 30, 32, 7,
821  49, 8, 693, 3, 26, 26, 26, 26, 26, 4,
822  25, 53, 25, 25, 25, 25, 25, 25, 36, 43,
823  49, 53, 36, 43, 42, 42, 45, 25, 25, 43,
824  25, 42, 51, 47, 44, 42, 44, 51, 42, 43,
825  45, 47, 52, 45, 25, 25, 44, 25, 46, 54,
826  50, 46, 59, 56, 50, 26, 54, 54, 56, 52,
827  60, 694, 52, 25, 50, 57, 25, 55, 54, 57,
828 
829  55, 54, 127, 55, 695, 57, 122, 122, 127, 140,
830  60, 155, 140, 55, 65, 65, 65, 65, 65, 65,
831  55, 126, 126, 126, 152, 155, 152, 696, 59, 94,
832  94, 94, 94, 94, 94, 133, 150, 152, 697, 133,
833  150, 156, 157, 698, 94, 94, 150, 94, 100, 100,
834  212, 212, 100, 100, 100, 100, 100, 100, 160, 157,
835  156, 94, 94, 161, 94, 162, 164, 168, 160, 162,
836  168, 263, 161, 328, 623, 624, 164, 328, 624, 160,
837  263, 699, 623, 94, 97, 97, 97, 97, 97, 97,
838  173, 173, 173, 173, 173, 173, 338, 700, 701, 97,
839 
840  97, 252, 97, 183, 183, 554, 338, 183, 183, 183,
841  183, 183, 183, 252, 554, 639, 97, 97, 702, 97,
842  186, 186, 703, 639, 186, 186, 186, 186, 186, 186,
843  188, 188, 188, 188, 188, 188, 704, 705, 97, 189,
844  189, 189, 189, 189, 189, 273, 273, 273, 273, 273,
845  273, 477, 477, 477, 706, 189, 640, 189, 275, 275,
846  275, 275, 275, 275, 496, 496, 496, 502, 502, 502,
847  655, 707, 189, 709, 189, 710, 496, 712, 713, 502,
848  707, 724, 714, 691, 710, 690, 687, 713, 684, 683,
849  496, 714, 682, 189, 274, 274, 274, 274, 274, 274,
850 
851  681, 640, 680, 678, 677, 676, 674, 673, 672, 671,
852  274, 670, 274, 669, 668, 655, 640, 666, 663, 662,
853  661, 659, 658, 657, 656, 654, 652, 274, 651, 274,
854  655, 650, 649, 648, 647, 646, 645, 644, 643, 642,
855  641, 638, 637, 636, 635, 632, 631, 630, 274, 276,
856  276, 276, 276, 276, 276, 629, 628, 627, 626, 625,
857  620, 619, 617, 616, 614, 276, 613, 276, 612, 611,
858  610, 609, 608, 607, 606, 605, 603, 602, 601, 600,
859  599, 598, 276, 597, 276, 596, 595, 594, 593, 592,
860  591, 590, 589, 588, 587, 586, 585, 584, 583, 582,
861 
862  581, 580, 579, 276, 717, 717, 717, 717, 718, 718,
863  718, 718, 719, 719, 719, 719, 720, 720, 720, 720,
864  721, 721, 722, 722, 722, 722, 723, 577, 723, 723,
865  576, 572, 571, 570, 569, 568, 563, 562, 560, 559,
866  558, 557, 556, 555, 553, 552, 551, 550, 549, 548,
867  547, 546, 545, 543, 542, 541, 540, 539, 538, 537,
868  536, 535, 534, 533, 532, 531, 530, 528, 527, 526,
869  525, 524, 522, 521, 520, 519, 518, 517, 516, 515,
870  514, 513, 512, 511, 510, 509, 508, 507, 506, 504,
871  501, 500, 498, 497, 495, 494, 493, 492, 490, 489,
872 
873  488, 487, 486, 485, 483, 482, 480, 478, 476, 475,
874  474, 473, 472, 471, 470, 469, 468, 467, 466, 464,
875  463, 462, 461, 460, 459, 458, 457, 453, 452, 450,
876  449, 447, 446, 445, 444, 443, 442, 441, 440, 439,
877  436, 434, 433, 431, 430, 429, 428, 427, 426, 425,
878  424, 423, 422, 421, 420, 419, 418, 417, 415, 414,
879  413, 411, 410, 409, 408, 406, 405, 404, 403, 402,
880  401, 400, 399, 398, 397, 396, 395, 394, 393, 392,
881  391, 390, 389, 388, 387, 386, 385, 384, 383, 382,
882  381, 380, 379, 378, 376, 375, 374, 372, 371, 370,
883 
884  369, 368, 367, 366, 365, 364, 363, 362, 361, 359,
885  358, 357, 356, 355, 354, 353, 352, 351, 350, 349,
886  348, 347, 346, 344, 343, 342, 341, 340, 339, 336,
887  335, 334, 333, 332, 331, 330, 329, 327, 326, 325,
888  324, 323, 322, 321, 320, 319, 318, 317, 316, 315,
889  313, 312, 311, 310, 309, 308, 307, 306, 305, 304,
890  303, 302, 300, 299, 298, 297, 296, 295, 294, 293,
891  292, 291, 290, 289, 288, 286, 285, 284, 283, 282,
892  281, 280, 279, 278, 277, 272, 271, 270, 269, 268,
893  267, 266, 265, 264, 262, 260, 259, 258, 257, 256,
894 
895  255, 254, 253, 251, 250, 249, 248, 247, 246, 245,
896  244, 243, 242, 241, 240, 239, 238, 237, 235, 234,
897  232, 231, 230, 229, 228, 227, 226, 225, 224, 222,
898  221, 220, 219, 218, 217, 216, 215, 214, 213, 211,
899  210, 209, 208, 207, 206, 205, 204, 203, 202, 201,
900  200, 199, 198, 197, 196, 195, 194, 193, 180, 177,
901  175, 174, 169, 167, 166, 165, 163, 159, 158, 154,
902  153, 151, 149, 148, 147, 146, 145, 144, 143, 142,
903  141, 138, 137, 136, 135, 134, 132, 131, 130, 129,
904  128, 125, 124, 123, 121, 120, 119, 118, 117, 116,
905 
906  115, 114, 113, 112, 111, 110, 108, 104, 98, 93,
907  79, 78, 75, 74, 71, 70, 68, 66, 64, 61,
908  58, 48, 41, 40, 39, 38, 37, 35, 34, 33,
909  29, 27, 20, 18, 16, 15, 13, 11, 716, 716,
910  716, 716, 716, 716, 716, 716, 716, 716, 716, 716,
911  716, 716, 716, 716, 716, 716, 716, 716, 716, 716,
912  716, 716, 716, 716, 716, 716, 716, 716, 716, 716,
913  716, 716, 716, 716, 716, 716, 716, 716, 716, 716,
914  716, 716, 716, 716, 716, 716, 716, 716, 716, 716,
915  716, 716, 716, 716, 716, 716, 716, 716, 716, 716,
916 
917  716, 716, 716, 716, 716, 716, 716, 716, 716, 716
918  } ;
919 
922 
923 extern int hlsl__flex_debug;
925 
926 /* The intent behind this definition is that it'll catch
927  * any uses of REJECT which flex missed.
928  */
929 #define REJECT reject_used_but_not_detected
930 #define yymore() yymore_used_but_not_detected
931 #define YY_MORE_ADJ 0
932 #define YY_RESTORE_YY_MORE_OFFSET
933 char *hlsl_text;
934 #line 1 "hlsl.l"
935 /*
936  * HLSL parser
937  *
938  * Copyright 2008 Stefan Dösinger
939  * Copyright 2012 Matteo Bruni for CodeWeavers
940  *
941  * This library is free software; you can redistribute it and/or
942  * modify it under the terms of the GNU Lesser General Public
943  * License as published by the Free Software Foundation; either
944  * version 2.1 of the License, or (at your option) any later version.
945  *
946  * This library is distributed in the hope that it will be useful,
947  * but WITHOUT ANY WARRANTY; without even the implied warranty of
948  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
949  * Lesser General Public License for more details.
950  *
951  * You should have received a copy of the GNU Lesser General Public
952  * License along with this library; if not, write to the Free Software
953  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
954  */
955 #line 23 "hlsl.l"
956 #include "config.h"
957 #include "wine/port.h"
958 #include "wine/debug.h"
959 
960 #define YY_NO_UNISTD_H
961 #include "d3dcompiler_private.h"
962 #include "hlsl.tab.h"
963 
964 WINE_DEFAULT_DEBUG_CHANNEL(hlsl_parser);
965 
966 #define YY_USER_ACTION \
967  do { \
968  hlsl_lloc.first_column = hlsl_ctx.column; \
969  hlsl_lloc.first_line = hlsl_ctx.line_no; \
970  hlsl_ctx.column += hlsl_leng; \
971  } while(0);
972 
973 #define YY_NO_INPUT 1
974 
975 #line 976 "hlsl.yy.c"
976 
977 #define INITIAL 0
978 #define pp 1
979 #define pp_line 2
980 #define pp_pragma 3
981 #define pp_ignore 4
982 
983 #ifndef YY_NO_UNISTD_H
984 /* Special case for "unistd.h", since it is non-ANSI. We include it way
985  * down here because we want the user's section 1 to have been scanned first.
986  * The user has a chance to override it with an option.
987  */
988 #include <unistd.h>
989 #endif
990 
991 #ifndef YY_EXTRA_TYPE
992 #define YY_EXTRA_TYPE void *
993 #endif
994 
995 static int yy_init_globals (void );
996 
997 /* Accessor methods to globals.
998  These are made visible to non-reentrant scanners for convenience. */
999 
1000 int hlsl_lex_destroy (void );
1001 
1002 int hlsl_get_debug (void );
1003 
1004 void hlsl_set_debug (int debug_flag );
1005 
1007 
1008 void hlsl_set_extra (YY_EXTRA_TYPE user_defined );
1009 
1010 FILE *hlsl_get_in (void );
1011 
1012 void hlsl_set_in (FILE * in_str );
1013 
1014 FILE *hlsl_get_out (void );
1015 
1016 void hlsl_set_out (FILE * out_str );
1017 
1018 yy_size_t hlsl_get_leng (void );
1019 
1020 char *hlsl_get_text (void );
1021 
1022 int hlsl_get_lineno (void );
1023 
1024 void hlsl_set_lineno (int line_number );
1025 
1026 /* Macros after this point can all be overridden by user definitions in
1027  * section 1.
1028  */
1029 
1030 #ifndef YY_SKIP_YYWRAP
1031 #ifdef __cplusplus
1032 extern "C" int hlsl_wrap (void );
1033 #else
1034 extern int hlsl_wrap (void );
1035 #endif
1036 #endif
1037 
1038 #ifndef yytext_ptr
1039 static void yy_flex_strncpy (char *,yyconst char *,int );
1040 #endif
1041 
1042 #ifdef YY_NEED_STRLEN
1043 static int yy_flex_strlen (yyconst char * );
1044 #endif
1045 
1046 #ifndef YY_NO_INPUT
1047 
1048 #ifdef __cplusplus
1049 static int yyinput (void );
1050 #else
1051 static int input (void );
1052 #endif
1053 
1054 #endif
1055 
1056 /* Amount of stuff to slurp up with each read. */
1057 #ifndef YY_READ_BUF_SIZE
1058 #define YY_READ_BUF_SIZE 8192
1059 #endif
1060 
1061 /* Copy whatever the last rule matched to the standard output. */
1062 #ifndef ECHO
1063 /* This used to be an fputs(), but since the string might contain NUL's,
1064  * we now use fwrite().
1065  */
1066 #define ECHO do { if (fwrite( hlsl_text, hlsl_leng, 1, hlsl_out )) {} } while (0)
1067 #endif
1068 
1069 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1070  * is returned in "result".
1071  */
1072 #ifndef YY_INPUT
1073 #define YY_INPUT(buf,result,max_size) \
1074  if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1075  { \
1076  int c = '*'; \
1077  size_t n; \
1078  for ( n = 0; n < max_size && \
1079  (c = getc( hlsl_in )) != EOF && c != '\n'; ++n ) \
1080  buf[n] = (char) c; \
1081  if ( c == '\n' ) \
1082  buf[n++] = (char) c; \
1083  if ( c == EOF && ferror( hlsl_in ) ) \
1084  YY_FATAL_ERROR( "input in flex scanner failed" ); \
1085  result = n; \
1086  } \
1087  else \
1088  { \
1089  errno=0; \
1090  while ( (result = fread(buf, 1, max_size, hlsl_in))==0 && ferror(hlsl_in)) \
1091  { \
1092  if( errno != EINTR) \
1093  { \
1094  YY_FATAL_ERROR( "input in flex scanner failed" ); \
1095  break; \
1096  } \
1097  errno=0; \
1098  clearerr(hlsl_in); \
1099  } \
1100  }\
1101 \
1102 
1103 #endif
1104 
1105 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1106  * we don't want an extra ';' after the "return" because that will cause
1107  * some compilers to complain about unreachable statements.
1108  */
1109 #ifndef yyterminate
1110 #define yyterminate() return YY_NULL
1111 #endif
1112 
1113 /* Number of entries by which start-condition stack grows. */
1114 #ifndef YY_START_STACK_INCR
1115 #define YY_START_STACK_INCR 25
1116 #endif
1117 
1118 /* Report a fatal error. */
1119 #ifndef YY_FATAL_ERROR
1120 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1121 #endif
1122 
1123 /* end tables serialization structures and prototypes */
1124 
1125 /* Default declaration of generated scanner - a define so the user can
1126  * easily add parameters.
1127  */
1128 #ifndef YY_DECL
1129 #define YY_DECL_IS_OURS 1
1130 
1131 extern int hlsl_lex (void);
1132 
1133 #define YY_DECL int hlsl_lex (void)
1134 #endif /* !YY_DECL */
1135 
1136 /* Code executed at the beginning of each rule, after hlsl_text and hlsl_leng
1137  * have been set up.
1138  */
1139 #ifndef YY_USER_ACTION
1140 #define YY_USER_ACTION
1141 #endif
1142 
1143 /* Code executed at the end of each rule. */
1144 #ifndef YY_BREAK
1145 #define YY_BREAK break;
1146 #endif
1147 
1148 #define YY_RULE_SETUP \
1149  if ( hlsl_leng > 0 ) \
1150  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
1151  (hlsl_text[hlsl_leng - 1] == '\n'); \
1152  YY_USER_ACTION
1153 
1156 YY_DECL
1159  register char *yy_cp, *yy_bp;
1160  register int yy_act;
1161 
1162 #line 60 "hlsl.l"
1163 
1164 #line 1165 "hlsl.yy.c"
1165 
1166  if ( !(yy_init) )
1167  {
1168  (yy_init) = 1;
1169 
1170 #ifdef YY_USER_INIT
1171  YY_USER_INIT;
1172 #endif
1173 
1174  if ( ! (yy_start) )
1175  (yy_start) = 1; /* first start state */
1176 
1177  if ( ! hlsl_in )
1178  hlsl_in = stdin;
1179 
1180  if ( ! hlsl_out )
1181  hlsl_out = stdout;
1182 
1183  if ( ! YY_CURRENT_BUFFER ) {
1187  }
1188 
1190  }
1191 
1192  while ( 1 ) /* loops until end-of-file is reached */
1193  {
1194  yy_cp = (yy_c_buf_p);
1195 
1196  /* Support of hlsl_text. */
1197  *yy_cp = (yy_hold_char);
1198 
1199  /* yy_bp points to the position in yy_ch_buf of the start of
1200  * the current run.
1201  */
1202  yy_bp = yy_cp;
1203 
1206 yy_match:
1207  do
1208  {
1209  register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1210  if ( yy_accept[yy_current_state] )
1211  {
1214  }
1215  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1216  {
1218  if ( yy_current_state >= 717 )
1219  yy_c = yy_meta[(unsigned int) yy_c];
1220  }
1221  yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1222  ++yy_cp;
1223  }
1224  while ( yy_current_state != 716 );
1227 
1228 yy_find_action:
1230 
1232 
1233 do_action: /* This label is used only to access EOF actions. */
1234 
1235  switch ( yy_act )
1236  { /* beginning of action switch */
1237  case 0: /* must back up */
1238  /* undo the effects of YY_DO_BEFORE_ACTION */
1239  *yy_cp = (yy_hold_char);
1242  goto yy_find_action;
1243 
1244 case 1:
1246 #line 61 "hlsl.l"
1247 {
1248  hlsl_message("Line %u: Reserved keyword \"%s\" used.\n", hlsl_ctx.line_no, hlsl_text);
1250  }
1251  YY_BREAK
1252 case 2:
1254 #line 65 "hlsl.l"
1255 {
1256  hlsl_message("Line %u: Reserved keyword \"%s\" used.\n", hlsl_ctx.line_no, hlsl_text);
1258  }
1259  YY_BREAK
1260 case 3:
1262 #line 69 "hlsl.l"
1263 {
1264  hlsl_message("Line %u: Reserved keyword \"%s\" used.\n", hlsl_ctx.line_no, hlsl_text);
1266  }
1267  YY_BREAK
1268 case 4:
1270 #line 73 "hlsl.l"
1271 {
1272  hlsl_message("Line %u: Reserved keyword \"%s\" used.\n", hlsl_ctx.line_no, hlsl_text);
1274  }
1275  YY_BREAK
1276 case 5:
1278 #line 78 "hlsl.l"
1279 {return KW_BLENDSTATE; }
1280  YY_BREAK
1281 case 6:
1283 #line 79 "hlsl.l"
1284 {return KW_BREAK; }
1285  YY_BREAK
1286 case 7:
1288 #line 80 "hlsl.l"
1289 {return KW_BUFFER; }
1290  YY_BREAK
1291 case 8:
1293 #line 81 "hlsl.l"
1294 {return KW_CBUFFER; }
1295  YY_BREAK
1296 case 9:
1298 #line 82 "hlsl.l"
1299 {return KW_COMPILE; }
1300  YY_BREAK
1301 case 10:
1303 #line 83 "hlsl.l"
1304 {return KW_CONST; }
1305  YY_BREAK
1306 case 11:
1308 #line 84 "hlsl.l"
1309 {return KW_CONTINUE; }
1310  YY_BREAK
1311 case 12:
1313 #line 85 "hlsl.l"
1314 {return KW_DEPTHSTENCILSTATE; }
1315  YY_BREAK
1316 case 13:
1318 #line 86 "hlsl.l"
1319 {return KW_DEPTHSTENCILVIEW; }
1320  YY_BREAK
1321 case 14:
1323 #line 87 "hlsl.l"
1324 {return KW_DISCARD; }
1325  YY_BREAK
1326 case 15:
1328 #line 88 "hlsl.l"
1329 {return KW_DO; }
1330  YY_BREAK
1331 case 16:
1333 #line 89 "hlsl.l"
1334 {return KW_DOUBLE; }
1335  YY_BREAK
1336 case 17:
1338 #line 90 "hlsl.l"
1339 {return KW_ELSE; }
1340  YY_BREAK
1341 case 18:
1343 #line 91 "hlsl.l"
1344 {return KW_EXTERN; }
1345  YY_BREAK
1346 case 19:
1348 #line 92 "hlsl.l"
1349 {return KW_FALSE; }
1350  YY_BREAK
1351 case 20:
1353 #line 93 "hlsl.l"
1354 {return KW_FOR; }
1355  YY_BREAK
1356 case 21:
1358 #line 94 "hlsl.l"
1359 {return KW_GEOMETRYSHADER; }
1360  YY_BREAK
1361 case 22:
1363 #line 95 "hlsl.l"
1364 {return KW_GROUPSHARED; }
1365  YY_BREAK
1366 case 23:
1368 #line 96 "hlsl.l"
1369 {return KW_IF; }
1370  YY_BREAK
1371 case 24:
1373 #line 97 "hlsl.l"
1374 {return KW_IN; }
1375  YY_BREAK
1376 case 25:
1378 #line 98 "hlsl.l"
1379 {return KW_INLINE; }
1380  YY_BREAK
1381 case 26:
1383 #line 99 "hlsl.l"
1384 {return KW_INOUT; }
1385  YY_BREAK
1386 case 27:
1388 #line 100 "hlsl.l"
1389 {return KW_MATRIX; }
1390  YY_BREAK
1391 case 28:
1393 #line 101 "hlsl.l"
1394 {return KW_NAMESPACE; }
1395  YY_BREAK
1396 case 29:
1398 #line 102 "hlsl.l"
1399 {return KW_NOINTERPOLATION; }
1400  YY_BREAK
1401 case 30:
1403 #line 103 "hlsl.l"
1404 {return KW_OUT; }
1405  YY_BREAK
1406 case 31:
1408 #line 104 "hlsl.l"
1409 {return KW_PASS; }
1410  YY_BREAK
1411 case 32:
1413 #line 105 "hlsl.l"
1414 {return KW_PIXELSHADER; }
1415  YY_BREAK
1416 case 33:
1418 #line 106 "hlsl.l"
1419 {return KW_PRECISE; }
1420  YY_BREAK
1421 case 34:
1423 #line 107 "hlsl.l"
1424 {return KW_RASTERIZERSTATE; }
1425  YY_BREAK
1426 case 35:
1428 #line 108 "hlsl.l"
1429 {return KW_RENDERTARGETVIEW; }
1430  YY_BREAK
1431 case 36:
1433 #line 109 "hlsl.l"
1434 {return KW_RETURN; }
1435  YY_BREAK
1436 case 37:
1438 #line 110 "hlsl.l"
1439 {return KW_REGISTER; }
1440  YY_BREAK
1441 case 38:
1443 #line 111 "hlsl.l"
1444 {return KW_SAMPLER; }
1445  YY_BREAK
1446 case 39:
1448 #line 112 "hlsl.l"
1449 {return KW_SAMPLER1D; }
1450  YY_BREAK
1451 case 40:
1453 #line 113 "hlsl.l"
1454 {return KW_SAMPLER2D; }
1455  YY_BREAK
1456 case 41:
1458 #line 114 "hlsl.l"
1459 {return KW_SAMPLER3D; }
1460  YY_BREAK
1461 case 42:
1463 #line 115 "hlsl.l"
1464 {return KW_SAMPLERCUBE; }
1465  YY_BREAK
1466 case 43:
1468 #line 116 "hlsl.l"
1469 {return KW_SAMPLER_STATE; }
1470  YY_BREAK
1471 case 44:
1473 #line 117 "hlsl.l"
1474 {return KW_SAMPLERCOMPARISONSTATE;}
1475  YY_BREAK
1476 case 45:
1478 #line 118 "hlsl.l"
1479 {return KW_SHARED; }
1480  YY_BREAK
1481 case 46:
1483 #line 119 "hlsl.l"
1484 {return KW_STATEBLOCK; }
1485  YY_BREAK
1486 case 47:
1488 #line 120 "hlsl.l"
1489 {return KW_STATEBLOCK_STATE; }
1490  YY_BREAK
1491 case 48:
1493 #line 121 "hlsl.l"
1494 {return KW_STATIC; }
1495  YY_BREAK
1496 case 49:
1498 #line 122 "hlsl.l"
1499 {return KW_STRING; }
1500  YY_BREAK
1501 case 50:
1503 #line 123 "hlsl.l"
1504 {return KW_STRUCT; }
1505  YY_BREAK
1506 case 51:
1508 #line 124 "hlsl.l"
1509 {return KW_SWITCH; }
1510  YY_BREAK
1511 case 52:
1513 #line 125 "hlsl.l"
1514 {return KW_TBUFFER; }
1515  YY_BREAK
1516 case 53:
1518 #line 126 "hlsl.l"
1519 {return KW_TECHNIQUE; }
1520  YY_BREAK
1521 case 54:
1523 #line 127 "hlsl.l"
1524 {return KW_TECHNIQUE10; }
1525  YY_BREAK
1526 case 55:
1528 #line 128 "hlsl.l"
1529 {return KW_TEXTURE; }
1530  YY_BREAK
1531 case 56:
1533 #line 129 "hlsl.l"
1534 {return KW_TEXTURE1D; }
1535  YY_BREAK
1536 case 57:
1538 #line 130 "hlsl.l"
1539 {return KW_TEXTURE1DARRAY; }
1540  YY_BREAK
1541 case 58:
1543 #line 131 "hlsl.l"
1544 {return KW_TEXTURE2D; }
1545  YY_BREAK
1546 case 59:
1548 #line 132 "hlsl.l"
1549 {return KW_TEXTURE2DARRAY; }
1550  YY_BREAK
1551 case 60:
1553 #line 133 "hlsl.l"
1554 {return KW_TEXTURE2DMS; }
1555  YY_BREAK
1556 case 61:
1558 #line 134 "hlsl.l"
1559 {return KW_TEXTURE2DMSARRAY; }
1560  YY_BREAK
1561 case 62:
1563 #line 135 "hlsl.l"
1564 {return KW_TEXTURE3D; }
1565  YY_BREAK
1566 case 63:
1568 #line 136 "hlsl.l"
1569 {return KW_TEXTURE3DARRAY; }
1570  YY_BREAK
1571 case 64:
1573 #line 137 "hlsl.l"
1574 {return KW_TEXTURECUBE; }
1575  YY_BREAK
1576 case 65:
1578 #line 138 "hlsl.l"
1579 {return KW_TRUE; }
1580  YY_BREAK
1581 case 66:
1583 #line 139 "hlsl.l"
1584 {return KW_TYPEDEF; }
1585  YY_BREAK
1586 case 67:
1588 #line 140 "hlsl.l"
1589 {return KW_UNIFORM; }
1590  YY_BREAK
1591 case 68:
1593 #line 141 "hlsl.l"
1594 {return KW_VECTOR; }
1595  YY_BREAK
1596 case 69:
1598 #line 142 "hlsl.l"
1599 {return KW_VERTEXSHADER; }
1600  YY_BREAK
1601 case 70:
1603 #line 143 "hlsl.l"
1604 {return KW_VOID; }
1605  YY_BREAK
1606 case 71:
1608 #line 144 "hlsl.l"
1609 {return KW_VOLATILE; }
1610  YY_BREAK
1611 case 72:
1613 #line 145 "hlsl.l"
1614 {return KW_WHILE; }
1615  YY_BREAK
1616 case 73:
1618 #line 147 "hlsl.l"
1619 {return OP_INC; }
1620  YY_BREAK
1621 case 74:
1623 #line 148 "hlsl.l"
1624 {return OP_DEC; }
1625  YY_BREAK
1626 case 75:
1628 #line 149 "hlsl.l"
1629 {return OP_AND; }
1630  YY_BREAK
1631 case 76:
1633 #line 150 "hlsl.l"
1634 {return OP_OR; }
1635  YY_BREAK
1636 case 77:
1638 #line 151 "hlsl.l"
1639 {return OP_EQ; }
1640  YY_BREAK
1641 case 78:
1643 #line 152 "hlsl.l"
1644 {return OP_LEFTSHIFT; }
1645  YY_BREAK
1646 case 79:
1648 #line 153 "hlsl.l"
1649 {return OP_LEFTSHIFTASSIGN; }
1650  YY_BREAK
1651 case 80:
1653 #line 154 "hlsl.l"
1654 {return OP_RIGHTSHIFT; }
1655  YY_BREAK
1656 case 81:
1658 #line 155 "hlsl.l"
1659 {return OP_RIGHTSHIFTASSIGN; }
1660  YY_BREAK
1661 case 82:
1663 #line 156 "hlsl.l"
1664 {return OP_ELLIPSIS; }
1665  YY_BREAK
1666 case 83:
1668 #line 157 "hlsl.l"
1669 {return OP_LE; }
1670  YY_BREAK
1671 case 84:
1673 #line 158 "hlsl.l"
1674 {return OP_GE; }
1675  YY_BREAK
1676 case 85:
1678 #line 159 "hlsl.l"
1679 {return OP_NE; }
1680  YY_BREAK
1681 case 86:
1683 #line 160 "hlsl.l"
1684 {return OP_ADDASSIGN; }
1685  YY_BREAK
1686 case 87:
1688 #line 161 "hlsl.l"
1689 {return OP_SUBASSIGN; }
1690  YY_BREAK
1691 case 88:
1693 #line 162 "hlsl.l"
1694 {return OP_MULASSIGN; }
1695  YY_BREAK
1696 case 89:
1698 #line 163 "hlsl.l"
1699 {return OP_DIVASSIGN; }
1700  YY_BREAK
1701 case 90:
1703 #line 164 "hlsl.l"
1704 {return OP_MODASSIGN; }
1705  YY_BREAK
1706 case 91:
1708 #line 165 "hlsl.l"
1709 {return OP_ANDASSIGN; }
1710  YY_BREAK
1711 case 92:
1713 #line 166 "hlsl.l"
1714 {return OP_ORASSIGN; }
1715  YY_BREAK
1716 case 93:
1718 #line 167 "hlsl.l"
1719 {return OP_XORASSIGN; }
1720  YY_BREAK
1721 case 94:
1723 #line 168 "hlsl.l"
1724 {return OP_UNKNOWN1; }
1725  YY_BREAK
1726 case 95:
1728 #line 169 "hlsl.l"
1729 {return OP_UNKNOWN2; }
1730  YY_BREAK
1731 case 96:
1733 #line 170 "hlsl.l"
1734 {return OP_UNKNOWN3; }
1735  YY_BREAK
1736 case 97:
1738 #line 171 "hlsl.l"
1739 {return OP_UNKNOWN4; }
1740  YY_BREAK
1741 case 98:
1743 #line 173 "hlsl.l"
1744 {return KW_COLUMN_MAJOR; }
1745  YY_BREAK
1746 case 99:
1748 #line 174 "hlsl.l"
1749 {return KW_ROW_MAJOR; }
1750  YY_BREAK
1751 case 100:
1753 #line 176 "hlsl.l"
1754 {
1756  if (get_variable(hlsl_ctx.cur_scope, hlsl_text)
1758  return VAR_IDENTIFIER;
1759  else if (get_type(hlsl_ctx.cur_scope, hlsl_text, TRUE))
1760  return TYPE_IDENTIFIER;
1761  else
1762  return NEW_IDENTIFIER;
1763  }
1764  YY_BREAK
1765 case 101:
1767 #line 187 "hlsl.l"
1768 {
1770  return C_FLOAT;
1771  }
1772  YY_BREAK
1773 case 102:
1775 #line 191 "hlsl.l"
1776 {
1778  return C_FLOAT;
1779  }
1780  YY_BREAK
1781 case 103:
1783 #line 195 "hlsl.l"
1784 {
1786  return C_FLOAT;
1787  }
1788  YY_BREAK
1789 case 104:
1791 #line 199 "hlsl.l"
1792 {
1793  sscanf(hlsl_text, "0x%x", &hlsl_lval.intval);
1794  return C_INTEGER;
1795  }
1796  YY_BREAK
1797 case 105:
1799 #line 203 "hlsl.l"
1800 {
1801  sscanf(hlsl_text, "0%o", &hlsl_lval.intval);
1802  return C_INTEGER;
1803  }
1804  YY_BREAK
1805 case 106:
1807 #line 207 "hlsl.l"
1808 {
1810  return C_INTEGER;
1811  }
1812  YY_BREAK
1813 case 107:
1815 #line 212 "hlsl.l"
1816 {}
1817  YY_BREAK
1818 case 108:
1820 #line 214 "hlsl.l"
1821 {}
1822  YY_BREAK
1823 case 109:
1824 /* rule 109 can match eol */
1826 #line 215 "hlsl.l"
1827 {
1828  hlsl_ctx.line_no++;
1829  hlsl_ctx.column = 1;
1830  }
1831  YY_BREAK
1832 case 110:
1834 #line 220 "hlsl.l"
1835 {
1836  BEGIN pp;
1837  }
1838  YY_BREAK
1839 case 111:
1841 #line 224 "hlsl.l"
1842 {
1843  TRACE("Got a #pragma.\n");
1844  BEGIN pp_pragma;
1845  }
1846  YY_BREAK
1847 case 112:
1849 #line 228 "hlsl.l"
1850 {
1851  TRACE("#pragma setting row_major mode.\n");
1852  hlsl_ctx.matrix_majority = HLSL_ROW_MAJOR;
1853  BEGIN pp_ignore;
1854  }
1855  YY_BREAK
1856 case 113:
1858 #line 233 "hlsl.l"
1859 {
1860  TRACE("#pragma setting column_major mode.\n");
1861  hlsl_ctx.matrix_majority = HLSL_COLUMN_MAJOR;
1862  BEGIN pp_ignore;
1863  }
1864  YY_BREAK
1865 case 114:
1866 /* rule 114 can match eol */
1868 #line 238 "hlsl.l"
1869 {
1870  FIXME("Unsupported preprocessor #pragma directive at line %u.\n", hlsl_ctx.line_no);
1871  BEGIN INITIAL;
1872  }
1873  YY_BREAK
1874 case 115:
1876 #line 242 "hlsl.l"
1877 {}
1878  YY_BREAK
1879 case 116:
1881 #line 243 "hlsl.l"
1882 {
1883  TRACE("Preprocessor line info.\n");
1884  BEGIN pp_line;
1886  return PRE_LINE;
1887  }
1888  YY_BREAK
1889 case 117:
1890 /* rule 117 can match eol */
1892 #line 249 "hlsl.l"
1893 {
1894  char *string = d3dcompiler_strdup(hlsl_text + 1);
1895 
1896  BEGIN pp_ignore;
1897  string[strlen(string) - 1] = 0;
1898  hlsl_lval.name = string;
1899  return STRING;
1900  }
1901  YY_BREAK
1902 case 118:
1904 #line 257 "hlsl.l"
1905 {}
1906  YY_BREAK
1907 case 119:
1908 /* rule 119 can match eol */
1910 #line 258 "hlsl.l"
1911 {
1912  FIXME("Malformed preprocessor line directive?\n");
1913  BEGIN INITIAL;
1914  }
1915  YY_BREAK
1916 case 120:
1917 /* rule 120 can match eol */
1919 #line 262 "hlsl.l"
1920 {
1921  BEGIN INITIAL;
1922  }
1923  YY_BREAK
1924 case 121:
1926 #line 265 "hlsl.l"
1927 {}
1928  YY_BREAK
1929 case 122:
1930 /* rule 122 can match eol */
1932 #line 266 "hlsl.l"
1933 {
1934  FIXME("Unexpected preprocessor directive.\n");
1935  BEGIN INITIAL;
1936  }
1937  YY_BREAK
1938 case 123:
1940 #line 270 "hlsl.l"
1941 {}
1942  YY_BREAK
1943 case 124:
1945 #line 272 "hlsl.l"
1946 {
1947  return hlsl_text[0];
1948  }
1949  YY_BREAK
1950 case 125:
1952 #line 276 "hlsl.l"
1953 ECHO;
1954  YY_BREAK
1955 #line 1956 "hlsl.yy.c"
1956 case YY_STATE_EOF(INITIAL):
1957 case YY_STATE_EOF(pp):
1958 case YY_STATE_EOF(pp_line):
1959 case YY_STATE_EOF(pp_pragma):
1960 case YY_STATE_EOF(pp_ignore):
1961  yyterminate();
1962 
1963  case YY_END_OF_BUFFER:
1964  {
1965  /* Amount of text matched not including the EOB char. */
1966  int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
1967 
1968  /* Undo the effects of YY_DO_BEFORE_ACTION. */
1969  *yy_cp = (yy_hold_char);
1971 
1972  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
1973  {
1974  /* We're scanning a new file or input source. It's
1975  * possible that this happened because the user
1976  * just pointed hlsl_in at a new source and called
1977  * hlsl_lex(). If so, then we have to assure
1978  * consistency between YY_CURRENT_BUFFER and our
1979  * globals. Here is the right place to do so, because
1980  * this is the first action (other than possibly a
1981  * back-up) that will match for the new input source.
1982  */
1983  (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
1984  YY_CURRENT_BUFFER_LVALUE->yy_input_file = hlsl_in;
1985  YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
1986  }
1987 
1988  /* Note that here we test for yy_c_buf_p "<=" to the position
1989  * of the first EOB in the buffer, since yy_c_buf_p will
1990  * already have been incremented past the NUL character
1991  * (since all states make transitions on EOB to the
1992  * end-of-buffer state). Contrast this with the test
1993  * in input().
1994  */
1995  if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
1996  { /* This was really a NUL. */
1997  yy_state_type yy_next_state;
1998 
1999  (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
2000 
2002 
2003  /* Okay, we're now positioned to make the NUL
2004  * transition. We couldn't have
2005  * yy_get_previous_state() go ahead and do it
2006  * for us because it doesn't know how to deal
2007  * with the possibility of jamming (and we don't
2008  * want to build jamming into it because then it
2009  * will run more slowly).
2010  */
2011 
2012  yy_next_state = yy_try_NUL_trans( yy_current_state );
2013 
2015 
2016  if ( yy_next_state )
2017  {
2018  /* Consume the NUL. */
2019  yy_cp = ++(yy_c_buf_p);
2020  yy_current_state = yy_next_state;
2021  goto yy_match;
2022  }
2023 
2024  else
2025  {
2028  goto yy_find_action;
2029  }
2030  }
2031 
2032  else switch ( yy_get_next_buffer( ) )
2033  {
2034  case EOB_ACT_END_OF_FILE:
2035  {
2037 
2038  if ( hlsl_wrap( ) )
2039  {
2040  /* Note: because we've taken care in
2041  * yy_get_next_buffer() to have set up
2042  * hlsl_text, we can now set up
2043  * yy_c_buf_p so that if some total
2044  * hoser (like flex itself) wants to
2045  * call the scanner after we return the
2046  * YY_NULL, it'll still work - another
2047  * YY_NULL will get returned.
2048  */
2050 
2052  goto do_action;
2053  }
2054 
2055  else
2056  {
2057  if ( ! (yy_did_buffer_switch_on_eof) )
2058  YY_NEW_FILE;
2059  }
2060  break;
2061  }
2062 
2063  case EOB_ACT_CONTINUE_SCAN:
2064  (yy_c_buf_p) =
2065  (yytext_ptr) + yy_amount_of_matched_text;
2066 
2068 
2069  yy_cp = (yy_c_buf_p);
2071  goto yy_match;
2072 
2073  case EOB_ACT_LAST_MATCH:
2074  (yy_c_buf_p) =
2075  &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
2076 
2078 
2079  yy_cp = (yy_c_buf_p);
2081  goto yy_find_action;
2082  }
2083  break;
2084  }
2085 
2086  default:
2088  "fatal flex scanner internal error--no action found" );
2089  } /* end of action switch */
2090  } /* end of scanning one token */
2091 } /* end of hlsl_lex */
2092 
2093 /* yy_get_next_buffer - try to read in a new buffer
2094  *
2095  * Returns a code representing an action:
2096  * EOB_ACT_LAST_MATCH -
2097  * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2098  * EOB_ACT_END_OF_FILE - end of file
2099  */
2100 static int yy_get_next_buffer (void)
2101 {
2102  register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
2103  register char *source = (yytext_ptr);
2104  register int number_to_move, i;
2105  int ret_val;
2106 
2107  if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
2109  "fatal flex scanner internal error--end of buffer missed" );
2110 
2111  if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
2112  { /* Don't try to fill the buffer, so this is an EOF. */
2113  if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
2114  {
2115  /* We matched a single character, the EOB, so
2116  * treat this as a final EOF.
2117  */
2118  return EOB_ACT_END_OF_FILE;
2119  }
2120 
2121  else
2122  {
2123  /* We matched some text prior to the EOB, first
2124  * process it.
2125  */
2126  return EOB_ACT_LAST_MATCH;
2127  }
2128  }
2129 
2130  /* Try to read more data. */
2131 
2132  /* First move last chars to start of buffer. */
2133  number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
2134 
2135  for ( i = 0; i < number_to_move; ++i )
2136  *(dest++) = *(source++);
2137 
2138  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2139  /* don't do the read, it's not guaranteed to return an EOF,
2140  * just force an EOF
2141  */
2142  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
2143 
2144  else
2145  {
2146  yy_size_t num_to_read =
2147  YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
2148 
2149  while ( num_to_read <= 0 )
2150  { /* Not enough room in the buffer - grow it. */
2151 
2152  /* just a shorter name for the current buffer */
2154 
2155  int yy_c_buf_p_offset =
2156  (int) ((yy_c_buf_p) - b->yy_ch_buf);
2157 
2158  if ( b->yy_is_our_buffer )
2159  {
2160  yy_size_t new_size = b->yy_buf_size * 2;
2161 
2162  if ( new_size <= 0 )
2163  b->yy_buf_size += b->yy_buf_size / 8;
2164  else
2165  b->yy_buf_size *= 2;
2166 
2167  b->yy_ch_buf = (char *)
2168  /* Include room in for 2 EOB chars. */
2169  hlsl_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
2170  }
2171  else
2172  /* Can't grow it, we don't own it. */
2173  b->yy_ch_buf = 0;
2174 
2175  if ( ! b->yy_ch_buf )
2177  "fatal error - scanner input buffer overflow" );
2178 
2179  (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
2180 
2181  num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
2182  number_to_move - 1;
2183 
2184  }
2185 
2186  if ( num_to_read > YY_READ_BUF_SIZE )
2187  num_to_read = YY_READ_BUF_SIZE;
2188 
2189  /* Read in more data. */
2190  YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
2191  (yy_n_chars), num_to_read );
2192 
2193  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2194  }
2195 
2196  if ( (yy_n_chars) == 0 )
2197  {
2198  if ( number_to_move == YY_MORE_ADJ )
2199  {
2200  ret_val = EOB_ACT_END_OF_FILE;
2202  }
2203 
2204  else
2205  {
2206  ret_val = EOB_ACT_LAST_MATCH;
2207  YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
2209  }
2210  }
2211 
2212  else
2213  ret_val = EOB_ACT_CONTINUE_SCAN;
2214 
2215  if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
2216  /* Extend the array by 50%, plus the number we really need. */
2217  yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
2218  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) hlsl_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
2219  if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
2220  YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
2221  }
2222 
2223  (yy_n_chars) += number_to_move;
2226 
2227  (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
2228 
2229  return ret_val;
2230 }
2231 
2232 /* yy_get_previous_state - get the state just before the EOB char was reached */
2233 
2235 {
2237  register char *yy_cp;
2238 
2241 
2242  for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
2243  {
2244  register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2245  if ( yy_accept[yy_current_state] )
2246  {
2249  }
2250  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2251  {
2253  if ( yy_current_state >= 717 )
2254  yy_c = yy_meta[(unsigned int) yy_c];
2255  }
2256  yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2257  }
2258 
2259  return yy_current_state;
2260 }
2261 
2262 /* yy_try_NUL_trans - try to make a transition on the NUL character
2263  *
2264  * synopsis
2265  * next_state = yy_try_NUL_trans( current_state );
2266  */
2268 {
2269  register int yy_is_jam;
2270  register char *yy_cp = (yy_c_buf_p);
2271 
2272  register YY_CHAR yy_c = 1;
2273  if ( yy_accept[yy_current_state] )
2274  {
2277  }
2278  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2279  {
2281  if ( yy_current_state >= 717 )
2282  yy_c = yy_meta[(unsigned int) yy_c];
2283  }
2284  yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2285  yy_is_jam = (yy_current_state == 716);
2286 
2287  return yy_is_jam ? 0 : yy_current_state;
2288 }
2289 
2290 #ifndef YY_NO_INPUT
2291 #ifdef __cplusplus
2292  static int yyinput (void)
2293 #else
2294  static int input (void)
2295 #endif
2296 
2297 {
2298  int c;
2299 
2300  *(yy_c_buf_p) = (yy_hold_char);
2301 
2302  if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
2303  {
2304  /* yy_c_buf_p now points to the character we want to return.
2305  * If this occurs *before* the EOB characters, then it's a
2306  * valid NUL; if not, then we've hit the end of the buffer.
2307  */
2308  if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2309  /* This was really a NUL. */
2310  *(yy_c_buf_p) = '\0';
2311 
2312  else
2313  { /* need more input */
2315  ++(yy_c_buf_p);
2316 
2317  switch ( yy_get_next_buffer( ) )
2318  {
2319  case EOB_ACT_LAST_MATCH:
2320  /* This happens because yy_g_n_b()
2321  * sees that we've accumulated a
2322  * token and flags that we need to
2323  * try matching the token before
2324  * proceeding. But for input(),
2325  * there's no matching to consider.
2326  * So convert the EOB_ACT_LAST_MATCH
2327  * to EOB_ACT_END_OF_FILE.
2328  */
2329 
2330  /* Reset buffer status. */
2332 
2333  /*FALLTHROUGH*/
2334 
2335  case EOB_ACT_END_OF_FILE:
2336  {
2337  if ( hlsl_wrap( ) )
2338  return EOF;
2339 
2340  if ( ! (yy_did_buffer_switch_on_eof) )
2341  YY_NEW_FILE;
2342 #ifdef __cplusplus
2343  return yyinput();
2344 #else
2345  return input();
2346 #endif
2347  }
2348 
2349  case EOB_ACT_CONTINUE_SCAN:
2350  (yy_c_buf_p) = (yytext_ptr) + offset;
2351  break;
2352  }
2353  }
2354  }
2355 
2356  c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
2357  *(yy_c_buf_p) = '\0'; /* preserve hlsl_text */
2358  (yy_hold_char) = *++(yy_c_buf_p);
2359 
2360  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
2361 
2362  return c;
2363 }
2364 #endif /* ifndef YY_NO_INPUT */
2365 
2371  void hlsl_restart (FILE * input_file )
2372 {
2373 
2374  if ( ! YY_CURRENT_BUFFER ){
2378  }
2379 
2380  hlsl__init_buffer(YY_CURRENT_BUFFER,input_file );
2382 }
2383 
2389 {
2390 
2391  /* TODO. We should be able to replace this entire function body
2392  * with
2393  * hlsl_pop_buffer_state();
2394  * hlsl_push_buffer_state(new_buffer);
2395  */
2397  if ( YY_CURRENT_BUFFER == new_buffer )
2398  return;
2399 
2400  if ( YY_CURRENT_BUFFER )
2401  {
2402  /* Flush out information for old buffer. */
2403  *(yy_c_buf_p) = (yy_hold_char);
2404  YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2405  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2406  }
2407 
2408  YY_CURRENT_BUFFER_LVALUE = new_buffer;
2410 
2411  /* We don't actually know whether we did this switch during
2412  * EOF (hlsl_wrap()) processing, but the only time this flag
2413  * is looked at is after hlsl_wrap() is called, so it's safe
2414  * to go ahead and always set it.
2415  */
2417 }
2418 
2419 static void hlsl__load_buffer_state (void)
2420 {
2421  (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2422  (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
2423  hlsl_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
2424  (yy_hold_char) = *(yy_c_buf_p);
2425 }
2426 
2434 {
2436 
2437  b = (YY_BUFFER_STATE) hlsl_alloc(sizeof( struct yy_buffer_state ) );
2438  if ( ! b )
2439  YY_FATAL_ERROR( "out of dynamic memory in hlsl__create_buffer()" );
2440 
2441  b->yy_buf_size = size;
2442 
2443  /* yy_ch_buf has to be 2 characters longer than the size given because
2444  * we need to put in 2 end-of-buffer characters.
2445  */
2446  b->yy_ch_buf = (char *) hlsl_alloc(b->yy_buf_size + 2 );
2447  if ( ! b->yy_ch_buf )
2448  YY_FATAL_ERROR( "out of dynamic memory in hlsl__create_buffer()" );
2449 
2450  b->yy_is_our_buffer = 1;
2451 
2453 
2454  return b;
2455 }
2456 
2462 {
2463 
2464  if ( ! b )
2465  return;
2466 
2467  if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
2469 
2470  if ( b->yy_is_our_buffer )
2471  hlsl_free((void *) b->yy_ch_buf );
2472 
2473  hlsl_free((void *) b );
2474 }
2475 
2476 /* Initializes or reinitializes a buffer.
2477  * This function is sometimes called more than once on the same buffer,
2478  * such as during a hlsl_restart() or at EOF.
2479  */
2481 
2482 {
2483  int oerrno = errno;
2484 
2486 
2487  b->yy_input_file = file;
2488  b->yy_fill_buffer = 1;
2489 
2490  /* If b is the current buffer, then hlsl__init_buffer was _probably_
2491  * called from hlsl_restart() or through yy_get_next_buffer.
2492  * In that case, we don't want to reset the lineno or column.
2493  */
2494  if (b != YY_CURRENT_BUFFER){
2495  b->yy_bs_lineno = 1;
2496  b->yy_bs_column = 0;
2497  }
2498 
2499  b->yy_is_interactive = 0;
2500 
2501  errno = oerrno;
2502 }
2503 
2509 {
2510  if ( ! b )
2511  return;
2512 
2513  b->yy_n_chars = 0;
2514 
2515  /* We always need two end-of-buffer characters. The first causes
2516  * a transition to the end-of-buffer state. The second causes
2517  * a jam in that state.
2518  */
2519  b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2520  b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2521 
2522  b->yy_buf_pos = &b->yy_ch_buf[0];
2523 
2524  b->yy_at_bol = 1;
2525  b->yy_buffer_status = YY_BUFFER_NEW;
2526 
2527  if ( b == YY_CURRENT_BUFFER )
2529 }
2530 
2538 {
2539  if (new_buffer == NULL)
2540  return;
2541 
2543 
2544  /* This block is copied from hlsl__switch_to_buffer. */
2545  if ( YY_CURRENT_BUFFER )
2546  {
2547  /* Flush out information for old buffer. */
2548  *(yy_c_buf_p) = (yy_hold_char);
2549  YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2550  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2551  }
2552 
2553  /* Only push if top exists. Otherwise, replace top. */
2554  if (YY_CURRENT_BUFFER)
2555  (yy_buffer_stack_top)++;
2556  YY_CURRENT_BUFFER_LVALUE = new_buffer;
2557 
2558  /* copied from hlsl__switch_to_buffer. */
2561 }
2562 
2568 {
2569  if (!YY_CURRENT_BUFFER)
2570  return;
2571 
2574  if ((yy_buffer_stack_top) > 0)
2575  --(yy_buffer_stack_top);
2576 
2577  if (YY_CURRENT_BUFFER) {
2580  }
2581 }
2582 
2583 /* Allocates the stack if it does not exist.
2584  * Guarantees space for at least one push.
2585  */
2586 static void hlsl_ensure_buffer_stack (void)
2587 {
2588  yy_size_t num_to_alloc;
2589 
2590  if (!(yy_buffer_stack)) {
2591 
2592  /* First allocation is just for 2 elements, since we don't know if this
2593  * scanner will even need a stack. We use 2 instead of 1 to avoid an
2594  * immediate realloc on the next call.
2595  */
2596  num_to_alloc = 1;
2598  (num_to_alloc * sizeof(struct yy_buffer_state*)
2599  );
2600  if ( ! (yy_buffer_stack) )
2601  YY_FATAL_ERROR( "out of dynamic memory in hlsl_ensure_buffer_stack()" );
2602 
2603  memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
2604 
2605  (yy_buffer_stack_max) = num_to_alloc;
2606  (yy_buffer_stack_top) = 0;
2607  return;
2608  }
2609 
2610  if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
2611 
2612  /* Increase the buffer to prepare for a possible push. */
2613  int grow_size = 8 /* arbitrary grow size */;
2614 
2615  num_to_alloc = (yy_buffer_stack_max) + grow_size;
2617  ((yy_buffer_stack),
2618  num_to_alloc * sizeof(struct yy_buffer_state*)
2619  );
2620  if ( ! (yy_buffer_stack) )
2621  YY_FATAL_ERROR( "out of dynamic memory in hlsl_ensure_buffer_stack()" );
2622 
2623  /* zero only the new slots.*/
2624  memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
2625  (yy_buffer_stack_max) = num_to_alloc;
2626  }
2627 }
2628 
2636 {
2638 
2639  if ( size < 2 ||
2642  /* They forgot to leave room for the EOB's. */
2643  return 0;
2644 
2645  b = (YY_BUFFER_STATE) hlsl_alloc(sizeof( struct yy_buffer_state ) );
2646  if ( ! b )
2647  YY_FATAL_ERROR( "out of dynamic memory in hlsl__scan_buffer()" );
2648 
2649  b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2650  b->yy_buf_pos = b->yy_ch_buf = base;
2651  b->yy_is_our_buffer = 0;
2652  b->yy_input_file = 0;
2653  b->yy_n_chars = b->yy_buf_size;
2654  b->yy_is_interactive = 0;
2655  b->yy_at_bol = 1;
2656  b->yy_fill_buffer = 0;
2657  b->yy_buffer_status = YY_BUFFER_NEW;
2658 
2660 
2661  return b;
2662 }
2663 
2673 {
2674 
2675  return hlsl__scan_bytes(yystr,strlen(yystr) );
2676 }
2677 
2685 YY_BUFFER_STATE hlsl__scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len )
2686 {
2688  char *buf;
2689  yy_size_t n;
2690  yy_size_t i;
2691 
2692  /* Get memory for full buffer, including space for trailing EOB's. */
2693  n = _yybytes_len + 2;
2694  buf = (char *) hlsl_alloc(n );
2695  if ( ! buf )
2696  YY_FATAL_ERROR( "out of dynamic memory in hlsl__scan_bytes()" );
2697 
2698  for ( i = 0; i < _yybytes_len; ++i )
2699  buf[i] = yybytes[i];
2700 
2701  buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
2702 
2703  b = hlsl__scan_buffer(buf,n );
2704  if ( ! b )
2705  YY_FATAL_ERROR( "bad buffer in hlsl__scan_bytes()" );
2706 
2707  /* It's okay to grow etc. this buffer, and we should throw it
2708  * away when we're done.
2709  */
2710  b->yy_is_our_buffer = 1;
2711 
2712  return b;
2713 }
2714 
2715 #ifndef YY_EXIT_FAILURE
2716 #define YY_EXIT_FAILURE 2
2717 #endif
2718 
2719 static void yy_fatal_error (yyconst char* msg )
2720 {
2721  (void) fprintf( stderr, "%s\n", msg );
2722  exit( YY_EXIT_FAILURE );
2723 }
2724 
2725 /* Redefine yyless() so it works in section 3 code. */
2726 
2727 #undef yyless
2728 #define yyless(n) \
2729  do \
2730  { \
2731  /* Undo effects of setting up hlsl_text. */ \
2732  int yyless_macro_arg = (n); \
2733  YY_LESS_LINENO(yyless_macro_arg);\
2734  hlsl_text[hlsl_leng] = (yy_hold_char); \
2735  (yy_c_buf_p) = hlsl_text + yyless_macro_arg; \
2736  (yy_hold_char) = *(yy_c_buf_p); \
2737  *(yy_c_buf_p) = '\0'; \
2738  hlsl_leng = yyless_macro_arg; \
2739  } \
2740  while ( 0 )
2741 
2742 /* Accessor methods (get/set functions) to struct members. */
2743 
2748 {
2749 
2750  return hlsl_lineno;
2751 }
2752 
2757 {
2758  return hlsl_in;
2759 }
2760 
2765 {
2766  return hlsl_out;
2767 }
2768 
2773 {
2774  return hlsl_leng;
2775 }
2776 
2781 char *hlsl_get_text (void)
2782 {
2783  return hlsl_text;
2784 }
2785 
2791 {
2792 
2794 }
2795 
2802 void hlsl_set_in (FILE * in_str )
2803 {
2804  hlsl_in = in_str ;
2805 }
2806 
2807 void hlsl_set_out (FILE * out_str )
2808 {
2809  hlsl_out = out_str ;
2810 }
2811 
2812 int hlsl_get_debug (void)
2813 {
2814  return hlsl__flex_debug;
2815 }
2816 
2817 void hlsl_set_debug (int bdebug )
2818 {
2819  hlsl__flex_debug = bdebug ;
2820 }
2821 
2822 static int yy_init_globals (void)
2823 {
2824  /* Initialization is the same as for the non-reentrant scanner.
2825  * This function is called from hlsl_lex_destroy(), so don't allocate here.
2826  */
2827 
2828  (yy_buffer_stack) = 0;
2829  (yy_buffer_stack_top) = 0;
2830  (yy_buffer_stack_max) = 0;
2831  (yy_c_buf_p) = (char *) 0;
2832  (yy_init) = 0;
2833  (yy_start) = 0;
2834 
2835 /* Defined in main.c */
2836 #ifdef YY_STDINIT
2837  hlsl_in = stdin;
2838  hlsl_out = stdout;
2839 #else
2840  hlsl_in = (FILE *) 0;
2841  hlsl_out = (FILE *) 0;
2842 #endif
2843 
2844  /* For future reference: Set errno on error, since we are called by
2845  * hlsl_lex_init()
2846  */
2847  return 0;
2848 }
2849 
2850 /* hlsl_lex_destroy is for both reentrant and non-reentrant scanners. */
2852 {
2853 
2854  /* Pop the buffer stack, destroying each element. */
2855  while(YY_CURRENT_BUFFER){
2859  }
2860 
2861  /* Destroy the stack itself. */
2863  (yy_buffer_stack) = NULL;
2864 
2865  /* Reset the globals. This is important in a non-reentrant scanner so the next time
2866  * hlsl_lex() is called, initialization will occur. */
2867  yy_init_globals( );
2868 
2869  return 0;
2870 }
2871 
2872 /*
2873  * Internal utility routines.
2874  */
2875 
2876 #ifndef yytext_ptr
2877 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
2878 {
2879  register int i;
2880  for ( i = 0; i < n; ++i )
2881  s1[i] = s2[i];
2882 }
2883 #endif
2884 
2885 #ifdef YY_NEED_STRLEN
2886 static int yy_flex_strlen (yyconst char * s )
2887 {
2888  register int n;
2889  for ( n = 0; s[n]; ++n )
2890  ;
2891 
2892  return n;
2893 }
2894 #endif
2895 
2897 {
2898  return (void *) malloc( size );
2899 }
2900 
2901 void *hlsl_realloc (void * ptr, yy_size_t size )
2902 {
2903  /* The cast to (char *) in the following accommodates both
2904  * implementations that use char* generic pointers, and those
2905  * that use void* generic pointers. It works with the latter
2906  * because both ANSI C and C++ allow castless assignment from
2907  * any pointer type to void*, and deal with argument conversions
2908  * as though doing an assignment.
2909  */
2910  return (void *) realloc( (char *) ptr, size );
2911 }
2912 
2913 void hlsl_free (void * ptr )
2914 {
2915  free( (char *) ptr ); /* see hlsl_realloc() for (char *) cast */
2916 }
2917 
2918 #define YYTABLES_NAME "yytables"
2919 
2920 #line 275 "hlsl.l"
2921 
2922 
2923 
2925  const char *entrypoint, char **messages);
2926 
2928  const char *entrypoint, char **messages)
2929 {
2930  struct bwriter_shader *ret = NULL;
2932 
2935 
2936  ret = parse_hlsl(type, major, minor, entrypoint, messages);
2937 
2939  return ret;
2940 }
2941 
#define realloc
Definition: debug_ros.c:6
#define YY_INPUT(buf, result, max_size)
Definition: hlsl.yy.c:1073
char * name
Definition: hlsl.tab.c:1109
FILE * yy_input_file
Definition: macro.lex.yy.c:192
unsigned char flex_uint8_t
Definition: hlsl.yy.c:73
yy_size_t yy_n_chars
Definition: macro.lex.yy.c:205
struct S2 s2
#define TRUE
Definition: types.h:120
char * hlsl_get_text(void)
Definition: hlsl.yy.c:2781
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:49
#define OP_EQ
Definition: query.h:36
#define yyconst
Definition: hlsl.yy.c:128
#define OP_GE
Definition: query.h:42
int hlsl_get_lineno(void)
Definition: hlsl.yy.c:2747
FILE * hlsl_get_in(void)
Definition: hlsl.yy.c:2756
short int flex_int16_t
Definition: hlsl.yy.c:71
static yyconst flex_int16_t yy_accept[717]
Definition: hlsl.yy.c:395
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
int hlsl_get_debug(void)
Definition: hlsl.yy.c:2812
void hlsl__switch_to_buffer(YY_BUFFER_STATE new_buffer)
Definition: hlsl.yy.c:2388
static void hlsl__load_buffer_state(void)
Definition: hlsl.yy.c:2419
const WCHAR * text
Definition: package.c:1827
void hlsl_set_lineno(int line_number)
Definition: hlsl.yy.c:2790
void hlsl_set_in(FILE *in_str)
Definition: hlsl.yy.c:2802
static yy_state_type yy_get_previous_state(void)
Definition: hlsl.yy.c:2234
static void hlsl__init_buffer(YY_BUFFER_STATE b, FILE *file)
Definition: hlsl.yy.c:2480
void hlsl_pop_buffer_state(void)
Definition: hlsl.yy.c:2567
#define free
Definition: debug_ros.c:5
#define YY_BUFFER_NEW
Definition: hlsl.yy.c:255
static int yy_did_buffer_switch_on_eof
Definition: hlsl.yy.c:305
GLintptr offset
Definition: glext.h:5920
#define YY_READ_BUF_SIZE
Definition: hlsl.yy.c:1058
int flex_int32_t
Definition: hlsl.yy.c:72
GLdouble n
Definition: glext.h:7729
static char yy_hold_char
Definition: hlsl.yy.c:293
size_t yy_size_t
Definition: macro.lex.yy.c:159
static char * yy_last_accepting_cpos
Definition: hlsl.yy.c:921
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLuint buffer
Definition: glext.h:5915
FILE * stdin
void hlsl_push_buffer_state(YY_BUFFER_STATE new_buffer)
Definition: hlsl.yy.c:2537
void hlsl__delete_buffer(YY_BUFFER_STATE b)
Definition: hlsl.yy.c:2461
YY_BUFFER_STATE hlsl__scan_bytes(yyconst char *bytes, yy_size_t len)
Definition: hlsl.yy.c:2685
int line_number
Definition: parser.yy.c:775
#define YY_END_OF_BUFFER
Definition: hlsl.yy.c:387
void * hlsl_alloc(yy_size_t)
Definition: hlsl.yy.c:2896
int errno
unsigned short int uint16_t
Definition: acefiex.h:54
#define yy_current_state()
Definition: ppl.yy.c:1235
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:2927
void hlsl_message(const char *fmt,...) PRINTF_ATTR(1
#define YY_MORE_ADJ
Definition: hlsl.yy.c:931
unsigned short int flex_uint16_t
Definition: hlsl.yy.c:74
FILE * stdout
#define OP_AND
Definition: query.h:37
void hlsl__flush_buffer(YY_BUFFER_STATE b)
Definition: hlsl.yy.c:2508
struct hlsl_ir_var * get_variable(struct hlsl_scope *scope, const char *name) DECLSPEC_HIDDEN
Definition: utils.c:787
#define YY_SC_TO_UI(c)
Definition: hlsl.yy.c:139
_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:369
#define yyterminate()
Definition: hlsl.yy.c:1110
void hlsl_set_debug(int debug_flag)
Definition: hlsl.yy.c:2817
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
void hlsl_restart(FILE *input_file)
Definition: hlsl.yy.c:2371
static unsigned char bytes[4]
Definition: adnsresfilter.c:74
register char * yy_cp
Definition: hlsl.yy.c:1159
GLuint base
Definition: 3dtext.c:35
_Check_return_opt_ _CRTIMP int __cdecl fprintf(_Inout_ FILE *_File, _In_z_ _Printf_format_string_ const char *_Format,...)
FILE * hlsl_in
Definition: hlsl.yy.c:360
void hlsl_set_out(FILE *out_str)
Definition: hlsl.yy.c:2807
#define FIXME(fmt,...)
Definition: debug.h:110
static PVOID ptr
Definition: dispmode.c:27
#define pp
Definition: hlsl.yy.c:978
static yy_state_type yy_try_NUL_trans(yy_state_type current_state)
Definition: hlsl.yy.c:2267
int yy_state_type
Definition: macro.lex.yy.c:340
smooth NULL
Definition: ftsmooth.c:416
#define YY_BUF_SIZE
Definition: hlsl.yy.c:164
void hlsl_free(void *)
Definition: hlsl.yy.c:2913
unsigned char YY_CHAR
Definition: hlsl.yy.c:358
#define EOB_ACT_LAST_MATCH
Definition: hlsl.yy.c:187
static yyconst flex_int16_t yy_base[725]
Definition: hlsl.yy.c:522
WINE_DEFAULT_DEBUG_CHANNEL(hlsl_parser)
#define OP_NE
Definition: query.h:43
_Check_return_ _CRTIMP int __cdecl sscanf(_In_z_ const char *_Src, _In_z_ _Scanf_format_string_ const char *_Format,...)
#define b
Definition: ke_i.h:79
static int yy_init
Definition: hlsl.yy.c:299
YY_BUFFER_STATE hlsl__create_buffer(FILE *file, int size)
Definition: hlsl.yy.c:2433
int yy_state_type
Definition: hlsl.yy.c:362
static void hlsl_ensure_buffer_stack(void)
Definition: hlsl.yy.c:2586
#define BEGIN
Definition: hlsl.yy.c:145
#define pp_ignore
Definition: hlsl.yy.c:981
static yyconst flex_int32_t yy_ec[256]
Definition: hlsl.yy.c:478
#define YY_DECL
Definition: hlsl.yy.c:1133
#define EOB_ACT_END_OF_FILE
Definition: hlsl.yy.c:186
FILE * hlsl_out
Definition: hlsl.yy.c:360
signed char int8_t
Definition: acefiex.h:50
GLboolean GLboolean GLboolean b
Definition: glext.h:6204
#define TRACE(s)
Definition: solgame.cpp:4
GLsizeiptr size
Definition: glext.h:5919
static char * d3dcompiler_strdup(const char *string)
struct S1 s1
#define YY_CURRENT_BUFFER_LVALUE
Definition: hlsl.yy.c:290
#define YY_START
Definition: hlsl.yy.c:151
FILE * hlsl_get_out(void)
Definition: hlsl.yy.c:2764
const char file[]
Definition: icontest.c:11
#define YY_RULE_SETUP
Definition: hlsl.yy.c:1148
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:273
#define EOB_ACT_CONTINUE_SCAN
Definition: hlsl.yy.c:185
#define STRING(String)
short int flex_int16_t
Definition: macro.lex.yy.c:52
static yyconst flex_int16_t yy_chk[1011]
Definition: hlsl.yy.c:805
#define OP_LE
Definition: query.h:41
int flex_int32_t
Definition: macro.lex.yy.c:53
FLOAT floatval
Definition: hlsl.tab.c:1107
struct hlsl_parse_ctx hlsl_ctx
Definition: hlsl.tab.c:87
int ret
register int yy_act
Definition: hlsl.yy.c:1160
YYSTYPE hlsl_lval
BOOL find_function(const char *name) DECLSPEC_HIDDEN
Definition: utils.c:855
#define YY_BUFFER_EOF_PENDING
Definition: hlsl.yy.c:267
#define YY_BUFFER_NORMAL
Definition: hlsl.yy.c:256
GLenum GLsizei len
Definition: glext.h:6722
static size_t yy_buffer_stack_max
Definition: hlsl.yy.c:274
INT intval
Definition: hlsl.tab.c:1106
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:1066
#define YY_BREAK
Definition: hlsl.yy.c:1145
BYTE uint8_t
Definition: msvideo1.c:66
#define YY_END_OF_BUFFER_CHAR
Definition: hlsl.yy.c:160
YY_EXTRA_TYPE hlsl_get_extra(void)
static yyconst flex_int16_t yy_nxt[1011]
Definition: hlsl.yy.c:690
int hlsl__flex_debug
Definition: hlsl.yy.c:924
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:173
static void yy_fatal_error(yyconst char msg[])
register char * yy_bp
Definition: hlsl.yy.c:1159
#define YY_EXIT_FAILURE
Definition: hlsl.yy.c:2716
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:920
int hlsl_lineno
Definition: hlsl.yy.c:366
#define major(rdev)
Definition: propsheet.cpp:879
YY_BUFFER_STATE hlsl__scan_string(yyconst char *yy_str)
Definition: hlsl.yy.c:2672
void hlsl_set_extra(YY_EXTRA_TYPE user_defined)
yy_size_t hlsl_get_leng(void)
Definition: hlsl.yy.c:2772
static char * yy_c_buf_p
Definition: hlsl.yy.c:298
#define INITIAL
Definition: hlsl.yy.c:977
void * hlsl_realloc(void *, yy_size_t)
Definition: hlsl.yy.c:2901
#define YY_RESTORE_YY_MORE_OFFSET
Definition: hlsl.yy.c:932
#define YY_EXTRA_TYPE
Definition: hlsl.yy.c:992
static YY_BUFFER_STATE * yy_buffer_stack
Definition: hlsl.yy.c:275
UINT32 uint32_t
Definition: types.h:75
#define YY_CURRENT_BUFFER
Definition: hlsl.yy.c:283
flex_int32_t yy_nxt
Definition: macro.lex.yy.c:371
static yyconst flex_int16_t yy_def[725]
Definition: hlsl.yy.c:606
#define OP_OR
Definition: query.h:38
YY_BUFFER_STATE hlsl__scan_buffer(char *base, yy_size_t size)
Definition: hlsl.yy.c:2635
#define msg(x)
Definition: auth_time.c:54
_Check_return_ int __cdecl atoi(_In_z_ const char *_Str)
#define EOF
Definition: stdio.h:24
unsigned int flex_uint32_t
Definition: hlsl.yy.c:75
size_t yy_size_t
Definition: hlsl.yy.c:178
static int yy_get_next_buffer(void)
Definition: hlsl.yy.c:2100
yy_size_t hlsl_leng
Definition: hlsl.yy.c:295
#define c
Definition: ke_i.h:80
FILE * stderr
#define minor(rdev)
Definition: propsheet.cpp:880
struct hlsl_type * get_type(struct hlsl_scope *scope, const char *name, BOOL recursive) DECLSPEC_HIDDEN
Definition: utils.c:844
#define malloc
Definition: debug_ros.c:4
INT16 int16_t
Definition: types.h:70
static char * dest
Definition: rtl.c:135
#define hlsl_wrap()
Definition: hlsl.yy.c:355
#define pp_pragma
Definition: hlsl.yy.c:980
int hlsl_lex_destroy(void)
Definition: hlsl.yy.c:2851
void exit(int exitcode)
Definition: _exit.c:33
#define YY_STATE_EOF(state)
Definition: hlsl.yy.c:155
#define pp_line
Definition: hlsl.yy.c:979
#define YY_FATAL_ERROR(msg)
Definition: hlsl.yy.c:1120
static int yy_init_globals(void)
Definition: hlsl.yy.c:2822
static yy_size_t yy_n_chars
Definition: hlsl.yy.c:294
#define YY_NEW_FILE
Definition: hlsl.yy.c:158
#define memset(x, y, z)
Definition: compat.h:39
char * hlsl_text
Definition: hlsl.yy.c:933
static yyconst flex_int32_t yy_meta[72]
Definition: hlsl.yy.c:510
int hlsl_lex(void)
signed char flex_int8_t
Definition: hlsl.yy.c:70
#define YY_AT_BOL()
Definition: hlsl.yy.c:351
struct bwriter_shader * parse_hlsl(enum shader_type type, DWORD major, DWORD minor, const char *entrypoint, char **messages)
Definition: hlsl.tab.c:4891
#define YY_DO_BEFORE_ACTION
Definition: hlsl.yy.c:379
static int yy_start
Definition: hlsl.yy.c:300
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
Definition: typeof.h:31
Definition: fci.c:126