1 #define yy_create_buffer llvmAsm_create_buffer
2 #define yy_delete_buffer llvmAsm_delete_buffer
3 #define yy_scan_buffer llvmAsm_scan_buffer
4 #define yy_scan_string llvmAsm_scan_string
5 #define yy_scan_bytes llvmAsm_scan_bytes
6 #define yy_flex_debug llvmAsm_flex_debug
7 #define yy_init_buffer llvmAsm_init_buffer
8 #define yy_flush_buffer llvmAsm_flush_buffer
9 #define yy_load_buffer_state llvmAsm_load_buffer_state
10 #define yy_switch_to_buffer llvmAsm_switch_to_buffer
11 #define yyin llvmAsmin
12 #define yyleng llvmAsmleng
13 #define yylex llvmAsmlex
14 #define yyout llvmAsmout
15 #define yyrestart llvmAsmrestart
16 #define yytext llvmAsmtext
17 #define yylineno llvmAsmlineno
20 /* A lexical scanner generated by flex*/
22 /* Scanner skeleton version:
27 #define YY_FLEX_MAJOR_VERSION 2
28 #define YY_FLEX_MINOR_VERSION 5
34 /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
46 /* Use prototypes in function declarations. */
49 /* The "const" storage-class-modifier is valid. */
52 #else /* ! __cplusplus */
60 #endif /* ! __cplusplus */
79 #define YY_PROTO(proto) proto
81 #define YY_PROTO(proto) ()
84 /* Returned upon end-of-file. */
87 /* Promotes a possibly negative, possibly signed char to an unsigned
88 * integer for use as an array index. If the signed char is negative,
89 * we want to instead treat it as an 8-bit unsigned char, hence the
92 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
94 /* Enter a start condition. This macro really ought to take a parameter,
95 * but we do it the disgusting crufty way forced on us by the ()-less
96 * definition of BEGIN.
98 #define BEGIN yy_start = 1 + 2 *
100 /* Translate the current start state into a value that can be later handed
101 * to BEGIN to return to the state. The YYSTATE alias is for lex
104 #define YY_START ((yy_start - 1) / 2)
105 #define YYSTATE YY_START
107 /* Action number for EOF rule of a given start state. */
108 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
110 /* Special action meaning "start processing a new file". */
111 #define YY_NEW_FILE yyrestart( yyin )
113 #define YY_END_OF_BUFFER_CHAR 0
115 /* Size of default input buffer. */
116 #define YY_BUF_SIZE (16384*64)
118 typedef struct yy_buffer_state *YY_BUFFER_STATE;
121 extern FILE *yyin, *yyout;
123 #define EOB_ACT_CONTINUE_SCAN 0
124 #define EOB_ACT_END_OF_FILE 1
125 #define EOB_ACT_LAST_MATCH 2
127 /* The funky do-while in the following #define is used to turn the definition
128 * int a single C statement (which needs a semi-colon terminator). This
129 * avoids problems with code like:
131 * if ( condition_holds )
134 * do_something_else();
136 * Prior to using the do-while the compiler would get upset at the
137 * "else" because it interpreted the "if" statement as being all
138 * done when it reached the ';' after the yyless() call.
141 /* Return all but the first 'n' matched characters back to the input stream. */
146 /* Undo effects of setting up yytext. */ \
147 *yy_cp = yy_hold_char; \
148 YY_RESTORE_YY_MORE_OFFSET \
149 yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
150 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
154 #define unput(c) yyunput( c, yytext_ptr )
156 /* Some routines like yy_flex_realloc() are emitted as static but are
157 not called by all lexers. This generates warnings in some compilers,
158 notably GCC. Arrange to suppress these. */
160 #define YY_MAY_BE_UNUSED __attribute__((unused))
162 #define YY_MAY_BE_UNUSED
165 /* The following is because we cannot portably get our hands on size_t
166 * (without autoconf's help, which isn't available because we want
167 * flex-generated scanners to compile on their own).
169 typedef unsigned int yy_size_t;
172 struct yy_buffer_state
176 char *yy_ch_buf; /* input buffer */
177 char *yy_buf_pos; /* current position in input buffer */
179 /* Size of input buffer in bytes, not including room for EOB
182 yy_size_t yy_buf_size;
184 /* Number of characters read into yy_ch_buf, not including EOB
189 /* Whether we "own" the buffer - i.e., we know we created it,
190 * and can realloc() it to grow it, and should free() it to
193 int yy_is_our_buffer;
195 /* Whether this is an "interactive" input source; if so, and
196 * if we're using stdio for input, then we want to use getc()
197 * instead of fread(), to make sure we stop fetching input after
200 int yy_is_interactive;
202 /* Whether we're considered to be at the beginning of a line.
203 * If so, '^' rules will be active on the next match, otherwise
208 /* Whether to try to fill the input buffer when we reach the
213 int yy_buffer_status;
214 #define YY_BUFFER_NEW 0
215 #define YY_BUFFER_NORMAL 1
216 /* When an EOF's been seen but there's still some text to process
217 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
218 * shouldn't try reading from the input source any more. We might
219 * still have a bunch of tokens to match, though, because of
220 * possible backing-up.
222 * When we actually see the EOF, we change the status to "new"
223 * (via yyrestart()), so that the user can continue scanning by
224 * just pointing yyin at a new input file.
226 #define YY_BUFFER_EOF_PENDING 2
229 static YY_BUFFER_STATE yy_current_buffer = 0;
231 /* We provide macros for accessing buffer states in case in the
232 * future we want to put the buffer states in a more general
235 #define YY_CURRENT_BUFFER yy_current_buffer
238 /* yy_hold_char holds the character lost when yytext is formed. */
239 static char yy_hold_char;
241 static int yy_n_chars; /* number of characters read into yy_ch_buf */
246 /* Points to current character in buffer. */
247 static char *yy_c_buf_p = (char *) 0;
248 static int yy_init = 1; /* whether we need to initialize */
249 static int yy_start = 0; /* start state number */
251 /* Flag which is used to allow yywrap()'s to do buffer switches
252 * instead of setting up a fresh yyin. A bit of a hack ...
254 static int yy_did_buffer_switch_on_eof;
256 void yyrestart YY_PROTO(( FILE *input_file ));
258 void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
259 void yy_load_buffer_state YY_PROTO(( void ));
260 YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
261 void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
262 void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
263 void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
264 #define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
266 YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
267 YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
268 YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
270 static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
271 static inline void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) YY_MAY_BE_UNUSED;
272 static void yy_flex_free YY_PROTO(( void * ));
274 #define yy_new_buffer yy_create_buffer
276 #define yy_set_interactive(is_interactive) \
278 if ( ! yy_current_buffer ) \
279 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
280 yy_current_buffer->yy_is_interactive = is_interactive; \
283 #define yy_set_bol(at_bol) \
285 if ( ! yy_current_buffer ) \
286 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
287 yy_current_buffer->yy_at_bol = at_bol; \
290 #define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
293 #define YY_USES_REJECT
296 #define YY_SKIP_YYWRAP
297 typedef unsigned char YY_CHAR;
298 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
299 typedef int yy_state_type;
303 #define yytext_ptr yytext
305 static yy_state_type yy_get_previous_state YY_PROTO(( void ));
306 static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
307 static int yy_get_next_buffer YY_PROTO(( void ));
308 static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
310 /* Done after the current pattern has been matched and before the
311 * corresponding action - sets up yytext.
313 #define YY_DO_BEFORE_ACTION \
314 yytext_ptr = yy_bp; \
315 yyleng = (int) (yy_cp - yy_bp); \
316 yy_hold_char = *yy_cp; \
320 #define YY_NUM_RULES 141
321 #define YY_END_OF_BUFFER 142
322 static yyconst short int yy_acclist[219] =
324 142, 140, 141, 139, 140, 141, 139, 141, 140, 141,
325 140, 141, 140, 141, 140, 141, 140, 141, 140, 141,
326 132, 140, 141, 132, 140, 141, 1, 140, 141, 140,
327 141, 140, 141, 140, 141, 140, 141, 140, 141, 140,
328 141, 140, 141, 140, 141, 140, 141, 140, 141, 140,
329 141, 140, 141, 140, 141, 140, 141, 140, 141, 140,
330 141, 140, 141, 140, 141, 140, 141, 140, 141, 140,
331 141, 131, 129, 128, 128, 135, 133, 137, 132, 1,
332 114, 38, 74, 75, 70, 22, 131, 128, 128, 136,
333 137, 19, 137, 138, 60, 69, 36, 31, 39, 3,
335 51, 62, 84, 89, 87, 88, 86, 85, 90, 94,
336 113, 79, 77, 109, 78, 76, 61, 92, 83, 81,
337 82, 80, 93, 91, 71, 130, 137, 137, 111, 46,
338 95, 73, 65, 121, 68, 72, 122, 53, 110, 21,
339 134, 64, 98, 67, 23, 4, 58, 63, 52, 66,
340 45, 11, 97, 137, 33, 2, 5, 55, 100, 57,
341 47, 49, 123, 96, 48, 54, 20, 120, 42, 56,
342 27, 41, 104, 103, 7, 116, 30, 119, 35, 59,
343 108, 102, 115, 24, 25, 101, 117, 50, 112, 107,
344 40, 6, 26, 99, 34, 8, 16, 9, 105, 10,
346 106, 32, 12, 14, 13, 29, 37, 15, 28, 118,
347 124, 126, 127, 43, 125, 17, 44, 18
350 static yyconst short int yy_accept[570] =
352 1, 1, 1, 2, 4, 7, 9, 11, 13, 15,
353 17, 19, 21, 24, 27, 30, 32, 34, 36, 38,
354 40, 42, 44, 46, 48, 50, 52, 54, 56, 58,
355 60, 62, 64, 66, 68, 70, 72, 72, 73, 73,
356 74, 75, 76, 77, 77, 78, 78, 79, 80, 80,
357 81, 81, 81, 81, 81, 81, 81, 81, 81, 82,
358 82, 83, 83, 83, 83, 83, 83, 83, 83, 84,
359 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
360 84, 84, 84, 84, 84, 84, 84, 84, 84, 85,
361 85, 85, 85, 85, 85, 85, 86, 86, 86, 86,
363 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
364 86, 86, 86, 86, 87, 87, 87, 87, 87, 87,
365 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
366 87, 87, 88, 89, 91, 92, 93, 94, 94, 95,
367 96, 96, 96, 97, 97, 97, 98, 98, 99, 99,
368 99, 99, 100, 100, 100, 100, 100, 100, 100, 100,
369 100, 101, 101, 101, 101, 101, 101, 101, 101, 101,
370 101, 101, 101, 101, 101, 101, 102, 102, 102, 102,
371 102, 102, 102, 102, 102, 102, 103, 103, 104, 105,
372 106, 107, 108, 109, 109, 110, 111, 111, 111, 112,
374 112, 112, 112, 112, 112, 112, 113, 114, 115, 115,
375 115, 115, 115, 116, 117, 117, 117, 118, 118, 118,
376 118, 118, 118, 118, 118, 118, 119, 120, 121, 121,
377 121, 122, 122, 123, 123, 124, 125, 125, 125, 125,
378 125, 125, 125, 125, 125, 125, 126, 126, 126, 127,
379 128, 128, 128, 128, 129, 129, 129, 129, 130, 130,
380 130, 131, 132, 132, 132, 132, 132, 132, 132, 132,
381 132, 132, 132, 132, 132, 132, 132, 133, 134, 134,
382 134, 134, 134, 135, 136, 136, 136, 137, 137, 137,
383 137, 137, 137, 137, 137, 137, 138, 139, 140, 140,
385 140, 141, 141, 141, 141, 142, 142, 143, 143, 143,
386 144, 144, 144, 144, 144, 145, 145, 145, 146, 146,
387 146, 147, 147, 148, 148, 149, 150, 150, 150, 150,
388 150, 150, 151, 151, 151, 152, 152, 153, 153, 153,
389 154, 155, 156, 156, 156, 157, 157, 157, 157, 157,
390 157, 157, 157, 157, 157, 157, 157, 157, 157, 158,
391 158, 159, 160, 160, 160, 160, 160, 160, 160, 160,
392 160, 160, 160, 161, 161, 161, 161, 161, 161, 161,
393 161, 162, 162, 162, 163, 163, 163, 163, 164, 164,
394 164, 164, 165, 166, 166, 167, 168, 168, 168, 168,
396 168, 168, 168, 168, 168, 169, 169, 169, 170, 170,
397 170, 170, 170, 170, 170, 170, 171, 172, 172, 172,
398 173, 174, 175, 175, 175, 176, 176, 176, 176, 176,
399 177, 177, 178, 179, 180, 181, 181, 181, 181, 182,
400 182, 182, 183, 184, 185, 186, 187, 187, 188, 189,
401 190, 190, 190, 190, 190, 190, 191, 191, 192, 192,
402 193, 194, 194, 194, 194, 194, 194, 195, 195, 195,
403 195, 195, 195, 195, 195, 195, 196, 196, 196, 196,
404 196, 196, 196, 196, 196, 197, 197, 197, 197, 197,
405 198, 198, 198, 198, 198, 199, 200, 201, 201, 202,
407 202, 202, 202, 203, 203, 203, 203, 204, 204, 205,
408 206, 206, 206, 206, 206, 206, 206, 206, 206, 206,
409 206, 206, 206, 207, 207, 207, 207, 207, 207, 207,
410 207, 208, 208, 208, 208, 208, 209, 209, 209, 209,
411 209, 210, 210, 211, 211, 211, 211, 211, 211, 211,
412 211, 211, 211, 211, 211, 211, 212, 212, 213, 214,
413 214, 215, 215, 216, 217, 218, 218, 219, 219
416 static yyconst int yy_ec[256] =
418 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
419 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
420 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
421 1, 2, 1, 4, 1, 5, 6, 1, 1, 1,
422 1, 1, 7, 1, 8, 9, 1, 10, 11, 11,
423 11, 11, 11, 12, 11, 13, 11, 14, 15, 1,
424 1, 1, 1, 1, 16, 16, 16, 16, 17, 16,
425 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
426 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
427 1, 1, 1, 1, 18, 1, 19, 20, 21, 22,
429 23, 24, 25, 26, 27, 5, 28, 29, 30, 31,
430 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
431 42, 43, 1, 1, 1, 1, 1, 1, 1, 1,
432 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
433 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
434 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
435 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
436 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
437 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
438 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
440 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
441 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
442 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
443 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
444 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
448 static yyconst int yy_meta[44] =
450 1, 1, 2, 1, 3, 1, 1, 3, 3, 3,
451 3, 3, 3, 4, 1, 3, 3, 3, 3, 3,
452 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
453 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
457 static yyconst short int yy_base[574] =
459 0, 0, 1226, 1227, 1227, 1227, 1221, 1210, 36, 40,
460 44, 50, 56, 62, 0, 63, 66, 81, 89, 47,
461 108, 91, 95, 92, 72, 109, 134, 119, 117, 160,
462 120, 191, 139, 121, 136, 150, 1219, 1227, 1208, 1227,
463 0, 165, 180, 197, 219, 70, 224, 239, 244, 0,
464 68, 152, 93, 128, 158, 190, 245, 31, 1207, 188,
465 182, 211, 48, 207, 248, 210, 122, 124, 1206, 209,
466 257, 258, 185, 259, 260, 261, 262, 263, 264, 265,
467 266, 276, 273, 287, 286, 278, 294, 295, 1205, 297,
468 299, 300, 305, 306, 303, 313, 307, 311, 301, 316,
470 46, 317, 318, 325, 326, 329, 333, 327, 334, 330,
471 351, 342, 346, 1204, 358, 354, 337, 361, 360, 363,
472 362, 366, 369, 383, 364, 271, 381, 388, 231, 370,
473 397, 1203, 0, 402, 406, 1202, 429, 446, 0, 1201,
474 406, 412, 1200, 407, 410, 1199, 408, 1198, 413, 419,
475 422, 1197, 433, 414, 447, 448, 435, 449, 452, 451,
476 454, 459, 455, 458, 460, 180, 466, 462, 469, 475,
477 463, 470, 473, 478, 474, 485, 482, 486, 488, 496,
478 497, 498, 499, 501, 503, 1196, 506, 1195, 1194, 1193,
479 1192, 1191, 1190, 504, 1189, 1188, 511, 507, 1187, 535,
481 512, 514, 513, 517, 523, 1186, 1185, 1184, 529, 515,
482 547, 548, 1183, 1182, 549, 551, 1181, 552, 553, 558,
483 554, 561, 555, 557, 559, 1180, 1179, 1178, 560, 563,
484 1177, 562, 1176, 567, 1175, 1174, 577, 574, 582, 571,
485 585, 510, 588, 591, 592, 1173, 594, 595, 1227, 604,
486 623, 612, 627, 632, 597, 599, 633, 1172, 634, 635,
487 1171, 1170, 636, 615, 637, 639, 641, 642, 644, 645,
488 647, 648, 649, 652, 656, 659, 1169, 1168, 658, 663,
489 667, 664, 1167, 1166, 668, 669, 1165, 673, 672, 675,
490 676, 678, 680, 679, 684, 1164, 1163, 1162, 685, 687,
492 1161, 677, 690, 698, 0, 700, 1160, 704, 705, 1159,
493 706, 708, 710, 711, 1158, 714, 715, 1157, 724, 720,
494 1156, 725, 1155, 727, 1154, 1153, 728, 726, 730, 734,
495 731, 1152, 741, 742, 1151, 743, 1150, 745, 744, 1149,
496 753, 1148, 753, 746, 1147, 747, 761, 759, 765, 770,
497 756, 773, 771, 774, 776, 778, 780, 781, 1146, 782,
498 1145, 1144, 783, 786, 784, 791, 787, 792, 794, 798,
499 803, 804, 1143, 806, 805, 809, 810, 811, 812, 818,
500 1142, 807, 824, 1141, 826, 827, 829, 1140, 411, 828,
501 830, 1139, 1138, 833, 1137, 1136, 835, 832, 834, 838,
503 843, 845, 836, 844, 1135, 853, 846, 1134, 854, 855,
504 858, 863, 860, 865, 867, 1133, 1132, 870, 864, 1131,
505 1130, 1129, 873, 868, 1128, 879, 881, 889, 876, 1127,
506 891, 1126, 1125, 1124, 1123, 892, 878, 893, 1122, 896,
507 897, 1121, 1120, 1119, 1118, 1117, 900, 1116, 1115, 1114,
508 901, 902, 903, 904, 906, 1113, 908, 1112, 909, 1111,
509 1110, 914, 915, 918, 919, 920, 1109, 921, 922, 925,
510 926, 928, 933, 932, 937, 1108, 938, 943, 945, 946,
511 947, 951, 948, 953, 1107, 956, 959, 961, 957, 1106,
512 962, 968, 965, 967, 1105, 1104, 1103, 973, 1102, 969,
514 972, 975, 1101, 983, 987, 989, 1098, 974, 1088, 1086,
515 991, 994, 993, 995, 998, 999, 1001, 1004, 1005, 1006,
516 1007, 1010, 1085, 1009, 1013, 1012, 1017, 1021, 1024, 1018,
517 1084, 1025, 1032, 1035, 1036, 1083, 1037, 1019, 1026, 1038,
518 1082, 1043, 1077, 1044, 1045, 1049, 1048, 1053, 1054, 1056,
519 1057, 1060, 1063, 1058, 1066, 1076, 1064, 1073, 877, 1068,
520 760, 1071, 707, 604, 522, 1069, 368, 1227, 1104, 1106,
524 static yyconst short int yy_def[574] =
526 568, 1, 568, 568, 568, 568, 569, 570, 571, 568,
527 570, 570, 570, 570, 572, 570, 570, 570, 570, 570,
528 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
529 570, 570, 570, 570, 570, 570, 569, 568, 570, 568,
530 573, 573, 568, 568, 570, 570, 570, 570, 570, 572,
531 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
532 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
533 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
534 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
535 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
537 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
538 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
539 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
540 570, 568, 573, 573, 568, 570, 570, 570, 49, 570,
541 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
542 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
543 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
544 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
545 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
546 570, 570, 570, 570, 570, 570, 570, 570, 570, 49,
548 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
549 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
550 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
551 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
552 570, 570, 570, 570, 570, 570, 570, 570, 568, 568,
553 568, 568, 570, 570, 570, 570, 570, 570, 570, 570,
554 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
555 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
556 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
557 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
559 570, 570, 570, 570, 200, 570, 570, 570, 570, 570,
560 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
561 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
562 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
563 568, 570, 570, 570, 570, 570, 570, 570, 570, 570,
564 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
565 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
566 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
567 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
568 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
570 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
571 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
572 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
573 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
574 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
575 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
576 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
577 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
578 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
579 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
581 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
582 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
583 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
584 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
585 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
586 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
587 570, 570, 570, 570, 570, 570, 570, 0, 568, 568,
591 static yyconst short int yy_nxt[1271] =
593 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
594 14, 14, 14, 4, 15, 8, 8, 8, 16, 17,
595 18, 19, 20, 21, 22, 8, 23, 8, 24, 25,
596 26, 27, 28, 8, 29, 30, 31, 32, 33, 34,
597 35, 8, 36, 42, 40, 43, 43, 43, 43, 44,
598 44, 44, 44, 45, 45, 45, 45, 40, 46, 40,
599 40, 40, 150, 40, 47, 48, 48, 48, 48, 40,
600 47, 48, 48, 48, 48, 40, 40, 68, 136, 40,
601 69, 40, 155, 40, 51, 40, 200, 70, 56, 140,
602 86, 52, 57, 53, 40, 54, 49, 58, 55, 60,
604 59, 61, 40, 87, 40, 40, 40, 64, 40, 88,
605 82, 65, 62, 77, 143, 79, 63, 66, 83, 78,
606 67, 40, 40, 84, 80, 81, 71, 85, 72, 73,
607 40, 89, 40, 40, 40, 40, 74, 40, 113, 100,
608 75, 40, 76, 128, 97, 161, 90, 40, 129, 40,
609 98, 114, 40, 133, 115, 99, 91, 126, 92, 160,
610 144, 116, 93, 40, 94, 40, 95, 130, 96, 101,
611 127, 40, 131, 40, 134, 134, 134, 134, 141, 102,
612 142, 103, 104, 145, 105, 106, 107, 146, 108, 43,
613 43, 43, 43, 40, 109, 40, 110, 111, 40, 112,
615 101, 40, 152, 40, 40, 135, 44, 44, 44, 44,
616 117, 166, 118, 119, 147, 120, 151, 121, 278, 122,
617 40, 123, 40, 40, 40, 124, 125, 47, 45, 45,
618 45, 45, 40, 137, 137, 137, 137, 40, 159, 153,
619 138, 154, 245, 156, 40, 162, 138, 47, 48, 48,
620 48, 48, 40, 139, 139, 139, 139, 40, 40, 139,
621 139, 40, 139, 139, 139, 139, 139, 139, 157, 148,
622 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
623 158, 149, 168, 170, 40, 163, 40, 165, 241, 40,
624 167, 40, 164, 173, 172, 178, 169, 174, 171, 40,
626 40, 175, 176, 179, 177, 181, 184, 40, 40, 180,
627 40, 183, 40, 40, 40, 185, 40, 182, 40, 40,
628 40, 194, 189, 186, 40, 187, 40, 191, 193, 40,
629 40, 40, 188, 196, 195, 198, 190, 197, 40, 40,
630 40, 192, 40, 40, 202, 203, 40, 40, 206, 213,
631 40, 41, 199, 204, 211, 40, 215, 208, 201, 40,
632 209, 216, 207, 214, 40, 205, 210, 40, 218, 212,
633 217, 40, 219, 40, 40, 40, 40, 40, 224, 40,
634 220, 40, 40, 40, 221, 227, 223, 225, 231, 240,
635 234, 235, 229, 226, 40, 222, 40, 232, 230, 228,
637 236, 40, 233, 237, 246, 239, 244, 242, 238, 243,
638 40, 134, 134, 134, 134, 250, 250, 250, 250, 40,
639 40, 40, 251, 40, 40, 40, 40, 40, 251, 257,
640 255, 247, 40, 260, 259, 40, 443, 248, 137, 137,
641 137, 137, 40, 256, 258, 138, 40, 261, 40, 264,
642 262, 138, 252, 253, 263, 254, 254, 254, 254, 40,
643 40, 40, 40, 267, 40, 40, 266, 40, 40, 265,
644 271, 40, 40, 40, 269, 40, 40, 268, 270, 40,
645 272, 273, 40, 40, 279, 285, 40, 40, 40, 286,
646 275, 40, 277, 274, 276, 40, 289, 283, 40, 40,
648 281, 40, 280, 282, 284, 287, 288, 290, 293, 40,
649 40, 40, 40, 292, 40, 294, 40, 40, 296, 40,
650 40, 291, 297, 40, 40, 40, 40, 40, 40, 299,
651 40, 335, 295, 298, 301, 40, 40, 302, 312, 309,
652 300, 303, 40, 304, 305, 305, 305, 305, 306, 308,
653 305, 305, 307, 305, 305, 305, 305, 305, 305, 310,
654 40, 40, 40, 311, 40, 40, 40, 40, 40, 313,
655 40, 40, 40, 40, 40, 40, 40, 323, 315, 314,
656 40, 318, 319, 321, 40, 316, 320, 40, 317, 329,
657 40, 322, 328, 324, 327, 40, 326, 325, 40, 330,
659 331, 40, 333, 334, 40, 40, 336, 40, 40, 338,
660 40, 332, 40, 250, 250, 250, 250, 40, 337, 343,
661 251, 341, 341, 341, 341, 339, 251, 342, 40, 252,
662 252, 340, 341, 341, 341, 341, 254, 254, 254, 254,
663 40, 254, 254, 254, 254, 40, 40, 40, 40, 40,
664 40, 348, 40, 346, 40, 40, 347, 40, 40, 351,
665 40, 40, 40, 344, 345, 40, 356, 350, 352, 40,
666 358, 40, 40, 349, 354, 355, 40, 40, 359, 360,
667 40, 40, 40, 357, 353, 40, 40, 367, 40, 40,
668 40, 40, 40, 40, 361, 368, 366, 40, 40, 362,
670 40, 365, 363, 40, 364, 372, 369, 371, 373, 370,
671 374, 40, 375, 40, 378, 377, 376, 40, 40, 40,
672 40, 40, 381, 40, 40, 383, 379, 40, 40, 380,
673 382, 385, 386, 40, 387, 389, 388, 40, 40, 40,
674 40, 40, 384, 40, 40, 392, 390, 40, 391, 393,
675 395, 394, 397, 396, 40, 40, 40, 40, 40, 40,
676 40, 398, 341, 341, 341, 341, 40, 406, 402, 40,
677 404, 405, 40, 40, 40, 399, 400, 409, 40, 401,
678 403, 408, 407, 40, 40, 410, 40, 40, 411, 40,
679 412, 40, 413, 40, 40, 40, 40, 40, 416, 40,
681 40, 419, 420, 414, 40, 40, 415, 40, 417, 421,
682 418, 40, 422, 424, 423, 425, 40, 40, 40, 40,
683 40, 426, 40, 40, 40, 40, 430, 432, 428, 433,
684 427, 40, 434, 435, 436, 429, 431, 40, 438, 40,
685 40, 40, 40, 40, 437, 40, 40, 40, 40, 40,
686 441, 40, 445, 448, 440, 447, 40, 40, 40, 40,
687 439, 442, 450, 452, 444, 446, 40, 40, 40, 451,
688 449, 40, 453, 40, 454, 458, 40, 40, 40, 455,
689 40, 40, 456, 40, 457, 460, 40, 464, 465, 40,
690 40, 40, 40, 467, 40, 461, 462, 468, 463, 459,
692 466, 469, 40, 470, 40, 40, 40, 471, 475, 40,
693 40, 473, 472, 40, 40, 40, 40, 40, 477, 40,
694 478, 40, 40, 476, 482, 479, 474, 40, 40, 480,
695 483, 40, 40, 40, 40, 40, 484, 481, 40, 40,
696 486, 40, 491, 492, 485, 40, 40, 490, 487, 488,
697 40, 40, 493, 494, 495, 497, 40, 489, 40, 40,
698 40, 40, 496, 502, 40, 501, 40, 498, 503, 40,
699 40, 505, 40, 499, 40, 40, 500, 507, 40, 511,
700 40, 40, 40, 504, 506, 40, 40, 40, 40, 515,
701 512, 517, 518, 508, 519, 509, 40, 510, 513, 516,
703 40, 514, 40, 520, 40, 521, 40, 40, 40, 524,
704 523, 40, 40, 527, 40, 522, 525, 40, 40, 40,
705 40, 530, 40, 40, 533, 40, 40, 528, 535, 526,
706 40, 40, 40, 532, 40, 534, 536, 40, 40, 40,
707 531, 529, 537, 540, 538, 40, 541, 543, 40, 40,
708 40, 40, 549, 539, 542, 548, 40, 40, 40, 547,
709 544, 40, 40, 545, 546, 553, 40, 40, 550, 40,
710 40, 40, 552, 40, 551, 554, 40, 40, 555, 40,
711 560, 40, 40, 561, 40, 557, 40, 556, 565, 40,
712 40, 559, 558, 566, 564, 40, 40, 40, 40, 40,
714 562, 40, 563, 567, 37, 37, 37, 37, 39, 39,
715 50, 40, 50, 50, 40, 40, 40, 40, 40, 40,
716 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
717 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
718 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
719 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
720 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
721 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
722 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
723 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
725 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
726 40, 40, 40, 40, 40, 40, 249, 40, 40, 40,
727 40, 40, 132, 40, 38, 568, 3, 568, 568, 568,
728 568, 568, 568, 568, 568, 568, 568, 568, 568, 568,
729 568, 568, 568, 568, 568, 568, 568, 568, 568, 568,
730 568, 568, 568, 568, 568, 568, 568, 568, 568, 568,
731 568, 568, 568, 568, 568, 568, 568, 568, 568, 568
734 static yyconst short int yy_chk[1271] =
736 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
737 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
738 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
739 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
740 1, 1, 1, 9, 58, 9, 9, 9, 9, 10,
741 10, 10, 10, 11, 11, 11, 11, 11, 12, 101,
742 20, 63, 58, 12, 13, 13, 13, 13, 13, 13,
743 14, 14, 14, 14, 14, 14, 16, 20, 46, 17,
744 20, 51, 63, 46, 16, 25, 101, 20, 17, 51,
745 25, 16, 17, 16, 18, 16, 13, 17, 16, 18,
747 17, 18, 19, 25, 22, 24, 53, 19, 23, 25,
748 24, 19, 18, 22, 53, 23, 18, 19, 24, 22,
749 19, 21, 26, 24, 23, 23, 21, 24, 21, 21,
750 29, 26, 28, 31, 34, 67, 21, 68, 31, 29,
751 21, 54, 21, 34, 28, 68, 26, 27, 35, 35,
752 28, 31, 33, 573, 31, 28, 27, 33, 27, 67,
753 54, 31, 27, 36, 27, 52, 27, 35, 27, 30,
754 33, 55, 36, 30, 42, 42, 42, 42, 52, 30,
755 52, 30, 30, 55, 30, 30, 30, 55, 30, 43,
756 43, 43, 43, 166, 30, 61, 30, 30, 73, 30,
758 32, 60, 61, 56, 32, 44, 44, 44, 44, 44,
759 32, 73, 32, 32, 56, 32, 60, 32, 166, 32,
760 64, 32, 70, 66, 62, 32, 32, 45, 45, 45,
761 45, 45, 45, 47, 47, 47, 47, 47, 66, 62,
762 47, 62, 129, 64, 129, 70, 47, 48, 48, 48,
763 48, 48, 48, 49, 49, 49, 49, 49, 57, 49,
764 49, 65, 49, 49, 49, 49, 49, 49, 65, 57,
765 71, 72, 74, 75, 76, 77, 78, 79, 80, 81,
766 65, 57, 75, 76, 126, 71, 83, 72, 126, 82,
767 74, 86, 71, 79, 78, 82, 75, 80, 77, 85,
769 84, 81, 81, 83, 81, 84, 86, 87, 88, 83,
770 90, 85, 91, 92, 99, 87, 95, 84, 93, 94,
771 97, 95, 92, 88, 98, 90, 96, 93, 94, 100,
772 102, 103, 91, 97, 96, 99, 92, 98, 104, 105,
773 108, 93, 106, 110, 103, 104, 107, 109, 105, 108,
774 117, 571, 100, 104, 107, 112, 109, 106, 102, 113,
775 106, 110, 105, 108, 111, 104, 106, 116, 112, 107,
776 111, 115, 113, 119, 118, 121, 120, 125, 117, 122,
777 113, 567, 123, 130, 115, 120, 116, 118, 122, 125,
778 123, 123, 121, 119, 127, 115, 124, 122, 121, 120,
780 123, 128, 122, 123, 130, 124, 128, 127, 123, 127,
781 131, 134, 134, 134, 134, 135, 135, 135, 135, 141,
782 144, 147, 135, 145, 389, 142, 149, 154, 135, 144,
783 141, 131, 150, 149, 147, 151, 389, 131, 137, 137,
784 137, 137, 137, 142, 145, 137, 153, 150, 157, 154,
785 151, 137, 138, 138, 153, 138, 138, 138, 138, 138,
786 155, 156, 158, 157, 160, 159, 156, 161, 163, 155,
787 160, 164, 162, 165, 159, 168, 171, 158, 159, 167,
788 161, 162, 169, 172, 167, 171, 173, 175, 170, 172,
789 163, 174, 165, 162, 164, 177, 175, 170, 176, 178,
791 169, 179, 168, 169, 170, 173, 174, 176, 178, 180,
792 181, 182, 183, 177, 184, 179, 185, 194, 181, 187,
793 198, 176, 182, 242, 197, 201, 203, 202, 210, 184,
794 204, 242, 180, 183, 187, 565, 205, 194, 210, 204,
795 185, 197, 209, 198, 200, 200, 200, 200, 201, 203,
796 200, 200, 202, 200, 200, 200, 200, 200, 200, 205,
797 211, 212, 215, 209, 216, 218, 219, 221, 223, 211,
798 224, 220, 225, 229, 222, 232, 230, 223, 215, 212,
799 234, 219, 220, 222, 240, 216, 221, 238, 218, 234,
800 237, 222, 232, 224, 230, 239, 229, 225, 241, 237,
802 238, 243, 240, 241, 244, 245, 243, 247, 248, 245,
803 255, 239, 256, 250, 250, 250, 250, 564, 244, 256,
804 250, 252, 252, 252, 252, 247, 250, 255, 264, 251,
805 251, 248, 251, 251, 251, 251, 253, 253, 253, 253,
806 253, 254, 254, 254, 254, 254, 257, 259, 260, 263,
807 265, 264, 266, 260, 267, 268, 263, 269, 270, 267,
808 271, 272, 273, 257, 259, 274, 272, 266, 268, 275,
809 274, 279, 276, 265, 270, 271, 280, 282, 275, 276,
810 281, 285, 286, 273, 269, 289, 288, 286, 290, 291,
811 302, 292, 294, 293, 279, 288, 285, 295, 299, 280,
813 300, 282, 281, 303, 281, 292, 289, 291, 293, 290,
814 294, 304, 295, 306, 302, 300, 299, 308, 309, 311,
815 563, 312, 306, 313, 314, 309, 303, 316, 317, 304,
816 308, 312, 313, 320, 314, 317, 316, 319, 322, 328,
817 324, 327, 311, 329, 331, 322, 319, 330, 320, 324,
818 328, 327, 330, 329, 333, 334, 336, 339, 338, 344,
819 346, 331, 341, 341, 341, 341, 343, 344, 338, 351,
820 339, 343, 348, 561, 347, 333, 334, 348, 349, 336,
821 338, 347, 346, 350, 353, 349, 352, 354, 350, 355,
822 351, 356, 352, 357, 358, 360, 363, 365, 355, 364,
824 367, 358, 360, 353, 366, 368, 354, 369, 356, 363,
825 357, 370, 364, 366, 365, 367, 371, 372, 375, 374,
826 382, 368, 376, 377, 378, 379, 372, 375, 370, 376,
827 369, 380, 377, 378, 379, 371, 374, 383, 382, 385,
828 386, 390, 387, 391, 380, 398, 394, 399, 397, 403,
829 386, 400, 391, 398, 385, 397, 401, 404, 402, 407,
830 383, 387, 400, 402, 390, 394, 406, 409, 410, 401,
831 399, 411, 403, 413, 404, 410, 412, 419, 414, 406,
832 415, 424, 407, 418, 409, 412, 423, 418, 418, 429,
833 559, 437, 426, 423, 427, 413, 414, 424, 415, 411,
835 419, 426, 428, 427, 431, 436, 438, 428, 437, 440,
836 441, 431, 429, 447, 451, 452, 453, 454, 440, 455,
837 441, 457, 459, 438, 453, 447, 436, 462, 463, 451,
838 454, 464, 465, 466, 468, 469, 455, 452, 470, 471,
839 459, 472, 466, 468, 457, 474, 473, 465, 462, 463,
840 475, 477, 469, 470, 471, 473, 478, 464, 479, 480,
841 481, 483, 472, 479, 482, 478, 484, 474, 480, 486,
842 489, 482, 487, 475, 488, 491, 477, 484, 493, 489,
843 494, 492, 500, 481, 483, 501, 498, 508, 502, 494,
844 491, 500, 501, 486, 502, 487, 504, 488, 492, 498,
846 505, 493, 506, 504, 511, 505, 513, 512, 514, 511,
847 508, 515, 516, 514, 517, 506, 512, 518, 519, 520,
848 521, 517, 524, 522, 520, 526, 525, 515, 522, 513,
849 527, 530, 538, 519, 528, 521, 524, 529, 532, 539,
850 518, 516, 525, 528, 526, 533, 529, 532, 534, 535,
851 537, 540, 539, 527, 530, 538, 542, 544, 545, 537,
852 533, 547, 546, 534, 535, 545, 548, 549, 540, 550,
853 551, 554, 544, 552, 542, 546, 553, 557, 547, 555,
854 552, 560, 566, 553, 562, 549, 558, 548, 560, 556,
855 543, 551, 550, 562, 557, 541, 536, 531, 523, 510,
857 554, 509, 555, 566, 569, 569, 569, 569, 570, 570,
858 572, 507, 572, 572, 503, 499, 497, 496, 495, 490,
859 485, 476, 467, 461, 460, 458, 456, 450, 449, 448,
860 446, 445, 444, 443, 442, 439, 435, 434, 433, 432,
861 430, 425, 422, 421, 420, 417, 416, 408, 405, 396,
862 395, 393, 392, 388, 384, 381, 373, 362, 361, 359,
863 345, 342, 340, 337, 335, 332, 326, 325, 323, 321,
864 318, 315, 310, 307, 301, 298, 297, 296, 287, 284,
865 283, 278, 277, 262, 261, 258, 246, 236, 235, 233,
866 231, 228, 227, 226, 217, 214, 213, 208, 207, 206,
868 199, 196, 195, 193, 192, 191, 190, 189, 188, 186,
869 152, 148, 146, 143, 140, 136, 132, 114, 89, 69,
870 59, 39, 37, 8, 7, 3, 568, 568, 568, 568,
871 568, 568, 568, 568, 568, 568, 568, 568, 568, 568,
872 568, 568, 568, 568, 568, 568, 568, 568, 568, 568,
873 568, 568, 568, 568, 568, 568, 568, 568, 568, 568,
874 568, 568, 568, 568, 568, 568, 568, 568, 568, 568
877 static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
878 static char *yy_full_match;
882 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
883 yy_cp = yy_full_match; /* restore poss. backed-over text */ \
887 #define yymore() yymore_used_but_not_detected
888 #define YY_MORE_ADJ 0
889 #define YY_RESTORE_YY_MORE_OFFSET
891 #line 1 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
893 /*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
895 // The LLVM Compiler Infrastructure
897 // This file was developed by the LLVM research group and is distributed under
898 // the University of Illinois Open Source License. See LICENSE.TXT for details.
900 //===----------------------------------------------------------------------===//
902 // This file implements the flex scanner for LLVM assembly languages files.
904 //===----------------------------------------------------------------------===*/
905 #define YY_NEVER_INTERACTIVE 1
906 #line 28 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
907 #include "ParserInternals.h"
908 #include "llvm/Module.h"
910 #include "llvmAsmParser.h"
914 void set_scan_file(FILE * F){
915 yy_switch_to_buffer(yy_create_buffer( F, YY_BUF_SIZE ) );
917 void set_scan_string (const char * str) {
918 yy_scan_string (str);
921 // Construct a token value for a non-obsolete token
922 #define RET_TOK(type, Enum, sym) \
923 llvmAsmlval.type = Instruction::Enum; \
926 // Construct a token value for an obsolete token
927 #define RET_TY(CTYPE, SYM) \
928 llvmAsmlval.PrimType = CTYPE;\
933 // TODO: All of the static identifiers are figured out by the lexer,
934 // these should be hashed to reduce the lexer size
937 // atoull - Convert an ascii string of decimal digits into the unsigned long
938 // long representation... this does not have to do input error checking,
939 // because we know that the input will be matched by a suitable regex...
941 static uint64_t atoull(const char *Buffer) {
943 for (; *Buffer; Buffer++) {
944 uint64_t OldRes = Result;
946 Result += *Buffer-'0';
947 if (Result < OldRes) // Uh, oh, overflow detected!!!
948 GenerateError("constant bigger than 64 bits detected!");
953 static uint64_t HexIntToVal(const char *Buffer) {
955 for (; *Buffer; ++Buffer) {
956 uint64_t OldRes = Result;
959 if (C >= '0' && C <= '9')
961 else if (C >= 'A' && C <= 'F')
963 else if (C >= 'a' && C <= 'f')
966 if (Result < OldRes) // Uh, oh, overflow detected!!!
967 GenerateError("constant bigger than 64 bits detected!");
973 // HexToFP - Convert the ascii string in hexidecimal format to the floating
974 // point representation of it.
976 static double HexToFP(const char *Buffer) {
977 // Behave nicely in the face of C TBAA rules... see:
978 // http://www.nullstone.com/htmls/category/aliastyp.htm
983 UIntToFP.UI = HexIntToVal(Buffer);
985 assert(sizeof(double) == sizeof(uint64_t) &&
986 "Data sizes incompatible on this target!");
987 return UIntToFP.FP; // Cast Hex constant to double
991 // UnEscapeLexed - Run through the specified buffer and change \xx codes to the
992 // appropriate character. If AllowNull is set to false, a \00 value will cause
993 // an exception to be thrown.
995 // If AllowNull is set to true, the return value of the function points to the
996 // last character of the string in memory.
998 char *UnEscapeLexed(char *Buffer, bool AllowNull) {
1000 for (char *BIn = Buffer; *BIn; ) {
1001 if (BIn[0] == '\\' && isxdigit(BIn[1]) && isxdigit(BIn[2])) {
1002 char Tmp = BIn[3]; BIn[3] = 0; // Terminate string
1003 *BOut = (char)strtol(BIn+1, 0, 16); // Convert to number
1004 if (!AllowNull && !*BOut)
1005 GenerateError("String literal cannot accept \\00 escape!");
1007 BIn[3] = Tmp; // Restore character
1008 BIn += 3; // Skip over handled chars
1018 } // End llvm namespace
1020 using namespace llvm;
1022 #define YY_NEVER_INTERACTIVE 1
1023 /* Comments start with a ; and go till end of line */
1024 /* Variable(Value) identifiers start with a % sign */
1025 /* Label identifiers end with a colon */
1026 /* Quoted names can contain any character except " and \ */
1027 /* [PN]Integer: match positive and negative literal integer values that
1028 * are preceeded by a '%' character. These represent unnamed variable slots.
1030 /* E[PN]Integer: match positive and negative literal integer values */
1031 /* FPConstant - A Floating point constant.
1033 /* HexFPConstant - Floating point constant represented in IEEE format as a
1034 * hexadecimal number for when exponential notation is not precise enough.
1036 /* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
1037 * it to deal with 64 bit numbers.
1039 #line 1040 "Lexer.cpp"
1041 /* Macros after this point can all be overridden by user definitions in
1045 #ifndef YY_SKIP_YYWRAP
1047 extern "C" int yywrap YY_PROTO(( void ));
1049 extern int yywrap YY_PROTO(( void ));
1054 static inline void yyunput YY_PROTO(( int c, char *buf_ptr ));
1058 static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
1061 #ifdef YY_NEED_STRLEN
1062 static int yy_flex_strlen YY_PROTO(( yyconst char * ));
1067 static int yyinput YY_PROTO(( void ));
1069 static int input YY_PROTO(( void ));
1074 static int yy_start_stack_ptr = 0;
1075 static int yy_start_stack_depth = 0;
1076 static int *yy_start_stack = 0;
1077 #ifndef YY_NO_PUSH_STATE
1078 static void yy_push_state YY_PROTO(( int new_state ));
1080 #ifndef YY_NO_POP_STATE
1081 static void yy_pop_state YY_PROTO(( void ));
1083 #ifndef YY_NO_TOP_STATE
1084 static int yy_top_state YY_PROTO(( void ));
1088 #define YY_NO_PUSH_STATE 1
1089 #define YY_NO_POP_STATE 1
1090 #define YY_NO_TOP_STATE 1
1093 #ifdef YY_MALLOC_DECL
1101 /* Just try to get by without declaring the routines. This will fail
1102 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1103 * or sizeof(void*) != sizeof(int).
1108 /* Amount of stuff to slurp up with each read. */
1109 #ifndef YY_READ_BUF_SIZE
1110 #define YY_READ_BUF_SIZE 8192
1113 /* Copy whatever the last rule matched to the standard output. */
1116 /* This used to be an fputs(), but since the string might contain NUL's,
1117 * we now use fwrite().
1119 #define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
1122 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1123 * is returned in "result".
1126 #define YY_INPUT(buf,result,max_size) \
1127 if ( yy_current_buffer->yy_is_interactive ) \
1130 for ( n = 0; n < max_size && \
1131 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1132 buf[n] = (char) c; \
1134 buf[n++] = (char) c; \
1135 if ( c == EOF && ferror( yyin ) ) \
1136 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1139 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1140 && ferror( yyin ) ) \
1141 YY_FATAL_ERROR( "input in flex scanner failed" );
1144 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1145 * we don't want an extra ';' after the "return" because that will cause
1146 * some compilers to complain about unreachable statements.
1149 #define yyterminate() return YY_NULL
1152 /* Number of entries by which start-condition stack grows. */
1153 #ifndef YY_START_STACK_INCR
1154 #define YY_START_STACK_INCR 25
1157 /* Report a fatal error. */
1158 #ifndef YY_FATAL_ERROR
1159 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1162 /* Default declaration of generated scanner - a define so the user can
1163 * easily add parameters.
1166 #define YY_DECL int yylex YY_PROTO(( void ))
1169 /* Code executed at the beginning of each rule, after yytext and yyleng
1172 #ifndef YY_USER_ACTION
1173 #define YY_USER_ACTION
1176 /* Code executed at the end of each rule. */
1178 #define YY_BREAK break;
1181 #define YY_RULE_SETUP \
1186 register yy_state_type yy_current_state;
1187 register char *yy_cp = NULL, *yy_bp = NULL;
1188 register int yy_act;
1190 #line 186 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1193 #line 1194 "Lexer.cpp"
1204 yy_start = 1; /* first start state */
1212 if ( ! yy_current_buffer )
1214 yy_create_buffer( yyin, YY_BUF_SIZE );
1216 yy_load_buffer_state();
1219 while ( 1 ) /* loops until end-of-file is reached */
1223 /* Support of yytext. */
1224 *yy_cp = yy_hold_char;
1226 /* yy_bp points to the position in yy_ch_buf of the start of
1231 yy_current_state = yy_start;
1232 yy_state_ptr = yy_state_buf;
1233 *yy_state_ptr++ = yy_current_state;
1237 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1238 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1240 yy_current_state = (int) yy_def[yy_current_state];
1241 if ( yy_current_state >= 569 )
1242 yy_c = yy_meta[(unsigned int) yy_c];
1244 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1245 *yy_state_ptr++ = yy_current_state;
1248 while ( yy_current_state != 568 );
1251 yy_current_state = *--yy_state_ptr;
1252 yy_lp = yy_accept[yy_current_state];
1253 find_rule: /* we branch to this label when backing up */
1254 for ( ; ; ) /* until we find what rule we matched */
1256 if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
1258 yy_act = yy_acclist[yy_lp];
1260 yy_full_match = yy_cp;
1265 yy_current_state = *--yy_state_ptr;
1266 yy_lp = yy_accept[yy_current_state];
1269 YY_DO_BEFORE_ACTION;
1271 if ( yy_act != YY_END_OF_BUFFER )
1274 for ( yyl = 0; yyl < yyleng; ++yyl )
1275 if ( yytext[yyl] == '\n' )
1279 do_action: /* This label is used only to access EOF actions. */
1283 { /* beginning of action switch */
1286 #line 188 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1287 { /* Ignore comments for now */ }
1291 #line 190 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1292 { return BEGINTOK; }
1296 #line 191 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1301 #line 192 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1306 #line 193 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1307 { return FALSETOK; }
1311 #line 194 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1316 #line 195 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1321 #line 196 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1322 { return CONSTANT; }
1326 #line 197 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1327 { return INTERNAL; }
1331 #line 198 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1332 { return LINKONCE; }
1336 #line 199 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1341 #line 200 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1342 { return APPENDING; }
1346 #line 201 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1347 { return DLLIMPORT; }
1351 #line 202 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1352 { return DLLEXPORT; }
1356 #line 203 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1357 { return EXTERN_WEAK; }
1361 #line 204 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1362 { return EXTERNAL; }
1366 #line 205 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1367 { return IMPLEMENTATION; }
1371 #line 206 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1372 { return ZEROINITIALIZER; }
1376 #line 207 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1377 { return DOTDOTDOT; }
1381 #line 208 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1386 #line 209 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1387 { return NULL_TOK; }
1391 #line 210 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1396 #line 211 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1401 #line 212 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1406 #line 213 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1411 #line 214 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1416 #line 215 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1421 #line 216 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1422 { return POINTERSIZE; }
1426 #line 217 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1427 { return DATALAYOUT; }
1431 #line 218 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1436 #line 219 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1441 #line 220 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1442 { return VOLATILE; }
1446 #line 221 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1451 #line 222 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1456 #line 223 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1461 #line 224 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1466 #line 225 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1467 { return SIDEEFFECT; }
1471 #line 227 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1476 #line 228 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1481 #line 229 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1482 { return CSRETCC_TOK; }
1486 #line 230 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1487 { return FASTCC_TOK; }
1491 #line 231 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1492 { return COLDCC_TOK; }
1496 #line 232 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1497 { return X86_STDCALLCC_TOK; }
1501 #line 233 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1502 { return X86_FASTCALLCC_TOK; }
1506 #line 235 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1507 { RET_TY(Type::VoidTy, VOID); }
1511 #line 236 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1512 { RET_TY(Type::BoolTy, BOOL); }
1516 #line 237 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1517 { RET_TY(Type::SByteTy, SBYTE); }
1521 #line 238 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1522 { RET_TY(Type::UByteTy, UBYTE); }
1526 #line 239 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1527 { RET_TY(Type::ShortTy, SHORT); }
1531 #line 240 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1532 { RET_TY(Type::UShortTy,USHORT);}
1536 #line 241 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1537 { RET_TY(Type::IntTy, INT); }
1541 #line 242 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1542 { RET_TY(Type::UIntTy, UINT); }
1546 #line 243 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1547 { RET_TY(Type::LongTy, LONG); }
1551 #line 244 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1552 { RET_TY(Type::ULongTy, ULONG); }
1556 #line 245 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1557 { RET_TY(Type::FloatTy, FLOAT); }
1561 #line 246 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1562 { RET_TY(Type::DoubleTy,DOUBLE);}
1566 #line 247 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1567 { RET_TY(Type::LabelTy, LABEL); }
1571 #line 248 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1576 #line 249 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1581 #line 251 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1582 { RET_TOK(BinaryOpVal, Add, ADD); }
1586 #line 252 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1587 { RET_TOK(BinaryOpVal, Sub, SUB); }
1591 #line 253 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1592 { RET_TOK(BinaryOpVal, Mul, MUL); }
1596 #line 254 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1597 { RET_TOK(BinaryOpVal, UDiv, UDIV); }
1601 #line 255 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1602 { RET_TOK(BinaryOpVal, SDiv, SDIV); }
1606 #line 256 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1607 { RET_TOK(BinaryOpVal, FDiv, FDIV); }
1611 #line 257 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1612 { RET_TOK(BinaryOpVal, URem, UREM); }
1616 #line 258 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1617 { RET_TOK(BinaryOpVal, SRem, SREM); }
1621 #line 259 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1622 { RET_TOK(BinaryOpVal, FRem, FREM); }
1626 #line 260 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1627 { RET_TOK(BinaryOpVal, And, AND); }
1631 #line 261 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1632 { RET_TOK(BinaryOpVal, Or , OR ); }
1636 #line 262 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1637 { RET_TOK(BinaryOpVal, Xor, XOR); }
1641 #line 263 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1642 { RET_TOK(OtherOpVal, ICmp, ICMP); }
1646 #line 264 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1647 { RET_TOK(OtherOpVal, FCmp, FCMP); }
1651 #line 265 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1656 #line 266 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1661 #line 267 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1666 #line 268 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1671 #line 269 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1676 #line 270 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1681 #line 271 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1686 #line 272 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1691 #line 273 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1696 #line 274 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1701 #line 275 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1706 #line 276 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1711 #line 277 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1716 #line 278 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1721 #line 279 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1726 #line 280 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1731 #line 281 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1736 #line 282 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1741 #line 283 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1746 #line 284 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1751 #line 286 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1752 { RET_TOK(OtherOpVal, PHI, PHI_TOK); }
1756 #line 287 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1757 { RET_TOK(OtherOpVal, Call, CALL); }
1761 #line 288 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1762 { RET_TOK(CastOpVal, Trunc, TRUNC); }
1766 #line 289 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1767 { RET_TOK(CastOpVal, ZExt, ZEXT); }
1771 #line 290 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1772 { RET_TOK(CastOpVal, SExt, SEXT); }
1776 #line 291 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1777 { RET_TOK(CastOpVal, FPTrunc, FPTRUNC); }
1781 #line 292 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1782 { RET_TOK(CastOpVal, FPExt, FPEXT); }
1786 #line 293 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1787 { RET_TOK(CastOpVal, UIToFP, UITOFP); }
1791 #line 294 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1792 { RET_TOK(CastOpVal, SIToFP, SITOFP); }
1796 #line 295 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1797 { RET_TOK(CastOpVal, FPToUI, FPTOUI); }
1801 #line 296 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1802 { RET_TOK(CastOpVal, FPToSI, FPTOSI); }
1806 #line 297 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1807 { RET_TOK(CastOpVal, IntToPtr, INTTOPTR); }
1811 #line 298 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1812 { RET_TOK(CastOpVal, PtrToInt, PTRTOINT); }
1816 #line 299 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1817 { RET_TOK(CastOpVal, BitCast, BITCAST); }
1821 #line 300 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1822 { RET_TOK(OtherOpVal, Select, SELECT); }
1826 #line 301 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1827 { RET_TOK(OtherOpVal, Shl, SHL); }
1831 #line 302 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1832 { RET_TOK(OtherOpVal, LShr, LSHR); }
1836 #line 303 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1837 { RET_TOK(OtherOpVal, AShr, ASHR); }
1841 #line 304 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1842 { RET_TOK(OtherOpVal, VAArg , VAARG); }
1846 #line 305 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1847 { RET_TOK(TermOpVal, Ret, RET); }
1851 #line 306 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1852 { RET_TOK(TermOpVal, Br, BR); }
1856 #line 307 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1857 { RET_TOK(TermOpVal, Switch, SWITCH); }
1861 #line 308 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1862 { RET_TOK(TermOpVal, Invoke, INVOKE); }
1866 #line 309 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1867 { RET_TOK(TermOpVal, Unwind, UNWIND); }
1871 #line 310 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1872 { RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
1876 #line 312 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1877 { RET_TOK(MemOpVal, Malloc, MALLOC); }
1881 #line 313 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1882 { RET_TOK(MemOpVal, Alloca, ALLOCA); }
1886 #line 314 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1887 { RET_TOK(MemOpVal, Free, FREE); }
1891 #line 315 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1892 { RET_TOK(MemOpVal, Load, LOAD); }
1896 #line 316 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1897 { RET_TOK(MemOpVal, Store, STORE); }
1901 #line 317 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1902 { RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
1906 #line 319 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1907 { RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
1911 #line 320 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1912 { RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
1916 #line 321 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1917 { RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
1921 #line 324 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1923 UnEscapeLexed(yytext+1);
1924 llvmAsmlval.StrVal = strdup(yytext+1); // Skip %
1930 #line 329 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1932 yytext[strlen(yytext)-1] = 0; // nuke colon
1933 UnEscapeLexed(yytext);
1934 llvmAsmlval.StrVal = strdup(yytext);
1940 #line 335 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1942 yytext[strlen(yytext)-2] = 0; // nuke colon, end quote
1943 UnEscapeLexed(yytext+1);
1944 llvmAsmlval.StrVal = strdup(yytext+1);
1950 #line 342 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1951 { // Note that we cannot unescape a string constant here! The
1952 // string constant might contain a \00 which would not be
1953 // understood by the string stuff. It is valid to make a
1954 // [sbyte] c"Hello World\00" constant, for example.
1956 yytext[strlen(yytext)-1] = 0; // nuke end quote
1957 llvmAsmlval.StrVal = strdup(yytext+1); // Nuke start quote
1958 return STRINGCONSTANT;
1963 #line 353 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1964 { llvmAsmlval.UInt64Val = atoull(yytext); return EUINT64VAL; }
1968 #line 354 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1970 uint64_t Val = atoull(yytext+1);
1971 // +1: we have bigger negative range
1972 if (Val > (uint64_t)INT64_MAX+1)
1973 GenerateError("Constant too large for signed 64 bits!");
1974 llvmAsmlval.SInt64Val = -Val;
1980 #line 362 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1982 llvmAsmlval.UInt64Val = HexIntToVal(yytext+3);
1983 return yytext[0] == 's' ? ESINT64VAL : EUINT64VAL;
1988 #line 367 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1990 uint64_t Val = atoull(yytext+1);
1991 if ((unsigned)Val != Val)
1992 GenerateError("Invalid value number (too large)!");
1993 llvmAsmlval.UIntVal = unsigned(Val);
1999 #line 374 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
2001 uint64_t Val = atoull(yytext+2);
2002 // +1: we have bigger negative range
2003 if (Val > (uint64_t)INT32_MAX+1)
2004 GenerateError("Constant too large for signed 32 bits!");
2005 llvmAsmlval.SIntVal = (int)-Val;
2011 #line 383 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
2012 { llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
2016 #line 384 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
2017 { llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
2019 case YY_STATE_EOF(INITIAL):
2020 #line 386 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
2022 /* Make sure to free the internal buffers for flex when we are
2023 * done reading our input!
2025 yy_delete_buffer(YY_CURRENT_BUFFER);
2031 #line 394 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
2032 { /* Ignore whitespace */ }
2036 #line 395 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
2037 { return yytext[0]; }
2041 #line 397 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
2042 YY_FATAL_ERROR( "flex scanner jammed" );
2044 #line 2045 "Lexer.cpp"
2046 case YY_END_OF_BUFFER:
2048 /* Amount of text matched not including the EOB char. */
2049 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
2051 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2052 *yy_cp = yy_hold_char;
2053 YY_RESTORE_YY_MORE_OFFSET
2055 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
2057 /* We're scanning a new file or input source. It's
2058 * possible that this happened because the user
2059 * just pointed yyin at a new source and called
2060 * yylex(). If so, then we have to assure
2061 * consistency between yy_current_buffer and our
2062 * globals. Here is the right place to do so, because
2063 * this is the first action (other than possibly a
2064 * back-up) that will match for the new input source.
2066 yy_n_chars = yy_current_buffer->yy_n_chars;
2067 yy_current_buffer->yy_input_file = yyin;
2068 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
2071 /* Note that here we test for yy_c_buf_p "<=" to the position
2072 * of the first EOB in the buffer, since yy_c_buf_p will
2073 * already have been incremented past the NUL character
2074 * (since all states make transitions on EOB to the
2075 * end-of-buffer state). Contrast this with the test
2078 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
2079 { /* This was really a NUL. */
2080 yy_state_type yy_next_state;
2082 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
2084 yy_current_state = yy_get_previous_state();
2086 /* Okay, we're now positioned to make the NUL
2087 * transition. We couldn't have
2088 * yy_get_previous_state() go ahead and do it
2089 * for us because it doesn't know how to deal
2090 * with the possibility of jamming (and we don't
2091 * want to build jamming into it because then it
2092 * will run more slowly).
2095 yy_next_state = yy_try_NUL_trans( yy_current_state );
2097 yy_bp = yytext_ptr + YY_MORE_ADJ;
2099 if ( yy_next_state )
2101 /* Consume the NUL. */
2102 yy_cp = ++yy_c_buf_p;
2103 yy_current_state = yy_next_state;
2110 goto yy_find_action;
2114 else switch ( yy_get_next_buffer() )
2116 case EOB_ACT_END_OF_FILE:
2118 yy_did_buffer_switch_on_eof = 0;
2122 /* Note: because we've taken care in
2123 * yy_get_next_buffer() to have set up
2124 * yytext, we can now set up
2125 * yy_c_buf_p so that if some total
2126 * hoser (like flex itself) wants to
2127 * call the scanner after we return the
2128 * YY_NULL, it'll still work - another
2129 * YY_NULL will get returned.
2131 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
2133 yy_act = YY_STATE_EOF(YY_START);
2139 if ( ! yy_did_buffer_switch_on_eof )
2145 case EOB_ACT_CONTINUE_SCAN:
2147 yytext_ptr + yy_amount_of_matched_text;
2149 yy_current_state = yy_get_previous_state();
2152 yy_bp = yytext_ptr + YY_MORE_ADJ;
2155 case EOB_ACT_LAST_MATCH:
2157 &yy_current_buffer->yy_ch_buf[yy_n_chars];
2159 yy_current_state = yy_get_previous_state();
2162 yy_bp = yytext_ptr + YY_MORE_ADJ;
2163 goto yy_find_action;
2170 "fatal flex scanner internal error--no action found" );
2171 } /* end of action switch */
2172 } /* end of scanning one token */
2173 } /* end of yylex */
2176 /* yy_get_next_buffer - try to read in a new buffer
2178 * Returns a code representing an action:
2179 * EOB_ACT_LAST_MATCH -
2180 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2181 * EOB_ACT_END_OF_FILE - end of file
2184 static int yy_get_next_buffer()
2186 register char *dest = yy_current_buffer->yy_ch_buf;
2187 register char *source = yytext_ptr;
2188 register int number_to_move, i;
2191 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
2193 "fatal flex scanner internal error--end of buffer missed" );
2195 if ( yy_current_buffer->yy_fill_buffer == 0 )
2196 { /* Don't try to fill the buffer, so this is an EOF. */
2197 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
2199 /* We matched a single character, the EOB, so
2200 * treat this as a final EOF.
2202 return EOB_ACT_END_OF_FILE;
2207 /* We matched some text prior to the EOB, first
2210 return EOB_ACT_LAST_MATCH;
2214 /* Try to read more data. */
2216 /* First move last chars to start of buffer. */
2217 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
2219 for ( i = 0; i < number_to_move; ++i )
2220 *(dest++) = *(source++);
2222 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2223 /* don't do the read, it's not guaranteed to return an EOF,
2226 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
2231 yy_current_buffer->yy_buf_size - number_to_move - 1;
2233 while ( num_to_read <= 0 )
2234 { /* Not enough room in the buffer - grow it. */
2235 #ifdef YY_USES_REJECT
2237 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
2240 /* just a shorter name for the current buffer */
2241 YY_BUFFER_STATE b = yy_current_buffer;
2243 int yy_c_buf_p_offset =
2244 (int) (yy_c_buf_p - b->yy_ch_buf);
2246 if ( b->yy_is_our_buffer )
2248 int new_size = b->yy_buf_size * 2;
2250 if ( new_size <= 0 )
2251 b->yy_buf_size += b->yy_buf_size / 8;
2253 b->yy_buf_size *= 2;
2255 b->yy_ch_buf = (char *)
2256 /* Include room in for 2 EOB chars. */
2257 yy_flex_realloc( (void *) b->yy_ch_buf,
2258 b->yy_buf_size + 2 );
2261 /* Can't grow it, we don't own it. */
2264 if ( ! b->yy_ch_buf )
2266 "fatal error - scanner input buffer overflow" );
2268 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
2270 num_to_read = yy_current_buffer->yy_buf_size -
2275 if ( num_to_read > YY_READ_BUF_SIZE )
2276 num_to_read = YY_READ_BUF_SIZE;
2278 /* Read in more data. */
2279 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
2280 yy_n_chars, num_to_read );
2282 yy_current_buffer->yy_n_chars = yy_n_chars;
2285 if ( yy_n_chars == 0 )
2287 if ( number_to_move == YY_MORE_ADJ )
2289 ret_val = EOB_ACT_END_OF_FILE;
2295 ret_val = EOB_ACT_LAST_MATCH;
2296 yy_current_buffer->yy_buffer_status =
2297 YY_BUFFER_EOF_PENDING;
2302 ret_val = EOB_ACT_CONTINUE_SCAN;
2304 yy_n_chars += number_to_move;
2305 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2306 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
2308 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
2314 /* yy_get_previous_state - get the state just before the EOB char was reached */
2316 static yy_state_type yy_get_previous_state()
2318 register yy_state_type yy_current_state;
2319 register char *yy_cp;
2321 yy_current_state = yy_start;
2322 yy_state_ptr = yy_state_buf;
2323 *yy_state_ptr++ = yy_current_state;
2325 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
2327 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2328 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2330 yy_current_state = (int) yy_def[yy_current_state];
2331 if ( yy_current_state >= 569 )
2332 yy_c = yy_meta[(unsigned int) yy_c];
2334 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2335 *yy_state_ptr++ = yy_current_state;
2338 return yy_current_state;
2342 /* yy_try_NUL_trans - try to make a transition on the NUL character
2345 * next_state = yy_try_NUL_trans( current_state );
2348 #ifdef YY_USE_PROTOS
2349 static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
2351 static yy_state_type yy_try_NUL_trans( yy_current_state )
2352 yy_state_type yy_current_state;
2355 register int yy_is_jam;
2357 register YY_CHAR yy_c = 1;
2358 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2360 yy_current_state = (int) yy_def[yy_current_state];
2361 if ( yy_current_state >= 569 )
2362 yy_c = yy_meta[(unsigned int) yy_c];
2364 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2365 yy_is_jam = (yy_current_state == 568);
2367 *yy_state_ptr++ = yy_current_state;
2369 return yy_is_jam ? 0 : yy_current_state;
2374 #ifdef YY_USE_PROTOS
2375 static inline void yyunput( int c, register char *yy_bp )
2377 static inline void yyunput( c, yy_bp )
2379 register char *yy_bp;
2382 register char *yy_cp = yy_c_buf_p;
2384 /* undo effects of setting up yytext */
2385 *yy_cp = yy_hold_char;
2387 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
2388 { /* need to shift things up to make room */
2389 /* +2 for EOB chars. */
2390 register int number_to_move = yy_n_chars + 2;
2391 register char *dest = &yy_current_buffer->yy_ch_buf[
2392 yy_current_buffer->yy_buf_size + 2];
2393 register char *source =
2394 &yy_current_buffer->yy_ch_buf[number_to_move];
2396 while ( source > yy_current_buffer->yy_ch_buf )
2397 *--dest = *--source;
2399 yy_cp += (int) (dest - source);
2400 yy_bp += (int) (dest - source);
2401 yy_current_buffer->yy_n_chars =
2402 yy_n_chars = yy_current_buffer->yy_buf_size;
2404 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
2405 YY_FATAL_ERROR( "flex scanner push-back overflow" );
2408 *--yy_cp = (char) c;
2414 yy_hold_char = *yy_cp;
2417 #endif /* ifndef YY_NO_UNPUT */
2422 static int yyinput()
2429 *yy_c_buf_p = yy_hold_char;
2431 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
2433 /* yy_c_buf_p now points to the character we want to return.
2434 * If this occurs *before* the EOB characters, then it's a
2435 * valid NUL; if not, then we've hit the end of the buffer.
2437 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
2438 /* This was really a NUL. */
2442 { /* need more input */
2443 int offset = yy_c_buf_p - yytext_ptr;
2446 switch ( yy_get_next_buffer() )
2448 case EOB_ACT_LAST_MATCH:
2449 /* This happens because yy_g_n_b()
2450 * sees that we've accumulated a
2451 * token and flags that we need to
2452 * try matching the token before
2453 * proceeding. But for input(),
2454 * there's no matching to consider.
2455 * So convert the EOB_ACT_LAST_MATCH
2456 * to EOB_ACT_END_OF_FILE.
2459 /* Reset buffer status. */
2464 case EOB_ACT_END_OF_FILE:
2469 if ( ! yy_did_buffer_switch_on_eof )
2478 case EOB_ACT_CONTINUE_SCAN:
2479 yy_c_buf_p = yytext_ptr + offset;
2485 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
2486 *yy_c_buf_p = '\0'; /* preserve yytext */
2487 yy_hold_char = *++yy_c_buf_p;
2494 #endif /* YY_NO_INPUT */
2496 #ifdef YY_USE_PROTOS
2497 void yyrestart( FILE *input_file )
2499 void yyrestart( input_file )
2503 if ( ! yy_current_buffer )
2504 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
2506 yy_init_buffer( yy_current_buffer, input_file );
2507 yy_load_buffer_state();
2511 #ifdef YY_USE_PROTOS
2512 void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
2514 void yy_switch_to_buffer( new_buffer )
2515 YY_BUFFER_STATE new_buffer;
2518 if ( yy_current_buffer == new_buffer )
2521 if ( yy_current_buffer )
2523 /* Flush out information for old buffer. */
2524 *yy_c_buf_p = yy_hold_char;
2525 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
2526 yy_current_buffer->yy_n_chars = yy_n_chars;
2529 yy_current_buffer = new_buffer;
2530 yy_load_buffer_state();
2532 /* We don't actually know whether we did this switch during
2533 * EOF (yywrap()) processing, but the only time this flag
2534 * is looked at is after yywrap() is called, so it's safe
2535 * to go ahead and always set it.
2537 yy_did_buffer_switch_on_eof = 1;
2541 #ifdef YY_USE_PROTOS
2542 void yy_load_buffer_state( void )
2544 void yy_load_buffer_state()
2547 yy_n_chars = yy_current_buffer->yy_n_chars;
2548 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
2549 yyin = yy_current_buffer->yy_input_file;
2550 yy_hold_char = *yy_c_buf_p;
2554 #ifdef YY_USE_PROTOS
2555 YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
2557 YY_BUFFER_STATE yy_create_buffer( file, size )
2564 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
2566 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2568 b->yy_buf_size = size;
2570 /* yy_ch_buf has to be 2 characters longer than the size given because
2571 * we need to put in 2 end-of-buffer characters.
2573 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
2574 if ( ! b->yy_ch_buf )
2575 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2577 b->yy_is_our_buffer = 1;
2579 yy_init_buffer( b, file );
2585 #ifdef YY_USE_PROTOS
2586 void yy_delete_buffer( YY_BUFFER_STATE b )
2588 void yy_delete_buffer( b )
2595 if ( b == yy_current_buffer )
2596 yy_current_buffer = (YY_BUFFER_STATE) 0;
2598 if ( b->yy_is_our_buffer )
2599 yy_flex_free( (void *) b->yy_ch_buf );
2601 yy_flex_free( (void *) b );
2606 #ifdef YY_USE_PROTOS
2607 void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
2609 void yy_init_buffer( b, file )
2616 yy_flush_buffer( b );
2618 b->yy_input_file = file;
2619 b->yy_fill_buffer = 1;
2621 #if YY_ALWAYS_INTERACTIVE
2622 b->yy_is_interactive = 1;
2624 #if YY_NEVER_INTERACTIVE
2625 b->yy_is_interactive = 0;
2627 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
2633 #ifdef YY_USE_PROTOS
2634 void yy_flush_buffer( YY_BUFFER_STATE b )
2636 void yy_flush_buffer( b )
2646 /* We always need two end-of-buffer characters. The first causes
2647 * a transition to the end-of-buffer state. The second causes
2648 * a jam in that state.
2650 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2651 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2653 b->yy_buf_pos = &b->yy_ch_buf[0];
2656 b->yy_buffer_status = YY_BUFFER_NEW;
2658 if ( b == yy_current_buffer )
2659 yy_load_buffer_state();
2663 #ifndef YY_NO_SCAN_BUFFER
2664 #ifdef YY_USE_PROTOS
2665 YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
2667 YY_BUFFER_STATE yy_scan_buffer( base, size )
2675 base[size-2] != YY_END_OF_BUFFER_CHAR ||
2676 base[size-1] != YY_END_OF_BUFFER_CHAR )
2677 /* They forgot to leave room for the EOB's. */
2680 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
2682 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
2684 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2685 b->yy_buf_pos = b->yy_ch_buf = base;
2686 b->yy_is_our_buffer = 0;
2687 b->yy_input_file = 0;
2688 b->yy_n_chars = b->yy_buf_size;
2689 b->yy_is_interactive = 0;
2691 b->yy_fill_buffer = 0;
2692 b->yy_buffer_status = YY_BUFFER_NEW;
2694 yy_switch_to_buffer( b );
2701 #ifndef YY_NO_SCAN_STRING
2702 #ifdef YY_USE_PROTOS
2703 YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
2705 YY_BUFFER_STATE yy_scan_string( yy_str )
2706 yyconst char *yy_str;
2710 for ( len = 0; yy_str[len]; ++len )
2713 return yy_scan_bytes( yy_str, len );
2718 #ifndef YY_NO_SCAN_BYTES
2719 #ifdef YY_USE_PROTOS
2720 YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
2722 YY_BUFFER_STATE yy_scan_bytes( bytes, len )
2723 yyconst char *bytes;
2732 /* Get memory for full buffer, including space for trailing EOB's. */
2734 buf = (char *) yy_flex_alloc( n );
2736 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
2738 for ( i = 0; i < len; ++i )
2741 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
2743 b = yy_scan_buffer( buf, n );
2745 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
2747 /* It's okay to grow etc. this buffer, and we should throw it
2748 * away when we're done.
2750 b->yy_is_our_buffer = 1;
2757 #ifndef YY_NO_PUSH_STATE
2758 #ifdef YY_USE_PROTOS
2759 static void yy_push_state( int new_state )
2761 static void yy_push_state( new_state )
2765 if ( yy_start_stack_ptr >= yy_start_stack_depth )
2769 yy_start_stack_depth += YY_START_STACK_INCR;
2770 new_size = yy_start_stack_depth * sizeof( int );
2772 if ( ! yy_start_stack )
2773 yy_start_stack = (int *) yy_flex_alloc( new_size );
2776 yy_start_stack = (int *) yy_flex_realloc(
2777 (void *) yy_start_stack, new_size );
2779 if ( ! yy_start_stack )
2781 "out of memory expanding start-condition stack" );
2784 yy_start_stack[yy_start_stack_ptr++] = YY_START;
2791 #ifndef YY_NO_POP_STATE
2792 static void yy_pop_state()
2794 if ( --yy_start_stack_ptr < 0 )
2795 YY_FATAL_ERROR( "start-condition stack underflow" );
2797 BEGIN(yy_start_stack[yy_start_stack_ptr]);
2802 #ifndef YY_NO_TOP_STATE
2803 static int yy_top_state()
2805 return yy_start_stack[yy_start_stack_ptr - 1];
2809 #ifndef YY_EXIT_FAILURE
2810 #define YY_EXIT_FAILURE 2
2813 #ifdef YY_USE_PROTOS
2814 static void yy_fatal_error( yyconst char msg[] )
2816 static void yy_fatal_error( msg )
2820 (void) fprintf( stderr, "%s\n", msg );
2821 exit( YY_EXIT_FAILURE );
2826 /* Redefine yyless() so it works in section 3 code. */
2832 /* Undo effects of setting up yytext. */ \
2833 yytext[yyleng] = yy_hold_char; \
2834 yy_c_buf_p = yytext + n; \
2835 yy_hold_char = *yy_c_buf_p; \
2836 *yy_c_buf_p = '\0'; \
2842 /* Internal utility routines. */
2845 #ifdef YY_USE_PROTOS
2846 static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
2848 static void yy_flex_strncpy( s1, s2, n )
2855 for ( i = 0; i < n; ++i )
2860 #ifdef YY_NEED_STRLEN
2861 #ifdef YY_USE_PROTOS
2862 static int yy_flex_strlen( yyconst char *s )
2864 static int yy_flex_strlen( s )
2869 for ( n = 0; s[n]; ++n )
2877 #ifdef YY_USE_PROTOS
2878 static void *yy_flex_alloc( yy_size_t size )
2880 static void *yy_flex_alloc( size )
2884 return (void *) malloc( size );
2887 #ifdef YY_USE_PROTOS
2888 static inline void *yy_flex_realloc( void *ptr, yy_size_t size )
2890 static inline void *yy_flex_realloc( ptr, size )
2895 /* The cast to (char *) in the following accommodates both
2896 * implementations that use char* generic pointers, and those
2897 * that use void* generic pointers. It works with the latter
2898 * because both ANSI C and C++ allow castless assignment from
2899 * any pointer type to void*, and deal with argument conversions
2900 * as though doing an assignment.
2902 return (void *) realloc( (char *) ptr, size );
2905 #ifdef YY_USE_PROTOS
2906 static void yy_flex_free( void *ptr )
2908 static void yy_flex_free( ptr )
2922 #line 397 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"