blob: cbf22872cf74b220635f3b7d34e85c95d5c55168 [file] [log] [blame]
Reid Spencer832254e2007-02-02 02:16:23 +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 Spencer832254e2007-02-02 02:16:23 +000019#line 20 "Lexer.cpp"
20/* A lexical scanner generated by flex*/
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +000021
Reid Spencer832254e2007-02-02 02:16:23 +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 Spencer832254e2007-02-02 02:16:23 +000031#include <unistd.h>
Owen Anderson1dc69692006-10-18 02:21:48 +000032
Anton Korobeynikov178a3522007-01-12 19:22:51 +000033
Reid Spencer832254e2007-02-02 02:16:23 +000034/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
35#ifdef c_plusplus
36#ifndef __cplusplus
37#define __cplusplus
38#endif
Anton Korobeynikov178a3522007-01-12 19:22:51 +000039#endif
40
Anton Korobeynikov178a3522007-01-12 19:22:51 +000041
42#ifdef __cplusplus
Owen Anderson1dc69692006-10-18 02:21:48 +000043
Reid Spencer832254e2007-02-02 02:16:23 +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 Spencer832254e2007-02-02 02:16:23 +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 Spencer832254e2007-02-02 02:16:23 +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 Spencer832254e2007-02-02 02:16:23 +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 Spencer832254e2007-02-02 02:16:23 +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 Spencer832254e2007-02-02 02:16:23 +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 Spencer832254e2007-02-02 02:16:23 +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 Spencer832254e2007-02-02 02:16:23 +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 Spencer832254e2007-02-02 02:16:23 +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 Spencer832254e2007-02-02 02:16:23 +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 Spencer832254e2007-02-02 02:16:23 +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 Spencer832254e2007-02-02 02:16:23 +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 Spencer832254e2007-02-02 02:16:23 +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 Spencer832254e2007-02-02 02:16:23 +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 Korobeynikov9adeaa22007-01-28 13:37:39 +0000227 };
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000228
Reid Spencer832254e2007-02-02 02:16:23 +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 Spencer832254e2007-02-02 02:16:23 +0000235#define YY_CURRENT_BUFFER yy_current_buffer
Reid Spencer68a24bd2005-08-27 18:50:39 +0000236
237
Reid Spencer832254e2007-02-02 02:16:23 +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 Spencer832254e2007-02-02 02:16:23 +0000240
Reid Spencer68a24bd2005-08-27 18:50:39 +0000241static int yy_n_chars; /* number of characters read into yy_ch_buf */
Reid Spencer832254e2007-02-02 02:16:23 +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 Spencer832254e2007-02-02 02:16:23 +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 Spencer832254e2007-02-02 02:16:23 +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 Spencer832254e2007-02-02 02:16:23 +0000256void yyrestart YY_PROTO(( FILE *input_file ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000257
Reid Spencer832254e2007-02-02 02:16:23 +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 Spencer832254e2007-02-02 02:16:23 +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 Spencer832254e2007-02-02 02:16:23 +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 Spencer832254e2007-02-02 02:16:23 +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 Spencer832254e2007-02-02 02:16:23 +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 Spencer832254e2007-02-02 02:16:23 +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 Spencer832254e2007-02-02 02:16:23 +0000290#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
Reid Spencer68a24bd2005-08-27 18:50:39 +0000291
292
Reid Spencer832254e2007-02-02 02:16:23 +0000293#define YY_USES_REJECT
294
295#define yywrap() 1
Reid Spencer68a24bd2005-08-27 18:50:39 +0000296#define YY_SKIP_YYWRAP
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000297typedef unsigned char YY_CHAR;
Reid Spencer832254e2007-02-02 02:16:23 +0000298FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000299typedef int yy_state_type;
Reid Spencer832254e2007-02-02 02:16:23 +0000300extern int yylineno;
301int yylineno = 1;
302extern char *yytext;
303#define yytext_ptr yytext
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000304
Reid Spencer832254e2007-02-02 02:16:23 +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 Spencer832254e2007-02-02 02:16:23 +0000311 * corresponding action - sets up yytext.
Reid Spencer68a24bd2005-08-27 18:50:39 +0000312 */
313#define YY_DO_BEFORE_ACTION \
Reid Spencer832254e2007-02-02 02:16:23 +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 Spencer832254e2007-02-02 02:16:23 +0000318 yy_c_buf_p = yy_cp;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000319
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000320#define YY_NUM_RULES 135
321#define YY_END_OF_BUFFER 136
322static yyconst short int yy_acclist[216] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000323 { 0,
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000324 136, 134, 135, 133, 134, 135, 133, 135, 134, 135,
325 134, 135, 134, 135, 134, 135, 134, 135, 134, 135,
326 126, 134, 135, 126, 134, 135, 1, 134, 135, 134,
327 135, 134, 135, 134, 135, 134, 135, 134, 135, 134,
328 135, 134, 135, 134, 135, 134, 135, 134, 135, 134,
329 135, 134, 135, 134, 135, 134, 135, 134, 135, 134,
330 135, 134, 135, 134, 135, 134, 135, 134, 135, 134,
331 135, 134, 135, 134, 135, 124, 122, 120, 129, 127,
332 131, 126, 1, 121, 130, 106, 35, 69, 51, 70,
333 65, 23, 124, 120, 131, 20, 131, 132, 125, 121,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000334
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000335 52, 64, 33, 36, 3, 54, 79, 84, 82, 83,
336 81, 80, 85, 89, 105, 74, 72, 61, 73, 71,
337 53, 87, 78, 76, 77, 75, 88, 86, 66, 123,
338 131, 131, 63, 90, 68, 57, 113, 60, 67, 114,
339 62, 22, 128, 56, 93, 59, 42, 24, 4, 49,
340 55, 58, 45, 12, 92, 131, 30, 2, 5, 46,
341 95, 41, 48, 115, 91, 21, 112, 38, 7, 47,
342 37, 99, 98, 8, 16, 108, 111, 32, 50, 103,
343 97, 107, 25, 26, 96, 109, 104, 102, 6, 27,
344 94, 31, 9, 18, 10, 100, 11, 44, 43, 101,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000345
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000346 29, 13, 15, 14, 28, 34, 17, 110, 116, 118,
347 119, 39, 117, 40, 19
Reid Spencer68a24bd2005-08-27 18:50:39 +0000348 } ;
349
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000350static yyconst short int yy_accept[540] =
Reid Spencer832254e2007-02-02 02:16:23 +0000351 { 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, 79, 80, 80, 81, 81, 82, 83,
357 83, 84, 84, 85, 86, 86, 86, 86, 86, 86,
358 86, 86, 87, 87, 88, 88, 88, 88, 88, 88,
Reid Spencer3025dfd2007-03-29 18:50:01 +0000359 88, 89, 89, 89, 89, 89, 89, 89, 89, 89,
360 89, 89, 90, 90, 90, 90, 90, 90, 90, 90,
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000361 90, 90, 91, 91, 91, 91, 91, 91, 91, 91,
Reid Spencer832254e2007-02-02 02:16:23 +0000362
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000363 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
364 92, 92, 92, 92, 92, 92, 93, 93, 93, 93,
Reid Spencer832254e2007-02-02 02:16:23 +0000365 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000366 93, 93, 94, 95, 96, 97, 98, 98, 99, 99,
367 100, 101, 102, 102, 102, 103, 103, 103, 104, 104,
368 104, 104, 105, 105, 105, 105, 105, 105, 105, 105,
369 105, 106, 106, 106, 106, 106, 106, 106, 106, 106,
Reid Spencer832254e2007-02-02 02:16:23 +0000370 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000371 106, 106, 106, 106, 106, 107, 107, 107, 107, 108,
372 109, 110, 111, 112, 113, 113, 114, 115, 115, 116,
Reid Spencer832254e2007-02-02 02:16:23 +0000373
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000374 116, 116, 116, 116, 116, 117, 118, 119, 119, 119,
375 119, 120, 121, 121, 121, 122, 122, 122, 122, 122,
376 122, 122, 122, 123, 124, 125, 125, 126, 127, 127,
377 128, 129, 129, 129, 129, 129, 129, 129, 129, 129,
378 130, 130, 130, 131, 132, 132, 132, 132, 133, 133,
379 133, 133, 134, 134, 134, 135, 135, 135, 135, 135,
380 135, 135, 135, 135, 135, 135, 135, 135, 135, 136,
381 137, 137, 137, 137, 137, 138, 139, 139, 139, 139,
382 140, 140, 140, 140, 140, 140, 140, 140, 141, 142,
383 142, 142, 142, 142, 143, 143, 143, 144, 145, 145,
Reid Spencer832254e2007-02-02 02:16:23 +0000384
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000385 145, 146, 146, 146, 146, 147, 148, 148, 148, 149,
386 149, 149, 150, 150, 151, 152, 152, 152, 152, 152,
387 153, 153, 154, 154, 155, 155, 155, 156, 157, 158,
388 158, 158, 159, 159, 159, 159, 159, 159, 159, 159,
389 159, 159, 159, 159, 159, 160, 160, 161, 162, 162,
390 162, 162, 162, 162, 162, 163, 163, 163, 163, 163,
391 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
392 164, 164, 164, 165, 165, 165, 165, 166, 166, 167,
393 167, 167, 167, 167, 167, 167, 167, 168, 168, 168,
394 169, 169, 169, 169, 170, 170, 170, 170, 171, 171,
Reid Spencer832254e2007-02-02 02:16:23 +0000395
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000396 171, 172, 173, 174, 174, 174, 175, 176, 176, 176,
397 176, 177, 177, 178, 179, 179, 179, 180, 180, 180,
398 181, 181, 181, 182, 183, 184, 185, 186, 186, 187,
399 188, 188, 188, 188, 188, 188, 189, 189, 189, 190,
400 191, 191, 191, 191, 191, 191, 192, 192, 192, 192,
401 192, 192, 192, 192, 192, 193, 193, 193, 193, 193,
402 193, 193, 193, 193, 194, 194, 194, 194, 194, 195,
403 195, 195, 195, 196, 197, 198, 199, 200, 201, 201,
404 201, 201, 202, 202, 202, 202, 203, 203, 204, 205,
405 205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
Reid Spencer832254e2007-02-02 02:16:23 +0000406
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000407 206, 206, 206, 206, 206, 206, 207, 207, 207, 207,
408 207, 208, 208, 208, 208, 208, 209, 209, 209, 209,
409 209, 209, 209, 209, 209, 209, 209, 209, 210, 211,
410 212, 212, 213, 213, 214, 215, 215, 216, 216
Reid Spencer832254e2007-02-02 02:16:23 +0000411 } ;
412
413static yyconst int yy_ec[256] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000414 { 0,
415 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
416 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
417 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
418 1, 2, 1, 4, 1, 5, 6, 1, 1, 1,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000419 1, 1, 7, 1, 8, 9, 1, 10, 11, 11,
420 11, 11, 11, 12, 11, 13, 11, 14, 15, 1,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000421 1, 1, 1, 16, 17, 17, 17, 17, 18, 17,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000422 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
423 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000424 1, 1, 1, 1, 19, 1, 20, 21, 22, 23,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000425
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000426 24, 25, 26, 27, 28, 5, 29, 30, 31, 32,
427 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
428 43, 44, 1, 1, 1, 1, 1, 1, 1, 1,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000429 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
430 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
431 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
432 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
433 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
437 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
438 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
439 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
440 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
441 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
442 1, 1, 1, 1, 1
443 } ;
444
Reid Spencer832254e2007-02-02 02:16:23 +0000445static yyconst int yy_meta[45] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000446 { 0,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000447 1, 1, 2, 3, 4, 1, 1, 4, 4, 4,
448 4, 4, 4, 5, 1, 1, 4, 4, 4, 4,
449 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
450 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
451 4, 4, 4, 4
Reid Spencer68a24bd2005-08-27 18:50:39 +0000452 } ;
453
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000454static yyconst short int yy_base[547] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000455 { 0,
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000456 0, 0, 1175, 1176, 1176, 1176, 1170, 1159, 35, 39,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000457 43, 49, 55, 61, 0, 72, 64, 67, 66, 86,
Reid Spencer3025dfd2007-03-29 18:50:01 +0000458 76, 106, 91, 65, 133, 121, 117, 99, 152, 95,
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000459 78, 179, 137, 211, 139, 90, 148, 93, 1168, 1176,
460 1157, 1176, 0, 49, 185, 217, 116, 238, 254, 259,
461 0, 1166, 0, 200, 125, 149, 146, 153, 177, 63,
462 154, 1155, 160, 161, 208, 185, 264, 171, 113, 210,
463 1154, 222, 260, 228, 186, 261, 271, 110, 273, 274,
464 230, 289, 277, 278, 150, 290, 241, 205, 282, 231,
465 291, 1153, 292, 296, 299, 303, 305, 306, 318, 310,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000466
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000467 309, 311, 321, 322, 325, 326, 328, 330, 332, 337,
468 343, 340, 344, 335, 348, 1152, 357, 358, 360, 363,
469 365, 364, 366, 377, 369, 331, 367, 385, 394, 373,
470 380, 1151, 0, 413, 1150, 428, 446, 0, 1159, 1176,
471 0, 1148, 232, 397, 1147, 393, 398, 1146, 400, 405,
472 406, 1145, 421, 418, 401, 415, 419, 434, 437, 429,
473 1144, 448, 449, 435, 453, 452, 454, 455, 457, 464,
474 456, 461, 462, 465, 467, 480, 482, 469, 484, 486,
475 487, 475, 489, 491, 1143, 493, 495, 498, 1142, 1141,
476 1140, 1139, 1138, 1137, 499, 1136, 1135, 500, 1134, 529,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000477
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000478 504, 507, 502, 510, 1133, 1132, 1131, 508, 511, 522,
479 1130, 1129, 529, 523, 1128, 518, 543, 544, 547, 548,
480 550, 549, 1127, 1126, 1125, 551, 1124, 1123, 552, 1122,
481 1121, 554, 555, 557, 509, 563, 565, 561, 568, 1120,
482 577, 578, 1176, 583, 592, 601, 607, 612, 583, 584,
483 595, 1119, 614, 615, 1118, 616, 594, 617, 619, 620,
484 622, 623, 626, 628, 627, 629, 630, 631, 1117, 1116,
485 634, 637, 641, 642, 1115, 1114, 646, 647, 645, 1113,
486 648, 650, 652, 654, 656, 659, 657, 1112, 1111, 663,
487 665, 668, 669, 1110, 670, 678, 0, 1109, 677, 679,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000488
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000489 1108, 683, 680, 688, 1107, 1106, 693, 698, 1105, 700,
490 685, 1104, 704, 1103, 1102, 702, 705, 708, 689, 1101,
491 709, 1100, 711, 1099, 715, 718, 1098, 723, 1097, 717,
492 724, 1096, 725, 728, 734, 737, 727, 729, 744, 730,
493 741, 742, 745, 746, 1095, 747, 1094, 1093, 753, 756,
494 757, 758, 760, 759, 1092, 762, 764, 765, 769, 1091,
495 766, 772, 771, 773, 774, 783, 778, 787, 789, 791,
496 790, 794, 1090, 795, 796, 799, 1089, 797, 1088, 802,
497 803, 804, 805, 815, 800, 811, 1087, 818, 822, 1086,
498 823, 825, 826, 1085, 827, 828, 830, 1084, 833, 831,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000499
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000500 1083, 1082, 1081, 834, 835, 1080, 1079, 843, 845, 837,
501 1078, 840, 1077, 1076, 844, 856, 1075, 857, 858, 1074,
502 859, 860, 1073, 1072, 1071, 1070, 1069, 864, 1068, 1067,
503 862, 863, 870, 867, 865, 1066, 868, 872, 1065, 1064,
504 873, 880, 882, 884, 887, 1063, 888, 885, 889, 890,
505 893, 896, 899, 894, 1062, 904, 906, 907, 910, 911,
506 915, 917, 919, 1061, 921, 924, 925, 922, 1050, 926,
507 927, 928, 1039, 1037, 1036, 1035, 1034, 1033, 929, 936,
508 933, 1032, 943, 947, 950, 1031, 934, 1030, 1029, 954,
509 952, 937, 955, 957, 956, 959, 963, 966, 967, 1024,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000510
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000511 968, 970, 971, 974, 976, 1022, 978, 977, 979, 981,
512 1021, 986, 985, 989, 992, 1018, 990, 994, 998, 999,
513 1001, 1003, 1004, 1005, 1008, 1010, 1014, 686, 684, 517,
514 1020, 463, 1015, 372, 368, 1019, 279, 1176, 1055, 1057,
515 253, 1062, 1065, 212, 1069, 108
Reid Spencer68a24bd2005-08-27 18:50:39 +0000516 } ;
517
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000518static yyconst short int yy_def[547] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000519 { 0,
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000520 538, 1, 538, 538, 538, 538, 539, 540, 541, 538,
521 540, 540, 540, 540, 542, 543, 540, 540, 540, 540,
522 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
523 540, 540, 540, 540, 540, 540, 540, 540, 539, 538,
524 540, 538, 544, 538, 538, 540, 540, 540, 540, 540,
525 542, 545, 546, 538, 540, 540, 540, 540, 540, 540,
526 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
527 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
528 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
529 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000530
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000531 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
532 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
533 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
534 540, 538, 544, 538, 540, 540, 540, 50, 545, 538,
535 546, 540, 540, 540, 540, 540, 540, 540, 540, 540,
536 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
537 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
538 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
539 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
540 540, 540, 540, 540, 540, 540, 540, 540, 540, 50,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000541
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000542 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
543 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
544 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
545 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
546 540, 540, 538, 538, 538, 538, 540, 540, 540, 540,
547 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
548 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
549 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
550 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
551 540, 540, 540, 540, 540, 540, 200, 540, 540, 540,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000552
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000553 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
554 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
555 540, 540, 540, 540, 540, 540, 540, 538, 540, 540,
556 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
557 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
558 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
559 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
560 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
561 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
562 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000563
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000564 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
565 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
566 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
567 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
568 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
569 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
570 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
571 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
572 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
573 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000574
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000575 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
576 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
577 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
578 540, 540, 540, 540, 540, 540, 540, 0, 538, 538,
579 538, 538, 538, 538, 538, 538
Reid Spencer68a24bd2005-08-27 18:50:39 +0000580 } ;
581
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000582static yyconst short int yy_nxt[1221] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000583 { 0,
584 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000585 14, 14, 14, 4, 15, 16, 8, 8, 8, 17,
586 18, 19, 20, 21, 22, 23, 24, 25, 8, 26,
587 27, 28, 29, 30, 8, 31, 32, 33, 34, 35,
588 36, 37, 8, 38, 44, 44, 44, 44, 45, 45,
Reid Spencer3025dfd2007-03-29 18:50:01 +0000589 45, 45, 46, 46, 46, 46, 42, 47, 44, 44,
590 44, 44, 42, 48, 49, 49, 49, 49, 42, 48,
591 49, 49, 49, 49, 42, 52, 42, 42, 42, 42,
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000592 42, 54, 54, 54, 54, 63, 55, 64, 149, 42,
Reid Spencer3025dfd2007-03-29 18:50:01 +0000593 60, 42, 81, 56, 61, 57, 50, 58, 65, 42,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000594
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000595 59, 103, 62, 42, 42, 66, 42, 70, 42, 67,
596 71, 141, 42, 128, 79, 68, 131, 72, 69, 42,
597 80, 101, 92, 42, 135, 73, 42, 74, 75, 42,
598 42, 93, 102, 170, 42, 76, 89, 94, 42, 77,
599 85, 78, 82, 82, 82, 82, 42, 142, 86, 90,
600 42, 160, 42, 87, 83, 91, 115, 88, 126, 42,
601 129, 42, 42, 42, 84, 42, 42, 42, 145, 116,
602 179, 127, 117, 42, 42, 95, 143, 96, 144, 118,
603 130, 97, 152, 98, 42, 99, 146, 100, 104, 151,
604 42, 150, 42, 134, 45, 45, 45, 45, 42, 42,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000605
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000606 159, 105, 106, 147, 107, 108, 109, 148, 110, 54,
607 54, 54, 54, 166, 111, 133, 112, 113, 42, 114,
608 104, 42, 155, 42, 42, 48, 46, 46, 46, 46,
609 42, 182, 161, 119, 120, 42, 121, 153, 122, 154,
610 123, 42, 124, 42, 42, 42, 125, 136, 136, 136,
611 136, 42, 173, 184, 42, 137, 43, 249, 165, 162,
612 181, 137, 48, 49, 49, 49, 49, 42, 138, 138,
613 138, 138, 42, 42, 42, 138, 138, 42, 138, 138,
614 138, 138, 138, 138, 42, 156, 42, 42, 157, 163,
615 42, 42, 42, 167, 168, 42, 164, 158, 82, 82,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000616
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000617 82, 82, 42, 42, 42, 42, 172, 174, 169, 42,
618 171, 183, 42, 175, 176, 177, 42, 178, 42, 42,
619 185, 180, 42, 42, 42, 188, 190, 186, 192, 194,
620 187, 42, 196, 189, 42, 42, 197, 195, 42, 42,
621 191, 42, 193, 42, 42, 42, 198, 202, 42, 235,
622 42, 205, 201, 42, 209, 203, 42, 42, 199, 207,
623 211, 42, 216, 200, 215, 206, 213, 204, 208, 210,
624 42, 42, 214, 42, 212, 217, 42, 42, 42, 42,
625 42, 42, 42, 218, 219, 42, 42, 222, 224, 227,
626 42, 221, 234, 42, 236, 220, 237, 223, 42, 229,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000627
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000628 230, 226, 225, 228, 238, 239, 42, 42, 240, 231,
629 42, 42, 232, 42, 42, 241, 251, 233, 42, 42,
630 258, 242, 244, 244, 244, 244, 254, 253, 42, 250,
631 245, 42, 42, 252, 42, 255, 245, 136, 136, 136,
632 136, 42, 42, 256, 259, 137, 260, 42, 42, 264,
633 42, 137, 246, 247, 257, 248, 248, 248, 248, 42,
634 262, 42, 42, 261, 263, 42, 42, 42, 42, 42,
635 42, 265, 268, 271, 42, 42, 42, 42, 42, 277,
636 42, 278, 42, 266, 279, 267, 269, 275, 42, 273,
637 281, 270, 274, 42, 276, 42, 272, 42, 280, 42,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000638
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000639 42, 285, 42, 282, 42, 283, 42, 286, 42, 288,
640 289, 42, 42, 42, 287, 42, 292, 42, 290, 284,
641 42, 42, 42, 42, 42, 300, 293, 294, 321, 291,
642 42, 42, 302, 295, 303, 42, 42, 296, 297, 297,
643 297, 297, 42, 298, 299, 297, 297, 301, 297, 297,
644 297, 297, 297, 297, 304, 308, 42, 42, 307, 305,
645 42, 42, 42, 42, 42, 42, 306, 42, 42, 310,
646 42, 312, 309, 314, 42, 317, 42, 318, 42, 313,
647 311, 42, 319, 316, 323, 322, 325, 320, 315, 324,
648 42, 42, 244, 244, 244, 244, 42, 42, 246, 246,
649
650 245, 328, 328, 328, 328, 330, 245, 42, 42, 326,
651 328, 328, 328, 328, 329, 327, 248, 248, 248, 248,
652 42, 248, 248, 248, 248, 42, 331, 42, 42, 42,
653 42, 335, 42, 42, 333, 42, 42, 334, 337, 42,
654 42, 42, 42, 42, 42, 332, 336, 42, 344, 339,
655 42, 338, 346, 345, 42, 42, 341, 342, 42, 42,
656 42, 42, 343, 42, 340, 42, 353, 42, 354, 42,
657 42, 347, 42, 355, 348, 352, 42, 349, 42, 350,
658 351, 42, 42, 42, 359, 356, 358, 357, 360, 361,
659 42, 42, 42, 42, 363, 362, 42, 42, 42, 42,
660
661 369, 42, 42, 371, 368, 364, 42, 370, 366, 365,
662 367, 42, 372, 42, 376, 42, 373, 42, 42, 374,
663 381, 42, 42, 375, 42, 377, 378, 380, 42, 379,
664 42, 42, 328, 328, 328, 328, 387, 42, 42, 384,
665 42, 42, 42, 42, 382, 386, 388, 42, 383, 390,
666 42, 385, 394, 391, 42, 42, 392, 42, 42, 42,
667 42, 389, 393, 396, 395, 398, 42, 400, 401, 42,
668 42, 42, 42, 42, 397, 42, 399, 42, 42, 42,
669 402, 405, 42, 403, 42, 42, 42, 42, 404, 406,
670 407, 42, 411, 413, 414, 409, 42, 412, 410, 408,
671
672 42, 416, 42, 42, 42, 418, 417, 42, 42, 42,
673 42, 415, 42, 42, 422, 42, 42, 42, 42, 419,
674 421, 424, 426, 428, 42, 429, 420, 423, 42, 430,
675 427, 42, 431, 425, 432, 42, 42, 433, 42, 42,
676 42, 42, 434, 42, 42, 435, 42, 42, 42, 439,
677 42, 443, 444, 42, 437, 446, 42, 42, 42, 436,
678 441, 451, 442, 440, 449, 447, 448, 438, 445, 42,
679 42, 42, 42, 42, 450, 42, 42, 42, 42, 452,
680 42, 42, 456, 42, 457, 42, 42, 453, 454, 455,
681 458, 459, 461, 42, 462, 42, 463, 42, 42, 460,
682
683 42, 42, 42, 42, 465, 464, 42, 42, 466, 42,
684 470, 471, 42, 469, 472, 467, 475, 42, 473, 42,
685 42, 477, 468, 42, 42, 474, 481, 476, 42, 480,
686 42, 478, 42, 482, 42, 42, 484, 42, 42, 42,
687 42, 42, 42, 479, 486, 490, 42, 42, 483, 42,
688 42, 493, 494, 496, 485, 491, 42, 495, 492, 487,
689 42, 488, 489, 42, 497, 42, 498, 42, 42, 42,
690 42, 500, 42, 501, 503, 502, 42, 499, 505, 42,
691 42, 42, 508, 42, 42, 504, 510, 42, 507, 42,
692 42, 42, 42, 506, 42, 509, 511, 514, 42, 42,
693
694 512, 516, 42, 42, 513, 42, 517, 42, 518, 520,
695 519, 42, 42, 515, 42, 525, 42, 42, 42, 524,
696 522, 42, 521, 42, 523, 526, 531, 42, 42, 532,
697 527, 42, 42, 42, 42, 42, 528, 42, 536, 530,
698 529, 535, 42, 42, 42, 42, 42, 42, 42, 42,
699 42, 534, 42, 533, 537, 39, 39, 39, 39, 39,
700 41, 41, 51, 42, 51, 51, 51, 53, 53, 139,
701 139, 139, 139, 139, 42, 42, 42, 42, 42, 42,
Reid Spencer3025dfd2007-03-29 18:50:01 +0000702 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000703 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
Reid Spencer14310612006-12-31 05:40:51 +0000704
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000705 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
706 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
707 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
708 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
709 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
710 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000711 42, 42, 140, 42, 243, 42, 42, 42, 42, 140,
712 42, 132, 42, 40, 538, 3, 538, 538, 538, 538,
713 538, 538, 538, 538, 538, 538, 538, 538, 538, 538,
714 538, 538, 538, 538, 538, 538, 538, 538, 538, 538,
Chris Lattner75466192006-05-19 21:28:53 +0000715
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000716 538, 538, 538, 538, 538, 538, 538, 538, 538, 538,
717 538, 538, 538, 538, 538, 538, 538, 538, 538, 538
Reid Spencer68a24bd2005-08-27 18:50:39 +0000718 } ;
719
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000720static yyconst short int yy_chk[1221] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000721 { 0,
722 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
723 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
724 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
725 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000726 1, 1, 1, 1, 9, 9, 9, 9, 10, 10,
Reid Spencer3025dfd2007-03-29 18:50:01 +0000727 10, 10, 11, 11, 11, 11, 11, 12, 44, 44,
728 44, 44, 12, 13, 13, 13, 13, 13, 13, 14,
729 14, 14, 14, 14, 14, 16, 60, 17, 24, 19,
730 18, 16, 16, 16, 16, 19, 17, 19, 60, 21,
731 18, 31, 24, 17, 18, 17, 13, 17, 19, 20,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000732
Reid Spencer3025dfd2007-03-29 18:50:01 +0000733 17, 31, 18, 36, 23, 20, 38, 21, 30, 20,
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000734 21, 546, 28, 36, 23, 20, 38, 21, 20, 22,
Reid Spencer3025dfd2007-03-29 18:50:01 +0000735 23, 30, 28, 78, 47, 22, 69, 22, 22, 47,
736 27, 28, 30, 78, 26, 22, 27, 28, 55, 22,
737 26, 22, 25, 25, 25, 25, 25, 55, 26, 27,
738 33, 69, 35, 26, 25, 27, 33, 26, 35, 57,
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000739 37, 37, 56, 85, 25, 29, 58, 61, 57, 33,
740 85, 35, 33, 63, 64, 29, 56, 29, 56, 33,
Reid Spencer3025dfd2007-03-29 18:50:01 +0000741 37, 29, 64, 29, 68, 29, 58, 29, 32, 63,
742 59, 61, 32, 45, 45, 45, 45, 45, 66, 75,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000743
Reid Spencer3025dfd2007-03-29 18:50:01 +0000744 68, 32, 32, 59, 32, 32, 32, 59, 32, 54,
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000745 54, 54, 54, 75, 32, 544, 32, 32, 88, 32,
Reid Spencer3025dfd2007-03-29 18:50:01 +0000746 34, 65, 66, 70, 34, 46, 46, 46, 46, 46,
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000747 46, 88, 70, 34, 34, 72, 34, 65, 34, 65,
748 34, 74, 34, 81, 90, 143, 34, 48, 48, 48,
749 48, 48, 81, 90, 87, 48, 541, 143, 74, 72,
750 87, 48, 49, 49, 49, 49, 49, 49, 50, 50,
Reid Spencer3025dfd2007-03-29 18:50:01 +0000751 50, 50, 50, 73, 76, 50, 50, 67, 50, 50,
752 50, 50, 50, 50, 77, 67, 79, 80, 67, 73,
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000753 83, 84, 537, 76, 77, 89, 73, 67, 82, 82,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000754
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000755 82, 82, 82, 86, 91, 93, 80, 83, 77, 94,
756 79, 89, 95, 84, 84, 84, 96, 84, 97, 98,
757 91, 86, 101, 100, 102, 94, 96, 93, 97, 98,
758 93, 99, 100, 95, 103, 104, 101, 99, 105, 106,
759 96, 107, 97, 108, 126, 109, 102, 106, 114, 126,
760 110, 107, 105, 112, 109, 106, 111, 113, 103, 108,
761 110, 115, 114, 104, 113, 107, 111, 106, 108, 109,
762 117, 118, 112, 119, 110, 115, 120, 122, 121, 123,
763 127, 535, 125, 115, 117, 534, 130, 119, 121, 123,
764 124, 118, 125, 131, 127, 117, 127, 120, 128, 124,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000765
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000766 124, 122, 121, 123, 128, 129, 146, 129, 130, 124,
767 144, 147, 124, 149, 155, 131, 146, 124, 150, 151,
768 155, 131, 134, 134, 134, 134, 150, 149, 156, 144,
769 134, 154, 157, 147, 153, 151, 134, 136, 136, 136,
770 136, 136, 160, 153, 156, 136, 157, 158, 164, 160,
771 159, 136, 137, 137, 154, 137, 137, 137, 137, 137,
772 159, 162, 163, 158, 159, 166, 165, 167, 168, 171,
773 169, 162, 164, 167, 172, 173, 532, 170, 174, 171,
774 175, 172, 178, 162, 173, 163, 165, 170, 182, 169,
775 175, 166, 169, 176, 170, 177, 168, 179, 174, 180,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000776
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000777 181, 178, 183, 176, 184, 177, 186, 179, 187, 181,
778 182, 188, 195, 198, 180, 203, 186, 201, 183, 177,
779 202, 208, 235, 204, 209, 203, 187, 188, 235, 184,
780 530, 216, 208, 195, 209, 210, 214, 198, 200, 200,
781 200, 200, 213, 201, 202, 200, 200, 204, 200, 200,
782 200, 200, 200, 200, 210, 216, 217, 218, 214, 213,
783 219, 220, 222, 221, 226, 229, 213, 232, 233, 218,
784 234, 220, 217, 221, 238, 229, 236, 232, 237, 220,
785 219, 239, 233, 226, 237, 236, 239, 234, 222, 238,
786 241, 242, 244, 244, 244, 244, 249, 250, 245, 245,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000787
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000788 244, 245, 245, 245, 245, 250, 244, 257, 251, 241,
789 246, 246, 246, 246, 249, 242, 247, 247, 247, 247,
790 247, 248, 248, 248, 248, 248, 251, 253, 254, 256,
791 258, 257, 259, 260, 254, 261, 262, 256, 259, 263,
792 265, 264, 266, 267, 268, 253, 258, 271, 266, 261,
793 272, 260, 268, 267, 273, 274, 263, 264, 279, 277,
794 278, 281, 265, 282, 262, 283, 278, 284, 279, 285,
795 287, 271, 286, 281, 272, 277, 290, 273, 291, 273,
796 274, 292, 293, 295, 285, 282, 284, 283, 286, 287,
797 299, 296, 300, 303, 291, 290, 302, 529, 311, 528,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000798
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000799 300, 304, 319, 303, 299, 292, 307, 302, 295, 293,
800 296, 308, 304, 310, 311, 316, 307, 313, 317, 308,
801 319, 318, 321, 310, 323, 313, 316, 318, 325, 317,
802 330, 326, 328, 328, 328, 328, 330, 331, 333, 325,
803 337, 334, 338, 340, 321, 326, 331, 335, 323, 334,
804 336, 325, 338, 335, 341, 342, 336, 339, 343, 344,
805 346, 333, 337, 340, 339, 342, 349, 344, 346, 350,
806 351, 352, 354, 353, 341, 356, 343, 357, 358, 361,
807 349, 352, 359, 350, 363, 362, 364, 365, 351, 353,
808 354, 367, 359, 362, 363, 357, 366, 361, 358, 356,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000809
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000810 368, 365, 369, 371, 370, 367, 366, 372, 374, 375,
811 378, 364, 376, 385, 371, 380, 381, 382, 383, 368,
812 370, 374, 376, 380, 386, 381, 369, 372, 384, 382,
813 378, 388, 383, 375, 384, 389, 391, 385, 392, 393,
814 395, 396, 386, 397, 400, 388, 399, 404, 405, 393,
815 410, 399, 399, 412, 391, 404, 408, 415, 409, 389,
816 396, 412, 397, 395, 409, 405, 408, 392, 400, 416,
817 418, 419, 421, 422, 410, 431, 432, 428, 435, 415,
818 434, 437, 421, 433, 422, 438, 441, 416, 418, 419,
819 428, 431, 433, 442, 434, 443, 435, 444, 448, 432,
Chris Lattnere869eef2005-11-12 00:11:49 +0000820
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000821 445, 447, 449, 450, 438, 437, 451, 454, 441, 452,
822 445, 447, 453, 444, 448, 442, 451, 456, 449, 457,
823 458, 453, 443, 459, 460, 450, 458, 452, 461, 457,
824 462, 454, 463, 459, 465, 468, 461, 466, 467, 470,
825 471, 472, 479, 456, 463, 468, 481, 487, 460, 480,
826 492, 472, 479, 481, 462, 470, 483, 480, 471, 465,
827 484, 466, 467, 485, 483, 491, 484, 490, 493, 495,
828 494, 487, 496, 490, 492, 491, 497, 485, 494, 498,
829 499, 501, 497, 502, 503, 493, 499, 504, 496, 505,
830 508, 507, 509, 495, 510, 498, 501, 504, 513, 512,
Chris Lattner75466192006-05-19 21:28:53 +0000831
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000832 502, 507, 514, 517, 503, 515, 508, 518, 509, 512,
833 510, 519, 520, 505, 521, 518, 522, 523, 524, 517,
834 514, 525, 513, 526, 515, 519, 524, 527, 533, 525,
835 520, 516, 536, 531, 511, 506, 521, 500, 533, 523,
836 522, 531, 489, 488, 486, 482, 478, 477, 476, 475,
837 474, 527, 473, 526, 536, 539, 539, 539, 539, 539,
838 540, 540, 542, 469, 542, 542, 542, 543, 543, 545,
839 545, 545, 545, 545, 464, 455, 446, 440, 439, 436,
840 430, 429, 427, 426, 425, 424, 423, 420, 417, 414,
841 413, 411, 407, 406, 403, 402, 401, 398, 394, 390,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000842
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000843 387, 379, 377, 373, 360, 355, 348, 347, 345, 332,
844 329, 327, 324, 322, 320, 315, 314, 312, 309, 306,
845 305, 301, 298, 294, 289, 288, 280, 276, 275, 270,
846 269, 255, 252, 240, 231, 230, 228, 227, 225, 224,
847 223, 215, 212, 211, 207, 206, 205, 199, 197, 196,
848 194, 193, 192, 191, 190, 189, 185, 161, 152, 148,
849 145, 142, 139, 135, 132, 116, 92, 71, 62, 52,
850 41, 39, 8, 7, 3, 538, 538, 538, 538, 538,
851 538, 538, 538, 538, 538, 538, 538, 538, 538, 538,
852 538, 538, 538, 538, 538, 538, 538, 538, 538, 538,
Reid Spencer3da59db2006-11-27 01:05:10 +0000853
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000854 538, 538, 538, 538, 538, 538, 538, 538, 538, 538,
855 538, 538, 538, 538, 538, 538, 538, 538, 538, 538
Reid Spencer68a24bd2005-08-27 18:50:39 +0000856 } ;
857
Reid Spencer832254e2007-02-02 02:16:23 +0000858static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
859static char *yy_full_match;
860static int yy_lp;
861#define REJECT \
862{ \
863*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
864yy_cp = yy_full_match; /* restore poss. backed-over text */ \
865++yy_lp; \
866goto find_rule; \
867}
Reid Spencer68a24bd2005-08-27 18:50:39 +0000868#define yymore() yymore_used_but_not_detected
869#define YY_MORE_ADJ 0
870#define YY_RESTORE_YY_MORE_OFFSET
Reid Spencer832254e2007-02-02 02:16:23 +0000871char *yytext;
Reid Spencer7b5d4662007-04-09 06:16:21 +0000872#line 1 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer832254e2007-02-02 02:16:23 +0000873#define INITIAL 0
Reid Spencer68a24bd2005-08-27 18:50:39 +0000874/*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
875//
876// The LLVM Compiler Infrastructure
877//
878// This file was developed by the LLVM research group and is distributed under
879// the University of Illinois Open Source License. See LICENSE.TXT for details.
880//
881//===----------------------------------------------------------------------===//
882//
883// This file implements the flex scanner for LLVM assembly languages files.
884//
885//===----------------------------------------------------------------------===*/
Reid Spencer832254e2007-02-02 02:16:23 +0000886#define YY_NEVER_INTERACTIVE 1
Reid Spencer7b5d4662007-04-09 06:16:21 +0000887#line 28 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +0000888#include "ParserInternals.h"
889#include "llvm/Module.h"
890#include <list>
891#include "llvmAsmParser.h"
892#include <cctype>
893#include <cstdlib>
894
895void set_scan_file(FILE * F){
Reid Spencer832254e2007-02-02 02:16:23 +0000896 yy_switch_to_buffer(yy_create_buffer( F, YY_BUF_SIZE ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +0000897}
898void set_scan_string (const char * str) {
Reid Spencer832254e2007-02-02 02:16:23 +0000899 yy_scan_string (str);
Reid Spencer68a24bd2005-08-27 18:50:39 +0000900}
901
Reid Spencer3ed469c2006-11-02 20:25:50 +0000902// Construct a token value for a non-obsolete token
Reid Spencer68a24bd2005-08-27 18:50:39 +0000903#define RET_TOK(type, Enum, sym) \
Reid Spencera132e042006-12-03 05:46:11 +0000904 llvmAsmlval.type = Instruction::Enum; \
905 return sym
906
Reid Spencer3ed469c2006-11-02 20:25:50 +0000907// Construct a token value for an obsolete token
Reid Spencera132e042006-12-03 05:46:11 +0000908#define RET_TY(CTYPE, SYM) \
909 llvmAsmlval.PrimType = CTYPE;\
Reid Spencer481169e2006-12-01 00:33:46 +0000910 return SYM
Reid Spencer68a24bd2005-08-27 18:50:39 +0000911
912namespace llvm {
913
914// TODO: All of the static identifiers are figured out by the lexer,
915// these should be hashed to reduce the lexer size
916
917
918// atoull - Convert an ascii string of decimal digits into the unsigned long
919// long representation... this does not have to do input error checking,
920// because we know that the input will be matched by a suitable regex...
921//
922static uint64_t atoull(const char *Buffer) {
923 uint64_t Result = 0;
924 for (; *Buffer; Buffer++) {
925 uint64_t OldRes = Result;
926 Result *= 10;
927 Result += *Buffer-'0';
928 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000929 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000930 }
931 return Result;
932}
933
934static uint64_t HexIntToVal(const char *Buffer) {
935 uint64_t Result = 0;
936 for (; *Buffer; ++Buffer) {
937 uint64_t OldRes = Result;
938 Result *= 16;
939 char C = *Buffer;
940 if (C >= '0' && C <= '9')
941 Result += C-'0';
942 else if (C >= 'A' && C <= 'F')
943 Result += C-'A'+10;
944 else if (C >= 'a' && C <= 'f')
945 Result += C-'a'+10;
946
947 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000948 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000949 }
950 return Result;
951}
952
953
954// HexToFP - Convert the ascii string in hexidecimal format to the floating
955// point representation of it.
956//
957static double HexToFP(const char *Buffer) {
958 // Behave nicely in the face of C TBAA rules... see:
959 // http://www.nullstone.com/htmls/category/aliastyp.htm
960 union {
961 uint64_t UI;
962 double FP;
963 } UIntToFP;
964 UIntToFP.UI = HexIntToVal(Buffer);
965
966 assert(sizeof(double) == sizeof(uint64_t) &&
967 "Data sizes incompatible on this target!");
968 return UIntToFP.FP; // Cast Hex constant to double
969}
970
971
972// UnEscapeLexed - Run through the specified buffer and change \xx codes to the
973// appropriate character. If AllowNull is set to false, a \00 value will cause
974// an exception to be thrown.
975//
976// If AllowNull is set to true, the return value of the function points to the
977// last character of the string in memory.
978//
979char *UnEscapeLexed(char *Buffer, bool AllowNull) {
980 char *BOut = Buffer;
981 for (char *BIn = Buffer; *BIn; ) {
982 if (BIn[0] == '\\' && isxdigit(BIn[1]) && isxdigit(BIn[2])) {
983 char Tmp = BIn[3]; BIn[3] = 0; // Terminate string
984 *BOut = (char)strtol(BIn+1, 0, 16); // Convert to number
985 if (!AllowNull && !*BOut)
Reid Spencer61c83e02006-08-18 08:43:06 +0000986 GenerateError("String literal cannot accept \\00 escape!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000987
988 BIn[3] = Tmp; // Restore character
989 BIn += 3; // Skip over handled chars
990 ++BOut;
991 } else {
992 *BOut++ = *BIn++;
993 }
994 }
995
996 return BOut;
997}
998
999} // End llvm namespace
1000
1001using namespace llvm;
1002
1003#define YY_NEVER_INTERACTIVE 1
1004/* Comments start with a ; and go till end of line */
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001005/* Local Values and Type identifiers start with a % sign */
1006/* Global Value identifiers start with an @ sign */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001007/* Label identifiers end with a colon */
1008/* Quoted names can contain any character except " and \ */
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001009/* LocalVarID/GlobalVarID: match an unnamed local variable slot ID. */
1010/* Integer types are specified with i and a bitwidth */
1011/* E[PN]Integer: match positive and negative literal integer values. */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001012/* FPConstant - A Floating point constant.
1013 */
1014/* HexFPConstant - Floating point constant represented in IEEE format as a
1015 * hexadecimal number for when exponential notation is not precise enough.
1016 */
1017/* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
1018 * it to deal with 64 bit numbers.
1019 */
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001020#line 1021 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001021
1022/* Macros after this point can all be overridden by user definitions in
1023 * section 1.
1024 */
1025
1026#ifndef YY_SKIP_YYWRAP
1027#ifdef __cplusplus
Reid Spencer832254e2007-02-02 02:16:23 +00001028extern "C" int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001029#else
Reid Spencer832254e2007-02-02 02:16:23 +00001030extern int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001031#endif
1032#endif
1033
Reid Spencer832254e2007-02-02 02:16:23 +00001034#ifndef YY_NO_UNPUT
1035static inline void yyunput YY_PROTO(( int c, char *buf_ptr ));
1036#endif
1037
Reid Spencer68a24bd2005-08-27 18:50:39 +00001038#ifndef yytext_ptr
Reid Spencer832254e2007-02-02 02:16:23 +00001039static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001040#endif
1041
1042#ifdef YY_NEED_STRLEN
Reid Spencer832254e2007-02-02 02:16:23 +00001043static int yy_flex_strlen YY_PROTO(( yyconst char * ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001044#endif
1045
1046#ifndef YY_NO_INPUT
1047#ifdef __cplusplus
Reid Spencer832254e2007-02-02 02:16:23 +00001048static int yyinput YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001049#else
Reid Spencer832254e2007-02-02 02:16:23 +00001050static int input YY_PROTO(( void ));
1051#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001052#endif
1053
Reid Spencer832254e2007-02-02 02:16:23 +00001054#if YY_STACK_USED
1055static int yy_start_stack_ptr = 0;
1056static int yy_start_stack_depth = 0;
1057static int *yy_start_stack = 0;
1058#ifndef YY_NO_PUSH_STATE
1059static void yy_push_state YY_PROTO(( int new_state ));
1060#endif
1061#ifndef YY_NO_POP_STATE
1062static void yy_pop_state YY_PROTO(( void ));
1063#endif
1064#ifndef YY_NO_TOP_STATE
1065static int yy_top_state YY_PROTO(( void ));
1066#endif
1067
1068#else
1069#define YY_NO_PUSH_STATE 1
1070#define YY_NO_POP_STATE 1
1071#define YY_NO_TOP_STATE 1
1072#endif
1073
1074#ifdef YY_MALLOC_DECL
1075YY_MALLOC_DECL
1076#else
1077#if __STDC__
1078#ifndef __cplusplus
1079#include <stdlib.h>
1080#endif
1081#else
1082/* Just try to get by without declaring the routines. This will fail
1083 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1084 * or sizeof(void*) != sizeof(int).
1085 */
1086#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001087#endif
1088
1089/* Amount of stuff to slurp up with each read. */
1090#ifndef YY_READ_BUF_SIZE
1091#define YY_READ_BUF_SIZE 8192
1092#endif
1093
1094/* Copy whatever the last rule matched to the standard output. */
Reid Spencer832254e2007-02-02 02:16:23 +00001095
Reid Spencer68a24bd2005-08-27 18:50:39 +00001096#ifndef ECHO
1097/* This used to be an fputs(), but since the string might contain NUL's,
1098 * we now use fwrite().
1099 */
Reid Spencer832254e2007-02-02 02:16:23 +00001100#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001101#endif
1102
1103/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1104 * is returned in "result".
1105 */
1106#ifndef YY_INPUT
1107#define YY_INPUT(buf,result,max_size) \
Reid Spencer832254e2007-02-02 02:16:23 +00001108 if ( yy_current_buffer->yy_is_interactive ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001109 { \
Reid Spencer832254e2007-02-02 02:16:23 +00001110 int c = '*', n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001111 for ( n = 0; n < max_size && \
Reid Spencer832254e2007-02-02 02:16:23 +00001112 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001113 buf[n] = (char) c; \
1114 if ( c == '\n' ) \
1115 buf[n++] = (char) c; \
Reid Spencer832254e2007-02-02 02:16:23 +00001116 if ( c == EOF && ferror( yyin ) ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001117 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1118 result = n; \
1119 } \
Reid Spencer832254e2007-02-02 02:16:23 +00001120 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1121 && ferror( yyin ) ) \
1122 YY_FATAL_ERROR( "input in flex scanner failed" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001123#endif
1124
1125/* No semi-colon after return; correct usage is to write "yyterminate();" -
1126 * we don't want an extra ';' after the "return" because that will cause
1127 * some compilers to complain about unreachable statements.
1128 */
1129#ifndef yyterminate
1130#define yyterminate() return YY_NULL
1131#endif
1132
1133/* Number of entries by which start-condition stack grows. */
1134#ifndef YY_START_STACK_INCR
1135#define YY_START_STACK_INCR 25
1136#endif
1137
1138/* Report a fatal error. */
1139#ifndef YY_FATAL_ERROR
1140#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1141#endif
1142
1143/* Default declaration of generated scanner - a define so the user can
1144 * easily add parameters.
1145 */
1146#ifndef YY_DECL
Reid Spencer832254e2007-02-02 02:16:23 +00001147#define YY_DECL int yylex YY_PROTO(( void ))
1148#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001149
Reid Spencer832254e2007-02-02 02:16:23 +00001150/* Code executed at the beginning of each rule, after yytext and yyleng
Reid Spencer68a24bd2005-08-27 18:50:39 +00001151 * have been set up.
1152 */
1153#ifndef YY_USER_ACTION
1154#define YY_USER_ACTION
1155#endif
1156
1157/* Code executed at the end of each rule. */
1158#ifndef YY_BREAK
1159#define YY_BREAK break;
1160#endif
1161
1162#define YY_RULE_SETUP \
1163 YY_USER_ACTION
1164
1165YY_DECL
Reid Spencer832254e2007-02-02 02:16:23 +00001166 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00001167 register yy_state_type yy_current_state;
Reid Spencer832254e2007-02-02 02:16:23 +00001168 register char *yy_cp = NULL, *yy_bp = NULL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001169 register int yy_act;
Reid Spencer832254e2007-02-02 02:16:23 +00001170
Reid Spencer7b5d4662007-04-09 06:16:21 +00001171#line 190 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001172
1173
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001174#line 1175 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001175
Reid Spencer832254e2007-02-02 02:16:23 +00001176 if ( yy_init )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001177 {
Reid Spencer832254e2007-02-02 02:16:23 +00001178 yy_init = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001179
1180#ifdef YY_USER_INIT
1181 YY_USER_INIT;
1182#endif
1183
Reid Spencer832254e2007-02-02 02:16:23 +00001184 if ( ! yy_start )
1185 yy_start = 1; /* first start state */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001186
Reid Spencer832254e2007-02-02 02:16:23 +00001187 if ( ! yyin )
1188 yyin = stdin;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001189
Reid Spencer832254e2007-02-02 02:16:23 +00001190 if ( ! yyout )
1191 yyout = stdout;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001192
Reid Spencer832254e2007-02-02 02:16:23 +00001193 if ( ! yy_current_buffer )
1194 yy_current_buffer =
1195 yy_create_buffer( yyin, YY_BUF_SIZE );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001196
Reid Spencer832254e2007-02-02 02:16:23 +00001197 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00001198 }
1199
1200 while ( 1 ) /* loops until end-of-file is reached */
1201 {
Reid Spencer832254e2007-02-02 02:16:23 +00001202 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001203
Reid Spencer832254e2007-02-02 02:16:23 +00001204 /* Support of yytext. */
1205 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001206
1207 /* yy_bp points to the position in yy_ch_buf of the start of
1208 * the current run.
1209 */
1210 yy_bp = yy_cp;
1211
Reid Spencer832254e2007-02-02 02:16:23 +00001212 yy_current_state = yy_start;
1213 yy_state_ptr = yy_state_buf;
1214 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001215yy_match:
1216 do
1217 {
1218 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1219 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1220 {
1221 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001222 if ( yy_current_state >= 539 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001223 yy_c = yy_meta[(unsigned int) yy_c];
1224 }
1225 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencer832254e2007-02-02 02:16:23 +00001226 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001227 ++yy_cp;
1228 }
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001229 while ( yy_current_state != 538 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001230
1231yy_find_action:
Reid Spencer832254e2007-02-02 02:16:23 +00001232 yy_current_state = *--yy_state_ptr;
1233 yy_lp = yy_accept[yy_current_state];
1234find_rule: /* we branch to this label when backing up */
1235 for ( ; ; ) /* until we find what rule we matched */
1236 {
1237 if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
1238 {
1239 yy_act = yy_acclist[yy_lp];
1240 {
1241 yy_full_match = yy_cp;
1242 break;
1243 }
1244 }
1245 --yy_cp;
1246 yy_current_state = *--yy_state_ptr;
1247 yy_lp = yy_accept[yy_current_state];
1248 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001249
1250 YY_DO_BEFORE_ACTION;
1251
Reid Spencer832254e2007-02-02 02:16:23 +00001252 if ( yy_act != YY_END_OF_BUFFER )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001253 {
1254 int yyl;
Reid Spencer832254e2007-02-02 02:16:23 +00001255 for ( yyl = 0; yyl < yyleng; ++yyl )
1256 if ( yytext[yyl] == '\n' )
1257 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001258 }
1259
1260do_action: /* This label is used only to access EOF actions. */
1261
Reid Spencer832254e2007-02-02 02:16:23 +00001262
Reid Spencer68a24bd2005-08-27 18:50:39 +00001263 switch ( yy_act )
1264 { /* beginning of action switch */
1265case 1:
1266YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001267#line 192 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001268{ /* Ignore comments for now */ }
1269 YY_BREAK
1270case 2:
1271YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001272#line 194 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001273{ return BEGINTOK; }
1274 YY_BREAK
1275case 3:
1276YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001277#line 195 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001278{ return ENDTOK; }
1279 YY_BREAK
1280case 4:
1281YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001282#line 196 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001283{ return TRUETOK; }
1284 YY_BREAK
1285case 5:
1286YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001287#line 197 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001288{ return FALSETOK; }
1289 YY_BREAK
1290case 6:
1291YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001292#line 198 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001293{ return DECLARE; }
1294 YY_BREAK
1295case 7:
1296YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001297#line 199 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001298{ return DEFINE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001299 YY_BREAK
1300case 8:
1301YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001302#line 200 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001303{ return GLOBAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001304 YY_BREAK
1305case 9:
1306YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001307#line 201 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001308{ return CONSTANT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001309 YY_BREAK
1310case 10:
1311YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001312#line 202 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001313{ return INTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001314 YY_BREAK
1315case 11:
1316YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001317#line 203 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001318{ return LINKONCE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001319 YY_BREAK
1320case 12:
1321YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001322#line 204 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001323{ return WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001324 YY_BREAK
1325case 13:
1326YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001327#line 205 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001328{ return APPENDING; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001329 YY_BREAK
1330case 14:
1331YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001332#line 206 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001333{ return DLLIMPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001334 YY_BREAK
1335case 15:
1336YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001337#line 207 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001338{ return DLLEXPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001339 YY_BREAK
1340case 16:
1341YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001342#line 208 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001343{ return HIDDEN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001344 YY_BREAK
1345case 17:
1346YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001347#line 209 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001348{ return EXTERN_WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001349 YY_BREAK
1350case 18:
1351YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001352#line 210 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001353{ return EXTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001354 YY_BREAK
1355case 19:
1356YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001357#line 211 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001358{ return ZEROINITIALIZER; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001359 YY_BREAK
1360case 20:
1361YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001362#line 212 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001363{ return DOTDOTDOT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001364 YY_BREAK
1365case 21:
1366YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001367#line 213 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001368{ return UNDEF; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001369 YY_BREAK
1370case 22:
1371YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001372#line 214 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001373{ return NULL_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001374 YY_BREAK
1375case 23:
1376YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001377#line 215 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001378{ return TO; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001379 YY_BREAK
1380case 24:
1381YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001382#line 216 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001383{ return TAIL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001384 YY_BREAK
1385case 25:
1386YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001387#line 217 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001388{ return TARGET; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001389 YY_BREAK
1390case 26:
1391YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001392#line 218 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001393{ return TRIPLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001394 YY_BREAK
1395case 27:
1396YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001397#line 219 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001398{ return DEPLIBS; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001399 YY_BREAK
1400case 28:
1401YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001402#line 220 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001403{ return DATALAYOUT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001404 YY_BREAK
1405case 29:
1406YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001407#line 221 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001408{ return VOLATILE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001409 YY_BREAK
1410case 30:
1411YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001412#line 222 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001413{ return ALIGN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001414 YY_BREAK
1415case 31:
1416YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001417#line 223 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001418{ return SECTION; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001419 YY_BREAK
1420case 32:
1421YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001422#line 224 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001423{ return MODULE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001424 YY_BREAK
1425case 33:
1426YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001427#line 225 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001428{ return ASM_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001429 YY_BREAK
1430case 34:
1431YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001432#line 226 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001433{ return SIDEEFFECT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001434 YY_BREAK
1435case 35:
1436YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001437#line 228 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001438{ return CC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001439 YY_BREAK
1440case 36:
1441YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001442#line 229 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001443{ return CCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001444 YY_BREAK
1445case 37:
1446YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001447#line 230 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001448{ return FASTCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001449 YY_BREAK
1450case 38:
1451YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001452#line 231 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001453{ return COLDCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001454 YY_BREAK
1455case 39:
1456YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001457#line 232 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001458{ return X86_STDCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001459 YY_BREAK
1460case 40:
1461YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001462#line 233 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001463{ return X86_FASTCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001464 YY_BREAK
1465case 41:
1466YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001467#line 235 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001468{ return INREG; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001469 YY_BREAK
1470case 42:
1471YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001472#line 236 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001473{ return SRET; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001474 YY_BREAK
1475case 43:
1476YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001477#line 237 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001478{ return NOUNWIND; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001479 YY_BREAK
1480case 44:
1481YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001482#line 238 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001483{ return NORETURN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001484 YY_BREAK
1485case 45:
1486YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001487#line 240 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001488{ RET_TY(Type::VoidTy, VOID); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001489 YY_BREAK
1490case 46:
1491YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001492#line 241 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001493{ RET_TY(Type::FloatTy, FLOAT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001494 YY_BREAK
1495case 47:
1496YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001497#line 242 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001498{ RET_TY(Type::DoubleTy,DOUBLE);}
Reid Spencer68a24bd2005-08-27 18:50:39 +00001499 YY_BREAK
1500case 48:
1501YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001502#line 243 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001503{ RET_TY(Type::LabelTy, LABEL); }
Reid Spencer832254e2007-02-02 02:16:23 +00001504 YY_BREAK
1505case 49:
1506YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001507#line 244 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001508{ return TYPE; }
Reid Spencer832254e2007-02-02 02:16:23 +00001509 YY_BREAK
1510case 50:
1511YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001512#line 245 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001513{ return OPAQUE; }
Reid Spencer67d8ed92007-03-22 02:14:08 +00001514 YY_BREAK
1515case 51:
1516YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001517#line 246 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer832254e2007-02-02 02:16:23 +00001518{ uint64_t NumBits = atoull(yytext+1);
Reid Spencera54b7cb2007-01-12 07:05:14 +00001519 if (NumBits < IntegerType::MIN_INT_BITS ||
1520 NumBits > IntegerType::MAX_INT_BITS)
1521 GenerateError("Bitwidth for integer type out of range!");
1522 const Type* Ty = IntegerType::get(NumBits);
1523 RET_TY(Ty, INTTYPE);
1524 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001525 YY_BREAK
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001526case 52:
1527YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001528#line 254 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001529{ RET_TOK(BinaryOpVal, Add, ADD); }
1530 YY_BREAK
Reid Spencer41dff5e2007-01-26 08:05:27 +00001531case 53:
1532YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001533#line 255 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001534{ RET_TOK(BinaryOpVal, Sub, SUB); }
Reid Spencer41dff5e2007-01-26 08:05:27 +00001535 YY_BREAK
Reid Spencer6f407902007-01-13 05:00:46 +00001536case 54:
1537YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001538#line 256 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001539{ RET_TOK(BinaryOpVal, Mul, MUL); }
Reid Spencer6f407902007-01-13 05:00:46 +00001540 YY_BREAK
Reid Spencer68a24bd2005-08-27 18:50:39 +00001541case 55:
1542YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001543#line 257 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001544{ RET_TOK(BinaryOpVal, UDiv, UDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001545 YY_BREAK
1546case 56:
1547YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001548#line 258 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001549{ RET_TOK(BinaryOpVal, SDiv, SDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001550 YY_BREAK
1551case 57:
1552YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001553#line 259 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001554{ RET_TOK(BinaryOpVal, FDiv, FDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001555 YY_BREAK
1556case 58:
1557YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001558#line 260 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001559{ RET_TOK(BinaryOpVal, URem, UREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001560 YY_BREAK
1561case 59:
1562YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001563#line 261 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001564{ RET_TOK(BinaryOpVal, SRem, SREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001565 YY_BREAK
1566case 60:
1567YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001568#line 262 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001569{ RET_TOK(BinaryOpVal, FRem, FREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001570 YY_BREAK
1571case 61:
1572YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001573#line 263 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001574{ RET_TOK(BinaryOpVal, Shl, SHL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001575 YY_BREAK
1576case 62:
1577YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001578#line 264 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001579{ RET_TOK(BinaryOpVal, LShr, LSHR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001580 YY_BREAK
1581case 63:
1582YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001583#line 265 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001584{ RET_TOK(BinaryOpVal, AShr, ASHR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001585 YY_BREAK
1586case 64:
1587YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001588#line 266 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001589{ RET_TOK(BinaryOpVal, And, AND); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001590 YY_BREAK
1591case 65:
1592YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001593#line 267 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001594{ RET_TOK(BinaryOpVal, Or , OR ); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001595 YY_BREAK
1596case 66:
1597YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001598#line 268 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001599{ RET_TOK(BinaryOpVal, Xor, XOR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001600 YY_BREAK
1601case 67:
1602YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001603#line 269 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001604{ RET_TOK(OtherOpVal, ICmp, ICMP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001605 YY_BREAK
1606case 68:
1607YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001608#line 270 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001609{ RET_TOK(OtherOpVal, FCmp, FCMP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001610 YY_BREAK
1611case 69:
1612YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001613#line 272 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001614{ return EQ; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001615 YY_BREAK
1616case 70:
1617YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001618#line 273 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001619{ return NE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001620 YY_BREAK
1621case 71:
1622YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001623#line 274 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001624{ return SLT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001625 YY_BREAK
1626case 72:
1627YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001628#line 275 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001629{ return SGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001630 YY_BREAK
1631case 73:
1632YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001633#line 276 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001634{ return SLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001635 YY_BREAK
1636case 74:
1637YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001638#line 277 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001639{ return SGE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001640 YY_BREAK
1641case 75:
1642YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001643#line 278 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001644{ return ULT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001645 YY_BREAK
1646case 76:
1647YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001648#line 279 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001649{ return UGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001650 YY_BREAK
1651case 77:
1652YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001653#line 280 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001654{ return ULE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001655 YY_BREAK
1656case 78:
1657YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001658#line 281 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001659{ return UGE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001660 YY_BREAK
1661case 79:
1662YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001663#line 282 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001664{ return OEQ; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001665 YY_BREAK
1666case 80:
1667YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001668#line 283 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001669{ return ONE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001670 YY_BREAK
1671case 81:
1672YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001673#line 284 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001674{ return OLT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001675 YY_BREAK
1676case 82:
1677YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001678#line 285 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001679{ return OGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001680 YY_BREAK
1681case 83:
1682YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001683#line 286 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001684{ return OLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001685 YY_BREAK
1686case 84:
1687YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001688#line 287 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001689{ return OGE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001690 YY_BREAK
1691case 85:
1692YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001693#line 288 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001694{ return ORD; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001695 YY_BREAK
1696case 86:
1697YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001698#line 289 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001699{ return UNO; }
Nate Begeman14b05292005-11-05 09:21:28 +00001700 YY_BREAK
1701case 87:
1702YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001703#line 290 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001704{ return UEQ; }
Chris Lattnere869eef2005-11-12 00:11:49 +00001705 YY_BREAK
1706case 88:
1707YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001708#line 291 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001709{ return UNE; }
Robert Bocchino9c62b562006-01-10 19:04:32 +00001710 YY_BREAK
1711case 89:
1712YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001713#line 293 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001714{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
Robert Bocchino2def1b32006-01-17 20:06:25 +00001715 YY_BREAK
1716case 90:
1717YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001718#line 294 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001719{ RET_TOK(OtherOpVal, Call, CALL); }
Chris Lattner8335e842006-01-23 23:05:42 +00001720 YY_BREAK
1721case 91:
1722YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001723#line 295 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001724{ RET_TOK(CastOpVal, Trunc, TRUNC); }
Chris Lattner66316012006-01-24 04:14:29 +00001725 YY_BREAK
1726case 92:
1727YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001728#line 296 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001729{ RET_TOK(CastOpVal, ZExt, ZEXT); }
Chris Lattner0e9c3762006-01-25 22:27:16 +00001730 YY_BREAK
1731case 93:
1732YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001733#line 297 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001734{ RET_TOK(CastOpVal, SExt, SEXT); }
Chris Lattnerd5efe842006-04-08 01:18:56 +00001735 YY_BREAK
1736case 94:
1737YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001738#line 298 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001739{ RET_TOK(CastOpVal, FPTrunc, FPTRUNC); }
Chris Lattner75466192006-05-19 21:28:53 +00001740 YY_BREAK
1741case 95:
1742YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001743#line 299 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001744{ RET_TOK(CastOpVal, FPExt, FPEXT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001745 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001746case 96:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001747YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001748#line 300 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001749{ RET_TOK(CastOpVal, UIToFP, UITOFP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001750 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001751case 97:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001752YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001753#line 301 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001754{ RET_TOK(CastOpVal, SIToFP, SITOFP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001755 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001756case 98:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001757YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001758#line 302 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001759{ RET_TOK(CastOpVal, FPToUI, FPTOUI); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001760 YY_BREAK
1761case 99:
1762YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001763#line 303 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001764{ RET_TOK(CastOpVal, FPToSI, FPTOSI); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001765 YY_BREAK
1766case 100:
1767YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001768#line 304 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001769{ RET_TOK(CastOpVal, IntToPtr, INTTOPTR); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001770 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001771case 101:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001772YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001773#line 305 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001774{ RET_TOK(CastOpVal, PtrToInt, PTRTOINT); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001775 YY_BREAK
1776case 102:
1777YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001778#line 306 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001779{ RET_TOK(CastOpVal, BitCast, BITCAST); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001780 YY_BREAK
1781case 103:
1782YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001783#line 307 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001784{ RET_TOK(OtherOpVal, Select, SELECT); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001785 YY_BREAK
1786case 104:
1787YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001788#line 308 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001789{ RET_TOK(OtherOpVal, VAArg , VAARG); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001790 YY_BREAK
1791case 105:
1792YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001793#line 309 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001794{ RET_TOK(TermOpVal, Ret, RET); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001795 YY_BREAK
1796case 106:
1797YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001798#line 310 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001799{ RET_TOK(TermOpVal, Br, BR); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001800 YY_BREAK
1801case 107:
1802YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001803#line 311 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001804{ RET_TOK(TermOpVal, Switch, SWITCH); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001805 YY_BREAK
1806case 108:
1807YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001808#line 312 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001809{ RET_TOK(TermOpVal, Invoke, INVOKE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001810 YY_BREAK
1811case 109:
1812YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001813#line 313 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001814{ RET_TOK(TermOpVal, Unwind, UNWIND); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001815 YY_BREAK
1816case 110:
1817YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001818#line 314 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001819{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001820 YY_BREAK
1821case 111:
1822YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001823#line 316 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001824{ RET_TOK(MemOpVal, Malloc, MALLOC); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001825 YY_BREAK
1826case 112:
1827YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001828#line 317 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001829{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001830 YY_BREAK
1831case 113:
1832YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001833#line 318 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001834{ RET_TOK(MemOpVal, Free, FREE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001835 YY_BREAK
1836case 114:
1837YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001838#line 319 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001839{ RET_TOK(MemOpVal, Load, LOAD); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001840 YY_BREAK
1841case 115:
1842YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001843#line 320 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001844{ RET_TOK(MemOpVal, Store, STORE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001845 YY_BREAK
1846case 116:
1847YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001848#line 321 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001849{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001850 YY_BREAK
1851case 117:
1852YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001853#line 323 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001854{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001855 YY_BREAK
1856case 118:
1857YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001858#line 324 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001859{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001860 YY_BREAK
Reid Spencer41dff5e2007-01-26 08:05:27 +00001861case 119:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001862YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001863#line 325 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001864{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
Reid Spencer67d8ed92007-03-22 02:14:08 +00001865 YY_BREAK
1866case 120:
1867YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001868#line 328 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001869{
Reid Spencer832254e2007-02-02 02:16:23 +00001870 UnEscapeLexed(yytext+1);
1871 llvmAsmlval.StrVal = strdup(yytext+1); // Skip %
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001872 return LOCALVAR;
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001873 }
1874 YY_BREAK
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001875case 121:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001876YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001877#line 333 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001878{
Reid Spencer832254e2007-02-02 02:16:23 +00001879 UnEscapeLexed(yytext+1);
1880 llvmAsmlval.StrVal = strdup(yytext+1); // Skip @
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001881 return GLOBALVAR;
Owen Anderson1dc69692006-10-18 02:21:48 +00001882 }
1883 YY_BREAK
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001884case 122:
Owen Anderson1dc69692006-10-18 02:21:48 +00001885YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001886#line 338 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001887{
Reid Spencer832254e2007-02-02 02:16:23 +00001888 yytext[strlen(yytext)-1] = 0; // nuke colon
1889 UnEscapeLexed(yytext);
1890 llvmAsmlval.StrVal = strdup(yytext);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001891 return LABELSTR;
1892 }
1893 YY_BREAK
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001894case 123:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001895YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001896#line 344 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001897{
Reid Spencer832254e2007-02-02 02:16:23 +00001898 yytext[strlen(yytext)-2] = 0; // nuke colon, end quote
1899 UnEscapeLexed(yytext+1);
1900 llvmAsmlval.StrVal = strdup(yytext+1);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001901 return LABELSTR;
1902 }
1903 YY_BREAK
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001904case 124:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001905YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001906#line 351 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001907{ // Note that we cannot unescape a string constant here! The
1908 // string constant might contain a \00 which would not be
1909 // understood by the string stuff. It is valid to make a
1910 // [sbyte] c"Hello World\00" constant, for example.
1911 //
Reid Spencer832254e2007-02-02 02:16:23 +00001912 yytext[strlen(yytext)-1] = 0; // nuke end quote
1913 llvmAsmlval.StrVal = strdup(yytext+1); // Nuke start quote
Reid Spencer68a24bd2005-08-27 18:50:39 +00001914 return STRINGCONSTANT;
1915 }
1916 YY_BREAK
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001917case 125:
Reid Spencer6f407902007-01-13 05:00:46 +00001918YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001919#line 360 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001920{
Reid Spencer832254e2007-02-02 02:16:23 +00001921 yytext[strlen(yytext)-1] = 0; // nuke end quote
1922 llvmAsmlval.StrVal = strdup(yytext+2); // Nuke @, quote
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001923 return ATSTRINGCONSTANT;
1924 }
1925 YY_BREAK
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001926case 126:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001927YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001928#line 366 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer38c91a92007-02-28 02:24:54 +00001929{ int len = strlen(yytext);
1930 uint32_t numBits = ((len * 64) / 19) + 1;
1931 APInt Tmp(numBits, yytext, len, 10);
1932 uint32_t activeBits = Tmp.getActiveBits();
1933 if (activeBits > 0 && activeBits < numBits)
1934 Tmp.trunc(activeBits);
1935 if (Tmp.getBitWidth() > 64) {
1936 llvmAsmlval.APIntVal = new APInt(Tmp);
1937 return EUAPINTVAL;
1938 } else {
1939 llvmAsmlval.UInt64Val = Tmp.getZExtValue();
1940 return EUINT64VAL;
1941 }
1942 }
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001943 YY_BREAK
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001944case 127:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001945YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001946#line 380 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer38c91a92007-02-28 02:24:54 +00001947{ int len = strlen(yytext);
Reid Spencerafc37822007-03-09 21:19:09 +00001948 uint32_t numBits = (((len-1) * 64) / 19) + 2;
Reid Spencer38c91a92007-02-28 02:24:54 +00001949 APInt Tmp(numBits, yytext, len, 10);
1950 uint32_t minBits = Tmp.getMinSignedBits();
1951 if (minBits > 0 && minBits < numBits)
1952 Tmp.trunc(minBits);
1953 if (Tmp.getBitWidth() > 64) {
1954 llvmAsmlval.APIntVal = new APInt(Tmp);
1955 return ESAPINTVAL;
1956 } else {
1957 llvmAsmlval.SInt64Val = Tmp.getSExtValue();
1958 return ESINT64VAL;
1959 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001960 }
1961 YY_BREAK
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001962case 128:
Reid Spencer6f407902007-01-13 05:00:46 +00001963YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001964#line 395 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer38c91a92007-02-28 02:24:54 +00001965{ int len = strlen(yytext+3) - 3;
1966 uint32_t bits = len * 4;
1967 APInt Tmp(bits, yytext+3, len, 16);
1968 uint32_t activeBits = Tmp.getActiveBits();
1969 if (activeBits > 0 && activeBits < bits)
1970 Tmp.trunc(activeBits);
1971 if (Tmp.getBitWidth() > 64) {
1972 llvmAsmlval.APIntVal = new APInt(Tmp);
1973 return yytext[0] == 's' ? ESAPINTVAL : EUAPINTVAL;
1974 } else if (yytext[0] == 's') {
1975 llvmAsmlval.SInt64Val = Tmp.getSExtValue();
1976 return ESINT64VAL;
1977 } else {
1978 llvmAsmlval.UInt64Val = Tmp.getZExtValue();
1979 return EUINT64VAL;
1980 }
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001981 }
Reid Spencer6f407902007-01-13 05:00:46 +00001982 YY_BREAK
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001983case 129:
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001984YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001985#line 413 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001986{
Reid Spencer832254e2007-02-02 02:16:23 +00001987 uint64_t Val = atoull(yytext+1);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001988 if ((unsigned)Val != Val)
1989 GenerateError("Invalid value number (too large)!");
1990 llvmAsmlval.UIntVal = unsigned(Val);
1991 return LOCALVAL_ID;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001992 }
1993 YY_BREAK
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001994case 130:
Owen Anderson1dc69692006-10-18 02:21:48 +00001995YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00001996#line 420 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001997{
Reid Spencer832254e2007-02-02 02:16:23 +00001998 uint64_t Val = atoull(yytext+1);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001999 if ((unsigned)Val != Val)
2000 GenerateError("Invalid value number (too large)!");
2001 llvmAsmlval.UIntVal = unsigned(Val);
2002 return GLOBALVAL_ID;
2003 }
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002004 YY_BREAK
Reid Spencer3d6b71e2007-04-09 01:56:05 +00002005case 131:
Reid Spencer6f407902007-01-13 05:00:46 +00002006YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00002007#line 428 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer832254e2007-02-02 02:16:23 +00002008{ llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
Reid Spencer6f407902007-01-13 05:00:46 +00002009 YY_BREAK
Reid Spencer3d6b71e2007-04-09 01:56:05 +00002010case 132:
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002011YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00002012#line 429 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer832254e2007-02-02 02:16:23 +00002013{ llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002014 YY_BREAK
2015case YY_STATE_EOF(INITIAL):
Reid Spencer7b5d4662007-04-09 06:16:21 +00002016#line 431 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002017{
2018 /* Make sure to free the internal buffers for flex when we are
2019 * done reading our input!
2020 */
Reid Spencer832254e2007-02-02 02:16:23 +00002021 yy_delete_buffer(YY_CURRENT_BUFFER);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002022 return EOF;
2023 }
2024 YY_BREAK
Reid Spencer3d6b71e2007-04-09 01:56:05 +00002025case 133:
2026YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00002027#line 439 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00002028{ /* Ignore whitespace */ }
2029 YY_BREAK
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002030case 134:
2031YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00002032#line 440 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3d6b71e2007-04-09 01:56:05 +00002033{ return yytext[0]; }
Reid Spencer67d8ed92007-03-22 02:14:08 +00002034 YY_BREAK
2035case 135:
2036YY_RULE_SETUP
Reid Spencer7b5d4662007-04-09 06:16:21 +00002037#line 442 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002038YY_FATAL_ERROR( "flex scanner jammed" );
2039 YY_BREAK
Reid Spencer3d6b71e2007-04-09 01:56:05 +00002040#line 2041 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002041
2042 case YY_END_OF_BUFFER:
2043 {
2044 /* Amount of text matched not including the EOB char. */
Reid Spencer832254e2007-02-02 02:16:23 +00002045 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002046
2047 /* Undo the effects of YY_DO_BEFORE_ACTION. */
Reid Spencer832254e2007-02-02 02:16:23 +00002048 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002049 YY_RESTORE_YY_MORE_OFFSET
2050
Reid Spencer832254e2007-02-02 02:16:23 +00002051 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002052 {
2053 /* We're scanning a new file or input source. It's
2054 * possible that this happened because the user
Reid Spencer832254e2007-02-02 02:16:23 +00002055 * just pointed yyin at a new source and called
2056 * yylex(). If so, then we have to assure
2057 * consistency between yy_current_buffer and our
Reid Spencer68a24bd2005-08-27 18:50:39 +00002058 * globals. Here is the right place to do so, because
2059 * this is the first action (other than possibly a
2060 * back-up) that will match for the new input source.
2061 */
Reid Spencer832254e2007-02-02 02:16:23 +00002062 yy_n_chars = yy_current_buffer->yy_n_chars;
2063 yy_current_buffer->yy_input_file = yyin;
2064 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002065 }
2066
2067 /* Note that here we test for yy_c_buf_p "<=" to the position
2068 * of the first EOB in the buffer, since yy_c_buf_p will
2069 * already have been incremented past the NUL character
2070 * (since all states make transitions on EOB to the
2071 * end-of-buffer state). Contrast this with the test
2072 * in input().
2073 */
Reid Spencer832254e2007-02-02 02:16:23 +00002074 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002075 { /* This was really a NUL. */
2076 yy_state_type yy_next_state;
2077
Reid Spencer832254e2007-02-02 02:16:23 +00002078 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002079
Reid Spencer832254e2007-02-02 02:16:23 +00002080 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002081
2082 /* Okay, we're now positioned to make the NUL
2083 * transition. We couldn't have
2084 * yy_get_previous_state() go ahead and do it
2085 * for us because it doesn't know how to deal
2086 * with the possibility of jamming (and we don't
2087 * want to build jamming into it because then it
2088 * will run more slowly).
2089 */
2090
2091 yy_next_state = yy_try_NUL_trans( yy_current_state );
2092
Reid Spencer832254e2007-02-02 02:16:23 +00002093 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002094
2095 if ( yy_next_state )
2096 {
2097 /* Consume the NUL. */
Reid Spencer832254e2007-02-02 02:16:23 +00002098 yy_cp = ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002099 yy_current_state = yy_next_state;
2100 goto yy_match;
2101 }
2102
2103 else
2104 {
Reid Spencer832254e2007-02-02 02:16:23 +00002105 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002106 goto yy_find_action;
2107 }
2108 }
2109
Reid Spencer832254e2007-02-02 02:16:23 +00002110 else switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002111 {
2112 case EOB_ACT_END_OF_FILE:
2113 {
Reid Spencer832254e2007-02-02 02:16:23 +00002114 yy_did_buffer_switch_on_eof = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002115
Reid Spencer832254e2007-02-02 02:16:23 +00002116 if ( yywrap() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002117 {
2118 /* Note: because we've taken care in
2119 * yy_get_next_buffer() to have set up
Reid Spencer832254e2007-02-02 02:16:23 +00002120 * yytext, we can now set up
Reid Spencer68a24bd2005-08-27 18:50:39 +00002121 * yy_c_buf_p so that if some total
2122 * hoser (like flex itself) wants to
2123 * call the scanner after we return the
2124 * YY_NULL, it'll still work - another
2125 * YY_NULL will get returned.
2126 */
Reid Spencer832254e2007-02-02 02:16:23 +00002127 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002128
2129 yy_act = YY_STATE_EOF(YY_START);
2130 goto do_action;
2131 }
2132
2133 else
2134 {
Reid Spencer832254e2007-02-02 02:16:23 +00002135 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002136 YY_NEW_FILE;
2137 }
2138 break;
2139 }
2140
2141 case EOB_ACT_CONTINUE_SCAN:
Reid Spencer832254e2007-02-02 02:16:23 +00002142 yy_c_buf_p =
2143 yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002144
Reid Spencer832254e2007-02-02 02:16:23 +00002145 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002146
Reid Spencer832254e2007-02-02 02:16:23 +00002147 yy_cp = yy_c_buf_p;
2148 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002149 goto yy_match;
2150
2151 case EOB_ACT_LAST_MATCH:
Reid Spencer832254e2007-02-02 02:16:23 +00002152 yy_c_buf_p =
2153 &yy_current_buffer->yy_ch_buf[yy_n_chars];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002154
Reid Spencer832254e2007-02-02 02:16:23 +00002155 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002156
Reid Spencer832254e2007-02-02 02:16:23 +00002157 yy_cp = yy_c_buf_p;
2158 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002159 goto yy_find_action;
2160 }
2161 break;
2162 }
2163
2164 default:
2165 YY_FATAL_ERROR(
2166 "fatal flex scanner internal error--no action found" );
2167 } /* end of action switch */
2168 } /* end of scanning one token */
Reid Spencer832254e2007-02-02 02:16:23 +00002169 } /* end of yylex */
2170
Reid Spencer68a24bd2005-08-27 18:50:39 +00002171
2172/* yy_get_next_buffer - try to read in a new buffer
2173 *
2174 * Returns a code representing an action:
2175 * EOB_ACT_LAST_MATCH -
2176 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2177 * EOB_ACT_END_OF_FILE - end of file
2178 */
Reid Spencer832254e2007-02-02 02:16:23 +00002179
2180static int yy_get_next_buffer()
2181 {
2182 register char *dest = yy_current_buffer->yy_ch_buf;
2183 register char *source = yytext_ptr;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002184 register int number_to_move, i;
2185 int ret_val;
2186
Reid Spencer832254e2007-02-02 02:16:23 +00002187 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002188 YY_FATAL_ERROR(
2189 "fatal flex scanner internal error--end of buffer missed" );
2190
Reid Spencer832254e2007-02-02 02:16:23 +00002191 if ( yy_current_buffer->yy_fill_buffer == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002192 { /* Don't try to fill the buffer, so this is an EOF. */
Reid Spencer832254e2007-02-02 02:16:23 +00002193 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002194 {
2195 /* We matched a single character, the EOB, so
2196 * treat this as a final EOF.
2197 */
2198 return EOB_ACT_END_OF_FILE;
2199 }
2200
2201 else
2202 {
2203 /* We matched some text prior to the EOB, first
2204 * process it.
2205 */
2206 return EOB_ACT_LAST_MATCH;
2207 }
2208 }
2209
2210 /* Try to read more data. */
2211
2212 /* First move last chars to start of buffer. */
Reid Spencer832254e2007-02-02 02:16:23 +00002213 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002214
2215 for ( i = 0; i < number_to_move; ++i )
2216 *(dest++) = *(source++);
2217
Reid Spencer832254e2007-02-02 02:16:23 +00002218 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002219 /* don't do the read, it's not guaranteed to return an EOF,
2220 * just force an EOF
2221 */
Reid Spencer832254e2007-02-02 02:16:23 +00002222 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002223
2224 else
2225 {
Reid Spencer832254e2007-02-02 02:16:23 +00002226 int num_to_read =
2227 yy_current_buffer->yy_buf_size - number_to_move - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002228
2229 while ( num_to_read <= 0 )
2230 { /* Not enough room in the buffer - grow it. */
Reid Spencer832254e2007-02-02 02:16:23 +00002231#ifdef YY_USES_REJECT
2232 YY_FATAL_ERROR(
2233"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
2234#else
Reid Spencer68a24bd2005-08-27 18:50:39 +00002235
2236 /* just a shorter name for the current buffer */
Reid Spencer832254e2007-02-02 02:16:23 +00002237 YY_BUFFER_STATE b = yy_current_buffer;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002238
2239 int yy_c_buf_p_offset =
Reid Spencer832254e2007-02-02 02:16:23 +00002240 (int) (yy_c_buf_p - b->yy_ch_buf);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002241
2242 if ( b->yy_is_our_buffer )
2243 {
2244 int new_size = b->yy_buf_size * 2;
2245
2246 if ( new_size <= 0 )
2247 b->yy_buf_size += b->yy_buf_size / 8;
2248 else
2249 b->yy_buf_size *= 2;
2250
2251 b->yy_ch_buf = (char *)
2252 /* Include room in for 2 EOB chars. */
Reid Spencer832254e2007-02-02 02:16:23 +00002253 yy_flex_realloc( (void *) b->yy_ch_buf,
2254 b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002255 }
2256 else
2257 /* Can't grow it, we don't own it. */
2258 b->yy_ch_buf = 0;
2259
2260 if ( ! b->yy_ch_buf )
2261 YY_FATAL_ERROR(
2262 "fatal error - scanner input buffer overflow" );
2263
Reid Spencer832254e2007-02-02 02:16:23 +00002264 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002265
Reid Spencer832254e2007-02-02 02:16:23 +00002266 num_to_read = yy_current_buffer->yy_buf_size -
Reid Spencer68a24bd2005-08-27 18:50:39 +00002267 number_to_move - 1;
Reid Spencer832254e2007-02-02 02:16:23 +00002268#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002269 }
2270
2271 if ( num_to_read > YY_READ_BUF_SIZE )
2272 num_to_read = YY_READ_BUF_SIZE;
2273
2274 /* Read in more data. */
Reid Spencer832254e2007-02-02 02:16:23 +00002275 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
2276 yy_n_chars, num_to_read );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002277
Reid Spencer832254e2007-02-02 02:16:23 +00002278 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002279 }
2280
Reid Spencer832254e2007-02-02 02:16:23 +00002281 if ( yy_n_chars == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002282 {
2283 if ( number_to_move == YY_MORE_ADJ )
2284 {
2285 ret_val = EOB_ACT_END_OF_FILE;
Reid Spencer832254e2007-02-02 02:16:23 +00002286 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002287 }
2288
2289 else
2290 {
2291 ret_val = EOB_ACT_LAST_MATCH;
Reid Spencer832254e2007-02-02 02:16:23 +00002292 yy_current_buffer->yy_buffer_status =
Reid Spencer68a24bd2005-08-27 18:50:39 +00002293 YY_BUFFER_EOF_PENDING;
2294 }
2295 }
2296
2297 else
2298 ret_val = EOB_ACT_CONTINUE_SCAN;
2299
Reid Spencer832254e2007-02-02 02:16:23 +00002300 yy_n_chars += number_to_move;
2301 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2302 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002303
Reid Spencer832254e2007-02-02 02:16:23 +00002304 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002305
2306 return ret_val;
Reid Spencer832254e2007-02-02 02:16:23 +00002307 }
2308
Reid Spencer68a24bd2005-08-27 18:50:39 +00002309
2310/* yy_get_previous_state - get the state just before the EOB char was reached */
2311
Reid Spencer832254e2007-02-02 02:16:23 +00002312static yy_state_type yy_get_previous_state()
2313 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002314 register yy_state_type yy_current_state;
2315 register char *yy_cp;
2316
Reid Spencer832254e2007-02-02 02:16:23 +00002317 yy_current_state = yy_start;
2318 yy_state_ptr = yy_state_buf;
2319 *yy_state_ptr++ = yy_current_state;
2320
2321 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002322 {
2323 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2324 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2325 {
2326 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencer3d6b71e2007-04-09 01:56:05 +00002327 if ( yy_current_state >= 539 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002328 yy_c = yy_meta[(unsigned int) yy_c];
2329 }
2330 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencer832254e2007-02-02 02:16:23 +00002331 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002332 }
2333
2334 return yy_current_state;
Reid Spencer832254e2007-02-02 02:16:23 +00002335 }
2336
Reid Spencer68a24bd2005-08-27 18:50:39 +00002337
2338/* yy_try_NUL_trans - try to make a transition on the NUL character
2339 *
2340 * synopsis
2341 * next_state = yy_try_NUL_trans( current_state );
2342 */
Reid Spencer832254e2007-02-02 02:16:23 +00002343
2344#ifdef YY_USE_PROTOS
2345static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
2346#else
2347static yy_state_type yy_try_NUL_trans( yy_current_state )
2348yy_state_type yy_current_state;
2349#endif
2350 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002351 register int yy_is_jam;
2352
2353 register YY_CHAR yy_c = 1;
2354 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2355 {
2356 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencer3d6b71e2007-04-09 01:56:05 +00002357 if ( yy_current_state >= 539 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002358 yy_c = yy_meta[(unsigned int) yy_c];
2359 }
2360 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencer3d6b71e2007-04-09 01:56:05 +00002361 yy_is_jam = (yy_current_state == 538);
Reid Spencer832254e2007-02-02 02:16:23 +00002362 if ( ! yy_is_jam )
2363 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002364
2365 return yy_is_jam ? 0 : yy_current_state;
Reid Spencer832254e2007-02-02 02:16:23 +00002366 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002367
2368
Reid Spencer832254e2007-02-02 02:16:23 +00002369#ifndef YY_NO_UNPUT
2370#ifdef YY_USE_PROTOS
2371static inline void yyunput( int c, register char *yy_bp )
2372#else
2373static inline void yyunput( c, yy_bp )
2374int c;
2375register char *yy_bp;
2376#endif
2377 {
2378 register char *yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002379
Reid Spencer832254e2007-02-02 02:16:23 +00002380 /* undo effects of setting up yytext */
2381 *yy_cp = yy_hold_char;
2382
2383 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002384 { /* need to shift things up to make room */
2385 /* +2 for EOB chars. */
Reid Spencer832254e2007-02-02 02:16:23 +00002386 register int number_to_move = yy_n_chars + 2;
2387 register char *dest = &yy_current_buffer->yy_ch_buf[
2388 yy_current_buffer->yy_buf_size + 2];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002389 register char *source =
Reid Spencer832254e2007-02-02 02:16:23 +00002390 &yy_current_buffer->yy_ch_buf[number_to_move];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002391
Reid Spencer832254e2007-02-02 02:16:23 +00002392 while ( source > yy_current_buffer->yy_ch_buf )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002393 *--dest = *--source;
2394
2395 yy_cp += (int) (dest - source);
2396 yy_bp += (int) (dest - source);
Reid Spencer832254e2007-02-02 02:16:23 +00002397 yy_current_buffer->yy_n_chars =
2398 yy_n_chars = yy_current_buffer->yy_buf_size;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002399
Reid Spencer832254e2007-02-02 02:16:23 +00002400 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002401 YY_FATAL_ERROR( "flex scanner push-back overflow" );
2402 }
2403
2404 *--yy_cp = (char) c;
2405
Reid Spencer832254e2007-02-02 02:16:23 +00002406 if ( c == '\n' )
2407 --yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002408
Reid Spencer832254e2007-02-02 02:16:23 +00002409 yytext_ptr = yy_bp;
2410 yy_hold_char = *yy_cp;
2411 yy_c_buf_p = yy_cp;
2412 }
2413#endif /* ifndef YY_NO_UNPUT */
2414
Reid Spencer6f407902007-01-13 05:00:46 +00002415
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002416#ifndef YY_NO_INPUT
Reid Spencer68a24bd2005-08-27 18:50:39 +00002417#ifdef __cplusplus
Reid Spencer832254e2007-02-02 02:16:23 +00002418static int yyinput()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002419#else
Reid Spencer832254e2007-02-02 02:16:23 +00002420static int input()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002421#endif
Reid Spencer832254e2007-02-02 02:16:23 +00002422 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002423 int c;
2424
Reid Spencer832254e2007-02-02 02:16:23 +00002425 *yy_c_buf_p = yy_hold_char;
2426
2427 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002428 {
2429 /* yy_c_buf_p now points to the character we want to return.
2430 * If this occurs *before* the EOB characters, then it's a
2431 * valid NUL; if not, then we've hit the end of the buffer.
2432 */
Reid Spencer832254e2007-02-02 02:16:23 +00002433 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002434 /* This was really a NUL. */
Reid Spencer832254e2007-02-02 02:16:23 +00002435 *yy_c_buf_p = '\0';
Reid Spencer68a24bd2005-08-27 18:50:39 +00002436
2437 else
2438 { /* need more input */
Reid Spencer832254e2007-02-02 02:16:23 +00002439 int offset = yy_c_buf_p - yytext_ptr;
2440 ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002441
Reid Spencer832254e2007-02-02 02:16:23 +00002442 switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002443 {
2444 case EOB_ACT_LAST_MATCH:
2445 /* This happens because yy_g_n_b()
2446 * sees that we've accumulated a
2447 * token and flags that we need to
2448 * try matching the token before
2449 * proceeding. But for input(),
2450 * there's no matching to consider.
2451 * So convert the EOB_ACT_LAST_MATCH
2452 * to EOB_ACT_END_OF_FILE.
2453 */
2454
2455 /* Reset buffer status. */
Reid Spencer832254e2007-02-02 02:16:23 +00002456 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002457
Reid Spencer832254e2007-02-02 02:16:23 +00002458 /* fall through */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002459
2460 case EOB_ACT_END_OF_FILE:
2461 {
Reid Spencer832254e2007-02-02 02:16:23 +00002462 if ( yywrap() )
Reid Spencer61c83e02006-08-18 08:43:06 +00002463 return EOF;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002464
Reid Spencer832254e2007-02-02 02:16:23 +00002465 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002466 YY_NEW_FILE;
2467#ifdef __cplusplus
2468 return yyinput();
2469#else
2470 return input();
2471#endif
2472 }
2473
2474 case EOB_ACT_CONTINUE_SCAN:
Reid Spencer832254e2007-02-02 02:16:23 +00002475 yy_c_buf_p = yytext_ptr + offset;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002476 break;
2477 }
2478 }
2479 }
2480
Reid Spencer832254e2007-02-02 02:16:23 +00002481 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
2482 *yy_c_buf_p = '\0'; /* preserve yytext */
2483 yy_hold_char = *++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002484
2485 if ( c == '\n' )
Reid Spencer832254e2007-02-02 02:16:23 +00002486 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002487
2488 return c;
Reid Spencer832254e2007-02-02 02:16:23 +00002489 }
2490#endif /* YY_NO_INPUT */
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002491
Reid Spencer832254e2007-02-02 02:16:23 +00002492#ifdef YY_USE_PROTOS
2493void yyrestart( FILE *input_file )
2494#else
2495void yyrestart( input_file )
2496FILE *input_file;
2497#endif
2498 {
2499 if ( ! yy_current_buffer )
2500 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
2501
2502 yy_init_buffer( yy_current_buffer, input_file );
2503 yy_load_buffer_state();
Reid Spencer6f407902007-01-13 05:00:46 +00002504 }
Reid Spencer41dff5e2007-01-26 08:05:27 +00002505
Reid Spencer68a24bd2005-08-27 18:50:39 +00002506
Reid Spencer832254e2007-02-02 02:16:23 +00002507#ifdef YY_USE_PROTOS
2508void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
2509#else
2510void yy_switch_to_buffer( new_buffer )
2511YY_BUFFER_STATE new_buffer;
2512#endif
2513 {
2514 if ( yy_current_buffer == new_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002515 return;
2516
Reid Spencer832254e2007-02-02 02:16:23 +00002517 if ( yy_current_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002518 {
2519 /* Flush out information for old buffer. */
Reid Spencer832254e2007-02-02 02:16:23 +00002520 *yy_c_buf_p = yy_hold_char;
2521 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
2522 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002523 }
2524
Reid Spencer832254e2007-02-02 02:16:23 +00002525 yy_current_buffer = new_buffer;
2526 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002527
2528 /* We don't actually know whether we did this switch during
Reid Spencer832254e2007-02-02 02:16:23 +00002529 * EOF (yywrap()) processing, but the only time this flag
2530 * is looked at is after yywrap() is called, so it's safe
Reid Spencer68a24bd2005-08-27 18:50:39 +00002531 * to go ahead and always set it.
2532 */
Reid Spencer832254e2007-02-02 02:16:23 +00002533 yy_did_buffer_switch_on_eof = 1;
2534 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002535
2536
Reid Spencer832254e2007-02-02 02:16:23 +00002537#ifdef YY_USE_PROTOS
2538void yy_load_buffer_state( void )
2539#else
2540void yy_load_buffer_state()
2541#endif
2542 {
2543 yy_n_chars = yy_current_buffer->yy_n_chars;
2544 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
2545 yyin = yy_current_buffer->yy_input_file;
2546 yy_hold_char = *yy_c_buf_p;
2547 }
2548
2549
2550#ifdef YY_USE_PROTOS
2551YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
2552#else
2553YY_BUFFER_STATE yy_create_buffer( file, size )
2554FILE *file;
2555int size;
2556#endif
2557 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002558 YY_BUFFER_STATE b;
Reid Spencer832254e2007-02-02 02:16:23 +00002559
2560 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002561 if ( ! b )
Reid Spencer832254e2007-02-02 02:16:23 +00002562 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002563
2564 b->yy_buf_size = size;
2565
2566 /* yy_ch_buf has to be 2 characters longer than the size given because
2567 * we need to put in 2 end-of-buffer characters.
2568 */
Reid Spencer832254e2007-02-02 02:16:23 +00002569 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002570 if ( ! b->yy_ch_buf )
Reid Spencer832254e2007-02-02 02:16:23 +00002571 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002572
2573 b->yy_is_our_buffer = 1;
2574
Reid Spencer832254e2007-02-02 02:16:23 +00002575 yy_init_buffer( b, file );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002576
2577 return b;
Reid Spencer832254e2007-02-02 02:16:23 +00002578 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002579
Reid Spencer832254e2007-02-02 02:16:23 +00002580
2581#ifdef YY_USE_PROTOS
2582void yy_delete_buffer( YY_BUFFER_STATE b )
2583#else
2584void yy_delete_buffer( b )
2585YY_BUFFER_STATE b;
2586#endif
2587 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002588 if ( ! b )
2589 return;
2590
Reid Spencer832254e2007-02-02 02:16:23 +00002591 if ( b == yy_current_buffer )
2592 yy_current_buffer = (YY_BUFFER_STATE) 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002593
2594 if ( b->yy_is_our_buffer )
Reid Spencer832254e2007-02-02 02:16:23 +00002595 yy_flex_free( (void *) b->yy_ch_buf );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002596
Reid Spencer832254e2007-02-02 02:16:23 +00002597 yy_flex_free( (void *) b );
2598 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002599
2600
Reid Spencer832254e2007-02-02 02:16:23 +00002601
2602#ifdef YY_USE_PROTOS
2603void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
2604#else
2605void yy_init_buffer( b, file )
2606YY_BUFFER_STATE b;
2607FILE *file;
2608#endif
2609
2610
2611 {
2612 yy_flush_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002613
2614 b->yy_input_file = file;
2615 b->yy_fill_buffer = 1;
2616
Reid Spencer832254e2007-02-02 02:16:23 +00002617#if YY_ALWAYS_INTERACTIVE
2618 b->yy_is_interactive = 1;
2619#else
2620#if YY_NEVER_INTERACTIVE
2621 b->yy_is_interactive = 0;
2622#else
2623 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
2624#endif
2625#endif
2626 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002627
2628
Reid Spencer832254e2007-02-02 02:16:23 +00002629#ifdef YY_USE_PROTOS
2630void yy_flush_buffer( YY_BUFFER_STATE b )
2631#else
2632void yy_flush_buffer( b )
2633YY_BUFFER_STATE b;
2634#endif
2635
2636 {
2637 if ( ! b )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002638 return;
2639
2640 b->yy_n_chars = 0;
2641
2642 /* We always need two end-of-buffer characters. The first causes
2643 * a transition to the end-of-buffer state. The second causes
2644 * a jam in that state.
2645 */
2646 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2647 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2648
2649 b->yy_buf_pos = &b->yy_ch_buf[0];
2650
2651 b->yy_at_bol = 1;
2652 b->yy_buffer_status = YY_BUFFER_NEW;
2653
Reid Spencer832254e2007-02-02 02:16:23 +00002654 if ( b == yy_current_buffer )
2655 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002656 }
2657
2658
Reid Spencer832254e2007-02-02 02:16:23 +00002659#ifndef YY_NO_SCAN_BUFFER
2660#ifdef YY_USE_PROTOS
2661YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
2662#else
2663YY_BUFFER_STATE yy_scan_buffer( base, size )
2664char *base;
2665yy_size_t size;
2666#endif
2667 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002668 YY_BUFFER_STATE b;
Reid Spencer832254e2007-02-02 02:16:23 +00002669
Reid Spencer68a24bd2005-08-27 18:50:39 +00002670 if ( size < 2 ||
2671 base[size-2] != YY_END_OF_BUFFER_CHAR ||
2672 base[size-1] != YY_END_OF_BUFFER_CHAR )
2673 /* They forgot to leave room for the EOB's. */
2674 return 0;
2675
Reid Spencer832254e2007-02-02 02:16:23 +00002676 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002677 if ( ! b )
Reid Spencer832254e2007-02-02 02:16:23 +00002678 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002679
2680 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2681 b->yy_buf_pos = b->yy_ch_buf = base;
2682 b->yy_is_our_buffer = 0;
2683 b->yy_input_file = 0;
2684 b->yy_n_chars = b->yy_buf_size;
2685 b->yy_is_interactive = 0;
2686 b->yy_at_bol = 1;
2687 b->yy_fill_buffer = 0;
2688 b->yy_buffer_status = YY_BUFFER_NEW;
2689
Reid Spencer832254e2007-02-02 02:16:23 +00002690 yy_switch_to_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002691
2692 return b;
Reid Spencer832254e2007-02-02 02:16:23 +00002693 }
2694#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002695
2696
Reid Spencer832254e2007-02-02 02:16:23 +00002697#ifndef YY_NO_SCAN_STRING
2698#ifdef YY_USE_PROTOS
2699YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
2700#else
2701YY_BUFFER_STATE yy_scan_string( yy_str )
2702yyconst char *yy_str;
2703#endif
2704 {
2705 int len;
2706 for ( len = 0; yy_str[len]; ++len )
2707 ;
2708
2709 return yy_scan_bytes( yy_str, len );
2710 }
2711#endif
2712
2713
2714#ifndef YY_NO_SCAN_BYTES
2715#ifdef YY_USE_PROTOS
2716YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
2717#else
2718YY_BUFFER_STATE yy_scan_bytes( bytes, len )
2719yyconst char *bytes;
2720int len;
2721#endif
2722 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002723 YY_BUFFER_STATE b;
2724 char *buf;
2725 yy_size_t n;
2726 int i;
Reid Spencer832254e2007-02-02 02:16:23 +00002727
Reid Spencer68a24bd2005-08-27 18:50:39 +00002728 /* Get memory for full buffer, including space for trailing EOB's. */
Reid Spencer832254e2007-02-02 02:16:23 +00002729 n = len + 2;
2730 buf = (char *) yy_flex_alloc( n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002731 if ( ! buf )
Reid Spencer832254e2007-02-02 02:16:23 +00002732 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002733
Reid Spencer832254e2007-02-02 02:16:23 +00002734 for ( i = 0; i < len; ++i )
2735 buf[i] = bytes[i];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002736
Reid Spencer832254e2007-02-02 02:16:23 +00002737 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002738
Reid Spencer832254e2007-02-02 02:16:23 +00002739 b = yy_scan_buffer( buf, n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002740 if ( ! b )
Reid Spencer832254e2007-02-02 02:16:23 +00002741 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002742
2743 /* It's okay to grow etc. this buffer, and we should throw it
2744 * away when we're done.
2745 */
2746 b->yy_is_our_buffer = 1;
2747
2748 return b;
Reid Spencer832254e2007-02-02 02:16:23 +00002749 }
2750#endif
2751
2752
2753#ifndef YY_NO_PUSH_STATE
2754#ifdef YY_USE_PROTOS
2755static void yy_push_state( int new_state )
2756#else
2757static void yy_push_state( new_state )
2758int new_state;
2759#endif
2760 {
2761 if ( yy_start_stack_ptr >= yy_start_stack_depth )
2762 {
2763 yy_size_t new_size;
2764
2765 yy_start_stack_depth += YY_START_STACK_INCR;
2766 new_size = yy_start_stack_depth * sizeof( int );
2767
2768 if ( ! yy_start_stack )
2769 yy_start_stack = (int *) yy_flex_alloc( new_size );
2770
2771 else
2772 yy_start_stack = (int *) yy_flex_realloc(
2773 (void *) yy_start_stack, new_size );
2774
2775 if ( ! yy_start_stack )
2776 YY_FATAL_ERROR(
2777 "out of memory expanding start-condition stack" );
2778 }
2779
2780 yy_start_stack[yy_start_stack_ptr++] = YY_START;
2781
2782 BEGIN(new_state);
2783 }
2784#endif
2785
2786
2787#ifndef YY_NO_POP_STATE
2788static void yy_pop_state()
2789 {
2790 if ( --yy_start_stack_ptr < 0 )
2791 YY_FATAL_ERROR( "start-condition stack underflow" );
2792
2793 BEGIN(yy_start_stack[yy_start_stack_ptr]);
2794 }
2795#endif
2796
2797
2798#ifndef YY_NO_TOP_STATE
2799static int yy_top_state()
2800 {
2801 return yy_start_stack[yy_start_stack_ptr - 1];
2802 }
2803#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002804
2805#ifndef YY_EXIT_FAILURE
2806#define YY_EXIT_FAILURE 2
2807#endif
2808
Reid Spencer832254e2007-02-02 02:16:23 +00002809#ifdef YY_USE_PROTOS
2810static void yy_fatal_error( yyconst char msg[] )
2811#else
2812static void yy_fatal_error( msg )
2813char msg[];
2814#endif
2815 {
2816 (void) fprintf( stderr, "%s\n", msg );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002817 exit( YY_EXIT_FAILURE );
Reid Spencer832254e2007-02-02 02:16:23 +00002818 }
2819
2820
Reid Spencer68a24bd2005-08-27 18:50:39 +00002821
2822/* Redefine yyless() so it works in section 3 code. */
2823
2824#undef yyless
2825#define yyless(n) \
2826 do \
2827 { \
Reid Spencer832254e2007-02-02 02:16:23 +00002828 /* Undo effects of setting up yytext. */ \
2829 yytext[yyleng] = yy_hold_char; \
2830 yy_c_buf_p = yytext + n; \
2831 yy_hold_char = *yy_c_buf_p; \
2832 *yy_c_buf_p = '\0'; \
2833 yyleng = n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00002834 } \
2835 while ( 0 )
2836
2837
Reid Spencer832254e2007-02-02 02:16:23 +00002838/* Internal utility routines. */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002839
2840#ifndef yytext_ptr
Reid Spencer832254e2007-02-02 02:16:23 +00002841#ifdef YY_USE_PROTOS
2842static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
2843#else
2844static void yy_flex_strncpy( s1, s2, n )
2845char *s1;
2846yyconst char *s2;
2847int n;
2848#endif
2849 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002850 register int i;
2851 for ( i = 0; i < n; ++i )
2852 s1[i] = s2[i];
Reid Spencer832254e2007-02-02 02:16:23 +00002853 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002854#endif
2855
2856#ifdef YY_NEED_STRLEN
Reid Spencer832254e2007-02-02 02:16:23 +00002857#ifdef YY_USE_PROTOS
2858static int yy_flex_strlen( yyconst char *s )
2859#else
2860static int yy_flex_strlen( s )
2861yyconst char *s;
2862#endif
2863 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002864 register int n;
2865 for ( n = 0; s[n]; ++n )
2866 ;
2867
2868 return n;
Reid Spencer832254e2007-02-02 02:16:23 +00002869 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002870#endif
2871
Reid Spencer6f407902007-01-13 05:00:46 +00002872
Reid Spencer832254e2007-02-02 02:16:23 +00002873#ifdef YY_USE_PROTOS
2874static void *yy_flex_alloc( yy_size_t size )
2875#else
2876static void *yy_flex_alloc( size )
2877yy_size_t size;
2878#endif
2879 {
2880 return (void *) malloc( size );
2881 }
2882
2883#ifdef YY_USE_PROTOS
2884static inline void *yy_flex_realloc( void *ptr, yy_size_t size )
2885#else
2886static inline void *yy_flex_realloc( ptr, size )
2887void *ptr;
2888yy_size_t size;
2889#endif
2890 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002891 /* The cast to (char *) in the following accommodates both
2892 * implementations that use char* generic pointers, and those
2893 * that use void* generic pointers. It works with the latter
2894 * because both ANSI C and C++ allow castless assignment from
2895 * any pointer type to void*, and deal with argument conversions
2896 * as though doing an assignment.
2897 */
2898 return (void *) realloc( (char *) ptr, size );
Reid Spencer832254e2007-02-02 02:16:23 +00002899 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002900
Reid Spencer832254e2007-02-02 02:16:23 +00002901#ifdef YY_USE_PROTOS
2902static void yy_flex_free( void *ptr )
2903#else
2904static void yy_flex_free( ptr )
2905void *ptr;
2906#endif
2907 {
2908 free( ptr );
2909 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002910
Reid Spencer832254e2007-02-02 02:16:23 +00002911#if YY_MAIN
2912int main()
2913 {
2914 yylex();
2915 return 0;
2916 }
2917#endif
Reid Spencer7b5d4662007-04-09 06:16:21 +00002918#line 442 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Chris Lattner2fecc0f2006-02-15 07:02:59 +00002919