blob: 1806523836b5183fbc9ef7b58ff9d79d908c35a9 [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 Spencerd8e616b2007-07-31 03:55:56 +0000462 0, 0, 1272, 1273, 1273, 1273, 1267, 1256, 41, 36,
Reid Spencerb8f85052007-07-31 03:50:36 +0000463 45, 51, 57, 63, 0, 74, 66, 69, 68, 90,
464 92, 121, 78, 36, 148, 93, 117, 114, 167, 138,
Reid Spencerd8e616b2007-07-31 03:55:56 +0000465 67, 194, 152, 226, 134, 95, 103, 101, 1265, 1273,
466 1254, 1273, 1263, 0, 199, 216, 232, 131, 253, 269,
467 274, 0, 1262, 0, 203, 119, 154, 150, 115, 163,
468 149, 80, 1251, 191, 49, 164, 157, 108, 279, 81,
469 184, 169, 1250, 223, 239, 188, 220, 224, 276, 182,
Reid Spencerb8f85052007-07-31 03:50:36 +0000470 237, 241, 245, 295, 258, 288, 118, 289, 296, 233,
471 297, 306, 301, 298, 303, 304, 305, 308, 319, 323,
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,
Reid Spencerd8e616b2007-07-31 03:55:56 +0000474 341, 356, 352, 344, 342, 186, 345, 360, 348, 1249,
Reid Spencerb8f85052007-07-31 03:50:36 +0000475 369, 371, 372, 375, 377, 373, 378, 389, 385, 379,
Reid Spencerd8e616b2007-07-31 03:55:56 +0000476 390, 403, 407, 392, 393, 1248, 1257, 1273, 0, 421,
477 1246, 436, 454, 0, 1255, 1273, 0, 1244, 437, 381,
478 1243, 412, 423, 1242, 410, 430, 455, 413, 1241, 456,
479 439, 457, 426, 427, 428, 458, 459, 1240, 460, 464,
Reid Spencerb8f85052007-07-31 03:50:36 +0000480 467, 469, 471, 473, 474, 476, 475, 478, 477, 481,
481 480, 483, 486, 494, 501, 499, 506, 503, 505, 507,
Reid Spencerd8e616b2007-07-31 03:55:56 +0000482 508, 1239, 510, 513, 514, 517, 515, 1238, 1237, 1236,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000483
Reid Spencerd8e616b2007-07-31 03:55:56 +0000484 1235, 1234, 1233, 511, 1232, 1231, 516, 519, 1230, 548,
485 522, 525, 526, 537, 1229, 1228, 1227, 528, 550, 553,
486 562, 1226, 1225, 563, 542, 1224, 541, 566, 567, 568,
487 569, 573, 574, 570, 1223, 1222, 1221, 575, 1220, 1219,
488 576, 1218, 1217, 585, 588, 590, 592, 597, 593, 600,
489 572, 1216, 601, 603, 1273, 612, 632, 636, 640, 645,
490 623, 647, 530, 648, 1215, 649, 612, 605, 1214, 650,
Reid Spencerb8f85052007-07-31 03:50:36 +0000491 651, 652, 613, 653, 655, 654, 656, 660, 657, 664,
Reid Spencerd8e616b2007-07-31 03:55:56 +0000492 604, 672, 1213, 1212, 659, 661, 663, 662, 1211, 1210,
493 674, 678, 681, 1209, 677, 692, 693, 694, 695, 696,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000494
Reid Spencerd8e616b2007-07-31 03:55:56 +0000495 697, 1208, 1207, 698, 702, 1206, 705, 699, 700, 1205,
496 701, 711, 703, 0, 1204, 706, 724, 740, 725, 731,
497 733, 734, 1203, 1202, 737, 730, 1201, 739, 742, 735,
498 1200, 744, 1199, 1198, 746, 750, 753, 754, 1197, 755,
499 1196, 756, 1195, 758, 760, 775, 769, 1194, 1193, 773,
500 762, 1192, 776, 1191, 778, 782, 783, 784, 785, 617,
501 787, 790, 791, 793, 792, 1190, 794, 1189, 1188, 798,
502 803, 796, 805, 797, 804, 1187, 808, 809, 816, 818,
503 1186, 819, 821, 820, 825, 823, 824, 833, 826, 835,
504 839, 840, 59, 1273, 841, 842, 844, 845, 1185, 846,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000505
Reid Spencerd8e616b2007-07-31 03:55:56 +0000506 847, 851, 852, 1184, 850, 1183, 855, 866, 856, 867,
507 873, 854, 861, 869, 719, 1273, 1182, 874, 876, 1181,
508 877, 880, 882, 1180, 883, 884, 885, 1179, 891, 886,
509 1178, 1177, 1176, 890, 894, 1175, 1174, 902, 893, 901,
510 1173, 905, 1172, 1171, 907, 914, 908, 1170, 915, 916,
511 917, 1169, 918, 920, 919, 1168, 1167, 1166, 704, 1165,
512 1164, 924, 1163, 1162, 922, 921, 923, 927, 933, 940,
513 1161, 929, 941, 1160, 1159, 942, 945, 946, 949, 952,
514 1158, 956, 954, 955, 950, 959, 1157, 957, 968, 974,
515 961, 1156, 963, 976, 1155, 978, 981, 980, 979, 983,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000516
Reid Spencerd8e616b2007-07-31 03:55:56 +0000517 1154, 982, 988, 1153, 992, 995, 996, 997, 1152, 993,
518 998, 1001, 1151, 1150, 1149, 1133, 1121, 999, 1120, 1002,
519 1005, 1004, 1014, 1119, 1010, 1022, 1015, 1118, 1024, 1115,
520 1114, 1025, 1026, 1027, 1030, 1113, 1032, 1033, 1034, 1037,
521 1035, 1038, 1039, 1112, 1043, 1044, 1046, 1049, 1050, 1111,
522 1056, 1055, 1052, 1060, 1063, 1110, 1067, 1064, 1069, 1070,
523 1075, 1109, 1078, 1072, 1071, 1081, 1073, 1082, 1083, 1108,
524 1084, 1090, 1086, 1093, 1103, 1102, 1101, 1096, 948, 1097,
525 346, 259, 1100, 256, 1273, 1136, 1138, 1141, 1145, 1148,
526 1152, 235, 1157, 165
Reid Spencerb8f85052007-07-31 03:50:36 +0000527
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 Spencerd8e616b2007-07-31 03:55:56 +0000600static yyconst short int yy_nxt[1318] =
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 Spencerd8e616b2007-07-31 03:55:56 +0000681 415, 416, 496, 380, 42, 381, 379, 377, 378, 382,
Reid Spencerb8f85052007-07-31 03:50:36 +0000682 383, 384, 385, 391, 389, 390, 386, 42, 42, 388,
683 387, 393, 394, 42, 42, 392, 42, 42, 42, 395,
684 42, 400, 42, 42, 396, 42, 397, 42, 398, 42,
685 399, 402, 401, 42, 403, 404, 42, 42, 42, 42,
686 405, 42, 407, 42, 406, 42, 415, 416, 347, 347,
687 347, 347, 411, 413, 418, 408, 42, 414, 42, 42,
688 409, 42, 417, 410, 412, 42, 42, 42, 42, 420,
689
690 42, 421, 422, 42, 42, 42, 42, 42, 424, 42,
691 42, 42, 419, 430, 428, 431, 42, 42, 42, 423,
692 426, 42, 42, 427, 429, 432, 436, 434, 435, 42,
693 433, 42, 42, 42, 42, 437, 42, 42, 42, 42,
694 439, 441, 443, 444, 445, 438, 42, 449, 42, 440,
695 442, 447, 42, 42, 42, 42, 448, 42, 42, 42,
696 42, 446, 450, 42, 42, 42, 454, 42, 42, 42,
697 453, 451, 457, 459, 42, 460, 462, 452, 456, 42,
Reid Spencerd8e616b2007-07-31 03:55:56 +0000698 42, 464, 42, 461, 458, 455, 42, 42, 463, 42,
699 42, 467, 466, 42, 465, 42, 42, 42, 42, 42,
Reid Spencerb8f85052007-07-31 03:50:36 +0000700
Reid Spencerd8e616b2007-07-31 03:55:56 +0000701 469, 470, 468, 42, 42, 474, 42, 42, 472, 478,
702 479, 481, 484, 471, 42, 42, 476, 477, 42, 475,
703 42, 42, 473, 480, 482, 483, 486, 42, 42, 42,
704 42, 42, 42, 42, 42, 42, 42, 42, 485, 489,
705 42, 493, 42, 487, 494, 500, 42, 491, 492, 488,
706 497, 498, 490, 42, 42, 42, 495, 499, 42, 42,
707 502, 42, 42, 42, 501, 42, 504, 42, 42, 42,
708 42, 503, 42, 505, 42, 510, 42, 506, 509, 511,
709 507, 42, 515, 512, 513, 514, 508, 42, 516, 42,
710 517, 42, 42, 42, 42, 42, 42, 518, 519, 521,
Reid Spencerb8f85052007-07-31 03:50:36 +0000711
Reid Spencerd8e616b2007-07-31 03:55:56 +0000712 523, 42, 520, 524, 526, 42, 42, 522, 42, 42,
713 42, 42, 42, 528, 42, 42, 525, 42, 42, 527,
714 532, 536, 533, 42, 535, 537, 538, 42, 42, 534,
715 529, 541, 530, 531, 540, 42, 539, 42, 42, 42,
716 42, 542, 543, 42, 545, 42, 42, 42, 42, 546,
717 42, 42, 42, 549, 553, 551, 42, 42, 555, 42,
718 548, 544, 42, 42, 547, 42, 552, 554, 42, 42,
719 550, 556, 559, 42, 557, 561, 42, 42, 562, 558,
720 42, 563, 42, 42, 42, 42, 42, 560, 42, 564,
721 566, 42, 565, 572, 42, 42, 42, 42, 573, 42,
Reid Spencerb8f85052007-07-31 03:50:36 +0000722
Reid Spencerd8e616b2007-07-31 03:55:56 +0000723 568, 567, 569, 42, 570, 578, 42, 571, 575, 42,
724 42, 579, 574, 42, 42, 42, 42, 582, 577, 576,
725 583, 42, 42, 42, 42, 42, 42, 42, 42, 580,
726 581, 42, 42, 42, 42, 584, 39, 39, 39, 39,
727 39, 41, 41, 44, 44, 52, 42, 52, 52, 52,
728 54, 54, 137, 137, 137, 137, 137, 145, 145, 145,
729 145, 145, 42, 42, 42, 42, 42, 42, 42, 42,
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,
Reid Spencerd8e616b2007-07-31 03:55:56 +0000739 42, 42, 42, 42, 42, 42, 42, 42, 146, 42,
740 138, 255, 42, 42, 42, 146, 138, 42, 136, 42,
741 40, 585, 3, 585, 585, 585, 585, 585, 585, 585,
Reid Spencerb8f85052007-07-31 03:50:36 +0000742 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
743 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
744
745 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
Reid Spencerd8e616b2007-07-31 03:55:56 +0000746 585, 585, 585, 585, 585, 585, 585
Reid Spencer68a24bd2005-08-27 18:50:39 +0000747 } ;
748
Reid Spencerd8e616b2007-07-31 03:55:56 +0000749static yyconst short int yy_chk[1318] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000750 { 0,
751 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
752 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
753 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
754 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Reid Spencered951ea2007-05-19 07:22:10 +0000755 1, 1, 1, 1, 9, 10, 10, 10, 10, 24,
756 9, 9, 9, 9, 11, 11, 11, 11, 11, 12,
Reid Spencerb8f85052007-07-31 03:50:36 +0000757 393, 393, 65, 24, 12, 13, 13, 13, 13, 13,
758 13, 14, 14, 14, 14, 14, 14, 16, 65, 17,
Reid Spencered951ea2007-05-19 07:22:10 +0000759 31, 19, 18, 16, 16, 16, 16, 19, 17, 19,
Reid Spencerb8f85052007-07-31 03:50:36 +0000760 31, 23, 18, 62, 70, 17, 18, 17, 13, 17,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000761
Reid Spencerb8f85052007-07-31 03:50:36 +0000762 19, 23, 17, 20, 18, 21, 26, 23, 36, 20,
763 70, 18, 26, 20, 38, 37, 37, 62, 36, 20,
764 26, 68, 20, 21, 38, 26, 21, 28, 59, 26,
765 27, 87, 56, 21, 22, 37, 27, 28, 87, 48,
766 22, 56, 22, 22, 48, 68, 28, 35, 59, 27,
767 22, 30, 28, 35, 22, 27, 22, 25, 25, 25,
768 25, 25, 61, 58, 30, 33, 35, 57, 594, 25,
769 67, 33, 58, 30, 61, 30, 60, 66, 33, 25,
770 29, 57, 72, 57, 33, 66, 67, 33, 67, 60,
771 29, 72, 29, 60, 33, 80, 29, 71, 29, 116,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000772
Reid Spencerb8f85052007-07-31 03:50:36 +0000773 29, 76, 29, 32, 64, 80, 116, 32, 45, 45,
774 45, 45, 55, 55, 55, 55, 32, 32, 76, 32,
775 32, 32, 71, 32, 46, 46, 46, 46, 46, 32,
776 64, 32, 32, 77, 32, 34, 74, 78, 592, 34,
777 47, 47, 47, 47, 47, 47, 90, 77, 34, 34,
778 81, 34, 75, 34, 82, 34, 78, 34, 83, 90,
779 74, 34, 49, 49, 49, 49, 49, 83, 75, 584,
780 49, 85, 582, 82, 81, 75, 49, 50, 50, 50,
781 50, 50, 50, 51, 51, 51, 51, 51, 85, 79,
782 51, 51, 69, 51, 51, 51, 51, 51, 51, 79,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000783
Reid Spencerb8f85052007-07-31 03:50:36 +0000784 69, 86, 88, 69, 84, 84, 84, 84, 84, 89,
785 91, 94, 69, 79, 93, 89, 95, 96, 97, 92,
786 88, 98, 95, 86, 86, 86, 91, 86, 92, 101,
787 93, 98, 99, 96, 94, 101, 100, 103, 95, 97,
788 102, 95, 99, 104, 105, 98, 100, 106, 107, 102,
789 108, 103, 109, 110, 111, 115, 99, 114, 117, 581,
790 109, 119, 104, 110, 108, 113, 105, 114, 109, 112,
791 111, 106, 117, 118, 115, 113, 107, 110, 112, 111,
792 109, 112, 121, 119, 122, 123, 126, 118, 124, 113,
793 125, 127, 130, 112, 150, 118, 121, 130, 129, 123,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000794
Reid Spencerb8f85052007-07-31 03:50:36 +0000795 125, 127, 128, 131, 122, 134, 135, 121, 129, 124,
796 126, 128, 128, 150, 125, 127, 132, 131, 133, 131,
797 133, 128, 132, 155, 128, 152, 158, 134, 135, 128,
798 140, 140, 140, 140, 135, 152, 153, 155, 140, 163,
799 164, 165, 158, 156, 140, 142, 142, 142, 142, 142,
800 149, 156, 161, 142, 164, 163, 149, 165, 153, 142,
801 143, 143, 149, 143, 143, 143, 143, 143, 157, 160,
802 162, 166, 167, 169, 157, 161, 162, 170, 160, 167,
803 171, 166, 172, 169, 173, 166, 174, 175, 177, 176,
804 179, 178, 174, 181, 180, 169, 182, 179, 177, 183,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000805
Reid Spencerb8f85052007-07-31 03:50:36 +0000806 170, 178, 172, 180, 171, 177, 182, 184, 176, 183,
807 173, 176, 186, 181, 185, 175, 188, 184, 189, 187,
808 190, 191, 186, 193, 204, 188, 194, 195, 197, 207,
809 196, 184, 208, 185, 187, 211, 190, 195, 212, 213,
810 189, 218, 194, 263, 197, 204, 191, 193, 196, 213,
811 214, 263, 218, 207, 227, 225, 208, 210, 210, 210,
812 210, 211, 212, 219, 210, 210, 220, 210, 210, 210,
813 210, 210, 210, 219, 214, 221, 224, 225, 227, 228,
814 229, 230, 231, 234, 220, 251, 232, 233, 238, 241,
815 251, 230, 229, 224, 221, 228, 232, 233, 244, 241,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000816
Reid Spencerb8f85052007-07-31 03:50:36 +0000817 224, 245, 231, 246, 232, 247, 249, 238, 244, 234,
818 248, 247, 249, 250, 253, 245, 254, 281, 268, 248,
819 246, 256, 256, 256, 256, 267, 273, 281, 250, 256,
820 360, 267, 273, 253, 268, 256, 261, 360, 257, 257,
821 254, 257, 257, 257, 257, 258, 258, 258, 258, 259,
822 259, 259, 259, 259, 260, 260, 260, 260, 260, 261,
823 262, 264, 266, 270, 271, 272, 274, 276, 275, 277,
824 279, 270, 285, 278, 286, 288, 287, 280, 262, 264,
825 266, 272, 275, 280, 274, 282, 277, 291, 271, 278,
826 295, 292, 279, 282, 293, 276, 285, 292, 286, 287,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000827
Reid Spencerb8f85052007-07-31 03:50:36 +0000828 288, 287, 295, 291, 293, 296, 297, 298, 299, 300,
829 301, 304, 308, 309, 311, 305, 313, 459, 307, 316,
Reid Spencerd8e616b2007-07-31 03:55:56 +0000830 415, 415, 459, 299, 312, 300, 298, 296, 297, 301,
Reid Spencerb8f85052007-07-31 03:50:36 +0000831 304, 305, 307, 316, 312, 313, 308, 317, 319, 311,
832 309, 318, 318, 326, 320, 317, 321, 322, 330, 319,
833 325, 326, 328, 318, 320, 329, 321, 332, 322, 335,
834 325, 329, 328, 336, 330, 332, 337, 338, 340, 342,
835 335, 344, 337, 345, 336, 351, 346, 346, 347, 347,
836 347, 347, 344, 345, 351, 338, 350, 345, 346, 353,
837 340, 355, 350, 342, 344, 356, 357, 358, 359, 355,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000838
Reid Spencerb8f85052007-07-31 03:50:36 +0000839 361, 356, 357, 362, 363, 365, 364, 367, 359, 372,
840 374, 370, 353, 365, 363, 367, 371, 375, 373, 358,
841 361, 377, 378, 362, 364, 370, 374, 372, 373, 379,
842 371, 380, 382, 384, 383, 375, 386, 387, 385, 389,
843 378, 380, 383, 384, 385, 377, 388, 389, 390, 379,
844 382, 387, 391, 392, 395, 396, 388, 397, 398, 400,
845 401, 386, 390, 405, 402, 403, 396, 412, 407, 409,
846 395, 391, 400, 402, 413, 403, 407, 392, 398, 408,
Reid Spencerd8e616b2007-07-31 03:55:56 +0000847 410, 409, 414, 405, 401, 397, 411, 418, 408, 419,
848 421, 412, 411, 422, 410, 423, 425, 426, 427, 430,
Chris Lattnere869eef2005-11-12 00:11:49 +0000849
Reid Spencerd8e616b2007-07-31 03:55:56 +0000850 414, 418, 413, 434, 429, 423, 439, 435, 421, 429,
851 429, 434, 439, 419, 440, 438, 426, 427, 442, 425,
852 445, 447, 422, 430, 435, 438, 442, 446, 449, 450,
853 451, 453, 455, 454, 466, 465, 467, 462, 440, 447,
854 468, 453, 472, 445, 454, 467, 469, 450, 451, 446,
855 462, 465, 449, 470, 473, 476, 455, 466, 477, 478,
856 469, 579, 479, 485, 468, 480, 472, 483, 484, 482,
857 488, 470, 486, 473, 491, 480, 493, 476, 479, 482,
858 477, 489, 486, 483, 484, 485, 478, 490, 488, 494,
859 489, 496, 499, 498, 497, 502, 500, 490, 491, 494,
Chris Lattner75466192006-05-19 21:28:53 +0000860
Reid Spencerd8e616b2007-07-31 03:55:56 +0000861 497, 503, 493, 498, 500, 505, 510, 496, 506, 507,
862 508, 511, 518, 503, 512, 520, 499, 522, 521, 502,
863 508, 518, 510, 525, 512, 520, 521, 523, 527, 511,
864 505, 525, 506, 507, 523, 526, 522, 529, 532, 533,
865 534, 526, 527, 535, 532, 537, 538, 539, 541, 533,
866 540, 542, 543, 537, 541, 539, 545, 546, 543, 547,
867 535, 529, 548, 549, 534, 553, 540, 542, 552, 551,
868 538, 545, 548, 554, 546, 551, 555, 558, 552, 547,
869 557, 553, 559, 560, 565, 564, 567, 549, 561, 554,
870 557, 563, 555, 564, 566, 568, 569, 571, 565, 573,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000871
Reid Spencerd8e616b2007-07-31 03:55:56 +0000872 559, 558, 560, 572, 561, 571, 574, 563, 567, 578,
873 580, 572, 566, 583, 577, 576, 575, 578, 569, 568,
874 580, 570, 562, 556, 550, 544, 536, 531, 530, 573,
875 574, 528, 524, 519, 517, 583, 586, 586, 586, 586,
876 586, 587, 587, 588, 588, 589, 516, 589, 589, 589,
877 590, 590, 591, 591, 591, 591, 591, 593, 593, 593,
878 593, 593, 515, 514, 513, 509, 504, 501, 495, 492,
879 487, 481, 475, 474, 471, 464, 463, 461, 460, 458,
880 457, 456, 452, 448, 444, 443, 441, 437, 436, 433,
881 432, 431, 428, 424, 420, 417, 406, 404, 399, 381,
Reid Spencer3da59db2006-11-27 01:05:10 +0000882
Reid Spencerd8e616b2007-07-31 03:55:56 +0000883 376, 369, 368, 366, 354, 352, 349, 348, 343, 341,
884 339, 334, 333, 331, 327, 324, 323, 315, 310, 306,
885 303, 302, 294, 290, 289, 284, 283, 269, 265, 252,
886 243, 242, 240, 239, 237, 236, 235, 226, 223, 222,
887 217, 216, 215, 209, 206, 205, 203, 202, 201, 200,
888 199, 198, 192, 168, 159, 154, 151, 148, 145, 141,
889 137, 136, 120, 73, 63, 53, 43, 41, 39, 8,
890 7, 3, 585, 585, 585, 585, 585, 585, 585, 585,
Reid Spencerb8f85052007-07-31 03:50:36 +0000891 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
892 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
893
894 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
Reid Spencerd8e616b2007-07-31 03:55:56 +0000895 585, 585, 585, 585, 585, 585, 585
Reid Spencer68a24bd2005-08-27 18:50:39 +0000896 } ;
897
Reid Spencered951ea2007-05-19 07:22:10 +0000898static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
899static char *yy_full_match;
900static int yy_lp;
901#define REJECT \
902{ \
903*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
904yy_cp = yy_full_match; /* restore poss. backed-over text */ \
905++yy_lp; \
906goto find_rule; \
907}
Reid Spencer68a24bd2005-08-27 18:50:39 +0000908#define yymore() yymore_used_but_not_detected
909#define YY_MORE_ADJ 0
910#define YY_RESTORE_YY_MORE_OFFSET
Reid Spencered951ea2007-05-19 07:22:10 +0000911char *yytext;
Reid Spencerb8f85052007-07-31 03:50:36 +0000912#line 1 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencered951ea2007-05-19 07:22:10 +0000913#define INITIAL 0
Reid Spencer68a24bd2005-08-27 18:50:39 +0000914/*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
915//
916// The LLVM Compiler Infrastructure
917//
918// This file was developed by the LLVM research group and is distributed under
919// the University of Illinois Open Source License. See LICENSE.TXT for details.
920//
921//===----------------------------------------------------------------------===//
922//
923// This file implements the flex scanner for LLVM assembly languages files.
924//
925//===----------------------------------------------------------------------===*/
Reid Spencered951ea2007-05-19 07:22:10 +0000926#define YY_NEVER_INTERACTIVE 1
Reid Spencerb8f85052007-07-31 03:50:36 +0000927#line 28 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +0000928#include "ParserInternals.h"
929#include "llvm/Module.h"
Chris Lattner8e008322007-05-22 06:47:55 +0000930#include "llvm/Support/MathExtras.h"
Reid Spencer68a24bd2005-08-27 18:50:39 +0000931#include <list>
932#include "llvmAsmParser.h"
933#include <cctype>
934#include <cstdlib>
935
936void set_scan_file(FILE * F){
Reid Spencered951ea2007-05-19 07:22:10 +0000937 yy_switch_to_buffer(yy_create_buffer( F, YY_BUF_SIZE ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +0000938}
939void set_scan_string (const char * str) {
Reid Spencered951ea2007-05-19 07:22:10 +0000940 yy_scan_string (str);
Reid Spencer68a24bd2005-08-27 18:50:39 +0000941}
942
Reid Spencer3ed469c2006-11-02 20:25:50 +0000943// Construct a token value for a non-obsolete token
Reid Spencer68a24bd2005-08-27 18:50:39 +0000944#define RET_TOK(type, Enum, sym) \
Reid Spencera132e042006-12-03 05:46:11 +0000945 llvmAsmlval.type = Instruction::Enum; \
946 return sym
947
Reid Spencer3ed469c2006-11-02 20:25:50 +0000948// Construct a token value for an obsolete token
Reid Spencera132e042006-12-03 05:46:11 +0000949#define RET_TY(CTYPE, SYM) \
950 llvmAsmlval.PrimType = CTYPE;\
Reid Spencer481169e2006-12-01 00:33:46 +0000951 return SYM
Reid Spencer68a24bd2005-08-27 18:50:39 +0000952
953namespace llvm {
954
955// TODO: All of the static identifiers are figured out by the lexer,
956// these should be hashed to reduce the lexer size
957
958
959// atoull - Convert an ascii string of decimal digits into the unsigned long
960// long representation... this does not have to do input error checking,
961// because we know that the input will be matched by a suitable regex...
962//
963static uint64_t atoull(const char *Buffer) {
964 uint64_t Result = 0;
965 for (; *Buffer; Buffer++) {
966 uint64_t OldRes = Result;
967 Result *= 10;
968 Result += *Buffer-'0';
969 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000970 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000971 }
972 return Result;
973}
974
975static uint64_t HexIntToVal(const char *Buffer) {
976 uint64_t Result = 0;
977 for (; *Buffer; ++Buffer) {
978 uint64_t OldRes = Result;
979 Result *= 16;
980 char C = *Buffer;
981 if (C >= '0' && C <= '9')
982 Result += C-'0';
983 else if (C >= 'A' && C <= 'F')
984 Result += C-'A'+10;
985 else if (C >= 'a' && C <= 'f')
986 Result += C-'a'+10;
987
988 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000989 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000990 }
991 return Result;
992}
993
994
995// HexToFP - Convert the ascii string in hexidecimal format to the floating
996// point representation of it.
997//
998static double HexToFP(const char *Buffer) {
Chris Lattner8e008322007-05-22 06:47:55 +0000999 return BitsToDouble(HexIntToVal(Buffer)); // Cast Hex constant to double
Reid Spencer68a24bd2005-08-27 18:50:39 +00001000}
1001
1002
1003// UnEscapeLexed - Run through the specified buffer and change \xx codes to the
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001004// appropriate character.
Reid Spencere2aa9612007-05-22 19:08:16 +00001005char *UnEscapeLexed(char *Buffer, char* EndBuffer) {
Reid Spencer68a24bd2005-08-27 18:50:39 +00001006 char *BOut = Buffer;
1007 for (char *BIn = Buffer; *BIn; ) {
Reid Spencere2aa9612007-05-22 19:08:16 +00001008 if (BIn[0] == '\\') {
1009 if (BIn < EndBuffer-1 && BIn[1] == '\\') {
1010 *BOut++ = '\\'; // Two \ becomes one
1011 BIn += 2;
1012 } else if (BIn < EndBuffer-2 && isxdigit(BIn[1]) && isxdigit(BIn[2])) {
1013 char Tmp = BIn[3]; BIn[3] = 0; // Terminate string
1014 *BOut = (char)strtol(BIn+1, 0, 16); // Convert to number
1015 BIn[3] = Tmp; // Restore character
1016 BIn += 3; // Skip over handled chars
1017 ++BOut;
1018 } else {
1019 *BOut++ = *BIn++;
1020 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001021 } else {
1022 *BOut++ = *BIn++;
1023 }
1024 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001025 return BOut;
1026}
1027
1028} // End llvm namespace
1029
1030using namespace llvm;
1031
1032#define YY_NEVER_INTERACTIVE 1
1033/* Comments start with a ; and go till end of line */
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001034/* Local Values and Type identifiers start with a % sign */
1035/* Global Value identifiers start with an @ sign */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001036/* Label identifiers end with a colon */
1037/* Quoted names can contain any character except " and \ */
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001038/* LocalVarID/GlobalVarID: match an unnamed local variable slot ID. */
1039/* Integer types are specified with i and a bitwidth */
1040/* E[PN]Integer: match positive and negative literal integer values. */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001041/* FPConstant - A Floating point constant.
1042 */
1043/* HexFPConstant - Floating point constant represented in IEEE format as a
1044 * hexadecimal number for when exponential notation is not precise enough.
1045 */
1046/* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
1047 * it to deal with 64 bit numbers.
1048 */
Reid Spencerd8e616b2007-07-31 03:55:56 +00001049/* WSNL - shorthand for whitespace followed by newline */
1050#line 1051 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001051
1052/* Macros after this point can all be overridden by user definitions in
1053 * section 1.
1054 */
1055
1056#ifndef YY_SKIP_YYWRAP
1057#ifdef __cplusplus
Reid Spencered951ea2007-05-19 07:22:10 +00001058extern "C" int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001059#else
Reid Spencered951ea2007-05-19 07:22:10 +00001060extern int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001061#endif
1062#endif
1063
Reid Spencered951ea2007-05-19 07:22:10 +00001064#ifndef YY_NO_UNPUT
1065static inline void yyunput YY_PROTO(( int c, char *buf_ptr ));
1066#endif
1067
Reid Spencer68a24bd2005-08-27 18:50:39 +00001068#ifndef yytext_ptr
Reid Spencered951ea2007-05-19 07:22:10 +00001069static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001070#endif
1071
1072#ifdef YY_NEED_STRLEN
Reid Spencered951ea2007-05-19 07:22:10 +00001073static int yy_flex_strlen YY_PROTO(( yyconst char * ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001074#endif
1075
1076#ifndef YY_NO_INPUT
1077#ifdef __cplusplus
Reid Spencered951ea2007-05-19 07:22:10 +00001078static int yyinput YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001079#else
Reid Spencered951ea2007-05-19 07:22:10 +00001080static int input YY_PROTO(( void ));
1081#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001082#endif
1083
Reid Spencered951ea2007-05-19 07:22:10 +00001084#if YY_STACK_USED
1085static int yy_start_stack_ptr = 0;
1086static int yy_start_stack_depth = 0;
1087static int *yy_start_stack = 0;
1088#ifndef YY_NO_PUSH_STATE
1089static void yy_push_state YY_PROTO(( int new_state ));
1090#endif
1091#ifndef YY_NO_POP_STATE
1092static void yy_pop_state YY_PROTO(( void ));
1093#endif
1094#ifndef YY_NO_TOP_STATE
1095static int yy_top_state YY_PROTO(( void ));
1096#endif
1097
1098#else
1099#define YY_NO_PUSH_STATE 1
1100#define YY_NO_POP_STATE 1
1101#define YY_NO_TOP_STATE 1
1102#endif
1103
1104#ifdef YY_MALLOC_DECL
1105YY_MALLOC_DECL
1106#else
1107#if __STDC__
1108#ifndef __cplusplus
1109#include <stdlib.h>
1110#endif
1111#else
1112/* Just try to get by without declaring the routines. This will fail
1113 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1114 * or sizeof(void*) != sizeof(int).
1115 */
1116#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001117#endif
1118
1119/* Amount of stuff to slurp up with each read. */
1120#ifndef YY_READ_BUF_SIZE
1121#define YY_READ_BUF_SIZE 8192
1122#endif
1123
1124/* Copy whatever the last rule matched to the standard output. */
Reid Spencered951ea2007-05-19 07:22:10 +00001125
Reid Spencer68a24bd2005-08-27 18:50:39 +00001126#ifndef ECHO
1127/* This used to be an fputs(), but since the string might contain NUL's,
1128 * we now use fwrite().
1129 */
Reid Spencered951ea2007-05-19 07:22:10 +00001130#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001131#endif
1132
1133/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1134 * is returned in "result".
1135 */
1136#ifndef YY_INPUT
1137#define YY_INPUT(buf,result,max_size) \
Reid Spencered951ea2007-05-19 07:22:10 +00001138 if ( yy_current_buffer->yy_is_interactive ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001139 { \
Reid Spencered951ea2007-05-19 07:22:10 +00001140 int c = '*', n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001141 for ( n = 0; n < max_size && \
Reid Spencered951ea2007-05-19 07:22:10 +00001142 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001143 buf[n] = (char) c; \
1144 if ( c == '\n' ) \
1145 buf[n++] = (char) c; \
Reid Spencered951ea2007-05-19 07:22:10 +00001146 if ( c == EOF && ferror( yyin ) ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001147 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1148 result = n; \
1149 } \
Reid Spencered951ea2007-05-19 07:22:10 +00001150 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1151 && ferror( yyin ) ) \
1152 YY_FATAL_ERROR( "input in flex scanner failed" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001153#endif
1154
1155/* No semi-colon after return; correct usage is to write "yyterminate();" -
1156 * we don't want an extra ';' after the "return" because that will cause
1157 * some compilers to complain about unreachable statements.
1158 */
1159#ifndef yyterminate
1160#define yyterminate() return YY_NULL
1161#endif
1162
1163/* Number of entries by which start-condition stack grows. */
1164#ifndef YY_START_STACK_INCR
1165#define YY_START_STACK_INCR 25
1166#endif
1167
1168/* Report a fatal error. */
1169#ifndef YY_FATAL_ERROR
1170#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1171#endif
1172
1173/* Default declaration of generated scanner - a define so the user can
1174 * easily add parameters.
1175 */
1176#ifndef YY_DECL
Reid Spencered951ea2007-05-19 07:22:10 +00001177#define YY_DECL int yylex YY_PROTO(( void ))
1178#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001179
Reid Spencered951ea2007-05-19 07:22:10 +00001180/* Code executed at the beginning of each rule, after yytext and yyleng
Reid Spencer68a24bd2005-08-27 18:50:39 +00001181 * have been set up.
1182 */
1183#ifndef YY_USER_ACTION
1184#define YY_USER_ACTION
1185#endif
1186
1187/* Code executed at the end of each rule. */
1188#ifndef YY_BREAK
1189#define YY_BREAK break;
1190#endif
1191
1192#define YY_RULE_SETUP \
1193 YY_USER_ACTION
1194
1195YY_DECL
Reid Spencered951ea2007-05-19 07:22:10 +00001196 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00001197 register yy_state_type yy_current_state;
Reid Spencerb8f85052007-07-31 03:50:36 +00001198 register char *yy_cp = NULL, *yy_bp = NULL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001199 register int yy_act;
Reid Spencered951ea2007-05-19 07:22:10 +00001200
Reid Spencerb8f85052007-07-31 03:50:36 +00001201#line 182 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001202
1203
Reid Spencerd8e616b2007-07-31 03:55:56 +00001204#line 1205 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001205
Reid Spencered951ea2007-05-19 07:22:10 +00001206 if ( yy_init )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001207 {
Reid Spencered951ea2007-05-19 07:22:10 +00001208 yy_init = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001209
1210#ifdef YY_USER_INIT
1211 YY_USER_INIT;
1212#endif
1213
Reid Spencered951ea2007-05-19 07:22:10 +00001214 if ( ! yy_start )
1215 yy_start = 1; /* first start state */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001216
Reid Spencered951ea2007-05-19 07:22:10 +00001217 if ( ! yyin )
1218 yyin = stdin;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001219
Reid Spencered951ea2007-05-19 07:22:10 +00001220 if ( ! yyout )
1221 yyout = stdout;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001222
Reid Spencered951ea2007-05-19 07:22:10 +00001223 if ( ! yy_current_buffer )
1224 yy_current_buffer =
1225 yy_create_buffer( yyin, YY_BUF_SIZE );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001226
Reid Spencered951ea2007-05-19 07:22:10 +00001227 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00001228 }
1229
1230 while ( 1 ) /* loops until end-of-file is reached */
1231 {
Reid Spencered951ea2007-05-19 07:22:10 +00001232 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001233
Reid Spencered951ea2007-05-19 07:22:10 +00001234 /* Support of yytext. */
1235 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001236
1237 /* yy_bp points to the position in yy_ch_buf of the start of
1238 * the current run.
1239 */
1240 yy_bp = yy_cp;
1241
Reid Spencered951ea2007-05-19 07:22:10 +00001242 yy_current_state = yy_start;
1243 yy_state_ptr = yy_state_buf;
1244 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001245yy_match:
1246 do
1247 {
1248 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1249 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1250 {
1251 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencerb8f85052007-07-31 03:50:36 +00001252 if ( yy_current_state >= 586 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001253 yy_c = yy_meta[(unsigned int) yy_c];
1254 }
1255 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencered951ea2007-05-19 07:22:10 +00001256 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001257 ++yy_cp;
1258 }
Reid Spencerb8f85052007-07-31 03:50:36 +00001259 while ( yy_current_state != 585 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001260
1261yy_find_action:
Reid Spencered951ea2007-05-19 07:22:10 +00001262 yy_current_state = *--yy_state_ptr;
1263 yy_lp = yy_accept[yy_current_state];
1264find_rule: /* we branch to this label when backing up */
1265 for ( ; ; ) /* until we find what rule we matched */
1266 {
1267 if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
1268 {
1269 yy_act = yy_acclist[yy_lp];
1270 {
1271 yy_full_match = yy_cp;
1272 break;
1273 }
1274 }
1275 --yy_cp;
1276 yy_current_state = *--yy_state_ptr;
1277 yy_lp = yy_accept[yy_current_state];
1278 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001279
1280 YY_DO_BEFORE_ACTION;
1281
Reid Spencered951ea2007-05-19 07:22:10 +00001282 if ( yy_act != YY_END_OF_BUFFER )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001283 {
1284 int yyl;
Reid Spencered951ea2007-05-19 07:22:10 +00001285 for ( yyl = 0; yyl < yyleng; ++yyl )
1286 if ( yytext[yyl] == '\n' )
1287 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001288 }
1289
1290do_action: /* This label is used only to access EOF actions. */
1291
Reid Spencered951ea2007-05-19 07:22:10 +00001292
Reid Spencer68a24bd2005-08-27 18:50:39 +00001293 switch ( yy_act )
1294 { /* beginning of action switch */
1295case 1:
1296YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001297#line 184 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001298{ /* Ignore comments for now */ }
1299 YY_BREAK
1300case 2:
1301YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001302#line 186 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001303{ return BEGINTOK; }
1304 YY_BREAK
1305case 3:
1306YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001307#line 187 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001308{ return ENDTOK; }
1309 YY_BREAK
1310case 4:
1311YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001312#line 188 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001313{ return TRUETOK; }
1314 YY_BREAK
1315case 5:
1316YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001317#line 189 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001318{ return FALSETOK; }
1319 YY_BREAK
1320case 6:
1321YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001322#line 190 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001323{ return DECLARE; }
1324 YY_BREAK
1325case 7:
1326YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001327#line 191 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001328{ return DEFINE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001329 YY_BREAK
1330case 8:
1331YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001332#line 192 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001333{ return GLOBAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001334 YY_BREAK
1335case 9:
1336YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001337#line 193 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001338{ return CONSTANT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001339 YY_BREAK
1340case 10:
1341YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001342#line 194 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001343{ return INTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001344 YY_BREAK
1345case 11:
1346YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001347#line 195 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001348{ return LINKONCE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001349 YY_BREAK
1350case 12:
1351YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001352#line 196 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001353{ return WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001354 YY_BREAK
1355case 13:
1356YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001357#line 197 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001358{ return APPENDING; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001359 YY_BREAK
1360case 14:
1361YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001362#line 198 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001363{ return DLLIMPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001364 YY_BREAK
1365case 15:
1366YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001367#line 199 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001368{ return DLLEXPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001369 YY_BREAK
1370case 16:
1371YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001372#line 200 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001373{ return HIDDEN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001374 YY_BREAK
1375case 17:
1376YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001377#line 201 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001378{ return PROTECTED; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001379 YY_BREAK
1380case 18:
1381YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001382#line 202 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001383{ return EXTERN_WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001384 YY_BREAK
1385case 19:
1386YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001387#line 203 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001388{ return EXTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001389 YY_BREAK
1390case 20:
1391YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001392#line 204 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001393{ return THREAD_LOCAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001394 YY_BREAK
1395case 21:
1396YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001397#line 205 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001398{ return ZEROINITIALIZER; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001399 YY_BREAK
1400case 22:
1401YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001402#line 206 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001403{ return DOTDOTDOT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001404 YY_BREAK
1405case 23:
1406YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001407#line 207 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001408{ return UNDEF; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001409 YY_BREAK
1410case 24:
1411YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001412#line 208 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001413{ return NULL_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001414 YY_BREAK
1415case 25:
1416YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001417#line 209 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001418{ return TO; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001419 YY_BREAK
1420case 26:
1421YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001422#line 210 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001423{ return TAIL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001424 YY_BREAK
1425case 27:
1426YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001427#line 211 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001428{ return TARGET; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001429 YY_BREAK
1430case 28:
1431YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001432#line 212 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001433{ return TRIPLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001434 YY_BREAK
1435case 29:
1436YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001437#line 213 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001438{ return DEPLIBS; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001439 YY_BREAK
1440case 30:
1441YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001442#line 214 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001443{ return DATALAYOUT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001444 YY_BREAK
1445case 31:
1446YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001447#line 215 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001448{ return VOLATILE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001449 YY_BREAK
1450case 32:
1451YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001452#line 216 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001453{ return ALIGN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001454 YY_BREAK
1455case 33:
1456YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001457#line 217 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001458{ return SECTION; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001459 YY_BREAK
1460case 34:
1461YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001462#line 218 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001463{ return ALIAS; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001464 YY_BREAK
1465case 35:
1466YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001467#line 219 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001468{ return MODULE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001469 YY_BREAK
1470case 36:
1471YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001472#line 220 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001473{ return ASM_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001474 YY_BREAK
1475case 37:
1476YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001477#line 221 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001478{ return SIDEEFFECT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001479 YY_BREAK
1480case 38:
1481YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001482#line 223 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001483{ return CC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001484 YY_BREAK
1485case 39:
1486YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001487#line 224 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001488{ return CCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001489 YY_BREAK
1490case 40:
1491YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001492#line 225 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001493{ return FASTCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001494 YY_BREAK
1495case 41:
1496YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001497#line 226 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001498{ return COLDCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001499 YY_BREAK
1500case 42:
1501YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001502#line 227 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001503{ return X86_STDCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001504 YY_BREAK
1505case 43:
1506YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001507#line 228 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001508{ return X86_FASTCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001509 YY_BREAK
1510case 44:
1511YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001512#line 230 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1513{ return SIGNEXT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001514 YY_BREAK
1515case 45:
1516YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001517#line 231 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1518{ return ZEROEXT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001519 YY_BREAK
1520case 46:
1521YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001522#line 232 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1523{ return INREG; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001524 YY_BREAK
1525case 47:
1526YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001527#line 233 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1528{ return SRET; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001529 YY_BREAK
1530case 48:
1531YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001532#line 234 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1533{ return NOUNWIND; }
Reid Spencer832254e2007-02-02 02:16:23 +00001534 YY_BREAK
1535case 49:
1536YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001537#line 235 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1538{ return NORETURN; }
Reid Spencer832254e2007-02-02 02:16:23 +00001539 YY_BREAK
1540case 50:
1541YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001542#line 236 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1543{ return NOALIAS; }
Reid Spencer67d8ed92007-03-22 02:14:08 +00001544 YY_BREAK
1545case 51:
1546YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001547#line 237 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1548{ return BYVAL; }
Lauro Ramos Venancioc7635522007-04-12 18:32:50 +00001549 YY_BREAK
1550case 52:
1551YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001552#line 238 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1553{ return NEST; }
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001554 YY_BREAK
1555case 53:
Reid Spencerb8f85052007-07-31 03:50:36 +00001556*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
1557yy_c_buf_p = yy_cp -= 1;
1558YY_DO_BEFORE_ACTION; /* set up yytext again */
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001559YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001560#line 239 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1561{ // For auto-upgrade only, drop in LLVM 3.0
1562 return SIGNEXT; }
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001563 YY_BREAK
1564case 54:
Reid Spencerb8f85052007-07-31 03:50:36 +00001565*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
1566yy_c_buf_p = yy_cp -= 1;
1567YY_DO_BEFORE_ACTION; /* set up yytext again */
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001568YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001569#line 241 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1570{ // For auto-upgrade only, drop in LLVM 3.0
1571 return ZEROEXT; }
Chris Lattnerce5f24e2007-07-05 17:26:49 +00001572 YY_BREAK
1573case 55:
1574YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001575#line 244 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1576{ RET_TY(Type::VoidTy, VOID); }
1577 YY_BREAK
1578case 56:
1579YY_RULE_SETUP
1580#line 245 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1581{ RET_TY(Type::FloatTy, FLOAT); }
1582 YY_BREAK
1583case 57:
1584YY_RULE_SETUP
1585#line 246 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1586{ RET_TY(Type::DoubleTy,DOUBLE);}
1587 YY_BREAK
1588case 58:
1589YY_RULE_SETUP
1590#line 247 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1591{ RET_TY(Type::LabelTy, LABEL); }
1592 YY_BREAK
1593case 59:
1594YY_RULE_SETUP
1595#line 248 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1596{ return TYPE; }
1597 YY_BREAK
1598case 60:
1599YY_RULE_SETUP
1600#line 249 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1601{ return OPAQUE; }
1602 YY_BREAK
1603case 61:
1604YY_RULE_SETUP
1605#line 250 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencered951ea2007-05-19 07:22:10 +00001606{ uint64_t NumBits = atoull(yytext+1);
Reid Spencera54b7cb2007-01-12 07:05:14 +00001607 if (NumBits < IntegerType::MIN_INT_BITS ||
1608 NumBits > IntegerType::MAX_INT_BITS)
1609 GenerateError("Bitwidth for integer type out of range!");
1610 const Type* Ty = IntegerType::get(NumBits);
1611 RET_TY(Ty, INTTYPE);
1612 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001613 YY_BREAK
Reid Spencer68a24bd2005-08-27 18:50:39 +00001614case 62:
1615YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001616#line 258 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1617{ RET_TOK(BinaryOpVal, Add, ADD); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001618 YY_BREAK
1619case 63:
1620YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001621#line 259 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1622{ RET_TOK(BinaryOpVal, Sub, SUB); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001623 YY_BREAK
1624case 64:
1625YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001626#line 260 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1627{ RET_TOK(BinaryOpVal, Mul, MUL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001628 YY_BREAK
1629case 65:
1630YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001631#line 261 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1632{ RET_TOK(BinaryOpVal, UDiv, UDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001633 YY_BREAK
1634case 66:
1635YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001636#line 262 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1637{ RET_TOK(BinaryOpVal, SDiv, SDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001638 YY_BREAK
1639case 67:
1640YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001641#line 263 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1642{ RET_TOK(BinaryOpVal, FDiv, FDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001643 YY_BREAK
1644case 68:
1645YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001646#line 264 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1647{ RET_TOK(BinaryOpVal, URem, UREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001648 YY_BREAK
1649case 69:
1650YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001651#line 265 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1652{ RET_TOK(BinaryOpVal, SRem, SREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001653 YY_BREAK
1654case 70:
1655YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001656#line 266 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1657{ RET_TOK(BinaryOpVal, FRem, FREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001658 YY_BREAK
1659case 71:
1660YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001661#line 267 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1662{ RET_TOK(BinaryOpVal, Shl, SHL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001663 YY_BREAK
1664case 72:
1665YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001666#line 268 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1667{ RET_TOK(BinaryOpVal, LShr, LSHR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001668 YY_BREAK
1669case 73:
1670YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001671#line 269 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1672{ RET_TOK(BinaryOpVal, AShr, ASHR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001673 YY_BREAK
1674case 74:
1675YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001676#line 270 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1677{ RET_TOK(BinaryOpVal, And, AND); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001678 YY_BREAK
1679case 75:
1680YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001681#line 271 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1682{ RET_TOK(BinaryOpVal, Or , OR ); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001683 YY_BREAK
1684case 76:
1685YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001686#line 272 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1687{ RET_TOK(BinaryOpVal, Xor, XOR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001688 YY_BREAK
1689case 77:
1690YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001691#line 273 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1692{ RET_TOK(OtherOpVal, ICmp, ICMP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001693 YY_BREAK
1694case 78:
1695YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001696#line 274 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1697{ RET_TOK(OtherOpVal, FCmp, FCMP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001698 YY_BREAK
1699case 79:
1700YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001701#line 276 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1702{ return EQ; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001703 YY_BREAK
1704case 80:
1705YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001706#line 277 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1707{ return NE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001708 YY_BREAK
1709case 81:
1710YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001711#line 278 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1712{ return SLT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001713 YY_BREAK
1714case 82:
1715YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001716#line 279 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1717{ return SGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001718 YY_BREAK
1719case 83:
1720YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001721#line 280 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1722{ return SLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001723 YY_BREAK
1724case 84:
1725YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001726#line 281 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1727{ return SGE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001728 YY_BREAK
1729case 85:
1730YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001731#line 282 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1732{ return ULT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001733 YY_BREAK
1734case 86:
1735YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001736#line 283 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1737{ return UGT; }
Nate Begeman14b05292005-11-05 09:21:28 +00001738 YY_BREAK
1739case 87:
1740YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001741#line 284 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1742{ return ULE; }
Chris Lattnere869eef2005-11-12 00:11:49 +00001743 YY_BREAK
1744case 88:
1745YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001746#line 285 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1747{ return UGE; }
Robert Bocchino9c62b562006-01-10 19:04:32 +00001748 YY_BREAK
1749case 89:
1750YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001751#line 286 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1752{ return OEQ; }
Robert Bocchino2def1b32006-01-17 20:06:25 +00001753 YY_BREAK
1754case 90:
1755YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001756#line 287 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1757{ return ONE; }
Chris Lattner8335e842006-01-23 23:05:42 +00001758 YY_BREAK
1759case 91:
1760YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001761#line 288 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1762{ return OLT; }
Chris Lattner66316012006-01-24 04:14:29 +00001763 YY_BREAK
1764case 92:
1765YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001766#line 289 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1767{ return OGT; }
Chris Lattner0e9c3762006-01-25 22:27:16 +00001768 YY_BREAK
1769case 93:
1770YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001771#line 290 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1772{ return OLE; }
Chris Lattnerd5efe842006-04-08 01:18:56 +00001773 YY_BREAK
1774case 94:
1775YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001776#line 291 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1777{ return OGE; }
Chris Lattner75466192006-05-19 21:28:53 +00001778 YY_BREAK
1779case 95:
1780YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001781#line 292 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1782{ return ORD; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001783 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001784case 96:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001785YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001786#line 293 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1787{ return UNO; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001788 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001789case 97:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001790YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001791#line 294 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1792{ return UEQ; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001793 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001794case 98:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001795YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001796#line 295 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1797{ return UNE; }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001798 YY_BREAK
1799case 99:
1800YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001801#line 297 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1802{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001803 YY_BREAK
1804case 100:
1805YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001806#line 298 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1807{ RET_TOK(OtherOpVal, Call, CALL); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001808 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001809case 101:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001810YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001811#line 299 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1812{ RET_TOK(CastOpVal, Trunc, TRUNC); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001813 YY_BREAK
1814case 102:
1815YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001816#line 300 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1817{ RET_TOK(CastOpVal, ZExt, ZEXT); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001818 YY_BREAK
1819case 103:
1820YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001821#line 301 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1822{ RET_TOK(CastOpVal, SExt, SEXT); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001823 YY_BREAK
1824case 104:
1825YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001826#line 302 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1827{ RET_TOK(CastOpVal, FPTrunc, FPTRUNC); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001828 YY_BREAK
1829case 105:
1830YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001831#line 303 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1832{ RET_TOK(CastOpVal, FPExt, FPEXT); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001833 YY_BREAK
1834case 106:
1835YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001836#line 304 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1837{ RET_TOK(CastOpVal, UIToFP, UITOFP); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001838 YY_BREAK
1839case 107:
1840YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001841#line 305 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1842{ RET_TOK(CastOpVal, SIToFP, SITOFP); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001843 YY_BREAK
1844case 108:
1845YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001846#line 306 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1847{ RET_TOK(CastOpVal, FPToUI, FPTOUI); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001848 YY_BREAK
1849case 109:
1850YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001851#line 307 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1852{ RET_TOK(CastOpVal, FPToSI, FPTOSI); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001853 YY_BREAK
1854case 110:
1855YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001856#line 308 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1857{ RET_TOK(CastOpVal, IntToPtr, INTTOPTR); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001858 YY_BREAK
1859case 111:
1860YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001861#line 309 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1862{ RET_TOK(CastOpVal, PtrToInt, PTRTOINT); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001863 YY_BREAK
1864case 112:
1865YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001866#line 310 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1867{ RET_TOK(CastOpVal, BitCast, BITCAST); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001868 YY_BREAK
1869case 113:
1870YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001871#line 311 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1872{ RET_TOK(OtherOpVal, Select, SELECT); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001873 YY_BREAK
1874case 114:
1875YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001876#line 312 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1877{ RET_TOK(OtherOpVal, VAArg , VAARG); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001878 YY_BREAK
1879case 115:
1880YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001881#line 313 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1882{ RET_TOK(TermOpVal, Ret, RET); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001883 YY_BREAK
1884case 116:
1885YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001886#line 314 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1887{ RET_TOK(TermOpVal, Br, BR); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001888 YY_BREAK
1889case 117:
1890YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001891#line 315 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1892{ RET_TOK(TermOpVal, Switch, SWITCH); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001893 YY_BREAK
1894case 118:
1895YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001896#line 316 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1897{ RET_TOK(TermOpVal, Invoke, INVOKE); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001898 YY_BREAK
Reid Spencer41dff5e2007-01-26 08:05:27 +00001899case 119:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001900YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001901#line 317 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1902{ RET_TOK(TermOpVal, Unwind, UNWIND); }
Reid Spencer67d8ed92007-03-22 02:14:08 +00001903 YY_BREAK
1904case 120:
1905YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001906#line 318 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1907{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001908 YY_BREAK
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001909case 121:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001910YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001911#line 320 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1912{ RET_TOK(MemOpVal, Malloc, MALLOC); }
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001913 YY_BREAK
1914case 122:
1915YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001916#line 321 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1917{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
Owen Anderson1dc69692006-10-18 02:21:48 +00001918 YY_BREAK
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001919case 123:
Owen Anderson1dc69692006-10-18 02:21:48 +00001920YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001921#line 322 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1922{ RET_TOK(MemOpVal, Free, FREE); }
Chris Lattnerce5f24e2007-07-05 17:26:49 +00001923 YY_BREAK
1924case 124:
1925YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001926#line 323 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1927{ RET_TOK(MemOpVal, Load, LOAD); }
1928 YY_BREAK
1929case 125:
1930YY_RULE_SETUP
1931#line 324 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1932{ RET_TOK(MemOpVal, Store, STORE); }
1933 YY_BREAK
1934case 126:
1935YY_RULE_SETUP
1936#line 325 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1937{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
1938 YY_BREAK
1939case 127:
1940YY_RULE_SETUP
1941#line 327 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1942{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
1943 YY_BREAK
1944case 128:
1945YY_RULE_SETUP
1946#line 328 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1947{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
1948 YY_BREAK
1949case 129:
1950YY_RULE_SETUP
1951#line 329 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
1952{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
1953 YY_BREAK
1954case 130:
1955YY_RULE_SETUP
1956#line 332 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001957{
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001958 llvmAsmlval.StrVal = new std::string(yytext+1); // Skip %
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001959 return LOCALVAR;
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001960 }
1961 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00001962case 131:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001963YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001964#line 336 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001965{
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001966 llvmAsmlval.StrVal = new std::string(yytext+1); // Skip @
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001967 return GLOBALVAR;
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001968 }
1969 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00001970case 132:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001971YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001972#line 340 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Lauro Ramos Venancioc7635522007-04-12 18:32:50 +00001973{
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001974 yytext[yyleng-1] = 0; // nuke colon
1975 llvmAsmlval.StrVal = new std::string(yytext);
Lauro Ramos Venancioc7635522007-04-12 18:32:50 +00001976 return LABELSTR;
1977 }
1978 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00001979case 133:
Lauro Ramos Venancioc7635522007-04-12 18:32:50 +00001980YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001981#line 345 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001982{
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001983 yytext[yyleng-2] = 0; // nuke colon, end quote
Reid Spencere2aa9612007-05-22 19:08:16 +00001984 const char* EndChar = UnEscapeLexed(yytext+1, yytext+yyleng);
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001985 llvmAsmlval.StrVal =
1986 new std::string(yytext+1, EndChar - yytext - 1);
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001987 return LABELSTR;
1988 }
1989 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00001990case 134:
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001991YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00001992#line 353 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001993{ yytext[yyleng-1] = 0; // nuke end quote
Reid Spencere2aa9612007-05-22 19:08:16 +00001994 const char* EndChar = UnEscapeLexed(yytext+1, yytext+yyleng);
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001995 llvmAsmlval.StrVal =
1996 new std::string(yytext+1, EndChar - yytext - 1);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001997 return STRINGCONSTANT;
1998 }
1999 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002000case 135:
Reid Spencer6f407902007-01-13 05:00:46 +00002001YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00002002#line 359 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002003{
Reid Spencer0a8a16b2007-05-22 18:52:55 +00002004 yytext[yyleng-1] = 0; // nuke end quote
Reid Spencere2aa9612007-05-22 19:08:16 +00002005 const char* EndChar =
2006 UnEscapeLexed(yytext+2, yytext+yyleng);
Reid Spencer0a8a16b2007-05-22 18:52:55 +00002007 llvmAsmlval.StrVal =
2008 new std::string(yytext+2, EndChar - yytext - 2);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002009 return ATSTRINGCONSTANT;
2010 }
2011 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002012case 136:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002013YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00002014#line 367 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencered951ea2007-05-19 07:22:10 +00002015{
Reid Spencer0a8a16b2007-05-22 18:52:55 +00002016 yytext[yyleng-1] = 0; // nuke end quote
Reid Spencere2aa9612007-05-22 19:08:16 +00002017 const char* EndChar =
2018 UnEscapeLexed(yytext+2, yytext+yyleng);
Reid Spencer0a8a16b2007-05-22 18:52:55 +00002019 llvmAsmlval.StrVal =
2020 new std::string(yytext+2, EndChar - yytext - 2);
Reid Spencered951ea2007-05-19 07:22:10 +00002021 return PCTSTRINGCONSTANT;
2022 }
2023 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002024case 137:
Reid Spencered951ea2007-05-19 07:22:10 +00002025YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00002026#line 375 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer0a8a16b2007-05-22 18:52:55 +00002027{
2028 uint32_t numBits = ((yyleng * 64) / 19) + 1;
2029 APInt Tmp(numBits, yytext, yyleng, 10);
Reid Spencer38c91a92007-02-28 02:24:54 +00002030 uint32_t activeBits = Tmp.getActiveBits();
2031 if (activeBits > 0 && activeBits < numBits)
2032 Tmp.trunc(activeBits);
2033 if (Tmp.getBitWidth() > 64) {
2034 llvmAsmlval.APIntVal = new APInt(Tmp);
2035 return EUAPINTVAL;
2036 } else {
2037 llvmAsmlval.UInt64Val = Tmp.getZExtValue();
2038 return EUINT64VAL;
2039 }
2040 }
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002041 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002042case 138:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002043YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00002044#line 389 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer0a8a16b2007-05-22 18:52:55 +00002045{
2046 uint32_t numBits = (((yyleng-1) * 64) / 19) + 2;
2047 APInt Tmp(numBits, yytext, yyleng, 10);
Reid Spencer38c91a92007-02-28 02:24:54 +00002048 uint32_t minBits = Tmp.getMinSignedBits();
2049 if (minBits > 0 && minBits < numBits)
2050 Tmp.trunc(minBits);
2051 if (Tmp.getBitWidth() > 64) {
2052 llvmAsmlval.APIntVal = new APInt(Tmp);
2053 return ESAPINTVAL;
2054 } else {
2055 llvmAsmlval.SInt64Val = Tmp.getSExtValue();
2056 return ESINT64VAL;
2057 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002058 }
2059 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002060case 139:
Reid Spencer6f407902007-01-13 05:00:46 +00002061YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00002062#line 404 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer0a8a16b2007-05-22 18:52:55 +00002063{ int len = yyleng - 3;
Reid Spencer38c91a92007-02-28 02:24:54 +00002064 uint32_t bits = len * 4;
Reid Spencered951ea2007-05-19 07:22:10 +00002065 APInt Tmp(bits, yytext+3, len, 16);
Reid Spencer38c91a92007-02-28 02:24:54 +00002066 uint32_t activeBits = Tmp.getActiveBits();
2067 if (activeBits > 0 && activeBits < bits)
2068 Tmp.trunc(activeBits);
2069 if (Tmp.getBitWidth() > 64) {
2070 llvmAsmlval.APIntVal = new APInt(Tmp);
Reid Spencered951ea2007-05-19 07:22:10 +00002071 return yytext[0] == 's' ? ESAPINTVAL : EUAPINTVAL;
2072 } else if (yytext[0] == 's') {
Reid Spencer38c91a92007-02-28 02:24:54 +00002073 llvmAsmlval.SInt64Val = Tmp.getSExtValue();
2074 return ESINT64VAL;
2075 } else {
2076 llvmAsmlval.UInt64Val = Tmp.getZExtValue();
2077 return EUINT64VAL;
2078 }
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002079 }
Reid Spencer6f407902007-01-13 05:00:46 +00002080 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002081case 140:
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002082YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00002083#line 422 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002084{
Reid Spencered951ea2007-05-19 07:22:10 +00002085 uint64_t Val = atoull(yytext+1);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002086 if ((unsigned)Val != Val)
2087 GenerateError("Invalid value number (too large)!");
2088 llvmAsmlval.UIntVal = unsigned(Val);
2089 return LOCALVAL_ID;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002090 }
2091 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002092case 141:
Owen Anderson1dc69692006-10-18 02:21:48 +00002093YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00002094#line 429 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002095{
Reid Spencered951ea2007-05-19 07:22:10 +00002096 uint64_t Val = atoull(yytext+1);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002097 if ((unsigned)Val != Val)
2098 GenerateError("Invalid value number (too large)!");
2099 llvmAsmlval.UIntVal = unsigned(Val);
2100 return GLOBALVAL_ID;
2101 }
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002102 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002103case 142:
Reid Spencered951ea2007-05-19 07:22:10 +00002104YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00002105#line 437 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Chris Lattnerce5f24e2007-07-05 17:26:49 +00002106{ llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
2107 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002108case 143:
Chris Lattnerce5f24e2007-07-05 17:26:49 +00002109YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00002110#line 438 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencered951ea2007-05-19 07:22:10 +00002111{ llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002112 YY_BREAK
2113case YY_STATE_EOF(INITIAL):
Reid Spencerb8f85052007-07-31 03:50:36 +00002114#line 440 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002115{
2116 /* Make sure to free the internal buffers for flex when we are
2117 * done reading our input!
2118 */
Reid Spencered951ea2007-05-19 07:22:10 +00002119 yy_delete_buffer(YY_CURRENT_BUFFER);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002120 return EOF;
2121 }
2122 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002123case 144:
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00002124YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00002125#line 448 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Chris Lattnerce5f24e2007-07-05 17:26:49 +00002126{ /* Ignore whitespace */ }
Reid Spencered951ea2007-05-19 07:22:10 +00002127 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002128case 145:
Reid Spencered951ea2007-05-19 07:22:10 +00002129YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00002130#line 449 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Chris Lattnerce5f24e2007-07-05 17:26:49 +00002131{ return yytext[0]; }
2132 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002133case 146:
Chris Lattnerce5f24e2007-07-05 17:26:49 +00002134YY_RULE_SETUP
Reid Spencerb8f85052007-07-31 03:50:36 +00002135#line 451 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002136YY_FATAL_ERROR( "flex scanner jammed" );
2137 YY_BREAK
Reid Spencerd8e616b2007-07-31 03:55:56 +00002138#line 2139 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002139
2140 case YY_END_OF_BUFFER:
2141 {
2142 /* Amount of text matched not including the EOB char. */
Reid Spencered951ea2007-05-19 07:22:10 +00002143 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002144
2145 /* Undo the effects of YY_DO_BEFORE_ACTION. */
Reid Spencered951ea2007-05-19 07:22:10 +00002146 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002147 YY_RESTORE_YY_MORE_OFFSET
2148
Reid Spencered951ea2007-05-19 07:22:10 +00002149 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002150 {
2151 /* We're scanning a new file or input source. It's
2152 * possible that this happened because the user
Reid Spencered951ea2007-05-19 07:22:10 +00002153 * just pointed yyin at a new source and called
2154 * yylex(). If so, then we have to assure
2155 * consistency between yy_current_buffer and our
Reid Spencer68a24bd2005-08-27 18:50:39 +00002156 * globals. Here is the right place to do so, because
2157 * this is the first action (other than possibly a
2158 * back-up) that will match for the new input source.
2159 */
Reid Spencered951ea2007-05-19 07:22:10 +00002160 yy_n_chars = yy_current_buffer->yy_n_chars;
2161 yy_current_buffer->yy_input_file = yyin;
2162 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002163 }
2164
2165 /* Note that here we test for yy_c_buf_p "<=" to the position
2166 * of the first EOB in the buffer, since yy_c_buf_p will
2167 * already have been incremented past the NUL character
2168 * (since all states make transitions on EOB to the
2169 * end-of-buffer state). Contrast this with the test
2170 * in input().
2171 */
Reid Spencered951ea2007-05-19 07:22:10 +00002172 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002173 { /* This was really a NUL. */
2174 yy_state_type yy_next_state;
2175
Reid Spencered951ea2007-05-19 07:22:10 +00002176 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002177
Reid Spencered951ea2007-05-19 07:22:10 +00002178 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002179
2180 /* Okay, we're now positioned to make the NUL
2181 * transition. We couldn't have
2182 * yy_get_previous_state() go ahead and do it
2183 * for us because it doesn't know how to deal
2184 * with the possibility of jamming (and we don't
2185 * want to build jamming into it because then it
2186 * will run more slowly).
2187 */
2188
2189 yy_next_state = yy_try_NUL_trans( yy_current_state );
2190
Reid Spencered951ea2007-05-19 07:22:10 +00002191 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002192
2193 if ( yy_next_state )
2194 {
2195 /* Consume the NUL. */
Reid Spencered951ea2007-05-19 07:22:10 +00002196 yy_cp = ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002197 yy_current_state = yy_next_state;
2198 goto yy_match;
2199 }
2200
2201 else
2202 {
Reid Spencered951ea2007-05-19 07:22:10 +00002203 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002204 goto yy_find_action;
2205 }
2206 }
2207
Reid Spencered951ea2007-05-19 07:22:10 +00002208 else switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002209 {
2210 case EOB_ACT_END_OF_FILE:
2211 {
Reid Spencered951ea2007-05-19 07:22:10 +00002212 yy_did_buffer_switch_on_eof = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002213
Reid Spencered951ea2007-05-19 07:22:10 +00002214 if ( yywrap() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002215 {
2216 /* Note: because we've taken care in
2217 * yy_get_next_buffer() to have set up
Reid Spencered951ea2007-05-19 07:22:10 +00002218 * yytext, we can now set up
Reid Spencer68a24bd2005-08-27 18:50:39 +00002219 * yy_c_buf_p so that if some total
2220 * hoser (like flex itself) wants to
2221 * call the scanner after we return the
2222 * YY_NULL, it'll still work - another
2223 * YY_NULL will get returned.
2224 */
Reid Spencered951ea2007-05-19 07:22:10 +00002225 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002226
2227 yy_act = YY_STATE_EOF(YY_START);
2228 goto do_action;
2229 }
2230
2231 else
2232 {
Reid Spencered951ea2007-05-19 07:22:10 +00002233 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002234 YY_NEW_FILE;
2235 }
2236 break;
2237 }
2238
2239 case EOB_ACT_CONTINUE_SCAN:
Reid Spencered951ea2007-05-19 07:22:10 +00002240 yy_c_buf_p =
2241 yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002242
Reid Spencered951ea2007-05-19 07:22:10 +00002243 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002244
Reid Spencered951ea2007-05-19 07:22:10 +00002245 yy_cp = yy_c_buf_p;
2246 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002247 goto yy_match;
2248
2249 case EOB_ACT_LAST_MATCH:
Reid Spencered951ea2007-05-19 07:22:10 +00002250 yy_c_buf_p =
2251 &yy_current_buffer->yy_ch_buf[yy_n_chars];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002252
Reid Spencered951ea2007-05-19 07:22:10 +00002253 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002254
Reid Spencered951ea2007-05-19 07:22:10 +00002255 yy_cp = yy_c_buf_p;
2256 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002257 goto yy_find_action;
2258 }
2259 break;
2260 }
2261
2262 default:
2263 YY_FATAL_ERROR(
2264 "fatal flex scanner internal error--no action found" );
2265 } /* end of action switch */
2266 } /* end of scanning one token */
Reid Spencered951ea2007-05-19 07:22:10 +00002267 } /* end of yylex */
2268
Reid Spencer68a24bd2005-08-27 18:50:39 +00002269
2270/* yy_get_next_buffer - try to read in a new buffer
2271 *
2272 * Returns a code representing an action:
2273 * EOB_ACT_LAST_MATCH -
2274 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2275 * EOB_ACT_END_OF_FILE - end of file
2276 */
Reid Spencered951ea2007-05-19 07:22:10 +00002277
2278static int yy_get_next_buffer()
2279 {
2280 register char *dest = yy_current_buffer->yy_ch_buf;
2281 register char *source = yytext_ptr;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002282 register int number_to_move, i;
2283 int ret_val;
2284
Reid Spencered951ea2007-05-19 07:22:10 +00002285 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002286 YY_FATAL_ERROR(
2287 "fatal flex scanner internal error--end of buffer missed" );
2288
Reid Spencered951ea2007-05-19 07:22:10 +00002289 if ( yy_current_buffer->yy_fill_buffer == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002290 { /* Don't try to fill the buffer, so this is an EOF. */
Reid Spencered951ea2007-05-19 07:22:10 +00002291 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002292 {
2293 /* We matched a single character, the EOB, so
2294 * treat this as a final EOF.
2295 */
2296 return EOB_ACT_END_OF_FILE;
2297 }
2298
2299 else
2300 {
2301 /* We matched some text prior to the EOB, first
2302 * process it.
2303 */
2304 return EOB_ACT_LAST_MATCH;
2305 }
2306 }
2307
2308 /* Try to read more data. */
2309
2310 /* First move last chars to start of buffer. */
Reid Spencered951ea2007-05-19 07:22:10 +00002311 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002312
2313 for ( i = 0; i < number_to_move; ++i )
2314 *(dest++) = *(source++);
2315
Reid Spencered951ea2007-05-19 07:22:10 +00002316 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002317 /* don't do the read, it's not guaranteed to return an EOF,
2318 * just force an EOF
2319 */
Reid Spencered951ea2007-05-19 07:22:10 +00002320 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002321
2322 else
2323 {
Reid Spencered951ea2007-05-19 07:22:10 +00002324 int num_to_read =
2325 yy_current_buffer->yy_buf_size - number_to_move - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002326
2327 while ( num_to_read <= 0 )
2328 { /* Not enough room in the buffer - grow it. */
Reid Spencered951ea2007-05-19 07:22:10 +00002329#ifdef YY_USES_REJECT
2330 YY_FATAL_ERROR(
2331"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
2332#else
Reid Spencer68a24bd2005-08-27 18:50:39 +00002333
2334 /* just a shorter name for the current buffer */
Reid Spencered951ea2007-05-19 07:22:10 +00002335 YY_BUFFER_STATE b = yy_current_buffer;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002336
2337 int yy_c_buf_p_offset =
Reid Spencered951ea2007-05-19 07:22:10 +00002338 (int) (yy_c_buf_p - b->yy_ch_buf);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002339
2340 if ( b->yy_is_our_buffer )
2341 {
2342 int new_size = b->yy_buf_size * 2;
2343
2344 if ( new_size <= 0 )
2345 b->yy_buf_size += b->yy_buf_size / 8;
2346 else
2347 b->yy_buf_size *= 2;
2348
2349 b->yy_ch_buf = (char *)
2350 /* Include room in for 2 EOB chars. */
Reid Spencered951ea2007-05-19 07:22:10 +00002351 yy_flex_realloc( (void *) b->yy_ch_buf,
2352 b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002353 }
2354 else
2355 /* Can't grow it, we don't own it. */
2356 b->yy_ch_buf = 0;
2357
2358 if ( ! b->yy_ch_buf )
2359 YY_FATAL_ERROR(
2360 "fatal error - scanner input buffer overflow" );
2361
Reid Spencered951ea2007-05-19 07:22:10 +00002362 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002363
Reid Spencered951ea2007-05-19 07:22:10 +00002364 num_to_read = yy_current_buffer->yy_buf_size -
Reid Spencer68a24bd2005-08-27 18:50:39 +00002365 number_to_move - 1;
Reid Spencered951ea2007-05-19 07:22:10 +00002366#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002367 }
2368
2369 if ( num_to_read > YY_READ_BUF_SIZE )
2370 num_to_read = YY_READ_BUF_SIZE;
2371
2372 /* Read in more data. */
Reid Spencered951ea2007-05-19 07:22:10 +00002373 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
2374 yy_n_chars, num_to_read );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002375
Reid Spencered951ea2007-05-19 07:22:10 +00002376 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002377 }
2378
Reid Spencered951ea2007-05-19 07:22:10 +00002379 if ( yy_n_chars == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002380 {
2381 if ( number_to_move == YY_MORE_ADJ )
2382 {
2383 ret_val = EOB_ACT_END_OF_FILE;
Reid Spencered951ea2007-05-19 07:22:10 +00002384 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002385 }
2386
2387 else
2388 {
2389 ret_val = EOB_ACT_LAST_MATCH;
Reid Spencered951ea2007-05-19 07:22:10 +00002390 yy_current_buffer->yy_buffer_status =
Reid Spencer68a24bd2005-08-27 18:50:39 +00002391 YY_BUFFER_EOF_PENDING;
2392 }
2393 }
2394
2395 else
2396 ret_val = EOB_ACT_CONTINUE_SCAN;
2397
Reid Spencered951ea2007-05-19 07:22:10 +00002398 yy_n_chars += number_to_move;
2399 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2400 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002401
Reid Spencered951ea2007-05-19 07:22:10 +00002402 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002403
2404 return ret_val;
Reid Spencered951ea2007-05-19 07:22:10 +00002405 }
2406
Reid Spencer68a24bd2005-08-27 18:50:39 +00002407
2408/* yy_get_previous_state - get the state just before the EOB char was reached */
2409
Reid Spencered951ea2007-05-19 07:22:10 +00002410static yy_state_type yy_get_previous_state()
2411 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002412 register yy_state_type yy_current_state;
2413 register char *yy_cp;
2414
Reid Spencered951ea2007-05-19 07:22:10 +00002415 yy_current_state = yy_start;
2416 yy_state_ptr = yy_state_buf;
2417 *yy_state_ptr++ = yy_current_state;
2418
2419 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002420 {
2421 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2422 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2423 {
2424 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencerb8f85052007-07-31 03:50:36 +00002425 if ( yy_current_state >= 586 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002426 yy_c = yy_meta[(unsigned int) yy_c];
2427 }
2428 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencered951ea2007-05-19 07:22:10 +00002429 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002430 }
2431
2432 return yy_current_state;
Reid Spencered951ea2007-05-19 07:22:10 +00002433 }
2434
Reid Spencer68a24bd2005-08-27 18:50:39 +00002435
2436/* yy_try_NUL_trans - try to make a transition on the NUL character
2437 *
2438 * synopsis
2439 * next_state = yy_try_NUL_trans( current_state );
2440 */
Reid Spencered951ea2007-05-19 07:22:10 +00002441
2442#ifdef YY_USE_PROTOS
2443static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
2444#else
2445static yy_state_type yy_try_NUL_trans( yy_current_state )
2446yy_state_type yy_current_state;
2447#endif
2448 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002449 register int yy_is_jam;
2450
2451 register YY_CHAR yy_c = 1;
2452 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2453 {
2454 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencerb8f85052007-07-31 03:50:36 +00002455 if ( yy_current_state >= 586 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002456 yy_c = yy_meta[(unsigned int) yy_c];
2457 }
2458 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencerb8f85052007-07-31 03:50:36 +00002459 yy_is_jam = (yy_current_state == 585);
Reid Spencered951ea2007-05-19 07:22:10 +00002460 if ( ! yy_is_jam )
2461 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002462
2463 return yy_is_jam ? 0 : yy_current_state;
Reid Spencered951ea2007-05-19 07:22:10 +00002464 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002465
2466
Reid Spencered951ea2007-05-19 07:22:10 +00002467#ifndef YY_NO_UNPUT
2468#ifdef YY_USE_PROTOS
2469static inline void yyunput( int c, register char *yy_bp )
2470#else
2471static inline void yyunput( c, yy_bp )
2472int c;
2473register char *yy_bp;
2474#endif
2475 {
2476 register char *yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002477
Reid Spencered951ea2007-05-19 07:22:10 +00002478 /* undo effects of setting up yytext */
2479 *yy_cp = yy_hold_char;
2480
2481 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002482 { /* need to shift things up to make room */
2483 /* +2 for EOB chars. */
Reid Spencered951ea2007-05-19 07:22:10 +00002484 register int number_to_move = yy_n_chars + 2;
2485 register char *dest = &yy_current_buffer->yy_ch_buf[
2486 yy_current_buffer->yy_buf_size + 2];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002487 register char *source =
Reid Spencered951ea2007-05-19 07:22:10 +00002488 &yy_current_buffer->yy_ch_buf[number_to_move];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002489
Reid Spencered951ea2007-05-19 07:22:10 +00002490 while ( source > yy_current_buffer->yy_ch_buf )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002491 *--dest = *--source;
2492
2493 yy_cp += (int) (dest - source);
2494 yy_bp += (int) (dest - source);
Reid Spencered951ea2007-05-19 07:22:10 +00002495 yy_current_buffer->yy_n_chars =
2496 yy_n_chars = yy_current_buffer->yy_buf_size;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002497
Reid Spencered951ea2007-05-19 07:22:10 +00002498 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002499 YY_FATAL_ERROR( "flex scanner push-back overflow" );
2500 }
2501
2502 *--yy_cp = (char) c;
2503
Reid Spencered951ea2007-05-19 07:22:10 +00002504 if ( c == '\n' )
2505 --yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002506
Reid Spencered951ea2007-05-19 07:22:10 +00002507 yytext_ptr = yy_bp;
2508 yy_hold_char = *yy_cp;
2509 yy_c_buf_p = yy_cp;
2510 }
2511#endif /* ifndef YY_NO_UNPUT */
2512
Reid Spencer6f407902007-01-13 05:00:46 +00002513
Reid Spencerb8f85052007-07-31 03:50:36 +00002514#ifndef YY_NO_INPUT
Reid Spencer68a24bd2005-08-27 18:50:39 +00002515#ifdef __cplusplus
Reid Spencered951ea2007-05-19 07:22:10 +00002516static int yyinput()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002517#else
Reid Spencered951ea2007-05-19 07:22:10 +00002518static int input()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002519#endif
Reid Spencered951ea2007-05-19 07:22:10 +00002520 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002521 int c;
2522
Reid Spencered951ea2007-05-19 07:22:10 +00002523 *yy_c_buf_p = yy_hold_char;
2524
2525 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002526 {
2527 /* yy_c_buf_p now points to the character we want to return.
2528 * If this occurs *before* the EOB characters, then it's a
2529 * valid NUL; if not, then we've hit the end of the buffer.
2530 */
Reid Spencered951ea2007-05-19 07:22:10 +00002531 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002532 /* This was really a NUL. */
Reid Spencered951ea2007-05-19 07:22:10 +00002533 *yy_c_buf_p = '\0';
Reid Spencer68a24bd2005-08-27 18:50:39 +00002534
2535 else
2536 { /* need more input */
Reid Spencered951ea2007-05-19 07:22:10 +00002537 int offset = yy_c_buf_p - yytext_ptr;
2538 ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002539
Reid Spencered951ea2007-05-19 07:22:10 +00002540 switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002541 {
2542 case EOB_ACT_LAST_MATCH:
2543 /* This happens because yy_g_n_b()
2544 * sees that we've accumulated a
2545 * token and flags that we need to
2546 * try matching the token before
2547 * proceeding. But for input(),
2548 * there's no matching to consider.
2549 * So convert the EOB_ACT_LAST_MATCH
2550 * to EOB_ACT_END_OF_FILE.
2551 */
2552
2553 /* Reset buffer status. */
Reid Spencered951ea2007-05-19 07:22:10 +00002554 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002555
Reid Spencered951ea2007-05-19 07:22:10 +00002556 /* fall through */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002557
2558 case EOB_ACT_END_OF_FILE:
2559 {
Reid Spencered951ea2007-05-19 07:22:10 +00002560 if ( yywrap() )
Reid Spencer61c83e02006-08-18 08:43:06 +00002561 return EOF;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002562
Reid Spencered951ea2007-05-19 07:22:10 +00002563 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002564 YY_NEW_FILE;
2565#ifdef __cplusplus
2566 return yyinput();
2567#else
2568 return input();
2569#endif
2570 }
2571
2572 case EOB_ACT_CONTINUE_SCAN:
Reid Spencered951ea2007-05-19 07:22:10 +00002573 yy_c_buf_p = yytext_ptr + offset;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002574 break;
2575 }
2576 }
2577 }
2578
Reid Spencered951ea2007-05-19 07:22:10 +00002579 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
2580 *yy_c_buf_p = '\0'; /* preserve yytext */
2581 yy_hold_char = *++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002582
2583 if ( c == '\n' )
Reid Spencered951ea2007-05-19 07:22:10 +00002584 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002585
2586 return c;
Reid Spencered951ea2007-05-19 07:22:10 +00002587 }
Reid Spencerb8f85052007-07-31 03:50:36 +00002588#endif /* YY_NO_INPUT */
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002589
Reid Spencered951ea2007-05-19 07:22:10 +00002590#ifdef YY_USE_PROTOS
2591void yyrestart( FILE *input_file )
2592#else
2593void yyrestart( input_file )
2594FILE *input_file;
2595#endif
2596 {
2597 if ( ! yy_current_buffer )
2598 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
2599
2600 yy_init_buffer( yy_current_buffer, input_file );
2601 yy_load_buffer_state();
Reid Spencer6f407902007-01-13 05:00:46 +00002602 }
Reid Spencer41dff5e2007-01-26 08:05:27 +00002603
Reid Spencer68a24bd2005-08-27 18:50:39 +00002604
Reid Spencered951ea2007-05-19 07:22:10 +00002605#ifdef YY_USE_PROTOS
2606void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
2607#else
2608void yy_switch_to_buffer( new_buffer )
2609YY_BUFFER_STATE new_buffer;
2610#endif
2611 {
2612 if ( yy_current_buffer == new_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002613 return;
2614
Reid Spencered951ea2007-05-19 07:22:10 +00002615 if ( yy_current_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002616 {
2617 /* Flush out information for old buffer. */
Reid Spencered951ea2007-05-19 07:22:10 +00002618 *yy_c_buf_p = yy_hold_char;
2619 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
2620 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002621 }
2622
Reid Spencered951ea2007-05-19 07:22:10 +00002623 yy_current_buffer = new_buffer;
2624 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002625
2626 /* We don't actually know whether we did this switch during
Reid Spencered951ea2007-05-19 07:22:10 +00002627 * EOF (yywrap()) processing, but the only time this flag
2628 * is looked at is after yywrap() is called, so it's safe
Reid Spencer68a24bd2005-08-27 18:50:39 +00002629 * to go ahead and always set it.
2630 */
Reid Spencered951ea2007-05-19 07:22:10 +00002631 yy_did_buffer_switch_on_eof = 1;
2632 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002633
2634
Reid Spencered951ea2007-05-19 07:22:10 +00002635#ifdef YY_USE_PROTOS
2636void yy_load_buffer_state( void )
2637#else
2638void yy_load_buffer_state()
2639#endif
2640 {
2641 yy_n_chars = yy_current_buffer->yy_n_chars;
2642 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
2643 yyin = yy_current_buffer->yy_input_file;
2644 yy_hold_char = *yy_c_buf_p;
2645 }
2646
2647
2648#ifdef YY_USE_PROTOS
2649YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
2650#else
2651YY_BUFFER_STATE yy_create_buffer( file, size )
2652FILE *file;
2653int size;
2654#endif
2655 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002656 YY_BUFFER_STATE b;
Reid Spencered951ea2007-05-19 07:22:10 +00002657
2658 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002659 if ( ! b )
Reid Spencered951ea2007-05-19 07:22:10 +00002660 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002661
2662 b->yy_buf_size = size;
2663
2664 /* yy_ch_buf has to be 2 characters longer than the size given because
2665 * we need to put in 2 end-of-buffer characters.
2666 */
Reid Spencered951ea2007-05-19 07:22:10 +00002667 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002668 if ( ! b->yy_ch_buf )
Reid Spencered951ea2007-05-19 07:22:10 +00002669 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002670
2671 b->yy_is_our_buffer = 1;
2672
Reid Spencered951ea2007-05-19 07:22:10 +00002673 yy_init_buffer( b, file );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002674
2675 return b;
Reid Spencered951ea2007-05-19 07:22:10 +00002676 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002677
Reid Spencered951ea2007-05-19 07:22:10 +00002678
2679#ifdef YY_USE_PROTOS
2680void yy_delete_buffer( YY_BUFFER_STATE b )
2681#else
2682void yy_delete_buffer( b )
2683YY_BUFFER_STATE b;
2684#endif
2685 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002686 if ( ! b )
2687 return;
2688
Reid Spencered951ea2007-05-19 07:22:10 +00002689 if ( b == yy_current_buffer )
2690 yy_current_buffer = (YY_BUFFER_STATE) 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002691
2692 if ( b->yy_is_our_buffer )
Reid Spencered951ea2007-05-19 07:22:10 +00002693 yy_flex_free( (void *) b->yy_ch_buf );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002694
Reid Spencered951ea2007-05-19 07:22:10 +00002695 yy_flex_free( (void *) b );
2696 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002697
2698
Reid Spencered951ea2007-05-19 07:22:10 +00002699
2700#ifdef YY_USE_PROTOS
2701void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
2702#else
2703void yy_init_buffer( b, file )
2704YY_BUFFER_STATE b;
2705FILE *file;
2706#endif
2707
2708
2709 {
2710 yy_flush_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002711
2712 b->yy_input_file = file;
2713 b->yy_fill_buffer = 1;
2714
Reid Spencered951ea2007-05-19 07:22:10 +00002715#if YY_ALWAYS_INTERACTIVE
2716 b->yy_is_interactive = 1;
2717#else
2718#if YY_NEVER_INTERACTIVE
2719 b->yy_is_interactive = 0;
2720#else
2721 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
2722#endif
2723#endif
2724 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002725
2726
Reid Spencered951ea2007-05-19 07:22:10 +00002727#ifdef YY_USE_PROTOS
2728void yy_flush_buffer( YY_BUFFER_STATE b )
2729#else
2730void yy_flush_buffer( b )
2731YY_BUFFER_STATE b;
2732#endif
2733
2734 {
2735 if ( ! b )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002736 return;
2737
2738 b->yy_n_chars = 0;
2739
2740 /* We always need two end-of-buffer characters. The first causes
2741 * a transition to the end-of-buffer state. The second causes
2742 * a jam in that state.
2743 */
2744 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2745 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2746
2747 b->yy_buf_pos = &b->yy_ch_buf[0];
2748
2749 b->yy_at_bol = 1;
2750 b->yy_buffer_status = YY_BUFFER_NEW;
2751
Reid Spencered951ea2007-05-19 07:22:10 +00002752 if ( b == yy_current_buffer )
2753 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002754 }
2755
2756
Reid Spencered951ea2007-05-19 07:22:10 +00002757#ifndef YY_NO_SCAN_BUFFER
2758#ifdef YY_USE_PROTOS
2759YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
2760#else
2761YY_BUFFER_STATE yy_scan_buffer( base, size )
2762char *base;
2763yy_size_t size;
2764#endif
2765 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002766 YY_BUFFER_STATE b;
Reid Spencered951ea2007-05-19 07:22:10 +00002767
Reid Spencer68a24bd2005-08-27 18:50:39 +00002768 if ( size < 2 ||
2769 base[size-2] != YY_END_OF_BUFFER_CHAR ||
2770 base[size-1] != YY_END_OF_BUFFER_CHAR )
2771 /* They forgot to leave room for the EOB's. */
2772 return 0;
2773
Reid Spencered951ea2007-05-19 07:22:10 +00002774 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002775 if ( ! b )
Reid Spencered951ea2007-05-19 07:22:10 +00002776 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002777
2778 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2779 b->yy_buf_pos = b->yy_ch_buf = base;
2780 b->yy_is_our_buffer = 0;
2781 b->yy_input_file = 0;
2782 b->yy_n_chars = b->yy_buf_size;
2783 b->yy_is_interactive = 0;
2784 b->yy_at_bol = 1;
2785 b->yy_fill_buffer = 0;
2786 b->yy_buffer_status = YY_BUFFER_NEW;
2787
Reid Spencered951ea2007-05-19 07:22:10 +00002788 yy_switch_to_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002789
2790 return b;
Reid Spencered951ea2007-05-19 07:22:10 +00002791 }
2792#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002793
2794
Reid Spencered951ea2007-05-19 07:22:10 +00002795#ifndef YY_NO_SCAN_STRING
2796#ifdef YY_USE_PROTOS
2797YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
2798#else
2799YY_BUFFER_STATE yy_scan_string( yy_str )
2800yyconst char *yy_str;
2801#endif
2802 {
2803 int len;
2804 for ( len = 0; yy_str[len]; ++len )
2805 ;
2806
2807 return yy_scan_bytes( yy_str, len );
2808 }
2809#endif
2810
2811
2812#ifndef YY_NO_SCAN_BYTES
2813#ifdef YY_USE_PROTOS
2814YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
2815#else
2816YY_BUFFER_STATE yy_scan_bytes( bytes, len )
2817yyconst char *bytes;
2818int len;
2819#endif
2820 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002821 YY_BUFFER_STATE b;
2822 char *buf;
2823 yy_size_t n;
2824 int i;
Reid Spencered951ea2007-05-19 07:22:10 +00002825
Reid Spencer68a24bd2005-08-27 18:50:39 +00002826 /* Get memory for full buffer, including space for trailing EOB's. */
Reid Spencered951ea2007-05-19 07:22:10 +00002827 n = len + 2;
2828 buf = (char *) yy_flex_alloc( n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002829 if ( ! buf )
Reid Spencered951ea2007-05-19 07:22:10 +00002830 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002831
Reid Spencered951ea2007-05-19 07:22:10 +00002832 for ( i = 0; i < len; ++i )
2833 buf[i] = bytes[i];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002834
Reid Spencered951ea2007-05-19 07:22:10 +00002835 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002836
Reid Spencered951ea2007-05-19 07:22:10 +00002837 b = yy_scan_buffer( buf, n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002838 if ( ! b )
Reid Spencered951ea2007-05-19 07:22:10 +00002839 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002840
2841 /* It's okay to grow etc. this buffer, and we should throw it
2842 * away when we're done.
2843 */
2844 b->yy_is_our_buffer = 1;
2845
2846 return b;
Reid Spencered951ea2007-05-19 07:22:10 +00002847 }
2848#endif
2849
2850
2851#ifndef YY_NO_PUSH_STATE
2852#ifdef YY_USE_PROTOS
2853static void yy_push_state( int new_state )
2854#else
2855static void yy_push_state( new_state )
2856int new_state;
2857#endif
2858 {
2859 if ( yy_start_stack_ptr >= yy_start_stack_depth )
2860 {
2861 yy_size_t new_size;
2862
2863 yy_start_stack_depth += YY_START_STACK_INCR;
2864 new_size = yy_start_stack_depth * sizeof( int );
2865
2866 if ( ! yy_start_stack )
2867 yy_start_stack = (int *) yy_flex_alloc( new_size );
2868
2869 else
2870 yy_start_stack = (int *) yy_flex_realloc(
2871 (void *) yy_start_stack, new_size );
2872
2873 if ( ! yy_start_stack )
2874 YY_FATAL_ERROR(
2875 "out of memory expanding start-condition stack" );
2876 }
2877
2878 yy_start_stack[yy_start_stack_ptr++] = YY_START;
2879
2880 BEGIN(new_state);
2881 }
2882#endif
2883
2884
2885#ifndef YY_NO_POP_STATE
2886static void yy_pop_state()
2887 {
2888 if ( --yy_start_stack_ptr < 0 )
2889 YY_FATAL_ERROR( "start-condition stack underflow" );
2890
2891 BEGIN(yy_start_stack[yy_start_stack_ptr]);
2892 }
2893#endif
2894
2895
2896#ifndef YY_NO_TOP_STATE
2897static int yy_top_state()
2898 {
2899 return yy_start_stack[yy_start_stack_ptr - 1];
2900 }
2901#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002902
2903#ifndef YY_EXIT_FAILURE
2904#define YY_EXIT_FAILURE 2
2905#endif
2906
Reid Spencered951ea2007-05-19 07:22:10 +00002907#ifdef YY_USE_PROTOS
2908static void yy_fatal_error( yyconst char msg[] )
2909#else
2910static void yy_fatal_error( msg )
2911char msg[];
2912#endif
2913 {
2914 (void) fprintf( stderr, "%s\n", msg );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002915 exit( YY_EXIT_FAILURE );
Reid Spencered951ea2007-05-19 07:22:10 +00002916 }
2917
2918
Reid Spencer68a24bd2005-08-27 18:50:39 +00002919
2920/* Redefine yyless() so it works in section 3 code. */
2921
2922#undef yyless
2923#define yyless(n) \
2924 do \
2925 { \
Reid Spencered951ea2007-05-19 07:22:10 +00002926 /* Undo effects of setting up yytext. */ \
2927 yytext[yyleng] = yy_hold_char; \
2928 yy_c_buf_p = yytext + n; \
2929 yy_hold_char = *yy_c_buf_p; \
2930 *yy_c_buf_p = '\0'; \
2931 yyleng = n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00002932 } \
2933 while ( 0 )
2934
2935
Reid Spencered951ea2007-05-19 07:22:10 +00002936/* Internal utility routines. */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002937
2938#ifndef yytext_ptr
Reid Spencered951ea2007-05-19 07:22:10 +00002939#ifdef YY_USE_PROTOS
2940static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
2941#else
2942static void yy_flex_strncpy( s1, s2, n )
2943char *s1;
2944yyconst char *s2;
2945int n;
2946#endif
2947 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002948 register int i;
2949 for ( i = 0; i < n; ++i )
2950 s1[i] = s2[i];
Reid Spencered951ea2007-05-19 07:22:10 +00002951 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002952#endif
2953
2954#ifdef YY_NEED_STRLEN
Reid Spencered951ea2007-05-19 07:22:10 +00002955#ifdef YY_USE_PROTOS
2956static int yy_flex_strlen( yyconst char *s )
2957#else
2958static int yy_flex_strlen( s )
2959yyconst char *s;
2960#endif
2961 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002962 register int n;
2963 for ( n = 0; s[n]; ++n )
2964 ;
2965
2966 return n;
Reid Spencered951ea2007-05-19 07:22:10 +00002967 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002968#endif
2969
Reid Spencer9c9b63a2007-04-28 16:07:31 +00002970
Reid Spencered951ea2007-05-19 07:22:10 +00002971#ifdef YY_USE_PROTOS
2972static void *yy_flex_alloc( yy_size_t size )
2973#else
2974static void *yy_flex_alloc( size )
2975yy_size_t size;
2976#endif
2977 {
2978 return (void *) malloc( size );
2979 }
2980
2981#ifdef YY_USE_PROTOS
2982static inline void *yy_flex_realloc( void *ptr, yy_size_t size )
2983#else
2984static inline void *yy_flex_realloc( ptr, size )
2985void *ptr;
2986yy_size_t size;
2987#endif
2988 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002989 /* The cast to (char *) in the following accommodates both
2990 * implementations that use char* generic pointers, and those
2991 * that use void* generic pointers. It works with the latter
2992 * because both ANSI C and C++ allow castless assignment from
2993 * any pointer type to void*, and deal with argument conversions
2994 * as though doing an assignment.
2995 */
2996 return (void *) realloc( (char *) ptr, size );
Reid Spencered951ea2007-05-19 07:22:10 +00002997 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002998
Reid Spencered951ea2007-05-19 07:22:10 +00002999#ifdef YY_USE_PROTOS
3000static void yy_flex_free( void *ptr )
3001#else
3002static void yy_flex_free( ptr )
3003void *ptr;
3004#endif
3005 {
3006 free( ptr );
3007 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00003008
Reid Spencered951ea2007-05-19 07:22:10 +00003009#if YY_MAIN
3010int main()
3011 {
3012 yylex();
3013 return 0;
3014 }
3015#endif
Reid Spencerb8f85052007-07-31 03:50:36 +00003016#line 451 "/proj/llvm/head/llvm/lib/AsmParser/Lexer.l"
Chris Lattner2fecc0f2006-02-15 07:02:59 +00003017