You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

5072 lines
152 KiB

  1. #line 2 "generated/lolfx-scanner.cpp"
  2. #line 4 "generated/lolfx-scanner.cpp"
  3. #define YY_INT_ALIGNED short int
  4. /* A lexical scanner generated by flex */
  5. #define FLEX_SCANNER
  6. #define YY_FLEX_MAJOR_VERSION 2
  7. #define YY_FLEX_MINOR_VERSION 5
  8. #define YY_FLEX_SUBMINOR_VERSION 35
  9. #if YY_FLEX_SUBMINOR_VERSION > 0
  10. #define FLEX_BETA
  11. #endif
  12. /* The c++ scanner is a mess. The FlexLexer.h header file relies on the
  13. * following macro. This is required in order to pass the c++-multiple-scanners
  14. * test in the regression suite. We get reports that it breaks inheritance.
  15. * We will address this in a future release of flex, or omit the C++ scanner
  16. * altogether.
  17. */
  18. #define yyFlexLexer LolFxFlexLexer
  19. /* First, we deal with platform-specific or compiler-specific issues. */
  20. /* begin standard C headers. */
  21. /* end standard C headers. */
  22. /* flex integer type definitions */
  23. #ifndef FLEXINT_H
  24. #define FLEXINT_H
  25. /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
  26. #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
  27. /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
  28. * if you want the limit (max/min) macros for int types.
  29. */
  30. #ifndef __STDC_LIMIT_MACROS
  31. #define __STDC_LIMIT_MACROS 1
  32. #endif
  33. #include <inttypes.h>
  34. typedef int8_t flex_int8_t;
  35. typedef uint8_t flex_uint8_t;
  36. typedef int16_t flex_int16_t;
  37. typedef uint16_t flex_uint16_t;
  38. typedef int32_t flex_int32_t;
  39. typedef uint32_t flex_uint32_t;
  40. #else
  41. typedef signed char flex_int8_t;
  42. typedef short int flex_int16_t;
  43. typedef int flex_int32_t;
  44. typedef unsigned char flex_uint8_t;
  45. typedef unsigned short int flex_uint16_t;
  46. typedef unsigned int flex_uint32_t;
  47. /* Limits of integral types. */
  48. #ifndef INT8_MIN
  49. #define INT8_MIN (-128)
  50. #endif
  51. #ifndef INT16_MIN
  52. #define INT16_MIN (-32767-1)
  53. #endif
  54. #ifndef INT32_MIN
  55. #define INT32_MIN (-2147483647-1)
  56. #endif
  57. #ifndef INT8_MAX
  58. #define INT8_MAX (127)
  59. #endif
  60. #ifndef INT16_MAX
  61. #define INT16_MAX (32767)
  62. #endif
  63. #ifndef INT32_MAX
  64. #define INT32_MAX (2147483647)
  65. #endif
  66. #ifndef UINT8_MAX
  67. #define UINT8_MAX (255U)
  68. #endif
  69. #ifndef UINT16_MAX
  70. #define UINT16_MAX (65535U)
  71. #endif
  72. #ifndef UINT32_MAX
  73. #define UINT32_MAX (4294967295U)
  74. #endif
  75. #endif /* ! C99 */
  76. #endif /* ! FLEXINT_H */
  77. /* begin standard C++ headers. */
  78. #include <iostream>
  79. #include <errno.h>
  80. #include <cstdlib>
  81. #include <cstdio>
  82. #include <cstring>
  83. /* end standard C++ headers. */
  84. #ifdef __cplusplus
  85. /* The "const" storage-class-modifier is valid. */
  86. #define YY_USE_CONST
  87. #else /* ! __cplusplus */
  88. /* C99 requires __STDC__ to be defined as 1. */
  89. #if defined (__STDC__)
  90. #define YY_USE_CONST
  91. #endif /* defined (__STDC__) */
  92. #endif /* ! __cplusplus */
  93. #ifdef YY_USE_CONST
  94. #define yyconst const
  95. #else
  96. #define yyconst
  97. #endif
  98. /* Returned upon end-of-file. */
  99. #define YY_NULL 0
  100. /* Promotes a possibly negative, possibly signed char to an unsigned
  101. * integer for use as an array index. If the signed char is negative,
  102. * we want to instead treat it as an 8-bit unsigned char, hence the
  103. * double cast.
  104. */
  105. #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
  106. /* Enter a start condition. This macro really ought to take a parameter,
  107. * but we do it the disgusting crufty way forced on us by the ()-less
  108. * definition of BEGIN.
  109. */
  110. #define BEGIN (yy_start) = 1 + 2 *
  111. /* Translate the current start state into a value that can be later handed
  112. * to BEGIN to return to the state. The YYSTATE alias is for lex
  113. * compatibility.
  114. */
  115. #define YY_START (((yy_start) - 1) / 2)
  116. #define YYSTATE YY_START
  117. /* Action number for EOF rule of a given start state. */
  118. #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
  119. /* Special action meaning "start processing a new file". */
  120. #define YY_NEW_FILE yyrestart( yyin )
  121. #define YY_END_OF_BUFFER_CHAR 0
  122. /* Size of default input buffer. */
  123. #ifndef YY_BUF_SIZE
  124. #ifdef __ia64__
  125. /* On IA-64, the buffer size is 16k, not 8k.
  126. * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
  127. * Ditto for the __ia64__ case accordingly.
  128. */
  129. #define YY_BUF_SIZE 32768
  130. #else
  131. #define YY_BUF_SIZE 16384
  132. #endif /* __ia64__ */
  133. #endif
  134. /* The state buf must be large enough to hold one state per character in the main buffer.
  135. */
  136. #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
  137. #ifndef YY_TYPEDEF_YY_BUFFER_STATE
  138. #define YY_TYPEDEF_YY_BUFFER_STATE
  139. typedef struct yy_buffer_state *YY_BUFFER_STATE;
  140. #endif
  141. extern int yyleng;
  142. #define EOB_ACT_CONTINUE_SCAN 0
  143. #define EOB_ACT_END_OF_FILE 1
  144. #define EOB_ACT_LAST_MATCH 2
  145. #define YY_LESS_LINENO(n)
  146. /* Return all but the first "n" matched characters back to the input stream. */
  147. #define yyless(n) \
  148. do \
  149. { \
  150. /* Undo effects of setting up yytext. */ \
  151. int yyless_macro_arg = (n); \
  152. YY_LESS_LINENO(yyless_macro_arg);\
  153. *yy_cp = (yy_hold_char); \
  154. YY_RESTORE_YY_MORE_OFFSET \
  155. (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
  156. YY_DO_BEFORE_ACTION; /* set up yytext again */ \
  157. } \
  158. while ( 0 )
  159. #define unput(c) yyunput( c, (yytext_ptr) )
  160. #ifndef YY_TYPEDEF_YY_SIZE_T
  161. #define YY_TYPEDEF_YY_SIZE_T
  162. typedef size_t yy_size_t;
  163. #endif
  164. #ifndef YY_STRUCT_YY_BUFFER_STATE
  165. #define YY_STRUCT_YY_BUFFER_STATE
  166. struct yy_buffer_state
  167. {
  168. std::istream* yy_input_file;
  169. char *yy_ch_buf; /* input buffer */
  170. char *yy_buf_pos; /* current position in input buffer */
  171. /* Size of input buffer in bytes, not including room for EOB
  172. * characters.
  173. */
  174. yy_size_t yy_buf_size;
  175. /* Number of characters read into yy_ch_buf, not including EOB
  176. * characters.
  177. */
  178. int yy_n_chars;
  179. /* Whether we "own" the buffer - i.e., we know we created it,
  180. * and can realloc() it to grow it, and should free() it to
  181. * delete it.
  182. */
  183. int yy_is_our_buffer;
  184. /* Whether this is an "interactive" input source; if so, and
  185. * if we're using stdio for input, then we want to use getc()
  186. * instead of fread(), to make sure we stop fetching input after
  187. * each newline.
  188. */
  189. int yy_is_interactive;
  190. /* Whether we're considered to be at the beginning of a line.
  191. * If so, '^' rules will be active on the next match, otherwise
  192. * not.
  193. */
  194. int yy_at_bol;
  195. int yy_bs_lineno; /**< The line count. */
  196. int yy_bs_column; /**< The column count. */
  197. /* Whether to try to fill the input buffer when we reach the
  198. * end of it.
  199. */
  200. int yy_fill_buffer;
  201. int yy_buffer_status;
  202. #define YY_BUFFER_NEW 0
  203. #define YY_BUFFER_NORMAL 1
  204. /* When an EOF's been seen but there's still some text to process
  205. * then we mark the buffer as YY_EOF_PENDING, to indicate that we
  206. * shouldn't try reading from the input source any more. We might
  207. * still have a bunch of tokens to match, though, because of
  208. * possible backing-up.
  209. *
  210. * When we actually see the EOF, we change the status to "new"
  211. * (via yyrestart()), so that the user can continue scanning by
  212. * just pointing yyin at a new input file.
  213. */
  214. #define YY_BUFFER_EOF_PENDING 2
  215. };
  216. #endif /* !YY_STRUCT_YY_BUFFER_STATE */
  217. /* We provide macros for accessing buffer states in case in the
  218. * future we want to put the buffer states in a more general
  219. * "scanner state".
  220. *
  221. * Returns the top of the stack, or NULL.
  222. */
  223. #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
  224. ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
  225. : NULL)
  226. /* Same as previous macro, but useful when we know that the buffer stack is not
  227. * NULL or when we need an lvalue. For internal use only.
  228. */
  229. #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
  230. void *LolFxalloc (yy_size_t );
  231. void *LolFxrealloc (void *,yy_size_t );
  232. void LolFxfree (void * );
  233. #define yy_new_buffer yy_create_buffer
  234. #define yy_set_interactive(is_interactive) \
  235. { \
  236. if ( ! YY_CURRENT_BUFFER ){ \
  237. yyensure_buffer_stack (); \
  238. YY_CURRENT_BUFFER_LVALUE = \
  239. yy_create_buffer( yyin, YY_BUF_SIZE ); \
  240. } \
  241. YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
  242. }
  243. #define yy_set_bol(at_bol) \
  244. { \
  245. if ( ! YY_CURRENT_BUFFER ){\
  246. yyensure_buffer_stack (); \
  247. YY_CURRENT_BUFFER_LVALUE = \
  248. yy_create_buffer( yyin, YY_BUF_SIZE ); \
  249. } \
  250. YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
  251. }
  252. #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
  253. /* Begin user sect3 */
  254. typedef unsigned char YY_CHAR;
  255. #define yytext_ptr yytext
  256. #include <FlexLexer.h>
  257. /* Done after the current pattern has been matched and before the
  258. * corresponding action - sets up yytext.
  259. */
  260. #define YY_DO_BEFORE_ACTION \
  261. (yytext_ptr) = yy_bp; \
  262. yyleng = (size_t) (yy_cp - yy_bp); \
  263. (yy_hold_char) = *yy_cp; \
  264. *yy_cp = '\0'; \
  265. (yy_c_buf_p) = yy_cp;
  266. #define YY_NUM_RULES 443
  267. #define YY_END_OF_BUFFER 444
  268. /* This struct is not used in this scanner,
  269. but its presence is necessary. */
  270. struct yy_trans_info
  271. {
  272. flex_int32_t yy_verify;
  273. flex_int32_t yy_nxt;
  274. };
  275. static yyconst flex_int16_t yy_accept[1627] =
  276. { 0,
  277. 0, 0, 437, 437, 442, 442, 444, 434, 432, 433,
  278. 434, 434, 434, 434, 434, 434, 434, 434, 429, 429,
  279. 434, 434, 434, 431, 431, 431, 431, 431, 431, 431,
  280. 431, 431, 431, 431, 431, 431, 431, 431, 431, 431,
  281. 431, 431, 431, 431, 434, 430, 430, 431, 431, 431,
  282. 431, 430, 431, 431, 431, 431, 431, 431, 430, 430,
  283. 430, 430, 430, 431, 431, 430, 430, 434, 437, 438,
  284. 439, 442, 441, 432, 411, 0, 0, 0, 0, 0,
  285. 0, 0, 0, 419, 414, 424, 417, 406, 420, 407,
  286. 421, 435, 440, 418, 0, 428, 429, 412, 408, 410,
  287. 409, 413, 431, 431, 431, 431, 431, 431, 431, 431,
  288. 431, 431, 431, 431, 431, 431, 431, 431, 431, 129,
  289. 431, 431, 431, 431, 431, 431, 431, 431, 431, 431,
  290. 431, 431, 431, 431, 431, 134, 135, 431, 431, 431,
  291. 431, 431, 431, 431, 431, 431, 431, 431, 431, 431,
  292. 431, 431, 431, 431, 431, 431, 431, 431, 431, 431,
  293. 431, 431, 431, 431, 431, 431, 431, 431, 431, 431,
  294. 431, 431, 431, 431, 425, 416, 430, 431, 431, 430,
  295. 431, 431, 431, 431, 431, 431, 431, 99, 431, 431,
  296. 431, 431, 431, 430, 431, 104, 105, 431, 431, 431,
  297. 431, 431, 431, 431, 431, 431, 430, 431, 430, 431,
  298. 431, 431, 430, 431, 431, 431, 431, 431, 431, 431,
  299. 431, 431, 431, 431, 431, 430, 426, 415, 437, 436,
  300. 442, 0, 0, 0, 0, 366, 0, 0, 0, 0,
  301. 0, 427, 422, 423, 431, 152, 431, 431, 431, 431,
  302. 431, 431, 431, 431, 431, 431, 431, 431, 431, 431,
  303. 431, 431, 431, 431, 431, 431, 431, 431, 431, 431,
  304. 431, 431, 431, 431, 431, 133, 431, 431, 431, 431,
  305. 431, 431, 431, 431, 431, 431, 137, 431, 431, 431,
  306. 431, 431, 387, 431, 431, 431, 431, 139, 431, 431,
  307. 431, 431, 431, 431, 431, 431, 431, 431, 431, 431,
  308. 431, 431, 431, 431, 431, 431, 431, 431, 431, 431,
  309. 431, 431, 431, 431, 431, 431, 431, 431, 431, 431,
  310. 431, 431, 400, 431, 431, 431, 431, 431, 431, 431,
  311. 431, 431, 431, 431, 431, 430, 431, 431, 431, 431,
  312. 431, 431, 431, 431, 431, 431, 431, 431, 431, 431,
  313. 431, 431, 103, 431, 431, 107, 431, 431, 431, 431,
  314. 431, 431, 431, 431, 109, 431, 430, 431, 431, 431,
  315. 431, 431, 431, 431, 431, 431, 431, 431, 431, 431,
  316. 431, 431, 431, 431, 430, 0, 0, 0, 0, 0,
  317. 0, 0, 0, 0, 0, 0, 0, 431, 431, 374,
  318. 431, 121, 431, 431, 431, 123, 431, 431, 431, 376,
  319. 431, 431, 431, 431, 431, 431, 431, 431, 431, 431,
  320. 431, 431, 431, 131, 381, 431, 431, 431, 431, 431,
  321. 431, 431, 384, 431, 173, 431, 431, 431, 431, 321,
  322. 326, 331, 336, 431, 178, 385, 431, 431, 431, 431,
  323. 431, 185, 431, 431, 431, 188, 431, 431, 431, 431,
  324. 431, 431, 431, 431, 431, 431, 431, 431, 431, 431,
  325. 431, 431, 431, 431, 431, 431, 431, 431, 431, 431,
  326. 431, 431, 431, 431, 431, 431, 398, 431, 431, 231,
  327. 431, 147, 431, 431, 431, 431, 431, 431, 431, 431,
  328. 149, 431, 431, 430, 431, 91, 431, 431, 93, 431,
  329. 431, 431, 431, 431, 431, 431, 431, 101, 431, 4,
  330. 431, 431, 431, 431, 431, 431, 431, 45, 62, 66,
  331. 70, 431, 431, 431, 430, 431, 431, 431, 431, 431,
  332. 431, 431, 431, 89, 117, 431, 431, 431, 431, 59,
  333. 60, 61, 119, 431, 430, 0, 362, 363, 0, 0,
  334. 0, 0, 0, 370, 0, 0, 0, 431, 431, 431,
  335. 241, 246, 251, 256, 122, 431, 431, 375, 431, 431,
  336. 377, 431, 431, 431, 125, 431, 431, 431, 431, 431,
  337. 431, 431, 431, 167, 431, 431, 431, 169, 132, 431,
  338. 431, 431, 431, 431, 431, 136, 431, 431, 431, 431,
  339. 431, 431, 431, 431, 431, 431, 431, 431, 431, 431,
  340. 431, 431, 431, 191, 431, 431, 431, 431, 431, 431,
  341. 431, 431, 431, 431, 431, 431, 431, 431, 431, 431,
  342. 393, 431, 431, 211, 431, 431, 431, 431, 431, 431,
  343. 431, 431, 431, 399, 431, 431, 431, 341, 346, 351,
  344. 356, 431, 402, 236, 431, 404, 431, 431, 431, 431,
  345. 150, 431, 92, 50, 51, 52, 431, 95, 431, 431,
  346. 431, 77, 81, 85, 431, 74, 75, 76, 90, 102,
  347. 43, 106, 431, 431, 53, 54, 55, 431, 431, 431,
  348. 431, 431, 431, 2, 431, 431, 431, 431, 431, 431,
  349. 431, 431, 431, 431, 56, 57, 58, 431, 120, 0,
  350. 364, 365, 367, 0, 0, 0, 372, 0, 431, 431,
  351. 431, 431, 431, 431, 431, 155, 431, 431, 431, 431,
  352. 431, 431, 431, 431, 431, 431, 379, 431, 431, 431,
  353. 130, 301, 306, 311, 316, 431, 431, 168, 261, 266,
  354. 271, 276, 383, 431, 431, 431, 431, 175, 431, 322,
  355. 327, 332, 337, 323, 328, 333, 338, 324, 329, 334,
  356. 339, 325, 330, 335, 340, 431, 431, 180, 431, 182,
  357. 431, 431, 431, 431, 431, 431, 431, 431, 431, 431,
  358. 431, 431, 431, 391, 431, 431, 431, 431, 140, 431,
  359. 431, 431, 431, 431, 431, 210, 394, 395, 431, 214,
  360. 215, 145, 146, 431, 431, 431, 431, 431, 431, 431,
  361. 431, 431, 431, 431, 431, 431, 237, 431, 431, 431,
  362. 431, 431, 431, 431, 431, 431, 431, 431, 100, 431,
  363. 431, 6, 63, 64, 65, 67, 68, 69, 71, 72,
  364. 73, 431, 431, 431, 110, 3, 5, 115, 431, 116,
  365. 431, 431, 431, 431, 361, 368, 0, 371, 0, 431,
  366. 431, 431, 242, 247, 252, 257, 243, 248, 253, 258,
  367. 244, 249, 254, 259, 245, 250, 255, 260, 431, 157,
  368. 431, 431, 159, 431, 431, 431, 431, 127, 431, 128,
  369. 431, 281, 286, 291, 296, 431, 431, 431, 431, 431,
  370. 431, 431, 431, 431, 431, 170, 431, 431, 431, 431,
  371. 431, 179, 431, 386, 431, 431, 431, 431, 431, 431,
  372. 431, 431, 431, 193, 389, 431, 431, 431, 431, 431,
  373. 431, 431, 431, 431, 431, 206, 431, 431, 431, 217,
  374. 431, 431, 431, 431, 232, 431, 342, 347, 352, 357,
  375. 343, 348, 353, 358, 344, 349, 354, 359, 345, 350,
  376. 355, 360, 148, 431, 431, 431, 405, 431, 431, 431,
  377. 431, 97, 98, 78, 79, 80, 82, 83, 84, 86,
  378. 87, 88, 431, 431, 44, 431, 431, 206, 431, 221,
  379. 118, 431, 49, 369, 373, 431, 431, 431, 431, 124,
  380. 431, 431, 431, 431, 431, 431, 126, 431, 431, 431,
  381. 431, 431, 431, 302, 307, 312, 317, 303, 308, 313,
  382. 318, 304, 309, 314, 319, 305, 310, 315, 320, 431,
  383. 382, 262, 267, 272, 277, 263, 268, 273, 278, 264,
  384. 269, 274, 279, 265, 270, 275, 280, 431, 431, 431,
  385. 431, 431, 431, 431, 431, 431, 388, 431, 431, 431,
  386. 431, 431, 431, 431, 196, 431, 431, 431, 198, 431,
  387. 431, 431, 431, 431, 431, 431, 431, 431, 431, 431,
  388. 431, 431, 397, 431, 431, 431, 431, 233, 401, 403,
  389. 431, 431, 240, 431, 94, 96, 431, 431, 431, 431,
  390. 431, 431, 431, 431, 431, 431, 431, 373, 431, 431,
  391. 431, 431, 431, 431, 431, 431, 431, 431, 431, 431,
  392. 282, 287, 292, 297, 283, 288, 293, 298, 284, 289,
  393. 294, 299, 285, 290, 295, 300, 431, 431, 431, 431,
  394. 431, 177, 431, 183, 431, 431, 431, 431, 431, 431,
  395. 431, 390, 431, 431, 431, 197, 431, 431, 431, 141,
  396. 142, 143, 431, 431, 431, 431, 431, 431, 431, 218,
  397. 222, 224, 228, 431, 431, 431, 431, 431, 48, 47,
  398. 431, 431, 431, 431, 431, 431, 46, 111, 112, 113,
  399. 431, 431, 431, 431, 431, 431, 431, 431, 431, 431,
  400. 154, 431, 431, 431, 431, 431, 378, 431, 431, 431,
  401. 431, 431, 431, 174, 176, 181, 431, 431, 431, 187,
  402. 431, 431, 431, 431, 431, 431, 431, 431, 431, 431,
  403. 431, 431, 431, 431, 431, 212, 431, 431, 431, 431,
  404. 431, 431, 431, 431, 431, 431, 431, 14, 15, 16,
  405. 431, 431, 431, 431, 431, 431, 431, 431, 431, 431,
  406. 431, 1, 20, 21, 22, 431, 431, 431, 431, 431,
  407. 431, 431, 431, 431, 431, 431, 431, 431, 431, 172,
  408. 431, 431, 186, 431, 190, 192, 431, 431, 431, 431,
  409. 431, 201, 203, 205, 431, 144, 431, 431, 431, 396,
  410. 431, 219, 431, 431, 431, 226, 229, 234, 431, 431,
  411. 431, 431, 431, 431, 431, 431, 431, 431, 431, 431,
  412. 431, 37, 431, 431, 431, 114, 431, 431, 431, 431,
  413. 431, 431, 431, 153, 431, 158, 431, 431, 431, 431,
  414. 431, 166, 380, 431, 431, 431, 431, 431, 431, 431,
  415. 431, 431, 431, 431, 431, 208, 431, 431, 431, 431,
  416. 431, 431, 431, 431, 431, 431, 239, 431, 431, 38,
  417. 431, 431, 17, 431, 431, 431, 431, 431, 431, 431,
  418. 431, 431, 431, 431, 431, 39, 431, 431, 23, 431,
  419. 431, 161, 431, 162, 431, 431, 431, 431, 431, 138,
  420. 189, 431, 431, 431, 431, 431, 431, 431, 431, 207,
  421. 431, 431, 220, 431, 431, 431, 431, 431, 431, 431,
  422. 431, 431, 431, 431, 431, 108, 431, 431, 431, 431,
  423. 26, 431, 30, 431, 431, 431, 431, 431, 431, 431,
  424. 431, 431, 431, 431, 431, 431, 431, 171, 431, 431,
  425. 431, 431, 431, 431, 431, 431, 431, 431, 431, 223,
  426. 225, 431, 431, 235, 238, 431, 431, 431, 28, 31,
  427. 431, 10, 431, 11, 431, 431, 431, 431, 431, 431,
  428. 431, 431, 29, 32, 431, 431, 431, 431, 431, 431,
  429. 431, 184, 194, 431, 431, 431, 431, 431, 431, 431,
  430. 431, 431, 431, 431, 18, 19, 431, 431, 431, 7,
  431. 431, 431, 431, 8, 431, 431, 24, 25, 431, 431,
  432. 431, 431, 160, 431, 431, 165, 392, 195, 431, 431,
  433. 202, 204, 431, 213, 216, 227, 230, 431, 431, 431,
  434. 431, 40, 431, 33, 431, 431, 431, 431, 156, 431,
  435. 164, 431, 431, 431, 41, 35, 431, 431, 431, 431,
  436. 9, 42, 36, 431, 431, 431, 200, 431, 431, 431,
  437. 431, 431, 431, 431, 199, 431, 431, 431, 27, 431,
  438. 431, 431, 431, 12, 13, 431, 431, 431, 431, 431,
  439. 151, 431, 209, 34, 163, 0
  440. } ;
  441. static yyconst flex_int32_t yy_ec[256] =
  442. { 0,
  443. 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
  444. 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
  445. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  446. 1, 2, 5, 1, 6, 1, 7, 8, 1, 1,
  447. 1, 9, 10, 1, 11, 12, 13, 14, 15, 16,
  448. 17, 18, 19, 19, 19, 19, 19, 1, 1, 20,
  449. 21, 22, 1, 1, 23, 24, 25, 26, 27, 28,
  450. 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
  451. 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
  452. 1, 1, 1, 49, 50, 1, 51, 52, 53, 54,
  453. 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
  454. 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
  455. 75, 76, 1, 77, 1, 1, 1, 1, 1, 1,
  456. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  457. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  458. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  459. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  460. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  461. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  462. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  463. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  464. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  465. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  466. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  467. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  468. 1, 1, 1, 1, 1
  469. } ;
  470. static yyconst flex_int32_t yy_meta[78] =
  471. { 0,
  472. 1, 1, 2, 1, 1, 1, 1, 1, 3, 1,
  473. 1, 1, 1, 4, 4, 4, 4, 4, 4, 1,
  474. 1, 1, 4, 4, 4, 4, 4, 4, 4, 4,
  475. 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
  476. 4, 4, 4, 4, 4, 4, 4, 4, 1, 4,
  477. 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
  478. 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
  479. 4, 4, 4, 4, 4, 4, 1
  480. } ;
  481. static yyconst flex_int16_t yy_base[1633] =
  482. { 0,
  483. 0, 0, 75, 76, 2932, 2931, 2933, 2936, 78, 2936,
  484. 2911, 79, 2910, 75, 2909, 76, 77, 78, 77, 88,
  485. 72, 2908, 73, 71, 81, 137, 131, 119, 157, 89,
  486. 162, 83, 0, 142, 175, 187, 173, 192, 222, 273,
  487. 242, 243, 261, 78, 114, 270, 313, 62, 362, 219,
  488. 340, 389, 177, 323, 203, 311, 367, 248, 435, 302,
  489. 416, 444, 494, 424, 485, 497, 374, 89, 0, 2936,
  490. 2915, 0, 2936, 121, 2936, 521, 2872, 237, 66, 2867,
  491. 2857, 2860, 2868, 2936, 2936, 2936, 2936, 2936, 2936, 2936,
  492. 2936, 2936, 2936, 2936, 514, 2936, 582, 2901, 2936, 2936,
  493. 2936, 2900, 0, 146, 174, 205, 223, 292, 303, 305,
  494. 303, 382, 305, 319, 377, 380, 428, 550, 401, 539,
  495. 422, 433, 439, 455, 515, 475, 482, 480, 507, 510,
  496. 514, 516, 540, 555, 556, 0, 577, 559, 567, 562,
  497. 565, 573, 564, 582, 587, 595, 582, 603, 580, 596,
  498. 603, 605, 592, 634, 593, 636, 610, 644, 635, 609,
  499. 646, 620, 616, 650, 640, 669, 644, 653, 684, 659,
  500. 682, 661, 689, 671, 2936, 2936, 690, 2850, 689, 704,
  501. 2864, 695, 696, 732, 735, 693, 2867, 735, 2862, 705,
  502. 718, 720, 735, 753, 2859, 0, 750, 2864, 2859, 2838,
  503. 750, 737, 2858, 771, 741, 783, 759, 804, 792, 809,
  504. 754, 2846, 816, 2858, 768, 845, 803, 783, 834, 841,
  505. 2854, 2840, 856, 856, 817, 831, 2936, 2936, 0, 2936,
  506. 0, 2851, 113, 2852, 2837, 123, 2851, 2839, 2851, 2847,
  507. 2832, 911, 2936, 2936, 861, 2849, 852, 858, 861, 887,
  508. 883, 885, 886, 889, 892, 879, 891, 891, 890, 896,
  509. 894, 914, 916, 902, 920, 923, 923, 910, 928, 925,
  510. 918, 920, 928, 915, 934, 0, 931, 926, 932, 931,
  511. 926, 942, 942, 946, 944, 945, 974, 966, 970, 960,
  512. 979, 976, 0, 970, 980, 974, 969, 972, 978, 971,
  513. 986, 978, 992, 974, 977, 986, 980, 992, 988, 999,
  514. 983, 2848, 1012, 990, 1006, 1005, 1004, 1009, 1020, 1030,
  515. 1018, 1020, 1032, 1022, 1037, 1036, 1029, 1026, 1028, 1033,
  516. 1050, 1047, 0, 1049, 1036, 1051, 1040, 1050, 1046, 1047,
  517. 1057, 1058, 1079, 1088, 1078, 725, 2829, 1079, 1091, 2843,
  518. 1088, 1076, 1078, 1098, 1097, 2825, 1099, 2841, 1097, 1084,
  519. 2823, 1103, 0, 2834, 1086, 1143, 2840, 2827, 2836, 2823,
  520. 2821, 1146, 2827, 1110, 1100, 2832, 788, 1119, 1102, 1117,
  521. 2819, 1125, 2815, 1125, 1127, 1144, 1132, 1148, 2819, 2828,
  522. 2805, 1161, 1154, 1147, 1114, 2820, 2822, 2822, 2817, 2810,
  523. 2819, 2819, 2810, 2816, 2813, 2814, 2799, 1146, 1163, 0,
  524. 1166, 1200, 1160, 1167, 1177, 0, 1171, 1177, 1166, 0,
  525. 1166, 1176, 1181, 1183, 1192, 1184, 1188, 1202, 1213, 1206,
  526. 1204, 1215, 1207, 0, 0, 1212, 1204, 1218, 1204, 1211,
  527. 1211, 1222, 0, 1212, 0, 1215, 1221, 1217, 1219, 1216,
  528. 1217, 1221, 1222, 1239, 1257, 0, 1250, 1258, 1242, 1244,
  529. 1248, 0, 1269, 1250, 1257, 0, 1263, 1257, 1269, 1278,
  530. 1275, 1272, 1277, 1264, 1264, 1285, 1273, 1280, 1289, 1276,
  531. 1279, 1277, 1290, 1308, 1294, 1310, 1301, 1304, 1317, 1306,
  532. 1324, 1325, 1325, 1318, 1321, 1313, 0, 1312, 1322, 0,
  533. 1333, 1373, 1331, 1335, 1338, 1345, 1346, 1342, 1353, 1349,
  534. 0, 1351, 1367, 0, 2808, 1394, 1362, 380, 0, 1358,
  535. 1362, 1369, 1363, 1390, 395, 1380, 1114, 0, 1388, 0,
  536. 1374, 2800, 1375, 2797, 2798, 1118, 2792, 0, 2788, 2787,
  537. 2786, 2788, 1378, 2800, 0, 1388, 1384, 1391, 2787, 1402,
  538. 2791, 1404, 1387, 0, 1420, 1394, 2789, 1344, 2795, 0,
  539. 0, 0, 0, 1412, 0, 2789, 2936, 2936, 2796, 2783,
  540. 2794, 2794, 2777, 2936, 2784, 2790, 2786, 1414, 1408, 1408,
  541. 1404, 1405, 1408, 1410, 0, 1420, 1435, 0, 1435, 1426,
  542. 0, 1428, 1431, 1424, 2794, 1434, 1434, 1437, 1445, 1432,
  543. 1434, 1439, 1453, 1489, 1450, 1458, 1449, 0, 1499, 1469,
  544. 1453, 1468, 1471, 1488, 1492, 0, 1482, 1510, 1514, 1518,
  545. 1526, 1493, 1511, 1480, 1493, 1511, 1514, 1526, 1513, 1513,
  546. 1514, 1529, 1530, 1518, 1519, 1519, 1537, 1538, 1524, 1524,
  547. 1541, 1529, 1534, 1549, 1546, 1548, 1533, 1535, 1551, 1567,
  548. 0, 1569, 1573, 0, 1583, 1583, 1580, 1568, 1581, 1585,
  549. 1582, 1591, 1575, 0, 1587, 1590, 1595, 1573, 1574, 1576,
  550. 1578, 1585, 0, 0, 1590, 0, 1587, 1582, 1607, 1600,
  551. 0, 2791, 0, 0, 0, 0, 1595, 2792, 1597, 1600,
  552. 1609, 2767, 2766, 2765, 1624, 0, 0, 0, 0, 1648,
  553. 0, 0, 2779, 2775, 0, 0, 0, 2766, 1651, 1654,
  554. 1657, 2772, 1616, 0, 1635, 1642, 1653, 2776, 1639, 2762,
  555. 1652, 1643, 1644, 2770, 0, 0, 0, 2767, 0, 2775,
  556. 2936, 2936, 2936, 2773, 2774, 2776, 2936, 2761, 1645, 1664,
  557. 1646, 1674, 1678, 1682, 1702, 0, 1675, 1662, 1672, 2775,
  558. 1678, 1680, 1688, 1694, 1679, 1681, 0, 1682, 1699, 1685,
  559. 1721, 1681, 1682, 1686, 1688, 1715, 1711, 0, 1697, 1698,
  560. 1699, 1700, 0, 1709, 1708, 1727, 1735, 0, 1736, 0,
  561. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  562. 0, 0, 0, 0, 0, 1738, 1731, 0, 1724, 0,
  563. 1738, 1743, 1727, 1731, 1740, 1740, 1751, 1740, 1751, 1740,
  564. 1756, 1757, 1746, 0, 1759, 1769, 1758, 1757, 0, 1768,
  565. 1774, 1779, 1778, 1761, 1773, 0, 0, 0, 1780, 2774,
  566. 0, 1772, 0, 1777, 1780, 1778, 1794, 1788, 1795, 1790,
  567. 1818, 1822, 1839, 1843, 1809, 1819, 0, 1824, 1828, 1829,
  568. 2752, 1833, 1823, 1825, 1842, 1853, 1859, 1865, 1869, 2771,
  569. 2766, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  570. 0, 2754, 1835, 1851, 0, 1839, 0, 1845, 2749, 0,
  571. 1862, 1862, 2763, 2760, 2936, 2936, 2761, 2936, 2751, 1856,
  572. 1870, 1877, 0, 0, 0, 0, 0, 0, 0, 0,
  573. 0, 0, 0, 0, 0, 0, 0, 0, 1862, 0,
  574. 1877, 1869, 1864, 1867, 1886, 1870, 1885, 0, 1886, 0,
  575. 1885, 1872, 1873, 1874, 1875, 1935, 1939, 1943, 1947, 2764,
  576. 1896, 1952, 1956, 1960, 1964, 0, 1936, 1961, 1959, 1944,
  577. 1962, 0, 1961, 0, 1964, 1952, 1964, 1952, 1970, 1953,
  578. 1972, 1973, 1957, 0, 0, 1971, 1951, 1960, 1963, 1979,
  579. 1966, 1964, 1979, 1964, 1967, 2021, 2002, 2015, 2001, 0,
  580. 1999, 2017, 2032, 2018, 0, 2023, 0, 0, 0, 0,
  581. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  582. 0, 0, 0, 2025, 2012, 2023, 0, 2027, 2743, 2029,
  583. 2029, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  584. 0, 0, 2748, 2743, 0, 2031, 2745, 2072, 2750, 2076,
  585. 0, 2740, 0, 2936, 0, 2026, 2040, 2034, 2050, 0,
  586. 2072, 2068, 2071, 2070, 2061, 2064, 0, 2071, 2085, 2094,
  587. 2099, 2103, 2122, 0, 0, 0, 0, 0, 0, 0,
  588. 0, 0, 0, 0, 0, 0, 0, 0, 0, 2106,
  589. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  590. 0, 0, 0, 0, 0, 0, 0, 2091, 2093, 2115,
  591. 2118, 2117, 2122, 2119, 2110, 2123, 0, 2107, 2123, 2122,
  592. 2126, 2126, 2128, 2128, 0, 2116, 2117, 2118, 0, 2136,
  593. 2120, 2137, 2139, 2140, 2141, 2159, 2127, 2146, 2163, 2166,
  594. 2171, 2172, 0, 2174, 2175, 2177, 2161, 2182, 0, 0,
  595. 2183, 2184, 0, 2752, 0, 0, 2736, 2193, 2186, 2741,
  596. 2186, 2187, 2188, 2733, 2182, 2739, 2205, 0, 2193, 2210,
  597. 2211, 2202, 2212, 2225, 2209, 2227, 2210, 2214, 2230, 2230,
  598. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  599. 0, 0, 0, 0, 0, 0, 2236, 2230, 2234, 2222,
  600. 2233, 0, 2232, 0, 2234, 2227, 2245, 2231, 2239, 2248,
  601. 2256, 0, 2241, 2258, 2257, 0, 2252, 2253, 1907, 0,
  602. 0, 0, 2259, 2275, 2277, 2262, 2272, 2265, 2282, 2787,
  603. 2287, 2288, 0, 2288, 2289, 2274, 2288, 2292, 0, 0,
  604. 2747, 2746, 2745, 2727, 2726, 2277, 0, 298, 2286, 0,
  605. 2740, 2300, 2740, 2740, 2739, 2738, 2720, 2719, 2300, 2293,
  606. 0, 2289, 2294, 2309, 2318, 2316, 0, 2305, 2319, 2329,
  607. 2319, 2338, 2336, 0, 0, 0, 2341, 2334, 2336, 0,
  608. 2340, 2328, 2336, 2331, 2331, 2347, 2348, 2350, 2353, 2354,
  609. 2355, 2344, 2356, 2343, 2363, 2739, 2345, 2367, 155, 2357,
  610. 2358, 2363, 2379, 2380, 2376, 2382, 2391, 2737, 491, 0,
  611. 2731, 2734, 2389, 2717, 2726, 2715, 2713, 2726, 2722, 2723,
  612. 2394, 0, 2727, 2373, 0, 2721, 2724, 2380, 2381, 2403,
  613. 2388, 2402, 2401, 2404, 2408, 2401, 2397, 2396, 2413, 0,
  614. 2400, 2399, 0, 2411, 0, 0, 2410, 2725, 2411, 2413,
  615. 2434, 2439, 2441, 0, 2445, 0, 2442, 2430, 2432, 0,
  616. 2431, 0, 2430, 2437, 2438, 2456, 2460, 0, 2457, 2458,
  617. 2446, 2706, 2705, 2703, 2716, 2714, 2714, 2443, 2700, 2714,
  618. 2693, 2707, 2704, 2693, 2687, 350, 2672, 2666, 2664, 2677,
  619. 2671, 2667, 2446, 0, 2448, 0, 2453, 2459, 2455, 2456,
  620. 2483, 0, 0, 2476, 2477, 2482, 2468, 2493, 2493, 2476,
  621. 2484, 2504, 2489, 2490, 2492, 0, 2506, 2492, 2507, 2491,
  622. 2517, 2518, 2502, 2503, 2522, 2511, 0, 2431, 2258, 2167,
  623. 2115, 2041, 2014, 2522, 2013, 2009, 2010, 1992, 1989, 1989,
  624. 1942, 1941, 1950, 1877, 1876, 1891, 1882, 1879, 1878, 2510,
  625. 2523, 0, 2527, 0, 2516, 2522, 2534, 2526, 2535, 0,
  626. 0, 2532, 2553, 2549, 2557, 2540, 2544, 2545, 2555, 0,
  627. 2565, 2561, 0, 2543, 2544, 2555, 2556, 2562, 2556, 1436,
  628. 1435, 1107, 832, 833, 829, 0, 802, 799, 767, 764,
  629. 744, 735, 0, 713, 694, 688, 687, 665, 657, 651,
  630. 626, 2572, 2573, 2567, 2565, 2583, 2580, 0, 2574, 2588,
  631. 2579, 2594, 2579, 2600, 2607, 2609, 2595, 2595, 2612, 0,
  632. 0, 2617, 2618, 0, 0, 609, 516, 500, 0, 0,
  633. 497, 487, 472, 474, 484, 467, 426, 434, 428, 404,
  634. 402, 408, 0, 0, 406, 2616, 2617, 2603, 2619, 2605,
  635. 2606, 0, 0, 2610, 2608, 2626, 2627, 2610, 2612, 2624,
  636. 2635, 2623, 2619, 2624, 0, 0, 405, 394, 378, 0,
  637. 375, 355, 369, 0, 340, 341, 0, 0, 301, 293,
  638. 2652, 2637, 0, 2652, 2657, 0, 0, 0, 2658, 2661,
  639. 0, 0, 2656, 0, 0, 0, 0, 267, 260, 277,
  640. 274, 0, 269, 237, 217, 210, 205, 2650, 0, 2671,
  641. 0, 2669, 2657, 2657, 0, 0, 222, 217, 205, 206,
  642. 0, 0, 0, 2672, 2658, 2662, 0, 2661, 196, 191,
  643. 168, 176, 2679, 2680, 0, 2686, 148, 144, 0, 121,
  644. 2683, 2683, 2671, 0, 0, 67, 2675, 2690, 2691, 28,
  645. 0, 2679, 0, 0, 0, 2936, 2747, 2751, 86, 2755,
  646. 2759, 2763
  647. } ;
  648. static yyconst flex_int16_t yy_def[1633] =
  649. { 0,
  650. 1626, 1, 1627, 1627, 1628, 1628, 1626, 1626, 1626, 1626,
  651. 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626,
  652. 1626, 1626, 1626, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  653. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  654. 1629, 1629, 1629, 1629, 1626, 1629, 1629, 26, 1629, 1629,
  655. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  656. 1629, 40, 1629, 1629, 1629, 1629, 1629, 1626, 1630, 1626,
  657. 1626, 1631, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626,
  658. 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626,
  659. 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626,
  660. 1626, 1626, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  661. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  662. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  663. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  664. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  665. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  666. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  667. 1629, 1629, 1629, 1629, 1626, 1626, 1629, 1629, 1629, 1629,
  668. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  669. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  670. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  671. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  672. 1629, 1629, 1629, 1629, 1629, 1629, 1626, 1626, 1630, 1626,
  673. 1631, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626,
  674. 1626, 1626, 1626, 1626, 1629, 1629, 1629, 1629, 1629, 1629,
  675. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  676. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  677. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  678. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  679. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  680. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  681. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  682. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  683. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  684. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  685. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  686. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  687. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  688. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  689. 1629, 1629, 1629, 1629, 1629, 1626, 1626, 1626, 1626, 1626,
  690. 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1629, 1629, 1629,
  691. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  692. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  693. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  694. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  695. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  696. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  697. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  698. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  699. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  700. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  701. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  702. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  703. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  704. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  705. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  706. 1629, 1629, 1629, 1629, 1629, 1626, 1626, 1626, 1626, 1626,
  707. 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1629, 1629, 1629,
  708. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  709. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  710. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  711. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  712. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  713. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  714. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  715. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  716. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  717. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  718. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  719. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  720. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  721. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  722. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1626,
  723. 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1629, 1629,
  724. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  725. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  726. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  727. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  728. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  729. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  730. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  731. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  732. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  733. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  734. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  735. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  736. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  737. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  738. 1629, 1629, 1629, 1629, 1626, 1626, 1626, 1626, 1626, 1629,
  739. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  740. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  741. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  742. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  743. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  744. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  745. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  746. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  747. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  748. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  749. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  750. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  751. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  752. 1629, 1629, 1629, 1626, 1632, 1629, 1629, 1629, 1629, 1629,
  753. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  754. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  755. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  756. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  757. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  758. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  759. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  760. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  761. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  762. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  763. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1632, 1629, 1629,
  764. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  765. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  766. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  767. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  768. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  769. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  770. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  771. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  772. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  773. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  774. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  775. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  776. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  777. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  778. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  779. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  780. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  781. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  782. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  783. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  784. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  785. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  786. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  787. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  788. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  789. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  790. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  791. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  792. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  793. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  794. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  795. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  796. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  797. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  798. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  799. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  800. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  801. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  802. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  803. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  804. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  805. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  806. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  807. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  808. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  809. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  810. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  811. 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
  812. 1629, 1629, 1629, 1629, 1629, 0, 1626, 1626, 1626, 1626,
  813. 1626, 1626
  814. } ;
  815. static yyconst flex_int16_t yy_nxt[3014] =
  816. { 0,
  817. 8, 9, 10, 9, 11, 12, 13, 14, 15, 16,
  818. 17, 8, 18, 19, 20, 20, 20, 20, 20, 21,
  819. 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
  820. 32, 33, 33, 34, 35, 36, 37, 38, 33, 39,
  821. 40, 41, 42, 43, 44, 33, 33, 33, 45, 33,
  822. 46, 47, 48, 49, 50, 51, 52, 53, 54, 33,
  823. 33, 55, 56, 57, 58, 59, 60, 61, 62, 63,
  824. 64, 65, 66, 67, 67, 67, 68, 70, 70, 74,
  825. 76, 74, 85, 71, 71, 88, 92, 90, 95, 103,
  826. 93, 98, 99, 101, 102, 86, 89, 91, 94, 95,
  827. 1624, 97, 97, 97, 97, 97, 97, 174, 104, 227,
  828. 136, 105, 182, 106, 107, 131, 183, 108, 137, 96,
  829. 109, 236, 74, 110, 74, 132, 184, 111, 133, 237,
  830. 96, 1620, 77, 78, 175, 174, 104, 79, 136, 105,
  831. 80, 106, 107, 131, 81, 108, 137, 96, 109, 82,
  832. 83, 110, 123, 132, 124, 111, 133, 118, 96, 112,
  833. 113, 119, 176, 114, 125, 228, 115, 120, 1332, 1333,
  834. 116, 397, 138, 117, 1616, 121, 401, 122, 139, 126,
  835. 123, 398, 124, 245, 134, 118, 402, 112, 113, 119,
  836. 127, 114, 125, 128, 115, 120, 129, 140, 116, 134,
  837. 138, 117, 130, 121, 135, 122, 139, 126, 246, 142,
  838. 146, 245, 134, 143, 148, 147, 1615, 141, 127, 135,
  839. 1614, 128, 149, 144, 129, 140, 1610, 134, 150, 145,
  840. 130, 151, 135, 138, 152, 195, 246, 142, 146, 139,
  841. 1609, 143, 148, 147, 153, 141, 247, 135, 154, 248,
  842. 149, 144, 123, 200, 124, 1608, 150, 145, 155, 151,
  843. 1607, 138, 152, 1602, 125, 163, 156, 201, 164, 1601,
  844. 1600, 165, 153, 168, 247, 1599, 154, 248, 169, 1593,
  845. 190, 166, 124, 170, 1592, 146, 155, 171, 167, 1591,
  846. 147, 172, 125, 163, 156, 157, 164, 173, 233, 165,
  847. 234, 168, 158, 159, 235, 1590, 169, 104, 160, 166,
  848. 105, 170, 106, 146, 161, 171, 167, 162, 205, 172,
  849. 177, 177, 1589, 157, 1588, 173, 177, 1587, 249, 250,
  850. 158, 159, 251, 140, 1586, 104, 160, 177, 105, 178,
  851. 106, 1585, 161, 1577, 252, 162, 107, 255, 1284, 108,
  852. 136, 1576, 109, 141, 256, 110, 249, 250, 137, 111,
  853. 251, 202, 126, 177, 177, 203, 1285, 207, 207, 177,
  854. 207, 207, 252, 127, 107, 255, 128, 179, 196, 129,
  855. 180, 141, 256, 110, 181, 130, 197, 111, 118, 142,
  856. 191, 198, 119, 143, 199, 684, 685, 686, 120, 257,
  857. 1412, 192, 258, 144, 193, 1575, 121, 129, 122, 145,
  858. 692, 693, 694, 130, 1574, 131, 185, 142, 1413, 1573,
  859. 186, 143, 253, 254, 187, 132, 188, 257, 133, 1572,
  860. 258, 204, 1571, 189, 121, 1570, 122, 145, 153, 177,
  861. 177, 265, 154, 131, 1569, 177, 226, 226, 226, 226,
  862. 253, 254, 155, 132, 168, 1568, 194, 148, 268, 169,
  863. 156, 259, 260, 261, 170, 149, 209, 177, 269, 265,
  864. 210, 150, 177, 1550, 151, 1549, 1548, 152, 1547, 270,
  865. 155, 1546, 218, 177, 1545, 206, 268, 219, 156, 259,
  866. 260, 261, 220, 149, 211, 221, 269, 271, 1544, 150,
  867. 207, 207, 208, 207, 207, 152, 212, 270, 274, 207,
  868. 207, 171, 207, 213, 214, 172, 215, 163, 275, 276,
  869. 164, 173, 76, 165, 1543, 271, 174, 242, 242, 242,
  870. 242, 242, 242, 166, 1542, 222, 274, 277, 278, 223,
  871. 167, 1343, 1541, 172, 1540, 163, 275, 276, 216, 224,
  872. 279, 165, 272, 1344, 225, 1539, 273, 280, 1345, 207,
  873. 207, 217, 207, 207, 1538, 277, 278, 1537, 167, 226,
  874. 226, 226, 226, 266, 77, 78, 281, 262, 279, 79,
  875. 272, 267, 80, 263, 273, 280, 81, 264, 282, 283,
  876. 1536, 82, 83, 95, 288, 97, 97, 97, 97, 97,
  877. 97, 266, 289, 290, 281, 262, 291, 292, 293, 267,
  878. 284, 263, 294, 285, 286, 264, 282, 283, 287, 295,
  879. 296, 297, 288, 298, 96, 301, 302, 299, 306, 303,
  880. 289, 290, 307, 304, 291, 292, 293, 312, 284, 305,
  881. 294, 285, 286, 300, 316, 321, 287, 295, 296, 297,
  882. 324, 298, 96, 301, 302, 299, 306, 303, 325, 313,
  883. 307, 304, 308, 319, 309, 312, 317, 305, 322, 310,
  884. 329, 300, 316, 321, 326, 311, 314, 315, 324, 330,
  885. 318, 334, 320, 1535, 327, 323, 325, 313, 335, 339,
  886. 308, 319, 309, 1515, 317, 328, 322, 310, 329, 331,
  887. 342, 345, 326, 311, 314, 315, 340, 330, 318, 334,
  888. 320, 332, 327, 323, 336, 333, 335, 339, 1514, 343,
  889. 337, 341, 344, 328, 338, 249, 1513, 331, 342, 345,
  890. 250, 256, 1512, 265, 340, 253, 254, 1511, 1510, 332,
  891. 346, 346, 336, 333, 1509, 270, 346, 343, 337, 341,
  892. 344, 274, 338, 348, 346, 346, 275, 346, 349, 352,
  893. 346, 355, 262, 351, 254, 259, 260, 261, 263, 266,
  894. 361, 346, 264, 359, 276, 514, 514, 267, 290, 360,
  895. 1508, 514, 298, 284, 362, 289, 285, 286, 316, 281,
  896. 354, 287, 514, 259, 260, 353, 263, 266, 324, 1507,
  897. 264, 294, 363, 346, 346, 357, 372, 299, 295, 346,
  898. 375, 284, 1506, 289, 365, 286, 380, 281, 335, 366,
  899. 346, 367, 371, 300, 377, 377, 384, 377, 377, 294,
  900. 303, 1505, 307, 331, 304, 299, 374, 308, 322, 309,
  901. 305, 1504, 346, 346, 310, 332, 387, 345, 346, 333,
  902. 311, 300, 376, 545, 545, 323, 545, 545, 378, 346,
  903. 307, 331, 304, 1503, 336, 308, 322, 309, 305, 326,
  904. 337, 339, 310, 386, 338, 394, 1502, 333, 379, 327,
  905. 340, 377, 377, 382, 377, 377, 343, 408, 410, 344,
  906. 328, 389, 388, 411, 412, 341, 1501, 326, 337, 339,
  907. 1500, 1499, 338, 395, 395, 395, 395, 327, 392, 413,
  908. 414, 415, 416, 417, 393, 408, 410, 344, 385, 418,
  909. 419, 411, 412, 341, 242, 242, 242, 242, 242, 242,
  910. 420, 421, 422, 423, 424, 425, 426, 413, 414, 415,
  911. 416, 417, 427, 428, 429, 430, 431, 418, 419, 432,
  912. 433, 434, 435, 436, 437, 438, 439, 440, 420, 421,
  913. 422, 423, 424, 425, 426, 441, 442, 443, 444, 445,
  914. 427, 428, 429, 430, 431, 446, 447, 432, 433, 434,
  915. 435, 436, 437, 438, 439, 440, 448, 449, 450, 451,
  916. 452, 453, 455, 441, 442, 443, 444, 445, 456, 457,
  917. 454, 458, 459, 446, 447, 460, 461, 462, 463, 464,
  918. 465, 466, 467, 468, 448, 449, 469, 470, 471, 472,
  919. 455, 473, 474, 475, 476, 477, 456, 457, 454, 458,
  920. 459, 481, 482, 460, 461, 462, 463, 464, 465, 466,
  921. 467, 468, 483, 484, 469, 470, 471, 472, 485, 473,
  922. 474, 475, 476, 477, 479, 486, 487, 488, 480, 481,
  923. 482, 489, 490, 492, 493, 494, 495, 496, 497, 498,
  924. 483, 484, 499, 500, 491, 501, 485, 502, 503, 505,
  925. 506, 507, 479, 486, 487, 488, 480, 504, 508, 489,
  926. 490, 492, 493, 494, 495, 496, 497, 498, 509, 510,
  927. 499, 500, 491, 501, 511, 502, 503, 505, 506, 507,
  928. 512, 513, 412, 413, 416, 504, 508, 419, 424, 425,
  929. 426, 429, 431, 434, 438, 439, 509, 510, 448, 696,
  930. 697, 698, 511, 705, 706, 707, 461, 464, 512, 513,
  931. 516, 517, 519, 469, 477, 520, 521, 522, 523, 524,
  932. 526, 528, 529, 531, 483, 490, 533, 450, 451, 452,
  933. 453, 539, 540, 541, 543, 464, 492, 491, 496, 454,
  934. 500, 546, 547, 502, 1498, 503, 560, 561, 562, 511,
  935. 513, 578, 548, 490, 504, 457, 565, 565, 565, 565,
  936. 579, 580, 585, 586, 552, 550, 553, 454, 554, 587,
  937. 588, 555, 508, 556, 589, 590, 591, 563, 564, 578,
  938. 592, 593, 504, 457, 581, 582, 583, 584, 579, 580,
  939. 585, 586, 597, 594, 595, 596, 598, 587, 588, 599,
  940. 508, 600, 589, 590, 591, 601, 602, 603, 592, 593,
  941. 604, 605, 606, 607, 608, 609, 610, 611, 612, 613,
  942. 597, 594, 595, 596, 598, 614, 615, 599, 616, 600,
  943. 617, 618, 619, 601, 602, 603, 620, 621, 604, 605,
  944. 606, 607, 608, 609, 610, 611, 612, 613, 622, 623,
  945. 625, 626, 627, 614, 615, 628, 616, 629, 617, 618,
  946. 619, 630, 631, 632, 620, 621, 633, 624, 634, 635,
  947. 636, 637, 638, 639, 640, 641, 622, 623, 625, 626,
  948. 627, 642, 643, 628, 644, 629, 645, 646, 647, 630,
  949. 631, 632, 648, 649, 633, 624, 634, 635, 636, 637,
  950. 638, 639, 640, 641, 650, 651, 652, 653, 654, 642,
  951. 643, 657, 644, 655, 645, 646, 647, 656, 658, 659,
  952. 648, 649, 660, 661, 662, 663, 664, 665, 666, 725,
  953. 726, 727, 650, 651, 652, 653, 654, 672, 667, 657,
  954. 673, 655, 674, 675, 676, 656, 658, 659, 677, 678,
  955. 660, 661, 662, 663, 664, 665, 666, 668, 669, 670,
  956. 671, 679, 680, 681, 585, 672, 667, 590, 673, 597,
  957. 674, 675, 676, 595, 596, 598, 677, 678, 581, 582,
  958. 583, 584, 601, 603, 608, 609, 616, 629, 635, 679,
  959. 680, 681, 683, 643, 649, 687, 658, 689, 659, 663,
  960. 672, 688, 596, 690, 668, 669, 670, 671, 681, 739,
  961. 691, 695, 699, 700, 702, 713, 715, 740, 741, 742,
  962. 743, 716, 717, 744, 719, 745, 721, 722, 723, 746,
  963. 747, 748, 749, 750, 751, 752, 729, 739, 754, 755,
  964. 756, 757, 758, 759, 760, 740, 741, 742, 743, 761,
  965. 766, 744, 767, 745, 768, 1497, 1496, 746, 747, 748,
  966. 749, 750, 751, 752, 773, 774, 754, 755, 756, 757,
  967. 758, 759, 760, 762, 763, 764, 765, 761, 766, 775,
  968. 767, 776, 768, 769, 770, 771, 772, 777, 778, 779,
  969. 796, 799, 773, 774, 780, 781, 782, 783, 784, 785,
  970. 786, 787, 788, 789, 790, 791, 797, 775, 800, 776,
  971. 792, 793, 794, 795, 801, 777, 778, 779, 796, 799,
  972. 798, 802, 803, 804, 805, 806, 807, 808, 810, 811,
  973. 812, 813, 814, 815, 797, 816, 800, 817, 818, 819,
  974. 809, 820, 801, 821, 822, 823, 824, 825, 798, 802,
  975. 803, 804, 805, 806, 807, 808, 810, 811, 812, 813,
  976. 814, 815, 826, 816, 827, 817, 818, 819, 809, 820,
  977. 828, 821, 822, 823, 824, 825, 829, 830, 831, 832,
  978. 833, 834, 835, 836, 837, 838, 839, 840, 841, 842,
  979. 826, 843, 827, 844, 845, 846, 847, 848, 828, 849,
  980. 850, 749, 755, 756, 829, 830, 831, 832, 833, 834,
  981. 835, 836, 837, 838, 839, 840, 841, 842, 759, 843,
  982. 761, 844, 845, 846, 847, 848, 804, 849, 850, 852,
  983. 853, 854, 769, 770, 771, 772, 863, 864, 865, 866,
  984. 867, 868, 869, 870, 871, 811, 855, 819, 859, 825,
  985. 832, 833, 837, 845, 873, 890, 891, 892, 893, 894,
  986. 895, 896, 897, 898, 899, 900, 901, 902, 903, 904,
  987. 909, 910, 911, 874, 913, 875, 914, 876, 878, 880,
  988. 881, 882, 915, 890, 891, 892, 905, 906, 907, 908,
  989. 916, 917, 918, 919, 920, 921, 926, 927, 909, 910,
  990. 911, 928, 913, 929, 914, 922, 923, 924, 925, 930,
  991. 915, 931, 932, 933, 934, 935, 936, 937, 916, 917,
  992. 918, 919, 920, 921, 926, 927, 938, 939, 940, 928,
  993. 941, 929, 942, 943, 944, 945, 946, 930, 947, 931,
  994. 932, 933, 934, 935, 936, 937, 948, 949, 950, 951,
  995. 952, 953, 954, 955, 938, 939, 940, 956, 941, 957,
  996. 942, 943, 944, 945, 946, 958, 947, 959, 960, 961,
  997. 962, 963, 964, 965, 948, 949, 950, 951, 952, 953,
  998. 954, 955, 966, 967, 969, 956, 970, 957, 971, 972,
  999. 973, 974, 975, 958, 976, 959, 960, 961, 962, 963,
  1000. 964, 965, 977, 978, 979, 980, 981, 982, 983, 984,
  1001. 966, 967, 969, 993, 970, 994, 971, 972, 973, 974,
  1002. 975, 995, 976, 985, 986, 987, 988, 989, 990, 991,
  1003. 992, 997, 998, 911, 996, 917, 918, 920, 1004, 1005,
  1004. 1006, 993, 947, 994, 1007, 1008, 1009, 954, 966, 995,
  1005. 1010, 1011, 1012, 922, 923, 924, 925, 969, 973, 997,
  1006. 998, 1000, 996, 1001, 1002, 1003, 993, 1026, 1027, 1028,
  1007. 1016, 1029, 1030, 1031, 1032, 954, 1018, 1034, 1035, 1017,
  1008. 1036, 1037, 1038, 1033, 1039, 969, 1020, 1040, 1041, 1042,
  1009. 1043, 1259, 1260, 1261, 1021, 1026, 1027, 1028, 1471, 1029,
  1010. 1030, 1031, 1032, 1470, 1469, 1034, 1035, 1061, 1036, 1037,
  1011. 1038, 1468, 1039, 1467, 1466, 1040, 1041, 1042, 1043, 1044,
  1012. 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054,
  1013. 1055, 1056, 1057, 1058, 1059, 1061, 1062, 1063, 1064, 1065,
  1014. 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075,
  1015. 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085,
  1016. 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095,
  1017. 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1465, 1464, 1463,
  1018. 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087,
  1019. 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097,
  1020. 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1109, 1110,
  1021. 1111, 1112, 1462, 1113, 1118, 1106, 1114, 1115, 1116, 1119,
  1022. 1120, 1121, 1122, 1123, 1030, 1037, 1117, 1086, 1461, 1460,
  1023. 1459, 1107, 1458, 1457, 1455, 1139, 1109, 1110, 1111, 1112,
  1024. 1108, 1113, 1118, 1106, 1140, 1141, 1142, 1119, 1120, 1121,
  1025. 1122, 1123, 1125, 1126, 1117, 1129, 1131, 1132, 1133, 1107,
  1026. 1114, 1115, 1116, 1139, 1143, 1454, 1106, 1144, 1145, 1146,
  1027. 1117, 1147, 1140, 1141, 1142, 1148, 1149, 1150, 1151, 1152,
  1028. 1153, 1154, 1107, 1155, 1156, 1157, 1158, 1159, 1160, 1161,
  1029. 1162, 1108, 1143, 1134, 1135, 1144, 1145, 1146, 1117, 1147,
  1030. 1167, 1168, 1169, 1148, 1149, 1150, 1163, 1164, 1165, 1166,
  1031. 1107, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178,
  1032. 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1167, 1168,
  1033. 1169, 1187, 1188, 1189, 1190, 1191, 1192, 1453, 1195, 1170,
  1034. 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180,
  1035. 1181, 1182, 1183, 1184, 1185, 1186, 1196, 1197, 1198, 1187,
  1036. 1188, 1189, 1190, 1191, 1192, 1193, 1195, 1199, 1200, 1201,
  1037. 1202, 1194, 1203, 1204, 1205, 1207, 1208, 1211, 1212, 1213,
  1038. 1176, 1190, 1191, 1192, 1196, 1197, 1198, 1452, 1193, 1224,
  1039. 1225, 1226, 1206, 1193, 1194, 1199, 1200, 1201, 1202, 1194,
  1040. 1203, 1204, 1205, 1207, 1208, 1229, 1230, 1231, 1216, 1218,
  1041. 1219, 1220, 1232, 1233, 1214, 1215, 1193, 1234, 1235, 1236,
  1042. 1206, 1237, 1222, 1238, 1239, 1240, 1227, 1228, 1241, 1242,
  1043. 1243, 1244, 1245, 1229, 1230, 1231, 1246, 1247, 1248, 1249,
  1044. 1232, 1233, 1250, 1251, 1252, 1234, 1235, 1236, 1253, 1237,
  1045. 1254, 1238, 1239, 1240, 1255, 1256, 1241, 1242, 1243, 1244,
  1046. 1245, 1257, 1258, 1262, 1246, 1247, 1248, 1249, 1263, 1264,
  1047. 1250, 1251, 1252, 1265, 1266, 1267, 1253, 1268, 1254, 1270,
  1048. 1271, 1273, 1255, 1256, 1274, 1275, 1276, 1277, 1248, 1257,
  1049. 1258, 1262, 1272, 1263, 1298, 1451, 1263, 1264, 1299, 1300,
  1050. 1301, 1265, 1266, 1267, 1302, 1268, 1286, 1270, 1271, 1273,
  1051. 1303, 1304, 1274, 1275, 1276, 1277, 1283, 1305, 1287, 1306,
  1052. 1272, 1291, 1298, 1288, 1289, 1307, 1299, 1300, 1301, 1308,
  1053. 1309, 1310, 1302, 1311, 1312, 1313, 1314, 1315, 1303, 1304,
  1054. 1316, 1317, 1318, 1319, 1320, 1305, 1321, 1306, 1322, 1323,
  1055. 1324, 1325, 1326, 1307, 1327, 1328, 1330, 1308, 1309, 1310,
  1056. 1331, 1311, 1312, 1313, 1314, 1315, 1334, 1335, 1316, 1317,
  1057. 1318, 1319, 1320, 1336, 1321, 1337, 1322, 1323, 1324, 1325,
  1058. 1326, 1338, 1327, 1328, 1330, 1339, 1340, 1341, 1331, 1312,
  1059. 1326, 1363, 1364, 1358, 1334, 1335, 1365, 1366, 1367, 1368,
  1060. 1369, 1336, 1370, 1337, 1371, 1359, 1372, 1373, 1374, 1338,
  1061. 1360, 1375, 1376, 1339, 1340, 1341, 1377, 1348, 1356, 1363,
  1062. 1364, 1378, 1380, 1381, 1365, 1366, 1367, 1368, 1369, 1382,
  1063. 1370, 1383, 1371, 1384, 1372, 1373, 1374, 1385, 1386, 1375,
  1064. 1376, 1387, 1388, 1389, 1377, 1390, 1391, 1392, 1393, 1378,
  1065. 1380, 1381, 1394, 1395, 1396, 1397, 1376, 1382, 1420, 1383,
  1066. 1421, 1384, 1422, 1423, 1424, 1385, 1386, 1425, 1450, 1387,
  1067. 1388, 1389, 1428, 1390, 1391, 1392, 1393, 1429, 1430, 1431,
  1068. 1394, 1395, 1396, 1397, 1404, 1432, 1420, 1433, 1421, 1434,
  1069. 1422, 1423, 1424, 1426, 1435, 1425, 1427, 1436, 1437, 1438,
  1070. 1428, 1439, 1440, 1441, 1442, 1429, 1430, 1431, 1443, 1444,
  1071. 1445, 1446, 1447, 1432, 1448, 1433, 1449, 1434, 1430, 1472,
  1072. 1473, 1426, 1435, 1474, 1427, 1436, 1437, 1438, 1475, 1439,
  1073. 1440, 1441, 1442, 1476, 1477, 1478, 1443, 1444, 1445, 1446,
  1074. 1447, 1479, 1448, 1480, 1449, 1481, 1456, 1472, 1473, 1482,
  1075. 1483, 1474, 1484, 1485, 1486, 1487, 1475, 1488, 1489, 1490,
  1076. 1491, 1476, 1477, 1478, 1492, 1493, 1494, 1495, 1516, 1479,
  1077. 1517, 1480, 1518, 1481, 1519, 1520, 1521, 1482, 1483, 1522,
  1078. 1484, 1485, 1486, 1487, 1523, 1488, 1489, 1490, 1491, 1524,
  1079. 1525, 1526, 1492, 1493, 1494, 1495, 1516, 1527, 1517, 1528,
  1080. 1518, 1529, 1519, 1520, 1521, 1530, 1531, 1522, 1532, 1533,
  1081. 1534, 1551, 1523, 1552, 1553, 1554, 1555, 1524, 1525, 1526,
  1082. 1556, 1557, 1558, 1559, 1560, 1527, 1561, 1528, 1562, 1529,
  1083. 1563, 1564, 1565, 1530, 1531, 1566, 1532, 1533, 1534, 1551,
  1084. 1567, 1552, 1553, 1554, 1555, 1578, 1579, 1580, 1556, 1557,
  1085. 1558, 1559, 1560, 1581, 1561, 1582, 1562, 1583, 1563, 1564,
  1086. 1565, 1584, 1594, 1566, 1595, 1596, 1597, 1598, 1567, 1603,
  1087. 1604, 1605, 1606, 1578, 1579, 1580, 1611, 1612, 1613, 1617,
  1088. 1618, 1581, 1619, 1582, 1621, 1583, 1622, 1623, 1625, 1584,
  1089. 1594, 1419, 1595, 1596, 1597, 1598, 1418, 1603, 1604, 1605,
  1090. 1606, 1417, 1416, 1415, 1611, 1612, 1613, 1617, 1618, 1414,
  1091. 1619, 1411, 1621, 1410, 1622, 1623, 1625, 69, 69, 69,
  1092. 69, 72, 72, 72, 72, 229, 1409, 1408, 229, 231,
  1093. 1407, 231, 231, 1138, 1406, 1138, 1138, 1405, 1403, 1402,
  1094. 1401, 1400, 1399, 1398, 1379, 1362, 1361, 1357, 1355, 1354,
  1095. 1353, 1352, 1351, 1350, 1349, 1347, 1346, 1342, 1329, 1297,
  1096. 1296, 1295, 1294, 1293, 1292, 1290, 1282, 1281, 1280, 1279,
  1097. 1278, 1269, 1223, 1221, 1217, 1210, 1209, 1137, 1136, 1130,
  1098. 1128, 1127, 1124, 1060, 1025, 1024, 1023, 1022, 1019, 1015,
  1099. 1014, 1013, 999, 968, 912, 889, 888, 887, 886, 885,
  1100. 884, 883, 879, 877, 872, 862, 861, 860, 858, 857,
  1101. 856, 753, 851, 753, 738, 737, 736, 735, 734, 733,
  1102. 732, 731, 730, 728, 724, 720, 718, 714, 712, 711,
  1103. 710, 709, 708, 704, 703, 701, 682, 577, 576, 575,
  1104. 574, 573, 572, 571, 570, 569, 568, 567, 566, 559,
  1105. 558, 557, 551, 549, 544, 542, 538, 537, 536, 535,
  1106. 534, 532, 530, 527, 525, 518, 515, 478, 409, 407,
  1107. 406, 405, 404, 403, 400, 399, 396, 391, 390, 383,
  1108. 381, 373, 370, 369, 368, 364, 358, 356, 350, 347,
  1109. 244, 243, 241, 240, 239, 238, 232, 230, 100, 87,
  1110. 84, 75, 1626, 73, 73, 7, 1626, 1626, 1626, 1626,
  1111. 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626,
  1112. 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626,
  1113. 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626,
  1114. 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626,
  1115. 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626,
  1116. 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626,
  1117. 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626,
  1118. 1626, 1626, 1626
  1119. } ;
  1120. static yyconst flex_int16_t yy_chk[3014] =
  1121. { 0,
  1122. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  1123. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  1124. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  1125. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  1126. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  1127. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  1128. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  1129. 1, 1, 1, 1, 1, 1, 1, 3, 4, 9,
  1130. 12, 9, 14, 3, 4, 16, 18, 17, 19, 1629,
  1131. 18, 21, 21, 23, 23, 14, 16, 17, 18, 20,
  1132. 1620, 20, 20, 20, 20, 20, 20, 44, 24, 68,
  1133. 32, 24, 48, 24, 25, 30, 48, 25, 32, 19,
  1134. 25, 79, 74, 25, 74, 30, 48, 25, 30, 79,
  1135. 20, 1616, 12, 12, 45, 44, 24, 12, 32, 24,
  1136. 12, 24, 25, 30, 12, 25, 32, 19, 25, 12,
  1137. 12, 25, 28, 30, 28, 25, 30, 27, 20, 26,
  1138. 26, 27, 45, 26, 28, 68, 26, 27, 1269, 1269,
  1139. 26, 233, 34, 26, 1610, 27, 236, 27, 34, 29,
  1140. 28, 233, 28, 104, 31, 27, 236, 26, 26, 27,
  1141. 29, 26, 28, 29, 26, 27, 29, 35, 26, 53,
  1142. 34, 26, 29, 27, 31, 27, 34, 29, 105, 36,
  1143. 37, 104, 31, 36, 38, 37, 1608, 35, 29, 53,
  1144. 1607, 29, 38, 36, 29, 35, 1602, 53, 38, 36,
  1145. 29, 38, 31, 55, 38, 53, 105, 36, 37, 55,
  1146. 1601, 36, 38, 37, 39, 35, 106, 53, 39, 107,
  1147. 38, 36, 50, 55, 50, 1600, 38, 36, 39, 38,
  1148. 1599, 55, 38, 1590, 50, 41, 39, 55, 41, 1589,
  1149. 1588, 41, 39, 42, 106, 1587, 39, 107, 42, 1577,
  1150. 50, 41, 50, 42, 1576, 58, 39, 43, 41, 1575,
  1151. 58, 43, 50, 41, 39, 40, 41, 43, 78, 41,
  1152. 78, 42, 40, 40, 78, 1574, 42, 46, 40, 41,
  1153. 46, 42, 46, 58, 40, 43, 41, 40, 58, 43,
  1154. 46, 46, 1573, 40, 1571, 43, 46, 1570, 108, 109,
  1155. 40, 40, 110, 56, 1569, 46, 40, 46, 46, 46,
  1156. 46, 1568, 40, 1550, 111, 40, 47, 113, 1218, 47,
  1157. 54, 1549, 47, 56, 114, 47, 108, 109, 54, 47,
  1158. 110, 56, 51, 47, 47, 56, 1218, 60, 60, 47,
  1159. 60, 60, 111, 51, 47, 113, 51, 47, 54, 51,
  1160. 47, 56, 114, 47, 47, 51, 54, 47, 49, 57,
  1161. 51, 54, 49, 57, 54, 518, 518, 518, 49, 115,
  1162. 1356, 51, 116, 57, 51, 1546, 49, 51, 49, 57,
  1163. 525, 525, 525, 51, 1545, 52, 49, 57, 1356, 1543,
  1164. 49, 57, 112, 112, 49, 52, 49, 115, 52, 1542,
  1165. 116, 57, 1541, 49, 49, 1539, 49, 57, 61, 52,
  1166. 52, 119, 61, 52, 1538, 52, 67, 67, 67, 67,
  1167. 112, 112, 61, 52, 64, 1537, 52, 59, 121, 64,
  1168. 61, 117, 117, 117, 64, 59, 61, 61, 122, 119,
  1169. 61, 59, 61, 1515, 59, 1512, 1511, 59, 1510, 123,
  1170. 61, 1509, 64, 61, 1508, 59, 121, 64, 61, 117,
  1171. 117, 117, 64, 59, 62, 64, 122, 124, 1507, 59,
  1172. 59, 59, 59, 59, 59, 59, 62, 123, 126, 62,
  1173. 62, 65, 62, 62, 62, 65, 62, 63, 127, 128,
  1174. 63, 65, 76, 63, 1506, 124, 66, 95, 95, 95,
  1175. 95, 95, 95, 63, 1505, 65, 126, 129, 130, 65,
  1176. 63, 1279, 1504, 65, 1503, 63, 127, 128, 63, 65,
  1177. 131, 63, 125, 1279, 66, 1502, 125, 132, 1279, 63,
  1178. 63, 63, 63, 63, 1501, 129, 130, 1498, 63, 66,
  1179. 66, 66, 66, 120, 76, 76, 133, 118, 131, 76,
  1180. 125, 120, 76, 118, 125, 132, 76, 118, 134, 135,
  1181. 1497, 76, 76, 97, 138, 97, 97, 97, 97, 97,
  1182. 97, 120, 139, 140, 133, 118, 141, 142, 143, 120,
  1183. 137, 118, 144, 137, 137, 118, 134, 135, 137, 144,
  1184. 145, 146, 138, 147, 97, 149, 150, 148, 152, 151,
  1185. 139, 140, 153, 151, 141, 142, 143, 155, 137, 151,
  1186. 144, 137, 137, 148, 157, 160, 137, 144, 145, 146,
  1187. 162, 147, 97, 149, 150, 148, 152, 151, 163, 156,
  1188. 153, 151, 154, 159, 154, 155, 158, 151, 161, 154,
  1189. 165, 148, 157, 160, 164, 154, 156, 156, 162, 165,
  1190. 158, 167, 159, 1496, 164, 161, 163, 156, 168, 170,
  1191. 154, 159, 154, 1471, 158, 164, 161, 154, 165, 166,
  1192. 172, 174, 164, 154, 156, 156, 171, 165, 158, 167,
  1193. 159, 166, 164, 161, 169, 166, 168, 170, 1470, 173,
  1194. 169, 171, 173, 164, 169, 179, 1469, 166, 172, 174,
  1195. 180, 183, 1468, 186, 171, 182, 182, 1467, 1466, 166,
  1196. 177, 177, 169, 166, 1465, 190, 177, 173, 169, 171,
  1197. 173, 191, 169, 179, 180, 180, 192, 177, 180, 183,
  1198. 180, 186, 185, 182, 182, 184, 184, 184, 185, 188,
  1199. 192, 180, 185, 190, 193, 346, 346, 188, 202, 191,
  1200. 1464, 346, 205, 197, 192, 201, 197, 197, 211, 194,
  1201. 185, 197, 346, 184, 184, 184, 185, 188, 215, 1462,
  1202. 185, 204, 193, 194, 194, 188, 202, 206, 204, 194,
  1203. 205, 197, 1461, 201, 197, 197, 211, 194, 218, 197,
  1204. 194, 197, 201, 206, 207, 207, 215, 207, 207, 204,
  1205. 208, 1460, 209, 217, 208, 206, 204, 210, 213, 210,
  1206. 208, 1459, 209, 209, 210, 217, 218, 225, 209, 217,
  1207. 210, 206, 206, 377, 377, 213, 377, 377, 208, 209,
  1208. 209, 217, 208, 1458, 219, 210, 213, 210, 208, 216,
  1209. 219, 220, 210, 217, 219, 225, 1457, 217, 210, 216,
  1210. 223, 213, 213, 213, 213, 213, 224, 245, 247, 224,
  1211. 216, 220, 219, 248, 249, 223, 1455, 216, 219, 220,
  1212. 1454, 1453, 219, 226, 226, 226, 226, 216, 223, 250,
  1213. 251, 252, 253, 254, 224, 245, 247, 224, 216, 255,
  1214. 256, 248, 249, 223, 242, 242, 242, 242, 242, 242,
  1215. 257, 258, 259, 260, 261, 261, 262, 250, 251, 252,
  1216. 253, 254, 263, 264, 265, 266, 267, 255, 256, 268,
  1217. 269, 270, 271, 272, 273, 274, 275, 277, 257, 258,
  1218. 259, 260, 261, 261, 262, 278, 279, 280, 281, 282,
  1219. 263, 264, 265, 266, 267, 283, 284, 268, 269, 270,
  1220. 271, 272, 273, 274, 275, 277, 285, 286, 287, 287,
  1221. 287, 287, 288, 278, 279, 280, 281, 282, 289, 290,
  1222. 287, 291, 292, 283, 284, 294, 295, 296, 297, 298,
  1223. 299, 300, 301, 302, 285, 286, 303, 304, 305, 306,
  1224. 288, 307, 308, 309, 310, 311, 289, 290, 287, 291,
  1225. 292, 314, 315, 294, 295, 296, 297, 298, 299, 300,
  1226. 301, 302, 316, 317, 303, 304, 305, 306, 318, 307,
  1227. 308, 309, 310, 311, 313, 319, 320, 321, 313, 314,
  1228. 315, 322, 323, 324, 325, 326, 327, 328, 329, 330,
  1229. 316, 317, 331, 332, 323, 334, 318, 335, 336, 337,
  1230. 338, 339, 313, 319, 320, 321, 313, 336, 340, 322,
  1231. 323, 324, 325, 326, 327, 328, 329, 330, 341, 342,
  1232. 331, 332, 323, 334, 343, 335, 336, 337, 338, 339,
  1233. 344, 345, 348, 349, 351, 336, 340, 352, 353, 353,
  1234. 354, 355, 357, 359, 360, 362, 341, 342, 365, 527,
  1235. 527, 527, 343, 536, 536, 536, 374, 375, 344, 345,
  1236. 348, 349, 351, 378, 379, 352, 353, 353, 354, 355,
  1237. 357, 359, 360, 362, 380, 382, 365, 366, 366, 366,
  1238. 366, 372, 372, 372, 374, 375, 384, 382, 385, 366,
  1239. 386, 378, 379, 387, 1452, 388, 392, 392, 392, 393,
  1240. 394, 408, 380, 382, 388, 372, 395, 395, 395, 395,
  1241. 409, 411, 413, 414, 384, 382, 385, 366, 386, 415,
  1242. 417, 387, 392, 388, 418, 419, 421, 393, 394, 408,
  1243. 422, 423, 388, 372, 412, 412, 412, 412, 409, 411,
  1244. 413, 414, 425, 423, 424, 424, 426, 415, 417, 427,
  1245. 392, 428, 418, 419, 421, 429, 430, 431, 422, 423,
  1246. 432, 433, 436, 437, 438, 439, 440, 441, 442, 444,
  1247. 425, 423, 424, 424, 426, 446, 447, 427, 448, 428,
  1248. 449, 450, 451, 429, 430, 431, 452, 453, 432, 433,
  1249. 436, 437, 438, 439, 440, 441, 442, 444, 454, 455,
  1250. 457, 458, 459, 446, 447, 460, 448, 461, 449, 450,
  1251. 451, 463, 464, 465, 452, 453, 467, 455, 468, 469,
  1252. 470, 471, 472, 473, 474, 475, 454, 455, 457, 458,
  1253. 459, 476, 477, 460, 478, 461, 479, 480, 481, 463,
  1254. 464, 465, 482, 483, 467, 455, 468, 469, 470, 471,
  1255. 472, 473, 474, 475, 484, 485, 486, 487, 488, 476,
  1256. 477, 490, 478, 489, 479, 480, 481, 489, 491, 492,
  1257. 482, 483, 493, 494, 495, 496, 498, 499, 501, 558,
  1258. 558, 558, 484, 485, 486, 487, 488, 503, 501, 490,
  1259. 504, 489, 505, 506, 507, 489, 491, 492, 508, 509,
  1260. 493, 494, 495, 496, 498, 499, 501, 502, 502, 502,
  1261. 502, 510, 512, 513, 517, 503, 501, 520, 504, 522,
  1262. 505, 506, 507, 521, 521, 523, 508, 509, 516, 516,
  1263. 516, 516, 524, 526, 529, 531, 533, 543, 546, 510,
  1264. 512, 513, 517, 547, 548, 520, 550, 522, 552, 553,
  1265. 556, 521, 521, 523, 555, 555, 555, 555, 564, 578,
  1266. 524, 526, 529, 531, 533, 543, 546, 579, 580, 581,
  1267. 582, 547, 548, 583, 550, 584, 552, 553, 556, 586,
  1268. 587, 589, 590, 592, 593, 594, 564, 578, 596, 597,
  1269. 598, 599, 600, 601, 602, 579, 580, 581, 582, 603,
  1270. 605, 583, 606, 584, 607, 1451, 1450, 586, 587, 589,
  1271. 590, 592, 593, 594, 610, 611, 596, 597, 598, 599,
  1272. 600, 601, 602, 604, 604, 604, 604, 603, 605, 612,
  1273. 606, 613, 607, 609, 609, 609, 609, 614, 615, 617,
  1274. 622, 624, 610, 611, 618, 618, 618, 618, 619, 619,
  1275. 619, 619, 620, 620, 620, 620, 623, 612, 625, 613,
  1276. 621, 621, 621, 621, 626, 614, 615, 617, 622, 624,
  1277. 623, 627, 628, 629, 630, 631, 632, 633, 634, 635,
  1278. 636, 637, 638, 639, 623, 640, 625, 641, 642, 643,
  1279. 633, 644, 626, 645, 646, 647, 648, 649, 623, 627,
  1280. 628, 629, 630, 631, 632, 633, 634, 635, 636, 637,
  1281. 638, 639, 650, 640, 652, 641, 642, 643, 633, 644,
  1282. 653, 645, 646, 647, 648, 649, 655, 656, 657, 658,
  1283. 659, 660, 661, 662, 663, 665, 666, 667, 668, 669,
  1284. 650, 670, 652, 671, 672, 675, 677, 678, 653, 679,
  1285. 680, 687, 689, 690, 655, 656, 657, 658, 659, 660,
  1286. 661, 662, 663, 665, 666, 667, 668, 669, 691, 670,
  1287. 695, 671, 672, 675, 677, 678, 713, 679, 680, 687,
  1288. 689, 690, 700, 700, 700, 700, 709, 709, 709, 710,
  1289. 710, 710, 711, 711, 711, 715, 691, 716, 695, 717,
  1290. 719, 721, 722, 723, 713, 739, 740, 741, 742, 742,
  1291. 742, 742, 743, 743, 743, 743, 744, 744, 744, 744,
  1292. 747, 748, 749, 715, 751, 716, 752, 717, 719, 721,
  1293. 722, 723, 753, 739, 740, 741, 745, 745, 745, 745,
  1294. 754, 755, 756, 758, 759, 760, 762, 763, 747, 748,
  1295. 749, 764, 751, 765, 752, 761, 761, 761, 761, 766,
  1296. 753, 767, 769, 770, 771, 772, 774, 775, 754, 755,
  1297. 756, 758, 759, 760, 762, 763, 776, 777, 779, 764,
  1298. 796, 765, 797, 799, 801, 802, 803, 766, 804, 767,
  1299. 769, 770, 771, 772, 774, 775, 805, 806, 807, 808,
  1300. 809, 810, 811, 812, 776, 777, 779, 813, 796, 815,
  1301. 797, 799, 801, 802, 803, 816, 804, 817, 818, 820,
  1302. 821, 822, 823, 824, 805, 806, 807, 808, 809, 810,
  1303. 811, 812, 825, 829, 832, 813, 834, 815, 835, 836,
  1304. 837, 838, 839, 816, 840, 817, 818, 820, 821, 822,
  1305. 823, 824, 841, 841, 841, 841, 842, 842, 842, 842,
  1306. 825, 829, 832, 845, 834, 846, 835, 836, 837, 838,
  1307. 839, 848, 840, 843, 843, 843, 843, 844, 844, 844,
  1308. 844, 849, 850, 852, 848, 853, 854, 855, 856, 856,
  1309. 856, 845, 873, 846, 857, 857, 857, 874, 876, 848,
  1310. 858, 858, 858, 859, 859, 859, 859, 878, 881, 849,
  1311. 850, 852, 848, 853, 854, 855, 882, 890, 891, 892,
  1312. 873, 909, 911, 912, 913, 874, 876, 914, 915, 874,
  1313. 916, 917, 919, 913, 921, 878, 881, 922, 923, 924,
  1314. 925, 1189, 1189, 1189, 882, 890, 891, 892, 1419, 909,
  1315. 911, 912, 913, 1418, 1417, 914, 915, 931, 916, 917,
  1316. 919, 1416, 921, 1415, 1414, 922, 923, 924, 925, 926,
  1317. 926, 926, 926, 927, 927, 927, 927, 928, 928, 928,
  1318. 928, 929, 929, 929, 929, 931, 932, 932, 932, 932,
  1319. 933, 933, 933, 933, 934, 934, 934, 934, 935, 935,
  1320. 935, 935, 937, 938, 939, 940, 941, 943, 945, 946,
  1321. 947, 948, 949, 950, 951, 952, 953, 956, 957, 958,
  1322. 959, 960, 961, 962, 963, 964, 965, 1413, 1412, 1411,
  1323. 937, 938, 939, 940, 941, 943, 945, 946, 947, 948,
  1324. 949, 950, 951, 952, 953, 956, 957, 958, 959, 960,
  1325. 961, 962, 963, 964, 965, 966, 966, 966, 967, 968,
  1326. 969, 971, 1410, 972, 974, 966, 973, 973, 973, 976,
  1327. 994, 995, 996, 998, 1000, 1001, 973, 1016, 1409, 1408,
  1328. 1407, 966, 1406, 1405, 1403, 1026, 967, 968, 969, 971,
  1329. 966, 972, 974, 966, 1027, 1028, 1029, 976, 994, 995,
  1330. 996, 998, 1000, 1001, 973, 1016, 1018, 1018, 1018, 966,
  1331. 1020, 1020, 1020, 1026, 1031, 1402, 1018, 1032, 1033, 1034,
  1332. 1020, 1035, 1027, 1028, 1029, 1036, 1038, 1039, 1040, 1040,
  1333. 1040, 1040, 1018, 1041, 1041, 1041, 1041, 1042, 1042, 1042,
  1334. 1042, 1018, 1031, 1018, 1018, 1032, 1033, 1034, 1020, 1035,
  1335. 1060, 1078, 1079, 1036, 1038, 1039, 1043, 1043, 1043, 1043,
  1336. 1018, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1088, 1089,
  1337. 1090, 1091, 1092, 1093, 1094, 1096, 1097, 1098, 1060, 1078,
  1338. 1079, 1100, 1101, 1102, 1103, 1104, 1105, 1401, 1107, 1080,
  1339. 1081, 1082, 1083, 1084, 1085, 1086, 1088, 1089, 1090, 1091,
  1340. 1092, 1093, 1094, 1096, 1097, 1098, 1108, 1109, 1110, 1100,
  1341. 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1111, 1112, 1114,
  1342. 1115, 1106, 1116, 1117, 1118, 1121, 1122, 1128, 1128, 1128,
  1343. 1129, 1131, 1132, 1133, 1108, 1109, 1110, 1400, 1135, 1137,
  1344. 1137, 1137, 1118, 1106, 1135, 1111, 1112, 1114, 1115, 1106,
  1345. 1116, 1117, 1118, 1121, 1122, 1139, 1140, 1141, 1129, 1131,
  1346. 1132, 1133, 1142, 1143, 1128, 1128, 1135, 1144, 1145, 1146,
  1347. 1118, 1147, 1135, 1148, 1149, 1150, 1137, 1137, 1167, 1168,
  1348. 1169, 1170, 1171, 1139, 1140, 1141, 1173, 1175, 1176, 1177,
  1349. 1142, 1143, 1178, 1179, 1180, 1144, 1145, 1146, 1181, 1147,
  1350. 1183, 1148, 1149, 1150, 1184, 1185, 1167, 1168, 1169, 1170,
  1351. 1171, 1187, 1188, 1193, 1173, 1175, 1176, 1177, 1194, 1195,
  1352. 1178, 1179, 1180, 1196, 1197, 1198, 1181, 1199, 1183, 1201,
  1353. 1202, 1204, 1184, 1185, 1205, 1206, 1207, 1208, 1216, 1187,
  1354. 1188, 1193, 1202, 1222, 1229, 1399, 1194, 1195, 1230, 1232,
  1355. 1233, 1196, 1197, 1198, 1234, 1199, 1219, 1201, 1202, 1204,
  1356. 1235, 1236, 1205, 1206, 1207, 1208, 1216, 1238, 1219, 1239,
  1357. 1202, 1222, 1229, 1219, 1219, 1240, 1230, 1232, 1233, 1241,
  1358. 1242, 1243, 1234, 1247, 1248, 1249, 1251, 1252, 1235, 1236,
  1359. 1253, 1254, 1255, 1256, 1257, 1238, 1258, 1239, 1259, 1260,
  1360. 1261, 1262, 1263, 1240, 1264, 1265, 1267, 1241, 1242, 1243,
  1361. 1268, 1247, 1248, 1249, 1251, 1252, 1270, 1271, 1253, 1254,
  1362. 1255, 1256, 1257, 1272, 1258, 1273, 1259, 1260, 1261, 1262,
  1363. 1263, 1274, 1264, 1265, 1267, 1275, 1276, 1277, 1268, 1283,
  1364. 1291, 1298, 1299, 1294, 1270, 1271, 1300, 1301, 1302, 1303,
  1365. 1304, 1272, 1305, 1273, 1306, 1294, 1307, 1308, 1309, 1274,
  1366. 1294, 1311, 1312, 1275, 1276, 1277, 1314, 1283, 1291, 1298,
  1367. 1299, 1317, 1319, 1320, 1300, 1301, 1302, 1303, 1304, 1321,
  1368. 1305, 1322, 1306, 1323, 1307, 1308, 1309, 1325, 1327, 1311,
  1369. 1312, 1328, 1329, 1331, 1314, 1333, 1334, 1335, 1336, 1317,
  1370. 1319, 1320, 1337, 1339, 1340, 1341, 1348, 1321, 1363, 1322,
  1371. 1365, 1323, 1367, 1368, 1369, 1325, 1327, 1370, 1398, 1328,
  1372. 1329, 1331, 1374, 1333, 1334, 1335, 1336, 1375, 1376, 1377,
  1373. 1337, 1339, 1340, 1341, 1348, 1378, 1363, 1379, 1365, 1380,
  1374. 1367, 1368, 1369, 1371, 1381, 1370, 1371, 1382, 1383, 1384,
  1375. 1374, 1385, 1387, 1388, 1389, 1375, 1376, 1377, 1390, 1391,
  1376. 1392, 1393, 1394, 1378, 1395, 1379, 1396, 1380, 1404, 1420,
  1377. 1421, 1371, 1381, 1423, 1371, 1382, 1383, 1384, 1425, 1385,
  1378. 1387, 1388, 1389, 1426, 1427, 1428, 1390, 1391, 1392, 1393,
  1379. 1394, 1429, 1395, 1432, 1396, 1433, 1404, 1420, 1421, 1434,
  1380. 1435, 1423, 1436, 1437, 1438, 1439, 1425, 1441, 1442, 1444,
  1381. 1445, 1426, 1427, 1428, 1446, 1447, 1448, 1449, 1472, 1429,
  1382. 1473, 1432, 1474, 1433, 1475, 1476, 1477, 1434, 1435, 1479,
  1383. 1436, 1437, 1438, 1439, 1480, 1441, 1442, 1444, 1445, 1481,
  1384. 1482, 1483, 1446, 1447, 1448, 1449, 1472, 1484, 1473, 1485,
  1385. 1474, 1486, 1475, 1476, 1477, 1487, 1488, 1479, 1489, 1492,
  1386. 1493, 1516, 1480, 1517, 1518, 1519, 1520, 1481, 1482, 1483,
  1387. 1521, 1524, 1525, 1526, 1527, 1484, 1528, 1485, 1529, 1486,
  1388. 1530, 1531, 1532, 1487, 1488, 1533, 1489, 1492, 1493, 1516,
  1389. 1534, 1517, 1518, 1519, 1520, 1551, 1552, 1554, 1521, 1524,
  1390. 1525, 1526, 1527, 1555, 1528, 1559, 1529, 1560, 1530, 1531,
  1391. 1532, 1563, 1578, 1533, 1580, 1582, 1583, 1584, 1534, 1594,
  1392. 1595, 1596, 1598, 1551, 1552, 1554, 1603, 1604, 1606, 1611,
  1393. 1612, 1555, 1613, 1559, 1617, 1560, 1618, 1619, 1622, 1563,
  1394. 1578, 1362, 1580, 1582, 1583, 1584, 1361, 1594, 1595, 1596,
  1395. 1598, 1360, 1359, 1358, 1603, 1604, 1606, 1611, 1612, 1357,
  1396. 1613, 1355, 1617, 1354, 1618, 1619, 1622, 1627, 1627, 1627,
  1397. 1627, 1628, 1628, 1628, 1628, 1630, 1353, 1352, 1630, 1631,
  1398. 1351, 1631, 1631, 1632, 1350, 1632, 1632, 1349, 1347, 1346,
  1399. 1345, 1344, 1343, 1342, 1318, 1297, 1296, 1293, 1290, 1289,
  1400. 1288, 1287, 1286, 1285, 1284, 1282, 1281, 1278, 1266, 1228,
  1401. 1227, 1226, 1225, 1224, 1223, 1221, 1215, 1214, 1213, 1212,
  1402. 1211, 1200, 1136, 1134, 1130, 1127, 1124, 1022, 1019, 1017,
  1403. 1014, 1013, 999, 930, 889, 887, 884, 883, 879, 872,
  1404. 861, 860, 851, 830, 750, 738, 736, 735, 734, 730,
  1405. 728, 724, 720, 718, 712, 708, 704, 703, 694, 693,
  1406. 692, 688, 682, 595, 577, 576, 575, 573, 572, 571,
  1407. 570, 569, 566, 559, 557, 551, 549, 544, 542, 541,
  1408. 540, 539, 537, 535, 534, 532, 515, 407, 406, 405,
  1409. 404, 403, 402, 401, 400, 399, 398, 397, 396, 391,
  1410. 390, 389, 383, 381, 376, 373, 371, 370, 369, 368,
  1411. 367, 364, 361, 358, 356, 350, 347, 312, 246, 241,
  1412. 240, 239, 238, 237, 235, 234, 232, 222, 221, 214,
  1413. 212, 203, 200, 199, 198, 195, 189, 187, 181, 178,
  1414. 102, 98, 83, 82, 81, 80, 77, 71, 22, 15,
  1415. 13, 11, 7, 6, 5, 1626, 1626, 1626, 1626, 1626,
  1416. 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626,
  1417. 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626,
  1418. 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626,
  1419. 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626,
  1420. 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626,
  1421. 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626,
  1422. 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626,
  1423. 1626, 1626, 1626
  1424. } ;
  1425. /* The intent behind this definition is that it'll catch
  1426. * any uses of REJECT which flex missed.
  1427. */
  1428. #define REJECT reject_used_but_not_detected
  1429. #define yymore() yymore_used_but_not_detected
  1430. #define YY_MORE_ADJ 0
  1431. #define YY_RESTORE_YY_MORE_OFFSET
  1432. #line 1 "gpu/lolfx-scanner.l"
  1433. #line 2 "gpu/lolfx-scanner.l"
  1434. //
  1435. // Lol Engine
  1436. //
  1437. // Copyright: (c) 2010-2012 Sam Hocevar <sam@hocevar.net>
  1438. // This program is free software; you can redistribute it and/or
  1439. // modify it under the terms of the Do What The Fuck You Want To
  1440. // Public License, Version 2, as published by Sam Hocevar. See
  1441. // http://www.wtfpl.net/ for more details.
  1442. //
  1443. #if defined HAVE_CONFIG_H
  1444. # include "config.h"
  1445. #endif
  1446. #include <cstdlib>
  1447. using std::exit;
  1448. using std::malloc;
  1449. using std::realloc;
  1450. using std::free;
  1451. #include <iostream>
  1452. #include "core.h"
  1453. #include "gpu/lolfx-compiler.h"
  1454. typedef lol::LolFxParser::token token;
  1455. typedef lol::LolFxParser::token_type token_type;
  1456. #ifndef YY_DECL
  1457. # define YY_DECL lol::LolFxParser::token_type \
  1458. lol::LolFxScanner::lex(lol::LolFxParser::semantic_type* yylval, \
  1459. lol::LolFxParser::location_type* yylloc)
  1460. #endif
  1461. #define yyterminate() return token::T_END
  1462. #define YY_NO_UNISTD_H
  1463. #define YY_USER_ACTION yylloc->columns(yyleng);
  1464. #line 1657 "generated/lolfx-scanner.cpp"
  1465. #define INITIAL 0
  1466. #define C_COMMENT 1
  1467. #define CPP_COMMENT 2
  1468. #ifndef YY_NO_UNISTD_H
  1469. /* Special case for "unistd.h", since it is non-ANSI. We include it way
  1470. * down here because we want the user's section 1 to have been scanned first.
  1471. * The user has a chance to override it with an option.
  1472. */
  1473. #include <unistd.h>
  1474. #endif
  1475. #ifndef YY_EXTRA_TYPE
  1476. #define YY_EXTRA_TYPE void *
  1477. #endif
  1478. #ifndef yytext_ptr
  1479. static void yy_flex_strncpy (char *,yyconst char *,int );
  1480. #endif
  1481. #ifdef YY_NEED_STRLEN
  1482. static int yy_flex_strlen (yyconst char * );
  1483. #endif
  1484. #ifndef YY_NO_INPUT
  1485. #endif
  1486. /* Amount of stuff to slurp up with each read. */
  1487. #ifndef YY_READ_BUF_SIZE
  1488. #ifdef __ia64__
  1489. /* On IA-64, the buffer size is 16k, not 8k */
  1490. #define YY_READ_BUF_SIZE 16384
  1491. #else
  1492. #define YY_READ_BUF_SIZE 8192
  1493. #endif /* __ia64__ */
  1494. #endif
  1495. /* Copy whatever the last rule matched to the standard output. */
  1496. #ifndef ECHO
  1497. #define ECHO LexerOutput( yytext, yyleng )
  1498. #endif
  1499. /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
  1500. * is returned in "result".
  1501. */
  1502. #ifndef YY_INPUT
  1503. #define YY_INPUT(buf,result,max_size) \
  1504. \
  1505. if ( (result = LexerInput( (char *) buf, max_size )) < 0 ) \
  1506. YY_FATAL_ERROR( "input in flex scanner failed" );
  1507. #endif
  1508. /* No semi-colon after return; correct usage is to write "yyterminate();" -
  1509. * we don't want an extra ';' after the "return" because that will cause
  1510. * some compilers to complain about unreachable statements.
  1511. */
  1512. #ifndef yyterminate
  1513. #define yyterminate() return YY_NULL
  1514. #endif
  1515. /* Number of entries by which start-condition stack grows. */
  1516. #ifndef YY_START_STACK_INCR
  1517. #define YY_START_STACK_INCR 25
  1518. #endif
  1519. /* Report a fatal error. */
  1520. #ifndef YY_FATAL_ERROR
  1521. #define YY_FATAL_ERROR(msg) LexerError( msg )
  1522. #endif
  1523. /* end tables serialization structures and prototypes */
  1524. /* Default declaration of generated scanner - a define so the user can
  1525. * easily add parameters.
  1526. */
  1527. #ifndef YY_DECL
  1528. #define YY_DECL_IS_OURS 1
  1529. #define YY_DECL int yyFlexLexer::yylex()
  1530. #endif /* !YY_DECL */
  1531. /* Code executed at the beginning of each rule, after yytext and yyleng
  1532. * have been set up.
  1533. */
  1534. #ifndef YY_USER_ACTION
  1535. #define YY_USER_ACTION
  1536. #endif
  1537. /* Code executed at the end of each rule. */
  1538. #ifndef YY_BREAK
  1539. #define YY_BREAK break;
  1540. #endif
  1541. #define YY_RULE_SETUP \
  1542. YY_USER_ACTION
  1543. /** The main scanner function which does all the work.
  1544. */
  1545. YY_DECL
  1546. {
  1547. register yy_state_type yy_current_state;
  1548. register char *yy_cp, *yy_bp;
  1549. register int yy_act;
  1550. #line 46 "gpu/lolfx-scanner.l"
  1551. /* reset location at the beginning of yylex() */
  1552. yylloc->step();
  1553. int language_guess = INITIAL;
  1554. /*
  1555. * GLSL keywords
  1556. */
  1557. #line 1778 "generated/lolfx-scanner.cpp"
  1558. if ( !(yy_init) )
  1559. {
  1560. (yy_init) = 1;
  1561. #ifdef YY_USER_INIT
  1562. YY_USER_INIT;
  1563. #endif
  1564. if ( ! (yy_start) )
  1565. (yy_start) = 1; /* first start state */
  1566. if ( ! yyin )
  1567. yyin = & std::cin;
  1568. if ( ! yyout )
  1569. yyout = & std::cout;
  1570. if ( ! YY_CURRENT_BUFFER ) {
  1571. yyensure_buffer_stack ();
  1572. YY_CURRENT_BUFFER_LVALUE =
  1573. yy_create_buffer( yyin, YY_BUF_SIZE );
  1574. }
  1575. yy_load_buffer_state( );
  1576. }
  1577. while ( 1 ) /* loops until end-of-file is reached */
  1578. {
  1579. yy_cp = (yy_c_buf_p);
  1580. /* Support of yytext. */
  1581. *yy_cp = (yy_hold_char);
  1582. /* yy_bp points to the position in yy_ch_buf of the start of
  1583. * the current run.
  1584. */
  1585. yy_bp = yy_cp;
  1586. yy_current_state = (yy_start);
  1587. yy_match:
  1588. do
  1589. {
  1590. register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
  1591. if ( yy_accept[yy_current_state] )
  1592. {
  1593. (yy_last_accepting_state) = yy_current_state;
  1594. (yy_last_accepting_cpos) = yy_cp;
  1595. }
  1596. while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
  1597. {
  1598. yy_current_state = (int) yy_def[yy_current_state];
  1599. if ( yy_current_state >= 1627 )
  1600. yy_c = yy_meta[(unsigned int) yy_c];
  1601. }
  1602. yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
  1603. ++yy_cp;
  1604. }
  1605. while ( yy_current_state != 1626 );
  1606. yy_cp = (yy_last_accepting_cpos);
  1607. yy_current_state = (yy_last_accepting_state);
  1608. yy_find_action:
  1609. yy_act = yy_accept[yy_current_state];
  1610. YY_DO_BEFORE_ACTION;
  1611. do_action: /* This label is used only to access EOF actions. */
  1612. switch ( yy_act )
  1613. { /* beginning of action switch */
  1614. case 0: /* must back up */
  1615. /* undo the effects of YY_DO_BEFORE_ACTION */
  1616. *yy_cp = (yy_hold_char);
  1617. yy_cp = (yy_last_accepting_cpos);
  1618. yy_current_state = (yy_last_accepting_state);
  1619. goto yy_find_action;
  1620. case 1:
  1621. YY_RULE_SETUP
  1622. #line 59 "gpu/lolfx-scanner.l"
  1623. { return token::GT_SUBROUTINE; }
  1624. YY_BREAK
  1625. case 2:
  1626. YY_RULE_SETUP
  1627. #line 60 "gpu/lolfx-scanner.l"
  1628. { return token::GT_PATCH; }
  1629. YY_BREAK
  1630. case 3:
  1631. YY_RULE_SETUP
  1632. #line 61 "gpu/lolfx-scanner.l"
  1633. { return token::GT_SAMPLE; }
  1634. YY_BREAK
  1635. case 4:
  1636. YY_RULE_SETUP
  1637. #line 62 "gpu/lolfx-scanner.l"
  1638. { return token::GT_FLAT; }
  1639. YY_BREAK
  1640. case 5:
  1641. YY_RULE_SETUP
  1642. #line 63 "gpu/lolfx-scanner.l"
  1643. { return token::GT_SMOOTH; }
  1644. YY_BREAK
  1645. case 6:
  1646. YY_RULE_SETUP
  1647. #line 64 "gpu/lolfx-scanner.l"
  1648. { return token::GT_LAYOUT; }
  1649. YY_BREAK
  1650. case 7:
  1651. YY_RULE_SETUP
  1652. #line 65 "gpu/lolfx-scanner.l"
  1653. { return token::GT_SAMPLER1DSHADOW; }
  1654. YY_BREAK
  1655. case 8:
  1656. YY_RULE_SETUP
  1657. #line 66 "gpu/lolfx-scanner.l"
  1658. { return token::GT_SAMPLER2DSHADOW; }
  1659. YY_BREAK
  1660. case 9:
  1661. YY_RULE_SETUP
  1662. #line 67 "gpu/lolfx-scanner.l"
  1663. { return token::GT_SAMPLERCUBESHADOW; }
  1664. YY_BREAK
  1665. case 10:
  1666. YY_RULE_SETUP
  1667. #line 68 "gpu/lolfx-scanner.l"
  1668. { return token::GT_SAMPLER1DARRAY; }
  1669. YY_BREAK
  1670. case 11:
  1671. YY_RULE_SETUP
  1672. #line 69 "gpu/lolfx-scanner.l"
  1673. { return token::GT_SAMPLER2DARRAY; }
  1674. YY_BREAK
  1675. case 12:
  1676. YY_RULE_SETUP
  1677. #line 70 "gpu/lolfx-scanner.l"
  1678. { return token::GT_SAMPLER1DARRAYSHADOW; }
  1679. YY_BREAK
  1680. case 13:
  1681. YY_RULE_SETUP
  1682. #line 71 "gpu/lolfx-scanner.l"
  1683. { return token::GT_SAMPLER2DARRAYSHADOW; }
  1684. YY_BREAK
  1685. case 14:
  1686. YY_RULE_SETUP
  1687. #line 72 "gpu/lolfx-scanner.l"
  1688. { return token::GT_ISAMPLER1D; }
  1689. YY_BREAK
  1690. case 15:
  1691. YY_RULE_SETUP
  1692. #line 73 "gpu/lolfx-scanner.l"
  1693. { return token::GT_ISAMPLER2D; }
  1694. YY_BREAK
  1695. case 16:
  1696. YY_RULE_SETUP
  1697. #line 74 "gpu/lolfx-scanner.l"
  1698. { return token::GT_ISAMPLER3D; }
  1699. YY_BREAK
  1700. case 17:
  1701. YY_RULE_SETUP
  1702. #line 75 "gpu/lolfx-scanner.l"
  1703. { return token::GT_ISAMPLERCUBE; }
  1704. YY_BREAK
  1705. case 18:
  1706. YY_RULE_SETUP
  1707. #line 76 "gpu/lolfx-scanner.l"
  1708. { return token::GT_ISAMPLER1DARRAY; }
  1709. YY_BREAK
  1710. case 19:
  1711. YY_RULE_SETUP
  1712. #line 77 "gpu/lolfx-scanner.l"
  1713. { return token::GT_ISAMPLER2DARRAY; }
  1714. YY_BREAK
  1715. case 20:
  1716. YY_RULE_SETUP
  1717. #line 78 "gpu/lolfx-scanner.l"
  1718. { return token::GT_USAMPLER1D; }
  1719. YY_BREAK
  1720. case 21:
  1721. YY_RULE_SETUP
  1722. #line 79 "gpu/lolfx-scanner.l"
  1723. { return token::GT_USAMPLER2D; }
  1724. YY_BREAK
  1725. case 22:
  1726. YY_RULE_SETUP
  1727. #line 80 "gpu/lolfx-scanner.l"
  1728. { return token::GT_USAMPLER3D; }
  1729. YY_BREAK
  1730. case 23:
  1731. YY_RULE_SETUP
  1732. #line 81 "gpu/lolfx-scanner.l"
  1733. { return token::GT_USAMPLERCUBE; }
  1734. YY_BREAK
  1735. case 24:
  1736. YY_RULE_SETUP
  1737. #line 82 "gpu/lolfx-scanner.l"
  1738. { return token::GT_USAMPLER1DARRAY; }
  1739. YY_BREAK
  1740. case 25:
  1741. YY_RULE_SETUP
  1742. #line 83 "gpu/lolfx-scanner.l"
  1743. { return token::GT_USAMPLER2DARRAY; }
  1744. YY_BREAK
  1745. case 26:
  1746. YY_RULE_SETUP
  1747. #line 84 "gpu/lolfx-scanner.l"
  1748. { return token::GT_SAMPLER2DRECT; }
  1749. YY_BREAK
  1750. case 27:
  1751. YY_RULE_SETUP
  1752. #line 85 "gpu/lolfx-scanner.l"
  1753. { return token::GT_SAMPLER2DRECTSHADOW; }
  1754. YY_BREAK
  1755. case 28:
  1756. YY_RULE_SETUP
  1757. #line 86 "gpu/lolfx-scanner.l"
  1758. { return token::GT_ISAMPLER2DRECT; }
  1759. YY_BREAK
  1760. case 29:
  1761. YY_RULE_SETUP
  1762. #line 87 "gpu/lolfx-scanner.l"
  1763. { return token::GT_USAMPLER2DRECT; }
  1764. YY_BREAK
  1765. case 30:
  1766. YY_RULE_SETUP
  1767. #line 88 "gpu/lolfx-scanner.l"
  1768. { return token::GT_SAMPLERBUFFER; }
  1769. YY_BREAK
  1770. case 31:
  1771. YY_RULE_SETUP
  1772. #line 89 "gpu/lolfx-scanner.l"
  1773. { return token::GT_ISAMPLERBUFFER; }
  1774. YY_BREAK
  1775. case 32:
  1776. YY_RULE_SETUP
  1777. #line 90 "gpu/lolfx-scanner.l"
  1778. { return token::GT_USAMPLERBUFFER; }
  1779. YY_BREAK
  1780. case 33:
  1781. YY_RULE_SETUP
  1782. #line 91 "gpu/lolfx-scanner.l"
  1783. { return token::GT_SAMPLERCUBEARRAY; }
  1784. YY_BREAK
  1785. case 34:
  1786. YY_RULE_SETUP
  1787. #line 92 "gpu/lolfx-scanner.l"
  1788. { return token::GT_SAMPLERCUBEARRAYSHADOW; }
  1789. YY_BREAK
  1790. case 35:
  1791. YY_RULE_SETUP
  1792. #line 93 "gpu/lolfx-scanner.l"
  1793. { return token::GT_ISAMPLERCUBEARRAY; }
  1794. YY_BREAK
  1795. case 36:
  1796. YY_RULE_SETUP
  1797. #line 94 "gpu/lolfx-scanner.l"
  1798. { return token::GT_USAMPLERCUBEARRAY; }
  1799. YY_BREAK
  1800. case 37:
  1801. YY_RULE_SETUP
  1802. #line 95 "gpu/lolfx-scanner.l"
  1803. { return token::GT_SAMPLER2DMS; }
  1804. YY_BREAK
  1805. case 38:
  1806. YY_RULE_SETUP
  1807. #line 96 "gpu/lolfx-scanner.l"
  1808. { return token::GT_ISAMPLER2DMS; }
  1809. YY_BREAK
  1810. case 39:
  1811. YY_RULE_SETUP
  1812. #line 97 "gpu/lolfx-scanner.l"
  1813. { return token::GT_USAMPLER2DMS; }
  1814. YY_BREAK
  1815. case 40:
  1816. YY_RULE_SETUP
  1817. #line 98 "gpu/lolfx-scanner.l"
  1818. { return token::GT_SAMPLER2DMSARRAY; }
  1819. YY_BREAK
  1820. case 41:
  1821. YY_RULE_SETUP
  1822. #line 99 "gpu/lolfx-scanner.l"
  1823. { return token::GT_ISAMPLER2DMSARRAY; }
  1824. YY_BREAK
  1825. case 42:
  1826. YY_RULE_SETUP
  1827. #line 100 "gpu/lolfx-scanner.l"
  1828. { return token::GT_USAMPLER2DMSARRAY; }
  1829. YY_BREAK
  1830. case 43:
  1831. YY_RULE_SETUP
  1832. #line 102 "gpu/lolfx-scanner.l"
  1833. { return token::GT_HIGHP; }
  1834. YY_BREAK
  1835. case 44:
  1836. YY_RULE_SETUP
  1837. #line 103 "gpu/lolfx-scanner.l"
  1838. { return token::GT_MEDIUMP; }
  1839. YY_BREAK
  1840. case 45:
  1841. YY_RULE_SETUP
  1842. #line 104 "gpu/lolfx-scanner.l"
  1843. { return token::GT_LOWP; }
  1844. YY_BREAK
  1845. case 46:
  1846. YY_RULE_SETUP
  1847. #line 105 "gpu/lolfx-scanner.l"
  1848. { return token::GT_PRECISION; }
  1849. YY_BREAK
  1850. case 47:
  1851. YY_RULE_SETUP
  1852. #line 106 "gpu/lolfx-scanner.l"
  1853. { return token::GT_INVARIANT; }
  1854. YY_BREAK
  1855. /*
  1856. * Deprecated GLSL keywords
  1857. */
  1858. case 48:
  1859. YY_RULE_SETUP
  1860. #line 112 "gpu/lolfx-scanner.l"
  1861. { return token::GT_ATTRIBUTE; }
  1862. YY_BREAK
  1863. case 49:
  1864. YY_RULE_SETUP
  1865. #line 113 "gpu/lolfx-scanner.l"
  1866. { return token::GT_VARYING; }
  1867. YY_BREAK
  1868. /*
  1869. * GLSL vector types
  1870. */
  1871. case 50:
  1872. YY_RULE_SETUP
  1873. #line 119 "gpu/lolfx-scanner.l"
  1874. { return token::GT_BVEC2; }
  1875. YY_BREAK
  1876. case 51:
  1877. YY_RULE_SETUP
  1878. #line 120 "gpu/lolfx-scanner.l"
  1879. { return token::GT_BVEC3; }
  1880. YY_BREAK
  1881. case 52:
  1882. YY_RULE_SETUP
  1883. #line 121 "gpu/lolfx-scanner.l"
  1884. { return token::GT_BVEC4; }
  1885. YY_BREAK
  1886. case 53:
  1887. YY_RULE_SETUP
  1888. #line 123 "gpu/lolfx-scanner.l"
  1889. { return token::GT_IVEC2; }
  1890. YY_BREAK
  1891. case 54:
  1892. YY_RULE_SETUP
  1893. #line 124 "gpu/lolfx-scanner.l"
  1894. { return token::GT_IVEC3; }
  1895. YY_BREAK
  1896. case 55:
  1897. YY_RULE_SETUP
  1898. #line 125 "gpu/lolfx-scanner.l"
  1899. { return token::GT_IVEC4; }
  1900. YY_BREAK
  1901. case 56:
  1902. YY_RULE_SETUP
  1903. #line 127 "gpu/lolfx-scanner.l"
  1904. { return token::GT_UVEC2; }
  1905. YY_BREAK
  1906. case 57:
  1907. YY_RULE_SETUP
  1908. #line 128 "gpu/lolfx-scanner.l"
  1909. { return token::GT_UVEC3; }
  1910. YY_BREAK
  1911. case 58:
  1912. YY_RULE_SETUP
  1913. #line 129 "gpu/lolfx-scanner.l"
  1914. { return token::GT_UVEC4; }
  1915. YY_BREAK
  1916. case 59:
  1917. YY_RULE_SETUP
  1918. #line 131 "gpu/lolfx-scanner.l"
  1919. { return token::GT_VEC2; }
  1920. YY_BREAK
  1921. case 60:
  1922. YY_RULE_SETUP
  1923. #line 132 "gpu/lolfx-scanner.l"
  1924. { return token::GT_VEC3; }
  1925. YY_BREAK
  1926. case 61:
  1927. YY_RULE_SETUP
  1928. #line 133 "gpu/lolfx-scanner.l"
  1929. { return token::GT_VEC4; }
  1930. YY_BREAK
  1931. case 62:
  1932. YY_RULE_SETUP
  1933. #line 134 "gpu/lolfx-scanner.l"
  1934. { return token::GT_MAT2; }
  1935. YY_BREAK
  1936. case 63:
  1937. YY_RULE_SETUP
  1938. #line 135 "gpu/lolfx-scanner.l"
  1939. { return token::GT_MAT2X2; }
  1940. YY_BREAK
  1941. case 64:
  1942. YY_RULE_SETUP
  1943. #line 136 "gpu/lolfx-scanner.l"
  1944. { return token::GT_MAT2X3; }
  1945. YY_BREAK
  1946. case 65:
  1947. YY_RULE_SETUP
  1948. #line 137 "gpu/lolfx-scanner.l"
  1949. { return token::GT_MAT2X4; }
  1950. YY_BREAK
  1951. case 66:
  1952. YY_RULE_SETUP
  1953. #line 138 "gpu/lolfx-scanner.l"
  1954. { return token::GT_MAT3; }
  1955. YY_BREAK
  1956. case 67:
  1957. YY_RULE_SETUP
  1958. #line 139 "gpu/lolfx-scanner.l"
  1959. { return token::GT_MAT3X2; }
  1960. YY_BREAK
  1961. case 68:
  1962. YY_RULE_SETUP
  1963. #line 140 "gpu/lolfx-scanner.l"
  1964. { return token::GT_MAT3X3; }
  1965. YY_BREAK
  1966. case 69:
  1967. YY_RULE_SETUP
  1968. #line 141 "gpu/lolfx-scanner.l"
  1969. { return token::GT_MAT3X4; }
  1970. YY_BREAK
  1971. case 70:
  1972. YY_RULE_SETUP
  1973. #line 142 "gpu/lolfx-scanner.l"
  1974. { return token::GT_MAT4; }
  1975. YY_BREAK
  1976. case 71:
  1977. YY_RULE_SETUP
  1978. #line 143 "gpu/lolfx-scanner.l"
  1979. { return token::GT_MAT4X2; }
  1980. YY_BREAK
  1981. case 72:
  1982. YY_RULE_SETUP
  1983. #line 144 "gpu/lolfx-scanner.l"
  1984. { return token::GT_MAT4X3; }
  1985. YY_BREAK
  1986. case 73:
  1987. YY_RULE_SETUP
  1988. #line 145 "gpu/lolfx-scanner.l"
  1989. { return token::GT_MAT4X4; }
  1990. YY_BREAK
  1991. case 74:
  1992. YY_RULE_SETUP
  1993. #line 147 "gpu/lolfx-scanner.l"
  1994. { return token::GT_DVEC2; }
  1995. YY_BREAK
  1996. case 75:
  1997. YY_RULE_SETUP
  1998. #line 148 "gpu/lolfx-scanner.l"
  1999. { return token::GT_DVEC3; }
  2000. YY_BREAK
  2001. case 76:
  2002. YY_RULE_SETUP
  2003. #line 149 "gpu/lolfx-scanner.l"
  2004. { return token::GT_DVEC4; }
  2005. YY_BREAK
  2006. case 77:
  2007. YY_RULE_SETUP
  2008. #line 150 "gpu/lolfx-scanner.l"
  2009. { return token::GT_DMAT2; }
  2010. YY_BREAK
  2011. case 78:
  2012. YY_RULE_SETUP
  2013. #line 151 "gpu/lolfx-scanner.l"
  2014. { return token::GT_DMAT2X2; }
  2015. YY_BREAK
  2016. case 79:
  2017. YY_RULE_SETUP
  2018. #line 152 "gpu/lolfx-scanner.l"
  2019. { return token::GT_DMAT2X3; }
  2020. YY_BREAK
  2021. case 80:
  2022. YY_RULE_SETUP
  2023. #line 153 "gpu/lolfx-scanner.l"
  2024. { return token::GT_DMAT2X4; }
  2025. YY_BREAK
  2026. case 81:
  2027. YY_RULE_SETUP
  2028. #line 154 "gpu/lolfx-scanner.l"
  2029. { return token::GT_DMAT3; }
  2030. YY_BREAK
  2031. case 82:
  2032. YY_RULE_SETUP
  2033. #line 155 "gpu/lolfx-scanner.l"
  2034. { return token::GT_DMAT3X2; }
  2035. YY_BREAK
  2036. case 83:
  2037. YY_RULE_SETUP
  2038. #line 156 "gpu/lolfx-scanner.l"
  2039. { return token::GT_DMAT3X3; }
  2040. YY_BREAK
  2041. case 84:
  2042. YY_RULE_SETUP
  2043. #line 157 "gpu/lolfx-scanner.l"
  2044. { return token::GT_DMAT3X4; }
  2045. YY_BREAK
  2046. case 85:
  2047. YY_RULE_SETUP
  2048. #line 158 "gpu/lolfx-scanner.l"
  2049. { return token::GT_DMAT4; }
  2050. YY_BREAK
  2051. case 86:
  2052. YY_RULE_SETUP
  2053. #line 159 "gpu/lolfx-scanner.l"
  2054. { return token::GT_DMAT4X2; }
  2055. YY_BREAK
  2056. case 87:
  2057. YY_RULE_SETUP
  2058. #line 160 "gpu/lolfx-scanner.l"
  2059. { return token::GT_DMAT4X3; }
  2060. YY_BREAK
  2061. case 88:
  2062. YY_RULE_SETUP
  2063. #line 161 "gpu/lolfx-scanner.l"
  2064. { return token::GT_DMAT4X4; }
  2065. YY_BREAK
  2066. /*
  2067. * GLSL constant values
  2068. */
  2069. case 89:
  2070. YY_RULE_SETUP
  2071. #line 167 "gpu/lolfx-scanner.l"
  2072. { yylval->ival = 1; return token::BOOLCONSTANT; }
  2073. YY_BREAK
  2074. case 90:
  2075. YY_RULE_SETUP
  2076. #line 168 "gpu/lolfx-scanner.l"
  2077. { yylval->ival = 0; return token::BOOLCONSTANT; }
  2078. YY_BREAK
  2079. /*
  2080. * GLSL keywords that are also valid or reserved in HLSL
  2081. * and HLSL keywords that are also valid or reserved in GLSL.
  2082. */
  2083. case 91:
  2084. YY_RULE_SETUP
  2085. #line 175 "gpu/lolfx-scanner.l"
  2086. { return token::GHT_BOOL; }
  2087. YY_BREAK
  2088. case 92:
  2089. YY_RULE_SETUP
  2090. #line 176 "gpu/lolfx-scanner.l"
  2091. { return token::GHT_BREAK; }
  2092. YY_BREAK
  2093. case 93:
  2094. YY_RULE_SETUP
  2095. #line 177 "gpu/lolfx-scanner.l"
  2096. { return token::GHT_CASE; }
  2097. YY_BREAK
  2098. case 94:
  2099. YY_RULE_SETUP
  2100. #line 178 "gpu/lolfx-scanner.l"
  2101. { return token::GHT_CENTROID; }
  2102. YY_BREAK
  2103. case 95:
  2104. YY_RULE_SETUP
  2105. #line 179 "gpu/lolfx-scanner.l"
  2106. { return token::GHT_CONST; }
  2107. YY_BREAK
  2108. case 96:
  2109. YY_RULE_SETUP
  2110. #line 180 "gpu/lolfx-scanner.l"
  2111. { return token::GHT_CONTINUE; }
  2112. YY_BREAK
  2113. case 97:
  2114. YY_RULE_SETUP
  2115. #line 181 "gpu/lolfx-scanner.l"
  2116. { return token::GHT_DEFAULT; }
  2117. YY_BREAK
  2118. case 98:
  2119. YY_RULE_SETUP
  2120. #line 182 "gpu/lolfx-scanner.l"
  2121. { return token::GHT_DISCARD; }
  2122. YY_BREAK
  2123. case 99:
  2124. YY_RULE_SETUP
  2125. #line 183 "gpu/lolfx-scanner.l"
  2126. { return token::GHT_DO; }
  2127. YY_BREAK
  2128. case 100:
  2129. YY_RULE_SETUP
  2130. #line 184 "gpu/lolfx-scanner.l"
  2131. { return token::GHT_DOUBLE; }
  2132. YY_BREAK
  2133. case 101:
  2134. YY_RULE_SETUP
  2135. #line 185 "gpu/lolfx-scanner.l"
  2136. { return token::GHT_ELSE; }
  2137. YY_BREAK
  2138. case 102:
  2139. YY_RULE_SETUP
  2140. #line 186 "gpu/lolfx-scanner.l"
  2141. { return token::GHT_FLOAT; }
  2142. YY_BREAK
  2143. case 103:
  2144. YY_RULE_SETUP
  2145. #line 187 "gpu/lolfx-scanner.l"
  2146. { return token::GHT_FOR; }
  2147. YY_BREAK
  2148. case 104:
  2149. YY_RULE_SETUP
  2150. #line 188 "gpu/lolfx-scanner.l"
  2151. { return token::GHT_IF; }
  2152. YY_BREAK
  2153. case 105:
  2154. YY_RULE_SETUP
  2155. #line 189 "gpu/lolfx-scanner.l"
  2156. { return token::GHT_IN; }
  2157. YY_BREAK
  2158. case 106:
  2159. YY_RULE_SETUP
  2160. #line 190 "gpu/lolfx-scanner.l"
  2161. { return token::GHT_INOUT; }
  2162. YY_BREAK
  2163. case 107:
  2164. YY_RULE_SETUP
  2165. #line 191 "gpu/lolfx-scanner.l"
  2166. { return token::GHT_INT; }
  2167. YY_BREAK
  2168. case 108:
  2169. YY_RULE_SETUP
  2170. #line 192 "gpu/lolfx-scanner.l"
  2171. { return token::GHT_NOPERSPECTIVE; }
  2172. YY_BREAK
  2173. case 109:
  2174. YY_RULE_SETUP
  2175. #line 193 "gpu/lolfx-scanner.l"
  2176. { return token::GHT_OUT; }
  2177. YY_BREAK
  2178. case 110:
  2179. YY_RULE_SETUP
  2180. #line 194 "gpu/lolfx-scanner.l"
  2181. { return token::GHT_RETURN; }
  2182. YY_BREAK
  2183. case 111:
  2184. YY_RULE_SETUP
  2185. #line 195 "gpu/lolfx-scanner.l"
  2186. { return token::GHT_SAMPLER1D; }
  2187. YY_BREAK
  2188. case 112:
  2189. YY_RULE_SETUP
  2190. #line 196 "gpu/lolfx-scanner.l"
  2191. { return token::GHT_SAMPLER2D; }
  2192. YY_BREAK
  2193. case 113:
  2194. YY_RULE_SETUP
  2195. #line 197 "gpu/lolfx-scanner.l"
  2196. { return token::GHT_SAMPLER3D; }
  2197. YY_BREAK
  2198. case 114:
  2199. YY_RULE_SETUP
  2200. #line 198 "gpu/lolfx-scanner.l"
  2201. { return token::GHT_SAMPLERCUBE; }
  2202. YY_BREAK
  2203. case 115:
  2204. YY_RULE_SETUP
  2205. #line 199 "gpu/lolfx-scanner.l"
  2206. { return token::GHT_STRUCT; }
  2207. YY_BREAK
  2208. case 116:
  2209. YY_RULE_SETUP
  2210. #line 200 "gpu/lolfx-scanner.l"
  2211. { return token::GHT_SWITCH; }
  2212. YY_BREAK
  2213. case 117:
  2214. YY_RULE_SETUP
  2215. #line 201 "gpu/lolfx-scanner.l"
  2216. { return token::GHT_UINT; }
  2217. YY_BREAK
  2218. case 118:
  2219. YY_RULE_SETUP
  2220. #line 202 "gpu/lolfx-scanner.l"
  2221. { return token::GHT_UNIFORM; }
  2222. YY_BREAK
  2223. case 119:
  2224. YY_RULE_SETUP
  2225. #line 203 "gpu/lolfx-scanner.l"
  2226. { return token::GHT_VOID; }
  2227. YY_BREAK
  2228. case 120:
  2229. YY_RULE_SETUP
  2230. #line 204 "gpu/lolfx-scanner.l"
  2231. { return token::GHT_WHILE; }
  2232. YY_BREAK
  2233. case 121:
  2234. YY_RULE_SETUP
  2235. #line 206 "gpu/lolfx-scanner.l"
  2236. { return token::HGT_BOOL; }
  2237. YY_BREAK
  2238. case 122:
  2239. YY_RULE_SETUP
  2240. #line 207 "gpu/lolfx-scanner.l"
  2241. { return token::HGT_BREAK; }
  2242. YY_BREAK
  2243. case 123:
  2244. YY_RULE_SETUP
  2245. #line 208 "gpu/lolfx-scanner.l"
  2246. { return token::HGT_CASE; }
  2247. YY_BREAK
  2248. case 124:
  2249. YY_RULE_SETUP
  2250. #line 209 "gpu/lolfx-scanner.l"
  2251. { return token::HGT_CENTROID; }
  2252. YY_BREAK
  2253. case 125:
  2254. YY_RULE_SETUP
  2255. #line 210 "gpu/lolfx-scanner.l"
  2256. { return token::HGT_CONST; }
  2257. YY_BREAK
  2258. case 126:
  2259. YY_RULE_SETUP
  2260. #line 211 "gpu/lolfx-scanner.l"
  2261. { return token::HGT_CONTINUE; }
  2262. YY_BREAK
  2263. case 127:
  2264. YY_RULE_SETUP
  2265. #line 212 "gpu/lolfx-scanner.l"
  2266. { return token::HGT_DEFAULT; }
  2267. YY_BREAK
  2268. case 128:
  2269. YY_RULE_SETUP
  2270. #line 213 "gpu/lolfx-scanner.l"
  2271. { return token::HGT_DISCARD; }
  2272. YY_BREAK
  2273. case 129:
  2274. YY_RULE_SETUP
  2275. #line 214 "gpu/lolfx-scanner.l"
  2276. { return token::HGT_DO; }
  2277. YY_BREAK
  2278. case 130:
  2279. YY_RULE_SETUP
  2280. #line 215 "gpu/lolfx-scanner.l"
  2281. { return token::HGT_DOUBLE; }
  2282. YY_BREAK
  2283. case 131:
  2284. YY_RULE_SETUP
  2285. #line 216 "gpu/lolfx-scanner.l"
  2286. { return token::HGT_ELSE; }
  2287. YY_BREAK
  2288. case 132:
  2289. YY_RULE_SETUP
  2290. #line 217 "gpu/lolfx-scanner.l"
  2291. { return token::HGT_FLOAT; }
  2292. YY_BREAK
  2293. case 133:
  2294. YY_RULE_SETUP
  2295. #line 218 "gpu/lolfx-scanner.l"
  2296. { return token::HGT_FOR; }
  2297. YY_BREAK
  2298. case 134:
  2299. YY_RULE_SETUP
  2300. #line 219 "gpu/lolfx-scanner.l"
  2301. { return token::HGT_IF; }
  2302. YY_BREAK
  2303. case 135:
  2304. YY_RULE_SETUP
  2305. #line 220 "gpu/lolfx-scanner.l"
  2306. { return token::HGT_IN; }
  2307. YY_BREAK
  2308. case 136:
  2309. YY_RULE_SETUP
  2310. #line 221 "gpu/lolfx-scanner.l"
  2311. { return token::HGT_INOUT; }
  2312. YY_BREAK
  2313. case 137:
  2314. YY_RULE_SETUP
  2315. #line 222 "gpu/lolfx-scanner.l"
  2316. { return token::HGT_INT; }
  2317. YY_BREAK
  2318. case 138:
  2319. YY_RULE_SETUP
  2320. #line 223 "gpu/lolfx-scanner.l"
  2321. { return token::HGT_NOPERSPECTIVE; }
  2322. YY_BREAK
  2323. case 139:
  2324. YY_RULE_SETUP
  2325. #line 224 "gpu/lolfx-scanner.l"
  2326. { return token::HGT_OUT; }
  2327. YY_BREAK
  2328. case 140:
  2329. YY_RULE_SETUP
  2330. #line 225 "gpu/lolfx-scanner.l"
  2331. { return token::HGT_RETURN; }
  2332. YY_BREAK
  2333. case 141:
  2334. YY_RULE_SETUP
  2335. #line 226 "gpu/lolfx-scanner.l"
  2336. { return token::HGT_SAMPLER1D; }
  2337. YY_BREAK
  2338. case 142:
  2339. YY_RULE_SETUP
  2340. #line 227 "gpu/lolfx-scanner.l"
  2341. { return token::HGT_SAMPLER2D; }
  2342. YY_BREAK
  2343. case 143:
  2344. YY_RULE_SETUP
  2345. #line 228 "gpu/lolfx-scanner.l"
  2346. { return token::HGT_SAMPLER3D; }
  2347. YY_BREAK
  2348. case 144:
  2349. YY_RULE_SETUP
  2350. #line 229 "gpu/lolfx-scanner.l"
  2351. { return token::HGT_SAMPLERCUBE; }
  2352. YY_BREAK
  2353. case 145:
  2354. YY_RULE_SETUP
  2355. #line 230 "gpu/lolfx-scanner.l"
  2356. { return token::HGT_STRUCT; }
  2357. YY_BREAK
  2358. case 146:
  2359. YY_RULE_SETUP
  2360. #line 231 "gpu/lolfx-scanner.l"
  2361. { return token::HGT_SWITCH; }
  2362. YY_BREAK
  2363. case 147:
  2364. YY_RULE_SETUP
  2365. #line 232 "gpu/lolfx-scanner.l"
  2366. { return token::HGT_UINT; }
  2367. YY_BREAK
  2368. case 148:
  2369. YY_RULE_SETUP
  2370. #line 233 "gpu/lolfx-scanner.l"
  2371. { return token::HGT_UNIFORM; }
  2372. YY_BREAK
  2373. case 149:
  2374. YY_RULE_SETUP
  2375. #line 234 "gpu/lolfx-scanner.l"
  2376. { return token::HGT_VOID; }
  2377. YY_BREAK
  2378. case 150:
  2379. YY_RULE_SETUP
  2380. #line 235 "gpu/lolfx-scanner.l"
  2381. { return token::HGT_WHILE; }
  2382. YY_BREAK
  2383. /*
  2384. * HLSL keywords
  2385. * Gathered from http://msdn.microsoft.com/en-us/library/windows/desktop/bb509568%28v=vs.85%29.aspx
  2386. */
  2387. case 151:
  2388. YY_RULE_SETUP
  2389. #line 242 "gpu/lolfx-scanner.l"
  2390. { return token::HT_APPENDSTRUCTUREDBUFFER; }
  2391. YY_BREAK
  2392. case 152:
  2393. YY_RULE_SETUP
  2394. #line 243 "gpu/lolfx-scanner.l"
  2395. { return token::HT_ASM; }
  2396. YY_BREAK
  2397. case 153:
  2398. YY_RULE_SETUP
  2399. #line 244 "gpu/lolfx-scanner.l"
  2400. { return token::HT_ASM_FRAGMENT; }
  2401. YY_BREAK
  2402. case 154:
  2403. YY_RULE_SETUP
  2404. #line 245 "gpu/lolfx-scanner.l"
  2405. { return token::HT_BLENDSTATE; }
  2406. YY_BREAK
  2407. case 155:
  2408. YY_RULE_SETUP
  2409. #line 246 "gpu/lolfx-scanner.l"
  2410. { return token::HT_BUFFER; }
  2411. YY_BREAK
  2412. case 156:
  2413. YY_RULE_SETUP
  2414. #line 247 "gpu/lolfx-scanner.l"
  2415. { return token::HT_BYTEADDRESSBUFFER; }
  2416. YY_BREAK
  2417. case 157:
  2418. YY_RULE_SETUP
  2419. #line 248 "gpu/lolfx-scanner.l"
  2420. { return token::HT_CBUFFER; }
  2421. YY_BREAK
  2422. case 158:
  2423. YY_RULE_SETUP
  2424. #line 249 "gpu/lolfx-scanner.l"
  2425. { return token::HT_COLUMN_MAJOR; }
  2426. YY_BREAK
  2427. case 159:
  2428. YY_RULE_SETUP
  2429. #line 250 "gpu/lolfx-scanner.l"
  2430. { return token::HT_COMPILE; }
  2431. YY_BREAK
  2432. case 160:
  2433. YY_RULE_SETUP
  2434. #line 251 "gpu/lolfx-scanner.l"
  2435. { return token::HT_COMPILE_FRAGMENT; }
  2436. YY_BREAK
  2437. case 161:
  2438. YY_RULE_SETUP
  2439. #line 252 "gpu/lolfx-scanner.l"
  2440. { return token::HT_COMPILESHADER; }
  2441. YY_BREAK
  2442. case 162:
  2443. YY_RULE_SETUP
  2444. #line 253 "gpu/lolfx-scanner.l"
  2445. { return token::HT_COMPUTESHADER; }
  2446. YY_BREAK
  2447. case 163:
  2448. YY_RULE_SETUP
  2449. #line 254 "gpu/lolfx-scanner.l"
  2450. { return token::HT_CONSUMESTRUCTUREDBUFFER; }
  2451. YY_BREAK
  2452. case 164:
  2453. YY_RULE_SETUP
  2454. #line 255 "gpu/lolfx-scanner.l"
  2455. { return token::HT_DEPTHSTENCILSTATE; }
  2456. YY_BREAK
  2457. case 165:
  2458. YY_RULE_SETUP
  2459. #line 256 "gpu/lolfx-scanner.l"
  2460. { return token::HT_DEPTHSTENCILVIEW; }
  2461. YY_BREAK
  2462. case 166:
  2463. YY_RULE_SETUP
  2464. #line 257 "gpu/lolfx-scanner.l"
  2465. { return token::HT_DOMAINSHADER; }
  2466. YY_BREAK
  2467. case 167:
  2468. YY_RULE_SETUP
  2469. #line 258 "gpu/lolfx-scanner.l"
  2470. { return token::HT_DWORD; }
  2471. YY_BREAK
  2472. case 168:
  2473. YY_RULE_SETUP
  2474. #line 259 "gpu/lolfx-scanner.l"
  2475. { return token::HT_EXTERN; }
  2476. YY_BREAK
  2477. case 169:
  2478. YY_RULE_SETUP
  2479. #line 260 "gpu/lolfx-scanner.l"
  2480. { return token::HT_FALSE; }
  2481. YY_BREAK
  2482. case 170:
  2483. YY_RULE_SETUP
  2484. #line 261 "gpu/lolfx-scanner.l"
  2485. { return token::HT_FXGROUP; }
  2486. YY_BREAK
  2487. case 171:
  2488. YY_RULE_SETUP
  2489. #line 262 "gpu/lolfx-scanner.l"
  2490. { return token::HT_GEOMETRYSHADER; }
  2491. YY_BREAK
  2492. case 172:
  2493. YY_RULE_SETUP
  2494. #line 263 "gpu/lolfx-scanner.l"
  2495. { return token::HT_GROUPSHARED; }
  2496. YY_BREAK
  2497. case 173:
  2498. YY_RULE_SETUP
  2499. #line 264 "gpu/lolfx-scanner.l"
  2500. { return token::HT_HALF; }
  2501. YY_BREAK
  2502. case 174:
  2503. YY_RULE_SETUP
  2504. #line 265 "gpu/lolfx-scanner.l"
  2505. { return token::HT_HULLSHADER; }
  2506. YY_BREAK
  2507. case 175:
  2508. YY_RULE_SETUP
  2509. #line 266 "gpu/lolfx-scanner.l"
  2510. { return token::HT_INLINE; }
  2511. YY_BREAK
  2512. case 176:
  2513. YY_RULE_SETUP
  2514. #line 267 "gpu/lolfx-scanner.l"
  2515. { return token::HT_INPUTPATCH; }
  2516. YY_BREAK
  2517. case 177:
  2518. YY_RULE_SETUP
  2519. #line 268 "gpu/lolfx-scanner.l"
  2520. { return token::HT_INTERFACE; }
  2521. YY_BREAK
  2522. case 178:
  2523. YY_RULE_SETUP
  2524. #line 269 "gpu/lolfx-scanner.l"
  2525. { return token::HT_LINE; }
  2526. YY_BREAK
  2527. case 179:
  2528. YY_RULE_SETUP
  2529. #line 270 "gpu/lolfx-scanner.l"
  2530. { return token::HT_LINEADJ; }
  2531. YY_BREAK
  2532. case 180:
  2533. YY_RULE_SETUP
  2534. #line 271 "gpu/lolfx-scanner.l"
  2535. { return token::HT_LINEAR; }
  2536. YY_BREAK
  2537. case 181:
  2538. YY_RULE_SETUP
  2539. #line 272 "gpu/lolfx-scanner.l"
  2540. { return token::HT_LINESTREAM; }
  2541. YY_BREAK
  2542. case 182:
  2543. YY_RULE_SETUP
  2544. #line 273 "gpu/lolfx-scanner.l"
  2545. { return token::HT_MATRIX; }
  2546. YY_BREAK
  2547. case 183:
  2548. YY_RULE_SETUP
  2549. #line 274 "gpu/lolfx-scanner.l"
  2550. { return token::HT_NAMESPACE; }
  2551. YY_BREAK
  2552. case 184:
  2553. YY_RULE_SETUP
  2554. #line 275 "gpu/lolfx-scanner.l"
  2555. { return token::HT_NOINTERPOLATION; }
  2556. YY_BREAK
  2557. case 185:
  2558. YY_RULE_SETUP
  2559. #line 276 "gpu/lolfx-scanner.l"
  2560. { return token::HT_NULL; }
  2561. YY_BREAK
  2562. case 186:
  2563. YY_RULE_SETUP
  2564. #line 277 "gpu/lolfx-scanner.l"
  2565. { return token::HT_OUTPUTPATCH; }
  2566. YY_BREAK
  2567. case 187:
  2568. YY_RULE_SETUP
  2569. #line 278 "gpu/lolfx-scanner.l"
  2570. { return token::HT_PACKOFFSET; }
  2571. YY_BREAK
  2572. case 188:
  2573. YY_RULE_SETUP
  2574. #line 279 "gpu/lolfx-scanner.l"
  2575. { return token::HT_PASS; }
  2576. YY_BREAK
  2577. case 189:
  2578. YY_RULE_SETUP
  2579. #line 280 "gpu/lolfx-scanner.l"
  2580. { return token::HT_PIXELFRAGMENT; }
  2581. YY_BREAK
  2582. case 190:
  2583. YY_RULE_SETUP
  2584. #line 281 "gpu/lolfx-scanner.l"
  2585. { return token::HT_PIXELSHADER; }
  2586. YY_BREAK
  2587. case 191:
  2588. YY_RULE_SETUP
  2589. #line 282 "gpu/lolfx-scanner.l"
  2590. { return token::HT_POINT; }
  2591. YY_BREAK
  2592. case 192:
  2593. YY_RULE_SETUP
  2594. #line 283 "gpu/lolfx-scanner.l"
  2595. { return token::HT_POINTSTREAM; }
  2596. YY_BREAK
  2597. case 193:
  2598. YY_RULE_SETUP
  2599. #line 284 "gpu/lolfx-scanner.l"
  2600. { return token::HT_PRECISE; }
  2601. YY_BREAK
  2602. case 194:
  2603. YY_RULE_SETUP
  2604. #line 285 "gpu/lolfx-scanner.l"
  2605. { return token::HT_RASTERIZERSTATE; }
  2606. YY_BREAK
  2607. case 195:
  2608. YY_RULE_SETUP
  2609. #line 286 "gpu/lolfx-scanner.l"
  2610. { return token::HT_RENDERTARGETVIEW; }
  2611. YY_BREAK
  2612. case 196:
  2613. YY_RULE_SETUP
  2614. #line 287 "gpu/lolfx-scanner.l"
  2615. { return token::HT_REGISTER; }
  2616. YY_BREAK
  2617. case 197:
  2618. YY_RULE_SETUP
  2619. #line 288 "gpu/lolfx-scanner.l"
  2620. { return token::HT_ROW_MAJOR; }
  2621. YY_BREAK
  2622. case 198:
  2623. YY_RULE_SETUP
  2624. #line 289 "gpu/lolfx-scanner.l"
  2625. { return token::HT_RWBUFFER; }
  2626. YY_BREAK
  2627. case 199:
  2628. YY_RULE_SETUP
  2629. #line 290 "gpu/lolfx-scanner.l"
  2630. { return token::HT_RWBYTEADDRESSBUFFER; }
  2631. YY_BREAK
  2632. case 200:
  2633. YY_RULE_SETUP
  2634. #line 291 "gpu/lolfx-scanner.l"
  2635. { return token::HT_RWSTRUCTUREDBUFFER; }
  2636. YY_BREAK
  2637. case 201:
  2638. YY_RULE_SETUP
  2639. #line 292 "gpu/lolfx-scanner.l"
  2640. { return token::HT_RWTEXTURE1D; }
  2641. YY_BREAK
  2642. case 202:
  2643. YY_RULE_SETUP
  2644. #line 293 "gpu/lolfx-scanner.l"
  2645. { return token::HT_RWTEXTURE1DARRAY; }
  2646. YY_BREAK
  2647. case 203:
  2648. YY_RULE_SETUP
  2649. #line 294 "gpu/lolfx-scanner.l"
  2650. { return token::HT_RWTEXTURE2D; }
  2651. YY_BREAK
  2652. case 204:
  2653. YY_RULE_SETUP
  2654. #line 295 "gpu/lolfx-scanner.l"
  2655. { return token::HT_RWTEXTURE2DARRAY; }
  2656. YY_BREAK
  2657. case 205:
  2658. YY_RULE_SETUP
  2659. #line 296 "gpu/lolfx-scanner.l"
  2660. { return token::HT_RWTEXTURE3D; }
  2661. YY_BREAK
  2662. case 206:
  2663. YY_RULE_SETUP
  2664. #line 297 "gpu/lolfx-scanner.l"
  2665. { return token::HT_SAMPLER; }
  2666. YY_BREAK
  2667. case 207:
  2668. YY_RULE_SETUP
  2669. #line 298 "gpu/lolfx-scanner.l"
  2670. { return token::HT_SAMPLER_STATE; }
  2671. YY_BREAK
  2672. case 208:
  2673. YY_RULE_SETUP
  2674. #line 299 "gpu/lolfx-scanner.l"
  2675. { return token::HT_SAMPLERSTATE; }
  2676. YY_BREAK
  2677. case 209:
  2678. YY_RULE_SETUP
  2679. #line 300 "gpu/lolfx-scanner.l"
  2680. { return token::HT_SAMPLERCOMPARISONSTATE; }
  2681. YY_BREAK
  2682. case 210:
  2683. YY_RULE_SETUP
  2684. #line 301 "gpu/lolfx-scanner.l"
  2685. { return token::HT_SHARED; }
  2686. YY_BREAK
  2687. case 211:
  2688. YY_RULE_SETUP
  2689. #line 302 "gpu/lolfx-scanner.l"
  2690. { return token::HT_SNORM; }
  2691. YY_BREAK
  2692. case 212:
  2693. YY_RULE_SETUP
  2694. #line 303 "gpu/lolfx-scanner.l"
  2695. { return token::HT_STATEBLOCK; }
  2696. YY_BREAK
  2697. case 213:
  2698. YY_RULE_SETUP
  2699. #line 304 "gpu/lolfx-scanner.l"
  2700. { return token::HT_STATEBLOCK_STATE; }
  2701. YY_BREAK
  2702. case 214:
  2703. YY_RULE_SETUP
  2704. #line 305 "gpu/lolfx-scanner.l"
  2705. { return token::HT_STATIC; }
  2706. YY_BREAK
  2707. case 215:
  2708. YY_RULE_SETUP
  2709. #line 306 "gpu/lolfx-scanner.l"
  2710. { return token::HT_STRING; }
  2711. YY_BREAK
  2712. case 216:
  2713. YY_RULE_SETUP
  2714. #line 307 "gpu/lolfx-scanner.l"
  2715. { return token::HT_STRUCTUREDBUFFER; }
  2716. YY_BREAK
  2717. case 217:
  2718. YY_RULE_SETUP
  2719. #line 308 "gpu/lolfx-scanner.l"
  2720. { return token::HT_TBUFFER; }
  2721. YY_BREAK
  2722. case 218:
  2723. YY_RULE_SETUP
  2724. #line 309 "gpu/lolfx-scanner.l"
  2725. { return token::HT_TECHNIQUE; }
  2726. YY_BREAK
  2727. case 219:
  2728. YY_RULE_SETUP
  2729. #line 310 "gpu/lolfx-scanner.l"
  2730. { return token::HT_TECHNIQUE10; }
  2731. YY_BREAK
  2732. case 220:
  2733. YY_RULE_SETUP
  2734. #line 311 "gpu/lolfx-scanner.l"
  2735. { return token::HT_TECHNIQUE11XZ; }
  2736. YY_BREAK
  2737. case 221:
  2738. YY_RULE_SETUP
  2739. #line 312 "gpu/lolfx-scanner.l"
  2740. { return token::HT_TEXTURE; }
  2741. YY_BREAK
  2742. case 222:
  2743. YY_RULE_SETUP
  2744. #line 313 "gpu/lolfx-scanner.l"
  2745. { return token::HT_TEXTURE1D; }
  2746. YY_BREAK
  2747. case 223:
  2748. YY_RULE_SETUP
  2749. #line 314 "gpu/lolfx-scanner.l"
  2750. { return token::HT_TEXTURE1DARRAY; }
  2751. YY_BREAK
  2752. case 224:
  2753. YY_RULE_SETUP
  2754. #line 315 "gpu/lolfx-scanner.l"
  2755. { return token::HT_TEXTURE2D; }
  2756. YY_BREAK
  2757. case 225:
  2758. YY_RULE_SETUP
  2759. #line 316 "gpu/lolfx-scanner.l"
  2760. { return token::HT_TEXTURE2DARRAY; }
  2761. YY_BREAK
  2762. case 226:
  2763. YY_RULE_SETUP
  2764. #line 317 "gpu/lolfx-scanner.l"
  2765. { return token::HT_TEXTURE2DMS; }
  2766. YY_BREAK
  2767. case 227:
  2768. YY_RULE_SETUP
  2769. #line 318 "gpu/lolfx-scanner.l"
  2770. { return token::HT_TEXTURE2DMSARRAY; }
  2771. YY_BREAK
  2772. case 228:
  2773. YY_RULE_SETUP
  2774. #line 319 "gpu/lolfx-scanner.l"
  2775. { return token::HT_TEXTURE3D; }
  2776. YY_BREAK
  2777. case 229:
  2778. YY_RULE_SETUP
  2779. #line 320 "gpu/lolfx-scanner.l"
  2780. { return token::HT_TEXTURECUBE; }
  2781. YY_BREAK
  2782. case 230:
  2783. YY_RULE_SETUP
  2784. #line 321 "gpu/lolfx-scanner.l"
  2785. { return token::HT_TEXTURECUBEARRAY; }
  2786. YY_BREAK
  2787. case 231:
  2788. YY_RULE_SETUP
  2789. #line 322 "gpu/lolfx-scanner.l"
  2790. { return token::HT_TRUE; }
  2791. YY_BREAK
  2792. case 232:
  2793. YY_RULE_SETUP
  2794. #line 323 "gpu/lolfx-scanner.l"
  2795. { return token::HT_TYPEDEF; }
  2796. YY_BREAK
  2797. case 233:
  2798. YY_RULE_SETUP
  2799. #line 324 "gpu/lolfx-scanner.l"
  2800. { return token::HT_TRIANGLE; }
  2801. YY_BREAK
  2802. case 234:
  2803. YY_RULE_SETUP
  2804. #line 325 "gpu/lolfx-scanner.l"
  2805. { return token::HT_TRIANGLEADJ; }
  2806. YY_BREAK
  2807. case 235:
  2808. YY_RULE_SETUP
  2809. #line 326 "gpu/lolfx-scanner.l"
  2810. { return token::HT_TRIANGLESTREAM; }
  2811. YY_BREAK
  2812. case 236:
  2813. YY_RULE_SETUP
  2814. #line 327 "gpu/lolfx-scanner.l"
  2815. { return token::HT_UNORM; }
  2816. YY_BREAK
  2817. case 237:
  2818. YY_RULE_SETUP
  2819. #line 328 "gpu/lolfx-scanner.l"
  2820. { return token::HT_VECTOR; }
  2821. YY_BREAK
  2822. case 238:
  2823. YY_RULE_SETUP
  2824. #line 329 "gpu/lolfx-scanner.l"
  2825. { return token::HT_VERTEXFRAGMENT; }
  2826. YY_BREAK
  2827. case 239:
  2828. YY_RULE_SETUP
  2829. #line 330 "gpu/lolfx-scanner.l"
  2830. { return token::HT_VERTEXSHADER; }
  2831. YY_BREAK
  2832. case 240:
  2833. YY_RULE_SETUP
  2834. #line 331 "gpu/lolfx-scanner.l"
  2835. { return token::HT_VOLATILE; }
  2836. YY_BREAK
  2837. /*
  2838. * HLSL vector types
  2839. * TODO: this can probably be factored somehow
  2840. */
  2841. case 241:
  2842. YY_RULE_SETUP
  2843. #line 338 "gpu/lolfx-scanner.l"
  2844. { return token::HT_BOOL1; }
  2845. YY_BREAK
  2846. case 242:
  2847. YY_RULE_SETUP
  2848. #line 339 "gpu/lolfx-scanner.l"
  2849. { return token::HT_BOOL1x1; }
  2850. YY_BREAK
  2851. case 243:
  2852. YY_RULE_SETUP
  2853. #line 340 "gpu/lolfx-scanner.l"
  2854. { return token::HT_BOOL2x1; }
  2855. YY_BREAK
  2856. case 244:
  2857. YY_RULE_SETUP
  2858. #line 341 "gpu/lolfx-scanner.l"
  2859. { return token::HT_BOOL3x1; }
  2860. YY_BREAK
  2861. case 245:
  2862. YY_RULE_SETUP
  2863. #line 342 "gpu/lolfx-scanner.l"
  2864. { return token::HT_BOOL4x1; }
  2865. YY_BREAK
  2866. case 246:
  2867. YY_RULE_SETUP
  2868. #line 343 "gpu/lolfx-scanner.l"
  2869. { return token::HT_BOOL2; }
  2870. YY_BREAK
  2871. case 247:
  2872. YY_RULE_SETUP
  2873. #line 344 "gpu/lolfx-scanner.l"
  2874. { return token::HT_BOOL1x2; }
  2875. YY_BREAK
  2876. case 248:
  2877. YY_RULE_SETUP
  2878. #line 345 "gpu/lolfx-scanner.l"
  2879. { return token::HT_BOOL2x2; }
  2880. YY_BREAK
  2881. case 249:
  2882. YY_RULE_SETUP
  2883. #line 346 "gpu/lolfx-scanner.l"
  2884. { return token::HT_BOOL3x2; }
  2885. YY_BREAK
  2886. case 250:
  2887. YY_RULE_SETUP
  2888. #line 347 "gpu/lolfx-scanner.l"
  2889. { return token::HT_BOOL4x2; }
  2890. YY_BREAK
  2891. case 251:
  2892. YY_RULE_SETUP
  2893. #line 348 "gpu/lolfx-scanner.l"
  2894. { return token::HT_BOOL3; }
  2895. YY_BREAK
  2896. case 252:
  2897. YY_RULE_SETUP
  2898. #line 349 "gpu/lolfx-scanner.l"
  2899. { return token::HT_BOOL1x3; }
  2900. YY_BREAK
  2901. case 253:
  2902. YY_RULE_SETUP
  2903. #line 350 "gpu/lolfx-scanner.l"
  2904. { return token::HT_BOOL2x3; }
  2905. YY_BREAK
  2906. case 254:
  2907. YY_RULE_SETUP
  2908. #line 351 "gpu/lolfx-scanner.l"
  2909. { return token::HT_BOOL3x3; }
  2910. YY_BREAK
  2911. case 255:
  2912. YY_RULE_SETUP
  2913. #line 352 "gpu/lolfx-scanner.l"
  2914. { return token::HT_BOOL4x3; }
  2915. YY_BREAK
  2916. case 256:
  2917. YY_RULE_SETUP
  2918. #line 353 "gpu/lolfx-scanner.l"
  2919. { return token::HT_BOOL4; }
  2920. YY_BREAK
  2921. case 257:
  2922. YY_RULE_SETUP
  2923. #line 354 "gpu/lolfx-scanner.l"
  2924. { return token::HT_BOOL1x4; }
  2925. YY_BREAK
  2926. case 258:
  2927. YY_RULE_SETUP
  2928. #line 355 "gpu/lolfx-scanner.l"
  2929. { return token::HT_BOOL2x4; }
  2930. YY_BREAK
  2931. case 259:
  2932. YY_RULE_SETUP
  2933. #line 356 "gpu/lolfx-scanner.l"
  2934. { return token::HT_BOOL3x4; }
  2935. YY_BREAK
  2936. case 260:
  2937. YY_RULE_SETUP
  2938. #line 357 "gpu/lolfx-scanner.l"
  2939. { return token::HT_BOOL4x4; }
  2940. YY_BREAK
  2941. case 261:
  2942. YY_RULE_SETUP
  2943. #line 359 "gpu/lolfx-scanner.l"
  2944. { return token::HT_FLOAT1; }
  2945. YY_BREAK
  2946. case 262:
  2947. YY_RULE_SETUP
  2948. #line 360 "gpu/lolfx-scanner.l"
  2949. { return token::HT_FLOAT1x1; }
  2950. YY_BREAK
  2951. case 263:
  2952. YY_RULE_SETUP
  2953. #line 361 "gpu/lolfx-scanner.l"
  2954. { return token::HT_FLOAT2x1; }
  2955. YY_BREAK
  2956. case 264:
  2957. YY_RULE_SETUP
  2958. #line 362 "gpu/lolfx-scanner.l"
  2959. { return token::HT_FLOAT3x1; }
  2960. YY_BREAK
  2961. case 265:
  2962. YY_RULE_SETUP
  2963. #line 363 "gpu/lolfx-scanner.l"
  2964. { return token::HT_FLOAT4x1; }
  2965. YY_BREAK
  2966. case 266:
  2967. YY_RULE_SETUP
  2968. #line 364 "gpu/lolfx-scanner.l"
  2969. { return token::HT_FLOAT2; }
  2970. YY_BREAK
  2971. case 267:
  2972. YY_RULE_SETUP
  2973. #line 365 "gpu/lolfx-scanner.l"
  2974. { return token::HT_FLOAT1x2; }
  2975. YY_BREAK
  2976. case 268:
  2977. YY_RULE_SETUP
  2978. #line 366 "gpu/lolfx-scanner.l"
  2979. { return token::HT_FLOAT2x2; }
  2980. YY_BREAK
  2981. case 269:
  2982. YY_RULE_SETUP
  2983. #line 367 "gpu/lolfx-scanner.l"
  2984. { return token::HT_FLOAT3x2; }
  2985. YY_BREAK
  2986. case 270:
  2987. YY_RULE_SETUP
  2988. #line 368 "gpu/lolfx-scanner.l"
  2989. { return token::HT_FLOAT4x2; }
  2990. YY_BREAK
  2991. case 271:
  2992. YY_RULE_SETUP
  2993. #line 369 "gpu/lolfx-scanner.l"
  2994. { return token::HT_FLOAT3; }
  2995. YY_BREAK
  2996. case 272:
  2997. YY_RULE_SETUP
  2998. #line 370 "gpu/lolfx-scanner.l"
  2999. { return token::HT_FLOAT1x3; }
  3000. YY_BREAK
  3001. case 273:
  3002. YY_RULE_SETUP
  3003. #line 371 "gpu/lolfx-scanner.l"
  3004. { return token::HT_FLOAT2x3; }
  3005. YY_BREAK
  3006. case 274:
  3007. YY_RULE_SETUP
  3008. #line 372 "gpu/lolfx-scanner.l"
  3009. { return token::HT_FLOAT3x3; }
  3010. YY_BREAK
  3011. case 275:
  3012. YY_RULE_SETUP
  3013. #line 373 "gpu/lolfx-scanner.l"
  3014. { return token::HT_FLOAT4x3; }
  3015. YY_BREAK
  3016. case 276:
  3017. YY_RULE_SETUP
  3018. #line 374 "gpu/lolfx-scanner.l"
  3019. { return token::HT_FLOAT4; }
  3020. YY_BREAK
  3021. case 277:
  3022. YY_RULE_SETUP
  3023. #line 375 "gpu/lolfx-scanner.l"
  3024. { return token::HT_FLOAT1x4; }
  3025. YY_BREAK
  3026. case 278:
  3027. YY_RULE_SETUP
  3028. #line 376 "gpu/lolfx-scanner.l"
  3029. { return token::HT_FLOAT2x4; }
  3030. YY_BREAK
  3031. case 279:
  3032. YY_RULE_SETUP
  3033. #line 377 "gpu/lolfx-scanner.l"
  3034. { return token::HT_FLOAT3x4; }
  3035. YY_BREAK
  3036. case 280:
  3037. YY_RULE_SETUP
  3038. #line 378 "gpu/lolfx-scanner.l"
  3039. { return token::HT_FLOAT4x4; }
  3040. YY_BREAK
  3041. case 281:
  3042. YY_RULE_SETUP
  3043. #line 380 "gpu/lolfx-scanner.l"
  3044. { return token::HT_DOUBLE1; }
  3045. YY_BREAK
  3046. case 282:
  3047. YY_RULE_SETUP
  3048. #line 381 "gpu/lolfx-scanner.l"
  3049. { return token::HT_DOUBLE1x1; }
  3050. YY_BREAK
  3051. case 283:
  3052. YY_RULE_SETUP
  3053. #line 382 "gpu/lolfx-scanner.l"
  3054. { return token::HT_DOUBLE2x1; }
  3055. YY_BREAK
  3056. case 284:
  3057. YY_RULE_SETUP
  3058. #line 383 "gpu/lolfx-scanner.l"
  3059. { return token::HT_DOUBLE3x1; }
  3060. YY_BREAK
  3061. case 285:
  3062. YY_RULE_SETUP
  3063. #line 384 "gpu/lolfx-scanner.l"
  3064. { return token::HT_DOUBLE4x1; }
  3065. YY_BREAK
  3066. case 286:
  3067. YY_RULE_SETUP
  3068. #line 385 "gpu/lolfx-scanner.l"
  3069. { return token::HT_DOUBLE2; }
  3070. YY_BREAK
  3071. case 287:
  3072. YY_RULE_SETUP
  3073. #line 386 "gpu/lolfx-scanner.l"
  3074. { return token::HT_DOUBLE1x2; }
  3075. YY_BREAK
  3076. case 288:
  3077. YY_RULE_SETUP
  3078. #line 387 "gpu/lolfx-scanner.l"
  3079. { return token::HT_DOUBLE2x2; }
  3080. YY_BREAK
  3081. case 289:
  3082. YY_RULE_SETUP
  3083. #line 388 "gpu/lolfx-scanner.l"
  3084. { return token::HT_DOUBLE3x2; }
  3085. YY_BREAK
  3086. case 290:
  3087. YY_RULE_SETUP
  3088. #line 389 "gpu/lolfx-scanner.l"
  3089. { return token::HT_DOUBLE4x2; }
  3090. YY_BREAK
  3091. case 291:
  3092. YY_RULE_SETUP
  3093. #line 390 "gpu/lolfx-scanner.l"
  3094. { return token::HT_DOUBLE3; }
  3095. YY_BREAK
  3096. case 292:
  3097. YY_RULE_SETUP
  3098. #line 391 "gpu/lolfx-scanner.l"
  3099. { return token::HT_DOUBLE1x3; }
  3100. YY_BREAK
  3101. case 293:
  3102. YY_RULE_SETUP
  3103. #line 392 "gpu/lolfx-scanner.l"
  3104. { return token::HT_DOUBLE2x3; }
  3105. YY_BREAK
  3106. case 294:
  3107. YY_RULE_SETUP
  3108. #line 393 "gpu/lolfx-scanner.l"
  3109. { return token::HT_DOUBLE3x3; }
  3110. YY_BREAK
  3111. case 295:
  3112. YY_RULE_SETUP
  3113. #line 394 "gpu/lolfx-scanner.l"
  3114. { return token::HT_DOUBLE4x3; }
  3115. YY_BREAK
  3116. case 296:
  3117. YY_RULE_SETUP
  3118. #line 395 "gpu/lolfx-scanner.l"
  3119. { return token::HT_DOUBLE4; }
  3120. YY_BREAK
  3121. case 297:
  3122. YY_RULE_SETUP
  3123. #line 396 "gpu/lolfx-scanner.l"
  3124. { return token::HT_DOUBLE1x4; }
  3125. YY_BREAK
  3126. case 298:
  3127. YY_RULE_SETUP
  3128. #line 397 "gpu/lolfx-scanner.l"
  3129. { return token::HT_DOUBLE2x4; }
  3130. YY_BREAK
  3131. case 299:
  3132. YY_RULE_SETUP
  3133. #line 398 "gpu/lolfx-scanner.l"
  3134. { return token::HT_DOUBLE3x4; }
  3135. YY_BREAK
  3136. case 300:
  3137. YY_RULE_SETUP
  3138. #line 399 "gpu/lolfx-scanner.l"
  3139. { return token::HT_DOUBLE4x4; }
  3140. YY_BREAK
  3141. case 301:
  3142. YY_RULE_SETUP
  3143. #line 401 "gpu/lolfx-scanner.l"
  3144. { return token::HT_DWORD1; }
  3145. YY_BREAK
  3146. case 302:
  3147. YY_RULE_SETUP
  3148. #line 402 "gpu/lolfx-scanner.l"
  3149. { return token::HT_DWORD1x1; }
  3150. YY_BREAK
  3151. case 303:
  3152. YY_RULE_SETUP
  3153. #line 403 "gpu/lolfx-scanner.l"
  3154. { return token::HT_DWORD2x1; }
  3155. YY_BREAK
  3156. case 304:
  3157. YY_RULE_SETUP
  3158. #line 404 "gpu/lolfx-scanner.l"
  3159. { return token::HT_DWORD3x1; }
  3160. YY_BREAK
  3161. case 305:
  3162. YY_RULE_SETUP
  3163. #line 405 "gpu/lolfx-scanner.l"
  3164. { return token::HT_DWORD4x1; }
  3165. YY_BREAK
  3166. case 306:
  3167. YY_RULE_SETUP
  3168. #line 406 "gpu/lolfx-scanner.l"
  3169. { return token::HT_DWORD2; }
  3170. YY_BREAK
  3171. case 307:
  3172. YY_RULE_SETUP
  3173. #line 407 "gpu/lolfx-scanner.l"
  3174. { return token::HT_DWORD1x2; }
  3175. YY_BREAK
  3176. case 308:
  3177. YY_RULE_SETUP
  3178. #line 408 "gpu/lolfx-scanner.l"
  3179. { return token::HT_DWORD2x2; }
  3180. YY_BREAK
  3181. case 309:
  3182. YY_RULE_SETUP
  3183. #line 409 "gpu/lolfx-scanner.l"
  3184. { return token::HT_DWORD3x2; }
  3185. YY_BREAK
  3186. case 310:
  3187. YY_RULE_SETUP
  3188. #line 410 "gpu/lolfx-scanner.l"
  3189. { return token::HT_DWORD4x2; }
  3190. YY_BREAK
  3191. case 311:
  3192. YY_RULE_SETUP
  3193. #line 411 "gpu/lolfx-scanner.l"
  3194. { return token::HT_DWORD3; }
  3195. YY_BREAK
  3196. case 312:
  3197. YY_RULE_SETUP
  3198. #line 412 "gpu/lolfx-scanner.l"
  3199. { return token::HT_DWORD1x3; }
  3200. YY_BREAK
  3201. case 313:
  3202. YY_RULE_SETUP
  3203. #line 413 "gpu/lolfx-scanner.l"
  3204. { return token::HT_DWORD2x3; }
  3205. YY_BREAK
  3206. case 314:
  3207. YY_RULE_SETUP
  3208. #line 414 "gpu/lolfx-scanner.l"
  3209. { return token::HT_DWORD3x3; }
  3210. YY_BREAK
  3211. case 315:
  3212. YY_RULE_SETUP
  3213. #line 415 "gpu/lolfx-scanner.l"
  3214. { return token::HT_DWORD4x3; }
  3215. YY_BREAK
  3216. case 316:
  3217. YY_RULE_SETUP
  3218. #line 416 "gpu/lolfx-scanner.l"
  3219. { return token::HT_DWORD4; }
  3220. YY_BREAK
  3221. case 317:
  3222. YY_RULE_SETUP
  3223. #line 417 "gpu/lolfx-scanner.l"
  3224. { return token::HT_DWORD1x4; }
  3225. YY_BREAK
  3226. case 318:
  3227. YY_RULE_SETUP
  3228. #line 418 "gpu/lolfx-scanner.l"
  3229. { return token::HT_DWORD2x4; }
  3230. YY_BREAK
  3231. case 319:
  3232. YY_RULE_SETUP
  3233. #line 419 "gpu/lolfx-scanner.l"
  3234. { return token::HT_DWORD3x4; }
  3235. YY_BREAK
  3236. case 320:
  3237. YY_RULE_SETUP
  3238. #line 420 "gpu/lolfx-scanner.l"
  3239. { return token::HT_DWORD4x4; }
  3240. YY_BREAK
  3241. case 321:
  3242. YY_RULE_SETUP
  3243. #line 422 "gpu/lolfx-scanner.l"
  3244. { return token::HT_INT1; }
  3245. YY_BREAK
  3246. case 322:
  3247. YY_RULE_SETUP
  3248. #line 423 "gpu/lolfx-scanner.l"
  3249. { return token::HT_INT1x1; }
  3250. YY_BREAK
  3251. case 323:
  3252. YY_RULE_SETUP
  3253. #line 424 "gpu/lolfx-scanner.l"
  3254. { return token::HT_INT2x1; }
  3255. YY_BREAK
  3256. case 324:
  3257. YY_RULE_SETUP
  3258. #line 425 "gpu/lolfx-scanner.l"
  3259. { return token::HT_INT3x1; }
  3260. YY_BREAK
  3261. case 325:
  3262. YY_RULE_SETUP
  3263. #line 426 "gpu/lolfx-scanner.l"
  3264. { return token::HT_INT4x1; }
  3265. YY_BREAK
  3266. case 326:
  3267. YY_RULE_SETUP
  3268. #line 427 "gpu/lolfx-scanner.l"
  3269. { return token::HT_INT2; }
  3270. YY_BREAK
  3271. case 327:
  3272. YY_RULE_SETUP
  3273. #line 428 "gpu/lolfx-scanner.l"
  3274. { return token::HT_INT1x2; }
  3275. YY_BREAK
  3276. case 328:
  3277. YY_RULE_SETUP
  3278. #line 429 "gpu/lolfx-scanner.l"
  3279. { return token::HT_INT2x2; }
  3280. YY_BREAK
  3281. case 329:
  3282. YY_RULE_SETUP
  3283. #line 430 "gpu/lolfx-scanner.l"
  3284. { return token::HT_INT3x2; }
  3285. YY_BREAK
  3286. case 330:
  3287. YY_RULE_SETUP
  3288. #line 431 "gpu/lolfx-scanner.l"
  3289. { return token::HT_INT4x2; }
  3290. YY_BREAK
  3291. case 331:
  3292. YY_RULE_SETUP
  3293. #line 432 "gpu/lolfx-scanner.l"
  3294. { return token::HT_INT3; }
  3295. YY_BREAK
  3296. case 332:
  3297. YY_RULE_SETUP
  3298. #line 433 "gpu/lolfx-scanner.l"
  3299. { return token::HT_INT1x3; }
  3300. YY_BREAK
  3301. case 333:
  3302. YY_RULE_SETUP
  3303. #line 434 "gpu/lolfx-scanner.l"
  3304. { return token::HT_INT2x3; }
  3305. YY_BREAK
  3306. case 334:
  3307. YY_RULE_SETUP
  3308. #line 435 "gpu/lolfx-scanner.l"
  3309. { return token::HT_INT3x3; }
  3310. YY_BREAK
  3311. case 335:
  3312. YY_RULE_SETUP
  3313. #line 436 "gpu/lolfx-scanner.l"
  3314. { return token::HT_INT4x3; }
  3315. YY_BREAK
  3316. case 336:
  3317. YY_RULE_SETUP
  3318. #line 437 "gpu/lolfx-scanner.l"
  3319. { return token::HT_INT4; }
  3320. YY_BREAK
  3321. case 337:
  3322. YY_RULE_SETUP
  3323. #line 438 "gpu/lolfx-scanner.l"
  3324. { return token::HT_INT1x4; }
  3325. YY_BREAK
  3326. case 338:
  3327. YY_RULE_SETUP
  3328. #line 439 "gpu/lolfx-scanner.l"
  3329. { return token::HT_INT2x4; }
  3330. YY_BREAK
  3331. case 339:
  3332. YY_RULE_SETUP
  3333. #line 440 "gpu/lolfx-scanner.l"
  3334. { return token::HT_INT3x4; }
  3335. YY_BREAK
  3336. case 340:
  3337. YY_RULE_SETUP
  3338. #line 441 "gpu/lolfx-scanner.l"
  3339. { return token::HT_INT4x4; }
  3340. YY_BREAK
  3341. case 341:
  3342. YY_RULE_SETUP
  3343. #line 443 "gpu/lolfx-scanner.l"
  3344. { return token::HT_UINT1; }
  3345. YY_BREAK
  3346. case 342:
  3347. YY_RULE_SETUP
  3348. #line 444 "gpu/lolfx-scanner.l"
  3349. { return token::HT_UINT1x1; }
  3350. YY_BREAK
  3351. case 343:
  3352. YY_RULE_SETUP
  3353. #line 445 "gpu/lolfx-scanner.l"
  3354. { return token::HT_UINT2x1; }
  3355. YY_BREAK
  3356. case 344:
  3357. YY_RULE_SETUP
  3358. #line 446 "gpu/lolfx-scanner.l"
  3359. { return token::HT_UINT3x1; }
  3360. YY_BREAK
  3361. case 345:
  3362. YY_RULE_SETUP
  3363. #line 447 "gpu/lolfx-scanner.l"
  3364. { return token::HT_UINT4x1; }
  3365. YY_BREAK
  3366. case 346:
  3367. YY_RULE_SETUP
  3368. #line 448 "gpu/lolfx-scanner.l"
  3369. { return token::HT_UINT2; }
  3370. YY_BREAK
  3371. case 347:
  3372. YY_RULE_SETUP
  3373. #line 449 "gpu/lolfx-scanner.l"
  3374. { return token::HT_UINT1x2; }
  3375. YY_BREAK
  3376. case 348:
  3377. YY_RULE_SETUP
  3378. #line 450 "gpu/lolfx-scanner.l"
  3379. { return token::HT_UINT2x2; }
  3380. YY_BREAK
  3381. case 349:
  3382. YY_RULE_SETUP
  3383. #line 451 "gpu/lolfx-scanner.l"
  3384. { return token::HT_UINT3x2; }
  3385. YY_BREAK
  3386. case 350:
  3387. YY_RULE_SETUP
  3388. #line 452 "gpu/lolfx-scanner.l"
  3389. { return token::HT_UINT4x2; }
  3390. YY_BREAK
  3391. case 351:
  3392. YY_RULE_SETUP
  3393. #line 453 "gpu/lolfx-scanner.l"
  3394. { return token::HT_UINT3; }
  3395. YY_BREAK
  3396. case 352:
  3397. YY_RULE_SETUP
  3398. #line 454 "gpu/lolfx-scanner.l"
  3399. { return token::HT_UINT1x3; }
  3400. YY_BREAK
  3401. case 353:
  3402. YY_RULE_SETUP
  3403. #line 455 "gpu/lolfx-scanner.l"
  3404. { return token::HT_UINT2x3; }
  3405. YY_BREAK
  3406. case 354:
  3407. YY_RULE_SETUP
  3408. #line 456 "gpu/lolfx-scanner.l"
  3409. { return token::HT_UINT3x3; }
  3410. YY_BREAK
  3411. case 355:
  3412. YY_RULE_SETUP
  3413. #line 457 "gpu/lolfx-scanner.l"
  3414. { return token::HT_UINT4x3; }
  3415. YY_BREAK
  3416. case 356:
  3417. YY_RULE_SETUP
  3418. #line 458 "gpu/lolfx-scanner.l"
  3419. { return token::HT_UINT4; }
  3420. YY_BREAK
  3421. case 357:
  3422. YY_RULE_SETUP
  3423. #line 459 "gpu/lolfx-scanner.l"
  3424. { return token::HT_UINT1x4; }
  3425. YY_BREAK
  3426. case 358:
  3427. YY_RULE_SETUP
  3428. #line 460 "gpu/lolfx-scanner.l"
  3429. { return token::HT_UINT2x4; }
  3430. YY_BREAK
  3431. case 359:
  3432. YY_RULE_SETUP
  3433. #line 461 "gpu/lolfx-scanner.l"
  3434. { return token::HT_UINT3x4; }
  3435. YY_BREAK
  3436. case 360:
  3437. YY_RULE_SETUP
  3438. #line 462 "gpu/lolfx-scanner.l"
  3439. { return token::HT_UINT4x4; }
  3440. YY_BREAK
  3441. /*
  3442. * HLSL preprocessor directives
  3443. * Gathered from http://msdn.microsoft.com/en-us/library/windows/desktop/bb943993%28v=vs.85%29.aspx
  3444. */
  3445. case 361:
  3446. YY_RULE_SETUP
  3447. #line 469 "gpu/lolfx-scanner.l"
  3448. { return token::PREPROCESSOR_DEFINE; }
  3449. YY_BREAK
  3450. case 362:
  3451. YY_RULE_SETUP
  3452. #line 470 "gpu/lolfx-scanner.l"
  3453. { return token::PREPROCESSOR_ELIF; }
  3454. YY_BREAK
  3455. case 363:
  3456. YY_RULE_SETUP
  3457. #line 471 "gpu/lolfx-scanner.l"
  3458. { return token::PREPROCESSOR_ELSE; }
  3459. YY_BREAK
  3460. case 364:
  3461. YY_RULE_SETUP
  3462. #line 472 "gpu/lolfx-scanner.l"
  3463. { return token::PREPROCESSOR_ENDIF; }
  3464. YY_BREAK
  3465. case 365:
  3466. YY_RULE_SETUP
  3467. #line 473 "gpu/lolfx-scanner.l"
  3468. { return token::PREPROCESSOR_ERROR; }
  3469. YY_BREAK
  3470. case 366:
  3471. YY_RULE_SETUP
  3472. #line 474 "gpu/lolfx-scanner.l"
  3473. { return token::PREPROCESSOR_IF; }
  3474. YY_BREAK
  3475. case 367:
  3476. YY_RULE_SETUP
  3477. #line 475 "gpu/lolfx-scanner.l"
  3478. { return token::PREPROCESSOR_IFDEF; }
  3479. YY_BREAK
  3480. case 368:
  3481. YY_RULE_SETUP
  3482. #line 476 "gpu/lolfx-scanner.l"
  3483. { return token::PREPROCESSOR_IFNDEF; }
  3484. YY_BREAK
  3485. case 369:
  3486. YY_RULE_SETUP
  3487. #line 477 "gpu/lolfx-scanner.l"
  3488. { return token::PREPROCESSOR_INCLUDE; }
  3489. YY_BREAK
  3490. case 370:
  3491. YY_RULE_SETUP
  3492. #line 478 "gpu/lolfx-scanner.l"
  3493. { return token::PREPROCESSOR_LINE; }
  3494. YY_BREAK
  3495. case 371:
  3496. YY_RULE_SETUP
  3497. #line 479 "gpu/lolfx-scanner.l"
  3498. { return token::PREPROCESSOR_PRAGMA; }
  3499. YY_BREAK
  3500. case 372:
  3501. YY_RULE_SETUP
  3502. #line 480 "gpu/lolfx-scanner.l"
  3503. { return token::PREPROCESSOR_UNDEF; }
  3504. YY_BREAK
  3505. /*
  3506. * GLSL preprocessor directives
  3507. */
  3508. case 373:
  3509. YY_RULE_SETUP
  3510. #line 486 "gpu/lolfx-scanner.l"
  3511. { /* ignore for now */ }
  3512. YY_BREAK
  3513. /*
  3514. * HLSL reserved keywords
  3515. * Gathered from http://msdn.microsoft.com/en-us/library/windows/desktop/bb509569%28v=vs.85%29.aspx
  3516. */
  3517. case 374:
  3518. YY_RULE_SETUP
  3519. #line 493 "gpu/lolfx-scanner.l"
  3520. { return token::HT_AUTO; }
  3521. YY_BREAK
  3522. case 375:
  3523. YY_RULE_SETUP
  3524. #line 494 "gpu/lolfx-scanner.l"
  3525. { return token::HT_CATCH; }
  3526. YY_BREAK
  3527. case 376:
  3528. YY_RULE_SETUP
  3529. #line 495 "gpu/lolfx-scanner.l"
  3530. { return token::HT_CHAR; }
  3531. YY_BREAK
  3532. case 377:
  3533. YY_RULE_SETUP
  3534. #line 496 "gpu/lolfx-scanner.l"
  3535. { return token::HT_CLASS; }
  3536. YY_BREAK
  3537. case 378:
  3538. YY_RULE_SETUP
  3539. #line 497 "gpu/lolfx-scanner.l"
  3540. { return token::HT_CONST_CAST; }
  3541. YY_BREAK
  3542. case 379:
  3543. YY_RULE_SETUP
  3544. #line 498 "gpu/lolfx-scanner.l"
  3545. { return token::HT_DELETE; }
  3546. YY_BREAK
  3547. case 380:
  3548. YY_RULE_SETUP
  3549. #line 499 "gpu/lolfx-scanner.l"
  3550. { return token::HT_DYNAMIC_CAST; }
  3551. YY_BREAK
  3552. case 381:
  3553. YY_RULE_SETUP
  3554. #line 500 "gpu/lolfx-scanner.l"
  3555. { return token::HT_ENUM; }
  3556. YY_BREAK
  3557. case 382:
  3558. YY_RULE_SETUP
  3559. #line 501 "gpu/lolfx-scanner.l"
  3560. { return token::HT_EXPLICIT; }
  3561. YY_BREAK
  3562. case 383:
  3563. YY_RULE_SETUP
  3564. #line 502 "gpu/lolfx-scanner.l"
  3565. { return token::HT_FRIEND; }
  3566. YY_BREAK
  3567. case 384:
  3568. YY_RULE_SETUP
  3569. #line 503 "gpu/lolfx-scanner.l"
  3570. { return token::HT_GOTO; }
  3571. YY_BREAK
  3572. case 385:
  3573. YY_RULE_SETUP
  3574. #line 504 "gpu/lolfx-scanner.l"
  3575. { return token::HT_LONG; }
  3576. YY_BREAK
  3577. case 386:
  3578. YY_RULE_SETUP
  3579. #line 505 "gpu/lolfx-scanner.l"
  3580. { return token::HT_MUTABLE; }
  3581. YY_BREAK
  3582. case 387:
  3583. YY_RULE_SETUP
  3584. #line 506 "gpu/lolfx-scanner.l"
  3585. { return token::HT_NEW; }
  3586. YY_BREAK
  3587. case 388:
  3588. YY_RULE_SETUP
  3589. #line 507 "gpu/lolfx-scanner.l"
  3590. { return token::HT_OPERATOR; }
  3591. YY_BREAK
  3592. case 389:
  3593. YY_RULE_SETUP
  3594. #line 508 "gpu/lolfx-scanner.l"
  3595. { return token::HT_PRIVATE; }
  3596. YY_BREAK
  3597. case 390:
  3598. YY_RULE_SETUP
  3599. #line 509 "gpu/lolfx-scanner.l"
  3600. { return token::HT_PROTECTED; }
  3601. YY_BREAK
  3602. case 391:
  3603. YY_RULE_SETUP
  3604. #line 510 "gpu/lolfx-scanner.l"
  3605. { return token::HT_PUBLIC; }
  3606. YY_BREAK
  3607. case 392:
  3608. YY_RULE_SETUP
  3609. #line 511 "gpu/lolfx-scanner.l"
  3610. { return token::HT_REINTERPRET_CAST; }
  3611. YY_BREAK
  3612. case 393:
  3613. YY_RULE_SETUP
  3614. #line 512 "gpu/lolfx-scanner.l"
  3615. { return token::HT_SHORT; }
  3616. YY_BREAK
  3617. case 394:
  3618. YY_RULE_SETUP
  3619. #line 513 "gpu/lolfx-scanner.l"
  3620. { return token::HT_SIGNED; }
  3621. YY_BREAK
  3622. case 395:
  3623. YY_RULE_SETUP
  3624. #line 514 "gpu/lolfx-scanner.l"
  3625. { return token::HT_SIZEOF; }
  3626. YY_BREAK
  3627. case 396:
  3628. YY_RULE_SETUP
  3629. #line 515 "gpu/lolfx-scanner.l"
  3630. { return token::HT_STATIC_CAST; }
  3631. YY_BREAK
  3632. case 397:
  3633. YY_RULE_SETUP
  3634. #line 516 "gpu/lolfx-scanner.l"
  3635. { return token::HT_TEMPLATE; }
  3636. YY_BREAK
  3637. case 398:
  3638. YY_RULE_SETUP
  3639. #line 517 "gpu/lolfx-scanner.l"
  3640. { return token::HT_THIS; }
  3641. YY_BREAK
  3642. case 399:
  3643. YY_RULE_SETUP
  3644. #line 518 "gpu/lolfx-scanner.l"
  3645. { return token::HT_THROW; }
  3646. YY_BREAK
  3647. case 400:
  3648. YY_RULE_SETUP
  3649. #line 519 "gpu/lolfx-scanner.l"
  3650. { return token::HT_TRY; }
  3651. YY_BREAK
  3652. case 401:
  3653. YY_RULE_SETUP
  3654. #line 520 "gpu/lolfx-scanner.l"
  3655. { return token::HT_TYPENAME; }
  3656. YY_BREAK
  3657. case 402:
  3658. YY_RULE_SETUP
  3659. #line 521 "gpu/lolfx-scanner.l"
  3660. { return token::HT_UNION; }
  3661. YY_BREAK
  3662. case 403:
  3663. YY_RULE_SETUP
  3664. #line 522 "gpu/lolfx-scanner.l"
  3665. { return token::HT_UNSIGNED; }
  3666. YY_BREAK
  3667. case 404:
  3668. YY_RULE_SETUP
  3669. #line 523 "gpu/lolfx-scanner.l"
  3670. { return token::HT_USING; }
  3671. YY_BREAK
  3672. case 405:
  3673. YY_RULE_SETUP
  3674. #line 524 "gpu/lolfx-scanner.l"
  3675. { return token::HT_VIRTUAL; }
  3676. YY_BREAK
  3677. /*
  3678. * Various tokens
  3679. */
  3680. case 406:
  3681. YY_RULE_SETUP
  3682. #line 530 "gpu/lolfx-scanner.l"
  3683. { return token::T_INC; }
  3684. YY_BREAK
  3685. case 407:
  3686. YY_RULE_SETUP
  3687. #line 531 "gpu/lolfx-scanner.l"
  3688. { return token::T_DEC; }
  3689. YY_BREAK
  3690. case 408:
  3691. YY_RULE_SETUP
  3692. #line 532 "gpu/lolfx-scanner.l"
  3693. { return token::T_LE; }
  3694. YY_BREAK
  3695. case 409:
  3696. YY_RULE_SETUP
  3697. #line 533 "gpu/lolfx-scanner.l"
  3698. { return token::T_GE; }
  3699. YY_BREAK
  3700. case 410:
  3701. YY_RULE_SETUP
  3702. #line 534 "gpu/lolfx-scanner.l"
  3703. { return token::T_EQ; }
  3704. YY_BREAK
  3705. case 411:
  3706. YY_RULE_SETUP
  3707. #line 535 "gpu/lolfx-scanner.l"
  3708. { return token::T_NE; }
  3709. YY_BREAK
  3710. case 412:
  3711. YY_RULE_SETUP
  3712. #line 536 "gpu/lolfx-scanner.l"
  3713. { return token::T_LEFT; }
  3714. YY_BREAK
  3715. case 413:
  3716. YY_RULE_SETUP
  3717. #line 537 "gpu/lolfx-scanner.l"
  3718. { return token::T_RIGHT; }
  3719. YY_BREAK
  3720. case 414:
  3721. YY_RULE_SETUP
  3722. #line 538 "gpu/lolfx-scanner.l"
  3723. { return token::T_AND; }
  3724. YY_BREAK
  3725. case 415:
  3726. YY_RULE_SETUP
  3727. #line 539 "gpu/lolfx-scanner.l"
  3728. { return token::T_OR; }
  3729. YY_BREAK
  3730. case 416:
  3731. YY_RULE_SETUP
  3732. #line 540 "gpu/lolfx-scanner.l"
  3733. { return token::T_XOR; }
  3734. YY_BREAK
  3735. case 417:
  3736. YY_RULE_SETUP
  3737. #line 542 "gpu/lolfx-scanner.l"
  3738. { return token::T_MULEQ; }
  3739. YY_BREAK
  3740. case 418:
  3741. YY_RULE_SETUP
  3742. #line 543 "gpu/lolfx-scanner.l"
  3743. { return token::T_DIVEQ; }
  3744. YY_BREAK
  3745. case 419:
  3746. YY_RULE_SETUP
  3747. #line 544 "gpu/lolfx-scanner.l"
  3748. { return token::T_MODEQ; }
  3749. YY_BREAK
  3750. case 420:
  3751. YY_RULE_SETUP
  3752. #line 545 "gpu/lolfx-scanner.l"
  3753. { return token::T_ADDEQ; }
  3754. YY_BREAK
  3755. case 421:
  3756. YY_RULE_SETUP
  3757. #line 546 "gpu/lolfx-scanner.l"
  3758. { return token::T_SUBEQ; }
  3759. YY_BREAK
  3760. case 422:
  3761. YY_RULE_SETUP
  3762. #line 547 "gpu/lolfx-scanner.l"
  3763. { return token::T_LEFTEQ; }
  3764. YY_BREAK
  3765. case 423:
  3766. YY_RULE_SETUP
  3767. #line 548 "gpu/lolfx-scanner.l"
  3768. { return token::T_RIGHTEQ; }
  3769. YY_BREAK
  3770. case 424:
  3771. YY_RULE_SETUP
  3772. #line 549 "gpu/lolfx-scanner.l"
  3773. { return token::T_ANDEQ; }
  3774. YY_BREAK
  3775. case 425:
  3776. YY_RULE_SETUP
  3777. #line 550 "gpu/lolfx-scanner.l"
  3778. { return token::T_XOREQ; }
  3779. YY_BREAK
  3780. case 426:
  3781. YY_RULE_SETUP
  3782. #line 551 "gpu/lolfx-scanner.l"
  3783. { return token::T_OREQ; }
  3784. YY_BREAK
  3785. case 427:
  3786. YY_RULE_SETUP
  3787. #line 553 "gpu/lolfx-scanner.l"
  3788. {
  3789. yylval->fval = std::atof(yytext);
  3790. return token::FLOATCONSTANT;
  3791. }
  3792. YY_BREAK
  3793. case 428:
  3794. YY_RULE_SETUP
  3795. #line 557 "gpu/lolfx-scanner.l"
  3796. {
  3797. yylval->uval = std::atoi(yytext);
  3798. return token::UINTCONSTANT;
  3799. }
  3800. YY_BREAK
  3801. case 429:
  3802. YY_RULE_SETUP
  3803. #line 561 "gpu/lolfx-scanner.l"
  3804. {
  3805. yylval->ival = std::atoi(yytext);
  3806. return token::INTCONSTANT;
  3807. }
  3808. YY_BREAK
  3809. case 430:
  3810. YY_RULE_SETUP
  3811. #line 566 "gpu/lolfx-scanner.l"
  3812. {
  3813. /* Copy token for now */
  3814. yylval->sval = strdup(yytext);
  3815. return token::FIELDSELECTION;
  3816. }
  3817. YY_BREAK
  3818. case 431:
  3819. YY_RULE_SETUP
  3820. #line 572 "gpu/lolfx-scanner.l"
  3821. {
  3822. /* Copy token for now */
  3823. yylval->sval = strdup(yytext);
  3824. return token::IDENTIFIER;
  3825. }
  3826. YY_BREAK
  3827. case 432:
  3828. YY_RULE_SETUP
  3829. #line 578 "gpu/lolfx-scanner.l"
  3830. { /* ignore whitespace */ }
  3831. YY_BREAK
  3832. case 433:
  3833. /* rule 433 can match eol */
  3834. YY_RULE_SETUP
  3835. #line 579 "gpu/lolfx-scanner.l"
  3836. { yylloc->lines(1); }
  3837. YY_BREAK
  3838. case 434:
  3839. YY_RULE_SETUP
  3840. #line 580 "gpu/lolfx-scanner.l"
  3841. { return (token_type)*yytext; /* accept all characters */ }
  3842. YY_BREAK
  3843. /*
  3844. * Ignore C comments
  3845. */
  3846. case 435:
  3847. YY_RULE_SETUP
  3848. #line 586 "gpu/lolfx-scanner.l"
  3849. { BEGIN(C_COMMENT); }
  3850. YY_BREAK
  3851. case 436:
  3852. YY_RULE_SETUP
  3853. #line 587 "gpu/lolfx-scanner.l"
  3854. { BEGIN(INITIAL); }
  3855. YY_BREAK
  3856. case 437:
  3857. YY_RULE_SETUP
  3858. #line 588 "gpu/lolfx-scanner.l"
  3859. { }
  3860. YY_BREAK
  3861. case 438:
  3862. /* rule 438 can match eol */
  3863. YY_RULE_SETUP
  3864. #line 589 "gpu/lolfx-scanner.l"
  3865. { yylloc->lines(1); }
  3866. YY_BREAK
  3867. case 439:
  3868. YY_RULE_SETUP
  3869. #line 590 "gpu/lolfx-scanner.l"
  3870. { }
  3871. YY_BREAK
  3872. /*
  3873. * Ignore C++ comments
  3874. */
  3875. case 440:
  3876. YY_RULE_SETUP
  3877. #line 596 "gpu/lolfx-scanner.l"
  3878. { BEGIN(CPP_COMMENT); }
  3879. YY_BREAK
  3880. case 441:
  3881. /* rule 441 can match eol */
  3882. YY_RULE_SETUP
  3883. #line 597 "gpu/lolfx-scanner.l"
  3884. { yylloc->lines(1); BEGIN(INITIAL); }
  3885. YY_BREAK
  3886. case 442:
  3887. YY_RULE_SETUP
  3888. #line 598 "gpu/lolfx-scanner.l"
  3889. { }
  3890. YY_BREAK
  3891. case 443:
  3892. YY_RULE_SETUP
  3893. #line 600 "gpu/lolfx-scanner.l"
  3894. ECHO;
  3895. YY_BREAK
  3896. #line 4133 "generated/lolfx-scanner.cpp"
  3897. case YY_STATE_EOF(INITIAL):
  3898. case YY_STATE_EOF(C_COMMENT):
  3899. case YY_STATE_EOF(CPP_COMMENT):
  3900. yyterminate();
  3901. case YY_END_OF_BUFFER:
  3902. {
  3903. /* Amount of text matched not including the EOB char. */
  3904. int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
  3905. /* Undo the effects of YY_DO_BEFORE_ACTION. */
  3906. *yy_cp = (yy_hold_char);
  3907. YY_RESTORE_YY_MORE_OFFSET
  3908. if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
  3909. {
  3910. /* We're scanning a new file or input source. It's
  3911. * possible that this happened because the user
  3912. * just pointed yyin at a new source and called
  3913. * yylex(). If so, then we have to assure
  3914. * consistency between YY_CURRENT_BUFFER and our
  3915. * globals. Here is the right place to do so, because
  3916. * this is the first action (other than possibly a
  3917. * back-up) that will match for the new input source.
  3918. */
  3919. (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
  3920. YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
  3921. YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
  3922. }
  3923. /* Note that here we test for yy_c_buf_p "<=" to the position
  3924. * of the first EOB in the buffer, since yy_c_buf_p will
  3925. * already have been incremented past the NUL character
  3926. * (since all states make transitions on EOB to the
  3927. * end-of-buffer state). Contrast this with the test
  3928. * in input().
  3929. */
  3930. if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
  3931. { /* This was really a NUL. */
  3932. yy_state_type yy_next_state;
  3933. (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
  3934. yy_current_state = yy_get_previous_state( );
  3935. /* Okay, we're now positioned to make the NUL
  3936. * transition. We couldn't have
  3937. * yy_get_previous_state() go ahead and do it
  3938. * for us because it doesn't know how to deal
  3939. * with the possibility of jamming (and we don't
  3940. * want to build jamming into it because then it
  3941. * will run more slowly).
  3942. */
  3943. yy_next_state = yy_try_NUL_trans( yy_current_state );
  3944. yy_bp = (yytext_ptr) + YY_MORE_ADJ;
  3945. if ( yy_next_state )
  3946. {
  3947. /* Consume the NUL. */
  3948. yy_cp = ++(yy_c_buf_p);
  3949. yy_current_state = yy_next_state;
  3950. goto yy_match;
  3951. }
  3952. else
  3953. {
  3954. yy_cp = (yy_last_accepting_cpos);
  3955. yy_current_state = (yy_last_accepting_state);
  3956. goto yy_find_action;
  3957. }
  3958. }
  3959. else switch ( yy_get_next_buffer( ) )
  3960. {
  3961. case EOB_ACT_END_OF_FILE:
  3962. {
  3963. (yy_did_buffer_switch_on_eof) = 0;
  3964. if ( yywrap( ) )
  3965. {
  3966. /* Note: because we've taken care in
  3967. * yy_get_next_buffer() to have set up
  3968. * yytext, we can now set up
  3969. * yy_c_buf_p so that if some total
  3970. * hoser (like flex itself) wants to
  3971. * call the scanner after we return the
  3972. * YY_NULL, it'll still work - another
  3973. * YY_NULL will get returned.
  3974. */
  3975. (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
  3976. yy_act = YY_STATE_EOF(YY_START);
  3977. goto do_action;
  3978. }
  3979. else
  3980. {
  3981. if ( ! (yy_did_buffer_switch_on_eof) )
  3982. YY_NEW_FILE;
  3983. }
  3984. break;
  3985. }
  3986. case EOB_ACT_CONTINUE_SCAN:
  3987. (yy_c_buf_p) =
  3988. (yytext_ptr) + yy_amount_of_matched_text;
  3989. yy_current_state = yy_get_previous_state( );
  3990. yy_cp = (yy_c_buf_p);
  3991. yy_bp = (yytext_ptr) + YY_MORE_ADJ;
  3992. goto yy_match;
  3993. case EOB_ACT_LAST_MATCH:
  3994. (yy_c_buf_p) =
  3995. &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
  3996. yy_current_state = yy_get_previous_state( );
  3997. yy_cp = (yy_c_buf_p);
  3998. yy_bp = (yytext_ptr) + YY_MORE_ADJ;
  3999. goto yy_find_action;
  4000. }
  4001. break;
  4002. }
  4003. default:
  4004. YY_FATAL_ERROR(
  4005. "fatal flex scanner internal error--no action found" );
  4006. } /* end of action switch */
  4007. } /* end of scanning one token */
  4008. } /* end of yylex */
  4009. /* The contents of this function are C++ specific, so the () macro is not used.
  4010. */
  4011. yyFlexLexer::yyFlexLexer( std::istream* arg_yyin, std::ostream* arg_yyout )
  4012. {
  4013. yyin = arg_yyin;
  4014. yyout = arg_yyout;
  4015. yy_c_buf_p = 0;
  4016. yy_init = 0;
  4017. yy_start = 0;
  4018. yy_flex_debug = 0;
  4019. yylineno = 1; // this will only get updated if %option yylineno
  4020. yy_did_buffer_switch_on_eof = 0;
  4021. yy_looking_for_trail_begin = 0;
  4022. yy_more_flag = 0;
  4023. yy_more_len = 0;
  4024. yy_more_offset = yy_prev_more_offset = 0;
  4025. yy_start_stack_ptr = yy_start_stack_depth = 0;
  4026. yy_start_stack = NULL;
  4027. yy_buffer_stack = 0;
  4028. yy_buffer_stack_top = 0;
  4029. yy_buffer_stack_max = 0;
  4030. yy_state_buf = 0;
  4031. }
  4032. /* The contents of this function are C++ specific, so the () macro is not used.
  4033. */
  4034. yyFlexLexer::~yyFlexLexer()
  4035. {
  4036. delete [] yy_state_buf;
  4037. LolFxfree(yy_start_stack );
  4038. yy_delete_buffer( YY_CURRENT_BUFFER );
  4039. LolFxfree(yy_buffer_stack );
  4040. }
  4041. /* The contents of this function are C++ specific, so the () macro is not used.
  4042. */
  4043. void yyFlexLexer::switch_streams( std::istream* new_in, std::ostream* new_out )
  4044. {
  4045. if ( new_in )
  4046. {
  4047. yy_delete_buffer( YY_CURRENT_BUFFER );
  4048. yy_switch_to_buffer( yy_create_buffer( new_in, YY_BUF_SIZE ) );
  4049. }
  4050. if ( new_out )
  4051. yyout = new_out;
  4052. }
  4053. #ifdef YY_INTERACTIVE
  4054. int yyFlexLexer::LexerInput( char* buf, int /* max_size */ )
  4055. #else
  4056. int yyFlexLexer::LexerInput( char* buf, int max_size )
  4057. #endif
  4058. {
  4059. if ( yyin->eof() || yyin->fail() )
  4060. return 0;
  4061. #ifdef YY_INTERACTIVE
  4062. yyin->get( buf[0] );
  4063. if ( yyin->eof() )
  4064. return 0;
  4065. if ( yyin->bad() )
  4066. return -1;
  4067. return 1;
  4068. #else
  4069. (void) yyin->read( buf, max_size );
  4070. if ( yyin->bad() )
  4071. return -1;
  4072. else
  4073. return yyin->gcount();
  4074. #endif
  4075. }
  4076. void yyFlexLexer::LexerOutput( const char* buf, int size )
  4077. {
  4078. (void) yyout->write( buf, size );
  4079. }
  4080. /* yy_get_next_buffer - try to read in a new buffer
  4081. *
  4082. * Returns a code representing an action:
  4083. * EOB_ACT_LAST_MATCH -
  4084. * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
  4085. * EOB_ACT_END_OF_FILE - end of file
  4086. */
  4087. int yyFlexLexer::yy_get_next_buffer()
  4088. {
  4089. register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
  4090. register char *source = (yytext_ptr);
  4091. register int number_to_move, i;
  4092. int ret_val;
  4093. if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
  4094. YY_FATAL_ERROR(
  4095. "fatal flex scanner internal error--end of buffer missed" );
  4096. if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
  4097. { /* Don't try to fill the buffer, so this is an EOF. */
  4098. if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
  4099. {
  4100. /* We matched a single character, the EOB, so
  4101. * treat this as a final EOF.
  4102. */
  4103. return EOB_ACT_END_OF_FILE;
  4104. }
  4105. else
  4106. {
  4107. /* We matched some text prior to the EOB, first
  4108. * process it.
  4109. */
  4110. return EOB_ACT_LAST_MATCH;
  4111. }
  4112. }
  4113. /* Try to read more data. */
  4114. /* First move last chars to start of buffer. */
  4115. number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
  4116. for ( i = 0; i < number_to_move; ++i )
  4117. *(dest++) = *(source++);
  4118. if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
  4119. /* don't do the read, it's not guaranteed to return an EOF,
  4120. * just force an EOF
  4121. */
  4122. YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
  4123. else
  4124. {
  4125. int num_to_read =
  4126. YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
  4127. while ( num_to_read <= 0 )
  4128. { /* Not enough room in the buffer - grow it. */
  4129. /* just a shorter name for the current buffer */
  4130. YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
  4131. int yy_c_buf_p_offset =
  4132. (int) ((yy_c_buf_p) - b->yy_ch_buf);
  4133. if ( b->yy_is_our_buffer )
  4134. {
  4135. int new_size = b->yy_buf_size * 2;
  4136. if ( new_size <= 0 )
  4137. b->yy_buf_size += b->yy_buf_size / 8;
  4138. else
  4139. b->yy_buf_size *= 2;
  4140. b->yy_ch_buf = (char *)
  4141. /* Include room in for 2 EOB chars. */
  4142. LolFxrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
  4143. }
  4144. else
  4145. /* Can't grow it, we don't own it. */
  4146. b->yy_ch_buf = 0;
  4147. if ( ! b->yy_ch_buf )
  4148. YY_FATAL_ERROR(
  4149. "fatal error - scanner input buffer overflow" );
  4150. (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
  4151. num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
  4152. number_to_move - 1;
  4153. }
  4154. if ( num_to_read > YY_READ_BUF_SIZE )
  4155. num_to_read = YY_READ_BUF_SIZE;
  4156. /* Read in more data. */
  4157. YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
  4158. (yy_n_chars), (size_t) num_to_read );
  4159. YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
  4160. }
  4161. if ( (yy_n_chars) == 0 )
  4162. {
  4163. if ( number_to_move == YY_MORE_ADJ )
  4164. {
  4165. ret_val = EOB_ACT_END_OF_FILE;
  4166. yyrestart( yyin );
  4167. }
  4168. else
  4169. {
  4170. ret_val = EOB_ACT_LAST_MATCH;
  4171. YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
  4172. YY_BUFFER_EOF_PENDING;
  4173. }
  4174. }
  4175. else
  4176. ret_val = EOB_ACT_CONTINUE_SCAN;
  4177. if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
  4178. /* Extend the array by 50%, plus the number we really need. */
  4179. yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
  4180. YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) LolFxrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
  4181. if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
  4182. YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
  4183. }
  4184. (yy_n_chars) += number_to_move;
  4185. YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
  4186. YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
  4187. (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
  4188. return ret_val;
  4189. }
  4190. /* yy_get_previous_state - get the state just before the EOB char was reached */
  4191. yy_state_type yyFlexLexer::yy_get_previous_state()
  4192. {
  4193. register yy_state_type yy_current_state;
  4194. register char *yy_cp;
  4195. yy_current_state = (yy_start);
  4196. for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
  4197. {
  4198. register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
  4199. if ( yy_accept[yy_current_state] )
  4200. {
  4201. (yy_last_accepting_state) = yy_current_state;
  4202. (yy_last_accepting_cpos) = yy_cp;
  4203. }
  4204. while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
  4205. {
  4206. yy_current_state = (int) yy_def[yy_current_state];
  4207. if ( yy_current_state >= 1627 )
  4208. yy_c = yy_meta[(unsigned int) yy_c];
  4209. }
  4210. yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
  4211. }
  4212. return yy_current_state;
  4213. }
  4214. /* yy_try_NUL_trans - try to make a transition on the NUL character
  4215. *
  4216. * synopsis
  4217. * next_state = yy_try_NUL_trans( current_state );
  4218. */
  4219. yy_state_type yyFlexLexer::yy_try_NUL_trans( yy_state_type yy_current_state )
  4220. {
  4221. register int yy_is_jam;
  4222. register char *yy_cp = (yy_c_buf_p);
  4223. register YY_CHAR yy_c = 1;
  4224. if ( yy_accept[yy_current_state] )
  4225. {
  4226. (yy_last_accepting_state) = yy_current_state;
  4227. (yy_last_accepting_cpos) = yy_cp;
  4228. }
  4229. while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
  4230. {
  4231. yy_current_state = (int) yy_def[yy_current_state];
  4232. if ( yy_current_state >= 1627 )
  4233. yy_c = yy_meta[(unsigned int) yy_c];
  4234. }
  4235. yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
  4236. yy_is_jam = (yy_current_state == 1626);
  4237. return yy_is_jam ? 0 : yy_current_state;
  4238. }
  4239. void yyFlexLexer::yyunput( int c, register char* yy_bp)
  4240. {
  4241. register char *yy_cp;
  4242. yy_cp = (yy_c_buf_p);
  4243. /* undo effects of setting up yytext */
  4244. *yy_cp = (yy_hold_char);
  4245. if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
  4246. { /* need to shift things up to make room */
  4247. /* +2 for EOB chars. */
  4248. register int number_to_move = (yy_n_chars) + 2;
  4249. register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
  4250. YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
  4251. register char *source =
  4252. &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
  4253. while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
  4254. *--dest = *--source;
  4255. yy_cp += (int) (dest - source);
  4256. yy_bp += (int) (dest - source);
  4257. YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
  4258. (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
  4259. if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
  4260. YY_FATAL_ERROR( "flex scanner push-back overflow" );
  4261. }
  4262. *--yy_cp = (char) c;
  4263. (yytext_ptr) = yy_bp;
  4264. (yy_hold_char) = *yy_cp;
  4265. (yy_c_buf_p) = yy_cp;
  4266. }
  4267. int yyFlexLexer::yyinput()
  4268. {
  4269. int c;
  4270. *(yy_c_buf_p) = (yy_hold_char);
  4271. if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
  4272. {
  4273. /* yy_c_buf_p now points to the character we want to return.
  4274. * If this occurs *before* the EOB characters, then it's a
  4275. * valid NUL; if not, then we've hit the end of the buffer.
  4276. */
  4277. if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
  4278. /* This was really a NUL. */
  4279. *(yy_c_buf_p) = '\0';
  4280. else
  4281. { /* need more input */
  4282. int offset = (yy_c_buf_p) - (yytext_ptr);
  4283. ++(yy_c_buf_p);
  4284. switch ( yy_get_next_buffer( ) )
  4285. {
  4286. case EOB_ACT_LAST_MATCH:
  4287. /* This happens because yy_g_n_b()
  4288. * sees that we've accumulated a
  4289. * token and flags that we need to
  4290. * try matching the token before
  4291. * proceeding. But for input(),
  4292. * there's no matching to consider.
  4293. * So convert the EOB_ACT_LAST_MATCH
  4294. * to EOB_ACT_END_OF_FILE.
  4295. */
  4296. /* Reset buffer status. */
  4297. yyrestart( yyin );
  4298. /*FALLTHROUGH*/
  4299. case EOB_ACT_END_OF_FILE:
  4300. {
  4301. if ( yywrap( ) )
  4302. return EOF;
  4303. if ( ! (yy_did_buffer_switch_on_eof) )
  4304. YY_NEW_FILE;
  4305. #ifdef __cplusplus
  4306. return yyinput();
  4307. #else
  4308. return input();
  4309. #endif
  4310. }
  4311. case EOB_ACT_CONTINUE_SCAN:
  4312. (yy_c_buf_p) = (yytext_ptr) + offset;
  4313. break;
  4314. }
  4315. }
  4316. }
  4317. c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
  4318. *(yy_c_buf_p) = '\0'; /* preserve yytext */
  4319. (yy_hold_char) = *++(yy_c_buf_p);
  4320. return c;
  4321. }
  4322. /** Immediately switch to a different input stream.
  4323. * @param input_file A readable stream.
  4324. *
  4325. * @note This function does not reset the start condition to @c INITIAL .
  4326. */
  4327. void yyFlexLexer::yyrestart( std::istream* input_file )
  4328. {
  4329. if ( ! YY_CURRENT_BUFFER ){
  4330. yyensure_buffer_stack ();
  4331. YY_CURRENT_BUFFER_LVALUE =
  4332. yy_create_buffer( yyin, YY_BUF_SIZE );
  4333. }
  4334. yy_init_buffer( YY_CURRENT_BUFFER, input_file );
  4335. yy_load_buffer_state( );
  4336. }
  4337. /** Switch to a different input buffer.
  4338. * @param new_buffer The new input buffer.
  4339. *
  4340. */
  4341. void yyFlexLexer::yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
  4342. {
  4343. /* TODO. We should be able to replace this entire function body
  4344. * with
  4345. * yypop_buffer_state();
  4346. * yypush_buffer_state(new_buffer);
  4347. */
  4348. yyensure_buffer_stack ();
  4349. if ( YY_CURRENT_BUFFER == new_buffer )
  4350. return;
  4351. if ( YY_CURRENT_BUFFER )
  4352. {
  4353. /* Flush out information for old buffer. */
  4354. *(yy_c_buf_p) = (yy_hold_char);
  4355. YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
  4356. YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
  4357. }
  4358. YY_CURRENT_BUFFER_LVALUE = new_buffer;
  4359. yy_load_buffer_state( );
  4360. /* We don't actually know whether we did this switch during
  4361. * EOF (yywrap()) processing, but the only time this flag
  4362. * is looked at is after yywrap() is called, so it's safe
  4363. * to go ahead and always set it.
  4364. */
  4365. (yy_did_buffer_switch_on_eof) = 1;
  4366. }
  4367. void yyFlexLexer::yy_load_buffer_state()
  4368. {
  4369. (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
  4370. (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
  4371. yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
  4372. (yy_hold_char) = *(yy_c_buf_p);
  4373. }
  4374. /** Allocate and initialize an input buffer state.
  4375. * @param file A readable stream.
  4376. * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
  4377. *
  4378. * @return the allocated buffer state.
  4379. */
  4380. YY_BUFFER_STATE yyFlexLexer::yy_create_buffer( std::istream* file, int size )
  4381. {
  4382. YY_BUFFER_STATE b;
  4383. b = (YY_BUFFER_STATE) LolFxalloc(sizeof( struct yy_buffer_state ) );
  4384. if ( ! b )
  4385. YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
  4386. b->yy_buf_size = size;
  4387. /* yy_ch_buf has to be 2 characters longer than the size given because
  4388. * we need to put in 2 end-of-buffer characters.
  4389. */
  4390. b->yy_ch_buf = (char *) LolFxalloc(b->yy_buf_size + 2 );
  4391. if ( ! b->yy_ch_buf )
  4392. YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
  4393. b->yy_is_our_buffer = 1;
  4394. yy_init_buffer( b, file );
  4395. return b;
  4396. }
  4397. /** Destroy the buffer.
  4398. * @param b a buffer created with yy_create_buffer()
  4399. *
  4400. */
  4401. void yyFlexLexer::yy_delete_buffer( YY_BUFFER_STATE b )
  4402. {
  4403. if ( ! b )
  4404. return;
  4405. if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
  4406. YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
  4407. if ( b->yy_is_our_buffer )
  4408. LolFxfree((void *) b->yy_ch_buf );
  4409. LolFxfree((void *) b );
  4410. }
  4411. extern "C" int isatty (int );
  4412. /* Initializes or reinitializes a buffer.
  4413. * This function is sometimes called more than once on the same buffer,
  4414. * such as during a yyrestart() or at EOF.
  4415. */
  4416. void yyFlexLexer::yy_init_buffer( YY_BUFFER_STATE b, std::istream* file )
  4417. {
  4418. int oerrno = errno;
  4419. yy_flush_buffer( b );
  4420. b->yy_input_file = file;
  4421. b->yy_fill_buffer = 1;
  4422. /* If b is the current buffer, then yy_init_buffer was _probably_
  4423. * called from yyrestart() or through yy_get_next_buffer.
  4424. * In that case, we don't want to reset the lineno or column.
  4425. */
  4426. if (b != YY_CURRENT_BUFFER){
  4427. b->yy_bs_lineno = 1;
  4428. b->yy_bs_column = 0;
  4429. }
  4430. b->yy_is_interactive = 0;
  4431. errno = oerrno;
  4432. }
  4433. /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
  4434. * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
  4435. *
  4436. */
  4437. void yyFlexLexer::yy_flush_buffer( YY_BUFFER_STATE b )
  4438. {
  4439. if ( ! b )
  4440. return;
  4441. b->yy_n_chars = 0;
  4442. /* We always need two end-of-buffer characters. The first causes
  4443. * a transition to the end-of-buffer state. The second causes
  4444. * a jam in that state.
  4445. */
  4446. b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
  4447. b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
  4448. b->yy_buf_pos = &b->yy_ch_buf[0];
  4449. b->yy_at_bol = 1;
  4450. b->yy_buffer_status = YY_BUFFER_NEW;
  4451. if ( b == YY_CURRENT_BUFFER )
  4452. yy_load_buffer_state( );
  4453. }
  4454. /** Pushes the new state onto the stack. The new state becomes
  4455. * the current state. This function will allocate the stack
  4456. * if necessary.
  4457. * @param new_buffer The new state.
  4458. *
  4459. */
  4460. void yyFlexLexer::yypush_buffer_state (YY_BUFFER_STATE new_buffer)
  4461. {
  4462. if (new_buffer == NULL)
  4463. return;
  4464. yyensure_buffer_stack();
  4465. /* This block is copied from yy_switch_to_buffer. */
  4466. if ( YY_CURRENT_BUFFER )
  4467. {
  4468. /* Flush out information for old buffer. */
  4469. *(yy_c_buf_p) = (yy_hold_char);
  4470. YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
  4471. YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
  4472. }
  4473. /* Only push if top exists. Otherwise, replace top. */
  4474. if (YY_CURRENT_BUFFER)
  4475. (yy_buffer_stack_top)++;
  4476. YY_CURRENT_BUFFER_LVALUE = new_buffer;
  4477. /* copied from yy_switch_to_buffer. */
  4478. yy_load_buffer_state( );
  4479. (yy_did_buffer_switch_on_eof) = 1;
  4480. }
  4481. /** Removes and deletes the top of the stack, if present.
  4482. * The next element becomes the new top.
  4483. *
  4484. */
  4485. void yyFlexLexer::yypop_buffer_state (void)
  4486. {
  4487. if (!YY_CURRENT_BUFFER)
  4488. return;
  4489. yy_delete_buffer(YY_CURRENT_BUFFER );
  4490. YY_CURRENT_BUFFER_LVALUE = NULL;
  4491. if ((yy_buffer_stack_top) > 0)
  4492. --(yy_buffer_stack_top);
  4493. if (YY_CURRENT_BUFFER) {
  4494. yy_load_buffer_state( );
  4495. (yy_did_buffer_switch_on_eof) = 1;
  4496. }
  4497. }
  4498. /* Allocates the stack if it does not exist.
  4499. * Guarantees space for at least one push.
  4500. */
  4501. void yyFlexLexer::yyensure_buffer_stack(void)
  4502. {
  4503. int num_to_alloc;
  4504. if (!(yy_buffer_stack)) {
  4505. /* First allocation is just for 2 elements, since we don't know if this
  4506. * scanner will even need a stack. We use 2 instead of 1 to avoid an
  4507. * immediate realloc on the next call.
  4508. */
  4509. num_to_alloc = 1;
  4510. (yy_buffer_stack) = (struct yy_buffer_state**)LolFxalloc
  4511. (num_to_alloc * sizeof(struct yy_buffer_state*)
  4512. );
  4513. if ( ! (yy_buffer_stack) )
  4514. YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
  4515. memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
  4516. (yy_buffer_stack_max) = num_to_alloc;
  4517. (yy_buffer_stack_top) = 0;
  4518. return;
  4519. }
  4520. if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
  4521. /* Increase the buffer to prepare for a possible push. */
  4522. int grow_size = 8 /* arbitrary grow size */;
  4523. num_to_alloc = (yy_buffer_stack_max) + grow_size;
  4524. (yy_buffer_stack) = (struct yy_buffer_state**)LolFxrealloc
  4525. ((yy_buffer_stack),
  4526. num_to_alloc * sizeof(struct yy_buffer_state*)
  4527. );
  4528. if ( ! (yy_buffer_stack) )
  4529. YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
  4530. /* zero only the new slots.*/
  4531. memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
  4532. (yy_buffer_stack_max) = num_to_alloc;
  4533. }
  4534. }
  4535. void yyFlexLexer::yy_push_state( int new_state )
  4536. {
  4537. if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
  4538. {
  4539. yy_size_t new_size;
  4540. (yy_start_stack_depth) += YY_START_STACK_INCR;
  4541. new_size = (yy_start_stack_depth) * sizeof( int );
  4542. if ( ! (yy_start_stack) )
  4543. (yy_start_stack) = (int *) LolFxalloc(new_size );
  4544. else
  4545. (yy_start_stack) = (int *) LolFxrealloc((void *) (yy_start_stack),new_size );
  4546. if ( ! (yy_start_stack) )
  4547. YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
  4548. }
  4549. (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
  4550. BEGIN(new_state);
  4551. }
  4552. void yyFlexLexer::yy_pop_state()
  4553. {
  4554. if ( --(yy_start_stack_ptr) < 0 )
  4555. YY_FATAL_ERROR( "start-condition stack underflow" );
  4556. BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
  4557. }
  4558. int yyFlexLexer::yy_top_state()
  4559. {
  4560. return (yy_start_stack)[(yy_start_stack_ptr) - 1];
  4561. }
  4562. #ifndef YY_EXIT_FAILURE
  4563. #define YY_EXIT_FAILURE 2
  4564. #endif
  4565. void yyFlexLexer::LexerError( yyconst char msg[] )
  4566. {
  4567. std::cerr << msg << std::endl;
  4568. exit( YY_EXIT_FAILURE );
  4569. }
  4570. /* Redefine yyless() so it works in section 3 code. */
  4571. #undef yyless
  4572. #define yyless(n) \
  4573. do \
  4574. { \
  4575. /* Undo effects of setting up yytext. */ \
  4576. int yyless_macro_arg = (n); \
  4577. YY_LESS_LINENO(yyless_macro_arg);\
  4578. yytext[yyleng] = (yy_hold_char); \
  4579. (yy_c_buf_p) = yytext + yyless_macro_arg; \
  4580. (yy_hold_char) = *(yy_c_buf_p); \
  4581. *(yy_c_buf_p) = '\0'; \
  4582. yyleng = yyless_macro_arg; \
  4583. } \
  4584. while ( 0 )
  4585. /* Accessor methods (get/set functions) to struct members. */
  4586. /*
  4587. * Internal utility routines.
  4588. */
  4589. #ifndef yytext_ptr
  4590. static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
  4591. {
  4592. register int i;
  4593. for ( i = 0; i < n; ++i )
  4594. s1[i] = s2[i];
  4595. }
  4596. #endif
  4597. #ifdef YY_NEED_STRLEN
  4598. static int yy_flex_strlen (yyconst char * s )
  4599. {
  4600. register int n;
  4601. for ( n = 0; s[n]; ++n )
  4602. ;
  4603. return n;
  4604. }
  4605. #endif
  4606. void *LolFxalloc (yy_size_t size )
  4607. {
  4608. return (void *) malloc( size );
  4609. }
  4610. void *LolFxrealloc (void * ptr, yy_size_t size )
  4611. {
  4612. /* The cast to (char *) in the following accommodates both
  4613. * implementations that use char* generic pointers, and those
  4614. * that use void* generic pointers. It works with the latter
  4615. * because both ANSI C and C++ allow castless assignment from
  4616. * any pointer type to void*, and deal with argument conversions
  4617. * as though doing an assignment.
  4618. */
  4619. return (void *) realloc( (char *) ptr, size );
  4620. }
  4621. void LolFxfree (void * ptr )
  4622. {
  4623. free( (char *) ptr ); /* see LolFxrealloc() for (char *) cast */
  4624. }
  4625. #define YYTABLES_NAME "yytables"
  4626. #line 600 "gpu/lolfx-scanner.l"
  4627. lol::LolFxScanner::LolFxScanner(char const *command)
  4628. : LolFxFlexLexer(0, 0),
  4629. m_input(command)
  4630. {
  4631. }
  4632. lol::LolFxScanner::~LolFxScanner()
  4633. {
  4634. }
  4635. int lol::LolFxScanner::LexerInput(char* buf, int max_size)
  4636. {
  4637. buf[0] = m_input[0];
  4638. if (buf[0])
  4639. ++m_input;
  4640. return buf[0] ? 1 : 0;
  4641. }
  4642. #ifdef yylex
  4643. #undef yylex
  4644. #endif
  4645. int LolFxFlexLexer::yylex()
  4646. {
  4647. std::cerr << "in LolFxFlexLexer::yylex() !" << std::endl;
  4648. return 0;
  4649. }
  4650. int LolFxFlexLexer::yywrap()
  4651. {
  4652. return 1;
  4653. }