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