blob: 333c5dd406822dc521eebd1b94814b6dc7a7d33f [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"
20/* 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:
23 * $Header$
24 */
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 Spencered951ea2007-05-19 07:22:10 +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
156/* 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
Reid Spencer6f407902007-01-13 05:00:46 +0000164
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 ));
271static inline void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) YY_MAY_BE_UNUSED;
272static 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 Spencered951ea2007-05-19 07:22:10 +0000320#define YY_NUM_RULES 139
321#define YY_END_OF_BUFFER 140
322static yyconst short int yy_acclist[220] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000323 { 0,
Reid Spencered951ea2007-05-19 07:22:10 +0000324 140, 138, 139, 137, 138, 139, 137, 139, 138, 139,
325 138, 139, 138, 139, 138, 139, 138, 139, 138, 139,
326 130, 138, 139, 130, 138, 139, 1, 138, 139, 138,
327 139, 138, 139, 138, 139, 138, 139, 138, 139, 138,
328 139, 138, 139, 138, 139, 138, 139, 138, 139, 138,
329 139, 138, 139, 138, 139, 138, 139, 138, 139, 138,
330 139, 138, 139, 138, 139, 138, 139, 138, 139, 138,
331 139, 138, 139, 138, 139, 127, 125, 123, 133, 131,
332 135, 130, 1, 124, 134, 109, 38, 72, 54, 73,
333 68, 25, 127, 129, 123, 135, 22, 135, 136, 128,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000334
Reid Spencered951ea2007-05-19 07:22:10 +0000335 124, 55, 67, 36, 39, 3, 57, 82, 87, 85,
336 86, 84, 83, 88, 92, 108, 77, 75, 64, 76,
337 74, 56, 90, 81, 79, 80, 78, 91, 89, 69,
338 126, 135, 135, 66, 93, 71, 60, 116, 63, 70,
339 117, 65, 24, 132, 59, 96, 62, 45, 26, 4,
340 52, 58, 61, 48, 12, 95, 135, 34, 32, 2,
341 5, 49, 98, 44, 51, 118, 94, 23, 115, 41,
342 7, 50, 40, 102, 101, 8, 16, 111, 114, 35,
343 53, 106, 100, 110, 27, 28, 99, 112, 107, 105,
344 6, 29, 97, 33, 9, 19, 10, 103, 11, 47,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000345
Reid Spencered951ea2007-05-19 07:22:10 +0000346 46, 104, 31, 13, 15, 14, 17, 30, 37, 18,
347 113, 20, 119, 121, 122, 42, 120, 43, 21
Reid Spencer68a24bd2005-08-27 18:50:39 +0000348 } ;
349
Reid Spencered951ea2007-05-19 07:22:10 +0000350static yyconst short int yy_accept[564] =
351 { 0,
352 1, 1, 1, 2, 4, 7, 9, 11, 13, 15,
353 17, 19, 21, 24, 27, 30, 32, 34, 36, 38,
354 40, 42, 44, 46, 48, 50, 52, 54, 56, 58,
355 60, 62, 64, 66, 68, 70, 72, 74, 76, 76,
356 77, 77, 78, 78, 79, 80, 80, 81, 81, 82,
357 83, 83, 84, 84, 85, 86, 86, 86, 86, 86,
358 86, 86, 86, 87, 87, 88, 88, 88, 88, 88,
359 88, 88, 89, 89, 89, 89, 89, 89, 89, 89,
360 89, 89, 89, 90, 90, 90, 90, 90, 90, 90,
361 90, 90, 90, 91, 91, 91, 91, 91, 91, 91,
362
363 91, 92, 92, 92, 92, 92, 92, 92, 92, 92,
364 92, 92, 92, 92, 92, 92, 92, 92, 92, 93,
365 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
366 93, 93, 93, 93, 93, 94, 94, 95, 96, 97,
367 98, 99, 99, 100, 100, 101, 102, 103, 103, 103,
368 104, 104, 104, 105, 105, 105, 105, 106, 106, 106,
369 106, 106, 106, 106, 106, 106, 107, 107, 107, 107,
370 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
371 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
372 108, 108, 108, 108, 109, 110, 111, 112, 113, 114,
373
374 114, 115, 116, 116, 116, 117, 117, 117, 117, 117,
375 117, 118, 119, 120, 120, 120, 120, 121, 122, 122,
376 122, 123, 123, 123, 123, 123, 123, 123, 123, 123,
377 124, 125, 126, 126, 127, 128, 128, 129, 130, 130,
378 130, 130, 130, 130, 130, 130, 130, 131, 131, 131,
379 132, 133, 133, 133, 133, 134, 134, 134, 134, 134,
380 135, 135, 135, 136, 136, 136, 136, 136, 136, 136,
381 136, 136, 136, 136, 136, 136, 136, 137, 138, 138,
382 138, 138, 138, 139, 140, 140, 140, 140, 141, 141,
383 141, 141, 141, 141, 141, 141, 142, 143, 143, 143,
384
385 143, 143, 144, 144, 144, 144, 145, 146, 146, 146,
386 147, 147, 147, 147, 148, 149, 149, 149, 150, 150,
387 150, 150, 151, 151, 152, 153, 153, 153, 153, 153,
388 154, 154, 155, 155, 156, 156, 156, 157, 158, 159,
389 160, 160, 160, 161, 161, 161, 161, 161, 161, 161,
390 161, 161, 161, 161, 161, 161, 162, 162, 163, 164,
391 164, 164, 164, 164, 164, 164, 165, 165, 165, 165,
392 165, 166, 166, 166, 166, 166, 166, 166, 166, 166,
393 166, 166, 166, 166, 166, 167, 167, 167, 167, 167,
394 168, 168, 169, 169, 169, 169, 169, 169, 169, 169,
395
396 170, 170, 170, 171, 171, 171, 171, 172, 172, 172,
397 172, 173, 173, 173, 174, 175, 176, 176, 176, 177,
398 178, 178, 178, 178, 179, 179, 180, 181, 181, 181,
399 182, 182, 182, 182, 183, 183, 183, 184, 185, 186,
400 186, 187, 188, 188, 189, 190, 190, 190, 190, 190,
401 190, 191, 191, 191, 192, 193, 193, 193, 193, 193,
402 193, 194, 194, 194, 194, 194, 194, 194, 194, 194,
403 194, 195, 195, 195, 195, 195, 195, 195, 195, 195,
404 195, 196, 196, 196, 196, 196, 197, 197, 197, 197,
405 198, 199, 200, 201, 202, 202, 203, 203, 203, 203,
406
407 203, 204, 204, 204, 204, 205, 205, 206, 207, 207,
408 207, 207, 207, 208, 208, 208, 208, 208, 208, 208,
409 208, 209, 209, 209, 209, 209, 209, 210, 210, 210,
410 210, 210, 210, 211, 211, 211, 211, 211, 211, 212,
411 212, 212, 212, 212, 212, 212, 212, 213, 213, 213,
412 213, 213, 214, 215, 216, 216, 217, 217, 218, 219,
413 219, 220, 220
414 } ;
415
416static yyconst int yy_ec[256] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000417 { 0,
418 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
419 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
420 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
421 1, 2, 1, 4, 1, 5, 6, 1, 1, 1,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000422 1, 1, 7, 1, 8, 9, 1, 10, 11, 11,
423 11, 11, 11, 12, 11, 13, 11, 14, 15, 1,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000424 1, 1, 1, 16, 17, 17, 17, 17, 18, 17,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000425 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
426 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000427 1, 1, 1, 1, 19, 1, 20, 21, 22, 23,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000428
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000429 24, 25, 26, 27, 28, 5, 29, 30, 31, 32,
430 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
431 43, 44, 1, 1, 1, 1, 1, 1, 1, 1,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000432 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
433 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
434 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
435 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
436 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
437 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
438 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
439
440 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
441 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
442 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
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
446 } ;
447
Reid Spencered951ea2007-05-19 07:22:10 +0000448static yyconst int yy_meta[45] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000449 { 0,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000450 1, 1, 2, 3, 4, 1, 1, 4, 4, 4,
451 4, 4, 4, 5, 1, 1, 4, 4, 4, 4,
452 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
453 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
454 4, 4, 4, 4
Reid Spencer68a24bd2005-08-27 18:50:39 +0000455 } ;
456
Reid Spencered951ea2007-05-19 07:22:10 +0000457static yyconst short int yy_base[572] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000458 { 0,
Reid Spencered951ea2007-05-19 07:22:10 +0000459 0, 0, 1226, 1227, 1227, 1227, 1221, 1210, 41, 36,
460 45, 51, 57, 63, 0, 74, 66, 69, 68, 88,
461 78, 108, 93, 36, 135, 123, 119, 101, 154, 127,
462 67, 181, 139, 213, 141, 80, 156, 92, 1219, 1227,
463 1208, 1227, 1217, 0, 186, 203, 219, 100, 240, 256,
464 261, 0, 1216, 0, 190, 112, 157, 113, 159, 150,
465 136, 81, 1205, 49, 110, 162, 196, 266, 210, 207,
466 212, 1204, 204, 262, 224, 233, 192, 263, 279, 275,
467 230, 234, 284, 276, 288, 290, 97, 242, 291, 292,
468 294, 300, 1203, 295, 302, 298, 305, 313, 296, 301,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000469
Reid Spencered951ea2007-05-19 07:22:10 +0000470 321, 322, 309, 324, 325, 326, 327, 331, 332, 335,
471 334, 338, 340, 333, 357, 353, 355, 344, 1202, 361,
472 345, 368, 363, 370, 371, 373, 379, 381, 385, 393,
473 372, 376, 392, 396, 1201, 1210, 1227, 0, 406, 1199,
474 429, 447, 0, 1208, 1227, 0, 1197, 411, 400, 1196,
475 412, 399, 1195, 420, 430, 415, 1194, 442, 413, 448,
476 437, 435, 450, 455, 452, 1193, 457, 458, 408, 456,
477 460, 462, 461, 463, 470, 464, 471, 475, 472, 473,
478 488, 490, 477, 491, 493, 494, 495, 497, 499, 1192,
479 502, 504, 505, 1191, 1190, 1189, 1188, 1187, 1186, 506,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000480
Reid Spencered951ea2007-05-19 07:22:10 +0000481 1185, 1184, 507, 509, 1183, 538, 525, 515, 510, 516,
482 1182, 1181, 1180, 518, 528, 511, 1179, 1178, 526, 532,
483 1177, 552, 553, 555, 556, 557, 560, 558, 559, 1176,
484 1175, 1174, 561, 1173, 1172, 562, 1171, 1170, 563, 565,
485 564, 582, 574, 584, 571, 587, 1169, 575, 589, 1227,
486 599, 608, 618, 622, 627, 608, 593, 591, 610, 1168,
487 612, 629, 1167, 632, 633, 634, 636, 637, 638, 639,
488 641, 643, 644, 645, 646, 653, 1166, 1165, 647, 648,
489 654, 649, 1164, 1163, 660, 662, 663, 1162, 669, 664,
490 665, 670, 675, 678, 680, 1161, 1160, 682, 684, 683,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000491
Reid Spencered951ea2007-05-19 07:22:10 +0000492 685, 1159, 688, 692, 691, 0, 1158, 695, 696, 1157,
493 697, 693, 705, 1156, 1155, 711, 698, 1154, 714, 717,
494 715, 1153, 718, 1152, 1151, 719, 722, 728, 720, 1150,
495 725, 1149, 727, 1148, 729, 732, 1147, 745, 1146, 1145,
496 739, 748, 1144, 735, 753, 749, 750, 737, 754, 760,
497 762, 763, 765, 766, 768, 1143, 769, 1142, 1141, 771,
498 772, 770, 779, 774, 773, 1140, 778, 780, 781, 787,
499 1139, 792, 795, 794, 793, 799, 796, 800, 805, 807,
500 809, 811, 812, 814, 1138, 815, 816, 820, 821, 1137,
501 817, 1136, 822, 832, 824, 825, 838, 835, 842, 1135,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000502
Reid Spencered951ea2007-05-19 07:22:10 +0000503 843, 845, 1134, 846, 847, 848, 1133, 849, 851, 852,
504 1132, 850, 853, 1131, 1130, 1129, 854, 861, 1128, 1127,
505 863, 868, 865, 1126, 867, 1125, 1124, 866, 879, 1123,
506 880, 881, 882, 1122, 883, 884, 1121, 1120, 1119, 885,
507 1118, 1117, 892, 1116, 1115, 886, 887, 894, 898, 891,
508 1114, 896, 906, 1113, 1112, 901, 907, 908, 911, 914,
509 1111, 916, 915, 917, 918, 922, 919, 921, 928, 934,
510 1110, 913, 936, 941, 942, 943, 944, 947, 945, 949,
511 1094, 950, 952, 954, 956, 1082, 951, 959, 960, 1081,
512 1079, 1078, 1077, 1075, 962, 1074, 963, 964, 965, 974,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000513
Reid Spencered951ea2007-05-19 07:22:10 +0000514 1073, 979, 980, 982, 1072, 983, 1071, 1070, 985, 988,
515 989, 992, 1069, 993, 990, 994, 995, 997, 999, 1000,
516 1068, 1004, 1005, 1008, 1010, 1012, 1064, 1017, 1016, 1018,
517 1021, 1024, 1063, 1025, 1027, 1029, 1030, 1032, 736, 1038,
518 1031, 1041, 1042, 1043, 1033, 1044, 600, 1045, 1050, 1046,
519 1056, 523, 519, 387, 1059, 246, 1052, 245, 169, 1061,
520 165, 1227, 1097, 1099, 1102, 1106, 1109, 1113, 58, 1118,
521 57
Reid Spencer68a24bd2005-08-27 18:50:39 +0000522 } ;
523
Reid Spencered951ea2007-05-19 07:22:10 +0000524static yyconst short int yy_def[572] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000525 { 0,
Reid Spencered951ea2007-05-19 07:22:10 +0000526 562, 1, 562, 562, 562, 562, 563, 564, 565, 562,
527 564, 564, 564, 564, 566, 567, 564, 564, 564, 564,
528 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
529 564, 564, 564, 564, 564, 564, 564, 564, 563, 562,
530 564, 562, 568, 569, 562, 562, 564, 564, 564, 564,
531 564, 566, 570, 571, 562, 564, 564, 564, 564, 564,
532 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
533 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
534 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
535 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000536
Reid Spencered951ea2007-05-19 07:22:10 +0000537 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
538 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
539 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
540 564, 564, 564, 564, 562, 568, 562, 569, 562, 564,
541 564, 564, 51, 570, 562, 571, 564, 564, 564, 564,
542 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
543 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
544 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
545 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
546 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000547
Reid Spencered951ea2007-05-19 07:22:10 +0000548 564, 564, 564, 564, 564, 51, 564, 564, 564, 564,
549 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
550 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
551 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
552 564, 564, 564, 564, 564, 564, 564, 564, 564, 562,
553 562, 562, 562, 564, 564, 564, 564, 564, 564, 564,
554 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
555 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
556 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
557 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000558
Reid Spencered951ea2007-05-19 07:22:10 +0000559 564, 564, 564, 564, 564, 206, 564, 564, 564, 564,
560 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
561 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
562 564, 564, 564, 564, 564, 564, 564, 562, 564, 564,
563 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
564 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
565 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
566 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
567 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
568 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000569
Reid Spencered951ea2007-05-19 07:22:10 +0000570 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
571 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
572 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
573 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
574 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
575 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
576 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
577 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
578 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
579 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000580
Reid Spencered951ea2007-05-19 07:22:10 +0000581 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
582 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
583 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
584 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
585 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
586 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
587 564, 0, 562, 562, 562, 562, 562, 562, 562, 562,
588 562
Reid Spencer68a24bd2005-08-27 18:50:39 +0000589 } ;
590
Reid Spencered951ea2007-05-19 07:22:10 +0000591static yyconst short int yy_nxt[1272] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000592 { 0,
593 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000594 14, 14, 14, 4, 15, 16, 8, 8, 8, 17,
595 18, 19, 20, 21, 22, 23, 24, 25, 8, 26,
596 27, 28, 29, 30, 8, 31, 32, 33, 34, 35,
Reid Spencered951ea2007-05-19 07:22:10 +0000597 36, 37, 8, 38, 43, 46, 46, 46, 46, 42,
598 45, 45, 45, 45, 47, 47, 47, 47, 42, 48,
599 146, 138, 42, 82, 42, 49, 50, 50, 50, 50,
600 42, 49, 50, 50, 50, 50, 42, 53, 156, 42,
601 42, 42, 42, 55, 55, 55, 55, 64, 56, 65,
602 105, 42, 61, 42, 42, 57, 62, 58, 51, 59,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000603
Reid Spencered951ea2007-05-19 07:22:10 +0000604 66, 42, 60, 131, 63, 42, 42, 67, 140, 71,
605 42, 68, 72, 42, 42, 134, 80, 69, 155, 73,
606 70, 42, 81, 42, 93, 42, 42, 74, 185, 75,
607 76, 157, 42, 94, 147, 150, 42, 77, 90, 95,
608 42, 78, 86, 79, 83, 83, 83, 83, 42, 42,
609 87, 91, 42, 102, 42, 88, 84, 92, 117, 89,
610 129, 154, 103, 42, 104, 118, 85, 42, 132, 42,
611 42, 119, 42, 130, 120, 42, 152, 96, 42, 97,
612 153, 121, 42, 98, 148, 99, 149, 100, 133, 101,
613 106, 158, 151, 159, 42, 45, 45, 45, 45, 55,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000614
Reid Spencered951ea2007-05-19 07:22:10 +0000615 55, 55, 55, 107, 108, 42, 109, 110, 111, 42,
616 112, 139, 46, 46, 46, 46, 113, 42, 114, 115,
617 42, 116, 106, 42, 172, 42, 42, 49, 47, 47,
618 47, 47, 42, 160, 166, 122, 123, 42, 124, 164,
619 125, 167, 126, 42, 127, 165, 42, 42, 128, 141,
620 141, 141, 141, 42, 170, 42, 178, 142, 42, 42,
621 171, 186, 177, 142, 49, 50, 50, 50, 50, 42,
622 143, 143, 143, 143, 42, 42, 42, 143, 143, 42,
623 143, 143, 143, 143, 143, 143, 173, 161, 42, 42,
624 162, 168, 42, 83, 83, 83, 83, 42, 169, 163,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000625
Reid Spencered951ea2007-05-19 07:22:10 +0000626 174, 42, 175, 42, 42, 42, 179, 42, 42, 42,
627 184, 42, 176, 42, 42, 42, 189, 187, 42, 199,
628 200, 188, 42, 180, 181, 182, 42, 183, 195, 190,
629 191, 193, 194, 192, 42, 42, 197, 42, 42, 42,
630 42, 203, 196, 201, 42, 42, 42, 42, 42, 202,
631 198, 42, 208, 42, 207, 211, 215, 42, 42, 204,
632 209, 217, 205, 219, 213, 220, 42, 206, 42, 212,
633 42, 216, 210, 214, 42, 218, 42, 221, 228, 225,
634 222, 42, 223, 42, 42, 42, 42, 246, 226, 42,
635 224, 245, 42, 231, 42, 229, 234, 230, 42, 227,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000636
Reid Spencered951ea2007-05-19 07:22:10 +0000637 42, 236, 237, 242, 241, 42, 42, 232, 233, 42,
638 235, 238, 42, 42, 239, 251, 251, 251, 251, 240,
639 243, 42, 244, 252, 42, 42, 42, 247, 42, 252,
640 256, 248, 258, 42, 260, 259, 257, 249, 141, 141,
641 141, 141, 42, 42, 263, 276, 142, 261, 42, 265,
642 42, 262, 142, 253, 254, 42, 255, 255, 255, 255,
643 42, 42, 268, 42, 264, 42, 267, 266, 42, 42,
644 42, 42, 272, 42, 42, 42, 42, 42, 270, 269,
645 273, 279, 271, 42, 42, 42, 42, 285, 42, 277,
646 42, 286, 274, 283, 275, 281, 289, 287, 282, 278,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000647
Reid Spencered951ea2007-05-19 07:22:10 +0000648 284, 42, 280, 42, 42, 288, 42, 42, 42, 293,
649 42, 290, 42, 291, 294, 42, 296, 42, 42, 42,
650 42, 295, 42, 42, 42, 300, 298, 292, 42, 42,
651 297, 42, 42, 309, 302, 301, 42, 299, 42, 42,
652 303, 42, 311, 313, 304, 42, 305, 306, 306, 306,
653 306, 312, 308, 310, 306, 306, 314, 306, 306, 306,
654 306, 306, 306, 315, 307, 42, 42, 316, 42, 42,
655 42, 42, 42, 42, 42, 42, 42, 42, 42, 320,
656 319, 324, 318, 322, 42, 327, 328, 42, 42, 317,
657 321, 323, 329, 326, 330, 42, 332, 42, 325, 334,
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000658
Reid Spencered951ea2007-05-19 07:22:10 +0000659 42, 331, 42, 333, 42, 335, 42, 336, 251, 251,
660 251, 251, 341, 42, 253, 253, 252, 338, 338, 338,
661 338, 42, 252, 42, 340, 42, 337, 338, 338, 338,
662 338, 255, 255, 255, 255, 42, 255, 255, 255, 255,
663 42, 342, 42, 343, 339, 42, 42, 42, 344, 42,
664 42, 42, 42, 345, 42, 348, 42, 42, 42, 42,
665 42, 42, 42, 347, 355, 350, 42, 42, 349, 356,
666 346, 352, 353, 42, 357, 42, 42, 42, 42, 354,
667 351, 364, 42, 42, 358, 359, 365, 362, 42, 363,
668 360, 42, 361, 42, 366, 42, 42, 42, 42, 367,
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000669
Reid Spencered951ea2007-05-19 07:22:10 +0000670 368, 42, 369, 370, 42, 42, 42, 371, 42, 42,
671 42, 42, 372, 374, 373, 378, 383, 381, 42, 386,
672 375, 382, 380, 379, 42, 376, 377, 42, 42, 384,
673 42, 42, 42, 42, 385, 42, 388, 387, 42, 390,
674 42, 42, 42, 391, 389, 42, 392, 393, 42, 42,
675 42, 394, 42, 397, 338, 338, 338, 338, 400, 399,
676 395, 42, 42, 42, 396, 398, 42, 42, 404, 405,
677 401, 402, 406, 42, 403, 42, 42, 407, 42, 42,
678 408, 42, 42, 42, 42, 42, 42, 42, 411, 413,
679 414, 42, 42, 42, 42, 409, 410, 412, 415, 416,
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000680
Reid Spencered951ea2007-05-19 07:22:10 +0000681 42, 417, 418, 419, 420, 42, 42, 42, 42, 42,
682 424, 422, 42, 42, 423, 421, 426, 427, 42, 430,
683 42, 431, 42, 425, 42, 42, 429, 42, 42, 42,
684 42, 428, 432, 42, 42, 42, 436, 42, 42, 433,
685 435, 438, 440, 443, 441, 42, 434, 437, 42, 445,
686 442, 42, 446, 439, 444, 42, 42, 447, 42, 42,
687 42, 42, 42, 42, 42, 42, 42, 42, 458, 459,
688 450, 454, 448, 449, 42, 461, 42, 452, 42, 42,
689 42, 42, 451, 456, 457, 455, 463, 464, 466, 453,
690 460, 462, 42, 42, 42, 42, 42, 42, 42, 42,
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000691
Reid Spencered951ea2007-05-19 07:22:10 +0000692 42, 467, 465, 474, 42, 42, 472, 42, 473, 42,
693 468, 42, 470, 471, 42, 476, 478, 469, 475, 42,
694 42, 42, 480, 477, 42, 479, 42, 42, 42, 42,
695 42, 42, 42, 481, 42, 42, 483, 487, 482, 488,
696 486, 42, 484, 494, 489, 492, 490, 42, 485, 42,
697 493, 495, 497, 491, 42, 42, 42, 42, 42, 498,
698 42, 500, 42, 42, 42, 42, 501, 42, 503, 42,
699 499, 496, 42, 42, 505, 42, 42, 42, 42, 509,
700 510, 502, 504, 512, 513, 515, 514, 42, 506, 507,
701 511, 508, 42, 42, 517, 42, 42, 516, 42, 519,
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000702
Reid Spencered951ea2007-05-19 07:22:10 +0000703 518, 42, 42, 42, 522, 42, 42, 42, 42, 520,
704 42, 523, 42, 42, 526, 528, 530, 42, 42, 532,
705 521, 42, 525, 42, 529, 42, 524, 527, 531, 42,
706 42, 42, 533, 536, 42, 534, 538, 42, 42, 539,
707 42, 535, 42, 42, 42, 42, 42, 540, 543, 537,
708 541, 42, 549, 542, 42, 42, 42, 42, 42, 42,
709 545, 547, 546, 42, 544, 42, 555, 548, 550, 42,
710 553, 556, 42, 551, 42, 560, 42, 42, 552, 554,
711 559, 42, 42, 42, 42, 42, 42, 42, 42, 557,
712 42, 42, 42, 558, 42, 42, 561, 39, 39, 39,
Reid Spencer14310612006-12-31 05:40:51 +0000713
Reid Spencered951ea2007-05-19 07:22:10 +0000714 39, 39, 41, 41, 44, 44, 52, 42, 52, 52,
715 52, 54, 54, 136, 136, 136, 136, 136, 144, 144,
716 144, 144, 144, 42, 42, 42, 42, 42, 42, 42,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000717 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
718 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
719 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
720 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
721 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
722 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
Lauro Ramos Venancioc7635522007-04-12 18:32:50 +0000723 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
Chris Lattner75466192006-05-19 21:28:53 +0000724
Reid Spencered951ea2007-05-19 07:22:10 +0000725 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
726 42, 145, 42, 137, 250, 42, 42, 42, 42, 145,
727 137, 42, 135, 42, 40, 562, 3, 562, 562, 562,
728 562, 562, 562, 562, 562, 562, 562, 562, 562, 562,
729 562, 562, 562, 562, 562, 562, 562, 562, 562, 562,
730 562, 562, 562, 562, 562, 562, 562, 562, 562, 562,
731 562, 562, 562, 562, 562, 562, 562, 562, 562, 562,
732 562
Reid Spencer68a24bd2005-08-27 18:50:39 +0000733 } ;
734
Reid Spencered951ea2007-05-19 07:22:10 +0000735static yyconst short int yy_chk[1272] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000736 { 0,
737 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
738 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
739 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
740 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Reid Spencered951ea2007-05-19 07:22:10 +0000741 1, 1, 1, 1, 9, 10, 10, 10, 10, 24,
742 9, 9, 9, 9, 11, 11, 11, 11, 11, 12,
743 571, 569, 64, 24, 12, 13, 13, 13, 13, 13,
744 13, 14, 14, 14, 14, 14, 14, 16, 64, 17,
745 31, 19, 18, 16, 16, 16, 16, 19, 17, 19,
746 31, 21, 18, 36, 62, 17, 18, 17, 13, 17,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000747
Reid Spencered951ea2007-05-19 07:22:10 +0000748 19, 20, 17, 36, 18, 38, 23, 20, 48, 21,
749 87, 20, 21, 48, 28, 38, 23, 20, 62, 21,
750 20, 22, 23, 65, 28, 56, 58, 22, 87, 22,
751 22, 65, 27, 28, 56, 58, 26, 22, 27, 28,
752 30, 22, 26, 22, 25, 25, 25, 25, 25, 61,
753 26, 27, 33, 30, 35, 26, 25, 27, 33, 26,
754 35, 61, 30, 60, 30, 33, 25, 29, 37, 37,
755 57, 33, 59, 35, 33, 66, 60, 29, 561, 29,
756 60, 33, 559, 29, 57, 29, 57, 29, 37, 29,
757 32, 66, 59, 66, 32, 45, 45, 45, 45, 55,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000758
Reid Spencered951ea2007-05-19 07:22:10 +0000759 55, 55, 55, 32, 32, 77, 32, 32, 32, 67,
760 32, 46, 46, 46, 46, 46, 32, 73, 32, 32,
761 70, 32, 34, 69, 77, 71, 34, 47, 47, 47,
762 47, 47, 47, 67, 71, 34, 34, 75, 34, 69,
763 34, 73, 34, 81, 34, 70, 76, 82, 34, 49,
764 49, 49, 49, 49, 75, 88, 82, 49, 558, 556,
765 76, 88, 81, 49, 50, 50, 50, 50, 50, 50,
766 51, 51, 51, 51, 51, 74, 78, 51, 51, 68,
767 51, 51, 51, 51, 51, 51, 78, 68, 80, 84,
768 68, 74, 79, 83, 83, 83, 83, 83, 74, 68,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000769
Reid Spencered951ea2007-05-19 07:22:10 +0000770 78, 85, 79, 86, 89, 90, 84, 91, 94, 99,
771 86, 96, 80, 92, 100, 95, 91, 89, 97, 99,
772 100, 90, 103, 85, 85, 85, 98, 85, 97, 92,
773 94, 95, 96, 94, 101, 102, 98, 104, 105, 106,
774 107, 103, 97, 101, 108, 109, 114, 111, 110, 102,
775 98, 112, 108, 113, 107, 109, 111, 118, 121, 104,
776 108, 112, 105, 113, 110, 114, 116, 106, 117, 109,
777 115, 111, 108, 110, 120, 112, 123, 115, 121, 118,
778 116, 122, 117, 124, 125, 131, 126, 132, 120, 132,
779 117, 131, 127, 124, 128, 122, 126, 123, 129, 120,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000780
Reid Spencered951ea2007-05-19 07:22:10 +0000781 554, 127, 127, 129, 128, 133, 130, 124, 125, 134,
782 126, 127, 152, 149, 127, 139, 139, 139, 139, 127,
783 130, 169, 130, 139, 148, 151, 159, 133, 156, 139,
784 148, 134, 149, 154, 152, 151, 148, 134, 141, 141,
785 141, 141, 141, 155, 156, 169, 141, 154, 162, 159,
786 161, 155, 141, 142, 142, 158, 142, 142, 142, 142,
787 142, 160, 162, 163, 158, 165, 161, 160, 164, 170,
788 167, 168, 165, 171, 173, 172, 174, 176, 164, 163,
789 167, 172, 164, 175, 177, 179, 180, 176, 178, 170,
790 183, 177, 167, 175, 168, 174, 180, 178, 174, 171,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000791
Reid Spencered951ea2007-05-19 07:22:10 +0000792 175, 181, 173, 182, 184, 179, 185, 186, 187, 183,
793 188, 181, 189, 182, 184, 191, 186, 192, 193, 200,
794 203, 185, 204, 209, 216, 191, 188, 182, 208, 210,
795 187, 214, 553, 209, 193, 192, 552, 189, 207, 219,
796 200, 215, 214, 216, 203, 220, 204, 206, 206, 206,
797 206, 215, 208, 210, 206, 206, 219, 206, 206, 206,
798 206, 206, 206, 219, 207, 222, 223, 220, 224, 225,
799 226, 228, 229, 227, 233, 236, 239, 241, 240, 225,
800 224, 228, 223, 227, 245, 236, 239, 243, 248, 222,
801 226, 227, 240, 233, 241, 242, 243, 244, 229, 245,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000802
Reid Spencered951ea2007-05-19 07:22:10 +0000803 246, 242, 249, 244, 258, 246, 257, 248, 251, 251,
804 251, 251, 258, 547, 252, 252, 251, 252, 252, 252,
805 252, 256, 251, 259, 257, 261, 249, 253, 253, 253,
806 253, 254, 254, 254, 254, 254, 255, 255, 255, 255,
807 255, 259, 262, 261, 256, 264, 265, 266, 262, 267,
808 268, 269, 270, 264, 271, 267, 272, 273, 274, 275,
809 279, 280, 282, 266, 274, 269, 276, 281, 268, 275,
810 265, 271, 272, 285, 276, 286, 287, 290, 291, 273,
811 270, 286, 289, 292, 279, 280, 287, 282, 293, 285,
812 281, 294, 281, 295, 289, 298, 300, 299, 301, 290,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000813
Reid Spencered951ea2007-05-19 07:22:10 +0000814 291, 303, 292, 293, 305, 304, 312, 294, 308, 309,
815 311, 317, 295, 299, 298, 304, 312, 309, 313, 317,
816 300, 311, 308, 305, 316, 301, 303, 319, 321, 313,
817 320, 323, 326, 329, 316, 327, 320, 319, 331, 323,
818 333, 328, 335, 326, 321, 336, 327, 328, 344, 539,
819 348, 329, 341, 335, 338, 338, 338, 338, 341, 336,
820 331, 342, 346, 347, 333, 335, 345, 349, 346, 347,
821 342, 344, 348, 350, 345, 351, 352, 349, 353, 354,
822 350, 355, 357, 362, 360, 361, 365, 364, 353, 355,
823 357, 367, 363, 368, 369, 351, 352, 354, 360, 361,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000824
Reid Spencered951ea2007-05-19 07:22:10 +0000825 370, 362, 363, 364, 365, 372, 375, 374, 373, 377,
826 370, 368, 376, 378, 369, 367, 373, 374, 379, 377,
827 380, 378, 381, 372, 382, 383, 376, 384, 386, 387,
828 391, 375, 379, 388, 389, 393, 383, 395, 396, 380,
829 382, 386, 388, 393, 389, 394, 381, 384, 398, 395,
830 391, 397, 396, 387, 394, 399, 401, 397, 402, 404,
831 405, 406, 408, 412, 409, 410, 413, 417, 412, 412,
832 401, 406, 398, 399, 418, 417, 421, 404, 423, 428,
833 425, 422, 402, 409, 410, 408, 421, 422, 425, 405,
834 413, 418, 429, 431, 432, 433, 435, 436, 440, 446,
Chris Lattnere869eef2005-11-12 00:11:49 +0000835
Reid Spencered951ea2007-05-19 07:22:10 +0000836 447, 428, 423, 440, 450, 443, 435, 448, 436, 452,
837 429, 449, 432, 433, 456, 446, 448, 431, 443, 453,
838 457, 458, 450, 447, 459, 449, 472, 460, 463, 462,
839 464, 465, 467, 452, 468, 466, 456, 460, 453, 462,
840 459, 469, 457, 468, 463, 466, 464, 470, 458, 473,
841 467, 469, 472, 465, 474, 475, 476, 477, 479, 473,
842 478, 475, 480, 482, 487, 483, 476, 484, 478, 485,
843 474, 470, 488, 489, 480, 495, 497, 498, 499, 485,
844 487, 477, 479, 489, 495, 498, 497, 500, 482, 483,
845 488, 484, 502, 503, 500, 504, 506, 499, 509, 503,
Chris Lattner75466192006-05-19 21:28:53 +0000846
Reid Spencered951ea2007-05-19 07:22:10 +0000847 502, 510, 511, 515, 509, 512, 514, 516, 517, 504,
848 518, 510, 519, 520, 514, 516, 518, 522, 523, 520,
849 506, 524, 512, 525, 517, 526, 511, 515, 519, 529,
850 528, 530, 522, 525, 531, 523, 528, 532, 534, 529,
851 535, 524, 536, 537, 541, 538, 545, 530, 534, 526,
852 531, 540, 541, 532, 542, 543, 544, 546, 548, 550,
853 536, 538, 537, 549, 535, 557, 548, 540, 542, 551,
854 545, 549, 555, 543, 560, 557, 533, 527, 544, 546,
855 555, 521, 513, 508, 507, 505, 501, 496, 494, 550,
856 493, 492, 491, 551, 490, 486, 560, 563, 563, 563,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000857
Reid Spencered951ea2007-05-19 07:22:10 +0000858 563, 563, 564, 564, 565, 565, 566, 481, 566, 566,
859 566, 567, 567, 568, 568, 568, 568, 568, 570, 570,
860 570, 570, 570, 471, 461, 455, 454, 451, 445, 444,
861 442, 441, 439, 438, 437, 434, 430, 427, 426, 424,
862 420, 419, 416, 415, 414, 411, 407, 403, 400, 392,
863 390, 385, 371, 366, 359, 358, 356, 343, 340, 339,
864 337, 334, 332, 330, 325, 324, 322, 318, 315, 314,
865 310, 307, 302, 297, 296, 288, 284, 283, 278, 277,
866 263, 260, 247, 238, 237, 235, 234, 232, 231, 230,
867 221, 218, 217, 213, 212, 211, 205, 202, 201, 199,
Reid Spencer3da59db2006-11-27 01:05:10 +0000868
Reid Spencered951ea2007-05-19 07:22:10 +0000869 198, 197, 196, 195, 194, 190, 166, 157, 153, 150,
870 147, 144, 140, 136, 135, 119, 93, 72, 63, 53,
871 43, 41, 39, 8, 7, 3, 562, 562, 562, 562,
872 562, 562, 562, 562, 562, 562, 562, 562, 562, 562,
873 562, 562, 562, 562, 562, 562, 562, 562, 562, 562,
874 562, 562, 562, 562, 562, 562, 562, 562, 562, 562,
875 562, 562, 562, 562, 562, 562, 562, 562, 562, 562,
876 562
Reid Spencer68a24bd2005-08-27 18:50:39 +0000877 } ;
878
Reid Spencered951ea2007-05-19 07:22:10 +0000879static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
880static char *yy_full_match;
881static int yy_lp;
882#define REJECT \
883{ \
884*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
885yy_cp = yy_full_match; /* restore poss. backed-over text */ \
886++yy_lp; \
887goto find_rule; \
888}
Reid Spencer68a24bd2005-08-27 18:50:39 +0000889#define yymore() yymore_used_but_not_detected
890#define YY_MORE_ADJ 0
891#define YY_RESTORE_YY_MORE_OFFSET
Reid Spencered951ea2007-05-19 07:22:10 +0000892char *yytext;
893#line 1 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
894#define INITIAL 0
Reid Spencer68a24bd2005-08-27 18:50:39 +0000895/*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
896//
897// The LLVM Compiler Infrastructure
898//
899// This file was developed by the LLVM research group and is distributed under
900// the University of Illinois Open Source License. See LICENSE.TXT for details.
901//
902//===----------------------------------------------------------------------===//
903//
904// This file implements the flex scanner for LLVM assembly languages files.
905//
906//===----------------------------------------------------------------------===*/
Reid Spencered951ea2007-05-19 07:22:10 +0000907#define YY_NEVER_INTERACTIVE 1
908#line 28 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +0000909#include "ParserInternals.h"
910#include "llvm/Module.h"
911#include <list>
912#include "llvmAsmParser.h"
913#include <cctype>
914#include <cstdlib>
915
916void set_scan_file(FILE * F){
Reid Spencered951ea2007-05-19 07:22:10 +0000917 yy_switch_to_buffer(yy_create_buffer( F, YY_BUF_SIZE ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +0000918}
919void set_scan_string (const char * str) {
Reid Spencered951ea2007-05-19 07:22:10 +0000920 yy_scan_string (str);
Reid Spencer68a24bd2005-08-27 18:50:39 +0000921}
922
Reid Spencer3ed469c2006-11-02 20:25:50 +0000923// Construct a token value for a non-obsolete token
Reid Spencer68a24bd2005-08-27 18:50:39 +0000924#define RET_TOK(type, Enum, sym) \
Reid Spencera132e042006-12-03 05:46:11 +0000925 llvmAsmlval.type = Instruction::Enum; \
926 return sym
927
Reid Spencer3ed469c2006-11-02 20:25:50 +0000928// Construct a token value for an obsolete token
Reid Spencera132e042006-12-03 05:46:11 +0000929#define RET_TY(CTYPE, SYM) \
930 llvmAsmlval.PrimType = CTYPE;\
Reid Spencer481169e2006-12-01 00:33:46 +0000931 return SYM
Reid Spencer68a24bd2005-08-27 18:50:39 +0000932
933namespace llvm {
934
935// TODO: All of the static identifiers are figured out by the lexer,
936// these should be hashed to reduce the lexer size
937
938
939// atoull - Convert an ascii string of decimal digits into the unsigned long
940// long representation... this does not have to do input error checking,
941// because we know that the input will be matched by a suitable regex...
942//
943static uint64_t atoull(const char *Buffer) {
944 uint64_t Result = 0;
945 for (; *Buffer; Buffer++) {
946 uint64_t OldRes = Result;
947 Result *= 10;
948 Result += *Buffer-'0';
949 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000950 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000951 }
952 return Result;
953}
954
955static uint64_t HexIntToVal(const char *Buffer) {
956 uint64_t Result = 0;
957 for (; *Buffer; ++Buffer) {
958 uint64_t OldRes = Result;
959 Result *= 16;
960 char C = *Buffer;
961 if (C >= '0' && C <= '9')
962 Result += C-'0';
963 else if (C >= 'A' && C <= 'F')
964 Result += C-'A'+10;
965 else if (C >= 'a' && C <= 'f')
966 Result += C-'a'+10;
967
968 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000969 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000970 }
971 return Result;
972}
973
974
975// HexToFP - Convert the ascii string in hexidecimal format to the floating
976// point representation of it.
977//
978static double HexToFP(const char *Buffer) {
979 // Behave nicely in the face of C TBAA rules... see:
980 // http://www.nullstone.com/htmls/category/aliastyp.htm
981 union {
982 uint64_t UI;
983 double FP;
984 } UIntToFP;
985 UIntToFP.UI = HexIntToVal(Buffer);
986
987 assert(sizeof(double) == sizeof(uint64_t) &&
988 "Data sizes incompatible on this target!");
989 return UIntToFP.FP; // Cast Hex constant to double
990}
991
992
993// UnEscapeLexed - Run through the specified buffer and change \xx codes to the
994// appropriate character. If AllowNull is set to false, a \00 value will cause
995// an exception to be thrown.
996//
997// If AllowNull is set to true, the return value of the function points to the
998// last character of the string in memory.
999//
1000char *UnEscapeLexed(char *Buffer, bool AllowNull) {
1001 char *BOut = Buffer;
1002 for (char *BIn = Buffer; *BIn; ) {
1003 if (BIn[0] == '\\' && isxdigit(BIn[1]) && isxdigit(BIn[2])) {
1004 char Tmp = BIn[3]; BIn[3] = 0; // Terminate string
1005 *BOut = (char)strtol(BIn+1, 0, 16); // Convert to number
1006 if (!AllowNull && !*BOut)
Reid Spencer61c83e02006-08-18 08:43:06 +00001007 GenerateError("String literal cannot accept \\00 escape!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001008
1009 BIn[3] = Tmp; // Restore character
1010 BIn += 3; // Skip over handled chars
1011 ++BOut;
1012 } else {
1013 *BOut++ = *BIn++;
1014 }
1015 }
1016
1017 return BOut;
1018}
1019
1020} // End llvm namespace
1021
1022using namespace llvm;
1023
1024#define YY_NEVER_INTERACTIVE 1
1025/* Comments start with a ; and go till end of line */
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001026/* Local Values and Type identifiers start with a % sign */
1027/* Global Value identifiers start with an @ sign */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001028/* Label identifiers end with a colon */
1029/* Quoted names can contain any character except " and \ */
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001030/* LocalVarID/GlobalVarID: match an unnamed local variable slot ID. */
1031/* Integer types are specified with i and a bitwidth */
1032/* E[PN]Integer: match positive and negative literal integer values. */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001033/* FPConstant - A Floating point constant.
1034 */
1035/* HexFPConstant - Floating point constant represented in IEEE format as a
1036 * hexadecimal number for when exponential notation is not precise enough.
1037 */
1038/* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
1039 * it to deal with 64 bit numbers.
1040 */
Reid Spencered951ea2007-05-19 07:22:10 +00001041#line 1042 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001042
1043/* Macros after this point can all be overridden by user definitions in
1044 * section 1.
1045 */
1046
1047#ifndef YY_SKIP_YYWRAP
1048#ifdef __cplusplus
Reid Spencered951ea2007-05-19 07:22:10 +00001049extern "C" int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001050#else
Reid Spencered951ea2007-05-19 07:22:10 +00001051extern int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001052#endif
1053#endif
1054
Reid Spencered951ea2007-05-19 07:22:10 +00001055#ifndef YY_NO_UNPUT
1056static inline void yyunput YY_PROTO(( int c, char *buf_ptr ));
1057#endif
1058
Reid Spencer68a24bd2005-08-27 18:50:39 +00001059#ifndef yytext_ptr
Reid Spencered951ea2007-05-19 07:22:10 +00001060static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001061#endif
1062
1063#ifdef YY_NEED_STRLEN
Reid Spencered951ea2007-05-19 07:22:10 +00001064static int yy_flex_strlen YY_PROTO(( yyconst char * ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001065#endif
1066
1067#ifndef YY_NO_INPUT
1068#ifdef __cplusplus
Reid Spencered951ea2007-05-19 07:22:10 +00001069static int yyinput YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001070#else
Reid Spencered951ea2007-05-19 07:22:10 +00001071static int input YY_PROTO(( void ));
1072#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001073#endif
1074
Reid Spencered951ea2007-05-19 07:22:10 +00001075#if YY_STACK_USED
1076static int yy_start_stack_ptr = 0;
1077static int yy_start_stack_depth = 0;
1078static int *yy_start_stack = 0;
1079#ifndef YY_NO_PUSH_STATE
1080static void yy_push_state YY_PROTO(( int new_state ));
1081#endif
1082#ifndef YY_NO_POP_STATE
1083static void yy_pop_state YY_PROTO(( void ));
1084#endif
1085#ifndef YY_NO_TOP_STATE
1086static int yy_top_state YY_PROTO(( void ));
1087#endif
1088
1089#else
1090#define YY_NO_PUSH_STATE 1
1091#define YY_NO_POP_STATE 1
1092#define YY_NO_TOP_STATE 1
1093#endif
1094
1095#ifdef YY_MALLOC_DECL
1096YY_MALLOC_DECL
1097#else
1098#if __STDC__
1099#ifndef __cplusplus
1100#include <stdlib.h>
1101#endif
1102#else
1103/* Just try to get by without declaring the routines. This will fail
1104 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1105 * or sizeof(void*) != sizeof(int).
1106 */
1107#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001108#endif
1109
1110/* Amount of stuff to slurp up with each read. */
1111#ifndef YY_READ_BUF_SIZE
1112#define YY_READ_BUF_SIZE 8192
1113#endif
1114
1115/* Copy whatever the last rule matched to the standard output. */
Reid Spencered951ea2007-05-19 07:22:10 +00001116
Reid Spencer68a24bd2005-08-27 18:50:39 +00001117#ifndef ECHO
1118/* This used to be an fputs(), but since the string might contain NUL's,
1119 * we now use fwrite().
1120 */
Reid Spencered951ea2007-05-19 07:22:10 +00001121#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001122#endif
1123
1124/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1125 * is returned in "result".
1126 */
1127#ifndef YY_INPUT
1128#define YY_INPUT(buf,result,max_size) \
Reid Spencered951ea2007-05-19 07:22:10 +00001129 if ( yy_current_buffer->yy_is_interactive ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001130 { \
Reid Spencered951ea2007-05-19 07:22:10 +00001131 int c = '*', n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001132 for ( n = 0; n < max_size && \
Reid Spencered951ea2007-05-19 07:22:10 +00001133 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001134 buf[n] = (char) c; \
1135 if ( c == '\n' ) \
1136 buf[n++] = (char) c; \
Reid Spencered951ea2007-05-19 07:22:10 +00001137 if ( c == EOF && ferror( yyin ) ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001138 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1139 result = n; \
1140 } \
Reid Spencered951ea2007-05-19 07:22:10 +00001141 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1142 && ferror( yyin ) ) \
1143 YY_FATAL_ERROR( "input in flex scanner failed" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001144#endif
1145
1146/* No semi-colon after return; correct usage is to write "yyterminate();" -
1147 * we don't want an extra ';' after the "return" because that will cause
1148 * some compilers to complain about unreachable statements.
1149 */
1150#ifndef yyterminate
1151#define yyterminate() return YY_NULL
1152#endif
1153
1154/* Number of entries by which start-condition stack grows. */
1155#ifndef YY_START_STACK_INCR
1156#define YY_START_STACK_INCR 25
1157#endif
1158
1159/* Report a fatal error. */
1160#ifndef YY_FATAL_ERROR
1161#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1162#endif
1163
1164/* Default declaration of generated scanner - a define so the user can
1165 * easily add parameters.
1166 */
1167#ifndef YY_DECL
Reid Spencered951ea2007-05-19 07:22:10 +00001168#define YY_DECL int yylex YY_PROTO(( void ))
1169#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001170
Reid Spencered951ea2007-05-19 07:22:10 +00001171/* Code executed at the beginning of each rule, after yytext and yyleng
Reid Spencer68a24bd2005-08-27 18:50:39 +00001172 * have been set up.
1173 */
1174#ifndef YY_USER_ACTION
1175#define YY_USER_ACTION
1176#endif
1177
1178/* Code executed at the end of each rule. */
1179#ifndef YY_BREAK
1180#define YY_BREAK break;
1181#endif
1182
1183#define YY_RULE_SETUP \
1184 YY_USER_ACTION
1185
1186YY_DECL
Reid Spencered951ea2007-05-19 07:22:10 +00001187 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00001188 register yy_state_type yy_current_state;
Reid Spencered951ea2007-05-19 07:22:10 +00001189 register char *yy_cp = NULL, *yy_bp = NULL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001190 register int yy_act;
Reid Spencered951ea2007-05-19 07:22:10 +00001191
1192#line 191 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001193
1194
Reid Spencered951ea2007-05-19 07:22:10 +00001195#line 1196 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001196
Reid Spencered951ea2007-05-19 07:22:10 +00001197 if ( yy_init )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001198 {
Reid Spencered951ea2007-05-19 07:22:10 +00001199 yy_init = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001200
1201#ifdef YY_USER_INIT
1202 YY_USER_INIT;
1203#endif
1204
Reid Spencered951ea2007-05-19 07:22:10 +00001205 if ( ! yy_start )
1206 yy_start = 1; /* first start state */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001207
Reid Spencered951ea2007-05-19 07:22:10 +00001208 if ( ! yyin )
1209 yyin = stdin;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001210
Reid Spencered951ea2007-05-19 07:22:10 +00001211 if ( ! yyout )
1212 yyout = stdout;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001213
Reid Spencered951ea2007-05-19 07:22:10 +00001214 if ( ! yy_current_buffer )
1215 yy_current_buffer =
1216 yy_create_buffer( yyin, YY_BUF_SIZE );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001217
Reid Spencered951ea2007-05-19 07:22:10 +00001218 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00001219 }
1220
1221 while ( 1 ) /* loops until end-of-file is reached */
1222 {
Reid Spencered951ea2007-05-19 07:22:10 +00001223 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001224
Reid Spencered951ea2007-05-19 07:22:10 +00001225 /* Support of yytext. */
1226 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001227
1228 /* yy_bp points to the position in yy_ch_buf of the start of
1229 * the current run.
1230 */
1231 yy_bp = yy_cp;
1232
Reid Spencered951ea2007-05-19 07:22:10 +00001233 yy_current_state = yy_start;
1234 yy_state_ptr = yy_state_buf;
1235 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001236yy_match:
1237 do
1238 {
1239 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1240 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1241 {
1242 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencered951ea2007-05-19 07:22:10 +00001243 if ( yy_current_state >= 563 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001244 yy_c = yy_meta[(unsigned int) yy_c];
1245 }
1246 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencered951ea2007-05-19 07:22:10 +00001247 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001248 ++yy_cp;
1249 }
Reid Spencered951ea2007-05-19 07:22:10 +00001250 while ( yy_current_state != 562 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001251
1252yy_find_action:
Reid Spencered951ea2007-05-19 07:22:10 +00001253 yy_current_state = *--yy_state_ptr;
1254 yy_lp = yy_accept[yy_current_state];
1255find_rule: /* we branch to this label when backing up */
1256 for ( ; ; ) /* until we find what rule we matched */
1257 {
1258 if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
1259 {
1260 yy_act = yy_acclist[yy_lp];
1261 {
1262 yy_full_match = yy_cp;
1263 break;
1264 }
1265 }
1266 --yy_cp;
1267 yy_current_state = *--yy_state_ptr;
1268 yy_lp = yy_accept[yy_current_state];
1269 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001270
1271 YY_DO_BEFORE_ACTION;
1272
Reid Spencered951ea2007-05-19 07:22:10 +00001273 if ( yy_act != YY_END_OF_BUFFER )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001274 {
1275 int yyl;
Reid Spencered951ea2007-05-19 07:22:10 +00001276 for ( yyl = 0; yyl < yyleng; ++yyl )
1277 if ( yytext[yyl] == '\n' )
1278 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001279 }
1280
1281do_action: /* This label is used only to access EOF actions. */
1282
Reid Spencered951ea2007-05-19 07:22:10 +00001283
Reid Spencer68a24bd2005-08-27 18:50:39 +00001284 switch ( yy_act )
1285 { /* beginning of action switch */
1286case 1:
1287YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001288#line 193 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001289{ /* Ignore comments for now */ }
1290 YY_BREAK
1291case 2:
1292YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001293#line 195 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001294{ return BEGINTOK; }
1295 YY_BREAK
1296case 3:
1297YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001298#line 196 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001299{ return ENDTOK; }
1300 YY_BREAK
1301case 4:
1302YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001303#line 197 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001304{ return TRUETOK; }
1305 YY_BREAK
1306case 5:
1307YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001308#line 198 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001309{ return FALSETOK; }
1310 YY_BREAK
1311case 6:
1312YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001313#line 199 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001314{ return DECLARE; }
1315 YY_BREAK
1316case 7:
1317YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001318#line 200 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001319{ return DEFINE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001320 YY_BREAK
1321case 8:
1322YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001323#line 201 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001324{ return GLOBAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001325 YY_BREAK
1326case 9:
1327YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001328#line 202 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001329{ return CONSTANT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001330 YY_BREAK
1331case 10:
1332YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001333#line 203 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001334{ return INTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001335 YY_BREAK
1336case 11:
1337YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001338#line 204 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001339{ return LINKONCE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001340 YY_BREAK
1341case 12:
1342YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001343#line 205 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001344{ return WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001345 YY_BREAK
1346case 13:
1347YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001348#line 206 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001349{ return APPENDING; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001350 YY_BREAK
1351case 14:
1352YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001353#line 207 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001354{ return DLLIMPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001355 YY_BREAK
1356case 15:
1357YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001358#line 208 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001359{ return DLLEXPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001360 YY_BREAK
1361case 16:
1362YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001363#line 209 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001364{ return HIDDEN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001365 YY_BREAK
1366case 17:
1367YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001368#line 210 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001369{ return PROTECTED; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001370 YY_BREAK
1371case 18:
1372YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001373#line 211 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001374{ return EXTERN_WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001375 YY_BREAK
1376case 19:
1377YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001378#line 212 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001379{ return EXTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001380 YY_BREAK
1381case 20:
1382YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001383#line 213 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001384{ return THREAD_LOCAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001385 YY_BREAK
1386case 21:
1387YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001388#line 214 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001389{ return ZEROINITIALIZER; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001390 YY_BREAK
1391case 22:
1392YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001393#line 215 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001394{ return DOTDOTDOT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001395 YY_BREAK
1396case 23:
1397YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001398#line 216 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001399{ return UNDEF; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001400 YY_BREAK
1401case 24:
1402YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001403#line 217 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001404{ return NULL_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001405 YY_BREAK
1406case 25:
1407YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001408#line 218 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001409{ return TO; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001410 YY_BREAK
1411case 26:
1412YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001413#line 219 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001414{ return TAIL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001415 YY_BREAK
1416case 27:
1417YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001418#line 220 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001419{ return TARGET; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001420 YY_BREAK
1421case 28:
1422YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001423#line 221 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001424{ return TRIPLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001425 YY_BREAK
1426case 29:
1427YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001428#line 222 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001429{ return DEPLIBS; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001430 YY_BREAK
1431case 30:
1432YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001433#line 223 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001434{ return DATALAYOUT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001435 YY_BREAK
1436case 31:
1437YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001438#line 224 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001439{ return VOLATILE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001440 YY_BREAK
1441case 32:
1442YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001443#line 225 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001444{ return ALIGN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001445 YY_BREAK
1446case 33:
1447YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001448#line 226 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001449{ return SECTION; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001450 YY_BREAK
1451case 34:
1452YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001453#line 227 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001454{ return ALIAS; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001455 YY_BREAK
1456case 35:
1457YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001458#line 228 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001459{ return MODULE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001460 YY_BREAK
1461case 36:
1462YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001463#line 229 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001464{ return ASM_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001465 YY_BREAK
1466case 37:
1467YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001468#line 230 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001469{ return SIDEEFFECT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001470 YY_BREAK
1471case 38:
1472YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001473#line 232 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001474{ return CC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001475 YY_BREAK
1476case 39:
1477YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001478#line 233 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001479{ return CCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001480 YY_BREAK
1481case 40:
1482YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001483#line 234 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001484{ return FASTCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001485 YY_BREAK
1486case 41:
1487YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001488#line 235 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001489{ return COLDCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001490 YY_BREAK
1491case 42:
1492YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001493#line 236 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001494{ return X86_STDCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001495 YY_BREAK
1496case 43:
1497YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001498#line 237 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001499{ return X86_FASTCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001500 YY_BREAK
1501case 44:
1502YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001503#line 239 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001504{ return INREG; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001505 YY_BREAK
1506case 45:
1507YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001508#line 240 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001509{ return SRET; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001510 YY_BREAK
1511case 46:
1512YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001513#line 241 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001514{ return NOUNWIND; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001515 YY_BREAK
1516case 47:
1517YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001518#line 242 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001519{ return NORETURN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001520 YY_BREAK
1521case 48:
1522YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001523#line 244 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001524{ RET_TY(Type::VoidTy, VOID); }
Reid Spencer832254e2007-02-02 02:16:23 +00001525 YY_BREAK
1526case 49:
1527YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001528#line 245 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001529{ RET_TY(Type::FloatTy, FLOAT); }
Reid Spencer832254e2007-02-02 02:16:23 +00001530 YY_BREAK
1531case 50:
1532YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001533#line 246 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001534{ RET_TY(Type::DoubleTy,DOUBLE);}
Reid Spencer67d8ed92007-03-22 02:14:08 +00001535 YY_BREAK
1536case 51:
1537YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001538#line 247 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001539{ RET_TY(Type::LabelTy, LABEL); }
Lauro Ramos Venancioc7635522007-04-12 18:32:50 +00001540 YY_BREAK
1541case 52:
1542YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001543#line 248 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001544{ return TYPE; }
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001545 YY_BREAK
1546case 53:
1547YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001548#line 249 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001549{ return OPAQUE; }
1550 YY_BREAK
1551case 54:
1552YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001553#line 250 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
1554{ uint64_t NumBits = atoull(yytext+1);
Reid Spencera54b7cb2007-01-12 07:05:14 +00001555 if (NumBits < IntegerType::MIN_INT_BITS ||
1556 NumBits > IntegerType::MAX_INT_BITS)
1557 GenerateError("Bitwidth for integer type out of range!");
1558 const Type* Ty = IntegerType::get(NumBits);
1559 RET_TY(Ty, INTTYPE);
1560 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001561 YY_BREAK
Reid Spencer68a24bd2005-08-27 18:50:39 +00001562case 55:
1563YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001564#line 258 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001565{ RET_TOK(BinaryOpVal, Add, ADD); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001566 YY_BREAK
1567case 56:
1568YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001569#line 259 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001570{ RET_TOK(BinaryOpVal, Sub, SUB); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001571 YY_BREAK
1572case 57:
1573YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001574#line 260 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001575{ RET_TOK(BinaryOpVal, Mul, MUL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001576 YY_BREAK
1577case 58:
1578YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001579#line 261 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001580{ RET_TOK(BinaryOpVal, UDiv, UDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001581 YY_BREAK
1582case 59:
1583YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001584#line 262 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001585{ RET_TOK(BinaryOpVal, SDiv, SDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001586 YY_BREAK
1587case 60:
1588YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001589#line 263 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001590{ RET_TOK(BinaryOpVal, FDiv, FDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001591 YY_BREAK
1592case 61:
1593YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001594#line 264 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001595{ RET_TOK(BinaryOpVal, URem, UREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001596 YY_BREAK
1597case 62:
1598YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001599#line 265 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001600{ RET_TOK(BinaryOpVal, SRem, SREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001601 YY_BREAK
1602case 63:
1603YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001604#line 266 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001605{ RET_TOK(BinaryOpVal, FRem, FREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001606 YY_BREAK
1607case 64:
1608YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001609#line 267 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001610{ RET_TOK(BinaryOpVal, Shl, SHL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001611 YY_BREAK
1612case 65:
1613YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001614#line 268 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001615{ RET_TOK(BinaryOpVal, LShr, LSHR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001616 YY_BREAK
1617case 66:
1618YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001619#line 269 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001620{ RET_TOK(BinaryOpVal, AShr, ASHR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001621 YY_BREAK
1622case 67:
1623YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001624#line 270 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001625{ RET_TOK(BinaryOpVal, And, AND); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001626 YY_BREAK
1627case 68:
1628YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001629#line 271 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001630{ RET_TOK(BinaryOpVal, Or , OR ); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001631 YY_BREAK
1632case 69:
1633YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001634#line 272 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001635{ RET_TOK(BinaryOpVal, Xor, XOR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001636 YY_BREAK
1637case 70:
1638YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001639#line 273 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001640{ RET_TOK(OtherOpVal, ICmp, ICMP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001641 YY_BREAK
1642case 71:
1643YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001644#line 274 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001645{ RET_TOK(OtherOpVal, FCmp, FCMP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001646 YY_BREAK
1647case 72:
1648YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001649#line 276 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001650{ return EQ; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001651 YY_BREAK
1652case 73:
1653YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001654#line 277 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001655{ return NE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001656 YY_BREAK
1657case 74:
1658YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001659#line 278 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001660{ return SLT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001661 YY_BREAK
1662case 75:
1663YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001664#line 279 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001665{ return SGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001666 YY_BREAK
1667case 76:
1668YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001669#line 280 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001670{ return SLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001671 YY_BREAK
1672case 77:
1673YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001674#line 281 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001675{ return SGE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001676 YY_BREAK
1677case 78:
1678YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001679#line 282 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001680{ return ULT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001681 YY_BREAK
1682case 79:
1683YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001684#line 283 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001685{ return UGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001686 YY_BREAK
1687case 80:
1688YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001689#line 284 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001690{ return ULE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001691 YY_BREAK
1692case 81:
1693YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001694#line 285 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001695{ return UGE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001696 YY_BREAK
1697case 82:
1698YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001699#line 286 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001700{ return OEQ; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001701 YY_BREAK
1702case 83:
1703YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001704#line 287 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001705{ return ONE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001706 YY_BREAK
1707case 84:
1708YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001709#line 288 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001710{ return OLT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001711 YY_BREAK
1712case 85:
1713YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001714#line 289 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001715{ return OGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001716 YY_BREAK
1717case 86:
1718YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001719#line 290 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001720{ return OLE; }
Nate Begeman14b05292005-11-05 09:21:28 +00001721 YY_BREAK
1722case 87:
1723YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001724#line 291 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001725{ return OGE; }
Chris Lattnere869eef2005-11-12 00:11:49 +00001726 YY_BREAK
1727case 88:
1728YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001729#line 292 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001730{ return ORD; }
Robert Bocchino9c62b562006-01-10 19:04:32 +00001731 YY_BREAK
1732case 89:
1733YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001734#line 293 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001735{ return UNO; }
Robert Bocchino2def1b32006-01-17 20:06:25 +00001736 YY_BREAK
1737case 90:
1738YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001739#line 294 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001740{ return UEQ; }
Chris Lattner8335e842006-01-23 23:05:42 +00001741 YY_BREAK
1742case 91:
1743YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001744#line 295 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001745{ return UNE; }
Chris Lattner66316012006-01-24 04:14:29 +00001746 YY_BREAK
1747case 92:
1748YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001749#line 297 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001750{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
Chris Lattner0e9c3762006-01-25 22:27:16 +00001751 YY_BREAK
1752case 93:
1753YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001754#line 298 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001755{ RET_TOK(OtherOpVal, Call, CALL); }
Chris Lattnerd5efe842006-04-08 01:18:56 +00001756 YY_BREAK
1757case 94:
1758YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001759#line 299 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001760{ RET_TOK(CastOpVal, Trunc, TRUNC); }
Chris Lattner75466192006-05-19 21:28:53 +00001761 YY_BREAK
1762case 95:
1763YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001764#line 300 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001765{ RET_TOK(CastOpVal, ZExt, ZEXT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001766 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001767case 96:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001768YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001769#line 301 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001770{ RET_TOK(CastOpVal, SExt, SEXT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001771 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001772case 97:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001773YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001774#line 302 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001775{ RET_TOK(CastOpVal, FPTrunc, FPTRUNC); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001776 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001777case 98:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001778YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001779#line 303 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001780{ RET_TOK(CastOpVal, FPExt, FPEXT); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001781 YY_BREAK
1782case 99:
1783YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001784#line 304 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001785{ RET_TOK(CastOpVal, UIToFP, UITOFP); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001786 YY_BREAK
1787case 100:
1788YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001789#line 305 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001790{ RET_TOK(CastOpVal, SIToFP, SITOFP); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001791 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001792case 101:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001793YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001794#line 306 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001795{ RET_TOK(CastOpVal, FPToUI, FPTOUI); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001796 YY_BREAK
1797case 102:
1798YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001799#line 307 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001800{ RET_TOK(CastOpVal, FPToSI, FPTOSI); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001801 YY_BREAK
1802case 103:
1803YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001804#line 308 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001805{ RET_TOK(CastOpVal, IntToPtr, INTTOPTR); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001806 YY_BREAK
1807case 104:
1808YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001809#line 309 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001810{ RET_TOK(CastOpVal, PtrToInt, PTRTOINT); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001811 YY_BREAK
1812case 105:
1813YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001814#line 310 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001815{ RET_TOK(CastOpVal, BitCast, BITCAST); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001816 YY_BREAK
1817case 106:
1818YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001819#line 311 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001820{ RET_TOK(OtherOpVal, Select, SELECT); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001821 YY_BREAK
1822case 107:
1823YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001824#line 312 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001825{ RET_TOK(OtherOpVal, VAArg , VAARG); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001826 YY_BREAK
1827case 108:
1828YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001829#line 313 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001830{ RET_TOK(TermOpVal, Ret, RET); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001831 YY_BREAK
1832case 109:
1833YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001834#line 314 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001835{ RET_TOK(TermOpVal, Br, BR); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001836 YY_BREAK
1837case 110:
1838YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001839#line 315 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001840{ RET_TOK(TermOpVal, Switch, SWITCH); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001841 YY_BREAK
1842case 111:
1843YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001844#line 316 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001845{ RET_TOK(TermOpVal, Invoke, INVOKE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001846 YY_BREAK
1847case 112:
1848YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001849#line 317 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001850{ RET_TOK(TermOpVal, Unwind, UNWIND); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001851 YY_BREAK
1852case 113:
1853YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001854#line 318 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001855{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001856 YY_BREAK
1857case 114:
1858YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001859#line 320 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001860{ RET_TOK(MemOpVal, Malloc, MALLOC); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001861 YY_BREAK
1862case 115:
1863YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001864#line 321 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001865{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001866 YY_BREAK
1867case 116:
1868YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001869#line 322 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001870{ RET_TOK(MemOpVal, Free, FREE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001871 YY_BREAK
1872case 117:
1873YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001874#line 323 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001875{ RET_TOK(MemOpVal, Load, LOAD); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001876 YY_BREAK
1877case 118:
1878YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001879#line 324 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001880{ RET_TOK(MemOpVal, Store, STORE); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001881 YY_BREAK
Reid Spencer41dff5e2007-01-26 08:05:27 +00001882case 119:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001883YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001884#line 325 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001885{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
Reid Spencer67d8ed92007-03-22 02:14:08 +00001886 YY_BREAK
1887case 120:
1888YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001889#line 327 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001890{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001891 YY_BREAK
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001892case 121:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001893YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001894#line 328 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001895{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001896 YY_BREAK
1897case 122:
1898YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001899#line 329 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001900{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
Owen Anderson1dc69692006-10-18 02:21:48 +00001901 YY_BREAK
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001902case 123:
Owen Anderson1dc69692006-10-18 02:21:48 +00001903YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001904#line 332 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001905{
Reid Spencered951ea2007-05-19 07:22:10 +00001906 UnEscapeLexed(yytext+1);
1907 llvmAsmlval.StrVal = strdup(yytext+1); // Skip %
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001908 return LOCALVAR;
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001909 }
1910 YY_BREAK
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001911case 124:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001912YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001913#line 337 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001914{
Reid Spencered951ea2007-05-19 07:22:10 +00001915 UnEscapeLexed(yytext+1);
1916 llvmAsmlval.StrVal = strdup(yytext+1); // Skip @
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001917 return GLOBALVAR;
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001918 }
1919 YY_BREAK
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001920case 125:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001921YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001922#line 342 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Lauro Ramos Venancioc7635522007-04-12 18:32:50 +00001923{
Reid Spencered951ea2007-05-19 07:22:10 +00001924 yytext[strlen(yytext)-1] = 0; // nuke colon
1925 UnEscapeLexed(yytext);
1926 llvmAsmlval.StrVal = strdup(yytext);
Lauro Ramos Venancioc7635522007-04-12 18:32:50 +00001927 return LABELSTR;
1928 }
1929 YY_BREAK
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001930case 126:
Lauro Ramos Venancioc7635522007-04-12 18:32:50 +00001931YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001932#line 348 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001933{
Reid Spencered951ea2007-05-19 07:22:10 +00001934 yytext[strlen(yytext)-2] = 0; // nuke colon, end quote
1935 UnEscapeLexed(yytext+1);
1936 llvmAsmlval.StrVal = strdup(yytext+1);
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001937 return LABELSTR;
1938 }
1939 YY_BREAK
1940case 127:
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001941YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001942#line 355 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001943{ // Note that we cannot unescape a string constant here! The
1944 // string constant might contain a \00 which would not be
1945 // understood by the string stuff. It is valid to make a
1946 // [sbyte] c"Hello World\00" constant, for example.
1947 //
Reid Spencered951ea2007-05-19 07:22:10 +00001948 yytext[strlen(yytext)-1] = 0; // nuke end quote
1949 llvmAsmlval.StrVal = strdup(yytext+1); // Nuke start quote
Reid Spencer68a24bd2005-08-27 18:50:39 +00001950 return STRINGCONSTANT;
1951 }
1952 YY_BREAK
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001953case 128:
Reid Spencer6f407902007-01-13 05:00:46 +00001954YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001955#line 364 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001956{
Reid Spencered951ea2007-05-19 07:22:10 +00001957 yytext[strlen(yytext)-1] = 0; // nuke end quote
1958 llvmAsmlval.StrVal = strdup(yytext+2); // Nuke @, quote
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001959 return ATSTRINGCONSTANT;
1960 }
1961 YY_BREAK
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001962case 129:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001963YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001964#line 370 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
1965{
1966 yytext[strlen(yytext)-1] = 0; // nuke end quote
1967 llvmAsmlval.StrVal = strdup(yytext+2); // Nuke @, quote
1968 return PCTSTRINGCONSTANT;
1969 }
1970 YY_BREAK
1971case 130:
1972YY_RULE_SETUP
1973#line 375 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
1974{ int len = strlen(yytext);
Reid Spencer38c91a92007-02-28 02:24:54 +00001975 uint32_t numBits = ((len * 64) / 19) + 1;
Reid Spencered951ea2007-05-19 07:22:10 +00001976 APInt Tmp(numBits, yytext, len, 10);
Reid Spencer38c91a92007-02-28 02:24:54 +00001977 uint32_t activeBits = Tmp.getActiveBits();
1978 if (activeBits > 0 && activeBits < numBits)
1979 Tmp.trunc(activeBits);
1980 if (Tmp.getBitWidth() > 64) {
1981 llvmAsmlval.APIntVal = new APInt(Tmp);
1982 return EUAPINTVAL;
1983 } else {
1984 llvmAsmlval.UInt64Val = Tmp.getZExtValue();
1985 return EUINT64VAL;
1986 }
1987 }
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001988 YY_BREAK
Reid Spencered951ea2007-05-19 07:22:10 +00001989case 131:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001990YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00001991#line 389 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
1992{ int len = strlen(yytext);
Reid Spencerafc37822007-03-09 21:19:09 +00001993 uint32_t numBits = (((len-1) * 64) / 19) + 2;
Reid Spencered951ea2007-05-19 07:22:10 +00001994 APInt Tmp(numBits, yytext, len, 10);
Reid Spencer38c91a92007-02-28 02:24:54 +00001995 uint32_t minBits = Tmp.getMinSignedBits();
1996 if (minBits > 0 && minBits < numBits)
1997 Tmp.trunc(minBits);
1998 if (Tmp.getBitWidth() > 64) {
1999 llvmAsmlval.APIntVal = new APInt(Tmp);
2000 return ESAPINTVAL;
2001 } else {
2002 llvmAsmlval.SInt64Val = Tmp.getSExtValue();
2003 return ESINT64VAL;
2004 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002005 }
2006 YY_BREAK
Reid Spencered951ea2007-05-19 07:22:10 +00002007case 132:
Reid Spencer6f407902007-01-13 05:00:46 +00002008YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00002009#line 404 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
2010{ int len = strlen(yytext+3) - 3;
Reid Spencer38c91a92007-02-28 02:24:54 +00002011 uint32_t bits = len * 4;
Reid Spencered951ea2007-05-19 07:22:10 +00002012 APInt Tmp(bits, yytext+3, len, 16);
Reid Spencer38c91a92007-02-28 02:24:54 +00002013 uint32_t activeBits = Tmp.getActiveBits();
2014 if (activeBits > 0 && activeBits < bits)
2015 Tmp.trunc(activeBits);
2016 if (Tmp.getBitWidth() > 64) {
2017 llvmAsmlval.APIntVal = new APInt(Tmp);
Reid Spencered951ea2007-05-19 07:22:10 +00002018 return yytext[0] == 's' ? ESAPINTVAL : EUAPINTVAL;
2019 } else if (yytext[0] == 's') {
Reid Spencer38c91a92007-02-28 02:24:54 +00002020 llvmAsmlval.SInt64Val = Tmp.getSExtValue();
2021 return ESINT64VAL;
2022 } else {
2023 llvmAsmlval.UInt64Val = Tmp.getZExtValue();
2024 return EUINT64VAL;
2025 }
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002026 }
Reid Spencer6f407902007-01-13 05:00:46 +00002027 YY_BREAK
Reid Spencered951ea2007-05-19 07:22:10 +00002028case 133:
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002029YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00002030#line 422 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002031{
Reid Spencered951ea2007-05-19 07:22:10 +00002032 uint64_t Val = atoull(yytext+1);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002033 if ((unsigned)Val != Val)
2034 GenerateError("Invalid value number (too large)!");
2035 llvmAsmlval.UIntVal = unsigned(Val);
2036 return LOCALVAL_ID;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002037 }
2038 YY_BREAK
Reid Spencered951ea2007-05-19 07:22:10 +00002039case 134:
Owen Anderson1dc69692006-10-18 02:21:48 +00002040YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00002041#line 429 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002042{
Reid Spencered951ea2007-05-19 07:22:10 +00002043 uint64_t Val = atoull(yytext+1);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002044 if ((unsigned)Val != Val)
2045 GenerateError("Invalid value number (too large)!");
2046 llvmAsmlval.UIntVal = unsigned(Val);
2047 return GLOBALVAL_ID;
2048 }
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002049 YY_BREAK
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00002050case 135:
2051YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00002052#line 437 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
2053{ llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
2054 YY_BREAK
2055case 136:
2056YY_RULE_SETUP
2057#line 438 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
2058{ llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002059 YY_BREAK
2060case YY_STATE_EOF(INITIAL):
Reid Spencered951ea2007-05-19 07:22:10 +00002061#line 440 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002062{
2063 /* Make sure to free the internal buffers for flex when we are
2064 * done reading our input!
2065 */
Reid Spencered951ea2007-05-19 07:22:10 +00002066 yy_delete_buffer(YY_CURRENT_BUFFER);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002067 return EOF;
2068 }
2069 YY_BREAK
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00002070case 137:
2071YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00002072#line 448 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
2073{ /* Ignore whitespace */ }
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00002074 YY_BREAK
2075case 138:
2076YY_RULE_SETUP
Reid Spencered951ea2007-05-19 07:22:10 +00002077#line 449 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
2078{ return yytext[0]; }
2079 YY_BREAK
2080case 139:
2081YY_RULE_SETUP
2082#line 451 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002083YY_FATAL_ERROR( "flex scanner jammed" );
2084 YY_BREAK
Reid Spencered951ea2007-05-19 07:22:10 +00002085#line 2086 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002086
2087 case YY_END_OF_BUFFER:
2088 {
2089 /* Amount of text matched not including the EOB char. */
Reid Spencered951ea2007-05-19 07:22:10 +00002090 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002091
2092 /* Undo the effects of YY_DO_BEFORE_ACTION. */
Reid Spencered951ea2007-05-19 07:22:10 +00002093 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002094 YY_RESTORE_YY_MORE_OFFSET
2095
Reid Spencered951ea2007-05-19 07:22:10 +00002096 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002097 {
2098 /* We're scanning a new file or input source. It's
2099 * possible that this happened because the user
Reid Spencered951ea2007-05-19 07:22:10 +00002100 * just pointed yyin at a new source and called
2101 * yylex(). If so, then we have to assure
2102 * consistency between yy_current_buffer and our
Reid Spencer68a24bd2005-08-27 18:50:39 +00002103 * globals. Here is the right place to do so, because
2104 * this is the first action (other than possibly a
2105 * back-up) that will match for the new input source.
2106 */
Reid Spencered951ea2007-05-19 07:22:10 +00002107 yy_n_chars = yy_current_buffer->yy_n_chars;
2108 yy_current_buffer->yy_input_file = yyin;
2109 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002110 }
2111
2112 /* Note that here we test for yy_c_buf_p "<=" to the position
2113 * of the first EOB in the buffer, since yy_c_buf_p will
2114 * already have been incremented past the NUL character
2115 * (since all states make transitions on EOB to the
2116 * end-of-buffer state). Contrast this with the test
2117 * in input().
2118 */
Reid Spencered951ea2007-05-19 07:22:10 +00002119 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002120 { /* This was really a NUL. */
2121 yy_state_type yy_next_state;
2122
Reid Spencered951ea2007-05-19 07:22:10 +00002123 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002124
Reid Spencered951ea2007-05-19 07:22:10 +00002125 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002126
2127 /* Okay, we're now positioned to make the NUL
2128 * transition. We couldn't have
2129 * yy_get_previous_state() go ahead and do it
2130 * for us because it doesn't know how to deal
2131 * with the possibility of jamming (and we don't
2132 * want to build jamming into it because then it
2133 * will run more slowly).
2134 */
2135
2136 yy_next_state = yy_try_NUL_trans( yy_current_state );
2137
Reid Spencered951ea2007-05-19 07:22:10 +00002138 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002139
2140 if ( yy_next_state )
2141 {
2142 /* Consume the NUL. */
Reid Spencered951ea2007-05-19 07:22:10 +00002143 yy_cp = ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002144 yy_current_state = yy_next_state;
2145 goto yy_match;
2146 }
2147
2148 else
2149 {
Reid Spencered951ea2007-05-19 07:22:10 +00002150 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002151 goto yy_find_action;
2152 }
2153 }
2154
Reid Spencered951ea2007-05-19 07:22:10 +00002155 else switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002156 {
2157 case EOB_ACT_END_OF_FILE:
2158 {
Reid Spencered951ea2007-05-19 07:22:10 +00002159 yy_did_buffer_switch_on_eof = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002160
Reid Spencered951ea2007-05-19 07:22:10 +00002161 if ( yywrap() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002162 {
2163 /* Note: because we've taken care in
2164 * yy_get_next_buffer() to have set up
Reid Spencered951ea2007-05-19 07:22:10 +00002165 * yytext, we can now set up
Reid Spencer68a24bd2005-08-27 18:50:39 +00002166 * yy_c_buf_p so that if some total
2167 * hoser (like flex itself) wants to
2168 * call the scanner after we return the
2169 * YY_NULL, it'll still work - another
2170 * YY_NULL will get returned.
2171 */
Reid Spencered951ea2007-05-19 07:22:10 +00002172 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002173
2174 yy_act = YY_STATE_EOF(YY_START);
2175 goto do_action;
2176 }
2177
2178 else
2179 {
Reid Spencered951ea2007-05-19 07:22:10 +00002180 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002181 YY_NEW_FILE;
2182 }
2183 break;
2184 }
2185
2186 case EOB_ACT_CONTINUE_SCAN:
Reid Spencered951ea2007-05-19 07:22:10 +00002187 yy_c_buf_p =
2188 yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002189
Reid Spencered951ea2007-05-19 07:22:10 +00002190 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002191
Reid Spencered951ea2007-05-19 07:22:10 +00002192 yy_cp = yy_c_buf_p;
2193 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002194 goto yy_match;
2195
2196 case EOB_ACT_LAST_MATCH:
Reid Spencered951ea2007-05-19 07:22:10 +00002197 yy_c_buf_p =
2198 &yy_current_buffer->yy_ch_buf[yy_n_chars];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002199
Reid Spencered951ea2007-05-19 07:22:10 +00002200 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002201
Reid Spencered951ea2007-05-19 07:22:10 +00002202 yy_cp = yy_c_buf_p;
2203 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002204 goto yy_find_action;
2205 }
2206 break;
2207 }
2208
2209 default:
2210 YY_FATAL_ERROR(
2211 "fatal flex scanner internal error--no action found" );
2212 } /* end of action switch */
2213 } /* end of scanning one token */
Reid Spencered951ea2007-05-19 07:22:10 +00002214 } /* end of yylex */
2215
Reid Spencer68a24bd2005-08-27 18:50:39 +00002216
2217/* yy_get_next_buffer - try to read in a new buffer
2218 *
2219 * Returns a code representing an action:
2220 * EOB_ACT_LAST_MATCH -
2221 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2222 * EOB_ACT_END_OF_FILE - end of file
2223 */
Reid Spencered951ea2007-05-19 07:22:10 +00002224
2225static int yy_get_next_buffer()
2226 {
2227 register char *dest = yy_current_buffer->yy_ch_buf;
2228 register char *source = yytext_ptr;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002229 register int number_to_move, i;
2230 int ret_val;
2231
Reid Spencered951ea2007-05-19 07:22:10 +00002232 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002233 YY_FATAL_ERROR(
2234 "fatal flex scanner internal error--end of buffer missed" );
2235
Reid Spencered951ea2007-05-19 07:22:10 +00002236 if ( yy_current_buffer->yy_fill_buffer == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002237 { /* Don't try to fill the buffer, so this is an EOF. */
Reid Spencered951ea2007-05-19 07:22:10 +00002238 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002239 {
2240 /* We matched a single character, the EOB, so
2241 * treat this as a final EOF.
2242 */
2243 return EOB_ACT_END_OF_FILE;
2244 }
2245
2246 else
2247 {
2248 /* We matched some text prior to the EOB, first
2249 * process it.
2250 */
2251 return EOB_ACT_LAST_MATCH;
2252 }
2253 }
2254
2255 /* Try to read more data. */
2256
2257 /* First move last chars to start of buffer. */
Reid Spencered951ea2007-05-19 07:22:10 +00002258 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002259
2260 for ( i = 0; i < number_to_move; ++i )
2261 *(dest++) = *(source++);
2262
Reid Spencered951ea2007-05-19 07:22:10 +00002263 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002264 /* don't do the read, it's not guaranteed to return an EOF,
2265 * just force an EOF
2266 */
Reid Spencered951ea2007-05-19 07:22:10 +00002267 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002268
2269 else
2270 {
Reid Spencered951ea2007-05-19 07:22:10 +00002271 int num_to_read =
2272 yy_current_buffer->yy_buf_size - number_to_move - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002273
2274 while ( num_to_read <= 0 )
2275 { /* Not enough room in the buffer - grow it. */
Reid Spencered951ea2007-05-19 07:22:10 +00002276#ifdef YY_USES_REJECT
2277 YY_FATAL_ERROR(
2278"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
2279#else
Reid Spencer68a24bd2005-08-27 18:50:39 +00002280
2281 /* just a shorter name for the current buffer */
Reid Spencered951ea2007-05-19 07:22:10 +00002282 YY_BUFFER_STATE b = yy_current_buffer;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002283
2284 int yy_c_buf_p_offset =
Reid Spencered951ea2007-05-19 07:22:10 +00002285 (int) (yy_c_buf_p - b->yy_ch_buf);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002286
2287 if ( b->yy_is_our_buffer )
2288 {
2289 int new_size = b->yy_buf_size * 2;
2290
2291 if ( new_size <= 0 )
2292 b->yy_buf_size += b->yy_buf_size / 8;
2293 else
2294 b->yy_buf_size *= 2;
2295
2296 b->yy_ch_buf = (char *)
2297 /* Include room in for 2 EOB chars. */
Reid Spencered951ea2007-05-19 07:22:10 +00002298 yy_flex_realloc( (void *) b->yy_ch_buf,
2299 b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002300 }
2301 else
2302 /* Can't grow it, we don't own it. */
2303 b->yy_ch_buf = 0;
2304
2305 if ( ! b->yy_ch_buf )
2306 YY_FATAL_ERROR(
2307 "fatal error - scanner input buffer overflow" );
2308
Reid Spencered951ea2007-05-19 07:22:10 +00002309 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002310
Reid Spencered951ea2007-05-19 07:22:10 +00002311 num_to_read = yy_current_buffer->yy_buf_size -
Reid Spencer68a24bd2005-08-27 18:50:39 +00002312 number_to_move - 1;
Reid Spencered951ea2007-05-19 07:22:10 +00002313#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002314 }
2315
2316 if ( num_to_read > YY_READ_BUF_SIZE )
2317 num_to_read = YY_READ_BUF_SIZE;
2318
2319 /* Read in more data. */
Reid Spencered951ea2007-05-19 07:22:10 +00002320 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
2321 yy_n_chars, num_to_read );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002322
Reid Spencered951ea2007-05-19 07:22:10 +00002323 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002324 }
2325
Reid Spencered951ea2007-05-19 07:22:10 +00002326 if ( yy_n_chars == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002327 {
2328 if ( number_to_move == YY_MORE_ADJ )
2329 {
2330 ret_val = EOB_ACT_END_OF_FILE;
Reid Spencered951ea2007-05-19 07:22:10 +00002331 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002332 }
2333
2334 else
2335 {
2336 ret_val = EOB_ACT_LAST_MATCH;
Reid Spencered951ea2007-05-19 07:22:10 +00002337 yy_current_buffer->yy_buffer_status =
Reid Spencer68a24bd2005-08-27 18:50:39 +00002338 YY_BUFFER_EOF_PENDING;
2339 }
2340 }
2341
2342 else
2343 ret_val = EOB_ACT_CONTINUE_SCAN;
2344
Reid Spencered951ea2007-05-19 07:22:10 +00002345 yy_n_chars += number_to_move;
2346 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2347 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002348
Reid Spencered951ea2007-05-19 07:22:10 +00002349 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002350
2351 return ret_val;
Reid Spencered951ea2007-05-19 07:22:10 +00002352 }
2353
Reid Spencer68a24bd2005-08-27 18:50:39 +00002354
2355/* yy_get_previous_state - get the state just before the EOB char was reached */
2356
Reid Spencered951ea2007-05-19 07:22:10 +00002357static yy_state_type yy_get_previous_state()
2358 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002359 register yy_state_type yy_current_state;
2360 register char *yy_cp;
2361
Reid Spencered951ea2007-05-19 07:22:10 +00002362 yy_current_state = yy_start;
2363 yy_state_ptr = yy_state_buf;
2364 *yy_state_ptr++ = yy_current_state;
2365
2366 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002367 {
2368 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2369 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2370 {
2371 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencered951ea2007-05-19 07:22:10 +00002372 if ( yy_current_state >= 563 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002373 yy_c = yy_meta[(unsigned int) yy_c];
2374 }
2375 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencered951ea2007-05-19 07:22:10 +00002376 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002377 }
2378
2379 return yy_current_state;
Reid Spencered951ea2007-05-19 07:22:10 +00002380 }
2381
Reid Spencer68a24bd2005-08-27 18:50:39 +00002382
2383/* yy_try_NUL_trans - try to make a transition on the NUL character
2384 *
2385 * synopsis
2386 * next_state = yy_try_NUL_trans( current_state );
2387 */
Reid Spencered951ea2007-05-19 07:22:10 +00002388
2389#ifdef YY_USE_PROTOS
2390static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
2391#else
2392static yy_state_type yy_try_NUL_trans( yy_current_state )
2393yy_state_type yy_current_state;
2394#endif
2395 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002396 register int yy_is_jam;
2397
2398 register YY_CHAR yy_c = 1;
2399 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2400 {
2401 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencered951ea2007-05-19 07:22:10 +00002402 if ( yy_current_state >= 563 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002403 yy_c = yy_meta[(unsigned int) yy_c];
2404 }
2405 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencered951ea2007-05-19 07:22:10 +00002406 yy_is_jam = (yy_current_state == 562);
2407 if ( ! yy_is_jam )
2408 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002409
2410 return yy_is_jam ? 0 : yy_current_state;
Reid Spencered951ea2007-05-19 07:22:10 +00002411 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002412
2413
Reid Spencered951ea2007-05-19 07:22:10 +00002414#ifndef YY_NO_UNPUT
2415#ifdef YY_USE_PROTOS
2416static inline void yyunput( int c, register char *yy_bp )
2417#else
2418static inline void yyunput( c, yy_bp )
2419int c;
2420register char *yy_bp;
2421#endif
2422 {
2423 register char *yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002424
Reid Spencered951ea2007-05-19 07:22:10 +00002425 /* undo effects of setting up yytext */
2426 *yy_cp = yy_hold_char;
2427
2428 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002429 { /* need to shift things up to make room */
2430 /* +2 for EOB chars. */
Reid Spencered951ea2007-05-19 07:22:10 +00002431 register int number_to_move = yy_n_chars + 2;
2432 register char *dest = &yy_current_buffer->yy_ch_buf[
2433 yy_current_buffer->yy_buf_size + 2];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002434 register char *source =
Reid Spencered951ea2007-05-19 07:22:10 +00002435 &yy_current_buffer->yy_ch_buf[number_to_move];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002436
Reid Spencered951ea2007-05-19 07:22:10 +00002437 while ( source > yy_current_buffer->yy_ch_buf )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002438 *--dest = *--source;
2439
2440 yy_cp += (int) (dest - source);
2441 yy_bp += (int) (dest - source);
Reid Spencered951ea2007-05-19 07:22:10 +00002442 yy_current_buffer->yy_n_chars =
2443 yy_n_chars = yy_current_buffer->yy_buf_size;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002444
Reid Spencered951ea2007-05-19 07:22:10 +00002445 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002446 YY_FATAL_ERROR( "flex scanner push-back overflow" );
2447 }
2448
2449 *--yy_cp = (char) c;
2450
Reid Spencered951ea2007-05-19 07:22:10 +00002451 if ( c == '\n' )
2452 --yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002453
Reid Spencered951ea2007-05-19 07:22:10 +00002454 yytext_ptr = yy_bp;
2455 yy_hold_char = *yy_cp;
2456 yy_c_buf_p = yy_cp;
2457 }
2458#endif /* ifndef YY_NO_UNPUT */
2459
Reid Spencer6f407902007-01-13 05:00:46 +00002460
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002461#ifndef YY_NO_INPUT
Reid Spencer68a24bd2005-08-27 18:50:39 +00002462#ifdef __cplusplus
Reid Spencered951ea2007-05-19 07:22:10 +00002463static int yyinput()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002464#else
Reid Spencered951ea2007-05-19 07:22:10 +00002465static int input()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002466#endif
Reid Spencered951ea2007-05-19 07:22:10 +00002467 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002468 int c;
2469
Reid Spencered951ea2007-05-19 07:22:10 +00002470 *yy_c_buf_p = yy_hold_char;
2471
2472 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002473 {
2474 /* yy_c_buf_p now points to the character we want to return.
2475 * If this occurs *before* the EOB characters, then it's a
2476 * valid NUL; if not, then we've hit the end of the buffer.
2477 */
Reid Spencered951ea2007-05-19 07:22:10 +00002478 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002479 /* This was really a NUL. */
Reid Spencered951ea2007-05-19 07:22:10 +00002480 *yy_c_buf_p = '\0';
Reid Spencer68a24bd2005-08-27 18:50:39 +00002481
2482 else
2483 { /* need more input */
Reid Spencered951ea2007-05-19 07:22:10 +00002484 int offset = yy_c_buf_p - yytext_ptr;
2485 ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002486
Reid Spencered951ea2007-05-19 07:22:10 +00002487 switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002488 {
2489 case EOB_ACT_LAST_MATCH:
2490 /* This happens because yy_g_n_b()
2491 * sees that we've accumulated a
2492 * token and flags that we need to
2493 * try matching the token before
2494 * proceeding. But for input(),
2495 * there's no matching to consider.
2496 * So convert the EOB_ACT_LAST_MATCH
2497 * to EOB_ACT_END_OF_FILE.
2498 */
2499
2500 /* Reset buffer status. */
Reid Spencered951ea2007-05-19 07:22:10 +00002501 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002502
Reid Spencered951ea2007-05-19 07:22:10 +00002503 /* fall through */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002504
2505 case EOB_ACT_END_OF_FILE:
2506 {
Reid Spencered951ea2007-05-19 07:22:10 +00002507 if ( yywrap() )
Reid Spencer61c83e02006-08-18 08:43:06 +00002508 return EOF;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002509
Reid Spencered951ea2007-05-19 07:22:10 +00002510 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002511 YY_NEW_FILE;
2512#ifdef __cplusplus
2513 return yyinput();
2514#else
2515 return input();
2516#endif
2517 }
2518
2519 case EOB_ACT_CONTINUE_SCAN:
Reid Spencered951ea2007-05-19 07:22:10 +00002520 yy_c_buf_p = yytext_ptr + offset;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002521 break;
2522 }
2523 }
2524 }
2525
Reid Spencered951ea2007-05-19 07:22:10 +00002526 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
2527 *yy_c_buf_p = '\0'; /* preserve yytext */
2528 yy_hold_char = *++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002529
2530 if ( c == '\n' )
Reid Spencered951ea2007-05-19 07:22:10 +00002531 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002532
2533 return c;
Reid Spencered951ea2007-05-19 07:22:10 +00002534 }
2535#endif /* YY_NO_INPUT */
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002536
Reid Spencered951ea2007-05-19 07:22:10 +00002537#ifdef YY_USE_PROTOS
2538void yyrestart( FILE *input_file )
2539#else
2540void yyrestart( input_file )
2541FILE *input_file;
2542#endif
2543 {
2544 if ( ! yy_current_buffer )
2545 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
2546
2547 yy_init_buffer( yy_current_buffer, input_file );
2548 yy_load_buffer_state();
Reid Spencer6f407902007-01-13 05:00:46 +00002549 }
Reid Spencer41dff5e2007-01-26 08:05:27 +00002550
Reid Spencer68a24bd2005-08-27 18:50:39 +00002551
Reid Spencered951ea2007-05-19 07:22:10 +00002552#ifdef YY_USE_PROTOS
2553void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
2554#else
2555void yy_switch_to_buffer( new_buffer )
2556YY_BUFFER_STATE new_buffer;
2557#endif
2558 {
2559 if ( yy_current_buffer == new_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002560 return;
2561
Reid Spencered951ea2007-05-19 07:22:10 +00002562 if ( yy_current_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002563 {
2564 /* Flush out information for old buffer. */
Reid Spencered951ea2007-05-19 07:22:10 +00002565 *yy_c_buf_p = yy_hold_char;
2566 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
2567 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002568 }
2569
Reid Spencered951ea2007-05-19 07:22:10 +00002570 yy_current_buffer = new_buffer;
2571 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002572
2573 /* We don't actually know whether we did this switch during
Reid Spencered951ea2007-05-19 07:22:10 +00002574 * EOF (yywrap()) processing, but the only time this flag
2575 * is looked at is after yywrap() is called, so it's safe
Reid Spencer68a24bd2005-08-27 18:50:39 +00002576 * to go ahead and always set it.
2577 */
Reid Spencered951ea2007-05-19 07:22:10 +00002578 yy_did_buffer_switch_on_eof = 1;
2579 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002580
2581
Reid Spencered951ea2007-05-19 07:22:10 +00002582#ifdef YY_USE_PROTOS
2583void yy_load_buffer_state( void )
2584#else
2585void yy_load_buffer_state()
2586#endif
2587 {
2588 yy_n_chars = yy_current_buffer->yy_n_chars;
2589 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
2590 yyin = yy_current_buffer->yy_input_file;
2591 yy_hold_char = *yy_c_buf_p;
2592 }
2593
2594
2595#ifdef YY_USE_PROTOS
2596YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
2597#else
2598YY_BUFFER_STATE yy_create_buffer( file, size )
2599FILE *file;
2600int size;
2601#endif
2602 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002603 YY_BUFFER_STATE b;
Reid Spencered951ea2007-05-19 07:22:10 +00002604
2605 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002606 if ( ! b )
Reid Spencered951ea2007-05-19 07:22:10 +00002607 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002608
2609 b->yy_buf_size = size;
2610
2611 /* yy_ch_buf has to be 2 characters longer than the size given because
2612 * we need to put in 2 end-of-buffer characters.
2613 */
Reid Spencered951ea2007-05-19 07:22:10 +00002614 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002615 if ( ! b->yy_ch_buf )
Reid Spencered951ea2007-05-19 07:22:10 +00002616 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002617
2618 b->yy_is_our_buffer = 1;
2619
Reid Spencered951ea2007-05-19 07:22:10 +00002620 yy_init_buffer( b, file );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002621
2622 return b;
Reid Spencered951ea2007-05-19 07:22:10 +00002623 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002624
Reid Spencered951ea2007-05-19 07:22:10 +00002625
2626#ifdef YY_USE_PROTOS
2627void yy_delete_buffer( YY_BUFFER_STATE b )
2628#else
2629void yy_delete_buffer( b )
2630YY_BUFFER_STATE b;
2631#endif
2632 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002633 if ( ! b )
2634 return;
2635
Reid Spencered951ea2007-05-19 07:22:10 +00002636 if ( b == yy_current_buffer )
2637 yy_current_buffer = (YY_BUFFER_STATE) 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002638
2639 if ( b->yy_is_our_buffer )
Reid Spencered951ea2007-05-19 07:22:10 +00002640 yy_flex_free( (void *) b->yy_ch_buf );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002641
Reid Spencered951ea2007-05-19 07:22:10 +00002642 yy_flex_free( (void *) b );
2643 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002644
2645
Reid Spencered951ea2007-05-19 07:22:10 +00002646
2647#ifdef YY_USE_PROTOS
2648void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
2649#else
2650void yy_init_buffer( b, file )
2651YY_BUFFER_STATE b;
2652FILE *file;
2653#endif
2654
2655
2656 {
2657 yy_flush_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002658
2659 b->yy_input_file = file;
2660 b->yy_fill_buffer = 1;
2661
Reid Spencered951ea2007-05-19 07:22:10 +00002662#if YY_ALWAYS_INTERACTIVE
2663 b->yy_is_interactive = 1;
2664#else
2665#if YY_NEVER_INTERACTIVE
2666 b->yy_is_interactive = 0;
2667#else
2668 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
2669#endif
2670#endif
2671 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002672
2673
Reid Spencered951ea2007-05-19 07:22:10 +00002674#ifdef YY_USE_PROTOS
2675void yy_flush_buffer( YY_BUFFER_STATE b )
2676#else
2677void yy_flush_buffer( b )
2678YY_BUFFER_STATE b;
2679#endif
2680
2681 {
2682 if ( ! b )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002683 return;
2684
2685 b->yy_n_chars = 0;
2686
2687 /* We always need two end-of-buffer characters. The first causes
2688 * a transition to the end-of-buffer state. The second causes
2689 * a jam in that state.
2690 */
2691 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2692 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2693
2694 b->yy_buf_pos = &b->yy_ch_buf[0];
2695
2696 b->yy_at_bol = 1;
2697 b->yy_buffer_status = YY_BUFFER_NEW;
2698
Reid Spencered951ea2007-05-19 07:22:10 +00002699 if ( b == yy_current_buffer )
2700 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002701 }
2702
2703
Reid Spencered951ea2007-05-19 07:22:10 +00002704#ifndef YY_NO_SCAN_BUFFER
2705#ifdef YY_USE_PROTOS
2706YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
2707#else
2708YY_BUFFER_STATE yy_scan_buffer( base, size )
2709char *base;
2710yy_size_t size;
2711#endif
2712 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002713 YY_BUFFER_STATE b;
Reid Spencered951ea2007-05-19 07:22:10 +00002714
Reid Spencer68a24bd2005-08-27 18:50:39 +00002715 if ( size < 2 ||
2716 base[size-2] != YY_END_OF_BUFFER_CHAR ||
2717 base[size-1] != YY_END_OF_BUFFER_CHAR )
2718 /* They forgot to leave room for the EOB's. */
2719 return 0;
2720
Reid Spencered951ea2007-05-19 07:22:10 +00002721 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002722 if ( ! b )
Reid Spencered951ea2007-05-19 07:22:10 +00002723 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002724
2725 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2726 b->yy_buf_pos = b->yy_ch_buf = base;
2727 b->yy_is_our_buffer = 0;
2728 b->yy_input_file = 0;
2729 b->yy_n_chars = b->yy_buf_size;
2730 b->yy_is_interactive = 0;
2731 b->yy_at_bol = 1;
2732 b->yy_fill_buffer = 0;
2733 b->yy_buffer_status = YY_BUFFER_NEW;
2734
Reid Spencered951ea2007-05-19 07:22:10 +00002735 yy_switch_to_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002736
2737 return b;
Reid Spencered951ea2007-05-19 07:22:10 +00002738 }
2739#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002740
2741
Reid Spencered951ea2007-05-19 07:22:10 +00002742#ifndef YY_NO_SCAN_STRING
2743#ifdef YY_USE_PROTOS
2744YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
2745#else
2746YY_BUFFER_STATE yy_scan_string( yy_str )
2747yyconst char *yy_str;
2748#endif
2749 {
2750 int len;
2751 for ( len = 0; yy_str[len]; ++len )
2752 ;
2753
2754 return yy_scan_bytes( yy_str, len );
2755 }
2756#endif
2757
2758
2759#ifndef YY_NO_SCAN_BYTES
2760#ifdef YY_USE_PROTOS
2761YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
2762#else
2763YY_BUFFER_STATE yy_scan_bytes( bytes, len )
2764yyconst char *bytes;
2765int len;
2766#endif
2767 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002768 YY_BUFFER_STATE b;
2769 char *buf;
2770 yy_size_t n;
2771 int i;
Reid Spencered951ea2007-05-19 07:22:10 +00002772
Reid Spencer68a24bd2005-08-27 18:50:39 +00002773 /* Get memory for full buffer, including space for trailing EOB's. */
Reid Spencered951ea2007-05-19 07:22:10 +00002774 n = len + 2;
2775 buf = (char *) yy_flex_alloc( n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002776 if ( ! buf )
Reid Spencered951ea2007-05-19 07:22:10 +00002777 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002778
Reid Spencered951ea2007-05-19 07:22:10 +00002779 for ( i = 0; i < len; ++i )
2780 buf[i] = bytes[i];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002781
Reid Spencered951ea2007-05-19 07:22:10 +00002782 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002783
Reid Spencered951ea2007-05-19 07:22:10 +00002784 b = yy_scan_buffer( buf, n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002785 if ( ! b )
Reid Spencered951ea2007-05-19 07:22:10 +00002786 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002787
2788 /* It's okay to grow etc. this buffer, and we should throw it
2789 * away when we're done.
2790 */
2791 b->yy_is_our_buffer = 1;
2792
2793 return b;
Reid Spencered951ea2007-05-19 07:22:10 +00002794 }
2795#endif
2796
2797
2798#ifndef YY_NO_PUSH_STATE
2799#ifdef YY_USE_PROTOS
2800static void yy_push_state( int new_state )
2801#else
2802static void yy_push_state( new_state )
2803int new_state;
2804#endif
2805 {
2806 if ( yy_start_stack_ptr >= yy_start_stack_depth )
2807 {
2808 yy_size_t new_size;
2809
2810 yy_start_stack_depth += YY_START_STACK_INCR;
2811 new_size = yy_start_stack_depth * sizeof( int );
2812
2813 if ( ! yy_start_stack )
2814 yy_start_stack = (int *) yy_flex_alloc( new_size );
2815
2816 else
2817 yy_start_stack = (int *) yy_flex_realloc(
2818 (void *) yy_start_stack, new_size );
2819
2820 if ( ! yy_start_stack )
2821 YY_FATAL_ERROR(
2822 "out of memory expanding start-condition stack" );
2823 }
2824
2825 yy_start_stack[yy_start_stack_ptr++] = YY_START;
2826
2827 BEGIN(new_state);
2828 }
2829#endif
2830
2831
2832#ifndef YY_NO_POP_STATE
2833static void yy_pop_state()
2834 {
2835 if ( --yy_start_stack_ptr < 0 )
2836 YY_FATAL_ERROR( "start-condition stack underflow" );
2837
2838 BEGIN(yy_start_stack[yy_start_stack_ptr]);
2839 }
2840#endif
2841
2842
2843#ifndef YY_NO_TOP_STATE
2844static int yy_top_state()
2845 {
2846 return yy_start_stack[yy_start_stack_ptr - 1];
2847 }
2848#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002849
2850#ifndef YY_EXIT_FAILURE
2851#define YY_EXIT_FAILURE 2
2852#endif
2853
Reid Spencered951ea2007-05-19 07:22:10 +00002854#ifdef YY_USE_PROTOS
2855static void yy_fatal_error( yyconst char msg[] )
2856#else
2857static void yy_fatal_error( msg )
2858char msg[];
2859#endif
2860 {
2861 (void) fprintf( stderr, "%s\n", msg );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002862 exit( YY_EXIT_FAILURE );
Reid Spencered951ea2007-05-19 07:22:10 +00002863 }
2864
2865
Reid Spencer68a24bd2005-08-27 18:50:39 +00002866
2867/* Redefine yyless() so it works in section 3 code. */
2868
2869#undef yyless
2870#define yyless(n) \
2871 do \
2872 { \
Reid Spencered951ea2007-05-19 07:22:10 +00002873 /* Undo effects of setting up yytext. */ \
2874 yytext[yyleng] = yy_hold_char; \
2875 yy_c_buf_p = yytext + n; \
2876 yy_hold_char = *yy_c_buf_p; \
2877 *yy_c_buf_p = '\0'; \
2878 yyleng = n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00002879 } \
2880 while ( 0 )
2881
2882
Reid Spencered951ea2007-05-19 07:22:10 +00002883/* Internal utility routines. */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002884
2885#ifndef yytext_ptr
Reid Spencered951ea2007-05-19 07:22:10 +00002886#ifdef YY_USE_PROTOS
2887static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
2888#else
2889static void yy_flex_strncpy( s1, s2, n )
2890char *s1;
2891yyconst char *s2;
2892int n;
2893#endif
2894 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002895 register int i;
2896 for ( i = 0; i < n; ++i )
2897 s1[i] = s2[i];
Reid Spencered951ea2007-05-19 07:22:10 +00002898 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002899#endif
2900
2901#ifdef YY_NEED_STRLEN
Reid Spencered951ea2007-05-19 07:22:10 +00002902#ifdef YY_USE_PROTOS
2903static int yy_flex_strlen( yyconst char *s )
2904#else
2905static int yy_flex_strlen( s )
2906yyconst char *s;
2907#endif
2908 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002909 register int n;
2910 for ( n = 0; s[n]; ++n )
2911 ;
2912
2913 return n;
Reid Spencered951ea2007-05-19 07:22:10 +00002914 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002915#endif
2916
Reid Spencer9c9b63a2007-04-28 16:07:31 +00002917
Reid Spencered951ea2007-05-19 07:22:10 +00002918#ifdef YY_USE_PROTOS
2919static void *yy_flex_alloc( yy_size_t size )
2920#else
2921static void *yy_flex_alloc( size )
2922yy_size_t size;
2923#endif
2924 {
2925 return (void *) malloc( size );
2926 }
2927
2928#ifdef YY_USE_PROTOS
2929static inline void *yy_flex_realloc( void *ptr, yy_size_t size )
2930#else
2931static inline void *yy_flex_realloc( ptr, size )
2932void *ptr;
2933yy_size_t size;
2934#endif
2935 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002936 /* The cast to (char *) in the following accommodates both
2937 * implementations that use char* generic pointers, and those
2938 * that use void* generic pointers. It works with the latter
2939 * because both ANSI C and C++ allow castless assignment from
2940 * any pointer type to void*, and deal with argument conversions
2941 * as though doing an assignment.
2942 */
2943 return (void *) realloc( (char *) ptr, size );
Reid Spencered951ea2007-05-19 07:22:10 +00002944 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002945
Reid Spencered951ea2007-05-19 07:22:10 +00002946#ifdef YY_USE_PROTOS
2947static void yy_flex_free( void *ptr )
2948#else
2949static void yy_flex_free( ptr )
2950void *ptr;
2951#endif
2952 {
2953 free( ptr );
2954 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002955
Reid Spencered951ea2007-05-19 07:22:10 +00002956#if YY_MAIN
2957int main()
2958 {
2959 yylex();
2960 return 0;
2961 }
2962#endif
2963#line 451 "/proj/llvm/llvm-2/lib/AsmParser/Lexer.l"
Chris Lattner2fecc0f2006-02-15 07:02:59 +00002964