blob: 4824a040e4af8b99b819be2f5cb7bbd7774084ba [file] [log] [blame]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001#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"
David Greene9145dd22007-08-01 03:59:32 +000020/* A lexical scanner generated by flex */
Dan Gohmanf17a25c2007-07-18 16:29:46 +000021
22/* Scanner skeleton version:
Reid Spenceraa8ae282007-07-31 03:50:36 +000023 * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $
Dan Gohmanf17a25c2007-07-18 16:29:46 +000024 */
25
26#define FLEX_SCANNER
27#define YY_FLEX_MAJOR_VERSION 2
28#define YY_FLEX_MINOR_VERSION 5
29
30#include <stdio.h>
Reid Spenceraa8ae282007-07-31 03:50:36 +000031#include <unistd.h>
Dan Gohmanf17a25c2007-07-18 16:29:46 +000032
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>
Dan Gohmanf17a25c2007-07-18 16:29:46 +000045
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
118typedef struct yy_buffer_state *YY_BUFFER_STATE;
119
120extern int yyleng;
121extern 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 */
160typedef unsigned int yy_size_t;
161
162
163struct 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
220static 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. */
230static char yy_hold_char;
231
232static int yy_n_chars; /* number of characters read into yy_ch_buf */
233
234
235int yyleng;
236
237/* Points to current character in buffer. */
238static char *yy_c_buf_p = (char *) 0;
239static int yy_init = 1; /* whether we need to initialize */
240static 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 */
245static int yy_did_buffer_switch_on_eof;
246
247void yyrestart YY_PROTO(( FILE *input_file ));
248
249void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
250void yy_load_buffer_state YY_PROTO(( void ));
251YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
252void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
253void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
254void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
255#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
256
257YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
258YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
259YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
260
261static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
David Greene9145dd22007-08-01 03:59:32 +0000262static inline void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000263static 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
288typedef unsigned char YY_CHAR;
289FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
290typedef int yy_state_type;
291extern int yylineno;
292int yylineno = 1;
293extern char *yytext;
294#define yytext_ptr yytext
295
296static yy_state_type yy_get_previous_state YY_PROTO(( void ));
297static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
298static int yy_get_next_buffer YY_PROTO(( void ));
299static 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
Reid Spenceraa8ae282007-07-31 03:50:36 +0000311#define YY_NUM_RULES 146
312#define YY_END_OF_BUFFER 147
313static yyconst short int yy_acclist[227] =
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000314 { 0,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000315 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,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000325
Reid Spenceraa8ae282007-07-31 03:50:36 +0000326 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,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000336
Reid Spenceraa8ae282007-07-31 03:50:36 +0000337 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
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000340 } ;
341
Reid Spenceraa8ae282007-07-31 03:50:36 +0000342static yyconst short int yy_accept[587] =
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000343 { 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,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000350 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,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000354
Reid Spenceraa8ae282007-07-31 03:50:36 +0000355 91, 91, 92, 92, 92, 92, 92, 92, 92, 92,
356 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000357 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000358 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,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000362 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
363 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000364 107, 107, 108, 108, 108, 108, 108, 108, 109, 110,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000365
Reid Spenceraa8ae282007-07-31 03:50:36 +0000366 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,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000376
Reid Spenceraa8ae282007-07-31 03:50:36 +0000377 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,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000387
Reid Spenceraa8ae282007-07-31 03:50:36 +0000388 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,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000398
Reid Spenceraa8ae282007-07-31 03:50:36 +0000399 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
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000408 } ;
409
410static 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
442static 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
Reid Spenceraa8ae282007-07-31 03:50:36 +0000451static yyconst short int yy_base[595] =
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000452 { 0,
Reid Spencer51dbabe2007-07-31 03:55:56 +0000453 0, 0, 1272, 1273, 1273, 1273, 1267, 1256, 41, 36,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000454 45, 51, 57, 63, 0, 74, 66, 69, 68, 90,
455 92, 121, 78, 36, 148, 93, 117, 114, 167, 138,
Reid Spencer51dbabe2007-07-31 03:55:56 +0000456 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,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000461 237, 241, 245, 295, 258, 288, 118, 289, 296, 233,
462 297, 306, 301, 298, 303, 304, 305, 308, 319, 323,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000463
Reid Spenceraa8ae282007-07-31 03:50:36 +0000464 316, 327, 324, 330, 331, 334, 335, 337, 339, 340,
Reid Spencer51dbabe2007-07-31 03:55:56 +0000465 341, 356, 352, 344, 342, 186, 345, 360, 348, 1249,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000466 369, 371, 372, 375, 377, 373, 378, 389, 385, 379,
Reid Spencer51dbabe2007-07-31 03:55:56 +0000467 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,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000471 467, 469, 471, 473, 474, 476, 475, 478, 477, 481,
472 480, 483, 486, 494, 501, 499, 506, 503, 505, 507,
Reid Spencer51dbabe2007-07-31 03:55:56 +0000473 508, 1239, 510, 513, 514, 517, 515, 1238, 1237, 1236,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000474
Reid Spencer51dbabe2007-07-31 03:55:56 +0000475 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,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000482 651, 652, 613, 653, 655, 654, 656, 660, 657, 664,
Reid Spencer51dbabe2007-07-31 03:55:56 +0000483 604, 672, 1213, 1212, 659, 661, 663, 662, 1211, 1210,
484 674, 678, 681, 1209, 677, 692, 693, 694, 695, 696,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000485
Reid Spencer51dbabe2007-07-31 03:55:56 +0000486 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,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000496
Reid Spencer51dbabe2007-07-31 03:55:56 +0000497 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,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000507
Reid Spencer51dbabe2007-07-31 03:55:56 +0000508 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
Reid Spenceraa8ae282007-07-31 03:50:36 +0000518
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000519 } ;
520
Reid Spenceraa8ae282007-07-31 03:50:36 +0000521static yyconst short int yy_def[595] =
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000522 { 0,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000523 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,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000533
Reid Spenceraa8ae282007-07-31 03:50:36 +0000534 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,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000544
Reid Spenceraa8ae282007-07-31 03:50:36 +0000545 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,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000555
Reid Spenceraa8ae282007-07-31 03:50:36 +0000556 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,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000566
Reid Spenceraa8ae282007-07-31 03:50:36 +0000567 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,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000577
Reid Spenceraa8ae282007-07-31 03:50:36 +0000578 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
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000589 } ;
590
Reid Spencer51dbabe2007-07-31 03:55:56 +0000591static yyconst short int yy_nxt[1318] =
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000592 { 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,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000599 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,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000603
Reid Spenceraa8ae282007-07-31 03:50:36 +0000604 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,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000614
Reid Spenceraa8ae282007-07-31 03:50:36 +0000615 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,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000625
Reid Spenceraa8ae282007-07-31 03:50:36 +0000626 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,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000636
Reid Spenceraa8ae282007-07-31 03:50:36 +0000637 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,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000647
Reid Spenceraa8ae282007-07-31 03:50:36 +0000648 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,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000658
Reid Spenceraa8ae282007-07-31 03:50:36 +0000659 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,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000665 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000666 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,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000669
Reid Spenceraa8ae282007-07-31 03:50:36 +0000670 372, 371, 376, 373, 375, 42, 42, 42, 42, 42,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000671 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
Reid Spencer51dbabe2007-07-31 03:55:56 +0000672 415, 416, 496, 380, 42, 381, 379, 377, 378, 382,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000673 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,
Reid Spencer51dbabe2007-07-31 03:55:56 +0000689 42, 464, 42, 461, 458, 455, 42, 42, 463, 42,
690 42, 467, 466, 42, 465, 42, 42, 42, 42, 42,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000691
Reid Spencer51dbabe2007-07-31 03:55:56 +0000692 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,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000702
Reid Spencer51dbabe2007-07-31 03:55:56 +0000703 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,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000713
Reid Spencer51dbabe2007-07-31 03:55:56 +0000714 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,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000721 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,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000727 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,
Reid Spencer51dbabe2007-07-31 03:55:56 +0000730 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,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000733 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,
Reid Spencer51dbabe2007-07-31 03:55:56 +0000737 585, 585, 585, 585, 585, 585, 585
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000738 } ;
739
Reid Spencer51dbabe2007-07-31 03:55:56 +0000740static yyconst short int yy_chk[1318] =
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000741 { 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,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000748 393, 393, 65, 24, 12, 13, 13, 13, 13, 13,
749 13, 14, 14, 14, 14, 14, 14, 16, 65, 17,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000750 31, 19, 18, 16, 16, 16, 16, 19, 17, 19,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000751 31, 23, 18, 62, 70, 17, 18, 17, 13, 17,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000752
Reid Spenceraa8ae282007-07-31 03:50:36 +0000753 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,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000763
Reid Spenceraa8ae282007-07-31 03:50:36 +0000764 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,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000774
Reid Spenceraa8ae282007-07-31 03:50:36 +0000775 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,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000785
Reid Spenceraa8ae282007-07-31 03:50:36 +0000786 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,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000796
Reid Spenceraa8ae282007-07-31 03:50:36 +0000797 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,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000807
Reid Spenceraa8ae282007-07-31 03:50:36 +0000808 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,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000818
Reid Spenceraa8ae282007-07-31 03:50:36 +0000819 288, 287, 295, 291, 293, 296, 297, 298, 299, 300,
820 301, 304, 308, 309, 311, 305, 313, 459, 307, 316,
Reid Spencer51dbabe2007-07-31 03:55:56 +0000821 415, 415, 459, 299, 312, 300, 298, 296, 297, 301,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000822 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,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000829
Reid Spenceraa8ae282007-07-31 03:50:36 +0000830 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,
Reid Spencer51dbabe2007-07-31 03:55:56 +0000838 410, 409, 414, 405, 401, 397, 411, 418, 408, 419,
839 421, 412, 411, 422, 410, 423, 425, 426, 427, 430,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000840
Reid Spencer51dbabe2007-07-31 03:55:56 +0000841 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,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000851
Reid Spencer51dbabe2007-07-31 03:55:56 +0000852 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,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000862
Reid Spencer51dbabe2007-07-31 03:55:56 +0000863 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,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000873
Reid Spencer51dbabe2007-07-31 03:55:56 +0000874 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,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000882 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,
Reid Spencer51dbabe2007-07-31 03:55:56 +0000886 585, 585, 585, 585, 585, 585, 585
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000887 } ;
888
889static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
890static char *yy_full_match;
891static int yy_lp;
892#define REJECT \
893{ \
894*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
895yy_cp = yy_full_match; /* restore poss. backed-over text */ \
896++yy_lp; \
897goto find_rule; \
898}
899#define yymore() yymore_used_but_not_detected
900#define YY_MORE_ADJ 0
901#define YY_RESTORE_YY_MORE_OFFSET
902char *yytext;
David Greene9145dd22007-08-01 03:59:32 +0000903#line 1 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000904#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
David Greene9145dd22007-08-01 03:59:32 +0000918#line 28 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000919#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
927void set_scan_file(FILE * F){
928 yy_switch_to_buffer(yy_create_buffer( F, YY_BUF_SIZE ) );
929}
930void 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
944namespace 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//
954static 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
966static 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//
989static 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.
996char *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
1021using 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 */
Reid Spencer51dbabe2007-07-31 03:55:56 +00001040/* WSNL - shorthand for whitespace followed by newline */
David Greene9145dd22007-08-01 03:59:32 +00001041#line 1042 "Lexer.cpp"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001042
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
1049extern "C" int yywrap YY_PROTO(( void ));
1050#else
1051extern int yywrap YY_PROTO(( void ));
1052#endif
1053#endif
1054
1055#ifndef YY_NO_UNPUT
1056static inline void yyunput YY_PROTO(( int c, char *buf_ptr ));
1057#endif
1058
1059#ifndef yytext_ptr
1060static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
1061#endif
1062
1063#ifdef YY_NEED_STRLEN
1064static int yy_flex_strlen YY_PROTO(( yyconst char * ));
1065#endif
1066
1067#ifndef YY_NO_INPUT
1068#ifdef __cplusplus
1069static int yyinput YY_PROTO(( void ));
1070#else
1071static int input YY_PROTO(( void ));
1072#endif
1073#endif
1074
1075#if YY_STACK_USED
1076static int yy_start_stack_ptr = 0;
1077static int yy_start_stack_depth = 0;
1078static int *yy_start_stack = 0;
1079#ifndef YY_NO_PUSH_STATE
1080static void yy_push_state YY_PROTO(( int new_state ));
1081#endif
1082#ifndef YY_NO_POP_STATE
1083static void yy_pop_state YY_PROTO(( void ));
1084#endif
1085#ifndef YY_NO_TOP_STATE
1086static 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
1096YY_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
1186YY_DECL
1187 {
1188 register yy_state_type yy_current_state;
Reid Spenceraa8ae282007-07-31 03:50:36 +00001189 register char *yy_cp = NULL, *yy_bp = NULL;
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001190 register int yy_act;
1191
David Greene9145dd22007-08-01 03:59:32 +00001192#line 182 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001193
1194
David Greene9145dd22007-08-01 03:59:32 +00001195#line 1196 "Lexer.cpp"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001196
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;
1236yy_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];
Reid Spenceraa8ae282007-07-31 03:50:36 +00001243 if ( yy_current_state >= 586 )
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001244 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 }
Reid Spenceraa8ae282007-07-31 03:50:36 +00001250 while ( yy_current_state != 585 );
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001251
1252yy_find_action:
1253 yy_current_state = *--yy_state_ptr;
1254 yy_lp = yy_accept[yy_current_state];
1255find_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
1281do_action: /* This label is used only to access EOF actions. */
1282
1283
1284 switch ( yy_act )
1285 { /* beginning of action switch */
1286case 1:
1287YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001288#line 184 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001289{ /* Ignore comments for now */ }
1290 YY_BREAK
1291case 2:
1292YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001293#line 186 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001294{ return BEGINTOK; }
1295 YY_BREAK
1296case 3:
1297YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001298#line 187 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001299{ return ENDTOK; }
1300 YY_BREAK
1301case 4:
1302YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001303#line 188 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001304{ return TRUETOK; }
1305 YY_BREAK
1306case 5:
1307YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001308#line 189 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001309{ return FALSETOK; }
1310 YY_BREAK
1311case 6:
1312YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001313#line 190 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001314{ return DECLARE; }
1315 YY_BREAK
1316case 7:
1317YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001318#line 191 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001319{ return DEFINE; }
1320 YY_BREAK
1321case 8:
1322YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001323#line 192 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001324{ return GLOBAL; }
1325 YY_BREAK
1326case 9:
1327YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001328#line 193 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001329{ return CONSTANT; }
1330 YY_BREAK
1331case 10:
1332YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001333#line 194 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001334{ return INTERNAL; }
1335 YY_BREAK
1336case 11:
1337YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001338#line 195 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001339{ return LINKONCE; }
1340 YY_BREAK
1341case 12:
1342YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001343#line 196 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001344{ return WEAK; }
1345 YY_BREAK
1346case 13:
1347YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001348#line 197 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001349{ return APPENDING; }
1350 YY_BREAK
1351case 14:
1352YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001353#line 198 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001354{ return DLLIMPORT; }
1355 YY_BREAK
1356case 15:
1357YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001358#line 199 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001359{ return DLLEXPORT; }
1360 YY_BREAK
1361case 16:
1362YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001363#line 200 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001364{ return HIDDEN; }
1365 YY_BREAK
1366case 17:
1367YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001368#line 201 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001369{ return PROTECTED; }
1370 YY_BREAK
1371case 18:
1372YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001373#line 202 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001374{ return EXTERN_WEAK; }
1375 YY_BREAK
1376case 19:
1377YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001378#line 203 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001379{ return EXTERNAL; }
1380 YY_BREAK
1381case 20:
1382YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001383#line 204 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001384{ return THREAD_LOCAL; }
1385 YY_BREAK
1386case 21:
1387YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001388#line 205 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001389{ return ZEROINITIALIZER; }
1390 YY_BREAK
1391case 22:
1392YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001393#line 206 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001394{ return DOTDOTDOT; }
1395 YY_BREAK
1396case 23:
1397YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001398#line 207 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001399{ return UNDEF; }
1400 YY_BREAK
1401case 24:
1402YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001403#line 208 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001404{ return NULL_TOK; }
1405 YY_BREAK
1406case 25:
1407YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001408#line 209 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001409{ return TO; }
1410 YY_BREAK
1411case 26:
1412YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001413#line 210 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001414{ return TAIL; }
1415 YY_BREAK
1416case 27:
1417YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001418#line 211 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001419{ return TARGET; }
1420 YY_BREAK
1421case 28:
1422YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001423#line 212 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001424{ return TRIPLE; }
1425 YY_BREAK
1426case 29:
1427YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001428#line 213 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001429{ return DEPLIBS; }
1430 YY_BREAK
1431case 30:
1432YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001433#line 214 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001434{ return DATALAYOUT; }
1435 YY_BREAK
1436case 31:
1437YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001438#line 215 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001439{ return VOLATILE; }
1440 YY_BREAK
1441case 32:
1442YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001443#line 216 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001444{ return ALIGN; }
1445 YY_BREAK
1446case 33:
1447YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001448#line 217 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001449{ return SECTION; }
1450 YY_BREAK
1451case 34:
1452YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001453#line 218 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001454{ return ALIAS; }
1455 YY_BREAK
1456case 35:
1457YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001458#line 219 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001459{ return MODULE; }
1460 YY_BREAK
1461case 36:
1462YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001463#line 220 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001464{ return ASM_TOK; }
1465 YY_BREAK
1466case 37:
1467YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001468#line 221 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001469{ return SIDEEFFECT; }
1470 YY_BREAK
1471case 38:
1472YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001473#line 223 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001474{ return CC_TOK; }
1475 YY_BREAK
1476case 39:
1477YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001478#line 224 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001479{ return CCC_TOK; }
1480 YY_BREAK
1481case 40:
1482YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001483#line 225 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001484{ return FASTCC_TOK; }
1485 YY_BREAK
1486case 41:
1487YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001488#line 226 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001489{ return COLDCC_TOK; }
1490 YY_BREAK
1491case 42:
1492YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001493#line 227 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001494{ return X86_STDCALLCC_TOK; }
1495 YY_BREAK
1496case 43:
1497YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001498#line 228 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001499{ return X86_FASTCALLCC_TOK; }
1500 YY_BREAK
1501case 44:
1502YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001503#line 230 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001504{ return SIGNEXT; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001505 YY_BREAK
1506case 45:
1507YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001508#line 231 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001509{ return ZEROEXT; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001510 YY_BREAK
1511case 46:
1512YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001513#line 232 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001514{ return INREG; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001515 YY_BREAK
1516case 47:
1517YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001518#line 233 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001519{ return SRET; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001520 YY_BREAK
1521case 48:
1522YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001523#line 234 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001524{ return NOUNWIND; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001525 YY_BREAK
1526case 49:
1527YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001528#line 235 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001529{ return NORETURN; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001530 YY_BREAK
1531case 50:
1532YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001533#line 236 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001534{ return NOALIAS; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001535 YY_BREAK
1536case 51:
1537YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001538#line 237 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001539{ return BYVAL; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001540 YY_BREAK
1541case 52:
1542YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001543#line 238 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001544{ return NEST; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001545 YY_BREAK
1546case 53:
Reid Spenceraa8ae282007-07-31 03:50:36 +00001547*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
1548yy_c_buf_p = yy_cp -= 1;
1549YY_DO_BEFORE_ACTION; /* set up yytext again */
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001550YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001551#line 239 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001552{ // For auto-upgrade only, drop in LLVM 3.0
1553 return SIGNEXT; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001554 YY_BREAK
1555case 54:
Reid Spenceraa8ae282007-07-31 03:50:36 +00001556*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
1557yy_c_buf_p = yy_cp -= 1;
1558YY_DO_BEFORE_ACTION; /* set up yytext again */
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001559YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001560#line 241 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001561{ // For auto-upgrade only, drop in LLVM 3.0
1562 return ZEROEXT; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001563 YY_BREAK
1564case 55:
1565YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001566#line 244 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001567{ RET_TY(Type::VoidTy, VOID); }
1568 YY_BREAK
1569case 56:
1570YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001571#line 245 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001572{ RET_TY(Type::FloatTy, FLOAT); }
1573 YY_BREAK
1574case 57:
1575YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001576#line 246 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001577{ RET_TY(Type::DoubleTy,DOUBLE);}
1578 YY_BREAK
1579case 58:
1580YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001581#line 247 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001582{ RET_TY(Type::LabelTy, LABEL); }
1583 YY_BREAK
1584case 59:
1585YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001586#line 248 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001587{ return TYPE; }
1588 YY_BREAK
1589case 60:
1590YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001591#line 249 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001592{ return OPAQUE; }
1593 YY_BREAK
1594case 61:
1595YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001596#line 250 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001597{ 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
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001605case 62:
1606YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001607#line 258 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001608{ RET_TOK(BinaryOpVal, Add, ADD); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001609 YY_BREAK
1610case 63:
1611YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001612#line 259 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001613{ RET_TOK(BinaryOpVal, Sub, SUB); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001614 YY_BREAK
1615case 64:
1616YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001617#line 260 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001618{ RET_TOK(BinaryOpVal, Mul, MUL); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001619 YY_BREAK
1620case 65:
1621YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001622#line 261 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001623{ RET_TOK(BinaryOpVal, UDiv, UDIV); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001624 YY_BREAK
1625case 66:
1626YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001627#line 262 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001628{ RET_TOK(BinaryOpVal, SDiv, SDIV); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001629 YY_BREAK
1630case 67:
1631YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001632#line 263 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001633{ RET_TOK(BinaryOpVal, FDiv, FDIV); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001634 YY_BREAK
1635case 68:
1636YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001637#line 264 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001638{ RET_TOK(BinaryOpVal, URem, UREM); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001639 YY_BREAK
1640case 69:
1641YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001642#line 265 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001643{ RET_TOK(BinaryOpVal, SRem, SREM); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001644 YY_BREAK
1645case 70:
1646YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001647#line 266 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001648{ RET_TOK(BinaryOpVal, FRem, FREM); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001649 YY_BREAK
1650case 71:
1651YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001652#line 267 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001653{ RET_TOK(BinaryOpVal, Shl, SHL); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001654 YY_BREAK
1655case 72:
1656YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001657#line 268 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001658{ RET_TOK(BinaryOpVal, LShr, LSHR); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001659 YY_BREAK
1660case 73:
1661YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001662#line 269 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001663{ RET_TOK(BinaryOpVal, AShr, ASHR); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001664 YY_BREAK
1665case 74:
1666YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001667#line 270 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001668{ RET_TOK(BinaryOpVal, And, AND); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001669 YY_BREAK
1670case 75:
1671YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001672#line 271 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001673{ RET_TOK(BinaryOpVal, Or , OR ); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001674 YY_BREAK
1675case 76:
1676YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001677#line 272 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001678{ RET_TOK(BinaryOpVal, Xor, XOR); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001679 YY_BREAK
1680case 77:
1681YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001682#line 273 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001683{ RET_TOK(OtherOpVal, ICmp, ICMP); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001684 YY_BREAK
1685case 78:
1686YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001687#line 274 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001688{ RET_TOK(OtherOpVal, FCmp, FCMP); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001689 YY_BREAK
1690case 79:
1691YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001692#line 276 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001693{ return EQ; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001694 YY_BREAK
1695case 80:
1696YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001697#line 277 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001698{ return NE; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001699 YY_BREAK
1700case 81:
1701YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001702#line 278 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001703{ return SLT; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001704 YY_BREAK
1705case 82:
1706YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001707#line 279 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001708{ return SGT; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001709 YY_BREAK
1710case 83:
1711YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001712#line 280 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001713{ return SLE; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001714 YY_BREAK
1715case 84:
1716YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001717#line 281 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001718{ return SGE; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001719 YY_BREAK
1720case 85:
1721YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001722#line 282 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001723{ return ULT; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001724 YY_BREAK
1725case 86:
1726YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001727#line 283 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001728{ return UGT; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001729 YY_BREAK
1730case 87:
1731YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001732#line 284 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001733{ return ULE; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001734 YY_BREAK
1735case 88:
1736YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001737#line 285 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001738{ return UGE; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001739 YY_BREAK
1740case 89:
1741YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001742#line 286 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001743{ return OEQ; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001744 YY_BREAK
1745case 90:
1746YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001747#line 287 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001748{ return ONE; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001749 YY_BREAK
1750case 91:
1751YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001752#line 288 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001753{ return OLT; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001754 YY_BREAK
1755case 92:
1756YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001757#line 289 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001758{ return OGT; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001759 YY_BREAK
1760case 93:
1761YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001762#line 290 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001763{ return OLE; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001764 YY_BREAK
1765case 94:
1766YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001767#line 291 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001768{ return OGE; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001769 YY_BREAK
1770case 95:
1771YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001772#line 292 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001773{ return ORD; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001774 YY_BREAK
1775case 96:
1776YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001777#line 293 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001778{ return UNO; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001779 YY_BREAK
1780case 97:
1781YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001782#line 294 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001783{ return UEQ; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001784 YY_BREAK
1785case 98:
1786YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001787#line 295 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001788{ return UNE; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001789 YY_BREAK
1790case 99:
1791YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001792#line 297 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001793{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001794 YY_BREAK
1795case 100:
1796YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001797#line 298 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001798{ RET_TOK(OtherOpVal, Call, CALL); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001799 YY_BREAK
1800case 101:
1801YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001802#line 299 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001803{ RET_TOK(CastOpVal, Trunc, TRUNC); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001804 YY_BREAK
1805case 102:
1806YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001807#line 300 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001808{ RET_TOK(CastOpVal, ZExt, ZEXT); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001809 YY_BREAK
1810case 103:
1811YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001812#line 301 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001813{ RET_TOK(CastOpVal, SExt, SEXT); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001814 YY_BREAK
1815case 104:
1816YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001817#line 302 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001818{ RET_TOK(CastOpVal, FPTrunc, FPTRUNC); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001819 YY_BREAK
1820case 105:
1821YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001822#line 303 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001823{ RET_TOK(CastOpVal, FPExt, FPEXT); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001824 YY_BREAK
1825case 106:
1826YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001827#line 304 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001828{ RET_TOK(CastOpVal, UIToFP, UITOFP); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001829 YY_BREAK
1830case 107:
1831YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001832#line 305 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001833{ RET_TOK(CastOpVal, SIToFP, SITOFP); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001834 YY_BREAK
1835case 108:
1836YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001837#line 306 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001838{ RET_TOK(CastOpVal, FPToUI, FPTOUI); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001839 YY_BREAK
1840case 109:
1841YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001842#line 307 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001843{ RET_TOK(CastOpVal, FPToSI, FPTOSI); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001844 YY_BREAK
1845case 110:
1846YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001847#line 308 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001848{ RET_TOK(CastOpVal, IntToPtr, INTTOPTR); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001849 YY_BREAK
1850case 111:
1851YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001852#line 309 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001853{ RET_TOK(CastOpVal, PtrToInt, PTRTOINT); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001854 YY_BREAK
1855case 112:
1856YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001857#line 310 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001858{ RET_TOK(CastOpVal, BitCast, BITCAST); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001859 YY_BREAK
1860case 113:
1861YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001862#line 311 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001863{ RET_TOK(OtherOpVal, Select, SELECT); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001864 YY_BREAK
1865case 114:
1866YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001867#line 312 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001868{ RET_TOK(OtherOpVal, VAArg , VAARG); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001869 YY_BREAK
1870case 115:
1871YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001872#line 313 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001873{ RET_TOK(TermOpVal, Ret, RET); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001874 YY_BREAK
1875case 116:
1876YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001877#line 314 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001878{ RET_TOK(TermOpVal, Br, BR); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001879 YY_BREAK
1880case 117:
1881YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001882#line 315 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001883{ RET_TOK(TermOpVal, Switch, SWITCH); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001884 YY_BREAK
1885case 118:
1886YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001887#line 316 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001888{ RET_TOK(TermOpVal, Invoke, INVOKE); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001889 YY_BREAK
1890case 119:
1891YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001892#line 317 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001893{ RET_TOK(TermOpVal, Unwind, UNWIND); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001894 YY_BREAK
1895case 120:
1896YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001897#line 318 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001898{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001899 YY_BREAK
1900case 121:
1901YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001902#line 320 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001903{ RET_TOK(MemOpVal, Malloc, MALLOC); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001904 YY_BREAK
1905case 122:
1906YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001907#line 321 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001908{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001909 YY_BREAK
1910case 123:
1911YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001912#line 322 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001913{ RET_TOK(MemOpVal, Free, FREE); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001914 YY_BREAK
1915case 124:
1916YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001917#line 323 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001918{ RET_TOK(MemOpVal, Load, LOAD); }
1919 YY_BREAK
1920case 125:
1921YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001922#line 324 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001923{ RET_TOK(MemOpVal, Store, STORE); }
1924 YY_BREAK
1925case 126:
1926YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001927#line 325 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001928{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
1929 YY_BREAK
1930case 127:
1931YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001932#line 327 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001933{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
1934 YY_BREAK
1935case 128:
1936YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001937#line 328 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001938{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
1939 YY_BREAK
1940case 129:
1941YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001942#line 329 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spenceraa8ae282007-07-31 03:50:36 +00001943{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
1944 YY_BREAK
1945case 130:
1946YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001947#line 332 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001948{
1949 llvmAsmlval.StrVal = new std::string(yytext+1); // Skip %
1950 return LOCALVAR;
1951 }
1952 YY_BREAK
Reid Spenceraa8ae282007-07-31 03:50:36 +00001953case 131:
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001954YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001955#line 336 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001956{
1957 llvmAsmlval.StrVal = new std::string(yytext+1); // Skip @
1958 return GLOBALVAR;
1959 }
1960 YY_BREAK
Reid Spenceraa8ae282007-07-31 03:50:36 +00001961case 132:
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001962YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001963#line 340 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001964{
1965 yytext[yyleng-1] = 0; // nuke colon
1966 llvmAsmlval.StrVal = new std::string(yytext);
1967 return LABELSTR;
1968 }
1969 YY_BREAK
Reid Spenceraa8ae282007-07-31 03:50:36 +00001970case 133:
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001971YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001972#line 345 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001973{
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
Reid Spenceraa8ae282007-07-31 03:50:36 +00001981case 134:
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001982YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001983#line 353 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001984{ 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
Reid Spenceraa8ae282007-07-31 03:50:36 +00001991case 135:
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001992YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00001993#line 359 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001994{
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
Reid Spenceraa8ae282007-07-31 03:50:36 +00002003case 136:
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002004YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00002005#line 367 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002006{
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
Reid Spenceraa8ae282007-07-31 03:50:36 +00002015case 137:
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002016YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00002017#line 375 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002018{
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
Reid Spenceraa8ae282007-07-31 03:50:36 +00002033case 138:
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002034YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00002035#line 389 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002036{
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
Reid Spenceraa8ae282007-07-31 03:50:36 +00002051case 139:
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002052YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00002053#line 404 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002054{ 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
Reid Spenceraa8ae282007-07-31 03:50:36 +00002072case 140:
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002073YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00002074#line 422 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002075{
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
Reid Spenceraa8ae282007-07-31 03:50:36 +00002083case 141:
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002084YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00002085#line 429 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002086{
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
Reid Spenceraa8ae282007-07-31 03:50:36 +00002094case 142:
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002095YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00002096#line 437 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002097{ llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
2098 YY_BREAK
Reid Spenceraa8ae282007-07-31 03:50:36 +00002099case 143:
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002100YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00002101#line 438 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002102{ llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
2103 YY_BREAK
2104case YY_STATE_EOF(INITIAL):
David Greene9145dd22007-08-01 03:59:32 +00002105#line 440 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002106{
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
Reid Spenceraa8ae282007-07-31 03:50:36 +00002114case 144:
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002115YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00002116#line 448 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002117{ /* Ignore whitespace */ }
2118 YY_BREAK
Reid Spenceraa8ae282007-07-31 03:50:36 +00002119case 145:
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002120YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00002121#line 449 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002122{ return yytext[0]; }
2123 YY_BREAK
Reid Spenceraa8ae282007-07-31 03:50:36 +00002124case 146:
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002125YY_RULE_SETUP
David Greene9145dd22007-08-01 03:59:32 +00002126#line 451 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002127YY_FATAL_ERROR( "flex scanner jammed" );
2128 YY_BREAK
David Greene9145dd22007-08-01 03:59:32 +00002129#line 2130 "Lexer.cpp"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002130
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
2269static 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
2401static 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];
Reid Spenceraa8ae282007-07-31 03:50:36 +00002416 if ( yy_current_state >= 586 )
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002417 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
2434static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
2435#else
2436static yy_state_type yy_try_NUL_trans( yy_current_state )
2437yy_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];
Reid Spenceraa8ae282007-07-31 03:50:36 +00002446 if ( yy_current_state >= 586 )
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002447 yy_c = yy_meta[(unsigned int) yy_c];
2448 }
2449 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spenceraa8ae282007-07-31 03:50:36 +00002450 yy_is_jam = (yy_current_state == 585);
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002451 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
2460static inline void yyunput( int c, register char *yy_bp )
2461#else
2462static inline void yyunput( c, yy_bp )
2463int c;
2464register 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
Reid Spenceraa8ae282007-07-31 03:50:36 +00002505#ifndef YY_NO_INPUT
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002506#ifdef __cplusplus
2507static int yyinput()
2508#else
2509static 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 }
Reid Spenceraa8ae282007-07-31 03:50:36 +00002579#endif /* YY_NO_INPUT */
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002580
2581#ifdef YY_USE_PROTOS
2582void yyrestart( FILE *input_file )
2583#else
2584void yyrestart( input_file )
2585FILE *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
2597void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
2598#else
2599void yy_switch_to_buffer( new_buffer )
2600YY_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
2627void yy_load_buffer_state( void )
2628#else
2629void 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
2640YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
2641#else
2642YY_BUFFER_STATE yy_create_buffer( file, size )
2643FILE *file;
2644int 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
2671void yy_delete_buffer( YY_BUFFER_STATE b )
2672#else
2673void yy_delete_buffer( b )
2674YY_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
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002690
2691#ifdef YY_USE_PROTOS
2692void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
2693#else
2694void yy_init_buffer( b, file )
2695YY_BUFFER_STATE b;
2696FILE *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
2719void yy_flush_buffer( YY_BUFFER_STATE b )
2720#else
2721void yy_flush_buffer( b )
2722YY_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
2750YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
2751#else
2752YY_BUFFER_STATE yy_scan_buffer( base, size )
2753char *base;
2754yy_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
2788YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
2789#else
2790YY_BUFFER_STATE yy_scan_string( yy_str )
2791yyconst 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
2805YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
2806#else
2807YY_BUFFER_STATE yy_scan_bytes( bytes, len )
2808yyconst char *bytes;
2809int 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
2844static void yy_push_state( int new_state )
2845#else
2846static void yy_push_state( new_state )
2847int 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
2877static 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
2888static 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
2899static void yy_fatal_error( yyconst char msg[] )
2900#else
2901static void yy_fatal_error( msg )
2902char 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
2931static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
2932#else
2933static void yy_flex_strncpy( s1, s2, n )
2934char *s1;
2935yyconst char *s2;
2936int 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
2947static int yy_flex_strlen( yyconst char *s )
2948#else
2949static int yy_flex_strlen( s )
2950yyconst 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
2963static void *yy_flex_alloc( yy_size_t size )
2964#else
2965static void *yy_flex_alloc( size )
2966yy_size_t size;
2967#endif
2968 {
2969 return (void *) malloc( size );
2970 }
2971
2972#ifdef YY_USE_PROTOS
2973static inline void *yy_flex_realloc( void *ptr, yy_size_t size )
2974#else
2975static inline void *yy_flex_realloc( ptr, size )
2976void *ptr;
2977yy_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
2991static void yy_flex_free( void *ptr )
2992#else
2993static void yy_flex_free( ptr )
2994void *ptr;
2995#endif
2996 {
2997 free( ptr );
2998 }
2999
3000#if YY_MAIN
3001int main()
3002 {
3003 yylex();
3004 return 0;
3005 }
3006#endif
David Greene9145dd22007-08-01 03:59:32 +00003007#line 451 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00003008