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:
23 * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $
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 146
321 #define YY_END_OF_BUFFER 147
322 static yyconst short int yy_acclist[227] =
324 147, 145, 146, 144, 145, 146, 144, 146, 145, 146,
325 145, 146, 145, 146, 145, 146, 145, 146, 145, 146,
326 137, 145, 146, 137, 145, 146, 1, 145, 146, 145,
327 146, 145, 146, 145, 146, 145, 146, 145, 146, 145,
328 146, 145, 146, 145, 146, 145, 146, 145, 146, 145,
329 146, 145, 146, 145, 146, 145, 146, 145, 146, 145,
330 146, 145, 146, 145, 146, 145, 146, 145, 146, 145,
331 146, 145, 146, 145, 146, 134, 132, 130, 140, 138,
332 142, 137, 1, 131, 141, 116, 38, 79, 61, 80,
333 75, 25, 134, 136, 130, 142, 22, 142, 143, 135,
335 131, 62, 74, 36, 39, 3, 64, 89, 94, 92,
336 93, 91, 90, 95, 99, 115, 84, 82, 71, 83,
337 81, 63, 97, 88, 86, 87, 85, 98, 96, 76,
338 133, 142, 142, 73, 100, 78, 67, 123, 70, 77,
339 124, 72, 52, 24, 139, 66, 103, 69, 47, 26,
340 4, 59, 65, 68, 55, 12, 102, 142, 34, 32,
341 2, 51, 5, 56, 105, 46, 58, 53, 125, 101,
342 23, 54, 122, 41, 7, 57, 40, 109, 108, 8,
343 16, 118, 121, 35, 60, 113, 107, 117, 27, 28,
344 106, 119, 114, 112, 6, 29, 104, 50, 33, 44,
346 45, 9, 19, 10, 110, 11, 49, 48, 111, 31,
347 13, 15, 14, 17, 30, 37, 18, 120, 20, 126,
348 128, 129, 42, 127, 43, 21
351 static yyconst short int yy_accept[587] =
353 1, 1, 1, 2, 4, 7, 9, 11, 13, 15,
354 17, 19, 21, 24, 27, 30, 32, 34, 36, 38,
355 40, 42, 44, 46, 48, 50, 52, 54, 56, 58,
356 60, 62, 64, 66, 68, 70, 72, 74, 76, 76,
357 77, 77, 78, 78, 79, 80, 80, 81, 81, 82,
358 83, 83, 84, 84, 85, 86, 86, 86, 86, 86,
359 86, 86, 86, 87, 87, 87, 88, 88, 88, 88,
360 88, 88, 88, 89, 89, 89, 89, 89, 89, 89,
361 89, 89, 89, 89, 90, 90, 90, 90, 90, 90,
362 90, 90, 90, 90, 91, 91, 91, 91, 91, 91,
364 91, 91, 92, 92, 92, 92, 92, 92, 92, 92,
365 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
366 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
367 93, 93, 93, 93, 93, 93, 94, 94, 95, 96,
368 97, 98, 99, 99, 100, 100, 101, 102, 103, 103,
369 103, 104, 104, 104, 105, 105, 105, 105, 105, 106,
370 106, 106, 106, 106, 106, 106, 106, 106, 107, 107,
371 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
372 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
373 107, 107, 108, 108, 108, 108, 108, 108, 109, 110,
375 111, 112, 113, 114, 114, 115, 116, 116, 116, 117,
376 117, 117, 117, 117, 117, 118, 119, 120, 120, 120,
377 120, 120, 121, 122, 122, 122, 123, 123, 123, 123,
378 123, 123, 123, 123, 123, 124, 125, 126, 126, 127,
379 128, 128, 129, 130, 130, 130, 130, 130, 130, 130,
380 130, 130, 131, 131, 131, 132, 133, 133, 133, 133,
381 134, 134, 134, 134, 134, 135, 135, 135, 135, 136,
382 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
383 136, 136, 136, 137, 138, 138, 138, 138, 138, 139,
384 140, 140, 140, 140, 141, 141, 141, 141, 141, 141,
386 141, 141, 142, 143, 143, 143, 144, 144, 144, 144,
387 145, 145, 145, 145, 146, 147, 147, 147, 148, 148,
388 148, 148, 148, 149, 150, 150, 150, 151, 151, 151,
389 151, 152, 152, 153, 154, 154, 154, 154, 154, 155,
390 155, 156, 156, 157, 157, 157, 158, 159, 160, 161,
391 161, 161, 162, 162, 163, 163, 163, 163, 163, 163,
392 163, 163, 163, 163, 163, 163, 164, 164, 165, 166,
393 166, 166, 166, 166, 166, 166, 167, 167, 167, 167,
394 167, 168, 168, 168, 168, 168, 168, 168, 168, 168,
395 168, 168, 168, 168, 169, 169, 169, 169, 169, 170,
397 170, 170, 170, 170, 171, 171, 172, 172, 172, 172,
398 172, 172, 172, 172, 172, 172, 173, 174, 174, 174,
399 175, 175, 175, 175, 176, 176, 176, 176, 177, 177,
400 177, 178, 179, 180, 180, 180, 181, 182, 182, 182,
401 182, 183, 183, 184, 185, 185, 185, 185, 186, 186,
402 186, 186, 187, 187, 187, 187, 188, 189, 190, 190,
403 191, 192, 192, 193, 194, 194, 194, 194, 194, 194,
404 194, 195, 195, 195, 196, 197, 197, 197, 197, 197,
405 197, 198, 198, 198, 198, 198, 198, 199, 199, 199,
406 199, 199, 200, 200, 200, 201, 201, 201, 201, 201,
408 201, 202, 202, 202, 203, 203, 203, 203, 203, 204,
409 204, 204, 204, 205, 206, 207, 208, 209, 209, 210,
410 210, 210, 210, 210, 211, 211, 211, 211, 212, 212,
411 213, 214, 214, 214, 214, 214, 215, 215, 215, 215,
412 215, 215, 215, 215, 216, 216, 216, 216, 216, 216,
413 217, 217, 217, 217, 217, 217, 218, 218, 218, 218,
414 218, 218, 219, 219, 219, 219, 219, 219, 219, 219,
415 220, 220, 220, 220, 220, 221, 222, 223, 223, 224,
416 224, 225, 226, 226, 227, 227
419 static yyconst int yy_ec[256] =
421 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
422 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
423 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
424 1, 2, 1, 4, 1, 5, 6, 1, 1, 1,
425 1, 1, 7, 1, 8, 9, 1, 10, 11, 11,
426 11, 11, 11, 12, 11, 13, 11, 14, 15, 1,
427 1, 1, 1, 16, 17, 17, 17, 17, 18, 17,
428 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
429 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
430 1, 1, 1, 1, 19, 1, 20, 21, 22, 23,
432 24, 25, 26, 27, 28, 5, 29, 30, 31, 32,
433 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
434 43, 44, 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,
439 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,
443 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
444 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
445 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
446 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
447 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
451 static yyconst int yy_meta[45] =
453 1, 1, 2, 3, 4, 1, 1, 4, 4, 4,
454 4, 4, 4, 5, 1, 1, 4, 4, 4, 4,
455 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
456 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
460 static yyconst short int yy_base[595] =
462 0, 0, 1272, 1273, 1273, 1273, 1267, 1256, 41, 36,
463 45, 51, 57, 63, 0, 74, 66, 69, 68, 90,
464 92, 121, 78, 36, 148, 93, 117, 114, 167, 138,
465 67, 194, 152, 226, 134, 95, 103, 101, 1265, 1273,
466 1254, 1273, 1263, 0, 199, 216, 232, 131, 253, 269,
467 274, 0, 1262, 0, 203, 119, 154, 150, 115, 163,
468 149, 80, 1251, 191, 49, 164, 157, 108, 279, 81,
469 184, 169, 1250, 223, 239, 188, 220, 224, 276, 182,
470 237, 241, 245, 295, 258, 288, 118, 289, 296, 233,
471 297, 306, 301, 298, 303, 304, 305, 308, 319, 323,
473 316, 327, 324, 330, 331, 334, 335, 337, 339, 340,
474 341, 356, 352, 344, 342, 186, 345, 360, 348, 1249,
475 369, 371, 372, 375, 377, 373, 378, 389, 385, 379,
476 390, 403, 407, 392, 393, 1248, 1257, 1273, 0, 421,
477 1246, 436, 454, 0, 1255, 1273, 0, 1244, 437, 381,
478 1243, 412, 423, 1242, 410, 430, 455, 413, 1241, 456,
479 439, 457, 426, 427, 428, 458, 459, 1240, 460, 464,
480 467, 469, 471, 473, 474, 476, 475, 478, 477, 481,
481 480, 483, 486, 494, 501, 499, 506, 503, 505, 507,
482 508, 1239, 510, 513, 514, 517, 515, 1238, 1237, 1236,
484 1235, 1234, 1233, 511, 1232, 1231, 516, 519, 1230, 548,
485 522, 525, 526, 537, 1229, 1228, 1227, 528, 550, 553,
486 562, 1226, 1225, 563, 542, 1224, 541, 566, 567, 568,
487 569, 573, 574, 570, 1223, 1222, 1221, 575, 1220, 1219,
488 576, 1218, 1217, 585, 588, 590, 592, 597, 593, 600,
489 572, 1216, 601, 603, 1273, 612, 632, 636, 640, 645,
490 623, 647, 530, 648, 1215, 649, 612, 605, 1214, 650,
491 651, 652, 613, 653, 655, 654, 656, 660, 657, 664,
492 604, 672, 1213, 1212, 659, 661, 663, 662, 1211, 1210,
493 674, 678, 681, 1209, 677, 692, 693, 694, 695, 696,
495 697, 1208, 1207, 698, 702, 1206, 705, 699, 700, 1205,
496 701, 711, 703, 0, 1204, 706, 724, 740, 725, 731,
497 733, 734, 1203, 1202, 737, 730, 1201, 739, 742, 735,
498 1200, 744, 1199, 1198, 746, 750, 753, 754, 1197, 755,
499 1196, 756, 1195, 758, 760, 775, 769, 1194, 1193, 773,
500 762, 1192, 776, 1191, 778, 782, 783, 784, 785, 617,
501 787, 790, 791, 793, 792, 1190, 794, 1189, 1188, 798,
502 803, 796, 805, 797, 804, 1187, 808, 809, 816, 818,
503 1186, 819, 821, 820, 825, 823, 824, 833, 826, 835,
504 839, 840, 59, 1273, 841, 842, 844, 845, 1185, 846,
506 847, 851, 852, 1184, 850, 1183, 855, 866, 856, 867,
507 873, 854, 861, 869, 719, 1273, 1182, 874, 876, 1181,
508 877, 880, 882, 1180, 883, 884, 885, 1179, 891, 886,
509 1178, 1177, 1176, 890, 894, 1175, 1174, 902, 893, 901,
510 1173, 905, 1172, 1171, 907, 914, 908, 1170, 915, 916,
511 917, 1169, 918, 920, 919, 1168, 1167, 1166, 704, 1165,
512 1164, 924, 1163, 1162, 922, 921, 923, 927, 933, 940,
513 1161, 929, 941, 1160, 1159, 942, 945, 946, 949, 952,
514 1158, 956, 954, 955, 950, 959, 1157, 957, 968, 974,
515 961, 1156, 963, 976, 1155, 978, 981, 980, 979, 983,
517 1154, 982, 988, 1153, 992, 995, 996, 997, 1152, 993,
518 998, 1001, 1151, 1150, 1149, 1133, 1121, 999, 1120, 1002,
519 1005, 1004, 1014, 1119, 1010, 1022, 1015, 1118, 1024, 1115,
520 1114, 1025, 1026, 1027, 1030, 1113, 1032, 1033, 1034, 1037,
521 1035, 1038, 1039, 1112, 1043, 1044, 1046, 1049, 1050, 1111,
522 1056, 1055, 1052, 1060, 1063, 1110, 1067, 1064, 1069, 1070,
523 1075, 1109, 1078, 1072, 1071, 1081, 1073, 1082, 1083, 1108,
524 1084, 1090, 1086, 1093, 1103, 1102, 1101, 1096, 948, 1097,
525 346, 259, 1100, 256, 1273, 1136, 1138, 1141, 1145, 1148,
530 static yyconst short int yy_def[595] =
532 585, 1, 585, 585, 585, 585, 586, 587, 588, 585,
533 587, 587, 587, 587, 589, 590, 587, 587, 587, 587,
534 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
535 587, 587, 587, 587, 587, 587, 587, 587, 586, 585,
536 587, 585, 591, 592, 585, 585, 587, 587, 587, 587,
537 587, 589, 593, 594, 585, 587, 587, 587, 587, 587,
538 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
539 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
540 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
541 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
543 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
544 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
545 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
546 587, 587, 587, 587, 587, 585, 591, 585, 592, 585,
547 587, 587, 587, 51, 593, 585, 594, 587, 587, 587,
548 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
549 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
550 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
551 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
552 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
554 587, 587, 587, 587, 587, 587, 587, 587, 587, 51,
555 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
556 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
557 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
558 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
559 587, 587, 587, 587, 585, 585, 585, 585, 587, 587,
560 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
561 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
562 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
563 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
565 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
566 587, 587, 587, 210, 587, 587, 587, 587, 587, 587,
567 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
568 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
569 587, 587, 587, 587, 587, 587, 585, 587, 587, 587,
570 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
571 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
572 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
573 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
574 587, 587, 585, 585, 587, 587, 587, 587, 587, 587,
576 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
577 587, 587, 587, 587, 585, 585, 587, 587, 587, 587,
578 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
579 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
580 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
581 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
582 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
583 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
584 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
585 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
587 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
588 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
589 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
590 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
591 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
592 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
593 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
594 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
595 587, 587, 587, 587, 0, 585, 585, 585, 585, 585,
600 static yyconst short int yy_nxt[1318] =
602 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
603 14, 14, 14, 4, 15, 16, 8, 8, 8, 17,
604 18, 19, 20, 21, 22, 23, 24, 25, 8, 26,
605 27, 28, 29, 30, 8, 31, 32, 33, 34, 35,
606 36, 37, 8, 38, 43, 46, 46, 46, 46, 42,
607 45, 45, 45, 45, 47, 47, 47, 47, 42, 48,
608 393, 394, 42, 83, 42, 49, 50, 50, 50, 50,
609 42, 49, 50, 50, 50, 50, 42, 53, 158, 42,
610 42, 42, 42, 55, 55, 55, 55, 65, 56, 66,
611 106, 42, 61, 42, 42, 57, 62, 58, 51, 59,
613 67, 81, 60, 42, 63, 42, 42, 82, 42, 68,
614 166, 64, 87, 69, 42, 133, 42, 156, 132, 70,
615 88, 42, 71, 72, 135, 89, 73, 42, 42, 90,
616 42, 42, 42, 74, 42, 134, 91, 94, 186, 141,
617 75, 148, 76, 77, 42, 162, 95, 42, 152, 92,
618 78, 42, 96, 130, 79, 93, 80, 84, 84, 84,
619 84, 42, 42, 42, 103, 42, 131, 42, 147, 85,
620 42, 118, 151, 104, 155, 105, 42, 42, 119, 86,
621 42, 149, 42, 150, 120, 159, 160, 121, 161, 153,
622 97, 168, 98, 154, 122, 42, 99, 42, 100, 42,
624 101, 42, 102, 107, 42, 177, 226, 42, 45, 45,
625 45, 45, 55, 55, 55, 55, 108, 109, 172, 110,
626 111, 112, 167, 113, 140, 46, 46, 46, 46, 114,
627 157, 115, 116, 42, 117, 107, 42, 42, 139, 42,
628 49, 47, 47, 47, 47, 42, 42, 173, 123, 124,
629 42, 125, 42, 126, 42, 127, 174, 128, 42, 189,
630 169, 129, 142, 142, 142, 142, 42, 180, 170, 42,
631 143, 42, 42, 179, 178, 171, 143, 49, 50, 50,
632 50, 50, 42, 144, 144, 144, 144, 42, 181, 42,
633 144, 144, 42, 144, 144, 144, 144, 144, 144, 175,
635 163, 42, 42, 164, 84, 84, 84, 84, 42, 42,
636 42, 42, 165, 176, 42, 188, 42, 42, 42, 42,
637 187, 42, 194, 182, 183, 184, 190, 185, 191, 42,
638 192, 199, 42, 197, 193, 204, 42, 42, 195, 198,
639 42, 196, 201, 42, 42, 200, 203, 42, 42, 205,
640 42, 206, 42, 42, 42, 42, 202, 42, 42, 42,
641 212, 42, 207, 215, 211, 42, 208, 224, 213, 42,
642 217, 209, 227, 42, 225, 222, 210, 216, 219, 218,
643 214, 220, 42, 230, 42, 42, 42, 228, 42, 223,
644 42, 42, 42, 221, 42, 229, 231, 247, 42, 234,
646 236, 239, 42, 42, 233, 42, 42, 232, 246, 235,
647 238, 241, 242, 263, 237, 240, 42, 248, 251, 249,
648 42, 243, 250, 42, 244, 42, 42, 252, 253, 245,
649 256, 256, 256, 256, 254, 264, 42, 266, 257, 42,
650 42, 42, 269, 42, 257, 142, 142, 142, 142, 42,
651 42, 267, 42, 143, 274, 273, 261, 275, 265, 143,
652 258, 259, 262, 260, 260, 260, 260, 42, 42, 42,
653 42, 42, 42, 42, 268, 271, 272, 42, 270, 278,
654 42, 276, 42, 279, 42, 277, 42, 42, 42, 42,
655 42, 42, 285, 42, 42, 280, 42, 292, 289, 42,
657 281, 291, 283, 293, 282, 290, 295, 42, 287, 296,
658 284, 288, 42, 294, 42, 286, 42, 297, 42, 42,
659 42, 42, 300, 42, 42, 302, 42, 42, 42, 42,
660 42, 298, 42, 299, 301, 42, 304, 308, 42, 42,
661 303, 42, 307, 42, 310, 311, 305, 306, 309, 317,
662 42, 350, 319, 312, 42, 42, 313, 314, 314, 314,
663 314, 315, 316, 42, 314, 314, 42, 314, 314, 314,
664 314, 314, 314, 320, 318, 42, 42, 325, 326, 42,
665 42, 42, 42, 42, 321, 42, 42, 42, 42, 42,
666 344, 329, 328, 323, 322, 327, 331, 333, 42, 336,
668 324, 42, 330, 42, 332, 42, 42, 335, 337, 334,
669 42, 340, 342, 42, 42, 338, 42, 42, 42, 341,
670 339, 256, 256, 256, 256, 42, 42, 366, 343, 257,
671 42, 353, 358, 345, 354, 257, 42, 425, 258, 258,
672 346, 347, 347, 347, 347, 347, 347, 347, 347, 260,
673 260, 260, 260, 42, 260, 260, 260, 260, 42, 348,
674 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
675 42, 355, 42, 42, 42, 42, 42, 42, 349, 351,
676 352, 357, 360, 365, 359, 42, 362, 42, 356, 363,
677 42, 42, 364, 367, 42, 361, 368, 374, 369, 370,
679 372, 371, 376, 373, 375, 42, 42, 42, 42, 42,
680 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
681 415, 416, 496, 380, 42, 381, 379, 377, 378, 382,
682 383, 384, 385, 391, 389, 390, 386, 42, 42, 388,
683 387, 393, 394, 42, 42, 392, 42, 42, 42, 395,
684 42, 400, 42, 42, 396, 42, 397, 42, 398, 42,
685 399, 402, 401, 42, 403, 404, 42, 42, 42, 42,
686 405, 42, 407, 42, 406, 42, 415, 416, 347, 347,
687 347, 347, 411, 413, 418, 408, 42, 414, 42, 42,
688 409, 42, 417, 410, 412, 42, 42, 42, 42, 420,
690 42, 421, 422, 42, 42, 42, 42, 42, 424, 42,
691 42, 42, 419, 430, 428, 431, 42, 42, 42, 423,
692 426, 42, 42, 427, 429, 432, 436, 434, 435, 42,
693 433, 42, 42, 42, 42, 437, 42, 42, 42, 42,
694 439, 441, 443, 444, 445, 438, 42, 449, 42, 440,
695 442, 447, 42, 42, 42, 42, 448, 42, 42, 42,
696 42, 446, 450, 42, 42, 42, 454, 42, 42, 42,
697 453, 451, 457, 459, 42, 460, 462, 452, 456, 42,
698 42, 464, 42, 461, 458, 455, 42, 42, 463, 42,
699 42, 467, 466, 42, 465, 42, 42, 42, 42, 42,
701 469, 470, 468, 42, 42, 474, 42, 42, 472, 478,
702 479, 481, 484, 471, 42, 42, 476, 477, 42, 475,
703 42, 42, 473, 480, 482, 483, 486, 42, 42, 42,
704 42, 42, 42, 42, 42, 42, 42, 42, 485, 489,
705 42, 493, 42, 487, 494, 500, 42, 491, 492, 488,
706 497, 498, 490, 42, 42, 42, 495, 499, 42, 42,
707 502, 42, 42, 42, 501, 42, 504, 42, 42, 42,
708 42, 503, 42, 505, 42, 510, 42, 506, 509, 511,
709 507, 42, 515, 512, 513, 514, 508, 42, 516, 42,
710 517, 42, 42, 42, 42, 42, 42, 518, 519, 521,
712 523, 42, 520, 524, 526, 42, 42, 522, 42, 42,
713 42, 42, 42, 528, 42, 42, 525, 42, 42, 527,
714 532, 536, 533, 42, 535, 537, 538, 42, 42, 534,
715 529, 541, 530, 531, 540, 42, 539, 42, 42, 42,
716 42, 542, 543, 42, 545, 42, 42, 42, 42, 546,
717 42, 42, 42, 549, 553, 551, 42, 42, 555, 42,
718 548, 544, 42, 42, 547, 42, 552, 554, 42, 42,
719 550, 556, 559, 42, 557, 561, 42, 42, 562, 558,
720 42, 563, 42, 42, 42, 42, 42, 560, 42, 564,
721 566, 42, 565, 572, 42, 42, 42, 42, 573, 42,
723 568, 567, 569, 42, 570, 578, 42, 571, 575, 42,
724 42, 579, 574, 42, 42, 42, 42, 582, 577, 576,
725 583, 42, 42, 42, 42, 42, 42, 42, 42, 580,
726 581, 42, 42, 42, 42, 584, 39, 39, 39, 39,
727 39, 41, 41, 44, 44, 52, 42, 52, 52, 52,
728 54, 54, 137, 137, 137, 137, 137, 145, 145, 145,
729 145, 145, 42, 42, 42, 42, 42, 42, 42, 42,
730 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
731 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
732 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
734 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
735 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
736 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
737 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
738 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
739 42, 42, 42, 42, 42, 42, 42, 42, 146, 42,
740 138, 255, 42, 42, 42, 146, 138, 42, 136, 42,
741 40, 585, 3, 585, 585, 585, 585, 585, 585, 585,
742 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
743 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
745 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
746 585, 585, 585, 585, 585, 585, 585
749 static yyconst short int yy_chk[1318] =
751 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
752 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
753 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
754 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
755 1, 1, 1, 1, 9, 10, 10, 10, 10, 24,
756 9, 9, 9, 9, 11, 11, 11, 11, 11, 12,
757 393, 393, 65, 24, 12, 13, 13, 13, 13, 13,
758 13, 14, 14, 14, 14, 14, 14, 16, 65, 17,
759 31, 19, 18, 16, 16, 16, 16, 19, 17, 19,
760 31, 23, 18, 62, 70, 17, 18, 17, 13, 17,
762 19, 23, 17, 20, 18, 21, 26, 23, 36, 20,
763 70, 18, 26, 20, 38, 37, 37, 62, 36, 20,
764 26, 68, 20, 21, 38, 26, 21, 28, 59, 26,
765 27, 87, 56, 21, 22, 37, 27, 28, 87, 48,
766 22, 56, 22, 22, 48, 68, 28, 35, 59, 27,
767 22, 30, 28, 35, 22, 27, 22, 25, 25, 25,
768 25, 25, 61, 58, 30, 33, 35, 57, 594, 25,
769 67, 33, 58, 30, 61, 30, 60, 66, 33, 25,
770 29, 57, 72, 57, 33, 66, 67, 33, 67, 60,
771 29, 72, 29, 60, 33, 80, 29, 71, 29, 116,
773 29, 76, 29, 32, 64, 80, 116, 32, 45, 45,
774 45, 45, 55, 55, 55, 55, 32, 32, 76, 32,
775 32, 32, 71, 32, 46, 46, 46, 46, 46, 32,
776 64, 32, 32, 77, 32, 34, 74, 78, 592, 34,
777 47, 47, 47, 47, 47, 47, 90, 77, 34, 34,
778 81, 34, 75, 34, 82, 34, 78, 34, 83, 90,
779 74, 34, 49, 49, 49, 49, 49, 83, 75, 584,
780 49, 85, 582, 82, 81, 75, 49, 50, 50, 50,
781 50, 50, 50, 51, 51, 51, 51, 51, 85, 79,
782 51, 51, 69, 51, 51, 51, 51, 51, 51, 79,
784 69, 86, 88, 69, 84, 84, 84, 84, 84, 89,
785 91, 94, 69, 79, 93, 89, 95, 96, 97, 92,
786 88, 98, 95, 86, 86, 86, 91, 86, 92, 101,
787 93, 98, 99, 96, 94, 101, 100, 103, 95, 97,
788 102, 95, 99, 104, 105, 98, 100, 106, 107, 102,
789 108, 103, 109, 110, 111, 115, 99, 114, 117, 581,
790 109, 119, 104, 110, 108, 113, 105, 114, 109, 112,
791 111, 106, 117, 118, 115, 113, 107, 110, 112, 111,
792 109, 112, 121, 119, 122, 123, 126, 118, 124, 113,
793 125, 127, 130, 112, 150, 118, 121, 130, 129, 123,
795 125, 127, 128, 131, 122, 134, 135, 121, 129, 124,
796 126, 128, 128, 150, 125, 127, 132, 131, 133, 131,
797 133, 128, 132, 155, 128, 152, 158, 134, 135, 128,
798 140, 140, 140, 140, 135, 152, 153, 155, 140, 163,
799 164, 165, 158, 156, 140, 142, 142, 142, 142, 142,
800 149, 156, 161, 142, 164, 163, 149, 165, 153, 142,
801 143, 143, 149, 143, 143, 143, 143, 143, 157, 160,
802 162, 166, 167, 169, 157, 161, 162, 170, 160, 167,
803 171, 166, 172, 169, 173, 166, 174, 175, 177, 176,
804 179, 178, 174, 181, 180, 169, 182, 179, 177, 183,
806 170, 178, 172, 180, 171, 177, 182, 184, 176, 183,
807 173, 176, 186, 181, 185, 175, 188, 184, 189, 187,
808 190, 191, 186, 193, 204, 188, 194, 195, 197, 207,
809 196, 184, 208, 185, 187, 211, 190, 195, 212, 213,
810 189, 218, 194, 263, 197, 204, 191, 193, 196, 213,
811 214, 263, 218, 207, 227, 225, 208, 210, 210, 210,
812 210, 211, 212, 219, 210, 210, 220, 210, 210, 210,
813 210, 210, 210, 219, 214, 221, 224, 225, 227, 228,
814 229, 230, 231, 234, 220, 251, 232, 233, 238, 241,
815 251, 230, 229, 224, 221, 228, 232, 233, 244, 241,
817 224, 245, 231, 246, 232, 247, 249, 238, 244, 234,
818 248, 247, 249, 250, 253, 245, 254, 281, 268, 248,
819 246, 256, 256, 256, 256, 267, 273, 281, 250, 256,
820 360, 267, 273, 253, 268, 256, 261, 360, 257, 257,
821 254, 257, 257, 257, 257, 258, 258, 258, 258, 259,
822 259, 259, 259, 259, 260, 260, 260, 260, 260, 261,
823 262, 264, 266, 270, 271, 272, 274, 276, 275, 277,
824 279, 270, 285, 278, 286, 288, 287, 280, 262, 264,
825 266, 272, 275, 280, 274, 282, 277, 291, 271, 278,
826 295, 292, 279, 282, 293, 276, 285, 292, 286, 287,
828 288, 287, 295, 291, 293, 296, 297, 298, 299, 300,
829 301, 304, 308, 309, 311, 305, 313, 459, 307, 316,
830 415, 415, 459, 299, 312, 300, 298, 296, 297, 301,
831 304, 305, 307, 316, 312, 313, 308, 317, 319, 311,
832 309, 318, 318, 326, 320, 317, 321, 322, 330, 319,
833 325, 326, 328, 318, 320, 329, 321, 332, 322, 335,
834 325, 329, 328, 336, 330, 332, 337, 338, 340, 342,
835 335, 344, 337, 345, 336, 351, 346, 346, 347, 347,
836 347, 347, 344, 345, 351, 338, 350, 345, 346, 353,
837 340, 355, 350, 342, 344, 356, 357, 358, 359, 355,
839 361, 356, 357, 362, 363, 365, 364, 367, 359, 372,
840 374, 370, 353, 365, 363, 367, 371, 375, 373, 358,
841 361, 377, 378, 362, 364, 370, 374, 372, 373, 379,
842 371, 380, 382, 384, 383, 375, 386, 387, 385, 389,
843 378, 380, 383, 384, 385, 377, 388, 389, 390, 379,
844 382, 387, 391, 392, 395, 396, 388, 397, 398, 400,
845 401, 386, 390, 405, 402, 403, 396, 412, 407, 409,
846 395, 391, 400, 402, 413, 403, 407, 392, 398, 408,
847 410, 409, 414, 405, 401, 397, 411, 418, 408, 419,
848 421, 412, 411, 422, 410, 423, 425, 426, 427, 430,
850 414, 418, 413, 434, 429, 423, 439, 435, 421, 429,
851 429, 434, 439, 419, 440, 438, 426, 427, 442, 425,
852 445, 447, 422, 430, 435, 438, 442, 446, 449, 450,
853 451, 453, 455, 454, 466, 465, 467, 462, 440, 447,
854 468, 453, 472, 445, 454, 467, 469, 450, 451, 446,
855 462, 465, 449, 470, 473, 476, 455, 466, 477, 478,
856 469, 579, 479, 485, 468, 480, 472, 483, 484, 482,
857 488, 470, 486, 473, 491, 480, 493, 476, 479, 482,
858 477, 489, 486, 483, 484, 485, 478, 490, 488, 494,
859 489, 496, 499, 498, 497, 502, 500, 490, 491, 494,
861 497, 503, 493, 498, 500, 505, 510, 496, 506, 507,
862 508, 511, 518, 503, 512, 520, 499, 522, 521, 502,
863 508, 518, 510, 525, 512, 520, 521, 523, 527, 511,
864 505, 525, 506, 507, 523, 526, 522, 529, 532, 533,
865 534, 526, 527, 535, 532, 537, 538, 539, 541, 533,
866 540, 542, 543, 537, 541, 539, 545, 546, 543, 547,
867 535, 529, 548, 549, 534, 553, 540, 542, 552, 551,
868 538, 545, 548, 554, 546, 551, 555, 558, 552, 547,
869 557, 553, 559, 560, 565, 564, 567, 549, 561, 554,
870 557, 563, 555, 564, 566, 568, 569, 571, 565, 573,
872 559, 558, 560, 572, 561, 571, 574, 563, 567, 578,
873 580, 572, 566, 583, 577, 576, 575, 578, 569, 568,
874 580, 570, 562, 556, 550, 544, 536, 531, 530, 573,
875 574, 528, 524, 519, 517, 583, 586, 586, 586, 586,
876 586, 587, 587, 588, 588, 589, 516, 589, 589, 589,
877 590, 590, 591, 591, 591, 591, 591, 593, 593, 593,
878 593, 593, 515, 514, 513, 509, 504, 501, 495, 492,
879 487, 481, 475, 474, 471, 464, 463, 461, 460, 458,
880 457, 456, 452, 448, 444, 443, 441, 437, 436, 433,
881 432, 431, 428, 424, 420, 417, 406, 404, 399, 381,
883 376, 369, 368, 366, 354, 352, 349, 348, 343, 341,
884 339, 334, 333, 331, 327, 324, 323, 315, 310, 306,
885 303, 302, 294, 290, 289, 284, 283, 269, 265, 252,
886 243, 242, 240, 239, 237, 236, 235, 226, 223, 222,
887 217, 216, 215, 209, 206, 205, 203, 202, 201, 200,
888 199, 198, 192, 168, 159, 154, 151, 148, 145, 141,
889 137, 136, 120, 73, 63, 53, 43, 41, 39, 8,
890 7, 3, 585, 585, 585, 585, 585, 585, 585, 585,
891 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
892 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
894 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
895 585, 585, 585, 585, 585, 585, 585
898 static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
899 static char *yy_full_match;
903 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
904 yy_cp = yy_full_match; /* restore poss. backed-over text */ \
908 #define yymore() yymore_used_but_not_detected
909 #define YY_MORE_ADJ 0
910 #define YY_RESTORE_YY_MORE_OFFSET
912 #line 1 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
914 /*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
916 // The LLVM Compiler Infrastructure
918 // This file was developed by the LLVM research group and is distributed under
919 // the University of Illinois Open Source License. See LICENSE.TXT for details.
921 //===----------------------------------------------------------------------===//
923 // This file implements the flex scanner for LLVM assembly languages files.
925 //===----------------------------------------------------------------------===*/
926 #define YY_NEVER_INTERACTIVE 1
927 #line 28 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
928 #include "ParserInternals.h"
929 #include "llvm/Module.h"
930 #include "llvm/Support/MathExtras.h"
932 #include "llvmAsmParser.h"
936 void set_scan_file(FILE * F){
937 yy_switch_to_buffer(yy_create_buffer( F, YY_BUF_SIZE ) );
939 void set_scan_string (const char * str) {
940 yy_scan_string (str);
943 // Construct a token value for a non-obsolete token
944 #define RET_TOK(type, Enum, sym) \
945 llvmAsmlval.type = Instruction::Enum; \
948 // Construct a token value for an obsolete token
949 #define RET_TY(CTYPE, SYM) \
950 llvmAsmlval.PrimType = CTYPE;\
955 // TODO: All of the static identifiers are figured out by the lexer,
956 // these should be hashed to reduce the lexer size
959 // atoull - Convert an ascii string of decimal digits into the unsigned long
960 // long representation... this does not have to do input error checking,
961 // because we know that the input will be matched by a suitable regex...
963 static uint64_t atoull(const char *Buffer) {
965 for (; *Buffer; Buffer++) {
966 uint64_t OldRes = Result;
968 Result += *Buffer-'0';
969 if (Result < OldRes) // Uh, oh, overflow detected!!!
970 GenerateError("constant bigger than 64 bits detected!");
975 static uint64_t HexIntToVal(const char *Buffer) {
977 for (; *Buffer; ++Buffer) {
978 uint64_t OldRes = Result;
981 if (C >= '0' && C <= '9')
983 else if (C >= 'A' && C <= 'F')
985 else if (C >= 'a' && C <= 'f')
988 if (Result < OldRes) // Uh, oh, overflow detected!!!
989 GenerateError("constant bigger than 64 bits detected!");
995 // HexToFP - Convert the ascii string in hexidecimal format to the floating
996 // point representation of it.
998 static double HexToFP(const char *Buffer) {
999 return BitsToDouble(HexIntToVal(Buffer)); // Cast Hex constant to double
1003 // UnEscapeLexed - Run through the specified buffer and change \xx codes to the
1004 // appropriate character.
1005 char *UnEscapeLexed(char *Buffer, char* EndBuffer) {
1006 char *BOut = Buffer;
1007 for (char *BIn = Buffer; *BIn; ) {
1008 if (BIn[0] == '\\') {
1009 if (BIn < EndBuffer-1 && BIn[1] == '\\') {
1010 *BOut++ = '\\'; // Two \ becomes one
1012 } else if (BIn < EndBuffer-2 && isxdigit(BIn[1]) && isxdigit(BIn[2])) {
1013 char Tmp = BIn[3]; BIn[3] = 0; // Terminate string
1014 *BOut = (char)strtol(BIn+1, 0, 16); // Convert to number
1015 BIn[3] = Tmp; // Restore character
1016 BIn += 3; // Skip over handled chars
1028 } // End llvm namespace
1030 using namespace llvm;
1032 #define YY_NEVER_INTERACTIVE 1
1033 /* Comments start with a ; and go till end of line */
1034 /* Local Values and Type identifiers start with a % sign */
1035 /* Global Value identifiers start with an @ sign */
1036 /* Label identifiers end with a colon */
1037 /* Quoted names can contain any character except " and \ */
1038 /* LocalVarID/GlobalVarID: match an unnamed local variable slot ID. */
1039 /* Integer types are specified with i and a bitwidth */
1040 /* E[PN]Integer: match positive and negative literal integer values. */
1041 /* FPConstant - A Floating point constant.
1043 /* HexFPConstant - Floating point constant represented in IEEE format as a
1044 * hexadecimal number for when exponential notation is not precise enough.
1046 /* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
1047 * it to deal with 64 bit numbers.
1049 /* WSNL - shorthand for whitespace followed by newline */
1050 #line 1051 "Lexer.cpp"
1052 /* Macros after this point can all be overridden by user definitions in
1056 #ifndef YY_SKIP_YYWRAP
1058 extern "C" int yywrap YY_PROTO(( void ));
1060 extern int yywrap YY_PROTO(( void ));
1065 static inline void yyunput YY_PROTO(( int c, char *buf_ptr ));
1069 static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
1072 #ifdef YY_NEED_STRLEN
1073 static int yy_flex_strlen YY_PROTO(( yyconst char * ));
1078 static int yyinput YY_PROTO(( void ));
1080 static int input YY_PROTO(( void ));
1085 static int yy_start_stack_ptr = 0;
1086 static int yy_start_stack_depth = 0;
1087 static int *yy_start_stack = 0;
1088 #ifndef YY_NO_PUSH_STATE
1089 static void yy_push_state YY_PROTO(( int new_state ));
1091 #ifndef YY_NO_POP_STATE
1092 static void yy_pop_state YY_PROTO(( void ));
1094 #ifndef YY_NO_TOP_STATE
1095 static int yy_top_state YY_PROTO(( void ));
1099 #define YY_NO_PUSH_STATE 1
1100 #define YY_NO_POP_STATE 1
1101 #define YY_NO_TOP_STATE 1
1104 #ifdef YY_MALLOC_DECL
1112 /* Just try to get by without declaring the routines. This will fail
1113 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1114 * or sizeof(void*) != sizeof(int).
1119 /* Amount of stuff to slurp up with each read. */
1120 #ifndef YY_READ_BUF_SIZE
1121 #define YY_READ_BUF_SIZE 8192
1124 /* Copy whatever the last rule matched to the standard output. */
1127 /* This used to be an fputs(), but since the string might contain NUL's,
1128 * we now use fwrite().
1130 #define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
1133 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1134 * is returned in "result".
1137 #define YY_INPUT(buf,result,max_size) \
1138 if ( yy_current_buffer->yy_is_interactive ) \
1141 for ( n = 0; n < max_size && \
1142 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1143 buf[n] = (char) c; \
1145 buf[n++] = (char) c; \
1146 if ( c == EOF && ferror( yyin ) ) \
1147 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1150 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1151 && ferror( yyin ) ) \
1152 YY_FATAL_ERROR( "input in flex scanner failed" );
1155 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1156 * we don't want an extra ';' after the "return" because that will cause
1157 * some compilers to complain about unreachable statements.
1160 #define yyterminate() return YY_NULL
1163 /* Number of entries by which start-condition stack grows. */
1164 #ifndef YY_START_STACK_INCR
1165 #define YY_START_STACK_INCR 25
1168 /* Report a fatal error. */
1169 #ifndef YY_FATAL_ERROR
1170 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1173 /* Default declaration of generated scanner - a define so the user can
1174 * easily add parameters.
1177 #define YY_DECL int yylex YY_PROTO(( void ))
1180 /* Code executed at the beginning of each rule, after yytext and yyleng
1183 #ifndef YY_USER_ACTION
1184 #define YY_USER_ACTION
1187 /* Code executed at the end of each rule. */
1189 #define YY_BREAK break;
1192 #define YY_RULE_SETUP \
1197 register yy_state_type yy_current_state;
1198 register char *yy_cp = NULL, *yy_bp = NULL;
1199 register int yy_act;
1201 #line 182 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1204 #line 1205 "Lexer.cpp"
1215 yy_start = 1; /* first start state */
1223 if ( ! yy_current_buffer )
1225 yy_create_buffer( yyin, YY_BUF_SIZE );
1227 yy_load_buffer_state();
1230 while ( 1 ) /* loops until end-of-file is reached */
1234 /* Support of yytext. */
1235 *yy_cp = yy_hold_char;
1237 /* yy_bp points to the position in yy_ch_buf of the start of
1242 yy_current_state = yy_start;
1243 yy_state_ptr = yy_state_buf;
1244 *yy_state_ptr++ = yy_current_state;
1248 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1249 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1251 yy_current_state = (int) yy_def[yy_current_state];
1252 if ( yy_current_state >= 586 )
1253 yy_c = yy_meta[(unsigned int) yy_c];
1255 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1256 *yy_state_ptr++ = yy_current_state;
1259 while ( yy_current_state != 585 );
1262 yy_current_state = *--yy_state_ptr;
1263 yy_lp = yy_accept[yy_current_state];
1264 find_rule: /* we branch to this label when backing up */
1265 for ( ; ; ) /* until we find what rule we matched */
1267 if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
1269 yy_act = yy_acclist[yy_lp];
1271 yy_full_match = yy_cp;
1276 yy_current_state = *--yy_state_ptr;
1277 yy_lp = yy_accept[yy_current_state];
1280 YY_DO_BEFORE_ACTION;
1282 if ( yy_act != YY_END_OF_BUFFER )
1285 for ( yyl = 0; yyl < yyleng; ++yyl )
1286 if ( yytext[yyl] == '\n' )
1290 do_action: /* This label is used only to access EOF actions. */
1294 { /* beginning of action switch */
1297 #line 184 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1298 { /* Ignore comments for now */ }
1302 #line 186 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1303 { return BEGINTOK; }
1307 #line 187 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1312 #line 188 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1317 #line 189 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1318 { return FALSETOK; }
1322 #line 190 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1327 #line 191 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1332 #line 192 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1337 #line 193 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1338 { return CONSTANT; }
1342 #line 194 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1343 { return INTERNAL; }
1347 #line 195 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1348 { return LINKONCE; }
1352 #line 196 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1357 #line 197 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1358 { return APPENDING; }
1362 #line 198 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1363 { return DLLIMPORT; }
1367 #line 199 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1368 { return DLLEXPORT; }
1372 #line 200 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1377 #line 201 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1378 { return PROTECTED; }
1382 #line 202 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1383 { return EXTERN_WEAK; }
1387 #line 203 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1388 { return EXTERNAL; }
1392 #line 204 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1393 { return THREAD_LOCAL; }
1397 #line 205 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1398 { return ZEROINITIALIZER; }
1402 #line 206 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1403 { return DOTDOTDOT; }
1407 #line 207 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1412 #line 208 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1413 { return NULL_TOK; }
1417 #line 209 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1422 #line 210 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1427 #line 211 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1432 #line 212 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1437 #line 213 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1442 #line 214 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1443 { return DATALAYOUT; }
1447 #line 215 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1448 { return VOLATILE; }
1452 #line 216 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1457 #line 217 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1462 #line 218 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1467 #line 219 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1472 #line 220 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1477 #line 221 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1478 { return SIDEEFFECT; }
1482 #line 223 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1487 #line 224 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1492 #line 225 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1493 { return FASTCC_TOK; }
1497 #line 226 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1498 { return COLDCC_TOK; }
1502 #line 227 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1503 { return X86_STDCALLCC_TOK; }
1507 #line 228 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1508 { return X86_FASTCALLCC_TOK; }
1512 #line 230 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1517 #line 231 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1522 #line 232 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1527 #line 233 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1532 #line 234 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1533 { return NOUNWIND; }
1537 #line 235 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1538 { return NORETURN; }
1542 #line 236 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1547 #line 237 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1552 #line 238 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1556 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
1557 yy_c_buf_p = yy_cp -= 1;
1558 YY_DO_BEFORE_ACTION; /* set up yytext again */
1560 #line 239 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1561 { // For auto-upgrade only, drop in LLVM 3.0
1565 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
1566 yy_c_buf_p = yy_cp -= 1;
1567 YY_DO_BEFORE_ACTION; /* set up yytext again */
1569 #line 241 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1570 { // For auto-upgrade only, drop in LLVM 3.0
1575 #line 244 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1576 { RET_TY(Type::VoidTy, VOID); }
1580 #line 245 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1581 { RET_TY(Type::FloatTy, FLOAT); }
1585 #line 246 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1586 { RET_TY(Type::DoubleTy,DOUBLE);}
1590 #line 247 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1591 { RET_TY(Type::LabelTy, LABEL); }
1595 #line 248 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1600 #line 249 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1605 #line 250 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1606 { uint64_t NumBits = atoull(yytext+1);
1607 if (NumBits < IntegerType::MIN_INT_BITS ||
1608 NumBits > IntegerType::MAX_INT_BITS)
1609 GenerateError("Bitwidth for integer type out of range!");
1610 const Type* Ty = IntegerType::get(NumBits);
1611 RET_TY(Ty, INTTYPE);
1616 #line 258 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1617 { RET_TOK(BinaryOpVal, Add, ADD); }
1621 #line 259 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1622 { RET_TOK(BinaryOpVal, Sub, SUB); }
1626 #line 260 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1627 { RET_TOK(BinaryOpVal, Mul, MUL); }
1631 #line 261 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1632 { RET_TOK(BinaryOpVal, UDiv, UDIV); }
1636 #line 262 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1637 { RET_TOK(BinaryOpVal, SDiv, SDIV); }
1641 #line 263 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1642 { RET_TOK(BinaryOpVal, FDiv, FDIV); }
1646 #line 264 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1647 { RET_TOK(BinaryOpVal, URem, UREM); }
1651 #line 265 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1652 { RET_TOK(BinaryOpVal, SRem, SREM); }
1656 #line 266 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1657 { RET_TOK(BinaryOpVal, FRem, FREM); }
1661 #line 267 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1662 { RET_TOK(BinaryOpVal, Shl, SHL); }
1666 #line 268 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1667 { RET_TOK(BinaryOpVal, LShr, LSHR); }
1671 #line 269 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1672 { RET_TOK(BinaryOpVal, AShr, ASHR); }
1676 #line 270 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1677 { RET_TOK(BinaryOpVal, And, AND); }
1681 #line 271 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1682 { RET_TOK(BinaryOpVal, Or , OR ); }
1686 #line 272 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1687 { RET_TOK(BinaryOpVal, Xor, XOR); }
1691 #line 273 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1692 { RET_TOK(OtherOpVal, ICmp, ICMP); }
1696 #line 274 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1697 { RET_TOK(OtherOpVal, FCmp, FCMP); }
1701 #line 276 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1706 #line 277 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1711 #line 278 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1716 #line 279 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1721 #line 280 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1726 #line 281 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1731 #line 282 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1736 #line 283 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1741 #line 284 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1746 #line 285 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1751 #line 286 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1756 #line 287 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1761 #line 288 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1766 #line 289 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1771 #line 290 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1776 #line 291 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1781 #line 292 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1786 #line 293 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1791 #line 294 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1796 #line 295 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1801 #line 297 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1802 { RET_TOK(OtherOpVal, PHI, PHI_TOK); }
1806 #line 298 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1807 { RET_TOK(OtherOpVal, Call, CALL); }
1811 #line 299 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1812 { RET_TOK(CastOpVal, Trunc, TRUNC); }
1816 #line 300 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1817 { RET_TOK(CastOpVal, ZExt, ZEXT); }
1821 #line 301 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1822 { RET_TOK(CastOpVal, SExt, SEXT); }
1826 #line 302 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1827 { RET_TOK(CastOpVal, FPTrunc, FPTRUNC); }
1831 #line 303 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1832 { RET_TOK(CastOpVal, FPExt, FPEXT); }
1836 #line 304 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1837 { RET_TOK(CastOpVal, UIToFP, UITOFP); }
1841 #line 305 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1842 { RET_TOK(CastOpVal, SIToFP, SITOFP); }
1846 #line 306 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1847 { RET_TOK(CastOpVal, FPToUI, FPTOUI); }
1851 #line 307 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1852 { RET_TOK(CastOpVal, FPToSI, FPTOSI); }
1856 #line 308 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1857 { RET_TOK(CastOpVal, IntToPtr, INTTOPTR); }
1861 #line 309 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1862 { RET_TOK(CastOpVal, PtrToInt, PTRTOINT); }
1866 #line 310 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1867 { RET_TOK(CastOpVal, BitCast, BITCAST); }
1871 #line 311 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1872 { RET_TOK(OtherOpVal, Select, SELECT); }
1876 #line 312 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1877 { RET_TOK(OtherOpVal, VAArg , VAARG); }
1881 #line 313 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1882 { RET_TOK(TermOpVal, Ret, RET); }
1886 #line 314 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1887 { RET_TOK(TermOpVal, Br, BR); }
1891 #line 315 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1892 { RET_TOK(TermOpVal, Switch, SWITCH); }
1896 #line 316 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1897 { RET_TOK(TermOpVal, Invoke, INVOKE); }
1901 #line 317 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1902 { RET_TOK(TermOpVal, Unwind, UNWIND); }
1906 #line 318 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1907 { RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
1911 #line 320 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1912 { RET_TOK(MemOpVal, Malloc, MALLOC); }
1916 #line 321 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1917 { RET_TOK(MemOpVal, Alloca, ALLOCA); }
1921 #line 322 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1922 { RET_TOK(MemOpVal, Free, FREE); }
1926 #line 323 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1927 { RET_TOK(MemOpVal, Load, LOAD); }
1931 #line 324 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1932 { RET_TOK(MemOpVal, Store, STORE); }
1936 #line 325 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1937 { RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
1941 #line 327 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1942 { RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
1946 #line 328 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1947 { RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
1951 #line 329 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1952 { RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
1956 #line 332 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1958 llvmAsmlval.StrVal = new std::string(yytext+1); // Skip %
1964 #line 336 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1966 llvmAsmlval.StrVal = new std::string(yytext+1); // Skip @
1972 #line 340 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1974 yytext[yyleng-1] = 0; // nuke colon
1975 llvmAsmlval.StrVal = new std::string(yytext);
1981 #line 345 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1983 yytext[yyleng-2] = 0; // nuke colon, end quote
1984 const char* EndChar = UnEscapeLexed(yytext+1, yytext+yyleng);
1985 llvmAsmlval.StrVal =
1986 new std::string(yytext+1, EndChar - yytext - 1);
1992 #line 353 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1993 { yytext[yyleng-1] = 0; // nuke end quote
1994 const char* EndChar = UnEscapeLexed(yytext+1, yytext+yyleng);
1995 llvmAsmlval.StrVal =
1996 new std::string(yytext+1, EndChar - yytext - 1);
1997 return STRINGCONSTANT;
2002 #line 359 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
2004 yytext[yyleng-1] = 0; // nuke end quote
2005 const char* EndChar =
2006 UnEscapeLexed(yytext+2, yytext+yyleng);
2007 llvmAsmlval.StrVal =
2008 new std::string(yytext+2, EndChar - yytext - 2);
2009 return ATSTRINGCONSTANT;
2014 #line 367 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
2016 yytext[yyleng-1] = 0; // nuke end quote
2017 const char* EndChar =
2018 UnEscapeLexed(yytext+2, yytext+yyleng);
2019 llvmAsmlval.StrVal =
2020 new std::string(yytext+2, EndChar - yytext - 2);
2021 return PCTSTRINGCONSTANT;
2026 #line 375 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
2028 uint32_t numBits = ((yyleng * 64) / 19) + 1;
2029 APInt Tmp(numBits, yytext, yyleng, 10);
2030 uint32_t activeBits = Tmp.getActiveBits();
2031 if (activeBits > 0 && activeBits < numBits)
2032 Tmp.trunc(activeBits);
2033 if (Tmp.getBitWidth() > 64) {
2034 llvmAsmlval.APIntVal = new APInt(Tmp);
2037 llvmAsmlval.UInt64Val = Tmp.getZExtValue();
2044 #line 389 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
2046 uint32_t numBits = (((yyleng-1) * 64) / 19) + 2;
2047 APInt Tmp(numBits, yytext, yyleng, 10);
2048 uint32_t minBits = Tmp.getMinSignedBits();
2049 if (minBits > 0 && minBits < numBits)
2051 if (Tmp.getBitWidth() > 64) {
2052 llvmAsmlval.APIntVal = new APInt(Tmp);
2055 llvmAsmlval.SInt64Val = Tmp.getSExtValue();
2062 #line 404 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
2063 { int len = yyleng - 3;
2064 uint32_t bits = len * 4;
2065 APInt Tmp(bits, yytext+3, len, 16);
2066 uint32_t activeBits = Tmp.getActiveBits();
2067 if (activeBits > 0 && activeBits < bits)
2068 Tmp.trunc(activeBits);
2069 if (Tmp.getBitWidth() > 64) {
2070 llvmAsmlval.APIntVal = new APInt(Tmp);
2071 return yytext[0] == 's' ? ESAPINTVAL : EUAPINTVAL;
2072 } else if (yytext[0] == 's') {
2073 llvmAsmlval.SInt64Val = Tmp.getSExtValue();
2076 llvmAsmlval.UInt64Val = Tmp.getZExtValue();
2083 #line 422 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
2085 uint64_t Val = atoull(yytext+1);
2086 if ((unsigned)Val != Val)
2087 GenerateError("Invalid value number (too large)!");
2088 llvmAsmlval.UIntVal = unsigned(Val);
2094 #line 429 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
2096 uint64_t Val = atoull(yytext+1);
2097 if ((unsigned)Val != Val)
2098 GenerateError("Invalid value number (too large)!");
2099 llvmAsmlval.UIntVal = unsigned(Val);
2100 return GLOBALVAL_ID;
2105 #line 437 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
2106 { llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
2110 #line 438 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
2111 { llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
2113 case YY_STATE_EOF(INITIAL):
2114 #line 440 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
2116 /* Make sure to free the internal buffers for flex when we are
2117 * done reading our input!
2119 yy_delete_buffer(YY_CURRENT_BUFFER);
2125 #line 448 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
2126 { /* Ignore whitespace */ }
2130 #line 449 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
2131 { return yytext[0]; }
2135 #line 451 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
2136 YY_FATAL_ERROR( "flex scanner jammed" );
2138 #line 2139 "Lexer.cpp"
2140 case YY_END_OF_BUFFER:
2142 /* Amount of text matched not including the EOB char. */
2143 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
2145 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2146 *yy_cp = yy_hold_char;
2147 YY_RESTORE_YY_MORE_OFFSET
2149 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
2151 /* We're scanning a new file or input source. It's
2152 * possible that this happened because the user
2153 * just pointed yyin at a new source and called
2154 * yylex(). If so, then we have to assure
2155 * consistency between yy_current_buffer and our
2156 * globals. Here is the right place to do so, because
2157 * this is the first action (other than possibly a
2158 * back-up) that will match for the new input source.
2160 yy_n_chars = yy_current_buffer->yy_n_chars;
2161 yy_current_buffer->yy_input_file = yyin;
2162 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
2165 /* Note that here we test for yy_c_buf_p "<=" to the position
2166 * of the first EOB in the buffer, since yy_c_buf_p will
2167 * already have been incremented past the NUL character
2168 * (since all states make transitions on EOB to the
2169 * end-of-buffer state). Contrast this with the test
2172 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
2173 { /* This was really a NUL. */
2174 yy_state_type yy_next_state;
2176 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
2178 yy_current_state = yy_get_previous_state();
2180 /* Okay, we're now positioned to make the NUL
2181 * transition. We couldn't have
2182 * yy_get_previous_state() go ahead and do it
2183 * for us because it doesn't know how to deal
2184 * with the possibility of jamming (and we don't
2185 * want to build jamming into it because then it
2186 * will run more slowly).
2189 yy_next_state = yy_try_NUL_trans( yy_current_state );
2191 yy_bp = yytext_ptr + YY_MORE_ADJ;
2193 if ( yy_next_state )
2195 /* Consume the NUL. */
2196 yy_cp = ++yy_c_buf_p;
2197 yy_current_state = yy_next_state;
2204 goto yy_find_action;
2208 else switch ( yy_get_next_buffer() )
2210 case EOB_ACT_END_OF_FILE:
2212 yy_did_buffer_switch_on_eof = 0;
2216 /* Note: because we've taken care in
2217 * yy_get_next_buffer() to have set up
2218 * yytext, we can now set up
2219 * yy_c_buf_p so that if some total
2220 * hoser (like flex itself) wants to
2221 * call the scanner after we return the
2222 * YY_NULL, it'll still work - another
2223 * YY_NULL will get returned.
2225 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
2227 yy_act = YY_STATE_EOF(YY_START);
2233 if ( ! yy_did_buffer_switch_on_eof )
2239 case EOB_ACT_CONTINUE_SCAN:
2241 yytext_ptr + yy_amount_of_matched_text;
2243 yy_current_state = yy_get_previous_state();
2246 yy_bp = yytext_ptr + YY_MORE_ADJ;
2249 case EOB_ACT_LAST_MATCH:
2251 &yy_current_buffer->yy_ch_buf[yy_n_chars];
2253 yy_current_state = yy_get_previous_state();
2256 yy_bp = yytext_ptr + YY_MORE_ADJ;
2257 goto yy_find_action;
2264 "fatal flex scanner internal error--no action found" );
2265 } /* end of action switch */
2266 } /* end of scanning one token */
2267 } /* end of yylex */
2270 /* yy_get_next_buffer - try to read in a new buffer
2272 * Returns a code representing an action:
2273 * EOB_ACT_LAST_MATCH -
2274 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2275 * EOB_ACT_END_OF_FILE - end of file
2278 static int yy_get_next_buffer()
2280 register char *dest = yy_current_buffer->yy_ch_buf;
2281 register char *source = yytext_ptr;
2282 register int number_to_move, i;
2285 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
2287 "fatal flex scanner internal error--end of buffer missed" );
2289 if ( yy_current_buffer->yy_fill_buffer == 0 )
2290 { /* Don't try to fill the buffer, so this is an EOF. */
2291 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
2293 /* We matched a single character, the EOB, so
2294 * treat this as a final EOF.
2296 return EOB_ACT_END_OF_FILE;
2301 /* We matched some text prior to the EOB, first
2304 return EOB_ACT_LAST_MATCH;
2308 /* Try to read more data. */
2310 /* First move last chars to start of buffer. */
2311 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
2313 for ( i = 0; i < number_to_move; ++i )
2314 *(dest++) = *(source++);
2316 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2317 /* don't do the read, it's not guaranteed to return an EOF,
2320 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
2325 yy_current_buffer->yy_buf_size - number_to_move - 1;
2327 while ( num_to_read <= 0 )
2328 { /* Not enough room in the buffer - grow it. */
2329 #ifdef YY_USES_REJECT
2331 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
2334 /* just a shorter name for the current buffer */
2335 YY_BUFFER_STATE b = yy_current_buffer;
2337 int yy_c_buf_p_offset =
2338 (int) (yy_c_buf_p - b->yy_ch_buf);
2340 if ( b->yy_is_our_buffer )
2342 int new_size = b->yy_buf_size * 2;
2344 if ( new_size <= 0 )
2345 b->yy_buf_size += b->yy_buf_size / 8;
2347 b->yy_buf_size *= 2;
2349 b->yy_ch_buf = (char *)
2350 /* Include room in for 2 EOB chars. */
2351 yy_flex_realloc( (void *) b->yy_ch_buf,
2352 b->yy_buf_size + 2 );
2355 /* Can't grow it, we don't own it. */
2358 if ( ! b->yy_ch_buf )
2360 "fatal error - scanner input buffer overflow" );
2362 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
2364 num_to_read = yy_current_buffer->yy_buf_size -
2369 if ( num_to_read > YY_READ_BUF_SIZE )
2370 num_to_read = YY_READ_BUF_SIZE;
2372 /* Read in more data. */
2373 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
2374 yy_n_chars, num_to_read );
2376 yy_current_buffer->yy_n_chars = yy_n_chars;
2379 if ( yy_n_chars == 0 )
2381 if ( number_to_move == YY_MORE_ADJ )
2383 ret_val = EOB_ACT_END_OF_FILE;
2389 ret_val = EOB_ACT_LAST_MATCH;
2390 yy_current_buffer->yy_buffer_status =
2391 YY_BUFFER_EOF_PENDING;
2396 ret_val = EOB_ACT_CONTINUE_SCAN;
2398 yy_n_chars += number_to_move;
2399 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2400 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
2402 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
2408 /* yy_get_previous_state - get the state just before the EOB char was reached */
2410 static yy_state_type yy_get_previous_state()
2412 register yy_state_type yy_current_state;
2413 register char *yy_cp;
2415 yy_current_state = yy_start;
2416 yy_state_ptr = yy_state_buf;
2417 *yy_state_ptr++ = yy_current_state;
2419 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
2421 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2422 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2424 yy_current_state = (int) yy_def[yy_current_state];
2425 if ( yy_current_state >= 586 )
2426 yy_c = yy_meta[(unsigned int) yy_c];
2428 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2429 *yy_state_ptr++ = yy_current_state;
2432 return yy_current_state;
2436 /* yy_try_NUL_trans - try to make a transition on the NUL character
2439 * next_state = yy_try_NUL_trans( current_state );
2442 #ifdef YY_USE_PROTOS
2443 static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
2445 static yy_state_type yy_try_NUL_trans( yy_current_state )
2446 yy_state_type yy_current_state;
2449 register int yy_is_jam;
2451 register YY_CHAR yy_c = 1;
2452 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2454 yy_current_state = (int) yy_def[yy_current_state];
2455 if ( yy_current_state >= 586 )
2456 yy_c = yy_meta[(unsigned int) yy_c];
2458 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2459 yy_is_jam = (yy_current_state == 585);
2461 *yy_state_ptr++ = yy_current_state;
2463 return yy_is_jam ? 0 : yy_current_state;
2468 #ifdef YY_USE_PROTOS
2469 static inline void yyunput( int c, register char *yy_bp )
2471 static inline void yyunput( c, yy_bp )
2473 register char *yy_bp;
2476 register char *yy_cp = yy_c_buf_p;
2478 /* undo effects of setting up yytext */
2479 *yy_cp = yy_hold_char;
2481 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
2482 { /* need to shift things up to make room */
2483 /* +2 for EOB chars. */
2484 register int number_to_move = yy_n_chars + 2;
2485 register char *dest = &yy_current_buffer->yy_ch_buf[
2486 yy_current_buffer->yy_buf_size + 2];
2487 register char *source =
2488 &yy_current_buffer->yy_ch_buf[number_to_move];
2490 while ( source > yy_current_buffer->yy_ch_buf )
2491 *--dest = *--source;
2493 yy_cp += (int) (dest - source);
2494 yy_bp += (int) (dest - source);
2495 yy_current_buffer->yy_n_chars =
2496 yy_n_chars = yy_current_buffer->yy_buf_size;
2498 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
2499 YY_FATAL_ERROR( "flex scanner push-back overflow" );
2502 *--yy_cp = (char) c;
2508 yy_hold_char = *yy_cp;
2511 #endif /* ifndef YY_NO_UNPUT */
2516 static int yyinput()
2523 *yy_c_buf_p = yy_hold_char;
2525 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
2527 /* yy_c_buf_p now points to the character we want to return.
2528 * If this occurs *before* the EOB characters, then it's a
2529 * valid NUL; if not, then we've hit the end of the buffer.
2531 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
2532 /* This was really a NUL. */
2536 { /* need more input */
2537 int offset = yy_c_buf_p - yytext_ptr;
2540 switch ( yy_get_next_buffer() )
2542 case EOB_ACT_LAST_MATCH:
2543 /* This happens because yy_g_n_b()
2544 * sees that we've accumulated a
2545 * token and flags that we need to
2546 * try matching the token before
2547 * proceeding. But for input(),
2548 * there's no matching to consider.
2549 * So convert the EOB_ACT_LAST_MATCH
2550 * to EOB_ACT_END_OF_FILE.
2553 /* Reset buffer status. */
2558 case EOB_ACT_END_OF_FILE:
2563 if ( ! yy_did_buffer_switch_on_eof )
2572 case EOB_ACT_CONTINUE_SCAN:
2573 yy_c_buf_p = yytext_ptr + offset;
2579 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
2580 *yy_c_buf_p = '\0'; /* preserve yytext */
2581 yy_hold_char = *++yy_c_buf_p;
2588 #endif /* YY_NO_INPUT */
2590 #ifdef YY_USE_PROTOS
2591 void yyrestart( FILE *input_file )
2593 void yyrestart( input_file )
2597 if ( ! yy_current_buffer )
2598 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
2600 yy_init_buffer( yy_current_buffer, input_file );
2601 yy_load_buffer_state();
2605 #ifdef YY_USE_PROTOS
2606 void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
2608 void yy_switch_to_buffer( new_buffer )
2609 YY_BUFFER_STATE new_buffer;
2612 if ( yy_current_buffer == new_buffer )
2615 if ( yy_current_buffer )
2617 /* Flush out information for old buffer. */
2618 *yy_c_buf_p = yy_hold_char;
2619 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
2620 yy_current_buffer->yy_n_chars = yy_n_chars;
2623 yy_current_buffer = new_buffer;
2624 yy_load_buffer_state();
2626 /* We don't actually know whether we did this switch during
2627 * EOF (yywrap()) processing, but the only time this flag
2628 * is looked at is after yywrap() is called, so it's safe
2629 * to go ahead and always set it.
2631 yy_did_buffer_switch_on_eof = 1;
2635 #ifdef YY_USE_PROTOS
2636 void yy_load_buffer_state( void )
2638 void yy_load_buffer_state()
2641 yy_n_chars = yy_current_buffer->yy_n_chars;
2642 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
2643 yyin = yy_current_buffer->yy_input_file;
2644 yy_hold_char = *yy_c_buf_p;
2648 #ifdef YY_USE_PROTOS
2649 YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
2651 YY_BUFFER_STATE yy_create_buffer( file, size )
2658 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
2660 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2662 b->yy_buf_size = size;
2664 /* yy_ch_buf has to be 2 characters longer than the size given because
2665 * we need to put in 2 end-of-buffer characters.
2667 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
2668 if ( ! b->yy_ch_buf )
2669 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2671 b->yy_is_our_buffer = 1;
2673 yy_init_buffer( b, file );
2679 #ifdef YY_USE_PROTOS
2680 void yy_delete_buffer( YY_BUFFER_STATE b )
2682 void yy_delete_buffer( b )
2689 if ( b == yy_current_buffer )
2690 yy_current_buffer = (YY_BUFFER_STATE) 0;
2692 if ( b->yy_is_our_buffer )
2693 yy_flex_free( (void *) b->yy_ch_buf );
2695 yy_flex_free( (void *) b );
2700 #ifdef YY_USE_PROTOS
2701 void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
2703 void yy_init_buffer( b, file )
2710 yy_flush_buffer( b );
2712 b->yy_input_file = file;
2713 b->yy_fill_buffer = 1;
2715 #if YY_ALWAYS_INTERACTIVE
2716 b->yy_is_interactive = 1;
2718 #if YY_NEVER_INTERACTIVE
2719 b->yy_is_interactive = 0;
2721 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
2727 #ifdef YY_USE_PROTOS
2728 void yy_flush_buffer( YY_BUFFER_STATE b )
2730 void yy_flush_buffer( b )
2740 /* We always need two end-of-buffer characters. The first causes
2741 * a transition to the end-of-buffer state. The second causes
2742 * a jam in that state.
2744 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2745 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2747 b->yy_buf_pos = &b->yy_ch_buf[0];
2750 b->yy_buffer_status = YY_BUFFER_NEW;
2752 if ( b == yy_current_buffer )
2753 yy_load_buffer_state();
2757 #ifndef YY_NO_SCAN_BUFFER
2758 #ifdef YY_USE_PROTOS
2759 YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
2761 YY_BUFFER_STATE yy_scan_buffer( base, size )
2769 base[size-2] != YY_END_OF_BUFFER_CHAR ||
2770 base[size-1] != YY_END_OF_BUFFER_CHAR )
2771 /* They forgot to leave room for the EOB's. */
2774 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
2776 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
2778 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2779 b->yy_buf_pos = b->yy_ch_buf = base;
2780 b->yy_is_our_buffer = 0;
2781 b->yy_input_file = 0;
2782 b->yy_n_chars = b->yy_buf_size;
2783 b->yy_is_interactive = 0;
2785 b->yy_fill_buffer = 0;
2786 b->yy_buffer_status = YY_BUFFER_NEW;
2788 yy_switch_to_buffer( b );
2795 #ifndef YY_NO_SCAN_STRING
2796 #ifdef YY_USE_PROTOS
2797 YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
2799 YY_BUFFER_STATE yy_scan_string( yy_str )
2800 yyconst char *yy_str;
2804 for ( len = 0; yy_str[len]; ++len )
2807 return yy_scan_bytes( yy_str, len );
2812 #ifndef YY_NO_SCAN_BYTES
2813 #ifdef YY_USE_PROTOS
2814 YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
2816 YY_BUFFER_STATE yy_scan_bytes( bytes, len )
2817 yyconst char *bytes;
2826 /* Get memory for full buffer, including space for trailing EOB's. */
2828 buf = (char *) yy_flex_alloc( n );
2830 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
2832 for ( i = 0; i < len; ++i )
2835 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
2837 b = yy_scan_buffer( buf, n );
2839 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
2841 /* It's okay to grow etc. this buffer, and we should throw it
2842 * away when we're done.
2844 b->yy_is_our_buffer = 1;
2851 #ifndef YY_NO_PUSH_STATE
2852 #ifdef YY_USE_PROTOS
2853 static void yy_push_state( int new_state )
2855 static void yy_push_state( new_state )
2859 if ( yy_start_stack_ptr >= yy_start_stack_depth )
2863 yy_start_stack_depth += YY_START_STACK_INCR;
2864 new_size = yy_start_stack_depth * sizeof( int );
2866 if ( ! yy_start_stack )
2867 yy_start_stack = (int *) yy_flex_alloc( new_size );
2870 yy_start_stack = (int *) yy_flex_realloc(
2871 (void *) yy_start_stack, new_size );
2873 if ( ! yy_start_stack )
2875 "out of memory expanding start-condition stack" );
2878 yy_start_stack[yy_start_stack_ptr++] = YY_START;
2885 #ifndef YY_NO_POP_STATE
2886 static void yy_pop_state()
2888 if ( --yy_start_stack_ptr < 0 )
2889 YY_FATAL_ERROR( "start-condition stack underflow" );
2891 BEGIN(yy_start_stack[yy_start_stack_ptr]);
2896 #ifndef YY_NO_TOP_STATE
2897 static int yy_top_state()
2899 return yy_start_stack[yy_start_stack_ptr - 1];
2903 #ifndef YY_EXIT_FAILURE
2904 #define YY_EXIT_FAILURE 2
2907 #ifdef YY_USE_PROTOS
2908 static void yy_fatal_error( yyconst char msg[] )
2910 static void yy_fatal_error( msg )
2914 (void) fprintf( stderr, "%s\n", msg );
2915 exit( YY_EXIT_FAILURE );
2920 /* Redefine yyless() so it works in section 3 code. */
2926 /* Undo effects of setting up yytext. */ \
2927 yytext[yyleng] = yy_hold_char; \
2928 yy_c_buf_p = yytext + n; \
2929 yy_hold_char = *yy_c_buf_p; \
2930 *yy_c_buf_p = '\0'; \
2936 /* Internal utility routines. */
2939 #ifdef YY_USE_PROTOS
2940 static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
2942 static void yy_flex_strncpy( s1, s2, n )
2949 for ( i = 0; i < n; ++i )
2954 #ifdef YY_NEED_STRLEN
2955 #ifdef YY_USE_PROTOS
2956 static int yy_flex_strlen( yyconst char *s )
2958 static int yy_flex_strlen( s )
2963 for ( n = 0; s[n]; ++n )
2971 #ifdef YY_USE_PROTOS
2972 static void *yy_flex_alloc( yy_size_t size )
2974 static void *yy_flex_alloc( size )
2978 return (void *) malloc( size );
2981 #ifdef YY_USE_PROTOS
2982 static inline void *yy_flex_realloc( void *ptr, yy_size_t size )
2984 static inline void *yy_flex_realloc( ptr, size )
2989 /* The cast to (char *) in the following accommodates both
2990 * implementations that use char* generic pointers, and those
2991 * that use void* generic pointers. It works with the latter
2992 * because both ANSI C and C++ allow castless assignment from
2993 * any pointer type to void*, and deal with argument conversions
2994 * as though doing an assignment.
2996 return (void *) realloc( (char *) ptr, size );
2999 #ifdef YY_USE_PROTOS
3000 static void yy_flex_free( void *ptr )
3002 static void yy_flex_free( ptr )
3016 #line 451 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"