regenerate
[oota-llvm.git] / lib / AsmParser / Lexer.cpp.cvs
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
18
19 #line 20 "Lexer.cpp"
20 /* A lexical scanner generated by flex */
21
22 /* Scanner skeleton version:
23  * $Header$
24  */
25
26 #define FLEX_SCANNER
27 #define YY_FLEX_MAJOR_VERSION 2
28 #define YY_FLEX_MINOR_VERSION 5
29
30 #include <stdio.h>
31
32
33 /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
34 #ifdef c_plusplus
35 #ifndef __cplusplus
36 #define __cplusplus
37 #endif
38 #endif
39
40
41 #ifdef __cplusplus
42
43 #include <stdlib.h>
44 #include <unistd.h>
45
46 /* Use prototypes in function declarations. */
47 #define YY_USE_PROTOS
48
49 /* The "const" storage-class-modifier is valid. */
50 #define YY_USE_CONST
51
52 #else   /* ! __cplusplus */
53
54 #if __STDC__
55
56 #define YY_USE_PROTOS
57 #define YY_USE_CONST
58
59 #endif  /* __STDC__ */
60 #endif  /* ! __cplusplus */
61
62 #ifdef __TURBOC__
63  #pragma warn -rch
64  #pragma warn -use
65 #include <io.h>
66 #include <stdlib.h>
67 #define YY_USE_CONST
68 #define YY_USE_PROTOS
69 #endif
70
71 #ifdef YY_USE_CONST
72 #define yyconst const
73 #else
74 #define yyconst
75 #endif
76
77
78 #ifdef YY_USE_PROTOS
79 #define YY_PROTO(proto) proto
80 #else
81 #define YY_PROTO(proto) ()
82 #endif
83
84 /* Returned upon end-of-file. */
85 #define YY_NULL 0
86
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
90  * double cast.
91  */
92 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
93
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.
97  */
98 #define BEGIN yy_start = 1 + 2 *
99
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
102  * compatibility.
103  */
104 #define YY_START ((yy_start - 1) / 2)
105 #define YYSTATE YY_START
106
107 /* Action number for EOF rule of a given start state. */
108 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
109
110 /* Special action meaning "start processing a new file". */
111 #define YY_NEW_FILE yyrestart( yyin )
112
113 #define YY_END_OF_BUFFER_CHAR 0
114
115 /* Size of default input buffer. */
116 #define YY_BUF_SIZE (16384*64)
117
118 typedef struct yy_buffer_state *YY_BUFFER_STATE;
119
120 extern int yyleng;
121 extern FILE *yyin, *yyout;
122
123 #define EOB_ACT_CONTINUE_SCAN 0
124 #define EOB_ACT_END_OF_FILE 1
125 #define EOB_ACT_LAST_MATCH 2
126
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:
130  *
131  *      if ( condition_holds )
132  *              yyless( 5 );
133  *      else
134  *              do_something_else();
135  *
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.
139  */
140
141 /* Return all but the first 'n' matched characters back to the input stream. */
142
143 #define yyless(n) \
144         do \
145                 { \
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 */ \
151                 } \
152         while ( 0 )
153
154 #define unput(c) yyunput( c, yytext_ptr )
155
156 /* The following is because we cannot portably get our hands on size_t
157  * (without autoconf's help, which isn't available because we want
158  * flex-generated scanners to compile on their own).
159  */
160 typedef unsigned int yy_size_t;
161
162
163 struct yy_buffer_state
164         {
165         FILE *yy_input_file;
166
167         char *yy_ch_buf;                /* input buffer */
168         char *yy_buf_pos;               /* current position in input buffer */
169
170         /* Size of input buffer in bytes, not including room for EOB
171          * characters.
172          */
173         yy_size_t yy_buf_size;
174
175         /* Number of characters read into yy_ch_buf, not including EOB
176          * characters.
177          */
178         int yy_n_chars;
179
180         /* Whether we "own" the buffer - i.e., we know we created it,
181          * and can realloc() it to grow it, and should free() it to
182          * delete it.
183          */
184         int yy_is_our_buffer;
185
186         /* Whether this is an "interactive" input source; if so, and
187          * if we're using stdio for input, then we want to use getc()
188          * instead of fread(), to make sure we stop fetching input after
189          * each newline.
190          */
191         int yy_is_interactive;
192
193         /* Whether we're considered to be at the beginning of a line.
194          * If so, '^' rules will be active on the next match, otherwise
195          * not.
196          */
197         int yy_at_bol;
198
199         /* Whether to try to fill the input buffer when we reach the
200          * end of it.
201          */
202         int yy_fill_buffer;
203
204         int yy_buffer_status;
205 #define YY_BUFFER_NEW 0
206 #define YY_BUFFER_NORMAL 1
207         /* When an EOF's been seen but there's still some text to process
208          * then we mark the buffer as YY_EOF_PENDING, to indicate that we
209          * shouldn't try reading from the input source any more.  We might
210          * still have a bunch of tokens to match, though, because of
211          * possible backing-up.
212          *
213          * When we actually see the EOF, we change the status to "new"
214          * (via yyrestart()), so that the user can continue scanning by
215          * just pointing yyin at a new input file.
216          */
217 #define YY_BUFFER_EOF_PENDING 2
218         };
219
220 static YY_BUFFER_STATE yy_current_buffer = 0;
221
222 /* We provide macros for accessing buffer states in case in the
223  * future we want to put the buffer states in a more general
224  * "scanner state".
225  */
226 #define YY_CURRENT_BUFFER yy_current_buffer
227
228
229 /* yy_hold_char holds the character lost when yytext is formed. */
230 static char yy_hold_char;
231
232 static int yy_n_chars;          /* number of characters read into yy_ch_buf */
233
234
235 int yyleng;
236
237 /* Points to current character in buffer. */
238 static char *yy_c_buf_p = (char *) 0;
239 static int yy_init = 1;         /* whether we need to initialize */
240 static int yy_start = 0;        /* start state number */
241
242 /* Flag which is used to allow yywrap()'s to do buffer switches
243  * instead of setting up a fresh yyin.  A bit of a hack ...
244  */
245 static int yy_did_buffer_switch_on_eof;
246
247 void yyrestart YY_PROTO(( FILE *input_file ));
248
249 void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
250 void yy_load_buffer_state YY_PROTO(( void ));
251 YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
252 void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
253 void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
254 void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
255 #define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
256
257 YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
258 YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
259 YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
260
261 static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
262 static inline void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
263 static void yy_flex_free YY_PROTO(( void * ));
264
265 #define yy_new_buffer yy_create_buffer
266
267 #define yy_set_interactive(is_interactive) \
268         { \
269         if ( ! yy_current_buffer ) \
270                 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
271         yy_current_buffer->yy_is_interactive = is_interactive; \
272         }
273
274 #define yy_set_bol(at_bol) \
275         { \
276         if ( ! yy_current_buffer ) \
277                 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
278         yy_current_buffer->yy_at_bol = at_bol; \
279         }
280
281 #define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
282
283
284 #define YY_USES_REJECT
285
286 #define yywrap() 1
287 #define YY_SKIP_YYWRAP
288 typedef unsigned char YY_CHAR;
289 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
290 typedef int yy_state_type;
291 extern int yylineno;
292 int yylineno = 1;
293 extern char *yytext;
294 #define yytext_ptr yytext
295
296 static yy_state_type yy_get_previous_state YY_PROTO(( void ));
297 static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
298 static int yy_get_next_buffer YY_PROTO(( void ));
299 static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
300
301 /* Done after the current pattern has been matched and before the
302  * corresponding action - sets up yytext.
303  */
304 #define YY_DO_BEFORE_ACTION \
305         yytext_ptr = yy_bp; \
306         yyleng = (int) (yy_cp - yy_bp); \
307         yy_hold_char = *yy_cp; \
308         *yy_cp = '\0'; \
309         yy_c_buf_p = yy_cp;
310
311 #define YY_NUM_RULES 120
312 #define YY_END_OF_BUFFER 121
313 static yyconst short int yy_acclist[198] =
314     {   0,
315       121,  119,  120,  118,  119,  120,  118,  120,  119,  120,
316       119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
317       111,  119,  120,  111,  119,  120,    1,  119,  120,  119,
318       120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
319       120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
320       120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
321       120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
322       120,  110,  108,  107,  107,  114,  112,  116,  111,    1,
323        93,   41,   75,   23,  110,  107,  107,  115,  116,   20,
324       116,  117,   63,   74,   39,   34,   42,   66,    3,   54,
325
326        65,   25,   83,   70,   92,   87,   88,   64,   76,  109,
327       116,  116,   49,   84,   85,   69,  100,   73,  101,   56,
328        22,  113,   68,   72,   26,    4,   61,   67,   55,   71,
329        48,   11,  116,   36,    2,    5,   58,   60,   50,   78,
330        82,   80,   81,   79,   77,   52,  102,   51,   57,   21,
331        90,   99,   45,   59,   30,   24,   44,    7,   95,   33,
332        98,   38,   62,   86,   94,   27,   28,   96,   53,   91,
333        89,   43,    6,   29,   37,    8,   17,    9,   10,   35,
334        12,   14,   13,   32,   40,   15,   31,   97,  103,  105,
335       106,   16,   46,  104,   18,   47,   19
336
337     } ;
338
339 static yyconst short int yy_accept[527] =
340     {   0,
341         1,    1,    1,    2,    4,    7,    9,   11,   13,   15,
342        17,   19,   21,   24,   27,   30,   32,   34,   36,   38,
343        40,   42,   44,   46,   48,   50,   52,   54,   56,   58,
344        60,   62,   64,   66,   68,   70,   72,   72,   73,   73,
345        74,   75,   76,   77,   77,   78,   78,   79,   80,   80,
346        81,   81,   81,   81,   81,   81,   81,   81,   81,   82,
347        82,   83,   83,   83,   83,   83,   83,   83,   83,   83,
348        83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
349        83,   83,   83,   83,   83,   83,   83,   83,   84,   84,
350        84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
351
352        84,   84,   84,   85,   85,   85,   85,   85,   85,   85,
353        85,   85,   85,   85,   85,   85,   85,   85,   85,   86,
354        87,   89,   90,   91,   92,   92,   93,   94,   94,   94,
355        95,   95,   96,   96,   97,   97,   97,   97,   98,   98,
356        98,   98,   98,   98,   98,   99,   99,   99,  100,  100,
357       100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
358       101,  101,  101,  101,  101,  101,  101,  101,  101,  102,
359       103,  103,  103,  104,  104,  105,  106,  106,  106,  106,
360       106,  106,  106,  107,  107,  108,  108,  108,  108,  108,
361       109,  109,  109,  109,  109,  109,  109,  109,  109,  109,
362
363       109,  109,  109,  109,  109,  109,  109,  109,  109,  109,
364       109,  109,  109,  109,  110,  110,  111,  112,  112,  112,
365       112,  113,  113,  113,  113,  113,  114,  115,  116,  116,
366       116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
367       116,  116,  116,  116,  117,  117,  118,  119,  119,  119,
368       119,  119,  119,  119,  119,  119,  119,  120,  121,  121,
369       121,  122,  122,  122,  123,  123,  124,  124,  124,  124,
370       124,  124,  124,  124,  124,  124,  125,  125,  125,  126,
371       126,  126,  127,  128,  128,  129,  130,  130,  130,  130,
372       130,  130,  131,  131,  131,  131,  131,  132,  132,  133,
373
374       133,  133,  134,  135,  135,  135,  136,  136,  136,  136,
375       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
376       137,  137,  138,  138,  138,  138,  138,  138,  138,  139,
377       139,  139,  139,  139,  139,  139,  140,  140,  140,  141,
378       142,  143,  144,  145,  146,  147,  147,  147,  148,  148,
379       148,  148,  149,  150,  151,  151,  151,  151,  151,  151,
380       152,  152,  152,  152,  152,  152,  153,  153,  154,  154,
381       154,  154,  154,  154,  154,  154,  155,  156,  157,  157,
382       157,  158,  158,  159,  159,  159,  159,  160,  160,  161,
383       162,  163,  164,  164,  164,  165,  165,  165,  166,  167,
384
385       168,  168,  168,  169,  170,  171,  172,  172,  172,  172,
386       172,  172,  172,  173,  173,  174,  175,  175,  175,  175,
387       175,  175,  175,  175,  175,  175,  175,  175,  176,  176,
388       176,  176,  176,  176,  176,  176,  176,  176,  177,  177,
389       177,  177,  177,  178,  178,  178,  178,  178,  179,  180,
390       180,  180,  180,  180,  180,  181,  181,  181,  181,  182,
391       182,  183,  184,  184,  184,  184,  184,  184,  184,  184,
392       184,  184,  184,  184,  184,  184,  185,  185,  185,  185,
393       185,  185,  185,  185,  186,  186,  186,  186,  186,  186,
394       187,  187,  187,  187,  187,  188,  188,  188,  189,  189,
395
396       189,  189,  189,  189,  189,  189,  189,  189,  189,  189,
397       189,  189,  190,  190,  191,  192,  193,  193,  194,  194,
398       195,  196,  197,  197,  198,  198
399     } ;
400
401 static yyconst int yy_ec[256] =
402     {   0,
403         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
404         1,    1,    2,    1,    1,    1,    1,    1,    1,    1,
405         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
406         1,    2,    1,    4,    1,    5,    6,    1,    1,    1,
407         1,    1,    7,    1,    8,    9,    1,   10,   11,   11,
408        11,   11,   11,   12,   11,   13,   11,   14,   15,    1,
409         1,    1,    1,    1,   16,   16,   16,   16,   17,   16,
410         5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
411         5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
412         1,    1,    1,    1,   18,    1,   19,   20,   21,   22,
413
414        23,   24,   25,   26,   27,    5,   28,   29,   30,   31,
415        32,   33,   34,   35,   36,   37,   38,   39,   40,   41,
416        42,   43,    1,    1,    1,    1,    1,    1,    1,    1,
417         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
418         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
419         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
420         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
421         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
422         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
423         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
424
425         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
426         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
427         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
428         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
429         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
430         1,    1,    1,    1,    1
431     } ;
432
433 static yyconst int yy_meta[44] =
434     {   0,
435         1,    1,    2,    1,    3,    1,    1,    3,    3,    3,
436         3,    3,    3,    4,    1,    3,    3,    3,    3,    3,
437         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
438         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
439         3,    3,    3
440     } ;
441
442 static yyconst short int yy_base[531] =
443     {   0,
444         0,    0, 1140, 1141, 1141, 1141, 1135, 1124,   36,   40,
445        44,   50,   56,   62,    0,   63,   66,   81,   89,   47,
446       100,   97,   76,   96,  111,   49,  113,  110,   68,  140,
447       126,  171,  119,  118,  139,  133, 1133, 1141, 1122, 1141,
448         0,  176,  184,  199,  204,   70,  209,  224,  229,    0,
449       117,  130,  150,   72,  160,  151,  159,  123, 1121,  230,
450       178,   31,   69,  168,  240,   95,  233,  165,  241,  243,
451       242,  156,  244,  246,  187,  251,  253,  254,  211,  258,
452       256,  263,  260,  265,  190,  267,  283, 1120,  271,  274,
453       270,  285,  289,  290,  291,  292,  294,  295,  297,  299,
454
455       296,  308, 1119,  311,  300,  318,  320,  322,  323,  330,
456       325,  328,  327,  337,  342,  216,  336,  345, 1118,    0,
457       362,  366, 1117,  380,  397,    0, 1116,  370,  349, 1115,
458       373, 1114,  355, 1113,  371,  372,  384, 1112,  392,  326,
459       399,  398,  401,  402, 1111,  405,  404,  406,  411,  412,
460       409,  413,  415,  422,  423,  425,  424,  426,  428,  429,
461       435,  442,  374,  443,  444,  445,  446,  447, 1110, 1109,
462       448,  449, 1108,  450, 1107, 1106,  476,  454,  455,  464,
463       459,  488, 1105,  470, 1104,  490,  489,  460,  492, 1103,
464       493,  494,  495,  496,  501,  502,  504,  507,  508,  512,
465
466       514,  517,  519,  520,  521,  518,  457,  522,  526,  530,
467       539,  540,  541, 1102,  524, 1141,  550,  564,  568,  572,
468       577,  578,  458,  579,  580, 1101, 1100, 1099,  581,  582,
469       583,  584,  550,  585,  525,  586,  589,  551,  590,  587,
470       607,  591,  594, 1098,  592, 1097, 1096,  603,  611,  610,
471       593,  613,  617,  620,  621,  622, 1095, 1094,  623,  625,
472      1093,  624,  626,    0,  627, 1092,  629,  638,  630,  643,
473       644,  646,  628,  647,  654, 1091,  656,  661, 1090,  660,
474       658, 1089, 1088,  662, 1087, 1086,  659,  664,  672,  675,
475       676, 1085,  677,  678,  679,  681, 1084,  682, 1083,  684,
476
477       683,  690, 1082,  692,  695, 1081,  700,  704,  710,  711,
478       691,  713,  701,  702,  714,  715,  718,  722,  724, 1080,
479       726, 1079,  725,  727,  728,  729,  730,  736, 1078,  737,
480       740,  743,  746,  748,  751, 1077,  735,  738, 1076, 1075,
481      1074, 1073, 1072, 1071, 1070,  756,  758, 1069,  762,  759,
482       763, 1068, 1067, 1066,  764,  766,  767,  765,  769, 1065,
483       770,  776,  778,  777,  779, 1064,  781, 1063,  784,  785,
484       786,  790,  791,  797,  798, 1062, 1061, 1060,  802,  795,
485      1059,  803, 1058,  808,  811,  804, 1057,  805, 1056, 1055,
486      1054, 1053,  810,  821, 1052,  823,  824, 1051, 1050, 1049,
487
488       822,  825, 1048, 1047, 1046, 1045,  826,  827,  828,  829,
489       830,  833, 1044,  839, 1043, 1042,  840,  843,  844,  845,
490       846,  850,  848,  851,  852,  853,  854, 1041,  858,  863,
491       868,  869,  871,  875,  877,  878,  879, 1040,  881,  885,
492       886,  882, 1037,  887,  889,  888,  894, 1028, 1026,  897,
493       895,  892,  900,  907, 1025,  912,  916,  914, 1024,  917,
494      1023, 1021,  918,  920,  922,  925,  926,  924,  928,  931,
495       933,  932,  934,  936,  938, 1020,  941,  944,  937,  948,
496       949,  950,  952, 1019,  957,  961,  962,  963,  964, 1018,
497       965,  966,  967,  968, 1013,  969,  972, 1010,  973,  976,
498
499       982,  984,  990,  991,  992,  993,  994,  996,  997,  998,
500       999, 1006, 1000,  896,  893,  633, 1005,  632, 1007,  385,
501       354,  353, 1008,  301, 1141, 1043, 1045,  226, 1049,  166
502     } ;
503
504 static yyconst short int yy_def[531] =
505     {   0,
506       525,    1,  525,  525,  525,  525,  526,  527,  528,  525,
507       527,  527,  527,  527,  529,  527,  527,  527,  527,  527,
508       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
509       527,  527,  527,  527,  527,  527,  526,  525,  527,  525,
510       530,  530,  525,  525,  527,  527,  527,  527,  527,  529,
511       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
512       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
513       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
514       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
515       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
516
517       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
518       527,  527,  527,  527,  527,  527,  527,  527,  525,  530,
519       530,  525,  527,  527,  527,   49,  527,  527,  527,  527,
520       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
521       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
522       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
523       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
524       527,  527,  527,  527,  527,  527,   49,  527,  527,  527,
525       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
526       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
527
528       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
529       527,  527,  527,  527,  527,  525,  525,  525,  525,  527,
530       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
531       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
532       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
533       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
534       527,  527,  527,  177,  527,  527,  527,  527,  527,  527,
535       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
536       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
537       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
538
539       527,  525,  527,  527,  527,  527,  527,  527,  527,  527,
540       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
541       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
542       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
543       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
544       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
545       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
546       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
547       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
548       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
549
550       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
551       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
552       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
553       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
554       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
555       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
556       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
557       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
558       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
559       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
560
561       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
562       527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
563       527,  527,  527,  527,    0,  525,  525,  525,  525,  525
564     } ;
565
566 static yyconst short int yy_nxt[1185] =
567     {   0,
568         4,    5,    6,    7,    8,    9,   10,   11,   12,   13,
569        14,   14,   14,    4,   15,    8,    8,    8,   16,   17,
570        18,   19,   20,   21,   22,    8,   23,    8,   24,   25,
571        26,   27,   28,    8,   29,   30,   31,   32,   33,   34,
572        35,    8,   36,   42,   40,   43,   43,   43,   43,   44,
573        44,   44,   44,   45,   45,   45,   45,   40,   46,  139,
574        40,  140,   40,   40,   47,   48,   48,   48,   48,   40,
575        47,   48,   48,   48,   48,   40,   40,   69,  123,   40,
576        85,   40,   40,   40,   51,   40,   86,   70,   56,   40,
577        91,   52,   57,   53,   40,   54,   49,   58,   55,   60,
578
579        59,   61,   40,  141,  131,   77,   78,   64,   40,   40,
580        40,   65,   62,   40,   79,   66,   63,   67,   71,   75,
581        68,   72,   80,   40,   40,   76,   40,   81,   73,   82,
582        40,   40,   40,  145,   74,   89,   40,  113,  127,   40,
583       115,   90,   83,   40,  102,   87,   40,   88,   84,   92,
584       114,  116,   40,   40,  135,  118,  128,  103,  129,   93,
585       104,   94,   95,   40,   40,   96,   97,  105,  120,   40,
586       117,  130,   40,   40,   98,  133,   99,  100,   40,  101,
587        92,   40,  153,  134,   40,  121,  121,  121,  121,  132,
588       106,   40,  107,   43,   43,   43,   43,  108,  138,  109,
589
590        40,  110,  147,   40,  142,  111,  112,  122,   44,   44,
591        44,   44,   47,   45,   45,   45,   45,   40,  124,  124,
592       124,  124,   40,  156,   40,  125,  170,  213,   41,   40,
593       162,  125,   47,   48,   48,   48,   48,   40,  126,  126,
594       126,  126,   40,   40,  126,  126,   40,  126,  126,  126,
595       126,  126,  126,   40,   40,   40,   40,   40,  136,   40,
596       143,  146,  148,  149,   40,  137,   40,   40,  155,   40,
597       151,   40,  144,   40,  165,  154,   40,  152,   40,  150,
598        40,  168,  157,   40,   40,  158,  166,   40,  163,  159,
599       160,  167,  161,  169,  164,  171,   40,  173,   40,  175,
600
601       174,  172,   40,   40,   40,   40,  176,   40,   40,   40,
602        40,  180,   40,   40,   40,  187,  179,  188,  190,  181,
603       183,   40,  191,  184,   40,  177,  185,  182,  189,  186,
604       178,   40,  196,   40,  192,   40,   40,  194,   40,   40,
605        40,   40,  193,   40,  207,  208,  198,  205,  195,   40,
606        40,  201,  199,  206,  200,   40,  202,  209,   40,  197,
607       212,  230,   40,  210,  203,  211,   40,   40,   40,  204,
608       214,  121,  121,  121,  121,  217,  217,  217,  217,  215,
609       223,  225,  218,   40,   40,   40,   40,   40,  218,  124,
610       124,  124,  124,   40,  222,  224,  125,   40,   40,  226,
611
612       227,  255,  125,  219,  220,   40,  221,  221,  221,  221,
613        40,   40,   40,  229,   40,   40,  232,   40,   40,   40,
614       228,  231,   40,  237,   40,   40,   40,  235,   40,  233,
615       234,  236,  238,  239,  240,   40,   40,   40,   40,   40,
616       245,   40,   40,  249,  242,  246,  241,  248,   40,  243,
617       251,  252,  247,  244,  250,   40,   40,   40,   40,   40,
618        40,   40,   40,   40,  254,  257,  253,   40,   40,  258,
619        40,   40,   40,   40,  259,  294,  261,   40,  304,  256,
620       263,  268,  262,   40,  260,  264,  264,  264,  264,  276,
621       265,  264,  264,  266,  264,  264,  264,  264,  264,  264,
622
623       267,   40,   40,   40,  273,   40,   40,   40,   40,   40,
624       269,  275,  270,  274,   40,   40,  271,   40,  272,  280,
625        40,   40,  279,  282,  283,   40,  277,   40,  281,  278,
626        40,   40,   40,   40,   40,   40,  288,   40,   40,   40,
627       284,  290,  287,   40,  286,  285,  291,  289,  296,  293,
628       292,  297,   40,   40,   40,  301,  295,  298,  300,  217,
629       217,  217,  217,   40,   40,  313,  218,  299,  311,  316,
630       219,  219,  218,  302,  302,  302,  302,  302,  302,  302,
631       302,  221,  221,  221,  221,   40,  221,  221,  221,  221,
632        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
633
634        40,  307,   40,   40,   40,   40,   40,   40,  303,  305,
635       306,  312,  310,  320,  321,  314,   40,  315,  308,  309,
636        40,  318,  317,   40,   40,  319,   40,  326,  322,  324,
637        40,  323,  325,   40,   40,   40,   40,   40,   40,   40,
638        40,   40,   40,   40,  328,   40,   40,  327,  329,  336,
639       331,   40,  330,  333,  332,  337,   40,   40,  338,   40,
640        40,  334,  335,  339,  345,  340,  342,   40,  344,   40,
641       346,   40,   40,   40,   40,   40,  347,   40,  348,  341,
642       343,  349,  350,  353,  352,   40,  351,  354,   40,   40,
643        40,   40,   40,  356,   40,   40,   40,   40,  355,  302,
644
645       302,  302,  302,  360,   40,   40,  357,  363,   40,  365,
646       366,  358,  359,   40,   40,   40,  367,   40,  362,  364,
647       368,  361,  369,   40,   40,  372,   40,   40,   40,  371,
648       370,   40,  373,  374,  375,   40,  376,   40,   40,   40,
649        40,   40,   40,   40,  380,  377,  381,  382,   40,   40,
650        40,   40,  379,   40,  378,  383,   40,  384,  387,   40,
651       386,   40,  389,  390,   40,  385,  394,  388,  391,   40,
652       392,   40,   40,  393,  395,   40,   40,   40,   40,   40,
653        40,  397,   40,   40,  396,  400,  402,  398,  403,   40,
654        40,   40,   40,  405,   40,  399,  408,   40,   40,   40,
655
656       401,  404,  407,   40,   40,  413,  406,  411,   40,  410,
657        40,   40,  415,  409,  412,   40,   40,   40,   40,  419,
658       420,   40,  425,   40,   40,  426,  416,  414,  417,  418,
659       423,  421,  422,  424,   40,   40,   40,   40,   40,   40,
660        40,   40,   40,   40,  427,  429,   40,  430,  431,  435,
661       432,  428,   40,   40,  433,  436,   40,   40,   40,   40,
662       437,   40,  434,   40,   40,   40,   40,   40,  444,  438,
663       439,   40,  445,  443,  440,  449,   40,  441,  446,  447,
664       448,   40,   40,  442,   40,  452,  453,  454,   40,  450,
665        40,   40,   40,  455,   40,   40,  451,  457,   40,   40,
666
667        40,   40,   40,  459,  463,   40,   40,   40,   40,   40,
668        40,  456,  470,   40,  458,  464,  467,  469,  460,  465,
669        40,  461,  462,  468,  466,   40,  472,   40,  471,   40,
670        40,   40,  473,   40,  474,   40,  477,   40,   40,   40,
671       475,   40,  478,  480,   40,   40,   40,   40,  483,   40,
672        40,   40,  487,  476,   40,  481,  489,   40,  479,  485,
673       486,   40,   40,   40,  488,   40,  482,  484,  490,  492,
674        40,  494,  495,  491,   40,   40,   40,   40,   40,   40,
675        40,   40,   40,  498,  493,   40,   40,  502,  496,   40,
676       499,  500,  501,  504,  507,   40,  509,   40,  505,  497,
677
678       506,  508,  503,   40,   40,   40,   40,   40,  510,   40,
679        40,   40,   40,   40,  511,  516,  517,  518,   40,   40,
680        40,   40,  513,   40,  512,  522,   40,  515,  514,  523,
681       521,   40,   40,   40,   40,  520,   40,   40,   40,   40,
682       519,   40,  524,   37,   37,   37,   37,   39,   39,   50,
683        40,   50,   50,   40,   40,   40,   40,   40,   40,   40,
684        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
685        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
686        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
687        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
688
689        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
690        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
691        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
692        40,  216,   40,   40,   40,   40,  119,   40,   38,  525,
693         3,  525,  525,  525,  525,  525,  525,  525,  525,  525,
694       525,  525,  525,  525,  525,  525,  525,  525,  525,  525,
695       525,  525,  525,  525,  525,  525,  525,  525,  525,  525,
696       525,  525,  525,  525,  525,  525,  525,  525,  525,  525,
697       525,  525,  525,  525
698     } ;
699
700 static yyconst short int yy_chk[1185] =
701     {   0,
702         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
703         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
704         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
705         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
706         1,    1,    1,    9,   62,    9,    9,    9,    9,   10,
707        10,   10,   10,   11,   11,   11,   11,   11,   12,   62,
708        20,   62,   26,   12,   13,   13,   13,   13,   13,   13,
709        14,   14,   14,   14,   14,   14,   16,   20,   46,   17,
710        26,   29,   63,   46,   16,   54,   26,   20,   17,   23,
711        29,   16,   17,   16,   18,   16,   13,   17,   16,   18,
712
713        17,   18,   19,   63,   54,   23,   23,   19,   66,   24,
714        22,   19,   18,   21,   24,   19,   18,   19,   21,   22,
715        19,   21,   24,   28,   25,   22,   27,   24,   21,   25,
716        51,   34,   33,   66,   21,   28,   58,   33,   51,   31,
717        34,   28,   25,   52,   31,   27,   36,   27,   25,   30,
718        33,   35,   35,   30,   58,   36,   52,   31,   52,   30,
719        31,   30,   30,   53,   56,   30,   30,   31,  530,   72,
720        35,   53,   57,   55,   30,   56,   30,   30,   68,   30,
721        32,   64,   72,   57,   32,   42,   42,   42,   42,   55,
722        32,   61,   32,   43,   43,   43,   43,   32,   61,   32,
723
724        75,   32,   68,   85,   64,   32,   32,   44,   44,   44,
725        44,   44,   45,   45,   45,   45,   45,   45,   47,   47,
726        47,   47,   47,   75,   79,   47,   85,  116,  528,  116,
727        79,   47,   48,   48,   48,   48,   48,   48,   49,   49,
728        49,   49,   49,   60,   49,   49,   67,   49,   49,   49,
729        49,   49,   49,   65,   69,   71,   70,   73,   60,   74,
730        65,   67,   69,   70,   76,   60,   77,   78,   74,   81,
731        71,   80,   65,   83,   81,   73,   82,   71,   84,   70,
732        86,   83,   76,   91,   89,   77,   81,   90,   80,   78,
733        78,   82,   78,   84,   80,   86,   87,   89,   92,   91,
734
735        90,   87,   93,   94,   95,   96,   91,   97,   98,  101,
736        99,   95,  100,  105,  524,   97,   94,   98,  100,   95,
737        96,  102,  101,   96,  104,   92,   96,   95,   99,   96,
738        93,  106,  105,  107,  102,  108,  109,  104,  111,  140,
739       113,  112,  102,  110,  113,  113,  107,  111,  104,  117,
740       114,  110,  108,  112,  109,  115,  110,  113,  118,  106,
741       115,  140,  129,  114,  110,  114,  522,  521,  133,  110,
742       117,  121,  121,  121,  121,  122,  122,  122,  122,  118,
743       129,  133,  122,  128,  135,  136,  131,  163,  122,  124,
744       124,  124,  124,  124,  128,  131,  124,  137,  520,  135,
745
746       136,  163,  124,  125,  125,  139,  125,  125,  125,  125,
747       125,  142,  141,  139,  143,  144,  142,  147,  146,  148,
748       137,  141,  151,  147,  149,  150,  152,  146,  153,  143,
749       144,  146,  148,  149,  150,  154,  155,  157,  156,  158,
750       154,  159,  160,  157,  151,  155,  150,  156,  161,  152,
751       159,  160,  155,  153,  158,  162,  164,  165,  166,  167,
752       168,  171,  172,  174,  162,  165,  161,  178,  179,  166,
753       207,  223,  181,  188,  167,  207,  171,  180,  223,  164,
754       174,  181,  172,  184,  168,  177,  177,  177,  177,  188,
755       178,  177,  177,  179,  177,  177,  177,  177,  177,  177,
756
757       180,  182,  187,  186,  184,  189,  191,  192,  193,  194,
758       182,  187,  182,  186,  195,  196,  182,  197,  182,  193,
759       198,  199,  192,  195,  196,  200,  189,  201,  194,  191,
760       202,  206,  203,  204,  205,  208,  201,  215,  235,  209,
761       197,  203,  200,  210,  199,  198,  204,  202,  209,  206,
762       205,  210,  211,  212,  213,  215,  208,  211,  213,  217,
763       217,  217,  217,  233,  238,  235,  217,  212,  233,  238,
764       218,  218,  217,  218,  218,  218,  218,  219,  219,  219,
765       219,  220,  220,  220,  220,  220,  221,  221,  221,  221,
766       221,  222,  224,  225,  229,  230,  231,  232,  234,  236,
767
768       240,  229,  237,  239,  242,  245,  251,  243,  222,  224,
769       225,  234,  232,  242,  243,  236,  248,  237,  230,  231,
770       241,  240,  239,  250,  249,  241,  252,  251,  245,  249,
771       253,  248,  250,  254,  255,  256,  259,  262,  260,  263,
772       265,  273,  267,  269,  253,  518,  516,  252,  254,  265,
773       256,  268,  255,  260,  259,  267,  270,  271,  268,  272,
774       274,  262,  263,  269,  273,  270,  271,  275,  272,  277,
775       274,  281,  287,  280,  278,  284,  275,  288,  277,  270,
776       271,  278,  280,  287,  284,  289,  281,  288,  290,  291,
777       293,  294,  295,  290,  296,  298,  301,  300,  289,  302,
778
779       302,  302,  302,  295,  311,  304,  291,  300,  305,  301,
780       304,  293,  294,  307,  313,  314,  305,  308,  298,  300,
781       307,  296,  308,  309,  310,  311,  312,  315,  316,  310,
782       309,  317,  312,  313,  314,  318,  315,  319,  323,  321,
783       324,  325,  326,  327,  319,  316,  321,  323,  337,  328,
784       330,  338,  318,  331,  317,  324,  332,  325,  328,  333,
785       327,  334,  331,  332,  335,  326,  337,  330,  333,  346,
786       334,  347,  350,  335,  338,  349,  351,  355,  358,  356,
787       357,  347,  359,  361,  346,  351,  356,  349,  357,  362,
788       364,  363,  365,  359,  367,  350,  363,  369,  370,  371,
789
790       355,  358,  362,  372,  373,  370,  361,  367,  380,  365,
791       374,  375,  372,  364,  369,  379,  382,  386,  388,  379,
792       379,  384,  386,  393,  385,  388,  373,  371,  374,  375,
793       384,  380,  382,  385,  394,  401,  396,  397,  402,  407,
794       408,  409,  410,  411,  393,  396,  412,  397,  401,  409,
795       402,  394,  414,  417,  407,  410,  418,  419,  420,  421,
796       411,  423,  408,  422,  424,  425,  426,  427,  421,  412,
797       414,  429,  422,  420,  417,  426,  430,  418,  423,  424,
798       425,  431,  432,  419,  433,  430,  431,  432,  434,  427,
799       435,  436,  437,  433,  439,  442,  429,  435,  440,  441,
800
801       444,  446,  445,  437,  442,  452,  515,  447,  451,  514,
802       450,  434,  452,  453,  436,  444,  447,  451,  439,  445,
803       454,  440,  441,  450,  446,  456,  454,  458,  453,  457,
804       460,  463,  456,  464,  457,  465,  463,  468,  466,  467,
805       458,  469,  464,  466,  470,  472,  471,  473,  469,  474,
806       479,  475,  473,  460,  477,  467,  475,  478,  465,  471,
807       472,  480,  481,  482,  474,  483,  468,  470,  477,  479,
808       485,  481,  482,  478,  486,  487,  488,  489,  491,  492,
809       493,  494,  496,  486,  480,  497,  499,  491,  483,  500,
810       487,  488,  489,  493,  497,  501,  500,  502,  494,  485,
811
812       496,  499,  492,  503,  504,  505,  506,  507,  501,  508,
813       509,  510,  511,  513,  502,  507,  508,  509,  517,  512,
814       519,  523,  504,  498,  503,  517,  495,  506,  505,  519,
815       513,  490,  484,  476,  462,  511,  461,  459,  455,  449,
816       510,  448,  523,  526,  526,  526,  526,  527,  527,  529,
817       443,  529,  529,  438,  428,  416,  415,  413,  406,  405,
818       404,  403,  400,  399,  398,  395,  392,  391,  390,  389,
819       387,  383,  381,  378,  377,  376,  368,  366,  360,  354,
820       353,  352,  348,  345,  344,  343,  342,  341,  340,  339,
821       336,  329,  322,  320,  306,  303,  299,  297,  292,  286,
822
823       285,  283,  282,  279,  276,  266,  261,  258,  257,  247,
824       246,  244,  228,  227,  226,  214,  190,  185,  183,  176,
825       175,  173,  170,  169,  145,  138,  134,  132,  130,  127,
826       123,  119,  103,   88,   59,   39,   37,    8,    7,    3,
827       525,  525,  525,  525,  525,  525,  525,  525,  525,  525,
828       525,  525,  525,  525,  525,  525,  525,  525,  525,  525,
829       525,  525,  525,  525,  525,  525,  525,  525,  525,  525,
830       525,  525,  525,  525,  525,  525,  525,  525,  525,  525,
831       525,  525,  525,  525
832     } ;
833
834 static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
835 static char *yy_full_match;
836 static int yy_lp;
837 #define REJECT \
838 { \
839 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
840 yy_cp = yy_full_match; /* restore poss. backed-over text */ \
841 ++yy_lp; \
842 goto find_rule; \
843 }
844 #define yymore() yymore_used_but_not_detected
845 #define YY_MORE_ADJ 0
846 #define YY_RESTORE_YY_MORE_OFFSET
847 char *yytext;
848 #line 1 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
849 #define INITIAL 0
850 /*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
851 //
852 //                     The LLVM Compiler Infrastructure
853 //
854 // This file was developed by the LLVM research group and is distributed under
855 // the University of Illinois Open Source License. See LICENSE.TXT for details.
856 //
857 //===----------------------------------------------------------------------===//
858 //
859 //  This file implements the flex scanner for LLVM assembly languages files.
860 //
861 //===----------------------------------------------------------------------===*/
862 #define YY_NEVER_INTERACTIVE 1
863 #line 28 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
864 #include "ParserInternals.h"
865 #include "llvm/Module.h"
866 #include <list>
867 #include "llvmAsmParser.h"
868 #include <cctype>
869 #include <cstdlib>
870
871 void set_scan_file(FILE * F){
872   yy_switch_to_buffer(yy_create_buffer( F, YY_BUF_SIZE ) );
873 }
874 void set_scan_string (const char * str) {
875   yy_scan_string (str);
876 }
877
878 // Construct a token value for a non-obsolete token
879 #define RET_TOK(type, Enum, sym) \
880   llvmAsmlval.type.opcode = Instruction::Enum; \
881   llvmAsmlval.type.obsolete = false; \
882   return sym
883
884 // Construct a token value for an obsolete token
885 #define RET_TOK_OBSOLETE(type, Enum, sym) \
886   llvmAsmlval.type.opcode = Instruction::Enum; \
887   llvmAsmlval.type.obsolete = true; \
888   return sym
889
890
891 namespace llvm {
892
893 // TODO: All of the static identifiers are figured out by the lexer,
894 // these should be hashed to reduce the lexer size
895
896
897 // atoull - Convert an ascii string of decimal digits into the unsigned long
898 // long representation... this does not have to do input error checking,
899 // because we know that the input will be matched by a suitable regex...
900 //
901 static uint64_t atoull(const char *Buffer) {
902   uint64_t Result = 0;
903   for (; *Buffer; Buffer++) {
904     uint64_t OldRes = Result;
905     Result *= 10;
906     Result += *Buffer-'0';
907     if (Result < OldRes)   // Uh, oh, overflow detected!!!
908       GenerateError("constant bigger than 64 bits detected!");
909   }
910   return Result;
911 }
912
913 static uint64_t HexIntToVal(const char *Buffer) {
914   uint64_t Result = 0;
915   for (; *Buffer; ++Buffer) {
916     uint64_t OldRes = Result;
917     Result *= 16;
918     char C = *Buffer;
919     if (C >= '0' && C <= '9')
920       Result += C-'0';
921     else if (C >= 'A' && C <= 'F')
922       Result += C-'A'+10;
923     else if (C >= 'a' && C <= 'f')
924       Result += C-'a'+10;
925
926     if (Result < OldRes)   // Uh, oh, overflow detected!!!
927       GenerateError("constant bigger than 64 bits detected!");
928   }
929   return Result;
930 }
931
932
933 // HexToFP - Convert the ascii string in hexidecimal format to the floating
934 // point representation of it.
935 //
936 static double HexToFP(const char *Buffer) {
937   // Behave nicely in the face of C TBAA rules... see:
938   // http://www.nullstone.com/htmls/category/aliastyp.htm
939   union {
940     uint64_t UI;
941     double FP;
942   } UIntToFP;
943   UIntToFP.UI = HexIntToVal(Buffer);
944
945   assert(sizeof(double) == sizeof(uint64_t) &&
946          "Data sizes incompatible on this target!");
947   return UIntToFP.FP;   // Cast Hex constant to double
948 }
949
950
951 // UnEscapeLexed - Run through the specified buffer and change \xx codes to the
952 // appropriate character.  If AllowNull is set to false, a \00 value will cause
953 // an exception to be thrown.
954 //
955 // If AllowNull is set to true, the return value of the function points to the
956 // last character of the string in memory.
957 //
958 char *UnEscapeLexed(char *Buffer, bool AllowNull) {
959   char *BOut = Buffer;
960   for (char *BIn = Buffer; *BIn; ) {
961     if (BIn[0] == '\\' && isxdigit(BIn[1]) && isxdigit(BIn[2])) {
962       char Tmp = BIn[3]; BIn[3] = 0;     // Terminate string
963       *BOut = (char)strtol(BIn+1, 0, 16);  // Convert to number
964       if (!AllowNull && !*BOut)
965         GenerateError("String literal cannot accept \\00 escape!");
966
967       BIn[3] = Tmp;                  // Restore character
968       BIn += 3;                      // Skip over handled chars
969       ++BOut;
970     } else {
971       *BOut++ = *BIn++;
972     }
973   }
974
975   return BOut;
976 }
977
978 } // End llvm namespace
979
980 using namespace llvm;
981
982 #define YY_NEVER_INTERACTIVE 1
983 /* Comments start with a ; and go till end of line */
984 /* Variable(Value) identifiers start with a % sign */
985 /* Label identifiers end with a colon */
986 /* Quoted names can contain any character except " and \ */
987 /* [PN]Integer: match positive and negative literal integer values that
988  * are preceeded by a '%' character.  These represent unnamed variable slots.
989  */
990 /* E[PN]Integer: match positive and negative literal integer values */
991 /* FPConstant - A Floating point constant.
992  */
993 /* HexFPConstant - Floating point constant represented in IEEE format as a
994  *  hexadecimal number for when exponential notation is not precise enough.
995  */
996 /* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
997  * it to deal with 64 bit numbers.
998  */
999 #line 1000 "Lexer.cpp"
1000
1001 /* Macros after this point can all be overridden by user definitions in
1002  * section 1.
1003  */
1004
1005 #ifndef YY_SKIP_YYWRAP
1006 #ifdef __cplusplus
1007 extern "C" int yywrap YY_PROTO(( void ));
1008 #else
1009 extern int yywrap YY_PROTO(( void ));
1010 #endif
1011 #endif
1012
1013 #ifndef YY_NO_UNPUT
1014 static inline void yyunput YY_PROTO(( int c, char *buf_ptr ));
1015 #endif
1016
1017 #ifndef yytext_ptr
1018 static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
1019 #endif
1020
1021 #ifdef YY_NEED_STRLEN
1022 static int yy_flex_strlen YY_PROTO(( yyconst char * ));
1023 #endif
1024
1025 #ifndef YY_NO_INPUT
1026 #ifdef __cplusplus
1027 static int yyinput YY_PROTO(( void ));
1028 #else
1029 static int input YY_PROTO(( void ));
1030 #endif
1031 #endif
1032
1033 #if YY_STACK_USED
1034 static int yy_start_stack_ptr = 0;
1035 static int yy_start_stack_depth = 0;
1036 static int *yy_start_stack = 0;
1037 #ifndef YY_NO_PUSH_STATE
1038 static void yy_push_state YY_PROTO(( int new_state ));
1039 #endif
1040 #ifndef YY_NO_POP_STATE
1041 static void yy_pop_state YY_PROTO(( void ));
1042 #endif
1043 #ifndef YY_NO_TOP_STATE
1044 static int yy_top_state YY_PROTO(( void ));
1045 #endif
1046
1047 #else
1048 #define YY_NO_PUSH_STATE 1
1049 #define YY_NO_POP_STATE 1
1050 #define YY_NO_TOP_STATE 1
1051 #endif
1052
1053 #ifdef YY_MALLOC_DECL
1054 YY_MALLOC_DECL
1055 #else
1056 #if __STDC__
1057 #ifndef __cplusplus
1058 #include <stdlib.h>
1059 #endif
1060 #else
1061 /* Just try to get by without declaring the routines.  This will fail
1062  * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1063  * or sizeof(void*) != sizeof(int).
1064  */
1065 #endif
1066 #endif
1067
1068 /* Amount of stuff to slurp up with each read. */
1069 #ifndef YY_READ_BUF_SIZE
1070 #define YY_READ_BUF_SIZE 8192
1071 #endif
1072
1073 /* Copy whatever the last rule matched to the standard output. */
1074
1075 #ifndef ECHO
1076 /* This used to be an fputs(), but since the string might contain NUL's,
1077  * we now use fwrite().
1078  */
1079 #define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
1080 #endif
1081
1082 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
1083  * is returned in "result".
1084  */
1085 #ifndef YY_INPUT
1086 #define YY_INPUT(buf,result,max_size) \
1087         if ( yy_current_buffer->yy_is_interactive ) \
1088                 { \
1089                 int c = '*', n; \
1090                 for ( n = 0; n < max_size && \
1091                              (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1092                         buf[n] = (char) c; \
1093                 if ( c == '\n' ) \
1094                         buf[n++] = (char) c; \
1095                 if ( c == EOF && ferror( yyin ) ) \
1096                         YY_FATAL_ERROR( "input in flex scanner failed" ); \
1097                 result = n; \
1098                 } \
1099         else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1100                   && ferror( yyin ) ) \
1101                 YY_FATAL_ERROR( "input in flex scanner failed" );
1102 #endif
1103
1104 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1105  * we don't want an extra ';' after the "return" because that will cause
1106  * some compilers to complain about unreachable statements.
1107  */
1108 #ifndef yyterminate
1109 #define yyterminate() return YY_NULL
1110 #endif
1111
1112 /* Number of entries by which start-condition stack grows. */
1113 #ifndef YY_START_STACK_INCR
1114 #define YY_START_STACK_INCR 25
1115 #endif
1116
1117 /* Report a fatal error. */
1118 #ifndef YY_FATAL_ERROR
1119 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1120 #endif
1121
1122 /* Default declaration of generated scanner - a define so the user can
1123  * easily add parameters.
1124  */
1125 #ifndef YY_DECL
1126 #define YY_DECL int yylex YY_PROTO(( void ))
1127 #endif
1128
1129 /* Code executed at the beginning of each rule, after yytext and yyleng
1130  * have been set up.
1131  */
1132 #ifndef YY_USER_ACTION
1133 #define YY_USER_ACTION
1134 #endif
1135
1136 /* Code executed at the end of each rule. */
1137 #ifndef YY_BREAK
1138 #define YY_BREAK break;
1139 #endif
1140
1141 #define YY_RULE_SETUP \
1142         YY_USER_ACTION
1143
1144 YY_DECL
1145         {
1146         register yy_state_type yy_current_state;
1147         register char *yy_cp, *yy_bp;
1148         register int yy_act;
1149
1150 #line 189 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1151
1152
1153 #line 1154 "Lexer.cpp"
1154
1155         if ( yy_init )
1156                 {
1157                 yy_init = 0;
1158
1159 #ifdef YY_USER_INIT
1160                 YY_USER_INIT;
1161 #endif
1162
1163                 if ( ! yy_start )
1164                         yy_start = 1;   /* first start state */
1165
1166                 if ( ! yyin )
1167                         yyin = stdin;
1168
1169                 if ( ! yyout )
1170                         yyout = stdout;
1171
1172                 if ( ! yy_current_buffer )
1173                         yy_current_buffer =
1174                                 yy_create_buffer( yyin, YY_BUF_SIZE );
1175
1176                 yy_load_buffer_state();
1177                 }
1178
1179         while ( 1 )             /* loops until end-of-file is reached */
1180                 {
1181                 yy_cp = yy_c_buf_p;
1182
1183                 /* Support of yytext. */
1184                 *yy_cp = yy_hold_char;
1185
1186                 /* yy_bp points to the position in yy_ch_buf of the start of
1187                  * the current run.
1188                  */
1189                 yy_bp = yy_cp;
1190
1191                 yy_current_state = yy_start;
1192                 yy_state_ptr = yy_state_buf;
1193                 *yy_state_ptr++ = yy_current_state;
1194 yy_match:
1195                 do
1196                         {
1197                         register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1198                         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1199                                 {
1200                                 yy_current_state = (int) yy_def[yy_current_state];
1201                                 if ( yy_current_state >= 526 )
1202                                         yy_c = yy_meta[(unsigned int) yy_c];
1203                                 }
1204                         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1205                         *yy_state_ptr++ = yy_current_state;
1206                         ++yy_cp;
1207                         }
1208                 while ( yy_current_state != 525 );
1209
1210 yy_find_action:
1211                 yy_current_state = *--yy_state_ptr;
1212                 yy_lp = yy_accept[yy_current_state];
1213 find_rule: /* we branch to this label when backing up */
1214                 for ( ; ; ) /* until we find what rule we matched */
1215                         {
1216                         if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
1217                                 {
1218                                 yy_act = yy_acclist[yy_lp];
1219                                         {
1220                                         yy_full_match = yy_cp;
1221                                         break;
1222                                         }
1223                                 }
1224                         --yy_cp;
1225                         yy_current_state = *--yy_state_ptr;
1226                         yy_lp = yy_accept[yy_current_state];
1227                         }
1228
1229                 YY_DO_BEFORE_ACTION;
1230
1231                 if ( yy_act != YY_END_OF_BUFFER )
1232                         {
1233                         int yyl;
1234                         for ( yyl = 0; yyl < yyleng; ++yyl )
1235                                 if ( yytext[yyl] == '\n' )
1236                                         ++yylineno;
1237                         }
1238
1239 do_action:      /* This label is used only to access EOF actions. */
1240
1241
1242                 switch ( yy_act )
1243         { /* beginning of action switch */
1244 case 1:
1245 YY_RULE_SETUP
1246 #line 191 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1247 { /* Ignore comments for now */ }
1248         YY_BREAK
1249 case 2:
1250 YY_RULE_SETUP
1251 #line 193 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1252 { return BEGINTOK; }
1253         YY_BREAK
1254 case 3:
1255 YY_RULE_SETUP
1256 #line 194 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1257 { return ENDTOK; }
1258         YY_BREAK
1259 case 4:
1260 YY_RULE_SETUP
1261 #line 195 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1262 { return TRUETOK;  }
1263         YY_BREAK
1264 case 5:
1265 YY_RULE_SETUP
1266 #line 196 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1267 { return FALSETOK; }
1268         YY_BREAK
1269 case 6:
1270 YY_RULE_SETUP
1271 #line 197 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1272 { return DECLARE; }
1273         YY_BREAK
1274 case 7:
1275 YY_RULE_SETUP
1276 #line 198 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1277 { return GLOBAL; }
1278         YY_BREAK
1279 case 8:
1280 YY_RULE_SETUP
1281 #line 199 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1282 { return CONSTANT; }
1283         YY_BREAK
1284 case 9:
1285 YY_RULE_SETUP
1286 #line 200 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1287 { return INTERNAL; }
1288         YY_BREAK
1289 case 10:
1290 YY_RULE_SETUP
1291 #line 201 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1292 { return LINKONCE; }
1293         YY_BREAK
1294 case 11:
1295 YY_RULE_SETUP
1296 #line 202 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1297 { return WEAK; }
1298         YY_BREAK
1299 case 12:
1300 YY_RULE_SETUP
1301 #line 203 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1302 { return APPENDING; }
1303         YY_BREAK
1304 case 13:
1305 YY_RULE_SETUP
1306 #line 204 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1307 { return DLLIMPORT; }
1308         YY_BREAK
1309 case 14:
1310 YY_RULE_SETUP
1311 #line 205 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1312 { return DLLEXPORT; }
1313         YY_BREAK
1314 case 15:
1315 YY_RULE_SETUP
1316 #line 206 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1317 { return EXTERN_WEAK; }
1318         YY_BREAK
1319 case 16:
1320 YY_RULE_SETUP
1321 #line 207 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1322 { return EXTERNAL; }    /* Deprecated, turn into external */
1323         YY_BREAK
1324 case 17:
1325 YY_RULE_SETUP
1326 #line 208 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1327 { return EXTERNAL; }
1328         YY_BREAK
1329 case 18:
1330 YY_RULE_SETUP
1331 #line 209 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1332 { return IMPLEMENTATION; }
1333         YY_BREAK
1334 case 19:
1335 YY_RULE_SETUP
1336 #line 210 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1337 { return ZEROINITIALIZER; }
1338         YY_BREAK
1339 case 20:
1340 YY_RULE_SETUP
1341 #line 211 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1342 { return DOTDOTDOT; }
1343         YY_BREAK
1344 case 21:
1345 YY_RULE_SETUP
1346 #line 212 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1347 { return UNDEF; }
1348         YY_BREAK
1349 case 22:
1350 YY_RULE_SETUP
1351 #line 213 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1352 { return NULL_TOK; }
1353         YY_BREAK
1354 case 23:
1355 YY_RULE_SETUP
1356 #line 214 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1357 { return TO; }
1358         YY_BREAK
1359 case 24:
1360 YY_RULE_SETUP
1361 #line 215 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1362 { RET_TOK(TermOpVal, Unwind, UNWIND); }
1363         YY_BREAK
1364 case 25:
1365 YY_RULE_SETUP
1366 #line 216 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1367 { return NOT; }  /* Deprecated, turned into XOR */
1368         YY_BREAK
1369 case 26:
1370 YY_RULE_SETUP
1371 #line 217 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1372 { return TAIL; }
1373         YY_BREAK
1374 case 27:
1375 YY_RULE_SETUP
1376 #line 218 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1377 { return TARGET; }
1378         YY_BREAK
1379 case 28:
1380 YY_RULE_SETUP
1381 #line 219 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1382 { return TRIPLE; }
1383         YY_BREAK
1384 case 29:
1385 YY_RULE_SETUP
1386 #line 220 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1387 { return DEPLIBS; }
1388         YY_BREAK
1389 case 30:
1390 YY_RULE_SETUP
1391 #line 221 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1392 { return ENDIAN; }
1393         YY_BREAK
1394 case 31:
1395 YY_RULE_SETUP
1396 #line 222 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1397 { return POINTERSIZE; }
1398         YY_BREAK
1399 case 32:
1400 YY_RULE_SETUP
1401 #line 223 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1402 { return DATALAYOUT; }
1403         YY_BREAK
1404 case 33:
1405 YY_RULE_SETUP
1406 #line 224 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1407 { return LITTLE; }
1408         YY_BREAK
1409 case 34:
1410 YY_RULE_SETUP
1411 #line 225 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1412 { return BIG; }
1413         YY_BREAK
1414 case 35:
1415 YY_RULE_SETUP
1416 #line 226 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1417 { return VOLATILE; }
1418         YY_BREAK
1419 case 36:
1420 YY_RULE_SETUP
1421 #line 227 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1422 { return ALIGN;  }
1423         YY_BREAK
1424 case 37:
1425 YY_RULE_SETUP
1426 #line 228 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1427 { return SECTION; }
1428         YY_BREAK
1429 case 38:
1430 YY_RULE_SETUP
1431 #line 229 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1432 { return MODULE; }
1433         YY_BREAK
1434 case 39:
1435 YY_RULE_SETUP
1436 #line 230 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1437 { return ASM_TOK; }
1438         YY_BREAK
1439 case 40:
1440 YY_RULE_SETUP
1441 #line 231 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1442 { return SIDEEFFECT; }
1443         YY_BREAK
1444 case 41:
1445 YY_RULE_SETUP
1446 #line 233 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1447 { return CC_TOK; }
1448         YY_BREAK
1449 case 42:
1450 YY_RULE_SETUP
1451 #line 234 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1452 { return CCC_TOK; }
1453         YY_BREAK
1454 case 43:
1455 YY_RULE_SETUP
1456 #line 235 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1457 { return CSRETCC_TOK; }
1458         YY_BREAK
1459 case 44:
1460 YY_RULE_SETUP
1461 #line 236 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1462 { return FASTCC_TOK; }
1463         YY_BREAK
1464 case 45:
1465 YY_RULE_SETUP
1466 #line 237 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1467 { return COLDCC_TOK; }
1468         YY_BREAK
1469 case 46:
1470 YY_RULE_SETUP
1471 #line 238 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1472 { return X86_STDCALLCC_TOK; }
1473         YY_BREAK
1474 case 47:
1475 YY_RULE_SETUP
1476 #line 239 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1477 { return X86_FASTCALLCC_TOK; }
1478         YY_BREAK
1479 case 48:
1480 YY_RULE_SETUP
1481 #line 241 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1482 { llvmAsmlval.PrimType = Type::VoidTy  ; return VOID;   }
1483         YY_BREAK
1484 case 49:
1485 YY_RULE_SETUP
1486 #line 242 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1487 { llvmAsmlval.PrimType = Type::BoolTy  ; return BOOL;   }
1488         YY_BREAK
1489 case 50:
1490 YY_RULE_SETUP
1491 #line 243 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1492 { llvmAsmlval.PrimType = Type::SByteTy ; return SBYTE;  }
1493         YY_BREAK
1494 case 51:
1495 YY_RULE_SETUP
1496 #line 244 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1497 { llvmAsmlval.PrimType = Type::UByteTy ; return UBYTE;  }
1498         YY_BREAK
1499 case 52:
1500 YY_RULE_SETUP
1501 #line 245 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1502 { llvmAsmlval.PrimType = Type::ShortTy ; return SHORT;  }
1503         YY_BREAK
1504 case 53:
1505 YY_RULE_SETUP
1506 #line 246 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1507 { llvmAsmlval.PrimType = Type::UShortTy; return USHORT; }
1508         YY_BREAK
1509 case 54:
1510 YY_RULE_SETUP
1511 #line 247 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1512 { llvmAsmlval.PrimType = Type::IntTy   ; return INT;    }
1513         YY_BREAK
1514 case 55:
1515 YY_RULE_SETUP
1516 #line 248 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1517 { llvmAsmlval.PrimType = Type::UIntTy  ; return UINT;   }
1518         YY_BREAK
1519 case 56:
1520 YY_RULE_SETUP
1521 #line 249 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1522 { llvmAsmlval.PrimType = Type::LongTy  ; return LONG;   }
1523         YY_BREAK
1524 case 57:
1525 YY_RULE_SETUP
1526 #line 250 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1527 { llvmAsmlval.PrimType = Type::ULongTy ; return ULONG;  }
1528         YY_BREAK
1529 case 58:
1530 YY_RULE_SETUP
1531 #line 251 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1532 { llvmAsmlval.PrimType = Type::FloatTy ; return FLOAT;  }
1533         YY_BREAK
1534 case 59:
1535 YY_RULE_SETUP
1536 #line 252 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1537 { llvmAsmlval.PrimType = Type::DoubleTy; return DOUBLE; }
1538         YY_BREAK
1539 case 60:
1540 YY_RULE_SETUP
1541 #line 253 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1542 { llvmAsmlval.PrimType = Type::LabelTy ; return LABEL;  }
1543         YY_BREAK
1544 case 61:
1545 YY_RULE_SETUP
1546 #line 254 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1547 { return TYPE;   }
1548         YY_BREAK
1549 case 62:
1550 YY_RULE_SETUP
1551 #line 255 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1552 { return OPAQUE; }
1553         YY_BREAK
1554 case 63:
1555 YY_RULE_SETUP
1556 #line 257 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1557 { RET_TOK(BinaryOpVal, Add, ADD); }
1558         YY_BREAK
1559 case 64:
1560 YY_RULE_SETUP
1561 #line 258 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1562 { RET_TOK(BinaryOpVal, Sub, SUB); }
1563         YY_BREAK
1564 case 65:
1565 YY_RULE_SETUP
1566 #line 259 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1567 { RET_TOK(BinaryOpVal, Mul, MUL); }
1568         YY_BREAK
1569 case 66:
1570 YY_RULE_SETUP
1571 #line 260 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1572 { RET_TOK_OBSOLETE(BinaryOpVal, UDiv, UDIV); }
1573         YY_BREAK
1574 case 67:
1575 YY_RULE_SETUP
1576 #line 261 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1577 { RET_TOK(BinaryOpVal, UDiv, UDIV); }
1578         YY_BREAK
1579 case 68:
1580 YY_RULE_SETUP
1581 #line 262 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1582 { RET_TOK(BinaryOpVal, SDiv, SDIV); }
1583         YY_BREAK
1584 case 69:
1585 YY_RULE_SETUP
1586 #line 263 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1587 { RET_TOK(BinaryOpVal, FDiv, FDIV); }
1588         YY_BREAK
1589 case 70:
1590 YY_RULE_SETUP
1591 #line 264 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1592 { RET_TOK_OBSOLETE(BinaryOpVal, URem, UREM); }
1593         YY_BREAK
1594 case 71:
1595 YY_RULE_SETUP
1596 #line 265 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1597 { RET_TOK(BinaryOpVal, URem, UREM); }
1598         YY_BREAK
1599 case 72:
1600 YY_RULE_SETUP
1601 #line 266 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1602 { RET_TOK(BinaryOpVal, SRem, SREM); }
1603         YY_BREAK
1604 case 73:
1605 YY_RULE_SETUP
1606 #line 267 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1607 { RET_TOK(BinaryOpVal, FRem, FREM); }
1608         YY_BREAK
1609 case 74:
1610 YY_RULE_SETUP
1611 #line 268 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1612 { RET_TOK(BinaryOpVal, And, AND); }
1613         YY_BREAK
1614 case 75:
1615 YY_RULE_SETUP
1616 #line 269 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1617 { RET_TOK(BinaryOpVal, Or , OR ); }
1618         YY_BREAK
1619 case 76:
1620 YY_RULE_SETUP
1621 #line 270 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1622 { RET_TOK(BinaryOpVal, Xor, XOR); }
1623         YY_BREAK
1624 case 77:
1625 YY_RULE_SETUP
1626 #line 271 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1627 { RET_TOK(BinaryOpVal, SetNE, SETNE); }
1628         YY_BREAK
1629 case 78:
1630 YY_RULE_SETUP
1631 #line 272 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1632 { RET_TOK(BinaryOpVal, SetEQ, SETEQ); }
1633         YY_BREAK
1634 case 79:
1635 YY_RULE_SETUP
1636 #line 273 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1637 { RET_TOK(BinaryOpVal, SetLT, SETLT); }
1638         YY_BREAK
1639 case 80:
1640 YY_RULE_SETUP
1641 #line 274 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1642 { RET_TOK(BinaryOpVal, SetGT, SETGT); }
1643         YY_BREAK
1644 case 81:
1645 YY_RULE_SETUP
1646 #line 275 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1647 { RET_TOK(BinaryOpVal, SetLE, SETLE); }
1648         YY_BREAK
1649 case 82:
1650 YY_RULE_SETUP
1651 #line 276 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1652 { RET_TOK(BinaryOpVal, SetGE, SETGE); }
1653         YY_BREAK
1654 case 83:
1655 YY_RULE_SETUP
1656 #line 278 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1657 { RET_TOK(OtherOpVal, PHI, PHI_TOK); }
1658         YY_BREAK
1659 case 84:
1660 YY_RULE_SETUP
1661 #line 279 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1662 { RET_TOK(OtherOpVal, Call, CALL); }
1663         YY_BREAK
1664 case 85:
1665 YY_RULE_SETUP
1666 #line 280 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1667 { RET_TOK(OtherOpVal, Cast, CAST); }
1668         YY_BREAK
1669 case 86:
1670 YY_RULE_SETUP
1671 #line 281 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1672 { RET_TOK(OtherOpVal, Select, SELECT); }
1673         YY_BREAK
1674 case 87:
1675 YY_RULE_SETUP
1676 #line 282 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1677 { RET_TOK(OtherOpVal, Shl, SHL); }
1678         YY_BREAK
1679 case 88:
1680 YY_RULE_SETUP
1681 #line 283 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1682 { RET_TOK(OtherOpVal, Shr, SHR); }
1683         YY_BREAK
1684 case 89:
1685 YY_RULE_SETUP
1686 #line 284 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1687 { return VANEXT_old; }
1688         YY_BREAK
1689 case 90:
1690 YY_RULE_SETUP
1691 #line 285 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1692 { return VAARG_old; }
1693         YY_BREAK
1694 case 91:
1695 YY_RULE_SETUP
1696 #line 286 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1697 { RET_TOK(OtherOpVal, VAArg , VAARG); }
1698         YY_BREAK
1699 case 92:
1700 YY_RULE_SETUP
1701 #line 287 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1702 { RET_TOK(TermOpVal, Ret, RET); }
1703         YY_BREAK
1704 case 93:
1705 YY_RULE_SETUP
1706 #line 288 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1707 { RET_TOK(TermOpVal, Br, BR); }
1708         YY_BREAK
1709 case 94:
1710 YY_RULE_SETUP
1711 #line 289 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1712 { RET_TOK(TermOpVal, Switch, SWITCH); }
1713         YY_BREAK
1714 case 95:
1715 YY_RULE_SETUP
1716 #line 290 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1717 { RET_TOK(TermOpVal, Invoke, INVOKE); }
1718         YY_BREAK
1719 case 96:
1720 YY_RULE_SETUP
1721 #line 291 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1722 { RET_TOK(TermOpVal, Unwind, UNWIND); }
1723         YY_BREAK
1724 case 97:
1725 YY_RULE_SETUP
1726 #line 292 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1727 { RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
1728         YY_BREAK
1729 case 98:
1730 YY_RULE_SETUP
1731 #line 294 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1732 { RET_TOK(MemOpVal, Malloc, MALLOC); }
1733         YY_BREAK
1734 case 99:
1735 YY_RULE_SETUP
1736 #line 295 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1737 { RET_TOK(MemOpVal, Alloca, ALLOCA); }
1738         YY_BREAK
1739 case 100:
1740 YY_RULE_SETUP
1741 #line 296 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1742 { RET_TOK(MemOpVal, Free, FREE); }
1743         YY_BREAK
1744 case 101:
1745 YY_RULE_SETUP
1746 #line 297 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1747 { RET_TOK(MemOpVal, Load, LOAD); }
1748         YY_BREAK
1749 case 102:
1750 YY_RULE_SETUP
1751 #line 298 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1752 { RET_TOK(MemOpVal, Store, STORE); }
1753         YY_BREAK
1754 case 103:
1755 YY_RULE_SETUP
1756 #line 299 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1757 { RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
1758         YY_BREAK
1759 case 104:
1760 YY_RULE_SETUP
1761 #line 301 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1762 { RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
1763         YY_BREAK
1764 case 105:
1765 YY_RULE_SETUP
1766 #line 302 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1767 { RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
1768         YY_BREAK
1769 case 106:
1770 YY_RULE_SETUP
1771 #line 303 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1772 { RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
1773         YY_BREAK
1774 case 107:
1775 YY_RULE_SETUP
1776 #line 306 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1777 {
1778                   UnEscapeLexed(yytext+1);
1779                   llvmAsmlval.StrVal = strdup(yytext+1);             // Skip %
1780                   return VAR_ID;
1781                 }
1782         YY_BREAK
1783 case 108:
1784 YY_RULE_SETUP
1785 #line 311 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1786 {
1787                   yytext[strlen(yytext)-1] = 0;  // nuke colon
1788                   UnEscapeLexed(yytext);
1789                   llvmAsmlval.StrVal = strdup(yytext);
1790                   return LABELSTR;
1791                 }
1792         YY_BREAK
1793 case 109:
1794 YY_RULE_SETUP
1795 #line 317 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1796 {
1797                   yytext[strlen(yytext)-2] = 0;  // nuke colon, end quote
1798                   UnEscapeLexed(yytext+1);
1799                   llvmAsmlval.StrVal = strdup(yytext+1);
1800                   return LABELSTR;
1801                 }
1802         YY_BREAK
1803 case 110:
1804 YY_RULE_SETUP
1805 #line 324 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1806 { // Note that we cannot unescape a string constant here!  The
1807                    // string constant might contain a \00 which would not be
1808                    // understood by the string stuff.  It is valid to make a
1809                    // [sbyte] c"Hello World\00" constant, for example.
1810                    //
1811                    yytext[strlen(yytext)-1] = 0;           // nuke end quote
1812                    llvmAsmlval.StrVal = strdup(yytext+1);  // Nuke start quote
1813                    return STRINGCONSTANT;
1814                  }
1815         YY_BREAK
1816 case 111:
1817 YY_RULE_SETUP
1818 #line 335 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1819 { llvmAsmlval.UInt64Val = atoull(yytext); return EUINT64VAL; }
1820         YY_BREAK
1821 case 112:
1822 YY_RULE_SETUP
1823 #line 336 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1824 {
1825                   uint64_t Val = atoull(yytext+1);
1826                   // +1:  we have bigger negative range
1827                   if (Val > (uint64_t)INT64_MAX+1)
1828                     GenerateError("Constant too large for signed 64 bits!");
1829                   llvmAsmlval.SInt64Val = -Val;
1830                   return ESINT64VAL;
1831                 }
1832         YY_BREAK
1833 case 113:
1834 YY_RULE_SETUP
1835 #line 344 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1836 {
1837                    llvmAsmlval.UInt64Val = HexIntToVal(yytext+3);
1838                    return yytext[0] == 's' ? ESINT64VAL : EUINT64VAL;
1839                  }
1840         YY_BREAK
1841 case 114:
1842 YY_RULE_SETUP
1843 #line 349 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1844 {
1845                   uint64_t Val = atoull(yytext+1);
1846                   if ((unsigned)Val != Val)
1847                     GenerateError("Invalid value number (too large)!");
1848                   llvmAsmlval.UIntVal = unsigned(Val);
1849                   return UINTVAL;
1850                 }
1851         YY_BREAK
1852 case 115:
1853 YY_RULE_SETUP
1854 #line 356 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1855 {
1856                   uint64_t Val = atoull(yytext+2);
1857                   // +1:  we have bigger negative range
1858                   if (Val > (uint64_t)INT32_MAX+1)
1859                     GenerateError("Constant too large for signed 32 bits!");
1860                   llvmAsmlval.SIntVal = (int)-Val;
1861                   return SINTVAL;
1862                 }
1863         YY_BREAK
1864 case 116:
1865 YY_RULE_SETUP
1866 #line 365 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1867 { llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
1868         YY_BREAK
1869 case 117:
1870 YY_RULE_SETUP
1871 #line 366 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1872 { llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
1873         YY_BREAK
1874 case YY_STATE_EOF(INITIAL):
1875 #line 368 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1876 {
1877                   /* Make sure to free the internal buffers for flex when we are
1878                    * done reading our input!
1879                    */
1880                   yy_delete_buffer(YY_CURRENT_BUFFER);
1881                   return EOF;
1882                 }
1883         YY_BREAK
1884 case 118:
1885 YY_RULE_SETUP
1886 #line 376 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1887 { /* Ignore whitespace */ }
1888         YY_BREAK
1889 case 119:
1890 YY_RULE_SETUP
1891 #line 377 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1892 { return yytext[0]; }
1893         YY_BREAK
1894 case 120:
1895 YY_RULE_SETUP
1896 #line 379 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1897 YY_FATAL_ERROR( "flex scanner jammed" );
1898         YY_BREAK
1899 #line 1900 "Lexer.cpp"
1900
1901         case YY_END_OF_BUFFER:
1902                 {
1903                 /* Amount of text matched not including the EOB char. */
1904                 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
1905
1906                 /* Undo the effects of YY_DO_BEFORE_ACTION. */
1907                 *yy_cp = yy_hold_char;
1908                 YY_RESTORE_YY_MORE_OFFSET
1909
1910                 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
1911                         {
1912                         /* We're scanning a new file or input source.  It's
1913                          * possible that this happened because the user
1914                          * just pointed yyin at a new source and called
1915                          * yylex().  If so, then we have to assure
1916                          * consistency between yy_current_buffer and our
1917                          * globals.  Here is the right place to do so, because
1918                          * this is the first action (other than possibly a
1919                          * back-up) that will match for the new input source.
1920                          */
1921                         yy_n_chars = yy_current_buffer->yy_n_chars;
1922                         yy_current_buffer->yy_input_file = yyin;
1923                         yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
1924                         }
1925
1926                 /* Note that here we test for yy_c_buf_p "<=" to the position
1927                  * of the first EOB in the buffer, since yy_c_buf_p will
1928                  * already have been incremented past the NUL character
1929                  * (since all states make transitions on EOB to the
1930                  * end-of-buffer state).  Contrast this with the test
1931                  * in input().
1932                  */
1933                 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
1934                         { /* This was really a NUL. */
1935                         yy_state_type yy_next_state;
1936
1937                         yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
1938
1939                         yy_current_state = yy_get_previous_state();
1940
1941                         /* Okay, we're now positioned to make the NUL
1942                          * transition.  We couldn't have
1943                          * yy_get_previous_state() go ahead and do it
1944                          * for us because it doesn't know how to deal
1945                          * with the possibility of jamming (and we don't
1946                          * want to build jamming into it because then it
1947                          * will run more slowly).
1948                          */
1949
1950                         yy_next_state = yy_try_NUL_trans( yy_current_state );
1951
1952                         yy_bp = yytext_ptr + YY_MORE_ADJ;
1953
1954                         if ( yy_next_state )
1955                                 {
1956                                 /* Consume the NUL. */
1957                                 yy_cp = ++yy_c_buf_p;
1958                                 yy_current_state = yy_next_state;
1959                                 goto yy_match;
1960                                 }
1961
1962                         else
1963                                 {
1964                                 yy_cp = yy_c_buf_p;
1965                                 goto yy_find_action;
1966                                 }
1967                         }
1968
1969                 else switch ( yy_get_next_buffer() )
1970                         {
1971                         case EOB_ACT_END_OF_FILE:
1972                                 {
1973                                 yy_did_buffer_switch_on_eof = 0;
1974
1975                                 if ( yywrap() )
1976                                         {
1977                                         /* Note: because we've taken care in
1978                                          * yy_get_next_buffer() to have set up
1979                                          * yytext, we can now set up
1980                                          * yy_c_buf_p so that if some total
1981                                          * hoser (like flex itself) wants to
1982                                          * call the scanner after we return the
1983                                          * YY_NULL, it'll still work - another
1984                                          * YY_NULL will get returned.
1985                                          */
1986                                         yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
1987
1988                                         yy_act = YY_STATE_EOF(YY_START);
1989                                         goto do_action;
1990                                         }
1991
1992                                 else
1993                                         {
1994                                         if ( ! yy_did_buffer_switch_on_eof )
1995                                                 YY_NEW_FILE;
1996                                         }
1997                                 break;
1998                                 }
1999
2000                         case EOB_ACT_CONTINUE_SCAN:
2001                                 yy_c_buf_p =
2002                                         yytext_ptr + yy_amount_of_matched_text;
2003
2004                                 yy_current_state = yy_get_previous_state();
2005
2006                                 yy_cp = yy_c_buf_p;
2007                                 yy_bp = yytext_ptr + YY_MORE_ADJ;
2008                                 goto yy_match;
2009
2010                         case EOB_ACT_LAST_MATCH:
2011                                 yy_c_buf_p =
2012                                 &yy_current_buffer->yy_ch_buf[yy_n_chars];
2013
2014                                 yy_current_state = yy_get_previous_state();
2015
2016                                 yy_cp = yy_c_buf_p;
2017                                 yy_bp = yytext_ptr + YY_MORE_ADJ;
2018                                 goto yy_find_action;
2019                         }
2020                 break;
2021                 }
2022
2023         default:
2024                 YY_FATAL_ERROR(
2025                         "fatal flex scanner internal error--no action found" );
2026         } /* end of action switch */
2027                 } /* end of scanning one token */
2028         } /* end of yylex */
2029
2030
2031 /* yy_get_next_buffer - try to read in a new buffer
2032  *
2033  * Returns a code representing an action:
2034  *      EOB_ACT_LAST_MATCH -
2035  *      EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2036  *      EOB_ACT_END_OF_FILE - end of file
2037  */
2038
2039 static int yy_get_next_buffer()
2040         {
2041         register char *dest = yy_current_buffer->yy_ch_buf;
2042         register char *source = yytext_ptr;
2043         register int number_to_move, i;
2044         int ret_val;
2045
2046         if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
2047                 YY_FATAL_ERROR(
2048                 "fatal flex scanner internal error--end of buffer missed" );
2049
2050         if ( yy_current_buffer->yy_fill_buffer == 0 )
2051                 { /* Don't try to fill the buffer, so this is an EOF. */
2052                 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
2053                         {
2054                         /* We matched a single character, the EOB, so
2055                          * treat this as a final EOF.
2056                          */
2057                         return EOB_ACT_END_OF_FILE;
2058                         }
2059
2060                 else
2061                         {
2062                         /* We matched some text prior to the EOB, first
2063                          * process it.
2064                          */
2065                         return EOB_ACT_LAST_MATCH;
2066                         }
2067                 }
2068
2069         /* Try to read more data. */
2070
2071         /* First move last chars to start of buffer. */
2072         number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
2073
2074         for ( i = 0; i < number_to_move; ++i )
2075                 *(dest++) = *(source++);
2076
2077         if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2078                 /* don't do the read, it's not guaranteed to return an EOF,
2079                  * just force an EOF
2080                  */
2081                 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
2082
2083         else
2084                 {
2085                 int num_to_read =
2086                         yy_current_buffer->yy_buf_size - number_to_move - 1;
2087
2088                 while ( num_to_read <= 0 )
2089                         { /* Not enough room in the buffer - grow it. */
2090 #ifdef YY_USES_REJECT
2091                         YY_FATAL_ERROR(
2092 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
2093 #else
2094
2095                         /* just a shorter name for the current buffer */
2096                         YY_BUFFER_STATE b = yy_current_buffer;
2097
2098                         int yy_c_buf_p_offset =
2099                                 (int) (yy_c_buf_p - b->yy_ch_buf);
2100
2101                         if ( b->yy_is_our_buffer )
2102                                 {
2103                                 int new_size = b->yy_buf_size * 2;
2104
2105                                 if ( new_size <= 0 )
2106                                         b->yy_buf_size += b->yy_buf_size / 8;
2107                                 else
2108                                         b->yy_buf_size *= 2;
2109
2110                                 b->yy_ch_buf = (char *)
2111                                         /* Include room in for 2 EOB chars. */
2112                                         yy_flex_realloc( (void *) b->yy_ch_buf,
2113                                                          b->yy_buf_size + 2 );
2114                                 }
2115                         else
2116                                 /* Can't grow it, we don't own it. */
2117                                 b->yy_ch_buf = 0;
2118
2119                         if ( ! b->yy_ch_buf )
2120                                 YY_FATAL_ERROR(
2121                                 "fatal error - scanner input buffer overflow" );
2122
2123                         yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
2124
2125                         num_to_read = yy_current_buffer->yy_buf_size -
2126                                                 number_to_move - 1;
2127 #endif
2128                         }
2129
2130                 if ( num_to_read > YY_READ_BUF_SIZE )
2131                         num_to_read = YY_READ_BUF_SIZE;
2132
2133                 /* Read in more data. */
2134                 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
2135                         yy_n_chars, num_to_read );
2136
2137                 yy_current_buffer->yy_n_chars = yy_n_chars;
2138                 }
2139
2140         if ( yy_n_chars == 0 )
2141                 {
2142                 if ( number_to_move == YY_MORE_ADJ )
2143                         {
2144                         ret_val = EOB_ACT_END_OF_FILE;
2145                         yyrestart( yyin );
2146                         }
2147
2148                 else
2149                         {
2150                         ret_val = EOB_ACT_LAST_MATCH;
2151                         yy_current_buffer->yy_buffer_status =
2152                                 YY_BUFFER_EOF_PENDING;
2153                         }
2154                 }
2155
2156         else
2157                 ret_val = EOB_ACT_CONTINUE_SCAN;
2158
2159         yy_n_chars += number_to_move;
2160         yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2161         yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
2162
2163         yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
2164
2165         return ret_val;
2166         }
2167
2168
2169 /* yy_get_previous_state - get the state just before the EOB char was reached */
2170
2171 static yy_state_type yy_get_previous_state()
2172         {
2173         register yy_state_type yy_current_state;
2174         register char *yy_cp;
2175
2176         yy_current_state = yy_start;
2177         yy_state_ptr = yy_state_buf;
2178         *yy_state_ptr++ = yy_current_state;
2179
2180         for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
2181                 {
2182                 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2183                 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2184                         {
2185                         yy_current_state = (int) yy_def[yy_current_state];
2186                         if ( yy_current_state >= 526 )
2187                                 yy_c = yy_meta[(unsigned int) yy_c];
2188                         }
2189                 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2190                 *yy_state_ptr++ = yy_current_state;
2191                 }
2192
2193         return yy_current_state;
2194         }
2195
2196
2197 /* yy_try_NUL_trans - try to make a transition on the NUL character
2198  *
2199  * synopsis
2200  *      next_state = yy_try_NUL_trans( current_state );
2201  */
2202
2203 #ifdef YY_USE_PROTOS
2204 static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
2205 #else
2206 static yy_state_type yy_try_NUL_trans( yy_current_state )
2207 yy_state_type yy_current_state;
2208 #endif
2209         {
2210         register int yy_is_jam;
2211
2212         register YY_CHAR yy_c = 1;
2213         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2214                 {
2215                 yy_current_state = (int) yy_def[yy_current_state];
2216                 if ( yy_current_state >= 526 )
2217                         yy_c = yy_meta[(unsigned int) yy_c];
2218                 }
2219         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2220         yy_is_jam = (yy_current_state == 525);
2221         if ( ! yy_is_jam )
2222                 *yy_state_ptr++ = yy_current_state;
2223
2224         return yy_is_jam ? 0 : yy_current_state;
2225         }
2226
2227
2228 #ifndef YY_NO_UNPUT
2229 #ifdef YY_USE_PROTOS
2230 static inline void yyunput( int c, register char *yy_bp )
2231 #else
2232 static inline void yyunput( c, yy_bp )
2233 int c;
2234 register char *yy_bp;
2235 #endif
2236         {
2237         register char *yy_cp = yy_c_buf_p;
2238
2239         /* undo effects of setting up yytext */
2240         *yy_cp = yy_hold_char;
2241
2242         if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
2243                 { /* need to shift things up to make room */
2244                 /* +2 for EOB chars. */
2245                 register int number_to_move = yy_n_chars + 2;
2246                 register char *dest = &yy_current_buffer->yy_ch_buf[
2247                                         yy_current_buffer->yy_buf_size + 2];
2248                 register char *source =
2249                                 &yy_current_buffer->yy_ch_buf[number_to_move];
2250
2251                 while ( source > yy_current_buffer->yy_ch_buf )
2252                         *--dest = *--source;
2253
2254                 yy_cp += (int) (dest - source);
2255                 yy_bp += (int) (dest - source);
2256                 yy_current_buffer->yy_n_chars =
2257                         yy_n_chars = yy_current_buffer->yy_buf_size;
2258
2259                 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
2260                         YY_FATAL_ERROR( "flex scanner push-back overflow" );
2261                 }
2262
2263         *--yy_cp = (char) c;
2264
2265         if ( c == '\n' )
2266                 --yylineno;
2267
2268         yytext_ptr = yy_bp;
2269         yy_hold_char = *yy_cp;
2270         yy_c_buf_p = yy_cp;
2271         }
2272 #endif  /* ifndef YY_NO_UNPUT */
2273
2274
2275 #ifdef __cplusplus
2276 static int yyinput()
2277 #else
2278 static int input()
2279 #endif
2280         {
2281         int c;
2282
2283         *yy_c_buf_p = yy_hold_char;
2284
2285         if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
2286                 {
2287                 /* yy_c_buf_p now points to the character we want to return.
2288                  * If this occurs *before* the EOB characters, then it's a
2289                  * valid NUL; if not, then we've hit the end of the buffer.
2290                  */
2291                 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
2292                         /* This was really a NUL. */
2293                         *yy_c_buf_p = '\0';
2294
2295                 else
2296                         { /* need more input */
2297                         int offset = yy_c_buf_p - yytext_ptr;
2298                         ++yy_c_buf_p;
2299
2300                         switch ( yy_get_next_buffer() )
2301                                 {
2302                                 case EOB_ACT_LAST_MATCH:
2303                                         /* This happens because yy_g_n_b()
2304                                          * sees that we've accumulated a
2305                                          * token and flags that we need to
2306                                          * try matching the token before
2307                                          * proceeding.  But for input(),
2308                                          * there's no matching to consider.
2309                                          * So convert the EOB_ACT_LAST_MATCH
2310                                          * to EOB_ACT_END_OF_FILE.
2311                                          */
2312
2313                                         /* Reset buffer status. */
2314                                         yyrestart( yyin );
2315
2316                                         /* fall through */
2317
2318                                 case EOB_ACT_END_OF_FILE:
2319                                         {
2320                                         if ( yywrap() )
2321                                                 return EOF;
2322
2323                                         if ( ! yy_did_buffer_switch_on_eof )
2324                                                 YY_NEW_FILE;
2325 #ifdef __cplusplus
2326                                         return yyinput();
2327 #else
2328                                         return input();
2329 #endif
2330                                         }
2331
2332                                 case EOB_ACT_CONTINUE_SCAN:
2333                                         yy_c_buf_p = yytext_ptr + offset;
2334                                         break;
2335                                 }
2336                         }
2337                 }
2338
2339         c = *(unsigned char *) yy_c_buf_p;      /* cast for 8-bit char's */
2340         *yy_c_buf_p = '\0';     /* preserve yytext */
2341         yy_hold_char = *++yy_c_buf_p;
2342
2343         if ( c == '\n' )
2344                 ++yylineno;
2345
2346         return c;
2347         }
2348
2349
2350 #ifdef YY_USE_PROTOS
2351 void yyrestart( FILE *input_file )
2352 #else
2353 void yyrestart( input_file )
2354 FILE *input_file;
2355 #endif
2356         {
2357         if ( ! yy_current_buffer )
2358                 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
2359
2360         yy_init_buffer( yy_current_buffer, input_file );
2361         yy_load_buffer_state();
2362         }
2363
2364
2365 #ifdef YY_USE_PROTOS
2366 void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
2367 #else
2368 void yy_switch_to_buffer( new_buffer )
2369 YY_BUFFER_STATE new_buffer;
2370 #endif
2371         {
2372         if ( yy_current_buffer == new_buffer )
2373                 return;
2374
2375         if ( yy_current_buffer )
2376                 {
2377                 /* Flush out information for old buffer. */
2378                 *yy_c_buf_p = yy_hold_char;
2379                 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
2380                 yy_current_buffer->yy_n_chars = yy_n_chars;
2381                 }
2382
2383         yy_current_buffer = new_buffer;
2384         yy_load_buffer_state();
2385
2386         /* We don't actually know whether we did this switch during
2387          * EOF (yywrap()) processing, but the only time this flag
2388          * is looked at is after yywrap() is called, so it's safe
2389          * to go ahead and always set it.
2390          */
2391         yy_did_buffer_switch_on_eof = 1;
2392         }
2393
2394
2395 #ifdef YY_USE_PROTOS
2396 void yy_load_buffer_state( void )
2397 #else
2398 void yy_load_buffer_state()
2399 #endif
2400         {
2401         yy_n_chars = yy_current_buffer->yy_n_chars;
2402         yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
2403         yyin = yy_current_buffer->yy_input_file;
2404         yy_hold_char = *yy_c_buf_p;
2405         }
2406
2407
2408 #ifdef YY_USE_PROTOS
2409 YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
2410 #else
2411 YY_BUFFER_STATE yy_create_buffer( file, size )
2412 FILE *file;
2413 int size;
2414 #endif
2415         {
2416         YY_BUFFER_STATE b;
2417
2418         b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
2419         if ( ! b )
2420                 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2421
2422         b->yy_buf_size = size;
2423
2424         /* yy_ch_buf has to be 2 characters longer than the size given because
2425          * we need to put in 2 end-of-buffer characters.
2426          */
2427         b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
2428         if ( ! b->yy_ch_buf )
2429                 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2430
2431         b->yy_is_our_buffer = 1;
2432
2433         yy_init_buffer( b, file );
2434
2435         return b;
2436         }
2437
2438
2439 #ifdef YY_USE_PROTOS
2440 void yy_delete_buffer( YY_BUFFER_STATE b )
2441 #else
2442 void yy_delete_buffer( b )
2443 YY_BUFFER_STATE b;
2444 #endif
2445         {
2446         if ( ! b )
2447                 return;
2448
2449         if ( b == yy_current_buffer )
2450                 yy_current_buffer = (YY_BUFFER_STATE) 0;
2451
2452         if ( b->yy_is_our_buffer )
2453                 yy_flex_free( (void *) b->yy_ch_buf );
2454
2455         yy_flex_free( (void *) b );
2456         }
2457
2458
2459 #ifndef YY_ALWAYS_INTERACTIVE
2460 #ifndef YY_NEVER_INTERACTIVE
2461 extern int isatty YY_PROTO(( int ));
2462 #endif
2463 #endif
2464
2465 #ifdef YY_USE_PROTOS
2466 void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
2467 #else
2468 void yy_init_buffer( b, file )
2469 YY_BUFFER_STATE b;
2470 FILE *file;
2471 #endif
2472
2473
2474         {
2475         yy_flush_buffer( b );
2476
2477         b->yy_input_file = file;
2478         b->yy_fill_buffer = 1;
2479
2480 #if YY_ALWAYS_INTERACTIVE
2481         b->yy_is_interactive = 1;
2482 #else
2483 #if YY_NEVER_INTERACTIVE
2484         b->yy_is_interactive = 0;
2485 #else
2486         b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
2487 #endif
2488 #endif
2489         }
2490
2491
2492 #ifdef YY_USE_PROTOS
2493 void yy_flush_buffer( YY_BUFFER_STATE b )
2494 #else
2495 void yy_flush_buffer( b )
2496 YY_BUFFER_STATE b;
2497 #endif
2498
2499         {
2500         if ( ! b )
2501                 return;
2502
2503         b->yy_n_chars = 0;
2504
2505         /* We always need two end-of-buffer characters.  The first causes
2506          * a transition to the end-of-buffer state.  The second causes
2507          * a jam in that state.
2508          */
2509         b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2510         b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2511
2512         b->yy_buf_pos = &b->yy_ch_buf[0];
2513
2514         b->yy_at_bol = 1;
2515         b->yy_buffer_status = YY_BUFFER_NEW;
2516
2517         if ( b == yy_current_buffer )
2518                 yy_load_buffer_state();
2519         }
2520
2521
2522 #ifndef YY_NO_SCAN_BUFFER
2523 #ifdef YY_USE_PROTOS
2524 YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
2525 #else
2526 YY_BUFFER_STATE yy_scan_buffer( base, size )
2527 char *base;
2528 yy_size_t size;
2529 #endif
2530         {
2531         YY_BUFFER_STATE b;
2532
2533         if ( size < 2 ||
2534              base[size-2] != YY_END_OF_BUFFER_CHAR ||
2535              base[size-1] != YY_END_OF_BUFFER_CHAR )
2536                 /* They forgot to leave room for the EOB's. */
2537                 return 0;
2538
2539         b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
2540         if ( ! b )
2541                 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
2542
2543         b->yy_buf_size = size - 2;      /* "- 2" to take care of EOB's */
2544         b->yy_buf_pos = b->yy_ch_buf = base;
2545         b->yy_is_our_buffer = 0;
2546         b->yy_input_file = 0;
2547         b->yy_n_chars = b->yy_buf_size;
2548         b->yy_is_interactive = 0;
2549         b->yy_at_bol = 1;
2550         b->yy_fill_buffer = 0;
2551         b->yy_buffer_status = YY_BUFFER_NEW;
2552
2553         yy_switch_to_buffer( b );
2554
2555         return b;
2556         }
2557 #endif
2558
2559
2560 #ifndef YY_NO_SCAN_STRING
2561 #ifdef YY_USE_PROTOS
2562 YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
2563 #else
2564 YY_BUFFER_STATE yy_scan_string( yy_str )
2565 yyconst char *yy_str;
2566 #endif
2567         {
2568         int len;
2569         for ( len = 0; yy_str[len]; ++len )
2570                 ;
2571
2572         return yy_scan_bytes( yy_str, len );
2573         }
2574 #endif
2575
2576
2577 #ifndef YY_NO_SCAN_BYTES
2578 #ifdef YY_USE_PROTOS
2579 YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
2580 #else
2581 YY_BUFFER_STATE yy_scan_bytes( bytes, len )
2582 yyconst char *bytes;
2583 int len;
2584 #endif
2585         {
2586         YY_BUFFER_STATE b;
2587         char *buf;
2588         yy_size_t n;
2589         int i;
2590
2591         /* Get memory for full buffer, including space for trailing EOB's. */
2592         n = len + 2;
2593         buf = (char *) yy_flex_alloc( n );
2594         if ( ! buf )
2595                 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
2596
2597         for ( i = 0; i < len; ++i )
2598                 buf[i] = bytes[i];
2599
2600         buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
2601
2602         b = yy_scan_buffer( buf, n );
2603         if ( ! b )
2604                 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
2605
2606         /* It's okay to grow etc. this buffer, and we should throw it
2607          * away when we're done.
2608          */
2609         b->yy_is_our_buffer = 1;
2610
2611         return b;
2612         }
2613 #endif
2614
2615
2616 #ifndef YY_NO_PUSH_STATE
2617 #ifdef YY_USE_PROTOS
2618 static void yy_push_state( int new_state )
2619 #else
2620 static void yy_push_state( new_state )
2621 int new_state;
2622 #endif
2623         {
2624         if ( yy_start_stack_ptr >= yy_start_stack_depth )
2625                 {
2626                 yy_size_t new_size;
2627
2628                 yy_start_stack_depth += YY_START_STACK_INCR;
2629                 new_size = yy_start_stack_depth * sizeof( int );
2630
2631                 if ( ! yy_start_stack )
2632                         yy_start_stack = (int *) yy_flex_alloc( new_size );
2633
2634                 else
2635                         yy_start_stack = (int *) yy_flex_realloc(
2636                                         (void *) yy_start_stack, new_size );
2637
2638                 if ( ! yy_start_stack )
2639                         YY_FATAL_ERROR(
2640                         "out of memory expanding start-condition stack" );
2641                 }
2642
2643         yy_start_stack[yy_start_stack_ptr++] = YY_START;
2644
2645         BEGIN(new_state);
2646         }
2647 #endif
2648
2649
2650 #ifndef YY_NO_POP_STATE
2651 static void yy_pop_state()
2652         {
2653         if ( --yy_start_stack_ptr < 0 )
2654                 YY_FATAL_ERROR( "start-condition stack underflow" );
2655
2656         BEGIN(yy_start_stack[yy_start_stack_ptr]);
2657         }
2658 #endif
2659
2660
2661 #ifndef YY_NO_TOP_STATE
2662 static int yy_top_state()
2663         {
2664         return yy_start_stack[yy_start_stack_ptr - 1];
2665         }
2666 #endif
2667
2668 #ifndef YY_EXIT_FAILURE
2669 #define YY_EXIT_FAILURE 2
2670 #endif
2671
2672 #ifdef YY_USE_PROTOS
2673 static void yy_fatal_error( yyconst char msg[] )
2674 #else
2675 static void yy_fatal_error( msg )
2676 char msg[];
2677 #endif
2678         {
2679         (void) fprintf( stderr, "%s\n", msg );
2680         exit( YY_EXIT_FAILURE );
2681         }
2682
2683
2684
2685 /* Redefine yyless() so it works in section 3 code. */
2686
2687 #undef yyless
2688 #define yyless(n) \
2689         do \
2690                 { \
2691                 /* Undo effects of setting up yytext. */ \
2692                 yytext[yyleng] = yy_hold_char; \
2693                 yy_c_buf_p = yytext + n; \
2694                 yy_hold_char = *yy_c_buf_p; \
2695                 *yy_c_buf_p = '\0'; \
2696                 yyleng = n; \
2697                 } \
2698         while ( 0 )
2699
2700
2701 /* Internal utility routines. */
2702
2703 #ifndef yytext_ptr
2704 #ifdef YY_USE_PROTOS
2705 static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
2706 #else
2707 static void yy_flex_strncpy( s1, s2, n )
2708 char *s1;
2709 yyconst char *s2;
2710 int n;
2711 #endif
2712         {
2713         register int i;
2714         for ( i = 0; i < n; ++i )
2715                 s1[i] = s2[i];
2716         }
2717 #endif
2718
2719 #ifdef YY_NEED_STRLEN
2720 #ifdef YY_USE_PROTOS
2721 static int yy_flex_strlen( yyconst char *s )
2722 #else
2723 static int yy_flex_strlen( s )
2724 yyconst char *s;
2725 #endif
2726         {
2727         register int n;
2728         for ( n = 0; s[n]; ++n )
2729                 ;
2730
2731         return n;
2732         }
2733 #endif
2734
2735
2736 #ifdef YY_USE_PROTOS
2737 static void *yy_flex_alloc( yy_size_t size )
2738 #else
2739 static void *yy_flex_alloc( size )
2740 yy_size_t size;
2741 #endif
2742         {
2743         return (void *) malloc( size );
2744         }
2745
2746 #ifdef YY_USE_PROTOS
2747 static inline void *yy_flex_realloc( void *ptr, yy_size_t size )
2748 #else
2749 static inline void *yy_flex_realloc( ptr, size )
2750 void *ptr;
2751 yy_size_t size;
2752 #endif
2753         {
2754         /* The cast to (char *) in the following accommodates both
2755          * implementations that use char* generic pointers, and those
2756          * that use void* generic pointers.  It works with the latter
2757          * because both ANSI C and C++ allow castless assignment from
2758          * any pointer type to void*, and deal with argument conversions
2759          * as though doing an assignment.
2760          */
2761         return (void *) realloc( (char *) ptr, size );
2762         }
2763
2764 #ifdef YY_USE_PROTOS
2765 static void yy_flex_free( void *ptr )
2766 #else
2767 static void yy_flex_free( ptr )
2768 void *ptr;
2769 #endif
2770         {
2771         free( ptr );
2772         }
2773
2774 #if YY_MAIN
2775 int main()
2776         {
2777         yylex();
2778         return 0;
2779         }
2780 #endif
2781 #line 379 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
2782