blob: 1806523836b5183fbc9ef7b58ff9d79d908c35a9 [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"
Reid Spenceraa8ae282007-07-31 03:50:36 +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
Reid Spenceraa8ae282007-07-31 03:50:36 +0000156/* Some routines like yy_flex_realloc() are emitted as static but are
157 not called by all lexers. This generates warnings in some compilers,
158 notably GCC. Arrange to suppress these. */
159#ifdef __GNUC__
160#define YY_MAY_BE_UNUSED __attribute__((unused))
161#else
162#define YY_MAY_BE_UNUSED
163#endif
164
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000165/* The following is because we cannot portably get our hands on size_t
166 * (without autoconf's help, which isn't available because we want
167 * flex-generated scanners to compile on their own).
168 */
169typedef unsigned int yy_size_t;
170
171
172struct yy_buffer_state
173 {
174 FILE *yy_input_file;
175
176 char *yy_ch_buf; /* input buffer */
177 char *yy_buf_pos; /* current position in input buffer */
178
179 /* Size of input buffer in bytes, not including room for EOB
180 * characters.
181 */
182 yy_size_t yy_buf_size;
183
184 /* Number of characters read into yy_ch_buf, not including EOB
185 * characters.
186 */
187 int yy_n_chars;
188
189 /* Whether we "own" the buffer - i.e., we know we created it,
190 * and can realloc() it to grow it, and should free() it to
191 * delete it.
192 */
193 int yy_is_our_buffer;
194
195 /* Whether this is an "interactive" input source; if so, and
196 * if we're using stdio for input, then we want to use getc()
197 * instead of fread(), to make sure we stop fetching input after
198 * each newline.
199 */
200 int yy_is_interactive;
201
202 /* Whether we're considered to be at the beginning of a line.
203 * If so, '^' rules will be active on the next match, otherwise
204 * not.
205 */
206 int yy_at_bol;
207
208 /* Whether to try to fill the input buffer when we reach the
209 * end of it.
210 */
211 int yy_fill_buffer;
212
213 int yy_buffer_status;
214#define YY_BUFFER_NEW 0
215#define YY_BUFFER_NORMAL 1
216 /* When an EOF's been seen but there's still some text to process
217 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
218 * shouldn't try reading from the input source any more. We might
219 * still have a bunch of tokens to match, though, because of
220 * possible backing-up.
221 *
222 * When we actually see the EOF, we change the status to "new"
223 * (via yyrestart()), so that the user can continue scanning by
224 * just pointing yyin at a new input file.
225 */
226#define YY_BUFFER_EOF_PENDING 2
227 };
228
229static YY_BUFFER_STATE yy_current_buffer = 0;
230
231/* We provide macros for accessing buffer states in case in the
232 * future we want to put the buffer states in a more general
233 * "scanner state".
234 */
235#define YY_CURRENT_BUFFER yy_current_buffer
236
237
238/* yy_hold_char holds the character lost when yytext is formed. */
239static char yy_hold_char;
240
241static int yy_n_chars; /* number of characters read into yy_ch_buf */
242
243
244int yyleng;
245
246/* Points to current character in buffer. */
247static char *yy_c_buf_p = (char *) 0;
248static int yy_init = 1; /* whether we need to initialize */
249static int yy_start = 0; /* start state number */
250
251/* Flag which is used to allow yywrap()'s to do buffer switches
252 * instead of setting up a fresh yyin. A bit of a hack ...
253 */
254static int yy_did_buffer_switch_on_eof;
255
256void yyrestart YY_PROTO(( FILE *input_file ));
257
258void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
259void yy_load_buffer_state YY_PROTO(( void ));
260YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
261void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
262void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
263void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
264#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
265
266YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
267YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
268YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
269
270static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
Reid Spenceraa8ae282007-07-31 03:50:36 +0000271static inline void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) YY_MAY_BE_UNUSED;
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000272static void yy_flex_free YY_PROTO(( void * ));
273
274#define yy_new_buffer yy_create_buffer
275
276#define yy_set_interactive(is_interactive) \
277 { \
278 if ( ! yy_current_buffer ) \
279 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
280 yy_current_buffer->yy_is_interactive = is_interactive; \
281 }
282
283#define yy_set_bol(at_bol) \
284 { \
285 if ( ! yy_current_buffer ) \
286 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
287 yy_current_buffer->yy_at_bol = at_bol; \
288 }
289
290#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
291
292
293#define YY_USES_REJECT
294
295#define yywrap() 1
296#define YY_SKIP_YYWRAP
297typedef unsigned char YY_CHAR;
298FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
299typedef int yy_state_type;
300extern int yylineno;
301int yylineno = 1;
302extern char *yytext;
303#define yytext_ptr yytext
304
305static yy_state_type yy_get_previous_state YY_PROTO(( void ));
306static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
307static int yy_get_next_buffer YY_PROTO(( void ));
308static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
309
310/* Done after the current pattern has been matched and before the
311 * corresponding action - sets up yytext.
312 */
313#define YY_DO_BEFORE_ACTION \
314 yytext_ptr = yy_bp; \
315 yyleng = (int) (yy_cp - yy_bp); \
316 yy_hold_char = *yy_cp; \
317 *yy_cp = '\0'; \
318 yy_c_buf_p = yy_cp;
319
Reid Spenceraa8ae282007-07-31 03:50:36 +0000320#define YY_NUM_RULES 146
321#define YY_END_OF_BUFFER 147
322static yyconst short int yy_acclist[227] =
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000323 { 0,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000324 147, 145, 146, 144, 145, 146, 144, 146, 145, 146,
325 145, 146, 145, 146, 145, 146, 145, 146, 145, 146,
326 137, 145, 146, 137, 145, 146, 1, 145, 146, 145,
327 146, 145, 146, 145, 146, 145, 146, 145, 146, 145,
328 146, 145, 146, 145, 146, 145, 146, 145, 146, 145,
329 146, 145, 146, 145, 146, 145, 146, 145, 146, 145,
330 146, 145, 146, 145, 146, 145, 146, 145, 146, 145,
331 146, 145, 146, 145, 146, 134, 132, 130, 140, 138,
332 142, 137, 1, 131, 141, 116, 38, 79, 61, 80,
333 75, 25, 134, 136, 130, 142, 22, 142, 143, 135,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000334
Reid Spenceraa8ae282007-07-31 03:50:36 +0000335 131, 62, 74, 36, 39, 3, 64, 89, 94, 92,
336 93, 91, 90, 95, 99, 115, 84, 82, 71, 83,
337 81, 63, 97, 88, 86, 87, 85, 98, 96, 76,
338 133, 142, 142, 73, 100, 78, 67, 123, 70, 77,
339 124, 72, 52, 24, 139, 66, 103, 69, 47, 26,
340 4, 59, 65, 68, 55, 12, 102, 142, 34, 32,
341 2, 51, 5, 56, 105, 46, 58, 53, 125, 101,
342 23, 54, 122, 41, 7, 57, 40, 109, 108, 8,
343 16, 118, 121, 35, 60, 113, 107, 117, 27, 28,
344 106, 119, 114, 112, 6, 29, 104, 50, 33, 44,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000345
Reid Spenceraa8ae282007-07-31 03:50:36 +0000346 45, 9, 19, 10, 110, 11, 49, 48, 111, 31,
347 13, 15, 14, 17, 30, 37, 18, 120, 20, 126,
348 128, 129, 42, 127, 43, 21
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000349 } ;
350
Reid Spenceraa8ae282007-07-31 03:50:36 +0000351static yyconst short int yy_accept[587] =
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000352 { 0,
353 1, 1, 1, 2, 4, 7, 9, 11, 13, 15,
354 17, 19, 21, 24, 27, 30, 32, 34, 36, 38,
355 40, 42, 44, 46, 48, 50, 52, 54, 56, 58,
356 60, 62, 64, 66, 68, 70, 72, 74, 76, 76,
357 77, 77, 78, 78, 79, 80, 80, 81, 81, 82,
358 83, 83, 84, 84, 85, 86, 86, 86, 86, 86,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000359 86, 86, 86, 87, 87, 87, 88, 88, 88, 88,
360 88, 88, 88, 89, 89, 89, 89, 89, 89, 89,
361 89, 89, 89, 89, 90, 90, 90, 90, 90, 90,
362 90, 90, 90, 90, 91, 91, 91, 91, 91, 91,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000363
Reid Spenceraa8ae282007-07-31 03:50:36 +0000364 91, 91, 92, 92, 92, 92, 92, 92, 92, 92,
365 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000366 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000367 93, 93, 93, 93, 93, 93, 94, 94, 95, 96,
368 97, 98, 99, 99, 100, 100, 101, 102, 103, 103,
369 103, 104, 104, 104, 105, 105, 105, 105, 105, 106,
370 106, 106, 106, 106, 106, 106, 106, 106, 107, 107,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000371 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
372 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000373 107, 107, 108, 108, 108, 108, 108, 108, 109, 110,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000374
Reid Spenceraa8ae282007-07-31 03:50:36 +0000375 111, 112, 113, 114, 114, 115, 116, 116, 116, 117,
376 117, 117, 117, 117, 117, 118, 119, 120, 120, 120,
377 120, 120, 121, 122, 122, 122, 123, 123, 123, 123,
378 123, 123, 123, 123, 123, 124, 125, 126, 126, 127,
379 128, 128, 129, 130, 130, 130, 130, 130, 130, 130,
380 130, 130, 131, 131, 131, 132, 133, 133, 133, 133,
381 134, 134, 134, 134, 134, 135, 135, 135, 135, 136,
382 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
383 136, 136, 136, 137, 138, 138, 138, 138, 138, 139,
384 140, 140, 140, 140, 141, 141, 141, 141, 141, 141,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000385
Reid Spenceraa8ae282007-07-31 03:50:36 +0000386 141, 141, 142, 143, 143, 143, 144, 144, 144, 144,
387 145, 145, 145, 145, 146, 147, 147, 147, 148, 148,
388 148, 148, 148, 149, 150, 150, 150, 151, 151, 151,
389 151, 152, 152, 153, 154, 154, 154, 154, 154, 155,
390 155, 156, 156, 157, 157, 157, 158, 159, 160, 161,
391 161, 161, 162, 162, 163, 163, 163, 163, 163, 163,
392 163, 163, 163, 163, 163, 163, 164, 164, 165, 166,
393 166, 166, 166, 166, 166, 166, 167, 167, 167, 167,
394 167, 168, 168, 168, 168, 168, 168, 168, 168, 168,
395 168, 168, 168, 168, 169, 169, 169, 169, 169, 170,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000396
Reid Spenceraa8ae282007-07-31 03:50:36 +0000397 170, 170, 170, 170, 171, 171, 172, 172, 172, 172,
398 172, 172, 172, 172, 172, 172, 173, 174, 174, 174,
399 175, 175, 175, 175, 176, 176, 176, 176, 177, 177,
400 177, 178, 179, 180, 180, 180, 181, 182, 182, 182,
401 182, 183, 183, 184, 185, 185, 185, 185, 186, 186,
402 186, 186, 187, 187, 187, 187, 188, 189, 190, 190,
403 191, 192, 192, 193, 194, 194, 194, 194, 194, 194,
404 194, 195, 195, 195, 196, 197, 197, 197, 197, 197,
405 197, 198, 198, 198, 198, 198, 198, 199, 199, 199,
406 199, 199, 200, 200, 200, 201, 201, 201, 201, 201,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000407
Reid Spenceraa8ae282007-07-31 03:50:36 +0000408 201, 202, 202, 202, 203, 203, 203, 203, 203, 204,
409 204, 204, 204, 205, 206, 207, 208, 209, 209, 210,
410 210, 210, 210, 210, 211, 211, 211, 211, 212, 212,
411 213, 214, 214, 214, 214, 214, 215, 215, 215, 215,
412 215, 215, 215, 215, 216, 216, 216, 216, 216, 216,
413 217, 217, 217, 217, 217, 217, 218, 218, 218, 218,
414 218, 218, 219, 219, 219, 219, 219, 219, 219, 219,
415 220, 220, 220, 220, 220, 221, 222, 223, 223, 224,
416 224, 225, 226, 226, 227, 227
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000417 } ;
418
419static yyconst int yy_ec[256] =
420 { 0,
421 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
422 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
423 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
424 1, 2, 1, 4, 1, 5, 6, 1, 1, 1,
425 1, 1, 7, 1, 8, 9, 1, 10, 11, 11,
426 11, 11, 11, 12, 11, 13, 11, 14, 15, 1,
427 1, 1, 1, 16, 17, 17, 17, 17, 18, 17,
428 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
429 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
430 1, 1, 1, 1, 19, 1, 20, 21, 22, 23,
431
432 24, 25, 26, 27, 28, 5, 29, 30, 31, 32,
433 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
434 43, 44, 1, 1, 1, 1, 1, 1, 1, 1,
435 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
436 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
437 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
438 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
439 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
440 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
441 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
442
443 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
444 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
445 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
446 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
447 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
448 1, 1, 1, 1, 1
449 } ;
450
451static yyconst int yy_meta[45] =
452 { 0,
453 1, 1, 2, 3, 4, 1, 1, 4, 4, 4,
454 4, 4, 4, 5, 1, 1, 4, 4, 4, 4,
455 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
456 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
457 4, 4, 4, 4
458 } ;
459
Reid Spenceraa8ae282007-07-31 03:50:36 +0000460static yyconst short int yy_base[595] =
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000461 { 0,
Reid Spencer51dbabe2007-07-31 03:55:56 +0000462 0, 0, 1272, 1273, 1273, 1273, 1267, 1256, 41, 36,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000463 45, 51, 57, 63, 0, 74, 66, 69, 68, 90,
464 92, 121, 78, 36, 148, 93, 117, 114, 167, 138,
Reid Spencer51dbabe2007-07-31 03:55:56 +0000465 67, 194, 152, 226, 134, 95, 103, 101, 1265, 1273,
466 1254, 1273, 1263, 0, 199, 216, 232, 131, 253, 269,
467 274, 0, 1262, 0, 203, 119, 154, 150, 115, 163,
468 149, 80, 1251, 191, 49, 164, 157, 108, 279, 81,
469 184, 169, 1250, 223, 239, 188, 220, 224, 276, 182,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000470 237, 241, 245, 295, 258, 288, 118, 289, 296, 233,
471 297, 306, 301, 298, 303, 304, 305, 308, 319, 323,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000472
Reid Spenceraa8ae282007-07-31 03:50:36 +0000473 316, 327, 324, 330, 331, 334, 335, 337, 339, 340,
Reid Spencer51dbabe2007-07-31 03:55:56 +0000474 341, 356, 352, 344, 342, 186, 345, 360, 348, 1249,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000475 369, 371, 372, 375, 377, 373, 378, 389, 385, 379,
Reid Spencer51dbabe2007-07-31 03:55:56 +0000476 390, 403, 407, 392, 393, 1248, 1257, 1273, 0, 421,
477 1246, 436, 454, 0, 1255, 1273, 0, 1244, 437, 381,
478 1243, 412, 423, 1242, 410, 430, 455, 413, 1241, 456,
479 439, 457, 426, 427, 428, 458, 459, 1240, 460, 464,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000480 467, 469, 471, 473, 474, 476, 475, 478, 477, 481,
481 480, 483, 486, 494, 501, 499, 506, 503, 505, 507,
Reid Spencer51dbabe2007-07-31 03:55:56 +0000482 508, 1239, 510, 513, 514, 517, 515, 1238, 1237, 1236,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000483
Reid Spencer51dbabe2007-07-31 03:55:56 +0000484 1235, 1234, 1233, 511, 1232, 1231, 516, 519, 1230, 548,
485 522, 525, 526, 537, 1229, 1228, 1227, 528, 550, 553,
486 562, 1226, 1225, 563, 542, 1224, 541, 566, 567, 568,
487 569, 573, 574, 570, 1223, 1222, 1221, 575, 1220, 1219,
488 576, 1218, 1217, 585, 588, 590, 592, 597, 593, 600,
489 572, 1216, 601, 603, 1273, 612, 632, 636, 640, 645,
490 623, 647, 530, 648, 1215, 649, 612, 605, 1214, 650,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000491 651, 652, 613, 653, 655, 654, 656, 660, 657, 664,
Reid Spencer51dbabe2007-07-31 03:55:56 +0000492 604, 672, 1213, 1212, 659, 661, 663, 662, 1211, 1210,
493 674, 678, 681, 1209, 677, 692, 693, 694, 695, 696,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000494
Reid Spencer51dbabe2007-07-31 03:55:56 +0000495 697, 1208, 1207, 698, 702, 1206, 705, 699, 700, 1205,
496 701, 711, 703, 0, 1204, 706, 724, 740, 725, 731,
497 733, 734, 1203, 1202, 737, 730, 1201, 739, 742, 735,
498 1200, 744, 1199, 1198, 746, 750, 753, 754, 1197, 755,
499 1196, 756, 1195, 758, 760, 775, 769, 1194, 1193, 773,
500 762, 1192, 776, 1191, 778, 782, 783, 784, 785, 617,
501 787, 790, 791, 793, 792, 1190, 794, 1189, 1188, 798,
502 803, 796, 805, 797, 804, 1187, 808, 809, 816, 818,
503 1186, 819, 821, 820, 825, 823, 824, 833, 826, 835,
504 839, 840, 59, 1273, 841, 842, 844, 845, 1185, 846,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000505
Reid Spencer51dbabe2007-07-31 03:55:56 +0000506 847, 851, 852, 1184, 850, 1183, 855, 866, 856, 867,
507 873, 854, 861, 869, 719, 1273, 1182, 874, 876, 1181,
508 877, 880, 882, 1180, 883, 884, 885, 1179, 891, 886,
509 1178, 1177, 1176, 890, 894, 1175, 1174, 902, 893, 901,
510 1173, 905, 1172, 1171, 907, 914, 908, 1170, 915, 916,
511 917, 1169, 918, 920, 919, 1168, 1167, 1166, 704, 1165,
512 1164, 924, 1163, 1162, 922, 921, 923, 927, 933, 940,
513 1161, 929, 941, 1160, 1159, 942, 945, 946, 949, 952,
514 1158, 956, 954, 955, 950, 959, 1157, 957, 968, 974,
515 961, 1156, 963, 976, 1155, 978, 981, 980, 979, 983,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000516
Reid Spencer51dbabe2007-07-31 03:55:56 +0000517 1154, 982, 988, 1153, 992, 995, 996, 997, 1152, 993,
518 998, 1001, 1151, 1150, 1149, 1133, 1121, 999, 1120, 1002,
519 1005, 1004, 1014, 1119, 1010, 1022, 1015, 1118, 1024, 1115,
520 1114, 1025, 1026, 1027, 1030, 1113, 1032, 1033, 1034, 1037,
521 1035, 1038, 1039, 1112, 1043, 1044, 1046, 1049, 1050, 1111,
522 1056, 1055, 1052, 1060, 1063, 1110, 1067, 1064, 1069, 1070,
523 1075, 1109, 1078, 1072, 1071, 1081, 1073, 1082, 1083, 1108,
524 1084, 1090, 1086, 1093, 1103, 1102, 1101, 1096, 948, 1097,
525 346, 259, 1100, 256, 1273, 1136, 1138, 1141, 1145, 1148,
526 1152, 235, 1157, 165
Reid Spenceraa8ae282007-07-31 03:50:36 +0000527
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000528 } ;
529
Reid Spenceraa8ae282007-07-31 03:50:36 +0000530static yyconst short int yy_def[595] =
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000531 { 0,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000532 585, 1, 585, 585, 585, 585, 586, 587, 588, 585,
533 587, 587, 587, 587, 589, 590, 587, 587, 587, 587,
534 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
535 587, 587, 587, 587, 587, 587, 587, 587, 586, 585,
536 587, 585, 591, 592, 585, 585, 587, 587, 587, 587,
537 587, 589, 593, 594, 585, 587, 587, 587, 587, 587,
538 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
539 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
540 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
541 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000542
Reid Spenceraa8ae282007-07-31 03:50:36 +0000543 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
544 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
545 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
546 587, 587, 587, 587, 587, 585, 591, 585, 592, 585,
547 587, 587, 587, 51, 593, 585, 594, 587, 587, 587,
548 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
549 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
550 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
551 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
552 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000553
Reid Spenceraa8ae282007-07-31 03:50:36 +0000554 587, 587, 587, 587, 587, 587, 587, 587, 587, 51,
555 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
556 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
557 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
558 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
559 587, 587, 587, 587, 585, 585, 585, 585, 587, 587,
560 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
561 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
562 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
563 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000564
Reid Spenceraa8ae282007-07-31 03:50:36 +0000565 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
566 587, 587, 587, 210, 587, 587, 587, 587, 587, 587,
567 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
568 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
569 587, 587, 587, 587, 587, 587, 585, 587, 587, 587,
570 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
571 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
572 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
573 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
574 587, 587, 585, 585, 587, 587, 587, 587, 587, 587,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000575
Reid Spenceraa8ae282007-07-31 03:50:36 +0000576 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
577 587, 587, 587, 587, 585, 585, 587, 587, 587, 587,
578 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
579 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
580 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
581 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
582 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
583 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
584 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
585 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000586
Reid Spenceraa8ae282007-07-31 03:50:36 +0000587 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
588 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
589 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
590 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
591 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
592 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
593 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
594 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
595 587, 587, 587, 587, 0, 585, 585, 585, 585, 585,
596 585, 585, 585, 585
597
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000598 } ;
599
Reid Spencer51dbabe2007-07-31 03:55:56 +0000600static yyconst short int yy_nxt[1318] =
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000601 { 0,
602 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
603 14, 14, 14, 4, 15, 16, 8, 8, 8, 17,
604 18, 19, 20, 21, 22, 23, 24, 25, 8, 26,
605 27, 28, 29, 30, 8, 31, 32, 33, 34, 35,
606 36, 37, 8, 38, 43, 46, 46, 46, 46, 42,
607 45, 45, 45, 45, 47, 47, 47, 47, 42, 48,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000608 393, 394, 42, 83, 42, 49, 50, 50, 50, 50,
609 42, 49, 50, 50, 50, 50, 42, 53, 158, 42,
610 42, 42, 42, 55, 55, 55, 55, 65, 56, 66,
611 106, 42, 61, 42, 42, 57, 62, 58, 51, 59,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000612
Reid Spenceraa8ae282007-07-31 03:50:36 +0000613 67, 81, 60, 42, 63, 42, 42, 82, 42, 68,
614 166, 64, 87, 69, 42, 133, 42, 156, 132, 70,
615 88, 42, 71, 72, 135, 89, 73, 42, 42, 90,
616 42, 42, 42, 74, 42, 134, 91, 94, 186, 141,
617 75, 148, 76, 77, 42, 162, 95, 42, 152, 92,
618 78, 42, 96, 130, 79, 93, 80, 84, 84, 84,
619 84, 42, 42, 42, 103, 42, 131, 42, 147, 85,
620 42, 118, 151, 104, 155, 105, 42, 42, 119, 86,
621 42, 149, 42, 150, 120, 159, 160, 121, 161, 153,
622 97, 168, 98, 154, 122, 42, 99, 42, 100, 42,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000623
Reid Spenceraa8ae282007-07-31 03:50:36 +0000624 101, 42, 102, 107, 42, 177, 226, 42, 45, 45,
625 45, 45, 55, 55, 55, 55, 108, 109, 172, 110,
626 111, 112, 167, 113, 140, 46, 46, 46, 46, 114,
627 157, 115, 116, 42, 117, 107, 42, 42, 139, 42,
628 49, 47, 47, 47, 47, 42, 42, 173, 123, 124,
629 42, 125, 42, 126, 42, 127, 174, 128, 42, 189,
630 169, 129, 142, 142, 142, 142, 42, 180, 170, 42,
631 143, 42, 42, 179, 178, 171, 143, 49, 50, 50,
632 50, 50, 42, 144, 144, 144, 144, 42, 181, 42,
633 144, 144, 42, 144, 144, 144, 144, 144, 144, 175,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000634
Reid Spenceraa8ae282007-07-31 03:50:36 +0000635 163, 42, 42, 164, 84, 84, 84, 84, 42, 42,
636 42, 42, 165, 176, 42, 188, 42, 42, 42, 42,
637 187, 42, 194, 182, 183, 184, 190, 185, 191, 42,
638 192, 199, 42, 197, 193, 204, 42, 42, 195, 198,
639 42, 196, 201, 42, 42, 200, 203, 42, 42, 205,
640 42, 206, 42, 42, 42, 42, 202, 42, 42, 42,
641 212, 42, 207, 215, 211, 42, 208, 224, 213, 42,
642 217, 209, 227, 42, 225, 222, 210, 216, 219, 218,
643 214, 220, 42, 230, 42, 42, 42, 228, 42, 223,
644 42, 42, 42, 221, 42, 229, 231, 247, 42, 234,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000645
Reid Spenceraa8ae282007-07-31 03:50:36 +0000646 236, 239, 42, 42, 233, 42, 42, 232, 246, 235,
647 238, 241, 242, 263, 237, 240, 42, 248, 251, 249,
648 42, 243, 250, 42, 244, 42, 42, 252, 253, 245,
649 256, 256, 256, 256, 254, 264, 42, 266, 257, 42,
650 42, 42, 269, 42, 257, 142, 142, 142, 142, 42,
651 42, 267, 42, 143, 274, 273, 261, 275, 265, 143,
652 258, 259, 262, 260, 260, 260, 260, 42, 42, 42,
653 42, 42, 42, 42, 268, 271, 272, 42, 270, 278,
654 42, 276, 42, 279, 42, 277, 42, 42, 42, 42,
655 42, 42, 285, 42, 42, 280, 42, 292, 289, 42,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000656
Reid Spenceraa8ae282007-07-31 03:50:36 +0000657 281, 291, 283, 293, 282, 290, 295, 42, 287, 296,
658 284, 288, 42, 294, 42, 286, 42, 297, 42, 42,
659 42, 42, 300, 42, 42, 302, 42, 42, 42, 42,
660 42, 298, 42, 299, 301, 42, 304, 308, 42, 42,
661 303, 42, 307, 42, 310, 311, 305, 306, 309, 317,
662 42, 350, 319, 312, 42, 42, 313, 314, 314, 314,
663 314, 315, 316, 42, 314, 314, 42, 314, 314, 314,
664 314, 314, 314, 320, 318, 42, 42, 325, 326, 42,
665 42, 42, 42, 42, 321, 42, 42, 42, 42, 42,
666 344, 329, 328, 323, 322, 327, 331, 333, 42, 336,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000667
Reid Spenceraa8ae282007-07-31 03:50:36 +0000668 324, 42, 330, 42, 332, 42, 42, 335, 337, 334,
669 42, 340, 342, 42, 42, 338, 42, 42, 42, 341,
670 339, 256, 256, 256, 256, 42, 42, 366, 343, 257,
671 42, 353, 358, 345, 354, 257, 42, 425, 258, 258,
672 346, 347, 347, 347, 347, 347, 347, 347, 347, 260,
673 260, 260, 260, 42, 260, 260, 260, 260, 42, 348,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000674 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000675 42, 355, 42, 42, 42, 42, 42, 42, 349, 351,
676 352, 357, 360, 365, 359, 42, 362, 42, 356, 363,
677 42, 42, 364, 367, 42, 361, 368, 374, 369, 370,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000678
Reid Spenceraa8ae282007-07-31 03:50:36 +0000679 372, 371, 376, 373, 375, 42, 42, 42, 42, 42,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000680 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
Reid Spencer51dbabe2007-07-31 03:55:56 +0000681 415, 416, 496, 380, 42, 381, 379, 377, 378, 382,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000682 383, 384, 385, 391, 389, 390, 386, 42, 42, 388,
683 387, 393, 394, 42, 42, 392, 42, 42, 42, 395,
684 42, 400, 42, 42, 396, 42, 397, 42, 398, 42,
685 399, 402, 401, 42, 403, 404, 42, 42, 42, 42,
686 405, 42, 407, 42, 406, 42, 415, 416, 347, 347,
687 347, 347, 411, 413, 418, 408, 42, 414, 42, 42,
688 409, 42, 417, 410, 412, 42, 42, 42, 42, 420,
689
690 42, 421, 422, 42, 42, 42, 42, 42, 424, 42,
691 42, 42, 419, 430, 428, 431, 42, 42, 42, 423,
692 426, 42, 42, 427, 429, 432, 436, 434, 435, 42,
693 433, 42, 42, 42, 42, 437, 42, 42, 42, 42,
694 439, 441, 443, 444, 445, 438, 42, 449, 42, 440,
695 442, 447, 42, 42, 42, 42, 448, 42, 42, 42,
696 42, 446, 450, 42, 42, 42, 454, 42, 42, 42,
697 453, 451, 457, 459, 42, 460, 462, 452, 456, 42,
Reid Spencer51dbabe2007-07-31 03:55:56 +0000698 42, 464, 42, 461, 458, 455, 42, 42, 463, 42,
699 42, 467, 466, 42, 465, 42, 42, 42, 42, 42,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000700
Reid Spencer51dbabe2007-07-31 03:55:56 +0000701 469, 470, 468, 42, 42, 474, 42, 42, 472, 478,
702 479, 481, 484, 471, 42, 42, 476, 477, 42, 475,
703 42, 42, 473, 480, 482, 483, 486, 42, 42, 42,
704 42, 42, 42, 42, 42, 42, 42, 42, 485, 489,
705 42, 493, 42, 487, 494, 500, 42, 491, 492, 488,
706 497, 498, 490, 42, 42, 42, 495, 499, 42, 42,
707 502, 42, 42, 42, 501, 42, 504, 42, 42, 42,
708 42, 503, 42, 505, 42, 510, 42, 506, 509, 511,
709 507, 42, 515, 512, 513, 514, 508, 42, 516, 42,
710 517, 42, 42, 42, 42, 42, 42, 518, 519, 521,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000711
Reid Spencer51dbabe2007-07-31 03:55:56 +0000712 523, 42, 520, 524, 526, 42, 42, 522, 42, 42,
713 42, 42, 42, 528, 42, 42, 525, 42, 42, 527,
714 532, 536, 533, 42, 535, 537, 538, 42, 42, 534,
715 529, 541, 530, 531, 540, 42, 539, 42, 42, 42,
716 42, 542, 543, 42, 545, 42, 42, 42, 42, 546,
717 42, 42, 42, 549, 553, 551, 42, 42, 555, 42,
718 548, 544, 42, 42, 547, 42, 552, 554, 42, 42,
719 550, 556, 559, 42, 557, 561, 42, 42, 562, 558,
720 42, 563, 42, 42, 42, 42, 42, 560, 42, 564,
721 566, 42, 565, 572, 42, 42, 42, 42, 573, 42,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000722
Reid Spencer51dbabe2007-07-31 03:55:56 +0000723 568, 567, 569, 42, 570, 578, 42, 571, 575, 42,
724 42, 579, 574, 42, 42, 42, 42, 582, 577, 576,
725 583, 42, 42, 42, 42, 42, 42, 42, 42, 580,
726 581, 42, 42, 42, 42, 584, 39, 39, 39, 39,
727 39, 41, 41, 44, 44, 52, 42, 52, 52, 52,
728 54, 54, 137, 137, 137, 137, 137, 145, 145, 145,
729 145, 145, 42, 42, 42, 42, 42, 42, 42, 42,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000730 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
731 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
732 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
733
734 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
735 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000736 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
737 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
738 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
Reid Spencer51dbabe2007-07-31 03:55:56 +0000739 42, 42, 42, 42, 42, 42, 42, 42, 146, 42,
740 138, 255, 42, 42, 42, 146, 138, 42, 136, 42,
741 40, 585, 3, 585, 585, 585, 585, 585, 585, 585,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000742 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
743 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
744
745 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
Reid Spencer51dbabe2007-07-31 03:55:56 +0000746 585, 585, 585, 585, 585, 585, 585
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000747 } ;
748
Reid Spencer51dbabe2007-07-31 03:55:56 +0000749static yyconst short int yy_chk[1318] =
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000750 { 0,
751 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
752 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
753 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
754 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
755 1, 1, 1, 1, 9, 10, 10, 10, 10, 24,
756 9, 9, 9, 9, 11, 11, 11, 11, 11, 12,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000757 393, 393, 65, 24, 12, 13, 13, 13, 13, 13,
758 13, 14, 14, 14, 14, 14, 14, 16, 65, 17,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000759 31, 19, 18, 16, 16, 16, 16, 19, 17, 19,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000760 31, 23, 18, 62, 70, 17, 18, 17, 13, 17,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000761
Reid Spenceraa8ae282007-07-31 03:50:36 +0000762 19, 23, 17, 20, 18, 21, 26, 23, 36, 20,
763 70, 18, 26, 20, 38, 37, 37, 62, 36, 20,
764 26, 68, 20, 21, 38, 26, 21, 28, 59, 26,
765 27, 87, 56, 21, 22, 37, 27, 28, 87, 48,
766 22, 56, 22, 22, 48, 68, 28, 35, 59, 27,
767 22, 30, 28, 35, 22, 27, 22, 25, 25, 25,
768 25, 25, 61, 58, 30, 33, 35, 57, 594, 25,
769 67, 33, 58, 30, 61, 30, 60, 66, 33, 25,
770 29, 57, 72, 57, 33, 66, 67, 33, 67, 60,
771 29, 72, 29, 60, 33, 80, 29, 71, 29, 116,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000772
Reid Spenceraa8ae282007-07-31 03:50:36 +0000773 29, 76, 29, 32, 64, 80, 116, 32, 45, 45,
774 45, 45, 55, 55, 55, 55, 32, 32, 76, 32,
775 32, 32, 71, 32, 46, 46, 46, 46, 46, 32,
776 64, 32, 32, 77, 32, 34, 74, 78, 592, 34,
777 47, 47, 47, 47, 47, 47, 90, 77, 34, 34,
778 81, 34, 75, 34, 82, 34, 78, 34, 83, 90,
779 74, 34, 49, 49, 49, 49, 49, 83, 75, 584,
780 49, 85, 582, 82, 81, 75, 49, 50, 50, 50,
781 50, 50, 50, 51, 51, 51, 51, 51, 85, 79,
782 51, 51, 69, 51, 51, 51, 51, 51, 51, 79,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000783
Reid Spenceraa8ae282007-07-31 03:50:36 +0000784 69, 86, 88, 69, 84, 84, 84, 84, 84, 89,
785 91, 94, 69, 79, 93, 89, 95, 96, 97, 92,
786 88, 98, 95, 86, 86, 86, 91, 86, 92, 101,
787 93, 98, 99, 96, 94, 101, 100, 103, 95, 97,
788 102, 95, 99, 104, 105, 98, 100, 106, 107, 102,
789 108, 103, 109, 110, 111, 115, 99, 114, 117, 581,
790 109, 119, 104, 110, 108, 113, 105, 114, 109, 112,
791 111, 106, 117, 118, 115, 113, 107, 110, 112, 111,
792 109, 112, 121, 119, 122, 123, 126, 118, 124, 113,
793 125, 127, 130, 112, 150, 118, 121, 130, 129, 123,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000794
Reid Spenceraa8ae282007-07-31 03:50:36 +0000795 125, 127, 128, 131, 122, 134, 135, 121, 129, 124,
796 126, 128, 128, 150, 125, 127, 132, 131, 133, 131,
797 133, 128, 132, 155, 128, 152, 158, 134, 135, 128,
798 140, 140, 140, 140, 135, 152, 153, 155, 140, 163,
799 164, 165, 158, 156, 140, 142, 142, 142, 142, 142,
800 149, 156, 161, 142, 164, 163, 149, 165, 153, 142,
801 143, 143, 149, 143, 143, 143, 143, 143, 157, 160,
802 162, 166, 167, 169, 157, 161, 162, 170, 160, 167,
803 171, 166, 172, 169, 173, 166, 174, 175, 177, 176,
804 179, 178, 174, 181, 180, 169, 182, 179, 177, 183,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000805
Reid Spenceraa8ae282007-07-31 03:50:36 +0000806 170, 178, 172, 180, 171, 177, 182, 184, 176, 183,
807 173, 176, 186, 181, 185, 175, 188, 184, 189, 187,
808 190, 191, 186, 193, 204, 188, 194, 195, 197, 207,
809 196, 184, 208, 185, 187, 211, 190, 195, 212, 213,
810 189, 218, 194, 263, 197, 204, 191, 193, 196, 213,
811 214, 263, 218, 207, 227, 225, 208, 210, 210, 210,
812 210, 211, 212, 219, 210, 210, 220, 210, 210, 210,
813 210, 210, 210, 219, 214, 221, 224, 225, 227, 228,
814 229, 230, 231, 234, 220, 251, 232, 233, 238, 241,
815 251, 230, 229, 224, 221, 228, 232, 233, 244, 241,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000816
Reid Spenceraa8ae282007-07-31 03:50:36 +0000817 224, 245, 231, 246, 232, 247, 249, 238, 244, 234,
818 248, 247, 249, 250, 253, 245, 254, 281, 268, 248,
819 246, 256, 256, 256, 256, 267, 273, 281, 250, 256,
820 360, 267, 273, 253, 268, 256, 261, 360, 257, 257,
821 254, 257, 257, 257, 257, 258, 258, 258, 258, 259,
822 259, 259, 259, 259, 260, 260, 260, 260, 260, 261,
823 262, 264, 266, 270, 271, 272, 274, 276, 275, 277,
824 279, 270, 285, 278, 286, 288, 287, 280, 262, 264,
825 266, 272, 275, 280, 274, 282, 277, 291, 271, 278,
826 295, 292, 279, 282, 293, 276, 285, 292, 286, 287,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000827
Reid Spenceraa8ae282007-07-31 03:50:36 +0000828 288, 287, 295, 291, 293, 296, 297, 298, 299, 300,
829 301, 304, 308, 309, 311, 305, 313, 459, 307, 316,
Reid Spencer51dbabe2007-07-31 03:55:56 +0000830 415, 415, 459, 299, 312, 300, 298, 296, 297, 301,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000831 304, 305, 307, 316, 312, 313, 308, 317, 319, 311,
832 309, 318, 318, 326, 320, 317, 321, 322, 330, 319,
833 325, 326, 328, 318, 320, 329, 321, 332, 322, 335,
834 325, 329, 328, 336, 330, 332, 337, 338, 340, 342,
835 335, 344, 337, 345, 336, 351, 346, 346, 347, 347,
836 347, 347, 344, 345, 351, 338, 350, 345, 346, 353,
837 340, 355, 350, 342, 344, 356, 357, 358, 359, 355,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000838
Reid Spenceraa8ae282007-07-31 03:50:36 +0000839 361, 356, 357, 362, 363, 365, 364, 367, 359, 372,
840 374, 370, 353, 365, 363, 367, 371, 375, 373, 358,
841 361, 377, 378, 362, 364, 370, 374, 372, 373, 379,
842 371, 380, 382, 384, 383, 375, 386, 387, 385, 389,
843 378, 380, 383, 384, 385, 377, 388, 389, 390, 379,
844 382, 387, 391, 392, 395, 396, 388, 397, 398, 400,
845 401, 386, 390, 405, 402, 403, 396, 412, 407, 409,
846 395, 391, 400, 402, 413, 403, 407, 392, 398, 408,
Reid Spencer51dbabe2007-07-31 03:55:56 +0000847 410, 409, 414, 405, 401, 397, 411, 418, 408, 419,
848 421, 412, 411, 422, 410, 423, 425, 426, 427, 430,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000849
Reid Spencer51dbabe2007-07-31 03:55:56 +0000850 414, 418, 413, 434, 429, 423, 439, 435, 421, 429,
851 429, 434, 439, 419, 440, 438, 426, 427, 442, 425,
852 445, 447, 422, 430, 435, 438, 442, 446, 449, 450,
853 451, 453, 455, 454, 466, 465, 467, 462, 440, 447,
854 468, 453, 472, 445, 454, 467, 469, 450, 451, 446,
855 462, 465, 449, 470, 473, 476, 455, 466, 477, 478,
856 469, 579, 479, 485, 468, 480, 472, 483, 484, 482,
857 488, 470, 486, 473, 491, 480, 493, 476, 479, 482,
858 477, 489, 486, 483, 484, 485, 478, 490, 488, 494,
859 489, 496, 499, 498, 497, 502, 500, 490, 491, 494,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000860
Reid Spencer51dbabe2007-07-31 03:55:56 +0000861 497, 503, 493, 498, 500, 505, 510, 496, 506, 507,
862 508, 511, 518, 503, 512, 520, 499, 522, 521, 502,
863 508, 518, 510, 525, 512, 520, 521, 523, 527, 511,
864 505, 525, 506, 507, 523, 526, 522, 529, 532, 533,
865 534, 526, 527, 535, 532, 537, 538, 539, 541, 533,
866 540, 542, 543, 537, 541, 539, 545, 546, 543, 547,
867 535, 529, 548, 549, 534, 553, 540, 542, 552, 551,
868 538, 545, 548, 554, 546, 551, 555, 558, 552, 547,
869 557, 553, 559, 560, 565, 564, 567, 549, 561, 554,
870 557, 563, 555, 564, 566, 568, 569, 571, 565, 573,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000871
Reid Spencer51dbabe2007-07-31 03:55:56 +0000872 559, 558, 560, 572, 561, 571, 574, 563, 567, 578,
873 580, 572, 566, 583, 577, 576, 575, 578, 569, 568,
874 580, 570, 562, 556, 550, 544, 536, 531, 530, 573,
875 574, 528, 524, 519, 517, 583, 586, 586, 586, 586,
876 586, 587, 587, 588, 588, 589, 516, 589, 589, 589,
877 590, 590, 591, 591, 591, 591, 591, 593, 593, 593,
878 593, 593, 515, 514, 513, 509, 504, 501, 495, 492,
879 487, 481, 475, 474, 471, 464, 463, 461, 460, 458,
880 457, 456, 452, 448, 444, 443, 441, 437, 436, 433,
881 432, 431, 428, 424, 420, 417, 406, 404, 399, 381,
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000882
Reid Spencer51dbabe2007-07-31 03:55:56 +0000883 376, 369, 368, 366, 354, 352, 349, 348, 343, 341,
884 339, 334, 333, 331, 327, 324, 323, 315, 310, 306,
885 303, 302, 294, 290, 289, 284, 283, 269, 265, 252,
886 243, 242, 240, 239, 237, 236, 235, 226, 223, 222,
887 217, 216, 215, 209, 206, 205, 203, 202, 201, 200,
888 199, 198, 192, 168, 159, 154, 151, 148, 145, 141,
889 137, 136, 120, 73, 63, 53, 43, 41, 39, 8,
890 7, 3, 585, 585, 585, 585, 585, 585, 585, 585,
Reid Spenceraa8ae282007-07-31 03:50:36 +0000891 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
892 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
893
894 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
Reid Spencer51dbabe2007-07-31 03:55:56 +0000895 585, 585, 585, 585, 585, 585, 585
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000896 } ;
897
898static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
899static char *yy_full_match;
900static int yy_lp;
901#define REJECT \
902{ \
903*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
904yy_cp = yy_full_match; /* restore poss. backed-over text */ \
905++yy_lp; \
906goto find_rule; \
907}
908#define yymore() yymore_used_but_not_detected
909#define YY_MORE_ADJ 0
910#define YY_RESTORE_YY_MORE_OFFSET
911char *yytext;
Reid Spenceraa8ae282007-07-31 03:50:36 +0000912#line 1 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000913#define INITIAL 0
914/*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
915//
916// The LLVM Compiler Infrastructure
917//
918// This file was developed by the LLVM research group and is distributed under
919// the University of Illinois Open Source License. See LICENSE.TXT for details.
920//
921//===----------------------------------------------------------------------===//
922//
923// This file implements the flex scanner for LLVM assembly languages files.
924//
925//===----------------------------------------------------------------------===*/
926#define YY_NEVER_INTERACTIVE 1
Reid Spenceraa8ae282007-07-31 03:50:36 +0000927#line 28 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000928#include "ParserInternals.h"
929#include "llvm/Module.h"
930#include "llvm/Support/MathExtras.h"
931#include <list>
932#include "llvmAsmParser.h"
933#include <cctype>
934#include <cstdlib>
935
936void set_scan_file(FILE * F){
937 yy_switch_to_buffer(yy_create_buffer( F, YY_BUF_SIZE ) );
938}
939void set_scan_string (const char * str) {
940 yy_scan_string (str);
941}
942
943// Construct a token value for a non-obsolete token
944#define RET_TOK(type, Enum, sym) \
945 llvmAsmlval.type = Instruction::Enum; \
946 return sym
947
948// Construct a token value for an obsolete token
949#define RET_TY(CTYPE, SYM) \
950 llvmAsmlval.PrimType = CTYPE;\
951 return SYM
952
953namespace llvm {
954
955// TODO: All of the static identifiers are figured out by the lexer,
956// these should be hashed to reduce the lexer size
957
958
959// atoull - Convert an ascii string of decimal digits into the unsigned long
960// long representation... this does not have to do input error checking,
961// because we know that the input will be matched by a suitable regex...
962//
963static uint64_t atoull(const char *Buffer) {
964 uint64_t Result = 0;
965 for (; *Buffer; Buffer++) {
966 uint64_t OldRes = Result;
967 Result *= 10;
968 Result += *Buffer-'0';
969 if (Result < OldRes) // Uh, oh, overflow detected!!!
970 GenerateError("constant bigger than 64 bits detected!");
971 }
972 return Result;
973}
974
975static uint64_t HexIntToVal(const char *Buffer) {
976 uint64_t Result = 0;
977 for (; *Buffer; ++Buffer) {
978 uint64_t OldRes = Result;
979 Result *= 16;
980 char C = *Buffer;
981 if (C >= '0' && C <= '9')
982 Result += C-'0';
983 else if (C >= 'A' && C <= 'F')
984 Result += C-'A'+10;
985 else if (C >= 'a' && C <= 'f')
986 Result += C-'a'+10;
987
988 if (Result < OldRes) // Uh, oh, overflow detected!!!
989 GenerateError("constant bigger than 64 bits detected!");
990 }
991 return Result;
992}
993
994
995// HexToFP - Convert the ascii string in hexidecimal format to the floating
996// point representation of it.
997//
998static double HexToFP(const char *Buffer) {
999 return BitsToDouble(HexIntToVal(Buffer)); // Cast Hex constant to double
1000}
1001
1002
1003// UnEscapeLexed - Run through the specified buffer and change \xx codes to the
1004// appropriate character.
1005char *UnEscapeLexed(char *Buffer, char* EndBuffer) {
1006 char *BOut = Buffer;
1007 for (char *BIn = Buffer; *BIn; ) {
1008 if (BIn[0] == '\\') {
1009 if (BIn < EndBuffer-1 && BIn[1] == '\\') {
1010 *BOut++ = '\\'; // Two \ becomes one
1011 BIn += 2;
1012 } else if (BIn < EndBuffer-2 && isxdigit(BIn[1]) && isxdigit(BIn[2])) {
1013 char Tmp = BIn[3]; BIn[3] = 0; // Terminate string
1014 *BOut = (char)strtol(BIn+1, 0, 16); // Convert to number
1015 BIn[3] = Tmp; // Restore character
1016 BIn += 3; // Skip over handled chars
1017 ++BOut;
1018 } else {
1019 *BOut++ = *BIn++;
1020 }
1021 } else {
1022 *BOut++ = *BIn++;
1023 }
1024 }
1025 return BOut;
1026}
1027
1028} // End llvm namespace
1029
1030using namespace llvm;
1031
1032#define YY_NEVER_INTERACTIVE 1
1033/* Comments start with a ; and go till end of line */
1034/* Local Values and Type identifiers start with a % sign */
1035/* Global Value identifiers start with an @ sign */
1036/* Label identifiers end with a colon */
1037/* Quoted names can contain any character except " and \ */
1038/* LocalVarID/GlobalVarID: match an unnamed local variable slot ID. */
1039/* Integer types are specified with i and a bitwidth */
1040/* E[PN]Integer: match positive and negative literal integer values. */
1041/* FPConstant - A Floating point constant.
1042 */
1043/* HexFPConstant - Floating point constant represented in IEEE format as a
1044 * hexadecimal number for when exponential notation is not precise enough.
1045 */
1046/* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
1047 * it to deal with 64 bit numbers.
1048 */
Reid Spencer51dbabe2007-07-31 03:55:56 +00001049/* WSNL - shorthand for whitespace followed by newline */
1050#line 1051 "Lexer.cpp"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001051
1052/* Macros after this point can all be overridden by user definitions in
1053 * section 1.
1054 */
1055
1056#ifndef YY_SKIP_YYWRAP
1057#ifdef __cplusplus
1058extern "C" int yywrap YY_PROTO(( void ));
1059#else
1060extern int yywrap YY_PROTO(( void ));
1061#endif
1062#endif
1063
1064#ifndef YY_NO_UNPUT
1065static inline void yyunput YY_PROTO(( int c, char *buf_ptr ));
1066#endif
1067
1068#ifndef yytext_ptr
1069static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
1070#endif
1071
1072#ifdef YY_NEED_STRLEN
1073static int yy_flex_strlen YY_PROTO(( yyconst char * ));
1074#endif
1075
1076#ifndef YY_NO_INPUT
1077#ifdef __cplusplus
1078static int yyinput YY_PROTO(( void ));
1079#else
1080static int input YY_PROTO(( void ));
1081#endif
1082#endif
1083
1084#if YY_STACK_USED
1085static int yy_start_stack_ptr = 0;
1086static int yy_start_stack_depth = 0;
1087static int *yy_start_stack = 0;
1088#ifndef YY_NO_PUSH_STATE
1089static void yy_push_state YY_PROTO(( int new_state ));
1090#endif
1091#ifndef YY_NO_POP_STATE
1092static void yy_pop_state YY_PROTO(( void ));
1093#endif
1094#ifndef YY_NO_TOP_STATE
1095static int yy_top_state YY_PROTO(( void ));
1096#endif
1097
1098#else
1099#define YY_NO_PUSH_STATE 1
1100#define YY_NO_POP_STATE 1
1101#define YY_NO_TOP_STATE 1
1102#endif
1103
1104#ifdef YY_MALLOC_DECL
1105YY_MALLOC_DECL
1106#else
1107#if __STDC__
1108#ifndef __cplusplus
1109#include <stdlib.h>
1110#endif
1111#else
1112/* Just try to get by without declaring the routines. This will fail
1113 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1114 * or sizeof(void*) != sizeof(int).
1115 */
1116#endif
1117#endif
1118
1119/* Amount of stuff to slurp up with each read. */
1120#ifndef YY_READ_BUF_SIZE
1121#define YY_READ_BUF_SIZE 8192
1122#endif
1123
1124/* Copy whatever the last rule matched to the standard output. */
1125
1126#ifndef ECHO
1127/* This used to be an fputs(), but since the string might contain NUL's,
1128 * we now use fwrite().
1129 */
1130#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
1131#endif
1132
1133/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1134 * is returned in "result".
1135 */
1136#ifndef YY_INPUT
1137#define YY_INPUT(buf,result,max_size) \
1138 if ( yy_current_buffer->yy_is_interactive ) \
1139 { \
1140 int c = '*', n; \
1141 for ( n = 0; n < max_size && \
1142 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1143 buf[n] = (char) c; \
1144 if ( c == '\n' ) \
1145 buf[n++] = (char) c; \
1146 if ( c == EOF && ferror( yyin ) ) \
1147 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1148 result = n; \
1149 } \
1150 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1151 && ferror( yyin ) ) \
1152 YY_FATAL_ERROR( "input in flex scanner failed" );
1153#endif
1154
1155/* No semi-colon after return; correct usage is to write "yyterminate();" -
1156 * we don't want an extra ';' after the "return" because that will cause
1157 * some compilers to complain about unreachable statements.
1158 */
1159#ifndef yyterminate
1160#define yyterminate() return YY_NULL
1161#endif
1162
1163/* Number of entries by which start-condition stack grows. */
1164#ifndef YY_START_STACK_INCR
1165#define YY_START_STACK_INCR 25
1166#endif
1167
1168/* Report a fatal error. */
1169#ifndef YY_FATAL_ERROR
1170#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1171#endif
1172
1173/* Default declaration of generated scanner - a define so the user can
1174 * easily add parameters.
1175 */
1176#ifndef YY_DECL
1177#define YY_DECL int yylex YY_PROTO(( void ))
1178#endif
1179
1180/* Code executed at the beginning of each rule, after yytext and yyleng
1181 * have been set up.
1182 */
1183#ifndef YY_USER_ACTION
1184#define YY_USER_ACTION
1185#endif
1186
1187/* Code executed at the end of each rule. */
1188#ifndef YY_BREAK
1189#define YY_BREAK break;
1190#endif
1191
1192#define YY_RULE_SETUP \
1193 YY_USER_ACTION
1194
1195YY_DECL
1196 {
1197 register yy_state_type yy_current_state;
Reid Spenceraa8ae282007-07-31 03:50:36 +00001198 register char *yy_cp = NULL, *yy_bp = NULL;
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001199 register int yy_act;
1200
Reid Spenceraa8ae282007-07-31 03:50:36 +00001201#line 182 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001202
1203
Reid Spencer51dbabe2007-07-31 03:55:56 +00001204#line 1205 "Lexer.cpp"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001205
1206 if ( yy_init )
1207 {
1208 yy_init = 0;
1209
1210#ifdef YY_USER_INIT
1211 YY_USER_INIT;
1212#endif
1213
1214 if ( ! yy_start )
1215 yy_start = 1; /* first start state */
1216
1217 if ( ! yyin )
1218 yyin = stdin;
1219
1220 if ( ! yyout )
1221 yyout = stdout;
1222
1223 if ( ! yy_current_buffer )
1224 yy_current_buffer =
1225 yy_create_buffer( yyin, YY_BUF_SIZE );
1226
1227 yy_load_buffer_state();
1228 }
1229
1230 while ( 1 ) /* loops until end-of-file is reached */
1231 {
1232 yy_cp = yy_c_buf_p;
1233
1234 /* Support of yytext. */
1235 *yy_cp = yy_hold_char;
1236
1237 /* yy_bp points to the position in yy_ch_buf of the start of
1238 * the current run.
1239 */
1240 yy_bp = yy_cp;
1241
1242 yy_current_state = yy_start;
1243 yy_state_ptr = yy_state_buf;
1244 *yy_state_ptr++ = yy_current_state;
1245yy_match:
1246 do
1247 {
1248 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1249 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1250 {
1251 yy_current_state = (int) yy_def[yy_current_state];
Reid Spenceraa8ae282007-07-31 03:50:36 +00001252 if ( yy_current_state >= 586 )
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001253 yy_c = yy_meta[(unsigned int) yy_c];
1254 }
1255 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1256 *yy_state_ptr++ = yy_current_state;
1257 ++yy_cp;
1258 }
Reid Spenceraa8ae282007-07-31 03:50:36 +00001259 while ( yy_current_state != 585 );
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001260
1261yy_find_action:
1262 yy_current_state = *--yy_state_ptr;
1263 yy_lp = yy_accept[yy_current_state];
1264find_rule: /* we branch to this label when backing up */
1265 for ( ; ; ) /* until we find what rule we matched */
1266 {
1267 if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
1268 {
1269 yy_act = yy_acclist[yy_lp];
1270 {
1271 yy_full_match = yy_cp;
1272 break;
1273 }
1274 }
1275 --yy_cp;
1276 yy_current_state = *--yy_state_ptr;
1277 yy_lp = yy_accept[yy_current_state];
1278 }
1279
1280 YY_DO_BEFORE_ACTION;
1281
1282 if ( yy_act != YY_END_OF_BUFFER )
1283 {
1284 int yyl;
1285 for ( yyl = 0; yyl < yyleng; ++yyl )
1286 if ( yytext[yyl] == '\n' )
1287 ++yylineno;
1288 }
1289
1290do_action: /* This label is used only to access EOF actions. */
1291
1292
1293 switch ( yy_act )
1294 { /* beginning of action switch */
1295case 1:
1296YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001297#line 184 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001298{ /* Ignore comments for now */ }
1299 YY_BREAK
1300case 2:
1301YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001302#line 186 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001303{ return BEGINTOK; }
1304 YY_BREAK
1305case 3:
1306YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001307#line 187 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001308{ return ENDTOK; }
1309 YY_BREAK
1310case 4:
1311YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001312#line 188 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001313{ return TRUETOK; }
1314 YY_BREAK
1315case 5:
1316YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001317#line 189 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001318{ return FALSETOK; }
1319 YY_BREAK
1320case 6:
1321YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001322#line 190 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001323{ return DECLARE; }
1324 YY_BREAK
1325case 7:
1326YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001327#line 191 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001328{ return DEFINE; }
1329 YY_BREAK
1330case 8:
1331YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001332#line 192 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001333{ return GLOBAL; }
1334 YY_BREAK
1335case 9:
1336YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001337#line 193 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001338{ return CONSTANT; }
1339 YY_BREAK
1340case 10:
1341YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001342#line 194 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001343{ return INTERNAL; }
1344 YY_BREAK
1345case 11:
1346YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001347#line 195 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001348{ return LINKONCE; }
1349 YY_BREAK
1350case 12:
1351YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001352#line 196 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001353{ return WEAK; }
1354 YY_BREAK
1355case 13:
1356YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001357#line 197 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001358{ return APPENDING; }
1359 YY_BREAK
1360case 14:
1361YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001362#line 198 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001363{ return DLLIMPORT; }
1364 YY_BREAK
1365case 15:
1366YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001367#line 199 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001368{ return DLLEXPORT; }
1369 YY_BREAK
1370case 16:
1371YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001372#line 200 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001373{ return HIDDEN; }
1374 YY_BREAK
1375case 17:
1376YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001377#line 201 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001378{ return PROTECTED; }
1379 YY_BREAK
1380case 18:
1381YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001382#line 202 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001383{ return EXTERN_WEAK; }
1384 YY_BREAK
1385case 19:
1386YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001387#line 203 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001388{ return EXTERNAL; }
1389 YY_BREAK
1390case 20:
1391YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001392#line 204 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001393{ return THREAD_LOCAL; }
1394 YY_BREAK
1395case 21:
1396YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001397#line 205 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001398{ return ZEROINITIALIZER; }
1399 YY_BREAK
1400case 22:
1401YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001402#line 206 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001403{ return DOTDOTDOT; }
1404 YY_BREAK
1405case 23:
1406YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001407#line 207 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001408{ return UNDEF; }
1409 YY_BREAK
1410case 24:
1411YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001412#line 208 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001413{ return NULL_TOK; }
1414 YY_BREAK
1415case 25:
1416YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001417#line 209 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001418{ return TO; }
1419 YY_BREAK
1420case 26:
1421YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001422#line 210 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001423{ return TAIL; }
1424 YY_BREAK
1425case 27:
1426YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001427#line 211 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001428{ return TARGET; }
1429 YY_BREAK
1430case 28:
1431YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001432#line 212 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001433{ return TRIPLE; }
1434 YY_BREAK
1435case 29:
1436YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001437#line 213 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001438{ return DEPLIBS; }
1439 YY_BREAK
1440case 30:
1441YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001442#line 214 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001443{ return DATALAYOUT; }
1444 YY_BREAK
1445case 31:
1446YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001447#line 215 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001448{ return VOLATILE; }
1449 YY_BREAK
1450case 32:
1451YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001452#line 216 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001453{ return ALIGN; }
1454 YY_BREAK
1455case 33:
1456YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001457#line 217 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001458{ return SECTION; }
1459 YY_BREAK
1460case 34:
1461YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001462#line 218 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001463{ return ALIAS; }
1464 YY_BREAK
1465case 35:
1466YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001467#line 219 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001468{ return MODULE; }
1469 YY_BREAK
1470case 36:
1471YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001472#line 220 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001473{ return ASM_TOK; }
1474 YY_BREAK
1475case 37:
1476YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001477#line 221 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001478{ return SIDEEFFECT; }
1479 YY_BREAK
1480case 38:
1481YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001482#line 223 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001483{ return CC_TOK; }
1484 YY_BREAK
1485case 39:
1486YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001487#line 224 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001488{ return CCC_TOK; }
1489 YY_BREAK
1490case 40:
1491YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001492#line 225 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001493{ return FASTCC_TOK; }
1494 YY_BREAK
1495case 41:
1496YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001497#line 226 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001498{ return COLDCC_TOK; }
1499 YY_BREAK
1500case 42:
1501YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001502#line 227 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001503{ return X86_STDCALLCC_TOK; }
1504 YY_BREAK
1505case 43:
1506YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001507#line 228 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001508{ return X86_FASTCALLCC_TOK; }
1509 YY_BREAK
1510case 44:
1511YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001512#line 230 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1513{ return SIGNEXT; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001514 YY_BREAK
1515case 45:
1516YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001517#line 231 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1518{ return ZEROEXT; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001519 YY_BREAK
1520case 46:
1521YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001522#line 232 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1523{ return INREG; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001524 YY_BREAK
1525case 47:
1526YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001527#line 233 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1528{ return SRET; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001529 YY_BREAK
1530case 48:
1531YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001532#line 234 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1533{ return NOUNWIND; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001534 YY_BREAK
1535case 49:
1536YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001537#line 235 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1538{ return NORETURN; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001539 YY_BREAK
1540case 50:
1541YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001542#line 236 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1543{ return NOALIAS; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001544 YY_BREAK
1545case 51:
1546YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001547#line 237 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1548{ return BYVAL; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001549 YY_BREAK
1550case 52:
1551YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001552#line 238 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1553{ return NEST; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001554 YY_BREAK
1555case 53:
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
Reid Spenceraa8ae282007-07-31 03:50:36 +00001560#line 239 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1561{ // For auto-upgrade only, drop in LLVM 3.0
1562 return SIGNEXT; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001563 YY_BREAK
1564case 54:
Reid Spenceraa8ae282007-07-31 03:50:36 +00001565*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
1566yy_c_buf_p = yy_cp -= 1;
1567YY_DO_BEFORE_ACTION; /* set up yytext again */
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001568YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001569#line 241 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1570{ // For auto-upgrade only, drop in LLVM 3.0
1571 return ZEROEXT; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001572 YY_BREAK
1573case 55:
1574YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001575#line 244 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1576{ RET_TY(Type::VoidTy, VOID); }
1577 YY_BREAK
1578case 56:
1579YY_RULE_SETUP
1580#line 245 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1581{ RET_TY(Type::FloatTy, FLOAT); }
1582 YY_BREAK
1583case 57:
1584YY_RULE_SETUP
1585#line 246 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1586{ RET_TY(Type::DoubleTy,DOUBLE);}
1587 YY_BREAK
1588case 58:
1589YY_RULE_SETUP
1590#line 247 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1591{ RET_TY(Type::LabelTy, LABEL); }
1592 YY_BREAK
1593case 59:
1594YY_RULE_SETUP
1595#line 248 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1596{ return TYPE; }
1597 YY_BREAK
1598case 60:
1599YY_RULE_SETUP
1600#line 249 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1601{ return OPAQUE; }
1602 YY_BREAK
1603case 61:
1604YY_RULE_SETUP
1605#line 250 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001606{ uint64_t NumBits = atoull(yytext+1);
1607 if (NumBits < IntegerType::MIN_INT_BITS ||
1608 NumBits > IntegerType::MAX_INT_BITS)
1609 GenerateError("Bitwidth for integer type out of range!");
1610 const Type* Ty = IntegerType::get(NumBits);
1611 RET_TY(Ty, INTTYPE);
1612 }
1613 YY_BREAK
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001614case 62:
1615YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001616#line 258 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1617{ RET_TOK(BinaryOpVal, Add, ADD); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001618 YY_BREAK
1619case 63:
1620YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001621#line 259 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1622{ RET_TOK(BinaryOpVal, Sub, SUB); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001623 YY_BREAK
1624case 64:
1625YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001626#line 260 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1627{ RET_TOK(BinaryOpVal, Mul, MUL); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001628 YY_BREAK
1629case 65:
1630YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001631#line 261 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1632{ RET_TOK(BinaryOpVal, UDiv, UDIV); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001633 YY_BREAK
1634case 66:
1635YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001636#line 262 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1637{ RET_TOK(BinaryOpVal, SDiv, SDIV); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001638 YY_BREAK
1639case 67:
1640YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001641#line 263 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1642{ RET_TOK(BinaryOpVal, FDiv, FDIV); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001643 YY_BREAK
1644case 68:
1645YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001646#line 264 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1647{ RET_TOK(BinaryOpVal, URem, UREM); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001648 YY_BREAK
1649case 69:
1650YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001651#line 265 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1652{ RET_TOK(BinaryOpVal, SRem, SREM); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001653 YY_BREAK
1654case 70:
1655YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001656#line 266 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1657{ RET_TOK(BinaryOpVal, FRem, FREM); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001658 YY_BREAK
1659case 71:
1660YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001661#line 267 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1662{ RET_TOK(BinaryOpVal, Shl, SHL); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001663 YY_BREAK
1664case 72:
1665YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001666#line 268 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1667{ RET_TOK(BinaryOpVal, LShr, LSHR); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001668 YY_BREAK
1669case 73:
1670YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001671#line 269 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1672{ RET_TOK(BinaryOpVal, AShr, ASHR); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001673 YY_BREAK
1674case 74:
1675YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001676#line 270 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1677{ RET_TOK(BinaryOpVal, And, AND); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001678 YY_BREAK
1679case 75:
1680YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001681#line 271 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1682{ RET_TOK(BinaryOpVal, Or , OR ); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001683 YY_BREAK
1684case 76:
1685YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001686#line 272 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1687{ RET_TOK(BinaryOpVal, Xor, XOR); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001688 YY_BREAK
1689case 77:
1690YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001691#line 273 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1692{ RET_TOK(OtherOpVal, ICmp, ICMP); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001693 YY_BREAK
1694case 78:
1695YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001696#line 274 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1697{ RET_TOK(OtherOpVal, FCmp, FCMP); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001698 YY_BREAK
1699case 79:
1700YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001701#line 276 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1702{ return EQ; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001703 YY_BREAK
1704case 80:
1705YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001706#line 277 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1707{ return NE; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001708 YY_BREAK
1709case 81:
1710YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001711#line 278 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1712{ return SLT; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001713 YY_BREAK
1714case 82:
1715YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001716#line 279 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1717{ return SGT; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001718 YY_BREAK
1719case 83:
1720YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001721#line 280 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1722{ return SLE; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001723 YY_BREAK
1724case 84:
1725YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001726#line 281 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1727{ return SGE; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001728 YY_BREAK
1729case 85:
1730YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001731#line 282 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1732{ return ULT; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001733 YY_BREAK
1734case 86:
1735YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001736#line 283 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1737{ return UGT; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001738 YY_BREAK
1739case 87:
1740YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001741#line 284 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1742{ return ULE; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001743 YY_BREAK
1744case 88:
1745YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001746#line 285 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1747{ return UGE; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001748 YY_BREAK
1749case 89:
1750YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001751#line 286 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1752{ return OEQ; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001753 YY_BREAK
1754case 90:
1755YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001756#line 287 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1757{ return ONE; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001758 YY_BREAK
1759case 91:
1760YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001761#line 288 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1762{ return OLT; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001763 YY_BREAK
1764case 92:
1765YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001766#line 289 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1767{ return OGT; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001768 YY_BREAK
1769case 93:
1770YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001771#line 290 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1772{ return OLE; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001773 YY_BREAK
1774case 94:
1775YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001776#line 291 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1777{ return OGE; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001778 YY_BREAK
1779case 95:
1780YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001781#line 292 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1782{ return ORD; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001783 YY_BREAK
1784case 96:
1785YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001786#line 293 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1787{ return UNO; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001788 YY_BREAK
1789case 97:
1790YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001791#line 294 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1792{ return UEQ; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001793 YY_BREAK
1794case 98:
1795YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001796#line 295 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1797{ return UNE; }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001798 YY_BREAK
1799case 99:
1800YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001801#line 297 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1802{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001803 YY_BREAK
1804case 100:
1805YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001806#line 298 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1807{ RET_TOK(OtherOpVal, Call, CALL); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001808 YY_BREAK
1809case 101:
1810YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001811#line 299 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1812{ RET_TOK(CastOpVal, Trunc, TRUNC); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001813 YY_BREAK
1814case 102:
1815YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001816#line 300 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1817{ RET_TOK(CastOpVal, ZExt, ZEXT); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001818 YY_BREAK
1819case 103:
1820YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001821#line 301 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1822{ RET_TOK(CastOpVal, SExt, SEXT); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001823 YY_BREAK
1824case 104:
1825YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001826#line 302 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1827{ RET_TOK(CastOpVal, FPTrunc, FPTRUNC); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001828 YY_BREAK
1829case 105:
1830YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001831#line 303 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1832{ RET_TOK(CastOpVal, FPExt, FPEXT); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001833 YY_BREAK
1834case 106:
1835YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001836#line 304 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1837{ RET_TOK(CastOpVal, UIToFP, UITOFP); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001838 YY_BREAK
1839case 107:
1840YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001841#line 305 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1842{ RET_TOK(CastOpVal, SIToFP, SITOFP); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001843 YY_BREAK
1844case 108:
1845YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001846#line 306 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1847{ RET_TOK(CastOpVal, FPToUI, FPTOUI); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001848 YY_BREAK
1849case 109:
1850YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001851#line 307 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1852{ RET_TOK(CastOpVal, FPToSI, FPTOSI); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001853 YY_BREAK
1854case 110:
1855YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001856#line 308 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1857{ RET_TOK(CastOpVal, IntToPtr, INTTOPTR); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001858 YY_BREAK
1859case 111:
1860YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001861#line 309 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1862{ RET_TOK(CastOpVal, PtrToInt, PTRTOINT); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001863 YY_BREAK
1864case 112:
1865YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001866#line 310 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1867{ RET_TOK(CastOpVal, BitCast, BITCAST); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001868 YY_BREAK
1869case 113:
1870YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001871#line 311 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1872{ RET_TOK(OtherOpVal, Select, SELECT); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001873 YY_BREAK
1874case 114:
1875YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001876#line 312 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1877{ RET_TOK(OtherOpVal, VAArg , VAARG); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001878 YY_BREAK
1879case 115:
1880YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001881#line 313 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1882{ RET_TOK(TermOpVal, Ret, RET); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001883 YY_BREAK
1884case 116:
1885YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001886#line 314 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1887{ RET_TOK(TermOpVal, Br, BR); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001888 YY_BREAK
1889case 117:
1890YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001891#line 315 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1892{ RET_TOK(TermOpVal, Switch, SWITCH); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001893 YY_BREAK
1894case 118:
1895YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001896#line 316 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1897{ RET_TOK(TermOpVal, Invoke, INVOKE); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001898 YY_BREAK
1899case 119:
1900YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001901#line 317 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1902{ RET_TOK(TermOpVal, Unwind, UNWIND); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001903 YY_BREAK
1904case 120:
1905YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001906#line 318 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1907{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001908 YY_BREAK
1909case 121:
1910YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001911#line 320 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1912{ RET_TOK(MemOpVal, Malloc, MALLOC); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001913 YY_BREAK
1914case 122:
1915YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001916#line 321 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1917{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001918 YY_BREAK
1919case 123:
1920YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001921#line 322 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1922{ RET_TOK(MemOpVal, Free, FREE); }
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001923 YY_BREAK
1924case 124:
1925YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001926#line 323 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1927{ RET_TOK(MemOpVal, Load, LOAD); }
1928 YY_BREAK
1929case 125:
1930YY_RULE_SETUP
1931#line 324 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1932{ RET_TOK(MemOpVal, Store, STORE); }
1933 YY_BREAK
1934case 126:
1935YY_RULE_SETUP
1936#line 325 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1937{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
1938 YY_BREAK
1939case 127:
1940YY_RULE_SETUP
1941#line 327 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1942{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
1943 YY_BREAK
1944case 128:
1945YY_RULE_SETUP
1946#line 328 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1947{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
1948 YY_BREAK
1949case 129:
1950YY_RULE_SETUP
1951#line 329 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1952{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
1953 YY_BREAK
1954case 130:
1955YY_RULE_SETUP
1956#line 332 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001957{
1958 llvmAsmlval.StrVal = new std::string(yytext+1); // Skip %
1959 return LOCALVAR;
1960 }
1961 YY_BREAK
Reid Spenceraa8ae282007-07-31 03:50:36 +00001962case 131:
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001963YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001964#line 336 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001965{
1966 llvmAsmlval.StrVal = new std::string(yytext+1); // Skip @
1967 return GLOBALVAR;
1968 }
1969 YY_BREAK
Reid Spenceraa8ae282007-07-31 03:50:36 +00001970case 132:
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001971YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001972#line 340 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001973{
1974 yytext[yyleng-1] = 0; // nuke colon
1975 llvmAsmlval.StrVal = new std::string(yytext);
1976 return LABELSTR;
1977 }
1978 YY_BREAK
Reid Spenceraa8ae282007-07-31 03:50:36 +00001979case 133:
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001980YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001981#line 345 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001982{
1983 yytext[yyleng-2] = 0; // nuke colon, end quote
1984 const char* EndChar = UnEscapeLexed(yytext+1, yytext+yyleng);
1985 llvmAsmlval.StrVal =
1986 new std::string(yytext+1, EndChar - yytext - 1);
1987 return LABELSTR;
1988 }
1989 YY_BREAK
Reid Spenceraa8ae282007-07-31 03:50:36 +00001990case 134:
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001991YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00001992#line 353 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001993{ yytext[yyleng-1] = 0; // nuke end quote
1994 const char* EndChar = UnEscapeLexed(yytext+1, yytext+yyleng);
1995 llvmAsmlval.StrVal =
1996 new std::string(yytext+1, EndChar - yytext - 1);
1997 return STRINGCONSTANT;
1998 }
1999 YY_BREAK
Reid Spenceraa8ae282007-07-31 03:50:36 +00002000case 135:
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002001YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00002002#line 359 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002003{
2004 yytext[yyleng-1] = 0; // nuke end quote
2005 const char* EndChar =
2006 UnEscapeLexed(yytext+2, yytext+yyleng);
2007 llvmAsmlval.StrVal =
2008 new std::string(yytext+2, EndChar - yytext - 2);
2009 return ATSTRINGCONSTANT;
2010 }
2011 YY_BREAK
Reid Spenceraa8ae282007-07-31 03:50:36 +00002012case 136:
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002013YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00002014#line 367 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002015{
2016 yytext[yyleng-1] = 0; // nuke end quote
2017 const char* EndChar =
2018 UnEscapeLexed(yytext+2, yytext+yyleng);
2019 llvmAsmlval.StrVal =
2020 new std::string(yytext+2, EndChar - yytext - 2);
2021 return PCTSTRINGCONSTANT;
2022 }
2023 YY_BREAK
Reid Spenceraa8ae282007-07-31 03:50:36 +00002024case 137:
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002025YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00002026#line 375 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002027{
2028 uint32_t numBits = ((yyleng * 64) / 19) + 1;
2029 APInt Tmp(numBits, yytext, yyleng, 10);
2030 uint32_t activeBits = Tmp.getActiveBits();
2031 if (activeBits > 0 && activeBits < numBits)
2032 Tmp.trunc(activeBits);
2033 if (Tmp.getBitWidth() > 64) {
2034 llvmAsmlval.APIntVal = new APInt(Tmp);
2035 return EUAPINTVAL;
2036 } else {
2037 llvmAsmlval.UInt64Val = Tmp.getZExtValue();
2038 return EUINT64VAL;
2039 }
2040 }
2041 YY_BREAK
Reid Spenceraa8ae282007-07-31 03:50:36 +00002042case 138:
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002043YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00002044#line 389 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002045{
2046 uint32_t numBits = (((yyleng-1) * 64) / 19) + 2;
2047 APInt Tmp(numBits, yytext, yyleng, 10);
2048 uint32_t minBits = Tmp.getMinSignedBits();
2049 if (minBits > 0 && minBits < numBits)
2050 Tmp.trunc(minBits);
2051 if (Tmp.getBitWidth() > 64) {
2052 llvmAsmlval.APIntVal = new APInt(Tmp);
2053 return ESAPINTVAL;
2054 } else {
2055 llvmAsmlval.SInt64Val = Tmp.getSExtValue();
2056 return ESINT64VAL;
2057 }
2058 }
2059 YY_BREAK
Reid Spenceraa8ae282007-07-31 03:50:36 +00002060case 139:
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002061YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00002062#line 404 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002063{ int len = yyleng - 3;
2064 uint32_t bits = len * 4;
2065 APInt Tmp(bits, yytext+3, len, 16);
2066 uint32_t activeBits = Tmp.getActiveBits();
2067 if (activeBits > 0 && activeBits < bits)
2068 Tmp.trunc(activeBits);
2069 if (Tmp.getBitWidth() > 64) {
2070 llvmAsmlval.APIntVal = new APInt(Tmp);
2071 return yytext[0] == 's' ? ESAPINTVAL : EUAPINTVAL;
2072 } else if (yytext[0] == 's') {
2073 llvmAsmlval.SInt64Val = Tmp.getSExtValue();
2074 return ESINT64VAL;
2075 } else {
2076 llvmAsmlval.UInt64Val = Tmp.getZExtValue();
2077 return EUINT64VAL;
2078 }
2079 }
2080 YY_BREAK
Reid Spenceraa8ae282007-07-31 03:50:36 +00002081case 140:
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002082YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00002083#line 422 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002084{
2085 uint64_t Val = atoull(yytext+1);
2086 if ((unsigned)Val != Val)
2087 GenerateError("Invalid value number (too large)!");
2088 llvmAsmlval.UIntVal = unsigned(Val);
2089 return LOCALVAL_ID;
2090 }
2091 YY_BREAK
Reid Spenceraa8ae282007-07-31 03:50:36 +00002092case 141:
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002093YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00002094#line 429 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002095{
2096 uint64_t Val = atoull(yytext+1);
2097 if ((unsigned)Val != Val)
2098 GenerateError("Invalid value number (too large)!");
2099 llvmAsmlval.UIntVal = unsigned(Val);
2100 return GLOBALVAL_ID;
2101 }
2102 YY_BREAK
Reid Spenceraa8ae282007-07-31 03:50:36 +00002103case 142:
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002104YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00002105#line 437 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002106{ llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
2107 YY_BREAK
Reid Spenceraa8ae282007-07-31 03:50:36 +00002108case 143:
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002109YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00002110#line 438 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002111{ llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
2112 YY_BREAK
2113case YY_STATE_EOF(INITIAL):
Reid Spenceraa8ae282007-07-31 03:50:36 +00002114#line 440 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002115{
2116 /* Make sure to free the internal buffers for flex when we are
2117 * done reading our input!
2118 */
2119 yy_delete_buffer(YY_CURRENT_BUFFER);
2120 return EOF;
2121 }
2122 YY_BREAK
Reid Spenceraa8ae282007-07-31 03:50:36 +00002123case 144:
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002124YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00002125#line 448 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002126{ /* Ignore whitespace */ }
2127 YY_BREAK
Reid Spenceraa8ae282007-07-31 03:50:36 +00002128case 145:
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002129YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00002130#line 449 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002131{ return yytext[0]; }
2132 YY_BREAK
Reid Spenceraa8ae282007-07-31 03:50:36 +00002133case 146:
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002134YY_RULE_SETUP
Reid Spenceraa8ae282007-07-31 03:50:36 +00002135#line 451 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002136YY_FATAL_ERROR( "flex scanner jammed" );
2137 YY_BREAK
Reid Spencer51dbabe2007-07-31 03:55:56 +00002138#line 2139 "Lexer.cpp"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002139
2140 case YY_END_OF_BUFFER:
2141 {
2142 /* Amount of text matched not including the EOB char. */
2143 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
2144
2145 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2146 *yy_cp = yy_hold_char;
2147 YY_RESTORE_YY_MORE_OFFSET
2148
2149 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
2150 {
2151 /* We're scanning a new file or input source. It's
2152 * possible that this happened because the user
2153 * just pointed yyin at a new source and called
2154 * yylex(). If so, then we have to assure
2155 * consistency between yy_current_buffer and our
2156 * globals. Here is the right place to do so, because
2157 * this is the first action (other than possibly a
2158 * back-up) that will match for the new input source.
2159 */
2160 yy_n_chars = yy_current_buffer->yy_n_chars;
2161 yy_current_buffer->yy_input_file = yyin;
2162 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
2163 }
2164
2165 /* Note that here we test for yy_c_buf_p "<=" to the position
2166 * of the first EOB in the buffer, since yy_c_buf_p will
2167 * already have been incremented past the NUL character
2168 * (since all states make transitions on EOB to the
2169 * end-of-buffer state). Contrast this with the test
2170 * in input().
2171 */
2172 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
2173 { /* This was really a NUL. */
2174 yy_state_type yy_next_state;
2175
2176 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
2177
2178 yy_current_state = yy_get_previous_state();
2179
2180 /* Okay, we're now positioned to make the NUL
2181 * transition. We couldn't have
2182 * yy_get_previous_state() go ahead and do it
2183 * for us because it doesn't know how to deal
2184 * with the possibility of jamming (and we don't
2185 * want to build jamming into it because then it
2186 * will run more slowly).
2187 */
2188
2189 yy_next_state = yy_try_NUL_trans( yy_current_state );
2190
2191 yy_bp = yytext_ptr + YY_MORE_ADJ;
2192
2193 if ( yy_next_state )
2194 {
2195 /* Consume the NUL. */
2196 yy_cp = ++yy_c_buf_p;
2197 yy_current_state = yy_next_state;
2198 goto yy_match;
2199 }
2200
2201 else
2202 {
2203 yy_cp = yy_c_buf_p;
2204 goto yy_find_action;
2205 }
2206 }
2207
2208 else switch ( yy_get_next_buffer() )
2209 {
2210 case EOB_ACT_END_OF_FILE:
2211 {
2212 yy_did_buffer_switch_on_eof = 0;
2213
2214 if ( yywrap() )
2215 {
2216 /* Note: because we've taken care in
2217 * yy_get_next_buffer() to have set up
2218 * yytext, we can now set up
2219 * yy_c_buf_p so that if some total
2220 * hoser (like flex itself) wants to
2221 * call the scanner after we return the
2222 * YY_NULL, it'll still work - another
2223 * YY_NULL will get returned.
2224 */
2225 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
2226
2227 yy_act = YY_STATE_EOF(YY_START);
2228 goto do_action;
2229 }
2230
2231 else
2232 {
2233 if ( ! yy_did_buffer_switch_on_eof )
2234 YY_NEW_FILE;
2235 }
2236 break;
2237 }
2238
2239 case EOB_ACT_CONTINUE_SCAN:
2240 yy_c_buf_p =
2241 yytext_ptr + yy_amount_of_matched_text;
2242
2243 yy_current_state = yy_get_previous_state();
2244
2245 yy_cp = yy_c_buf_p;
2246 yy_bp = yytext_ptr + YY_MORE_ADJ;
2247 goto yy_match;
2248
2249 case EOB_ACT_LAST_MATCH:
2250 yy_c_buf_p =
2251 &yy_current_buffer->yy_ch_buf[yy_n_chars];
2252
2253 yy_current_state = yy_get_previous_state();
2254
2255 yy_cp = yy_c_buf_p;
2256 yy_bp = yytext_ptr + YY_MORE_ADJ;
2257 goto yy_find_action;
2258 }
2259 break;
2260 }
2261
2262 default:
2263 YY_FATAL_ERROR(
2264 "fatal flex scanner internal error--no action found" );
2265 } /* end of action switch */
2266 } /* end of scanning one token */
2267 } /* end of yylex */
2268
2269
2270/* yy_get_next_buffer - try to read in a new buffer
2271 *
2272 * Returns a code representing an action:
2273 * EOB_ACT_LAST_MATCH -
2274 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2275 * EOB_ACT_END_OF_FILE - end of file
2276 */
2277
2278static int yy_get_next_buffer()
2279 {
2280 register char *dest = yy_current_buffer->yy_ch_buf;
2281 register char *source = yytext_ptr;
2282 register int number_to_move, i;
2283 int ret_val;
2284
2285 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
2286 YY_FATAL_ERROR(
2287 "fatal flex scanner internal error--end of buffer missed" );
2288
2289 if ( yy_current_buffer->yy_fill_buffer == 0 )
2290 { /* Don't try to fill the buffer, so this is an EOF. */
2291 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
2292 {
2293 /* We matched a single character, the EOB, so
2294 * treat this as a final EOF.
2295 */
2296 return EOB_ACT_END_OF_FILE;
2297 }
2298
2299 else
2300 {
2301 /* We matched some text prior to the EOB, first
2302 * process it.
2303 */
2304 return EOB_ACT_LAST_MATCH;
2305 }
2306 }
2307
2308 /* Try to read more data. */
2309
2310 /* First move last chars to start of buffer. */
2311 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
2312
2313 for ( i = 0; i < number_to_move; ++i )
2314 *(dest++) = *(source++);
2315
2316 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2317 /* don't do the read, it's not guaranteed to return an EOF,
2318 * just force an EOF
2319 */
2320 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
2321
2322 else
2323 {
2324 int num_to_read =
2325 yy_current_buffer->yy_buf_size - number_to_move - 1;
2326
2327 while ( num_to_read <= 0 )
2328 { /* Not enough room in the buffer - grow it. */
2329#ifdef YY_USES_REJECT
2330 YY_FATAL_ERROR(
2331"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
2332#else
2333
2334 /* just a shorter name for the current buffer */
2335 YY_BUFFER_STATE b = yy_current_buffer;
2336
2337 int yy_c_buf_p_offset =
2338 (int) (yy_c_buf_p - b->yy_ch_buf);
2339
2340 if ( b->yy_is_our_buffer )
2341 {
2342 int new_size = b->yy_buf_size * 2;
2343
2344 if ( new_size <= 0 )
2345 b->yy_buf_size += b->yy_buf_size / 8;
2346 else
2347 b->yy_buf_size *= 2;
2348
2349 b->yy_ch_buf = (char *)
2350 /* Include room in for 2 EOB chars. */
2351 yy_flex_realloc( (void *) b->yy_ch_buf,
2352 b->yy_buf_size + 2 );
2353 }
2354 else
2355 /* Can't grow it, we don't own it. */
2356 b->yy_ch_buf = 0;
2357
2358 if ( ! b->yy_ch_buf )
2359 YY_FATAL_ERROR(
2360 "fatal error - scanner input buffer overflow" );
2361
2362 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
2363
2364 num_to_read = yy_current_buffer->yy_buf_size -
2365 number_to_move - 1;
2366#endif
2367 }
2368
2369 if ( num_to_read > YY_READ_BUF_SIZE )
2370 num_to_read = YY_READ_BUF_SIZE;
2371
2372 /* Read in more data. */
2373 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
2374 yy_n_chars, num_to_read );
2375
2376 yy_current_buffer->yy_n_chars = yy_n_chars;
2377 }
2378
2379 if ( yy_n_chars == 0 )
2380 {
2381 if ( number_to_move == YY_MORE_ADJ )
2382 {
2383 ret_val = EOB_ACT_END_OF_FILE;
2384 yyrestart( yyin );
2385 }
2386
2387 else
2388 {
2389 ret_val = EOB_ACT_LAST_MATCH;
2390 yy_current_buffer->yy_buffer_status =
2391 YY_BUFFER_EOF_PENDING;
2392 }
2393 }
2394
2395 else
2396 ret_val = EOB_ACT_CONTINUE_SCAN;
2397
2398 yy_n_chars += number_to_move;
2399 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2400 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
2401
2402 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
2403
2404 return ret_val;
2405 }
2406
2407
2408/* yy_get_previous_state - get the state just before the EOB char was reached */
2409
2410static yy_state_type yy_get_previous_state()
2411 {
2412 register yy_state_type yy_current_state;
2413 register char *yy_cp;
2414
2415 yy_current_state = yy_start;
2416 yy_state_ptr = yy_state_buf;
2417 *yy_state_ptr++ = yy_current_state;
2418
2419 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
2420 {
2421 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2422 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2423 {
2424 yy_current_state = (int) yy_def[yy_current_state];
Reid Spenceraa8ae282007-07-31 03:50:36 +00002425 if ( yy_current_state >= 586 )
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002426 yy_c = yy_meta[(unsigned int) yy_c];
2427 }
2428 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2429 *yy_state_ptr++ = yy_current_state;
2430 }
2431
2432 return yy_current_state;
2433 }
2434
2435
2436/* yy_try_NUL_trans - try to make a transition on the NUL character
2437 *
2438 * synopsis
2439 * next_state = yy_try_NUL_trans( current_state );
2440 */
2441
2442#ifdef YY_USE_PROTOS
2443static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
2444#else
2445static yy_state_type yy_try_NUL_trans( yy_current_state )
2446yy_state_type yy_current_state;
2447#endif
2448 {
2449 register int yy_is_jam;
2450
2451 register YY_CHAR yy_c = 1;
2452 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2453 {
2454 yy_current_state = (int) yy_def[yy_current_state];
Reid Spenceraa8ae282007-07-31 03:50:36 +00002455 if ( yy_current_state >= 586 )
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002456 yy_c = yy_meta[(unsigned int) yy_c];
2457 }
2458 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spenceraa8ae282007-07-31 03:50:36 +00002459 yy_is_jam = (yy_current_state == 585);
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002460 if ( ! yy_is_jam )
2461 *yy_state_ptr++ = yy_current_state;
2462
2463 return yy_is_jam ? 0 : yy_current_state;
2464 }
2465
2466
2467#ifndef YY_NO_UNPUT
2468#ifdef YY_USE_PROTOS
2469static inline void yyunput( int c, register char *yy_bp )
2470#else
2471static inline void yyunput( c, yy_bp )
2472int c;
2473register char *yy_bp;
2474#endif
2475 {
2476 register char *yy_cp = yy_c_buf_p;
2477
2478 /* undo effects of setting up yytext */
2479 *yy_cp = yy_hold_char;
2480
2481 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
2482 { /* need to shift things up to make room */
2483 /* +2 for EOB chars. */
2484 register int number_to_move = yy_n_chars + 2;
2485 register char *dest = &yy_current_buffer->yy_ch_buf[
2486 yy_current_buffer->yy_buf_size + 2];
2487 register char *source =
2488 &yy_current_buffer->yy_ch_buf[number_to_move];
2489
2490 while ( source > yy_current_buffer->yy_ch_buf )
2491 *--dest = *--source;
2492
2493 yy_cp += (int) (dest - source);
2494 yy_bp += (int) (dest - source);
2495 yy_current_buffer->yy_n_chars =
2496 yy_n_chars = yy_current_buffer->yy_buf_size;
2497
2498 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
2499 YY_FATAL_ERROR( "flex scanner push-back overflow" );
2500 }
2501
2502 *--yy_cp = (char) c;
2503
2504 if ( c == '\n' )
2505 --yylineno;
2506
2507 yytext_ptr = yy_bp;
2508 yy_hold_char = *yy_cp;
2509 yy_c_buf_p = yy_cp;
2510 }
2511#endif /* ifndef YY_NO_UNPUT */
2512
2513
Reid Spenceraa8ae282007-07-31 03:50:36 +00002514#ifndef YY_NO_INPUT
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002515#ifdef __cplusplus
2516static int yyinput()
2517#else
2518static int input()
2519#endif
2520 {
2521 int c;
2522
2523 *yy_c_buf_p = yy_hold_char;
2524
2525 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
2526 {
2527 /* yy_c_buf_p now points to the character we want to return.
2528 * If this occurs *before* the EOB characters, then it's a
2529 * valid NUL; if not, then we've hit the end of the buffer.
2530 */
2531 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
2532 /* This was really a NUL. */
2533 *yy_c_buf_p = '\0';
2534
2535 else
2536 { /* need more input */
2537 int offset = yy_c_buf_p - yytext_ptr;
2538 ++yy_c_buf_p;
2539
2540 switch ( yy_get_next_buffer() )
2541 {
2542 case EOB_ACT_LAST_MATCH:
2543 /* This happens because yy_g_n_b()
2544 * sees that we've accumulated a
2545 * token and flags that we need to
2546 * try matching the token before
2547 * proceeding. But for input(),
2548 * there's no matching to consider.
2549 * So convert the EOB_ACT_LAST_MATCH
2550 * to EOB_ACT_END_OF_FILE.
2551 */
2552
2553 /* Reset buffer status. */
2554 yyrestart( yyin );
2555
2556 /* fall through */
2557
2558 case EOB_ACT_END_OF_FILE:
2559 {
2560 if ( yywrap() )
2561 return EOF;
2562
2563 if ( ! yy_did_buffer_switch_on_eof )
2564 YY_NEW_FILE;
2565#ifdef __cplusplus
2566 return yyinput();
2567#else
2568 return input();
2569#endif
2570 }
2571
2572 case EOB_ACT_CONTINUE_SCAN:
2573 yy_c_buf_p = yytext_ptr + offset;
2574 break;
2575 }
2576 }
2577 }
2578
2579 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
2580 *yy_c_buf_p = '\0'; /* preserve yytext */
2581 yy_hold_char = *++yy_c_buf_p;
2582
2583 if ( c == '\n' )
2584 ++yylineno;
2585
2586 return c;
2587 }
Reid Spenceraa8ae282007-07-31 03:50:36 +00002588#endif /* YY_NO_INPUT */
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002589
2590#ifdef YY_USE_PROTOS
2591void yyrestart( FILE *input_file )
2592#else
2593void yyrestart( input_file )
2594FILE *input_file;
2595#endif
2596 {
2597 if ( ! yy_current_buffer )
2598 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
2599
2600 yy_init_buffer( yy_current_buffer, input_file );
2601 yy_load_buffer_state();
2602 }
2603
2604
2605#ifdef YY_USE_PROTOS
2606void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
2607#else
2608void yy_switch_to_buffer( new_buffer )
2609YY_BUFFER_STATE new_buffer;
2610#endif
2611 {
2612 if ( yy_current_buffer == new_buffer )
2613 return;
2614
2615 if ( yy_current_buffer )
2616 {
2617 /* Flush out information for old buffer. */
2618 *yy_c_buf_p = yy_hold_char;
2619 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
2620 yy_current_buffer->yy_n_chars = yy_n_chars;
2621 }
2622
2623 yy_current_buffer = new_buffer;
2624 yy_load_buffer_state();
2625
2626 /* We don't actually know whether we did this switch during
2627 * EOF (yywrap()) processing, but the only time this flag
2628 * is looked at is after yywrap() is called, so it's safe
2629 * to go ahead and always set it.
2630 */
2631 yy_did_buffer_switch_on_eof = 1;
2632 }
2633
2634
2635#ifdef YY_USE_PROTOS
2636void yy_load_buffer_state( void )
2637#else
2638void yy_load_buffer_state()
2639#endif
2640 {
2641 yy_n_chars = yy_current_buffer->yy_n_chars;
2642 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
2643 yyin = yy_current_buffer->yy_input_file;
2644 yy_hold_char = *yy_c_buf_p;
2645 }
2646
2647
2648#ifdef YY_USE_PROTOS
2649YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
2650#else
2651YY_BUFFER_STATE yy_create_buffer( file, size )
2652FILE *file;
2653int size;
2654#endif
2655 {
2656 YY_BUFFER_STATE b;
2657
2658 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
2659 if ( ! b )
2660 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2661
2662 b->yy_buf_size = size;
2663
2664 /* yy_ch_buf has to be 2 characters longer than the size given because
2665 * we need to put in 2 end-of-buffer characters.
2666 */
2667 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
2668 if ( ! b->yy_ch_buf )
2669 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2670
2671 b->yy_is_our_buffer = 1;
2672
2673 yy_init_buffer( b, file );
2674
2675 return b;
2676 }
2677
2678
2679#ifdef YY_USE_PROTOS
2680void yy_delete_buffer( YY_BUFFER_STATE b )
2681#else
2682void yy_delete_buffer( b )
2683YY_BUFFER_STATE b;
2684#endif
2685 {
2686 if ( ! b )
2687 return;
2688
2689 if ( b == yy_current_buffer )
2690 yy_current_buffer = (YY_BUFFER_STATE) 0;
2691
2692 if ( b->yy_is_our_buffer )
2693 yy_flex_free( (void *) b->yy_ch_buf );
2694
2695 yy_flex_free( (void *) b );
2696 }
2697
2698
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002699
2700#ifdef YY_USE_PROTOS
2701void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
2702#else
2703void yy_init_buffer( b, file )
2704YY_BUFFER_STATE b;
2705FILE *file;
2706#endif
2707
2708
2709 {
2710 yy_flush_buffer( b );
2711
2712 b->yy_input_file = file;
2713 b->yy_fill_buffer = 1;
2714
2715#if YY_ALWAYS_INTERACTIVE
2716 b->yy_is_interactive = 1;
2717#else
2718#if YY_NEVER_INTERACTIVE
2719 b->yy_is_interactive = 0;
2720#else
2721 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
2722#endif
2723#endif
2724 }
2725
2726
2727#ifdef YY_USE_PROTOS
2728void yy_flush_buffer( YY_BUFFER_STATE b )
2729#else
2730void yy_flush_buffer( b )
2731YY_BUFFER_STATE b;
2732#endif
2733
2734 {
2735 if ( ! b )
2736 return;
2737
2738 b->yy_n_chars = 0;
2739
2740 /* We always need two end-of-buffer characters. The first causes
2741 * a transition to the end-of-buffer state. The second causes
2742 * a jam in that state.
2743 */
2744 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2745 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2746
2747 b->yy_buf_pos = &b->yy_ch_buf[0];
2748
2749 b->yy_at_bol = 1;
2750 b->yy_buffer_status = YY_BUFFER_NEW;
2751
2752 if ( b == yy_current_buffer )
2753 yy_load_buffer_state();
2754 }
2755
2756
2757#ifndef YY_NO_SCAN_BUFFER
2758#ifdef YY_USE_PROTOS
2759YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
2760#else
2761YY_BUFFER_STATE yy_scan_buffer( base, size )
2762char *base;
2763yy_size_t size;
2764#endif
2765 {
2766 YY_BUFFER_STATE b;
2767
2768 if ( size < 2 ||
2769 base[size-2] != YY_END_OF_BUFFER_CHAR ||
2770 base[size-1] != YY_END_OF_BUFFER_CHAR )
2771 /* They forgot to leave room for the EOB's. */
2772 return 0;
2773
2774 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
2775 if ( ! b )
2776 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
2777
2778 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2779 b->yy_buf_pos = b->yy_ch_buf = base;
2780 b->yy_is_our_buffer = 0;
2781 b->yy_input_file = 0;
2782 b->yy_n_chars = b->yy_buf_size;
2783 b->yy_is_interactive = 0;
2784 b->yy_at_bol = 1;
2785 b->yy_fill_buffer = 0;
2786 b->yy_buffer_status = YY_BUFFER_NEW;
2787
2788 yy_switch_to_buffer( b );
2789
2790 return b;
2791 }
2792#endif
2793
2794
2795#ifndef YY_NO_SCAN_STRING
2796#ifdef YY_USE_PROTOS
2797YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
2798#else
2799YY_BUFFER_STATE yy_scan_string( yy_str )
2800yyconst char *yy_str;
2801#endif
2802 {
2803 int len;
2804 for ( len = 0; yy_str[len]; ++len )
2805 ;
2806
2807 return yy_scan_bytes( yy_str, len );
2808 }
2809#endif
2810
2811
2812#ifndef YY_NO_SCAN_BYTES
2813#ifdef YY_USE_PROTOS
2814YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
2815#else
2816YY_BUFFER_STATE yy_scan_bytes( bytes, len )
2817yyconst char *bytes;
2818int len;
2819#endif
2820 {
2821 YY_BUFFER_STATE b;
2822 char *buf;
2823 yy_size_t n;
2824 int i;
2825
2826 /* Get memory for full buffer, including space for trailing EOB's. */
2827 n = len + 2;
2828 buf = (char *) yy_flex_alloc( n );
2829 if ( ! buf )
2830 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
2831
2832 for ( i = 0; i < len; ++i )
2833 buf[i] = bytes[i];
2834
2835 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
2836
2837 b = yy_scan_buffer( buf, n );
2838 if ( ! b )
2839 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
2840
2841 /* It's okay to grow etc. this buffer, and we should throw it
2842 * away when we're done.
2843 */
2844 b->yy_is_our_buffer = 1;
2845
2846 return b;
2847 }
2848#endif
2849
2850
2851#ifndef YY_NO_PUSH_STATE
2852#ifdef YY_USE_PROTOS
2853static void yy_push_state( int new_state )
2854#else
2855static void yy_push_state( new_state )
2856int new_state;
2857#endif
2858 {
2859 if ( yy_start_stack_ptr >= yy_start_stack_depth )
2860 {
2861 yy_size_t new_size;
2862
2863 yy_start_stack_depth += YY_START_STACK_INCR;
2864 new_size = yy_start_stack_depth * sizeof( int );
2865
2866 if ( ! yy_start_stack )
2867 yy_start_stack = (int *) yy_flex_alloc( new_size );
2868
2869 else
2870 yy_start_stack = (int *) yy_flex_realloc(
2871 (void *) yy_start_stack, new_size );
2872
2873 if ( ! yy_start_stack )
2874 YY_FATAL_ERROR(
2875 "out of memory expanding start-condition stack" );
2876 }
2877
2878 yy_start_stack[yy_start_stack_ptr++] = YY_START;
2879
2880 BEGIN(new_state);
2881 }
2882#endif
2883
2884
2885#ifndef YY_NO_POP_STATE
2886static void yy_pop_state()
2887 {
2888 if ( --yy_start_stack_ptr < 0 )
2889 YY_FATAL_ERROR( "start-condition stack underflow" );
2890
2891 BEGIN(yy_start_stack[yy_start_stack_ptr]);
2892 }
2893#endif
2894
2895
2896#ifndef YY_NO_TOP_STATE
2897static int yy_top_state()
2898 {
2899 return yy_start_stack[yy_start_stack_ptr - 1];
2900 }
2901#endif
2902
2903#ifndef YY_EXIT_FAILURE
2904#define YY_EXIT_FAILURE 2
2905#endif
2906
2907#ifdef YY_USE_PROTOS
2908static void yy_fatal_error( yyconst char msg[] )
2909#else
2910static void yy_fatal_error( msg )
2911char msg[];
2912#endif
2913 {
2914 (void) fprintf( stderr, "%s\n", msg );
2915 exit( YY_EXIT_FAILURE );
2916 }
2917
2918
2919
2920/* Redefine yyless() so it works in section 3 code. */
2921
2922#undef yyless
2923#define yyless(n) \
2924 do \
2925 { \
2926 /* Undo effects of setting up yytext. */ \
2927 yytext[yyleng] = yy_hold_char; \
2928 yy_c_buf_p = yytext + n; \
2929 yy_hold_char = *yy_c_buf_p; \
2930 *yy_c_buf_p = '\0'; \
2931 yyleng = n; \
2932 } \
2933 while ( 0 )
2934
2935
2936/* Internal utility routines. */
2937
2938#ifndef yytext_ptr
2939#ifdef YY_USE_PROTOS
2940static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
2941#else
2942static void yy_flex_strncpy( s1, s2, n )
2943char *s1;
2944yyconst char *s2;
2945int n;
2946#endif
2947 {
2948 register int i;
2949 for ( i = 0; i < n; ++i )
2950 s1[i] = s2[i];
2951 }
2952#endif
2953
2954#ifdef YY_NEED_STRLEN
2955#ifdef YY_USE_PROTOS
2956static int yy_flex_strlen( yyconst char *s )
2957#else
2958static int yy_flex_strlen( s )
2959yyconst char *s;
2960#endif
2961 {
2962 register int n;
2963 for ( n = 0; s[n]; ++n )
2964 ;
2965
2966 return n;
2967 }
2968#endif
2969
2970
2971#ifdef YY_USE_PROTOS
2972static void *yy_flex_alloc( yy_size_t size )
2973#else
2974static void *yy_flex_alloc( size )
2975yy_size_t size;
2976#endif
2977 {
2978 return (void *) malloc( size );
2979 }
2980
2981#ifdef YY_USE_PROTOS
2982static inline void *yy_flex_realloc( void *ptr, yy_size_t size )
2983#else
2984static inline void *yy_flex_realloc( ptr, size )
2985void *ptr;
2986yy_size_t size;
2987#endif
2988 {
2989 /* The cast to (char *) in the following accommodates both
2990 * implementations that use char* generic pointers, and those
2991 * that use void* generic pointers. It works with the latter
2992 * because both ANSI C and C++ allow castless assignment from
2993 * any pointer type to void*, and deal with argument conversions
2994 * as though doing an assignment.
2995 */
2996 return (void *) realloc( (char *) ptr, size );
2997 }
2998
2999#ifdef YY_USE_PROTOS
3000static void yy_flex_free( void *ptr )
3001#else
3002static void yy_flex_free( ptr )
3003void *ptr;
3004#endif
3005 {
3006 free( ptr );
3007 }
3008
3009#if YY_MAIN
3010int main()
3011 {
3012 yylex();
3013 return 0;
3014 }
3015#endif
Reid Spenceraa8ae282007-07-31 03:50:36 +00003016#line 451 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Dan Gohmanf17a25c2007-07-18 16:29:46 +00003017