blob: ae39d9d60f57b28b64375bd88da89ca41253a843 [file] [log] [blame]
Reid Spencered951ea2007-05-19 07:22:10 +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
Reid Spencer68a24bd2005-08-27 18:50:39 +000018
Reid Spencered951ea2007-05-19 07:22:10 +000019#line 20 "Lexer.cpp"
Reid Spencerb8f85052007-07-31 03:50:36 +000020/* A lexical scanner generated by flex*/
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +000021
Reid Spencered951ea2007-05-19 07:22:10 +000022/* Scanner skeleton version:
Reid Spencerb8f85052007-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 $
Reid Spencered951ea2007-05-19 07:22:10 +000024 */
Reid Spencer68a24bd2005-08-27 18:50:39 +000025
Reid Spencer68a24bd2005-08-27 18:50:39 +000026#define FLEX_SCANNER
27#define YY_FLEX_MAJOR_VERSION 2
28#define YY_FLEX_MINOR_VERSION 5
29
30#include <stdio.h>
Reid Spencerb8f85052007-07-31 03:50:36 +000031#include <unistd.h>
Reid Spencer9c9b63a2007-04-28 16:07:31 +000032
Anton Korobeynikovf52e6082007-04-29 18:38:24 +000033
Reid Spencered951ea2007-05-19 07:22:10 +000034/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
35#ifdef c_plusplus
36#ifndef __cplusplus
37#define __cplusplus
38#endif
Anton Korobeynikovf52e6082007-04-29 18:38:24 +000039#endif
40
Anton Korobeynikovf52e6082007-04-29 18:38:24 +000041
42#ifdef __cplusplus
Reid Spencer9c9b63a2007-04-28 16:07:31 +000043
Reid Spencered951ea2007-05-19 07:22:10 +000044#include <stdlib.h>
45
46/* Use prototypes in function declarations. */
47#define YY_USE_PROTOS
48
Reid Spencer68a24bd2005-08-27 18:50:39 +000049/* The "const" storage-class-modifier is valid. */
50#define YY_USE_CONST
51
52#else /* ! __cplusplus */
53
54#if __STDC__
55
Reid Spencered951ea2007-05-19 07:22:10 +000056#define YY_USE_PROTOS
Reid Spencer68a24bd2005-08-27 18:50:39 +000057#define YY_USE_CONST
58
59#endif /* __STDC__ */
60#endif /* ! __cplusplus */
61
Reid Spencered951ea2007-05-19 07:22:10 +000062#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
Reid Spencer68a24bd2005-08-27 18:50:39 +000071#ifdef YY_USE_CONST
72#define yyconst const
73#else
74#define yyconst
75#endif
76
Reid Spencered951ea2007-05-19 07:22:10 +000077
78#ifdef YY_USE_PROTOS
79#define YY_PROTO(proto) proto
80#else
81#define YY_PROTO(proto) ()
82#endif
83
Reid Spencer68a24bd2005-08-27 18:50:39 +000084/* 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 */
Reid Spencered951ea2007-05-19 07:22:10 +000098#define BEGIN yy_start = 1 + 2 *
Reid Spencer68a24bd2005-08-27 18:50:39 +000099
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 */
Reid Spencered951ea2007-05-19 07:22:10 +0000104#define YY_START ((yy_start - 1) / 2)
Reid Spencer68a24bd2005-08-27 18:50:39 +0000105#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". */
Reid Spencered951ea2007-05-19 07:22:10 +0000111#define YY_NEW_FILE yyrestart( yyin )
Reid Spencer68a24bd2005-08-27 18:50:39 +0000112
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
Reid Spencered951ea2007-05-19 07:22:10 +0000120extern int yyleng;
121extern FILE *yyin, *yyout;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000122
123#define EOB_ACT_CONTINUE_SCAN 0
124#define EOB_ACT_END_OF_FILE 1
125#define EOB_ACT_LAST_MATCH 2
126
Reid Spencered951ea2007-05-19 07:22:10 +0000127/* 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
Reid Spencer68a24bd2005-08-27 18:50:39 +0000143#define yyless(n) \
144 do \
145 { \
Reid Spencered951ea2007-05-19 07:22:10 +0000146 /* Undo effects of setting up yytext. */ \
147 *yy_cp = yy_hold_char; \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000148 YY_RESTORE_YY_MORE_OFFSET \
Reid Spencered951ea2007-05-19 07:22:10 +0000149 yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
150 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000151 } \
152 while ( 0 )
153
Reid Spencered951ea2007-05-19 07:22:10 +0000154#define unput(c) yyunput( c, yytext_ptr )
155
Reid Spencerb8f85052007-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
Reid Spencer68a24bd2005-08-27 18:50:39 +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
Reid Spencered951ea2007-05-19 07:22:10 +0000171
Reid Spencer68a24bd2005-08-27 18:50:39 +0000172struct 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"
Reid Spencered951ea2007-05-19 07:22:10 +0000223 * (via yyrestart()), so that the user can continue scanning by
224 * just pointing yyin at a new input file.
Reid Spencer68a24bd2005-08-27 18:50:39 +0000225 */
226#define YY_BUFFER_EOF_PENDING 2
Anton Korobeynikovf52e6082007-04-29 18:38:24 +0000227 };
Anton Korobeynikovf52e6082007-04-29 18:38:24 +0000228
Reid Spencered951ea2007-05-19 07:22:10 +0000229static YY_BUFFER_STATE yy_current_buffer = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000230
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 */
Reid Spencered951ea2007-05-19 07:22:10 +0000235#define YY_CURRENT_BUFFER yy_current_buffer
Reid Spencer68a24bd2005-08-27 18:50:39 +0000236
237
Reid Spencered951ea2007-05-19 07:22:10 +0000238/* yy_hold_char holds the character lost when yytext is formed. */
Reid Spencer68a24bd2005-08-27 18:50:39 +0000239static char yy_hold_char;
Reid Spencered951ea2007-05-19 07:22:10 +0000240
Reid Spencer68a24bd2005-08-27 18:50:39 +0000241static int yy_n_chars; /* number of characters read into yy_ch_buf */
Reid Spencered951ea2007-05-19 07:22:10 +0000242
243
244int yyleng;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000245
246/* Points to current character in buffer. */
247static char *yy_c_buf_p = (char *) 0;
Reid Spencered951ea2007-05-19 07:22:10 +0000248static int yy_init = 1; /* whether we need to initialize */
Reid Spencer68a24bd2005-08-27 18:50:39 +0000249static int yy_start = 0; /* start state number */
250
Reid Spencered951ea2007-05-19 07:22:10 +0000251/* 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 ...
Reid Spencer68a24bd2005-08-27 18:50:39 +0000253 */
254static int yy_did_buffer_switch_on_eof;
255
Reid Spencered951ea2007-05-19 07:22:10 +0000256void yyrestart YY_PROTO(( FILE *input_file ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000257
Reid Spencered951ea2007-05-19 07:22:10 +0000258void 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 )
Reid Spencer68a24bd2005-08-27 18:50:39 +0000265
Reid Spencered951ea2007-05-19 07:22:10 +0000266YY_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 ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000269
Reid Spencered951ea2007-05-19 07:22:10 +0000270static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
Reid Spencerb8f85052007-07-31 03:50:36 +0000271static inline void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) YY_MAY_BE_UNUSED;
Reid Spencered951ea2007-05-19 07:22:10 +0000272static void yy_flex_free YY_PROTO(( void * ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000273
Reid Spencered951ea2007-05-19 07:22:10 +0000274#define yy_new_buffer yy_create_buffer
Reid Spencer68a24bd2005-08-27 18:50:39 +0000275
276#define yy_set_interactive(is_interactive) \
277 { \
Reid Spencered951ea2007-05-19 07:22:10 +0000278 if ( ! yy_current_buffer ) \
279 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
280 yy_current_buffer->yy_is_interactive = is_interactive; \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000281 }
282
283#define yy_set_bol(at_bol) \
284 { \
Reid Spencered951ea2007-05-19 07:22:10 +0000285 if ( ! yy_current_buffer ) \
286 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
287 yy_current_buffer->yy_at_bol = at_bol; \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000288 }
289
Reid Spencered951ea2007-05-19 07:22:10 +0000290#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
Reid Spencer68a24bd2005-08-27 18:50:39 +0000291
292
Reid Spencered951ea2007-05-19 07:22:10 +0000293#define YY_USES_REJECT
294
295#define yywrap() 1
Reid Spencer68a24bd2005-08-27 18:50:39 +0000296#define YY_SKIP_YYWRAP
Anton Korobeynikovf52e6082007-04-29 18:38:24 +0000297typedef unsigned char YY_CHAR;
Reid Spencered951ea2007-05-19 07:22:10 +0000298FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
Anton Korobeynikovf52e6082007-04-29 18:38:24 +0000299typedef int yy_state_type;
Reid Spencered951ea2007-05-19 07:22:10 +0000300extern int yylineno;
301int yylineno = 1;
302extern char *yytext;
303#define yytext_ptr yytext
Anton Korobeynikovf52e6082007-04-29 18:38:24 +0000304
Reid Spencered951ea2007-05-19 07:22:10 +0000305static 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[] ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000309
310/* Done after the current pattern has been matched and before the
Reid Spencered951ea2007-05-19 07:22:10 +0000311 * corresponding action - sets up yytext.
Reid Spencer68a24bd2005-08-27 18:50:39 +0000312 */
313#define YY_DO_BEFORE_ACTION \
Reid Spencered951ea2007-05-19 07:22:10 +0000314 yytext_ptr = yy_bp; \
315 yyleng = (int) (yy_cp - yy_bp); \
316 yy_hold_char = *yy_cp; \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000317 *yy_cp = '\0'; \
Reid Spencered951ea2007-05-19 07:22:10 +0000318 yy_c_buf_p = yy_cp;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000319
Reid Spencerb8f85052007-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] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000323 { 0,
Reid Spencerb8f85052007-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,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000334
Reid Spencerb8f85052007-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,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000345
Reid Spencerb8f85052007-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
Reid Spencer68a24bd2005-08-27 18:50:39 +0000349 } ;
350
Reid Spencerb8f85052007-07-31 03:50:36 +0000351static yyconst short int yy_accept[587] =
Reid Spencered951ea2007-05-19 07:22:10 +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 Spencerb8f85052007-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,
Reid Spencered951ea2007-05-19 07:22:10 +0000363
Reid Spencerb8f85052007-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,
Reid Spencered951ea2007-05-19 07:22:10 +0000366 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
Reid Spencerb8f85052007-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,
Reid Spencered951ea2007-05-19 07:22:10 +0000371 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
372 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
Reid Spencerb8f85052007-07-31 03:50:36 +0000373 107, 107, 108, 108, 108, 108, 108, 108, 109, 110,
Reid Spencered951ea2007-05-19 07:22:10 +0000374
Reid Spencerb8f85052007-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,
Reid Spencered951ea2007-05-19 07:22:10 +0000385
Reid Spencerb8f85052007-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,
Reid Spencered951ea2007-05-19 07:22:10 +0000396
Reid Spencerb8f85052007-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,
Reid Spencered951ea2007-05-19 07:22:10 +0000407
Reid Spencerb8f85052007-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
Reid Spencered951ea2007-05-19 07:22:10 +0000417 } ;
418
419static yyconst int yy_ec[256] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000420 { 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,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000425 1, 1, 7, 1, 8, 9, 1, 10, 11, 11,
426 11, 11, 11, 12, 11, 13, 11, 14, 15, 1,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000427 1, 1, 1, 16, 17, 17, 17, 17, 18, 17,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000428 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
429 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000430 1, 1, 1, 1, 19, 1, 20, 21, 22, 23,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000431
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000432 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,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000435 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
Reid Spencered951ea2007-05-19 07:22:10 +0000451static yyconst int yy_meta[45] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000452 { 0,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000453 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
Reid Spencer68a24bd2005-08-27 18:50:39 +0000458 } ;
459
Reid Spencerb8f85052007-07-31 03:50:36 +0000460static yyconst short int yy_base[595] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000461 { 0,
Reid Spencerb8f85052007-07-31 03:50:36 +0000462 0, 0, 1276, 1277, 1277, 1277, 1271, 1260, 41, 36,
463 45, 51, 57, 63, 0, 74, 66, 69, 68, 90,
464 92, 121, 78, 36, 148, 93, 117, 114, 167, 138,
465 67, 194, 152, 226, 134, 95, 103, 101, 1269, 1277,
466 1258, 1277, 1267, 0, 199, 216, 232, 131, 253, 269,
467 274, 0, 1266, 0, 203, 119, 154, 150, 115, 163,
468 149, 80, 1255, 191, 49, 164, 157, 108, 279, 81,
469 184, 169, 1254, 223, 239, 188, 220, 224, 276, 182,
470 237, 241, 245, 295, 258, 288, 118, 289, 296, 233,
471 297, 306, 301, 298, 303, 304, 305, 308, 319, 323,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000472
Reid Spencerb8f85052007-07-31 03:50:36 +0000473 316, 327, 324, 330, 331, 334, 335, 337, 339, 340,
474 341, 356, 352, 344, 342, 186, 345, 360, 348, 1253,
475 369, 371, 372, 375, 377, 373, 378, 389, 385, 379,
476 390, 403, 407, 392, 393, 1252, 1261, 1277, 0, 421,
477 1250, 436, 454, 0, 1259, 1277, 0, 1248, 437, 381,
478 1247, 412, 423, 1246, 410, 430, 455, 413, 1245, 456,
479 439, 457, 426, 427, 428, 458, 459, 1244, 460, 464,
480 467, 469, 471, 473, 474, 476, 475, 478, 477, 481,
481 480, 483, 486, 494, 501, 499, 506, 503, 505, 507,
482 508, 1243, 510, 513, 514, 517, 515, 1242, 1241, 1240,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000483
Reid Spencerb8f85052007-07-31 03:50:36 +0000484 1239, 1238, 1237, 511, 1236, 1235, 516, 519, 1234, 548,
485 522, 525, 526, 537, 1233, 1232, 1231, 528, 550, 553,
486 562, 1230, 1229, 563, 542, 1228, 541, 566, 567, 568,
487 569, 573, 574, 570, 1227, 1226, 1225, 575, 1224, 1223,
488 576, 1222, 1221, 585, 588, 590, 592, 597, 593, 600,
489 572, 1220, 601, 603, 1277, 612, 632, 636, 640, 645,
490 623, 647, 530, 648, 1219, 649, 612, 605, 1218, 650,
491 651, 652, 613, 653, 655, 654, 656, 660, 657, 664,
492 604, 672, 1217, 1216, 659, 661, 663, 662, 1215, 1214,
493 674, 678, 681, 1213, 677, 692, 693, 694, 695, 696,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000494
Reid Spencerb8f85052007-07-31 03:50:36 +0000495 697, 1212, 1211, 698, 702, 1210, 705, 699, 700, 1209,
496 701, 711, 703, 0, 1208, 706, 724, 740, 725, 731,
497 733, 734, 1207, 1206, 737, 730, 1205, 739, 742, 735,
498 1204, 744, 1203, 1202, 746, 750, 753, 754, 1201, 755,
499 1200, 756, 1199, 758, 760, 775, 769, 1198, 1197, 773,
500 762, 1196, 776, 1195, 778, 782, 783, 784, 785, 617,
501 787, 790, 791, 793, 792, 1194, 794, 1193, 1192, 798,
502 803, 796, 805, 797, 804, 1191, 808, 809, 816, 818,
503 1190, 819, 821, 820, 825, 823, 824, 833, 826, 835,
504 839, 840, 59, 719, 841, 842, 844, 845, 1189, 846,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000505
Reid Spencerb8f85052007-07-31 03:50:36 +0000506 847, 851, 852, 1188, 850, 1187, 855, 866, 856, 867,
507 873, 854, 861, 869, 888, 894, 1186, 874, 880, 1185,
508 884, 885, 886, 1184, 890, 891, 892, 1183, 893, 894,
509 1182, 1181, 1180, 895, 900, 1179, 1178, 897, 906, 901,
510 1177, 908, 1176, 1175, 905, 909, 915, 1174, 919, 920,
511 921, 1173, 922, 923, 924, 1172, 1171, 1170, 704, 1169,
512 1168, 927, 1167, 1166, 926, 929, 935, 930, 936, 937,
513 1165, 941, 945, 1164, 1163, 946, 947, 949, 951, 953,
514 1162, 956, 957, 958, 959, 960, 1161, 961, 962, 972,
515 975, 1160, 977, 978, 1159, 980, 983, 984, 985, 987,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000516
Reid Spencerb8f85052007-07-31 03:50:36 +0000517 1158, 986, 990, 1157, 991, 993, 997, 998, 1156, 1004,
518 1000, 1001, 1155, 1154, 1153, 1137, 1125, 1005, 1124, 1012,
519 1007, 1006, 1019, 1122, 1023, 1024, 1013, 1121, 1028, 1120,
520 1119, 1029, 1032, 1033, 1034, 1117, 1036, 1037, 1038, 1039,
521 1041, 1040, 1043, 1116, 1045, 1048, 1050, 1053, 1054, 1115,
522 1058, 1059, 1066, 1067, 1068, 1114, 1062, 1071, 1073, 1074,
523 1076, 1113, 1080, 1077, 1075, 1079, 1081, 1086, 1087, 1112,
524 1090, 1094, 1088, 1099, 1107, 1106, 1105, 1100, 992, 1101,
525 346, 259, 1104, 256, 1277, 1140, 1142, 1145, 1149, 1152,
526 1156, 235, 1161, 165
527
Reid Spencer68a24bd2005-08-27 18:50:39 +0000528 } ;
529
Reid Spencerb8f85052007-07-31 03:50:36 +0000530static yyconst short int yy_def[595] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000531 { 0,
Reid Spencerb8f85052007-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,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000542
Reid Spencerb8f85052007-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,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000553
Reid Spencerb8f85052007-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,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000564
Reid Spencerb8f85052007-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,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000575
Reid Spencerb8f85052007-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,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000586
Reid Spencerb8f85052007-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
Reid Spencer68a24bd2005-08-27 18:50:39 +0000598 } ;
599
Reid Spencerb8f85052007-07-31 03:50:36 +0000600static yyconst short int yy_nxt[1322] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000601 { 0,
602 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000603 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,
Reid Spencered951ea2007-05-19 07:22:10 +0000606 36, 37, 8, 38, 43, 46, 46, 46, 46, 42,
607 45, 45, 45, 45, 47, 47, 47, 47, 42, 48,
Reid Spencerb8f85052007-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,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000612
Reid Spencerb8f85052007-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,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000623
Reid Spencerb8f85052007-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,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000634
Reid Spencerb8f85052007-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,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000645
Reid Spencerb8f85052007-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,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000656
Reid Spencerb8f85052007-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,
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000667
Reid Spencerb8f85052007-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,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000674 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
Reid Spencerb8f85052007-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,
Chris Lattnerce5f24e2007-07-05 17:26:49 +0000678
Reid Spencerb8f85052007-07-31 03:50:36 +0000679 372, 371, 376, 373, 375, 42, 42, 42, 42, 42,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000680 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
Reid Spencerb8f85052007-07-31 03:50:36 +0000681 393, 394, 496, 380, 42, 381, 379, 377, 378, 382,
682 383, 384, 385, 391, 389, 390, 386, 42, 42, 388,
683 387, 393, 394, 42, 42, 392, 42, 42, 42, 395,
684 42, 400, 42, 42, 396, 42, 397, 42, 398, 42,
685 399, 402, 401, 42, 403, 404, 42, 42, 42, 42,
686 405, 42, 407, 42, 406, 42, 415, 416, 347, 347,
687 347, 347, 411, 413, 418, 408, 42, 414, 42, 42,
688 409, 42, 417, 410, 412, 42, 42, 42, 42, 420,
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,
698 42, 464, 42, 461, 458, 455, 42, 42, 463, 415,
699 416, 467, 466, 42, 465, 415, 416, 42, 42, 42,
700
701 469, 470, 468, 42, 42, 42, 42, 42, 42, 474,
702 42, 478, 479, 42, 42, 472, 481, 471, 42, 42,
703 483, 42, 42, 476, 477, 484, 475, 473, 42, 486,
704 482, 480, 42, 42, 42, 42, 42, 42, 485, 42,
705 42, 487, 42, 42, 488, 493, 489, 494, 42, 42,
706 42, 491, 492, 497, 42, 498, 490, 500, 42, 42,
707 42, 495, 42, 502, 42, 499, 42, 501, 503, 42,
708 42, 42, 42, 42, 42, 42, 510, 505, 504, 511,
709 509, 506, 507, 515, 517, 42, 512, 513, 42, 508,
710 42, 42, 516, 42, 514, 518, 42, 42, 42, 42,
711
712 42, 521, 523, 42, 42, 42, 42, 524, 526, 522,
713 42, 42, 519, 42, 42, 528, 520, 42, 42, 42,
714 42, 532, 525, 527, 535, 42, 42, 536, 538, 529,
715 530, 534, 42, 533, 531, 537, 42, 42, 539, 540,
716 543, 42, 42, 542, 541, 42, 42, 42, 545, 42,
717 42, 42, 42, 42, 42, 546, 42, 549, 42, 551,
718 553, 42, 555, 42, 548, 544, 42, 42, 552, 554,
719 547, 42, 42, 556, 550, 42, 559, 561, 557, 42,
720 42, 42, 562, 558, 42, 566, 42, 42, 42, 42,
721 42, 560, 42, 42, 42, 563, 564, 565, 572, 42,
722
723 42, 42, 573, 42, 568, 570, 569, 42, 567, 571,
724 574, 578, 42, 42, 42, 579, 575, 42, 42, 42,
725 42, 582, 577, 576, 583, 42, 42, 42, 42, 42,
726 42, 580, 42, 42, 42, 42, 581, 42, 42, 584,
727 39, 39, 39, 39, 39, 41, 41, 44, 44, 52,
728 42, 52, 52, 52, 54, 54, 137, 137, 137, 137,
729 137, 145, 145, 145, 145, 145, 42, 42, 42, 42,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000730 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
731 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
Lauro Ramos Venancioc7635522007-04-12 18:32:50 +0000732 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
Chris Lattner75466192006-05-19 21:28:53 +0000733
Reid Spencered951ea2007-05-19 07:22:10 +0000734 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
Chris Lattnerce5f24e2007-07-05 17:26:49 +0000735 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
Reid Spencerb8f85052007-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,
739 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
740 42, 42, 146, 42, 138, 255, 42, 42, 42, 146,
741 138, 42, 136, 42, 40, 585, 3, 585, 585, 585,
742 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
743 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
744
745 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
746 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
747 585
Reid Spencer68a24bd2005-08-27 18:50:39 +0000748 } ;
749
Reid Spencerb8f85052007-07-31 03:50:36 +0000750static yyconst short int yy_chk[1322] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000751 { 0,
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, 1, 1, 1, 1, 1, 1,
Reid Spencered951ea2007-05-19 07:22:10 +0000756 1, 1, 1, 1, 9, 10, 10, 10, 10, 24,
757 9, 9, 9, 9, 11, 11, 11, 11, 11, 12,
Reid Spencerb8f85052007-07-31 03:50:36 +0000758 393, 393, 65, 24, 12, 13, 13, 13, 13, 13,
759 13, 14, 14, 14, 14, 14, 14, 16, 65, 17,
Reid Spencered951ea2007-05-19 07:22:10 +0000760 31, 19, 18, 16, 16, 16, 16, 19, 17, 19,
Reid Spencerb8f85052007-07-31 03:50:36 +0000761 31, 23, 18, 62, 70, 17, 18, 17, 13, 17,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000762
Reid Spencerb8f85052007-07-31 03:50:36 +0000763 19, 23, 17, 20, 18, 21, 26, 23, 36, 20,
764 70, 18, 26, 20, 38, 37, 37, 62, 36, 20,
765 26, 68, 20, 21, 38, 26, 21, 28, 59, 26,
766 27, 87, 56, 21, 22, 37, 27, 28, 87, 48,
767 22, 56, 22, 22, 48, 68, 28, 35, 59, 27,
768 22, 30, 28, 35, 22, 27, 22, 25, 25, 25,
769 25, 25, 61, 58, 30, 33, 35, 57, 594, 25,
770 67, 33, 58, 30, 61, 30, 60, 66, 33, 25,
771 29, 57, 72, 57, 33, 66, 67, 33, 67, 60,
772 29, 72, 29, 60, 33, 80, 29, 71, 29, 116,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000773
Reid Spencerb8f85052007-07-31 03:50:36 +0000774 29, 76, 29, 32, 64, 80, 116, 32, 45, 45,
775 45, 45, 55, 55, 55, 55, 32, 32, 76, 32,
776 32, 32, 71, 32, 46, 46, 46, 46, 46, 32,
777 64, 32, 32, 77, 32, 34, 74, 78, 592, 34,
778 47, 47, 47, 47, 47, 47, 90, 77, 34, 34,
779 81, 34, 75, 34, 82, 34, 78, 34, 83, 90,
780 74, 34, 49, 49, 49, 49, 49, 83, 75, 584,
781 49, 85, 582, 82, 81, 75, 49, 50, 50, 50,
782 50, 50, 50, 51, 51, 51, 51, 51, 85, 79,
783 51, 51, 69, 51, 51, 51, 51, 51, 51, 79,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000784
Reid Spencerb8f85052007-07-31 03:50:36 +0000785 69, 86, 88, 69, 84, 84, 84, 84, 84, 89,
786 91, 94, 69, 79, 93, 89, 95, 96, 97, 92,
787 88, 98, 95, 86, 86, 86, 91, 86, 92, 101,
788 93, 98, 99, 96, 94, 101, 100, 103, 95, 97,
789 102, 95, 99, 104, 105, 98, 100, 106, 107, 102,
790 108, 103, 109, 110, 111, 115, 99, 114, 117, 581,
791 109, 119, 104, 110, 108, 113, 105, 114, 109, 112,
792 111, 106, 117, 118, 115, 113, 107, 110, 112, 111,
793 109, 112, 121, 119, 122, 123, 126, 118, 124, 113,
794 125, 127, 130, 112, 150, 118, 121, 130, 129, 123,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000795
Reid Spencerb8f85052007-07-31 03:50:36 +0000796 125, 127, 128, 131, 122, 134, 135, 121, 129, 124,
797 126, 128, 128, 150, 125, 127, 132, 131, 133, 131,
798 133, 128, 132, 155, 128, 152, 158, 134, 135, 128,
799 140, 140, 140, 140, 135, 152, 153, 155, 140, 163,
800 164, 165, 158, 156, 140, 142, 142, 142, 142, 142,
801 149, 156, 161, 142, 164, 163, 149, 165, 153, 142,
802 143, 143, 149, 143, 143, 143, 143, 143, 157, 160,
803 162, 166, 167, 169, 157, 161, 162, 170, 160, 167,
804 171, 166, 172, 169, 173, 166, 174, 175, 177, 176,
805 179, 178, 174, 181, 180, 169, 182, 179, 177, 183,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000806
Reid Spencerb8f85052007-07-31 03:50:36 +0000807 170, 178, 172, 180, 171, 177, 182, 184, 176, 183,
808 173, 176, 186, 181, 185, 175, 188, 184, 189, 187,
809 190, 191, 186, 193, 204, 188, 194, 195, 197, 207,
810 196, 184, 208, 185, 187, 211, 190, 195, 212, 213,
811 189, 218, 194, 263, 197, 204, 191, 193, 196, 213,
812 214, 263, 218, 207, 227, 225, 208, 210, 210, 210,
813 210, 211, 212, 219, 210, 210, 220, 210, 210, 210,
814 210, 210, 210, 219, 214, 221, 224, 225, 227, 228,
815 229, 230, 231, 234, 220, 251, 232, 233, 238, 241,
816 251, 230, 229, 224, 221, 228, 232, 233, 244, 241,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000817
Reid Spencerb8f85052007-07-31 03:50:36 +0000818 224, 245, 231, 246, 232, 247, 249, 238, 244, 234,
819 248, 247, 249, 250, 253, 245, 254, 281, 268, 248,
820 246, 256, 256, 256, 256, 267, 273, 281, 250, 256,
821 360, 267, 273, 253, 268, 256, 261, 360, 257, 257,
822 254, 257, 257, 257, 257, 258, 258, 258, 258, 259,
823 259, 259, 259, 259, 260, 260, 260, 260, 260, 261,
824 262, 264, 266, 270, 271, 272, 274, 276, 275, 277,
825 279, 270, 285, 278, 286, 288, 287, 280, 262, 264,
826 266, 272, 275, 280, 274, 282, 277, 291, 271, 278,
827 295, 292, 279, 282, 293, 276, 285, 292, 286, 287,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000828
Reid Spencerb8f85052007-07-31 03:50:36 +0000829 288, 287, 295, 291, 293, 296, 297, 298, 299, 300,
830 301, 304, 308, 309, 311, 305, 313, 459, 307, 316,
831 394, 394, 459, 299, 312, 300, 298, 296, 297, 301,
832 304, 305, 307, 316, 312, 313, 308, 317, 319, 311,
833 309, 318, 318, 326, 320, 317, 321, 322, 330, 319,
834 325, 326, 328, 318, 320, 329, 321, 332, 322, 335,
835 325, 329, 328, 336, 330, 332, 337, 338, 340, 342,
836 335, 344, 337, 345, 336, 351, 346, 346, 347, 347,
837 347, 347, 344, 345, 351, 338, 350, 345, 346, 353,
838 340, 355, 350, 342, 344, 356, 357, 358, 359, 355,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000839
Reid Spencerb8f85052007-07-31 03:50:36 +0000840 361, 356, 357, 362, 363, 365, 364, 367, 359, 372,
841 374, 370, 353, 365, 363, 367, 371, 375, 373, 358,
842 361, 377, 378, 362, 364, 370, 374, 372, 373, 379,
843 371, 380, 382, 384, 383, 375, 386, 387, 385, 389,
844 378, 380, 383, 384, 385, 377, 388, 389, 390, 379,
845 382, 387, 391, 392, 395, 396, 388, 397, 398, 400,
846 401, 386, 390, 405, 402, 403, 396, 412, 407, 409,
847 395, 391, 400, 402, 413, 403, 407, 392, 398, 408,
848 410, 409, 414, 405, 401, 397, 411, 418, 408, 415,
849 415, 412, 411, 419, 410, 416, 416, 421, 422, 423,
Chris Lattnere869eef2005-11-12 00:11:49 +0000850
Reid Spencerb8f85052007-07-31 03:50:36 +0000851 414, 418, 413, 425, 426, 427, 429, 430, 434, 423,
852 438, 429, 429, 435, 440, 421, 434, 419, 445, 439,
853 438, 442, 446, 426, 427, 439, 425, 422, 447, 442,
854 435, 430, 449, 450, 451, 453, 454, 455, 440, 465,
855 462, 445, 466, 468, 446, 453, 447, 454, 467, 469,
856 470, 450, 451, 462, 472, 465, 449, 467, 473, 476,
857 477, 455, 478, 469, 479, 466, 480, 468, 470, 482,
858 483, 484, 485, 486, 488, 489, 480, 473, 472, 482,
859 479, 476, 477, 486, 489, 490, 483, 484, 491, 478,
860 493, 494, 488, 496, 485, 490, 497, 498, 499, 502,
Chris Lattner75466192006-05-19 21:28:53 +0000861
Reid Spencerb8f85052007-07-31 03:50:36 +0000862 500, 494, 497, 503, 505, 579, 506, 498, 500, 496,
863 507, 508, 491, 511, 512, 503, 493, 510, 518, 522,
864 521, 508, 499, 502, 512, 520, 527, 518, 521, 505,
865 506, 511, 523, 510, 507, 520, 525, 526, 522, 523,
866 527, 529, 532, 526, 525, 533, 534, 535, 532, 537,
867 538, 539, 540, 542, 541, 533, 543, 537, 545, 539,
868 541, 546, 543, 547, 535, 529, 548, 549, 540, 542,
869 534, 551, 552, 545, 538, 557, 548, 551, 546, 553,
870 554, 555, 552, 547, 558, 557, 559, 560, 565, 561,
871 564, 549, 566, 563, 567, 553, 554, 555, 564, 568,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000872
Reid Spencerb8f85052007-07-31 03:50:36 +0000873 569, 573, 565, 571, 559, 561, 560, 572, 558, 563,
874 566, 571, 574, 578, 580, 572, 567, 583, 577, 576,
875 575, 578, 569, 568, 580, 570, 562, 556, 550, 544,
876 536, 573, 531, 530, 528, 524, 574, 519, 517, 583,
877 586, 586, 586, 586, 586, 587, 587, 588, 588, 589,
878 516, 589, 589, 589, 590, 590, 591, 591, 591, 591,
879 591, 593, 593, 593, 593, 593, 515, 514, 513, 509,
880 504, 501, 495, 492, 487, 481, 475, 474, 471, 464,
881 463, 461, 460, 458, 457, 456, 452, 448, 444, 443,
882 441, 437, 436, 433, 432, 431, 428, 424, 420, 417,
Reid Spencer3da59db2006-11-27 01:05:10 +0000883
Reid Spencerb8f85052007-07-31 03:50:36 +0000884 406, 404, 399, 381, 376, 369, 368, 366, 354, 352,
885 349, 348, 343, 341, 339, 334, 333, 331, 327, 324,
886 323, 315, 310, 306, 303, 302, 294, 290, 289, 284,
887 283, 269, 265, 252, 243, 242, 240, 239, 237, 236,
888 235, 226, 223, 222, 217, 216, 215, 209, 206, 205,
889 203, 202, 201, 200, 199, 198, 192, 168, 159, 154,
890 151, 148, 145, 141, 137, 136, 120, 73, 63, 53,
891 43, 41, 39, 8, 7, 3, 585, 585, 585, 585,
892 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
893 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
894
895 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
896 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
897 585
Reid Spencer68a24bd2005-08-27 18:50:39 +0000898 } ;
899
Reid Spencered951ea2007-05-19 07:22:10 +0000900static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
901static char *yy_full_match;
902static int yy_lp;
903#define REJECT \
904{ \
905*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
906yy_cp = yy_full_match; /* restore poss. backed-over text */ \
907++yy_lp; \
908goto find_rule; \
909}
Reid Spencer68a24bd2005-08-27 18:50:39 +0000910#define yymore() yymore_used_but_not_detected
911#define YY_MORE_ADJ 0
912#define YY_RESTORE_YY_MORE_OFFSET
Reid Spencered951ea2007-05-19 07:22:10 +0000913char *yytext;
Reid Spencerb8f85052007-07-31 03:50:36 +0000914#line 1 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencered951ea2007-05-19 07:22:10 +0000915#define INITIAL 0
Reid Spencer68a24bd2005-08-27 18:50:39 +0000916/*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
917//
918// The LLVM Compiler Infrastructure
919//
920// This file was developed by the LLVM research group and is distributed under
921// the University of Illinois Open Source License. See LICENSE.TXT for details.
922//
923//===----------------------------------------------------------------------===//
924//
925// This file implements the flex scanner for LLVM assembly languages files.
926//
927//===----------------------------------------------------------------------===*/
Reid Spencered951ea2007-05-19 07:22:10 +0000928#define YY_NEVER_INTERACTIVE 1
Reid Spencerb8f85052007-07-31 03:50:36 +0000929#line 28 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +0000930#include "ParserInternals.h"
931#include "llvm/Module.h"
Chris Lattner8e008322007-05-22 06:47:55 +0000932#include "llvm/Support/MathExtras.h"
Reid Spencer68a24bd2005-08-27 18:50:39 +0000933#include <list>
934#include "llvmAsmParser.h"
935#include <cctype>
936#include <cstdlib>
937
938void set_scan_file(FILE * F){
Reid Spencered951ea2007-05-19 07:22:10 +0000939 yy_switch_to_buffer(yy_create_buffer( F, YY_BUF_SIZE ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +0000940}
941void set_scan_string (const char * str) {
Reid Spencered951ea2007-05-19 07:22:10 +0000942 yy_scan_string (str);
Reid Spencer68a24bd2005-08-27 18:50:39 +0000943}
944
Reid Spencer3ed469c2006-11-02 20:25:50 +0000945// Construct a token value for a non-obsolete token
Reid Spencer68a24bd2005-08-27 18:50:39 +0000946#define RET_TOK(type, Enum, sym) \
Reid Spencera132e042006-12-03 05:46:11 +0000947 llvmAsmlval.type = Instruction::Enum; \
948 return sym
949
Reid Spencer3ed469c2006-11-02 20:25:50 +0000950// Construct a token value for an obsolete token
Reid Spencera132e042006-12-03 05:46:11 +0000951#define RET_TY(CTYPE, SYM) \
952 llvmAsmlval.PrimType = CTYPE;\
Reid Spencer481169e2006-12-01 00:33:46 +0000953 return SYM
Reid Spencer68a24bd2005-08-27 18:50:39 +0000954
955namespace llvm {
956
957// TODO: All of the static identifiers are figured out by the lexer,
958// these should be hashed to reduce the lexer size
959
960
961// atoull - Convert an ascii string of decimal digits into the unsigned long
962// long representation... this does not have to do input error checking,
963// because we know that the input will be matched by a suitable regex...
964//
965static uint64_t atoull(const char *Buffer) {
966 uint64_t Result = 0;
967 for (; *Buffer; Buffer++) {
968 uint64_t OldRes = Result;
969 Result *= 10;
970 Result += *Buffer-'0';
971 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000972 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000973 }
974 return Result;
975}
976
977static uint64_t HexIntToVal(const char *Buffer) {
978 uint64_t Result = 0;
979 for (; *Buffer; ++Buffer) {
980 uint64_t OldRes = Result;
981 Result *= 16;
982 char C = *Buffer;
983 if (C >= '0' && C <= '9')
984 Result += C-'0';
985 else if (C >= 'A' && C <= 'F')
986 Result += C-'A'+10;
987 else if (C >= 'a' && C <= 'f')
988 Result += C-'a'+10;
989
990 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000991 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000992 }
993 return Result;
994}
995
996
997// HexToFP - Convert the ascii string in hexidecimal format to the floating
998// point representation of it.
999//
1000static double HexToFP(const char *Buffer) {
Chris Lattner8e008322007-05-22 06:47:55 +00001001 return BitsToDouble(HexIntToVal(Buffer)); // Cast Hex constant to double
Reid Spencer68a24bd2005-08-27 18:50:39 +00001002}
1003
1004
1005// UnEscapeLexed - Run through the specified buffer and change \xx codes to the
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001006// appropriate character.
Reid Spencere2aa9612007-05-22 19:08:16 +00001007char *UnEscapeLexed(char *Buffer, char* EndBuffer) {
Reid Spencer68a24bd2005-08-27 18:50:39 +00001008 char *BOut = Buffer;
1009 for (char *BIn = Buffer; *BIn; ) {
Reid Spencere2aa9612007-05-22 19:08:16 +00001010 if (BIn[0] == '\\') {
1011 if (BIn < EndBuffer-1 && BIn[1] == '\\') {
1012 *BOut++ = '\\'; // Two \ becomes one
1013 BIn += 2;
1014 } else if (BIn < EndBuffer-2 && isxdigit(BIn[1]) && isxdigit(BIn[2])) {
1015 char Tmp = BIn[3]; BIn[3] = 0; // Terminate string
1016 *BOut = (char)strtol(BIn+1, 0, 16); // Convert to number
1017 BIn[3] = Tmp; // Restore character
1018 BIn += 3; // Skip over handled chars
1019 ++BOut;
1020 } else {
1021 *BOut++ = *BIn++;
1022 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001023 } else {
1024 *BOut++ = *BIn++;
1025 }
1026 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001027 return BOut;
1028}
1029
1030} // End llvm namespace
1031
1032using namespace llvm;
1033
1034#define YY_NEVER_INTERACTIVE 1
1035/* Comments start with a ; and go till end of line */
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001036/* Local Values and Type identifiers start with a % sign */
1037/* Global Value identifiers start with an @ sign */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001038/* Label identifiers end with a colon */
1039/* Quoted names can contain any character except " and \ */
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001040/* LocalVarID/GlobalVarID: match an unnamed local variable slot ID. */
1041/* Integer types are specified with i and a bitwidth */
1042/* E[PN]Integer: match positive and negative literal integer values. */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001043/* FPConstant - A Floating point constant.
1044 */
1045/* HexFPConstant - Floating point constant represented in IEEE format as a
1046 * hexadecimal number for when exponential notation is not precise enough.
1047 */
1048/* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
1049 * it to deal with 64 bit numbers.
1050 */
Reid Spencerb8f85052007-07-31 03:50:36 +00001051/* WSNL - shorthand for newline followed by whitespace */
1052#line 1053 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001053
1054/* Macros after this point can all be overridden by user definitions in
1055 * section 1.
1056 */
1057
1058#ifndef YY_SKIP_YYWRAP
1059#ifdef __cplusplus
Reid Spencered951ea2007-05-19 07:22:10 +00001060extern "C" int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001061#else
Reid Spencered951ea2007-05-19 07:22:10 +00001062extern int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001063#endif
1064#endif
1065
Reid Spencered951ea2007-05-19 07:22:10 +00001066#ifndef YY_NO_UNPUT
1067static inline void yyunput YY_PROTO(( int c, char *buf_ptr ));
1068#endif
1069
Reid Spencer68a24bd2005-08-27 18:50:39 +00001070#ifndef yytext_ptr
Reid Spencered951ea2007-05-19 07:22:10 +00001071static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001072#endif
1073
1074#ifdef YY_NEED_STRLEN
Reid Spencered951ea2007-05-19 07:22:10 +00001075static int yy_flex_strlen YY_PROTO(( yyconst char * ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001076#endif
1077
1078#ifndef YY_NO_INPUT
1079#ifdef __cplusplus
Reid Spencered951ea2007-05-19 07:22:10 +00001080static int yyinput YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001081#else
Reid Spencered951ea2007-05-19 07:22:10 +00001082static int input YY_PROTO(( void ));
1083#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001084#endif
1085
Reid Spencered951ea2007-05-19 07:22:10 +00001086#if YY_STACK_USED
1087static int yy_start_stack_ptr = 0;
1088static int yy_start_stack_depth = 0;
1089static int *yy_start_stack = 0;
1090#ifndef YY_NO_PUSH_STATE
1091static void yy_push_state YY_PROTO(( int new_state ));
1092#endif
1093#ifndef YY_NO_POP_STATE
1094static void yy_pop_state YY_PROTO(( void ));
1095#endif
1096#ifndef YY_NO_TOP_STATE
1097static int yy_top_state YY_PROTO(( void ));
1098#endif
1099
1100#else
1101#define YY_NO_PUSH_STATE 1
1102#define YY_NO_POP_STATE 1
1103#define YY_NO_TOP_STATE 1
1104#endif
1105
1106#ifdef YY_MALLOC_DECL
1107YY_MALLOC_DECL
1108#else
1109#if __STDC__
1110#ifndef __cplusplus
1111#include <stdlib.h>
1112#endif
1113#else
1114/* Just try to get by without declaring the routines. This will fail
1115 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1116 * or sizeof(void*) != sizeof(int).
1117 */
1118#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001119#endif
1120
1121/* Amount of stuff to slurp up with each read. */
1122#ifndef YY_READ_BUF_SIZE
1123#define YY_READ_BUF_SIZE 8192
1124#endif
1125
1126/* Copy whatever the last rule matched to the standard output. */
Reid Spencered951ea2007-05-19 07:22:10 +00001127
Reid Spencer68a24bd2005-08-27 18:50:39 +00001128#ifndef ECHO
1129/* This used to be an fputs(), but since the string might contain NUL's,
1130 * we now use fwrite().
1131 */
Reid Spencered951ea2007-05-19 07:22:10 +00001132#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001133#endif
1134
1135/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1136 * is returned in "result".
1137 */
1138#ifndef YY_INPUT
1139#define YY_INPUT(buf,result,max_size) \
Reid Spencered951ea2007-05-19 07:22:10 +00001140 if ( yy_current_buffer->yy_is_interactive ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001141 { \
Reid Spencered951ea2007-05-19 07:22:10 +00001142 int c = '*', n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001143 for ( n = 0; n < max_size && \
Reid Spencered951ea2007-05-19 07:22:10 +00001144 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001145 buf[n] = (char) c; \
1146 if ( c == '\n' ) \
1147 buf[n++] = (char) c; \
Reid Spencered951ea2007-05-19 07:22:10 +00001148 if ( c == EOF && ferror( yyin ) ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001149 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1150 result = n; \
1151 } \
Reid Spencered951ea2007-05-19 07:22:10 +00001152 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1153 && ferror( yyin ) ) \
1154 YY_FATAL_ERROR( "input in flex scanner failed" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001155#endif
1156
1157/* No semi-colon after return; correct usage is to write "yyterminate();" -
1158 * we don't want an extra ';' after the "return" because that will cause
1159 * some compilers to complain about unreachable statements.
1160 */
1161#ifndef yyterminate
1162#define yyterminate() return YY_NULL
1163#endif
1164
1165/* Number of entries by which start-condition stack grows. */
1166#ifndef YY_START_STACK_INCR
1167#define YY_START_STACK_INCR 25
1168#endif
1169
1170/* Report a fatal error. */
1171#ifndef YY_FATAL_ERROR
1172#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1173#endif
1174
1175/* Default declaration of generated scanner - a define so the user can
1176 * easily add parameters.
1177 */
1178#ifndef YY_DECL
Reid Spencered951ea2007-05-19 07:22:10 +00001179#define YY_DECL int yylex YY_PROTO(( void ))
1180#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001181
Reid Spencered951ea2007-05-19 07:22:10 +00001182/* Code executed at the beginning of each rule, after yytext and yyleng
Reid Spencer68a24bd2005-08-27 18:50:39 +00001183 * have been set up.
1184 */
1185#ifndef YY_USER_ACTION
1186#define YY_USER_ACTION
1187#endif
1188
1189/* Code executed at the end of each rule. */
1190#ifndef YY_BREAK
1191#define YY_BREAK break;
1192#endif
1193
1194#define YY_RULE_SETUP \
1195 YY_USER_ACTION
1196
1197YY_DECL
Reid Spencered951ea2007-05-19 07:22:10 +00001198 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00001199 register yy_state_type yy_current_state;
Reid Spencerb8f85052007-07-31 03:50:36 +00001200 register char *yy_cp = NULL, *yy_bp = NULL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001201 register int yy_act;
Reid Spencered951ea2007-05-19 07:22:10 +00001202
Reid Spencerb8f85052007-07-31 03:50:36 +00001203#line 182 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001204
1205
Reid Spencerb8f85052007-07-31 03:50:36 +00001206#line 1207 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001207
Reid Spencered951ea2007-05-19 07:22:10 +00001208 if ( yy_init )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001209 {
Reid Spencered951ea2007-05-19 07:22:10 +00001210 yy_init = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001211
1212#ifdef YY_USER_INIT
1213 YY_USER_INIT;
1214#endif
1215
Reid Spencered951ea2007-05-19 07:22:10 +00001216 if ( ! yy_start )
1217 yy_start = 1; /* first start state */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001218
Reid Spencered951ea2007-05-19 07:22:10 +00001219 if ( ! yyin )
1220 yyin = stdin;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001221
Reid Spencered951ea2007-05-19 07:22:10 +00001222 if ( ! yyout )
1223 yyout = stdout;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001224
Reid Spencered951ea2007-05-19 07:22:10 +00001225 if ( ! yy_current_buffer )
1226 yy_current_buffer =
1227 yy_create_buffer( yyin, YY_BUF_SIZE );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001228
Reid Spencered951ea2007-05-19 07:22:10 +00001229 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00001230 }
1231
1232 while ( 1 ) /* loops until end-of-file is reached */
1233 {
Reid Spencered951ea2007-05-19 07:22:10 +00001234 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001235
Reid Spencered951ea2007-05-19 07:22:10 +00001236 /* Support of yytext. */
1237 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001238
1239 /* yy_bp points to the position in yy_ch_buf of the start of
1240 * the current run.
1241 */
1242 yy_bp = yy_cp;
1243
Reid Spencered951ea2007-05-19 07:22:10 +00001244 yy_current_state = yy_start;
1245 yy_state_ptr = yy_state_buf;
1246 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001247yy_match:
1248 do
1249 {
1250 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1251 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1252 {
1253 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencerb8f85052007-07-31 03:50:36 +00001254 if ( yy_current_state >= 586 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001255 yy_c = yy_meta[(unsigned int) yy_c];
1256 }
1257 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencered951ea2007-05-19 07:22:10 +00001258 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001259 ++yy_cp;
1260 }
Reid Spencerb8f85052007-07-31 03:50:36 +00001261 while ( yy_current_state != 585 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001262
1263yy_find_action:
Reid Spencered951ea2007-05-19 07:22:10 +00001264 yy_current_state = *--yy_state_ptr;
1265 yy_lp = yy_accept[yy_current_state];
1266find_rule: /* we branch to this label when backing up */
1267 for ( ; ; ) /* until we find what rule we matched */
1268 {
1269 if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
1270 {
1271 yy_act = yy_acclist[yy_lp];
1272 {
1273 yy_full_match = yy_cp;
1274 break;
1275 }
1276 }
1277 --yy_cp;
1278 yy_current_state = *--yy_state_ptr;
1279 yy_lp = yy_accept[yy_current_state];
1280 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001281
1282 YY_DO_BEFORE_ACTION;
1283
Reid Spencered951ea2007-05-19 07:22:10 +00001284 if ( yy_act != YY_END_OF_BUFFER )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001285 {
1286 int yyl;
Reid Spencered951ea2007-05-19 07:22:10 +00001287 for ( yyl = 0; yyl < yyleng; ++yyl )
1288 if ( yytext[yyl] == '\n' )
1289 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001290 }
1291
1292do_action: /* This label is used only to access EOF actions. */
1293
Reid Spencered951ea2007-05-19 07:22:10 +00001294
Reid Spencer68a24bd2005-08-27 18:50:39 +00001295 switch ( yy_act )
1296 { /* beginning of action switch */
1297case 1:
1298YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001299#line 184 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001300{ /* Ignore comments for now */ }
1301 YY_BREAK
1302case 2:
1303YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001304#line 186 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001305{ return BEGINTOK; }
1306 YY_BREAK
1307case 3:
1308YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001309#line 187 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001310{ return ENDTOK; }
1311 YY_BREAK
1312case 4:
1313YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001314#line 188 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001315{ return TRUETOK; }
1316 YY_BREAK
1317case 5:
1318YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001319#line 189 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001320{ return FALSETOK; }
1321 YY_BREAK
1322case 6:
1323YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001324#line 190 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001325{ return DECLARE; }
1326 YY_BREAK
1327case 7:
1328YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001329#line 191 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001330{ return DEFINE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001331 YY_BREAK
1332case 8:
1333YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001334#line 192 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001335{ return GLOBAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001336 YY_BREAK
1337case 9:
1338YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001339#line 193 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001340{ return CONSTANT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001341 YY_BREAK
1342case 10:
1343YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001344#line 194 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001345{ return INTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001346 YY_BREAK
1347case 11:
1348YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001349#line 195 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001350{ return LINKONCE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001351 YY_BREAK
1352case 12:
1353YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001354#line 196 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001355{ return WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001356 YY_BREAK
1357case 13:
1358YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001359#line 197 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001360{ return APPENDING; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001361 YY_BREAK
1362case 14:
1363YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001364#line 198 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001365{ return DLLIMPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001366 YY_BREAK
1367case 15:
1368YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001369#line 199 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001370{ return DLLEXPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001371 YY_BREAK
1372case 16:
1373YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001374#line 200 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001375{ return HIDDEN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001376 YY_BREAK
1377case 17:
1378YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001379#line 201 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001380{ return PROTECTED; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001381 YY_BREAK
1382case 18:
1383YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001384#line 202 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001385{ return EXTERN_WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001386 YY_BREAK
1387case 19:
1388YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001389#line 203 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001390{ return EXTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001391 YY_BREAK
1392case 20:
1393YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001394#line 204 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001395{ return THREAD_LOCAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001396 YY_BREAK
1397case 21:
1398YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001399#line 205 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001400{ return ZEROINITIALIZER; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001401 YY_BREAK
1402case 22:
1403YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001404#line 206 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001405{ return DOTDOTDOT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001406 YY_BREAK
1407case 23:
1408YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001409#line 207 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001410{ return UNDEF; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001411 YY_BREAK
1412case 24:
1413YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001414#line 208 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001415{ return NULL_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001416 YY_BREAK
1417case 25:
1418YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001419#line 209 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001420{ return TO; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001421 YY_BREAK
1422case 26:
1423YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001424#line 210 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001425{ return TAIL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001426 YY_BREAK
1427case 27:
1428YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001429#line 211 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001430{ return TARGET; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001431 YY_BREAK
1432case 28:
1433YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001434#line 212 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001435{ return TRIPLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001436 YY_BREAK
1437case 29:
1438YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001439#line 213 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001440{ return DEPLIBS; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001441 YY_BREAK
1442case 30:
1443YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001444#line 214 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001445{ return DATALAYOUT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001446 YY_BREAK
1447case 31:
1448YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001449#line 215 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001450{ return VOLATILE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001451 YY_BREAK
1452case 32:
1453YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001454#line 216 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001455{ return ALIGN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001456 YY_BREAK
1457case 33:
1458YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001459#line 217 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001460{ return SECTION; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001461 YY_BREAK
1462case 34:
1463YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001464#line 218 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001465{ return ALIAS; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001466 YY_BREAK
1467case 35:
1468YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001469#line 219 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001470{ return MODULE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001471 YY_BREAK
1472case 36:
1473YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001474#line 220 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001475{ return ASM_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001476 YY_BREAK
1477case 37:
1478YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001479#line 221 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001480{ return SIDEEFFECT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001481 YY_BREAK
1482case 38:
1483YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001484#line 223 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001485{ return CC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001486 YY_BREAK
1487case 39:
1488YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001489#line 224 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001490{ return CCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001491 YY_BREAK
1492case 40:
1493YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001494#line 225 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001495{ return FASTCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001496 YY_BREAK
1497case 41:
1498YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001499#line 226 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001500{ return COLDCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001501 YY_BREAK
1502case 42:
1503YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001504#line 227 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001505{ return X86_STDCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001506 YY_BREAK
1507case 43:
1508YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001509#line 228 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001510{ return X86_FASTCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001511 YY_BREAK
1512case 44:
1513YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001514#line 230 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1515{ return SIGNEXT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001516 YY_BREAK
1517case 45:
1518YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001519#line 231 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1520{ return ZEROEXT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001521 YY_BREAK
1522case 46:
1523YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001524#line 232 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1525{ return INREG; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001526 YY_BREAK
1527case 47:
1528YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001529#line 233 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1530{ return SRET; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001531 YY_BREAK
1532case 48:
1533YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001534#line 234 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1535{ return NOUNWIND; }
Reid Spencer832254e2007-02-02 02:16:23 +00001536 YY_BREAK
1537case 49:
1538YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001539#line 235 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1540{ return NORETURN; }
Reid Spencer832254e2007-02-02 02:16:23 +00001541 YY_BREAK
1542case 50:
1543YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001544#line 236 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1545{ return NOALIAS; }
Reid Spencer67d8ed92007-03-22 02:14:08 +00001546 YY_BREAK
1547case 51:
1548YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001549#line 237 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1550{ return BYVAL; }
Lauro Ramos Venancioc7635522007-04-12 18:32:50 +00001551 YY_BREAK
1552case 52:
1553YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001554#line 238 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1555{ return NEST; }
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001556 YY_BREAK
1557case 53:
Reid Spencerb8f85052007-07-31 03:50:36 +00001558*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
1559yy_c_buf_p = yy_cp -= 1;
1560YY_DO_BEFORE_ACTION; /* set up yytext again */
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001561YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001562#line 239 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1563{ // For auto-upgrade only, drop in LLVM 3.0
1564 return SIGNEXT; }
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001565 YY_BREAK
1566case 54:
Reid Spencerb8f85052007-07-31 03:50:36 +00001567*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
1568yy_c_buf_p = yy_cp -= 1;
1569YY_DO_BEFORE_ACTION; /* set up yytext again */
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001570YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001571#line 241 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1572{ // For auto-upgrade only, drop in LLVM 3.0
1573 return ZEROEXT; }
Chris Lattnerce5f24e2007-07-05 17:26:49 +00001574 YY_BREAK
1575case 55:
1576YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001577#line 244 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1578{ RET_TY(Type::VoidTy, VOID); }
1579 YY_BREAK
1580case 56:
1581YY_RULE_SETUP
1582#line 245 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1583{ RET_TY(Type::FloatTy, FLOAT); }
1584 YY_BREAK
1585case 57:
1586YY_RULE_SETUP
1587#line 246 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1588{ RET_TY(Type::DoubleTy,DOUBLE);}
1589 YY_BREAK
1590case 58:
1591YY_RULE_SETUP
1592#line 247 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1593{ RET_TY(Type::LabelTy, LABEL); }
1594 YY_BREAK
1595case 59:
1596YY_RULE_SETUP
1597#line 248 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1598{ return TYPE; }
1599 YY_BREAK
1600case 60:
1601YY_RULE_SETUP
1602#line 249 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1603{ return OPAQUE; }
1604 YY_BREAK
1605case 61:
1606YY_RULE_SETUP
1607#line 250 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencered951ea2007-05-19 07:22:10 +00001608{ uint64_t NumBits = atoull(yytext+1);
Reid Spencera54b7cb2007-01-12 07:05:14 +00001609 if (NumBits < IntegerType::MIN_INT_BITS ||
1610 NumBits > IntegerType::MAX_INT_BITS)
1611 GenerateError("Bitwidth for integer type out of range!");
1612 const Type* Ty = IntegerType::get(NumBits);
1613 RET_TY(Ty, INTTYPE);
1614 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001615 YY_BREAK
Reid Spencer68a24bd2005-08-27 18:50:39 +00001616case 62:
1617YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001618#line 258 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1619{ RET_TOK(BinaryOpVal, Add, ADD); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001620 YY_BREAK
1621case 63:
1622YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001623#line 259 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1624{ RET_TOK(BinaryOpVal, Sub, SUB); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001625 YY_BREAK
1626case 64:
1627YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001628#line 260 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1629{ RET_TOK(BinaryOpVal, Mul, MUL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001630 YY_BREAK
1631case 65:
1632YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001633#line 261 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1634{ RET_TOK(BinaryOpVal, UDiv, UDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001635 YY_BREAK
1636case 66:
1637YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001638#line 262 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1639{ RET_TOK(BinaryOpVal, SDiv, SDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001640 YY_BREAK
1641case 67:
1642YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001643#line 263 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1644{ RET_TOK(BinaryOpVal, FDiv, FDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001645 YY_BREAK
1646case 68:
1647YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001648#line 264 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1649{ RET_TOK(BinaryOpVal, URem, UREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001650 YY_BREAK
1651case 69:
1652YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001653#line 265 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1654{ RET_TOK(BinaryOpVal, SRem, SREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001655 YY_BREAK
1656case 70:
1657YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001658#line 266 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1659{ RET_TOK(BinaryOpVal, FRem, FREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001660 YY_BREAK
1661case 71:
1662YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001663#line 267 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1664{ RET_TOK(BinaryOpVal, Shl, SHL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001665 YY_BREAK
1666case 72:
1667YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001668#line 268 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1669{ RET_TOK(BinaryOpVal, LShr, LSHR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001670 YY_BREAK
1671case 73:
1672YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001673#line 269 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1674{ RET_TOK(BinaryOpVal, AShr, ASHR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001675 YY_BREAK
1676case 74:
1677YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001678#line 270 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1679{ RET_TOK(BinaryOpVal, And, AND); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001680 YY_BREAK
1681case 75:
1682YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001683#line 271 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1684{ RET_TOK(BinaryOpVal, Or , OR ); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001685 YY_BREAK
1686case 76:
1687YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001688#line 272 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1689{ RET_TOK(BinaryOpVal, Xor, XOR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001690 YY_BREAK
1691case 77:
1692YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001693#line 273 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1694{ RET_TOK(OtherOpVal, ICmp, ICMP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001695 YY_BREAK
1696case 78:
1697YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001698#line 274 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1699{ RET_TOK(OtherOpVal, FCmp, FCMP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001700 YY_BREAK
1701case 79:
1702YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001703#line 276 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1704{ return EQ; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001705 YY_BREAK
1706case 80:
1707YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001708#line 277 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1709{ return NE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001710 YY_BREAK
1711case 81:
1712YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001713#line 278 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1714{ return SLT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001715 YY_BREAK
1716case 82:
1717YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001718#line 279 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1719{ return SGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001720 YY_BREAK
1721case 83:
1722YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001723#line 280 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1724{ return SLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001725 YY_BREAK
1726case 84:
1727YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001728#line 281 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1729{ return SGE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001730 YY_BREAK
1731case 85:
1732YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001733#line 282 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1734{ return ULT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001735 YY_BREAK
1736case 86:
1737YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001738#line 283 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1739{ return UGT; }
Nate Begeman14b05292005-11-05 09:21:28 +00001740 YY_BREAK
1741case 87:
1742YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001743#line 284 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1744{ return ULE; }
Chris Lattnere869eef2005-11-12 00:11:49 +00001745 YY_BREAK
1746case 88:
1747YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001748#line 285 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1749{ return UGE; }
Robert Bocchino9c62b562006-01-10 19:04:32 +00001750 YY_BREAK
1751case 89:
1752YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001753#line 286 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1754{ return OEQ; }
Robert Bocchino2def1b32006-01-17 20:06:25 +00001755 YY_BREAK
1756case 90:
1757YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001758#line 287 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1759{ return ONE; }
Chris Lattner8335e842006-01-23 23:05:42 +00001760 YY_BREAK
1761case 91:
1762YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001763#line 288 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1764{ return OLT; }
Chris Lattner66316012006-01-24 04:14:29 +00001765 YY_BREAK
1766case 92:
1767YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001768#line 289 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1769{ return OGT; }
Chris Lattner0e9c3762006-01-25 22:27:16 +00001770 YY_BREAK
1771case 93:
1772YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001773#line 290 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1774{ return OLE; }
Chris Lattnerd5efe842006-04-08 01:18:56 +00001775 YY_BREAK
1776case 94:
1777YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001778#line 291 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1779{ return OGE; }
Chris Lattner75466192006-05-19 21:28:53 +00001780 YY_BREAK
1781case 95:
1782YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001783#line 292 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1784{ return ORD; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001785 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001786case 96:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001787YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001788#line 293 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1789{ return UNO; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001790 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001791case 97:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001792YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001793#line 294 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1794{ return UEQ; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001795 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001796case 98:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001797YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001798#line 295 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1799{ return UNE; }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001800 YY_BREAK
1801case 99:
1802YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001803#line 297 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1804{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001805 YY_BREAK
1806case 100:
1807YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001808#line 298 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1809{ RET_TOK(OtherOpVal, Call, CALL); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001810 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001811case 101:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001812YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001813#line 299 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1814{ RET_TOK(CastOpVal, Trunc, TRUNC); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001815 YY_BREAK
1816case 102:
1817YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001818#line 300 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1819{ RET_TOK(CastOpVal, ZExt, ZEXT); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001820 YY_BREAK
1821case 103:
1822YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001823#line 301 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1824{ RET_TOK(CastOpVal, SExt, SEXT); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001825 YY_BREAK
1826case 104:
1827YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001828#line 302 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1829{ RET_TOK(CastOpVal, FPTrunc, FPTRUNC); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001830 YY_BREAK
1831case 105:
1832YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001833#line 303 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1834{ RET_TOK(CastOpVal, FPExt, FPEXT); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001835 YY_BREAK
1836case 106:
1837YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001838#line 304 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1839{ RET_TOK(CastOpVal, UIToFP, UITOFP); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001840 YY_BREAK
1841case 107:
1842YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001843#line 305 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1844{ RET_TOK(CastOpVal, SIToFP, SITOFP); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001845 YY_BREAK
1846case 108:
1847YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001848#line 306 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1849{ RET_TOK(CastOpVal, FPToUI, FPTOUI); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001850 YY_BREAK
1851case 109:
1852YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001853#line 307 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1854{ RET_TOK(CastOpVal, FPToSI, FPTOSI); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001855 YY_BREAK
1856case 110:
1857YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001858#line 308 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1859{ RET_TOK(CastOpVal, IntToPtr, INTTOPTR); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001860 YY_BREAK
1861case 111:
1862YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001863#line 309 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1864{ RET_TOK(CastOpVal, PtrToInt, PTRTOINT); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001865 YY_BREAK
1866case 112:
1867YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001868#line 310 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1869{ RET_TOK(CastOpVal, BitCast, BITCAST); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001870 YY_BREAK
1871case 113:
1872YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001873#line 311 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1874{ RET_TOK(OtherOpVal, Select, SELECT); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001875 YY_BREAK
1876case 114:
1877YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001878#line 312 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1879{ RET_TOK(OtherOpVal, VAArg , VAARG); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001880 YY_BREAK
1881case 115:
1882YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001883#line 313 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1884{ RET_TOK(TermOpVal, Ret, RET); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001885 YY_BREAK
1886case 116:
1887YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001888#line 314 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1889{ RET_TOK(TermOpVal, Br, BR); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001890 YY_BREAK
1891case 117:
1892YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001893#line 315 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1894{ RET_TOK(TermOpVal, Switch, SWITCH); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001895 YY_BREAK
1896case 118:
1897YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001898#line 316 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1899{ RET_TOK(TermOpVal, Invoke, INVOKE); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001900 YY_BREAK
Reid Spencer41dff5e2007-01-26 08:05:27 +00001901case 119:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001902YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001903#line 317 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1904{ RET_TOK(TermOpVal, Unwind, UNWIND); }
Reid Spencer67d8ed92007-03-22 02:14:08 +00001905 YY_BREAK
1906case 120:
1907YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001908#line 318 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1909{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001910 YY_BREAK
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001911case 121:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001912YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001913#line 320 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1914{ RET_TOK(MemOpVal, Malloc, MALLOC); }
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001915 YY_BREAK
1916case 122:
1917YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001918#line 321 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1919{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
Owen Anderson1dc69692006-10-18 02:21:48 +00001920 YY_BREAK
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001921case 123:
Owen Anderson1dc69692006-10-18 02:21:48 +00001922YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001923#line 322 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1924{ RET_TOK(MemOpVal, Free, FREE); }
Chris Lattnerce5f24e2007-07-05 17:26:49 +00001925 YY_BREAK
1926case 124:
1927YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001928#line 323 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1929{ RET_TOK(MemOpVal, Load, LOAD); }
1930 YY_BREAK
1931case 125:
1932YY_RULE_SETUP
1933#line 324 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1934{ RET_TOK(MemOpVal, Store, STORE); }
1935 YY_BREAK
1936case 126:
1937YY_RULE_SETUP
1938#line 325 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1939{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
1940 YY_BREAK
1941case 127:
1942YY_RULE_SETUP
1943#line 327 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1944{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
1945 YY_BREAK
1946case 128:
1947YY_RULE_SETUP
1948#line 328 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1949{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
1950 YY_BREAK
1951case 129:
1952YY_RULE_SETUP
1953#line 329 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1954{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
1955 YY_BREAK
1956case 130:
1957YY_RULE_SETUP
1958#line 332 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001959{
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001960 llvmAsmlval.StrVal = new std::string(yytext+1); // Skip %
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001961 return LOCALVAR;
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001962 }
1963 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00001964case 131:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001965YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001966#line 336 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001967{
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001968 llvmAsmlval.StrVal = new std::string(yytext+1); // Skip @
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001969 return GLOBALVAR;
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001970 }
1971 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00001972case 132:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001973YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001974#line 340 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Lauro Ramos Venancioc7635522007-04-12 18:32:50 +00001975{
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001976 yytext[yyleng-1] = 0; // nuke colon
1977 llvmAsmlval.StrVal = new std::string(yytext);
Lauro Ramos Venancioc7635522007-04-12 18:32:50 +00001978 return LABELSTR;
1979 }
1980 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00001981case 133:
Lauro Ramos Venancioc7635522007-04-12 18:32:50 +00001982YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001983#line 345 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001984{
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001985 yytext[yyleng-2] = 0; // nuke colon, end quote
Reid Spencere2aa9612007-05-22 19:08:16 +00001986 const char* EndChar = UnEscapeLexed(yytext+1, yytext+yyleng);
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001987 llvmAsmlval.StrVal =
1988 new std::string(yytext+1, EndChar - yytext - 1);
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001989 return LABELSTR;
1990 }
1991 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00001992case 134:
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001993YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001994#line 353 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001995{ yytext[yyleng-1] = 0; // nuke end quote
Reid Spencere2aa9612007-05-22 19:08:16 +00001996 const char* EndChar = UnEscapeLexed(yytext+1, yytext+yyleng);
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001997 llvmAsmlval.StrVal =
1998 new std::string(yytext+1, EndChar - yytext - 1);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001999 return STRINGCONSTANT;
2000 }
2001 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002002case 135:
Reid Spencer6f407902007-01-13 05:00:46 +00002003YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00002004#line 359 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002005{
Reid Spencer0a8a16b2007-05-22 18:52:55 +00002006 yytext[yyleng-1] = 0; // nuke end quote
Reid Spencere2aa9612007-05-22 19:08:16 +00002007 const char* EndChar =
2008 UnEscapeLexed(yytext+2, yytext+yyleng);
Reid Spencer0a8a16b2007-05-22 18:52:55 +00002009 llvmAsmlval.StrVal =
2010 new std::string(yytext+2, EndChar - yytext - 2);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002011 return ATSTRINGCONSTANT;
2012 }
2013 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002014case 136:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002015YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00002016#line 367 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencered951ea2007-05-19 07:22:10 +00002017{
Reid Spencer0a8a16b2007-05-22 18:52:55 +00002018 yytext[yyleng-1] = 0; // nuke end quote
Reid Spencere2aa9612007-05-22 19:08:16 +00002019 const char* EndChar =
2020 UnEscapeLexed(yytext+2, yytext+yyleng);
Reid Spencer0a8a16b2007-05-22 18:52:55 +00002021 llvmAsmlval.StrVal =
2022 new std::string(yytext+2, EndChar - yytext - 2);
Reid Spencered951ea2007-05-19 07:22:10 +00002023 return PCTSTRINGCONSTANT;
2024 }
2025 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002026case 137:
Reid Spencered951ea2007-05-19 07:22:10 +00002027YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00002028#line 375 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer0a8a16b2007-05-22 18:52:55 +00002029{
2030 uint32_t numBits = ((yyleng * 64) / 19) + 1;
2031 APInt Tmp(numBits, yytext, yyleng, 10);
Reid Spencer38c91a92007-02-28 02:24:54 +00002032 uint32_t activeBits = Tmp.getActiveBits();
2033 if (activeBits > 0 && activeBits < numBits)
2034 Tmp.trunc(activeBits);
2035 if (Tmp.getBitWidth() > 64) {
2036 llvmAsmlval.APIntVal = new APInt(Tmp);
2037 return EUAPINTVAL;
2038 } else {
2039 llvmAsmlval.UInt64Val = Tmp.getZExtValue();
2040 return EUINT64VAL;
2041 }
2042 }
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002043 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002044case 138:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002045YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00002046#line 389 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer0a8a16b2007-05-22 18:52:55 +00002047{
2048 uint32_t numBits = (((yyleng-1) * 64) / 19) + 2;
2049 APInt Tmp(numBits, yytext, yyleng, 10);
Reid Spencer38c91a92007-02-28 02:24:54 +00002050 uint32_t minBits = Tmp.getMinSignedBits();
2051 if (minBits > 0 && minBits < numBits)
2052 Tmp.trunc(minBits);
2053 if (Tmp.getBitWidth() > 64) {
2054 llvmAsmlval.APIntVal = new APInt(Tmp);
2055 return ESAPINTVAL;
2056 } else {
2057 llvmAsmlval.SInt64Val = Tmp.getSExtValue();
2058 return ESINT64VAL;
2059 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002060 }
2061 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002062case 139:
Reid Spencer6f407902007-01-13 05:00:46 +00002063YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00002064#line 404 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer0a8a16b2007-05-22 18:52:55 +00002065{ int len = yyleng - 3;
Reid Spencer38c91a92007-02-28 02:24:54 +00002066 uint32_t bits = len * 4;
Reid Spencered951ea2007-05-19 07:22:10 +00002067 APInt Tmp(bits, yytext+3, len, 16);
Reid Spencer38c91a92007-02-28 02:24:54 +00002068 uint32_t activeBits = Tmp.getActiveBits();
2069 if (activeBits > 0 && activeBits < bits)
2070 Tmp.trunc(activeBits);
2071 if (Tmp.getBitWidth() > 64) {
2072 llvmAsmlval.APIntVal = new APInt(Tmp);
Reid Spencered951ea2007-05-19 07:22:10 +00002073 return yytext[0] == 's' ? ESAPINTVAL : EUAPINTVAL;
2074 } else if (yytext[0] == 's') {
Reid Spencer38c91a92007-02-28 02:24:54 +00002075 llvmAsmlval.SInt64Val = Tmp.getSExtValue();
2076 return ESINT64VAL;
2077 } else {
2078 llvmAsmlval.UInt64Val = Tmp.getZExtValue();
2079 return EUINT64VAL;
2080 }
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002081 }
Reid Spencer6f407902007-01-13 05:00:46 +00002082 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002083case 140:
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002084YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00002085#line 422 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002086{
Reid Spencered951ea2007-05-19 07:22:10 +00002087 uint64_t Val = atoull(yytext+1);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002088 if ((unsigned)Val != Val)
2089 GenerateError("Invalid value number (too large)!");
2090 llvmAsmlval.UIntVal = unsigned(Val);
2091 return LOCALVAL_ID;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002092 }
2093 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002094case 141:
Owen Anderson1dc69692006-10-18 02:21:48 +00002095YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00002096#line 429 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002097{
Reid Spencered951ea2007-05-19 07:22:10 +00002098 uint64_t Val = atoull(yytext+1);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002099 if ((unsigned)Val != Val)
2100 GenerateError("Invalid value number (too large)!");
2101 llvmAsmlval.UIntVal = unsigned(Val);
2102 return GLOBALVAL_ID;
2103 }
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002104 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002105case 142:
Reid Spencered951ea2007-05-19 07:22:10 +00002106YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00002107#line 437 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Chris Lattnerce5f24e2007-07-05 17:26:49 +00002108{ llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
2109 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002110case 143:
Chris Lattnerce5f24e2007-07-05 17:26:49 +00002111YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00002112#line 438 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencered951ea2007-05-19 07:22:10 +00002113{ llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002114 YY_BREAK
2115case YY_STATE_EOF(INITIAL):
Reid Spencerb8f85052007-07-31 03:50:36 +00002116#line 440 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002117{
2118 /* Make sure to free the internal buffers for flex when we are
2119 * done reading our input!
2120 */
Reid Spencered951ea2007-05-19 07:22:10 +00002121 yy_delete_buffer(YY_CURRENT_BUFFER);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002122 return EOF;
2123 }
2124 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002125case 144:
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00002126YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00002127#line 448 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Chris Lattnerce5f24e2007-07-05 17:26:49 +00002128{ /* Ignore whitespace */ }
Reid Spencered951ea2007-05-19 07:22:10 +00002129 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002130case 145:
Reid Spencered951ea2007-05-19 07:22:10 +00002131YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00002132#line 449 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Chris Lattnerce5f24e2007-07-05 17:26:49 +00002133{ return yytext[0]; }
2134 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002135case 146:
Chris Lattnerce5f24e2007-07-05 17:26:49 +00002136YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00002137#line 451 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002138YY_FATAL_ERROR( "flex scanner jammed" );
2139 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002140#line 2141 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002141
2142 case YY_END_OF_BUFFER:
2143 {
2144 /* Amount of text matched not including the EOB char. */
Reid Spencered951ea2007-05-19 07:22:10 +00002145 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002146
2147 /* Undo the effects of YY_DO_BEFORE_ACTION. */
Reid Spencered951ea2007-05-19 07:22:10 +00002148 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002149 YY_RESTORE_YY_MORE_OFFSET
2150
Reid Spencered951ea2007-05-19 07:22:10 +00002151 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002152 {
2153 /* We're scanning a new file or input source. It's
2154 * possible that this happened because the user
Reid Spencered951ea2007-05-19 07:22:10 +00002155 * just pointed yyin at a new source and called
2156 * yylex(). If so, then we have to assure
2157 * consistency between yy_current_buffer and our
Reid Spencer68a24bd2005-08-27 18:50:39 +00002158 * globals. Here is the right place to do so, because
2159 * this is the first action (other than possibly a
2160 * back-up) that will match for the new input source.
2161 */
Reid Spencered951ea2007-05-19 07:22:10 +00002162 yy_n_chars = yy_current_buffer->yy_n_chars;
2163 yy_current_buffer->yy_input_file = yyin;
2164 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002165 }
2166
2167 /* Note that here we test for yy_c_buf_p "<=" to the position
2168 * of the first EOB in the buffer, since yy_c_buf_p will
2169 * already have been incremented past the NUL character
2170 * (since all states make transitions on EOB to the
2171 * end-of-buffer state). Contrast this with the test
2172 * in input().
2173 */
Reid Spencered951ea2007-05-19 07:22:10 +00002174 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002175 { /* This was really a NUL. */
2176 yy_state_type yy_next_state;
2177
Reid Spencered951ea2007-05-19 07:22:10 +00002178 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002179
Reid Spencered951ea2007-05-19 07:22:10 +00002180 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002181
2182 /* Okay, we're now positioned to make the NUL
2183 * transition. We couldn't have
2184 * yy_get_previous_state() go ahead and do it
2185 * for us because it doesn't know how to deal
2186 * with the possibility of jamming (and we don't
2187 * want to build jamming into it because then it
2188 * will run more slowly).
2189 */
2190
2191 yy_next_state = yy_try_NUL_trans( yy_current_state );
2192
Reid Spencered951ea2007-05-19 07:22:10 +00002193 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002194
2195 if ( yy_next_state )
2196 {
2197 /* Consume the NUL. */
Reid Spencered951ea2007-05-19 07:22:10 +00002198 yy_cp = ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002199 yy_current_state = yy_next_state;
2200 goto yy_match;
2201 }
2202
2203 else
2204 {
Reid Spencered951ea2007-05-19 07:22:10 +00002205 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002206 goto yy_find_action;
2207 }
2208 }
2209
Reid Spencered951ea2007-05-19 07:22:10 +00002210 else switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002211 {
2212 case EOB_ACT_END_OF_FILE:
2213 {
Reid Spencered951ea2007-05-19 07:22:10 +00002214 yy_did_buffer_switch_on_eof = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002215
Reid Spencered951ea2007-05-19 07:22:10 +00002216 if ( yywrap() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002217 {
2218 /* Note: because we've taken care in
2219 * yy_get_next_buffer() to have set up
Reid Spencered951ea2007-05-19 07:22:10 +00002220 * yytext, we can now set up
Reid Spencer68a24bd2005-08-27 18:50:39 +00002221 * yy_c_buf_p so that if some total
2222 * hoser (like flex itself) wants to
2223 * call the scanner after we return the
2224 * YY_NULL, it'll still work - another
2225 * YY_NULL will get returned.
2226 */
Reid Spencered951ea2007-05-19 07:22:10 +00002227 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002228
2229 yy_act = YY_STATE_EOF(YY_START);
2230 goto do_action;
2231 }
2232
2233 else
2234 {
Reid Spencered951ea2007-05-19 07:22:10 +00002235 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002236 YY_NEW_FILE;
2237 }
2238 break;
2239 }
2240
2241 case EOB_ACT_CONTINUE_SCAN:
Reid Spencered951ea2007-05-19 07:22:10 +00002242 yy_c_buf_p =
2243 yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002244
Reid Spencered951ea2007-05-19 07:22:10 +00002245 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002246
Reid Spencered951ea2007-05-19 07:22:10 +00002247 yy_cp = yy_c_buf_p;
2248 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002249 goto yy_match;
2250
2251 case EOB_ACT_LAST_MATCH:
Reid Spencered951ea2007-05-19 07:22:10 +00002252 yy_c_buf_p =
2253 &yy_current_buffer->yy_ch_buf[yy_n_chars];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002254
Reid Spencered951ea2007-05-19 07:22:10 +00002255 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002256
Reid Spencered951ea2007-05-19 07:22:10 +00002257 yy_cp = yy_c_buf_p;
2258 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002259 goto yy_find_action;
2260 }
2261 break;
2262 }
2263
2264 default:
2265 YY_FATAL_ERROR(
2266 "fatal flex scanner internal error--no action found" );
2267 } /* end of action switch */
2268 } /* end of scanning one token */
Reid Spencered951ea2007-05-19 07:22:10 +00002269 } /* end of yylex */
2270
Reid Spencer68a24bd2005-08-27 18:50:39 +00002271
2272/* yy_get_next_buffer - try to read in a new buffer
2273 *
2274 * Returns a code representing an action:
2275 * EOB_ACT_LAST_MATCH -
2276 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2277 * EOB_ACT_END_OF_FILE - end of file
2278 */
Reid Spencered951ea2007-05-19 07:22:10 +00002279
2280static int yy_get_next_buffer()
2281 {
2282 register char *dest = yy_current_buffer->yy_ch_buf;
2283 register char *source = yytext_ptr;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002284 register int number_to_move, i;
2285 int ret_val;
2286
Reid Spencered951ea2007-05-19 07:22:10 +00002287 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002288 YY_FATAL_ERROR(
2289 "fatal flex scanner internal error--end of buffer missed" );
2290
Reid Spencered951ea2007-05-19 07:22:10 +00002291 if ( yy_current_buffer->yy_fill_buffer == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002292 { /* Don't try to fill the buffer, so this is an EOF. */
Reid Spencered951ea2007-05-19 07:22:10 +00002293 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002294 {
2295 /* We matched a single character, the EOB, so
2296 * treat this as a final EOF.
2297 */
2298 return EOB_ACT_END_OF_FILE;
2299 }
2300
2301 else
2302 {
2303 /* We matched some text prior to the EOB, first
2304 * process it.
2305 */
2306 return EOB_ACT_LAST_MATCH;
2307 }
2308 }
2309
2310 /* Try to read more data. */
2311
2312 /* First move last chars to start of buffer. */
Reid Spencered951ea2007-05-19 07:22:10 +00002313 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002314
2315 for ( i = 0; i < number_to_move; ++i )
2316 *(dest++) = *(source++);
2317
Reid Spencered951ea2007-05-19 07:22:10 +00002318 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002319 /* don't do the read, it's not guaranteed to return an EOF,
2320 * just force an EOF
2321 */
Reid Spencered951ea2007-05-19 07:22:10 +00002322 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002323
2324 else
2325 {
Reid Spencered951ea2007-05-19 07:22:10 +00002326 int num_to_read =
2327 yy_current_buffer->yy_buf_size - number_to_move - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002328
2329 while ( num_to_read <= 0 )
2330 { /* Not enough room in the buffer - grow it. */
Reid Spencered951ea2007-05-19 07:22:10 +00002331#ifdef YY_USES_REJECT
2332 YY_FATAL_ERROR(
2333"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
2334#else
Reid Spencer68a24bd2005-08-27 18:50:39 +00002335
2336 /* just a shorter name for the current buffer */
Reid Spencered951ea2007-05-19 07:22:10 +00002337 YY_BUFFER_STATE b = yy_current_buffer;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002338
2339 int yy_c_buf_p_offset =
Reid Spencered951ea2007-05-19 07:22:10 +00002340 (int) (yy_c_buf_p - b->yy_ch_buf);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002341
2342 if ( b->yy_is_our_buffer )
2343 {
2344 int new_size = b->yy_buf_size * 2;
2345
2346 if ( new_size <= 0 )
2347 b->yy_buf_size += b->yy_buf_size / 8;
2348 else
2349 b->yy_buf_size *= 2;
2350
2351 b->yy_ch_buf = (char *)
2352 /* Include room in for 2 EOB chars. */
Reid Spencered951ea2007-05-19 07:22:10 +00002353 yy_flex_realloc( (void *) b->yy_ch_buf,
2354 b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002355 }
2356 else
2357 /* Can't grow it, we don't own it. */
2358 b->yy_ch_buf = 0;
2359
2360 if ( ! b->yy_ch_buf )
2361 YY_FATAL_ERROR(
2362 "fatal error - scanner input buffer overflow" );
2363
Reid Spencered951ea2007-05-19 07:22:10 +00002364 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002365
Reid Spencered951ea2007-05-19 07:22:10 +00002366 num_to_read = yy_current_buffer->yy_buf_size -
Reid Spencer68a24bd2005-08-27 18:50:39 +00002367 number_to_move - 1;
Reid Spencered951ea2007-05-19 07:22:10 +00002368#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002369 }
2370
2371 if ( num_to_read > YY_READ_BUF_SIZE )
2372 num_to_read = YY_READ_BUF_SIZE;
2373
2374 /* Read in more data. */
Reid Spencered951ea2007-05-19 07:22:10 +00002375 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
2376 yy_n_chars, num_to_read );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002377
Reid Spencered951ea2007-05-19 07:22:10 +00002378 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002379 }
2380
Reid Spencered951ea2007-05-19 07:22:10 +00002381 if ( yy_n_chars == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002382 {
2383 if ( number_to_move == YY_MORE_ADJ )
2384 {
2385 ret_val = EOB_ACT_END_OF_FILE;
Reid Spencered951ea2007-05-19 07:22:10 +00002386 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002387 }
2388
2389 else
2390 {
2391 ret_val = EOB_ACT_LAST_MATCH;
Reid Spencered951ea2007-05-19 07:22:10 +00002392 yy_current_buffer->yy_buffer_status =
Reid Spencer68a24bd2005-08-27 18:50:39 +00002393 YY_BUFFER_EOF_PENDING;
2394 }
2395 }
2396
2397 else
2398 ret_val = EOB_ACT_CONTINUE_SCAN;
2399
Reid Spencered951ea2007-05-19 07:22:10 +00002400 yy_n_chars += number_to_move;
2401 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2402 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002403
Reid Spencered951ea2007-05-19 07:22:10 +00002404 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002405
2406 return ret_val;
Reid Spencered951ea2007-05-19 07:22:10 +00002407 }
2408
Reid Spencer68a24bd2005-08-27 18:50:39 +00002409
2410/* yy_get_previous_state - get the state just before the EOB char was reached */
2411
Reid Spencered951ea2007-05-19 07:22:10 +00002412static yy_state_type yy_get_previous_state()
2413 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002414 register yy_state_type yy_current_state;
2415 register char *yy_cp;
2416
Reid Spencered951ea2007-05-19 07:22:10 +00002417 yy_current_state = yy_start;
2418 yy_state_ptr = yy_state_buf;
2419 *yy_state_ptr++ = yy_current_state;
2420
2421 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002422 {
2423 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2424 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2425 {
2426 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencerb8f85052007-07-31 03:50:36 +00002427 if ( yy_current_state >= 586 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002428 yy_c = yy_meta[(unsigned int) yy_c];
2429 }
2430 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencered951ea2007-05-19 07:22:10 +00002431 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002432 }
2433
2434 return yy_current_state;
Reid Spencered951ea2007-05-19 07:22:10 +00002435 }
2436
Reid Spencer68a24bd2005-08-27 18:50:39 +00002437
2438/* yy_try_NUL_trans - try to make a transition on the NUL character
2439 *
2440 * synopsis
2441 * next_state = yy_try_NUL_trans( current_state );
2442 */
Reid Spencered951ea2007-05-19 07:22:10 +00002443
2444#ifdef YY_USE_PROTOS
2445static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
2446#else
2447static yy_state_type yy_try_NUL_trans( yy_current_state )
2448yy_state_type yy_current_state;
2449#endif
2450 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002451 register int yy_is_jam;
2452
2453 register YY_CHAR yy_c = 1;
2454 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2455 {
2456 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencerb8f85052007-07-31 03:50:36 +00002457 if ( yy_current_state >= 586 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002458 yy_c = yy_meta[(unsigned int) yy_c];
2459 }
2460 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencerb8f85052007-07-31 03:50:36 +00002461 yy_is_jam = (yy_current_state == 585);
Reid Spencered951ea2007-05-19 07:22:10 +00002462 if ( ! yy_is_jam )
2463 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002464
2465 return yy_is_jam ? 0 : yy_current_state;
Reid Spencered951ea2007-05-19 07:22:10 +00002466 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002467
2468
Reid Spencered951ea2007-05-19 07:22:10 +00002469#ifndef YY_NO_UNPUT
2470#ifdef YY_USE_PROTOS
2471static inline void yyunput( int c, register char *yy_bp )
2472#else
2473static inline void yyunput( c, yy_bp )
2474int c;
2475register char *yy_bp;
2476#endif
2477 {
2478 register char *yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002479
Reid Spencered951ea2007-05-19 07:22:10 +00002480 /* undo effects of setting up yytext */
2481 *yy_cp = yy_hold_char;
2482
2483 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002484 { /* need to shift things up to make room */
2485 /* +2 for EOB chars. */
Reid Spencered951ea2007-05-19 07:22:10 +00002486 register int number_to_move = yy_n_chars + 2;
2487 register char *dest = &yy_current_buffer->yy_ch_buf[
2488 yy_current_buffer->yy_buf_size + 2];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002489 register char *source =
Reid Spencered951ea2007-05-19 07:22:10 +00002490 &yy_current_buffer->yy_ch_buf[number_to_move];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002491
Reid Spencered951ea2007-05-19 07:22:10 +00002492 while ( source > yy_current_buffer->yy_ch_buf )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002493 *--dest = *--source;
2494
2495 yy_cp += (int) (dest - source);
2496 yy_bp += (int) (dest - source);
Reid Spencered951ea2007-05-19 07:22:10 +00002497 yy_current_buffer->yy_n_chars =
2498 yy_n_chars = yy_current_buffer->yy_buf_size;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002499
Reid Spencered951ea2007-05-19 07:22:10 +00002500 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002501 YY_FATAL_ERROR( "flex scanner push-back overflow" );
2502 }
2503
2504 *--yy_cp = (char) c;
2505
Reid Spencered951ea2007-05-19 07:22:10 +00002506 if ( c == '\n' )
2507 --yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002508
Reid Spencered951ea2007-05-19 07:22:10 +00002509 yytext_ptr = yy_bp;
2510 yy_hold_char = *yy_cp;
2511 yy_c_buf_p = yy_cp;
2512 }
2513#endif /* ifndef YY_NO_UNPUT */
2514
Reid Spencer6f407902007-01-13 05:00:46 +00002515
Reid Spencerb8f85052007-07-31 03:50:36 +00002516#ifndef YY_NO_INPUT
Reid Spencer68a24bd2005-08-27 18:50:39 +00002517#ifdef __cplusplus
Reid Spencered951ea2007-05-19 07:22:10 +00002518static int yyinput()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002519#else
Reid Spencered951ea2007-05-19 07:22:10 +00002520static int input()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002521#endif
Reid Spencered951ea2007-05-19 07:22:10 +00002522 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002523 int c;
2524
Reid Spencered951ea2007-05-19 07:22:10 +00002525 *yy_c_buf_p = yy_hold_char;
2526
2527 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002528 {
2529 /* yy_c_buf_p now points to the character we want to return.
2530 * If this occurs *before* the EOB characters, then it's a
2531 * valid NUL; if not, then we've hit the end of the buffer.
2532 */
Reid Spencered951ea2007-05-19 07:22:10 +00002533 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002534 /* This was really a NUL. */
Reid Spencered951ea2007-05-19 07:22:10 +00002535 *yy_c_buf_p = '\0';
Reid Spencer68a24bd2005-08-27 18:50:39 +00002536
2537 else
2538 { /* need more input */
Reid Spencered951ea2007-05-19 07:22:10 +00002539 int offset = yy_c_buf_p - yytext_ptr;
2540 ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002541
Reid Spencered951ea2007-05-19 07:22:10 +00002542 switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002543 {
2544 case EOB_ACT_LAST_MATCH:
2545 /* This happens because yy_g_n_b()
2546 * sees that we've accumulated a
2547 * token and flags that we need to
2548 * try matching the token before
2549 * proceeding. But for input(),
2550 * there's no matching to consider.
2551 * So convert the EOB_ACT_LAST_MATCH
2552 * to EOB_ACT_END_OF_FILE.
2553 */
2554
2555 /* Reset buffer status. */
Reid Spencered951ea2007-05-19 07:22:10 +00002556 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002557
Reid Spencered951ea2007-05-19 07:22:10 +00002558 /* fall through */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002559
2560 case EOB_ACT_END_OF_FILE:
2561 {
Reid Spencered951ea2007-05-19 07:22:10 +00002562 if ( yywrap() )
Reid Spencer61c83e02006-08-18 08:43:06 +00002563 return EOF;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002564
Reid Spencered951ea2007-05-19 07:22:10 +00002565 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002566 YY_NEW_FILE;
2567#ifdef __cplusplus
2568 return yyinput();
2569#else
2570 return input();
2571#endif
2572 }
2573
2574 case EOB_ACT_CONTINUE_SCAN:
Reid Spencered951ea2007-05-19 07:22:10 +00002575 yy_c_buf_p = yytext_ptr + offset;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002576 break;
2577 }
2578 }
2579 }
2580
Reid Spencered951ea2007-05-19 07:22:10 +00002581 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
2582 *yy_c_buf_p = '\0'; /* preserve yytext */
2583 yy_hold_char = *++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002584
2585 if ( c == '\n' )
Reid Spencered951ea2007-05-19 07:22:10 +00002586 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002587
2588 return c;
Reid Spencered951ea2007-05-19 07:22:10 +00002589 }
Reid Spencerb8f85052007-07-31 03:50:36 +00002590#endif /* YY_NO_INPUT */
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002591
Reid Spencered951ea2007-05-19 07:22:10 +00002592#ifdef YY_USE_PROTOS
2593void yyrestart( FILE *input_file )
2594#else
2595void yyrestart( input_file )
2596FILE *input_file;
2597#endif
2598 {
2599 if ( ! yy_current_buffer )
2600 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
2601
2602 yy_init_buffer( yy_current_buffer, input_file );
2603 yy_load_buffer_state();
Reid Spencer6f407902007-01-13 05:00:46 +00002604 }
Reid Spencer41dff5e2007-01-26 08:05:27 +00002605
Reid Spencer68a24bd2005-08-27 18:50:39 +00002606
Reid Spencered951ea2007-05-19 07:22:10 +00002607#ifdef YY_USE_PROTOS
2608void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
2609#else
2610void yy_switch_to_buffer( new_buffer )
2611YY_BUFFER_STATE new_buffer;
2612#endif
2613 {
2614 if ( yy_current_buffer == new_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002615 return;
2616
Reid Spencered951ea2007-05-19 07:22:10 +00002617 if ( yy_current_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002618 {
2619 /* Flush out information for old buffer. */
Reid Spencered951ea2007-05-19 07:22:10 +00002620 *yy_c_buf_p = yy_hold_char;
2621 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
2622 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002623 }
2624
Reid Spencered951ea2007-05-19 07:22:10 +00002625 yy_current_buffer = new_buffer;
2626 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002627
2628 /* We don't actually know whether we did this switch during
Reid Spencered951ea2007-05-19 07:22:10 +00002629 * EOF (yywrap()) processing, but the only time this flag
2630 * is looked at is after yywrap() is called, so it's safe
Reid Spencer68a24bd2005-08-27 18:50:39 +00002631 * to go ahead and always set it.
2632 */
Reid Spencered951ea2007-05-19 07:22:10 +00002633 yy_did_buffer_switch_on_eof = 1;
2634 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002635
2636
Reid Spencered951ea2007-05-19 07:22:10 +00002637#ifdef YY_USE_PROTOS
2638void yy_load_buffer_state( void )
2639#else
2640void yy_load_buffer_state()
2641#endif
2642 {
2643 yy_n_chars = yy_current_buffer->yy_n_chars;
2644 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
2645 yyin = yy_current_buffer->yy_input_file;
2646 yy_hold_char = *yy_c_buf_p;
2647 }
2648
2649
2650#ifdef YY_USE_PROTOS
2651YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
2652#else
2653YY_BUFFER_STATE yy_create_buffer( file, size )
2654FILE *file;
2655int size;
2656#endif
2657 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002658 YY_BUFFER_STATE b;
Reid Spencered951ea2007-05-19 07:22:10 +00002659
2660 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002661 if ( ! b )
Reid Spencered951ea2007-05-19 07:22:10 +00002662 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002663
2664 b->yy_buf_size = size;
2665
2666 /* yy_ch_buf has to be 2 characters longer than the size given because
2667 * we need to put in 2 end-of-buffer characters.
2668 */
Reid Spencered951ea2007-05-19 07:22:10 +00002669 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002670 if ( ! b->yy_ch_buf )
Reid Spencered951ea2007-05-19 07:22:10 +00002671 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002672
2673 b->yy_is_our_buffer = 1;
2674
Reid Spencered951ea2007-05-19 07:22:10 +00002675 yy_init_buffer( b, file );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002676
2677 return b;
Reid Spencered951ea2007-05-19 07:22:10 +00002678 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002679
Reid Spencered951ea2007-05-19 07:22:10 +00002680
2681#ifdef YY_USE_PROTOS
2682void yy_delete_buffer( YY_BUFFER_STATE b )
2683#else
2684void yy_delete_buffer( b )
2685YY_BUFFER_STATE b;
2686#endif
2687 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002688 if ( ! b )
2689 return;
2690
Reid Spencered951ea2007-05-19 07:22:10 +00002691 if ( b == yy_current_buffer )
2692 yy_current_buffer = (YY_BUFFER_STATE) 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002693
2694 if ( b->yy_is_our_buffer )
Reid Spencered951ea2007-05-19 07:22:10 +00002695 yy_flex_free( (void *) b->yy_ch_buf );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002696
Reid Spencered951ea2007-05-19 07:22:10 +00002697 yy_flex_free( (void *) b );
2698 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002699
2700
Reid Spencered951ea2007-05-19 07:22:10 +00002701
2702#ifdef YY_USE_PROTOS
2703void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
2704#else
2705void yy_init_buffer( b, file )
2706YY_BUFFER_STATE b;
2707FILE *file;
2708#endif
2709
2710
2711 {
2712 yy_flush_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002713
2714 b->yy_input_file = file;
2715 b->yy_fill_buffer = 1;
2716
Reid Spencered951ea2007-05-19 07:22:10 +00002717#if YY_ALWAYS_INTERACTIVE
2718 b->yy_is_interactive = 1;
2719#else
2720#if YY_NEVER_INTERACTIVE
2721 b->yy_is_interactive = 0;
2722#else
2723 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
2724#endif
2725#endif
2726 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002727
2728
Reid Spencered951ea2007-05-19 07:22:10 +00002729#ifdef YY_USE_PROTOS
2730void yy_flush_buffer( YY_BUFFER_STATE b )
2731#else
2732void yy_flush_buffer( b )
2733YY_BUFFER_STATE b;
2734#endif
2735
2736 {
2737 if ( ! b )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002738 return;
2739
2740 b->yy_n_chars = 0;
2741
2742 /* We always need two end-of-buffer characters. The first causes
2743 * a transition to the end-of-buffer state. The second causes
2744 * a jam in that state.
2745 */
2746 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2747 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2748
2749 b->yy_buf_pos = &b->yy_ch_buf[0];
2750
2751 b->yy_at_bol = 1;
2752 b->yy_buffer_status = YY_BUFFER_NEW;
2753
Reid Spencered951ea2007-05-19 07:22:10 +00002754 if ( b == yy_current_buffer )
2755 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002756 }
2757
2758
Reid Spencered951ea2007-05-19 07:22:10 +00002759#ifndef YY_NO_SCAN_BUFFER
2760#ifdef YY_USE_PROTOS
2761YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
2762#else
2763YY_BUFFER_STATE yy_scan_buffer( base, size )
2764char *base;
2765yy_size_t size;
2766#endif
2767 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002768 YY_BUFFER_STATE b;
Reid Spencered951ea2007-05-19 07:22:10 +00002769
Reid Spencer68a24bd2005-08-27 18:50:39 +00002770 if ( size < 2 ||
2771 base[size-2] != YY_END_OF_BUFFER_CHAR ||
2772 base[size-1] != YY_END_OF_BUFFER_CHAR )
2773 /* They forgot to leave room for the EOB's. */
2774 return 0;
2775
Reid Spencered951ea2007-05-19 07:22:10 +00002776 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002777 if ( ! b )
Reid Spencered951ea2007-05-19 07:22:10 +00002778 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002779
2780 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2781 b->yy_buf_pos = b->yy_ch_buf = base;
2782 b->yy_is_our_buffer = 0;
2783 b->yy_input_file = 0;
2784 b->yy_n_chars = b->yy_buf_size;
2785 b->yy_is_interactive = 0;
2786 b->yy_at_bol = 1;
2787 b->yy_fill_buffer = 0;
2788 b->yy_buffer_status = YY_BUFFER_NEW;
2789
Reid Spencered951ea2007-05-19 07:22:10 +00002790 yy_switch_to_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002791
2792 return b;
Reid Spencered951ea2007-05-19 07:22:10 +00002793 }
2794#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002795
2796
Reid Spencered951ea2007-05-19 07:22:10 +00002797#ifndef YY_NO_SCAN_STRING
2798#ifdef YY_USE_PROTOS
2799YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
2800#else
2801YY_BUFFER_STATE yy_scan_string( yy_str )
2802yyconst char *yy_str;
2803#endif
2804 {
2805 int len;
2806 for ( len = 0; yy_str[len]; ++len )
2807 ;
2808
2809 return yy_scan_bytes( yy_str, len );
2810 }
2811#endif
2812
2813
2814#ifndef YY_NO_SCAN_BYTES
2815#ifdef YY_USE_PROTOS
2816YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
2817#else
2818YY_BUFFER_STATE yy_scan_bytes( bytes, len )
2819yyconst char *bytes;
2820int len;
2821#endif
2822 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002823 YY_BUFFER_STATE b;
2824 char *buf;
2825 yy_size_t n;
2826 int i;
Reid Spencered951ea2007-05-19 07:22:10 +00002827
Reid Spencer68a24bd2005-08-27 18:50:39 +00002828 /* Get memory for full buffer, including space for trailing EOB's. */
Reid Spencered951ea2007-05-19 07:22:10 +00002829 n = len + 2;
2830 buf = (char *) yy_flex_alloc( n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002831 if ( ! buf )
Reid Spencered951ea2007-05-19 07:22:10 +00002832 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002833
Reid Spencered951ea2007-05-19 07:22:10 +00002834 for ( i = 0; i < len; ++i )
2835 buf[i] = bytes[i];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002836
Reid Spencered951ea2007-05-19 07:22:10 +00002837 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002838
Reid Spencered951ea2007-05-19 07:22:10 +00002839 b = yy_scan_buffer( buf, n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002840 if ( ! b )
Reid Spencered951ea2007-05-19 07:22:10 +00002841 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002842
2843 /* It's okay to grow etc. this buffer, and we should throw it
2844 * away when we're done.
2845 */
2846 b->yy_is_our_buffer = 1;
2847
2848 return b;
Reid Spencered951ea2007-05-19 07:22:10 +00002849 }
2850#endif
2851
2852
2853#ifndef YY_NO_PUSH_STATE
2854#ifdef YY_USE_PROTOS
2855static void yy_push_state( int new_state )
2856#else
2857static void yy_push_state( new_state )
2858int new_state;
2859#endif
2860 {
2861 if ( yy_start_stack_ptr >= yy_start_stack_depth )
2862 {
2863 yy_size_t new_size;
2864
2865 yy_start_stack_depth += YY_START_STACK_INCR;
2866 new_size = yy_start_stack_depth * sizeof( int );
2867
2868 if ( ! yy_start_stack )
2869 yy_start_stack = (int *) yy_flex_alloc( new_size );
2870
2871 else
2872 yy_start_stack = (int *) yy_flex_realloc(
2873 (void *) yy_start_stack, new_size );
2874
2875 if ( ! yy_start_stack )
2876 YY_FATAL_ERROR(
2877 "out of memory expanding start-condition stack" );
2878 }
2879
2880 yy_start_stack[yy_start_stack_ptr++] = YY_START;
2881
2882 BEGIN(new_state);
2883 }
2884#endif
2885
2886
2887#ifndef YY_NO_POP_STATE
2888static void yy_pop_state()
2889 {
2890 if ( --yy_start_stack_ptr < 0 )
2891 YY_FATAL_ERROR( "start-condition stack underflow" );
2892
2893 BEGIN(yy_start_stack[yy_start_stack_ptr]);
2894 }
2895#endif
2896
2897
2898#ifndef YY_NO_TOP_STATE
2899static int yy_top_state()
2900 {
2901 return yy_start_stack[yy_start_stack_ptr - 1];
2902 }
2903#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002904
2905#ifndef YY_EXIT_FAILURE
2906#define YY_EXIT_FAILURE 2
2907#endif
2908
Reid Spencered951ea2007-05-19 07:22:10 +00002909#ifdef YY_USE_PROTOS
2910static void yy_fatal_error( yyconst char msg[] )
2911#else
2912static void yy_fatal_error( msg )
2913char msg[];
2914#endif
2915 {
2916 (void) fprintf( stderr, "%s\n", msg );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002917 exit( YY_EXIT_FAILURE );
Reid Spencered951ea2007-05-19 07:22:10 +00002918 }
2919
2920
Reid Spencer68a24bd2005-08-27 18:50:39 +00002921
2922/* Redefine yyless() so it works in section 3 code. */
2923
2924#undef yyless
2925#define yyless(n) \
2926 do \
2927 { \
Reid Spencered951ea2007-05-19 07:22:10 +00002928 /* Undo effects of setting up yytext. */ \
2929 yytext[yyleng] = yy_hold_char; \
2930 yy_c_buf_p = yytext + n; \
2931 yy_hold_char = *yy_c_buf_p; \
2932 *yy_c_buf_p = '\0'; \
2933 yyleng = n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00002934 } \
2935 while ( 0 )
2936
2937
Reid Spencered951ea2007-05-19 07:22:10 +00002938/* Internal utility routines. */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002939
2940#ifndef yytext_ptr
Reid Spencered951ea2007-05-19 07:22:10 +00002941#ifdef YY_USE_PROTOS
2942static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
2943#else
2944static void yy_flex_strncpy( s1, s2, n )
2945char *s1;
2946yyconst char *s2;
2947int n;
2948#endif
2949 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002950 register int i;
2951 for ( i = 0; i < n; ++i )
2952 s1[i] = s2[i];
Reid Spencered951ea2007-05-19 07:22:10 +00002953 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002954#endif
2955
2956#ifdef YY_NEED_STRLEN
Reid Spencered951ea2007-05-19 07:22:10 +00002957#ifdef YY_USE_PROTOS
2958static int yy_flex_strlen( yyconst char *s )
2959#else
2960static int yy_flex_strlen( s )
2961yyconst char *s;
2962#endif
2963 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002964 register int n;
2965 for ( n = 0; s[n]; ++n )
2966 ;
2967
2968 return n;
Reid Spencered951ea2007-05-19 07:22:10 +00002969 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002970#endif
2971
Reid Spencer9c9b63a2007-04-28 16:07:31 +00002972
Reid Spencered951ea2007-05-19 07:22:10 +00002973#ifdef YY_USE_PROTOS
2974static void *yy_flex_alloc( yy_size_t size )
2975#else
2976static void *yy_flex_alloc( size )
2977yy_size_t size;
2978#endif
2979 {
2980 return (void *) malloc( size );
2981 }
2982
2983#ifdef YY_USE_PROTOS
2984static inline void *yy_flex_realloc( void *ptr, yy_size_t size )
2985#else
2986static inline void *yy_flex_realloc( ptr, size )
2987void *ptr;
2988yy_size_t size;
2989#endif
2990 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002991 /* The cast to (char *) in the following accommodates both
2992 * implementations that use char* generic pointers, and those
2993 * that use void* generic pointers. It works with the latter
2994 * because both ANSI C and C++ allow castless assignment from
2995 * any pointer type to void*, and deal with argument conversions
2996 * as though doing an assignment.
2997 */
2998 return (void *) realloc( (char *) ptr, size );
Reid Spencered951ea2007-05-19 07:22:10 +00002999 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00003000
Reid Spencered951ea2007-05-19 07:22:10 +00003001#ifdef YY_USE_PROTOS
3002static void yy_flex_free( void *ptr )
3003#else
3004static void yy_flex_free( ptr )
3005void *ptr;
3006#endif
3007 {
3008 free( ptr );
3009 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00003010
Reid Spencered951ea2007-05-19 07:22:10 +00003011#if YY_MAIN
3012int main()
3013 {
3014 yylex();
3015 return 0;
3016 }
3017#endif
Reid Spencerb8f85052007-07-31 03:50:36 +00003018#line 451 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Chris Lattner2fecc0f2006-02-15 07:02:59 +00003019