blob: f6306aff9d76e1e06754ed3eab10c122d7502cae [file] [log] [blame]
Owen Anderson1dc69692006-10-18 02:21:48 +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
Owen Anderson1dc69692006-10-18 02:21:48 +000019#line 20 "Lexer.cpp"
Chris Lattner224f84f2006-08-18 17:34:45 +000020/* A lexical scanner generated by flex */
Reid Spencer68a24bd2005-08-27 18:50:39 +000021
Owen Anderson1dc69692006-10-18 02:21:48 +000022/* Scanner skeleton version:
23 * $Header$
24 */
25
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 Spencer68a24bd2005-08-27 18:50:39 +000031
32
Owen Anderson1dc69692006-10-18 02:21:48 +000033/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
34#ifdef c_plusplus
35#ifndef __cplusplus
36#define __cplusplus
37#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +000038#endif
39
40
41#ifdef __cplusplus
42
Owen Anderson1dc69692006-10-18 02:21:48 +000043#include <stdlib.h>
44#include <unistd.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
Owen Anderson1dc69692006-10-18 02:21:48 +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
Owen Anderson1dc69692006-10-18 02:21:48 +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
Owen Anderson1dc69692006-10-18 02:21:48 +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 */
Owen Anderson1dc69692006-10-18 02:21:48 +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 */
Owen Anderson1dc69692006-10-18 02:21:48 +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". */
Owen Anderson1dc69692006-10-18 02:21:48 +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
Owen Anderson1dc69692006-10-18 02:21:48 +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
Owen Anderson1dc69692006-10-18 02:21:48 +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 { \
Owen Anderson1dc69692006-10-18 02:21:48 +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 \
Owen Anderson1dc69692006-10-18 02:21:48 +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
Owen Anderson1dc69692006-10-18 02:21:48 +0000154#define unput(c) yyunput( c, yytext_ptr )
Reid Spencer68a24bd2005-08-27 18:50:39 +0000155
156/* The following is because we cannot portably get our hands on size_t
157 * (without autoconf's help, which isn't available because we want
158 * flex-generated scanners to compile on their own).
159 */
160typedef unsigned int yy_size_t;
161
Owen Anderson1dc69692006-10-18 02:21:48 +0000162
Reid Spencer68a24bd2005-08-27 18:50:39 +0000163struct yy_buffer_state
164 {
165 FILE *yy_input_file;
166
167 char *yy_ch_buf; /* input buffer */
168 char *yy_buf_pos; /* current position in input buffer */
169
170 /* Size of input buffer in bytes, not including room for EOB
171 * characters.
172 */
173 yy_size_t yy_buf_size;
174
175 /* Number of characters read into yy_ch_buf, not including EOB
176 * characters.
177 */
178 int yy_n_chars;
179
180 /* Whether we "own" the buffer - i.e., we know we created it,
181 * and can realloc() it to grow it, and should free() it to
182 * delete it.
183 */
184 int yy_is_our_buffer;
185
186 /* Whether this is an "interactive" input source; if so, and
187 * if we're using stdio for input, then we want to use getc()
188 * instead of fread(), to make sure we stop fetching input after
189 * each newline.
190 */
191 int yy_is_interactive;
192
193 /* Whether we're considered to be at the beginning of a line.
194 * If so, '^' rules will be active on the next match, otherwise
195 * not.
196 */
197 int yy_at_bol;
198
199 /* Whether to try to fill the input buffer when we reach the
200 * end of it.
201 */
202 int yy_fill_buffer;
203
204 int yy_buffer_status;
205#define YY_BUFFER_NEW 0
206#define YY_BUFFER_NORMAL 1
207 /* When an EOF's been seen but there's still some text to process
208 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
209 * shouldn't try reading from the input source any more. We might
210 * still have a bunch of tokens to match, though, because of
211 * possible backing-up.
212 *
213 * When we actually see the EOF, we change the status to "new"
Owen Anderson1dc69692006-10-18 02:21:48 +0000214 * (via yyrestart()), so that the user can continue scanning by
215 * just pointing yyin at a new input file.
Reid Spencer68a24bd2005-08-27 18:50:39 +0000216 */
217#define YY_BUFFER_EOF_PENDING 2
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +0000218 };
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +0000219
Owen Anderson1dc69692006-10-18 02:21:48 +0000220static YY_BUFFER_STATE yy_current_buffer = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000221
222/* We provide macros for accessing buffer states in case in the
223 * future we want to put the buffer states in a more general
224 * "scanner state".
225 */
Owen Anderson1dc69692006-10-18 02:21:48 +0000226#define YY_CURRENT_BUFFER yy_current_buffer
Reid Spencer68a24bd2005-08-27 18:50:39 +0000227
228
Owen Anderson1dc69692006-10-18 02:21:48 +0000229/* yy_hold_char holds the character lost when yytext is formed. */
Reid Spencer68a24bd2005-08-27 18:50:39 +0000230static char yy_hold_char;
Owen Anderson1dc69692006-10-18 02:21:48 +0000231
Reid Spencer68a24bd2005-08-27 18:50:39 +0000232static int yy_n_chars; /* number of characters read into yy_ch_buf */
Owen Anderson1dc69692006-10-18 02:21:48 +0000233
234
235int yyleng;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000236
237/* Points to current character in buffer. */
238static char *yy_c_buf_p = (char *) 0;
Owen Anderson1dc69692006-10-18 02:21:48 +0000239static int yy_init = 1; /* whether we need to initialize */
Reid Spencer68a24bd2005-08-27 18:50:39 +0000240static int yy_start = 0; /* start state number */
241
Owen Anderson1dc69692006-10-18 02:21:48 +0000242/* Flag which is used to allow yywrap()'s to do buffer switches
243 * instead of setting up a fresh yyin. A bit of a hack ...
Reid Spencer68a24bd2005-08-27 18:50:39 +0000244 */
245static int yy_did_buffer_switch_on_eof;
246
Owen Anderson1dc69692006-10-18 02:21:48 +0000247void yyrestart YY_PROTO(( FILE *input_file ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000248
Owen Anderson1dc69692006-10-18 02:21:48 +0000249void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
250void yy_load_buffer_state YY_PROTO(( void ));
251YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
252void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
253void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
254void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
255#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +0000256
Owen Anderson1dc69692006-10-18 02:21:48 +0000257YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
258YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
259YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000260
Owen Anderson1dc69692006-10-18 02:21:48 +0000261static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
262static inline void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
263static void yy_flex_free YY_PROTO(( void * ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000264
Owen Anderson1dc69692006-10-18 02:21:48 +0000265#define yy_new_buffer yy_create_buffer
Reid Spencer68a24bd2005-08-27 18:50:39 +0000266
267#define yy_set_interactive(is_interactive) \
268 { \
Owen Anderson1dc69692006-10-18 02:21:48 +0000269 if ( ! yy_current_buffer ) \
270 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
271 yy_current_buffer->yy_is_interactive = is_interactive; \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000272 }
273
274#define yy_set_bol(at_bol) \
275 { \
Owen Anderson1dc69692006-10-18 02:21:48 +0000276 if ( ! yy_current_buffer ) \
277 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
278 yy_current_buffer->yy_at_bol = at_bol; \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000279 }
280
Owen Anderson1dc69692006-10-18 02:21:48 +0000281#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
Reid Spencer68a24bd2005-08-27 18:50:39 +0000282
283
Owen Anderson1dc69692006-10-18 02:21:48 +0000284#define YY_USES_REJECT
285
286#define yywrap() 1
Reid Spencer68a24bd2005-08-27 18:50:39 +0000287#define YY_SKIP_YYWRAP
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +0000288typedef unsigned char YY_CHAR;
Owen Anderson1dc69692006-10-18 02:21:48 +0000289FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +0000290typedef int yy_state_type;
Owen Anderson1dc69692006-10-18 02:21:48 +0000291extern int yylineno;
292int yylineno = 1;
293extern char *yytext;
294#define yytext_ptr yytext
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +0000295
Owen Anderson1dc69692006-10-18 02:21:48 +0000296static yy_state_type yy_get_previous_state YY_PROTO(( void ));
297static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
298static int yy_get_next_buffer YY_PROTO(( void ));
299static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000300
301/* Done after the current pattern has been matched and before the
Owen Anderson1dc69692006-10-18 02:21:48 +0000302 * corresponding action - sets up yytext.
Reid Spencer68a24bd2005-08-27 18:50:39 +0000303 */
304#define YY_DO_BEFORE_ACTION \
Owen Anderson1dc69692006-10-18 02:21:48 +0000305 yytext_ptr = yy_bp; \
306 yyleng = (int) (yy_cp - yy_bp); \
307 yy_hold_char = *yy_cp; \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000308 *yy_cp = '\0'; \
Owen Anderson1dc69692006-10-18 02:21:48 +0000309 yy_c_buf_p = yy_cp;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000310
Owen Anderson1dc69692006-10-18 02:21:48 +0000311#define YY_NUM_RULES 114
312#define YY_END_OF_BUFFER 115
313static yyconst short int yy_acclist[192] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000314 { 0,
Owen Anderson1dc69692006-10-18 02:21:48 +0000315 115, 113, 114, 112, 113, 114, 112, 114, 113, 114,
316 113, 114, 113, 114, 113, 114, 113, 114, 113, 114,
317 105, 113, 114, 105, 113, 114, 1, 113, 114, 113,
318 114, 113, 114, 113, 114, 113, 114, 113, 114, 113,
319 114, 113, 114, 113, 114, 113, 114, 113, 114, 113,
320 114, 113, 114, 113, 114, 113, 114, 113, 114, 113,
321 114, 113, 114, 113, 114, 113, 114, 113, 114, 113,
322 114, 104, 102, 101, 101, 108, 106, 110, 105, 1,
323 87, 41, 69, 23, 104, 101, 101, 109, 110, 20,
324 110, 111, 63, 68, 39, 34, 42, 66, 3, 54,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000325
Owen Anderson1dc69692006-10-18 02:21:48 +0000326 65, 25, 77, 67, 86, 81, 82, 64, 70, 103,
327 110, 110, 49, 78, 79, 32, 94, 95, 56, 22,
328 107, 26, 4, 61, 55, 48, 11, 110, 36, 2,
329 5, 58, 60, 50, 72, 76, 74, 75, 73, 71,
330 52, 96, 51, 57, 21, 84, 93, 45, 59, 30,
331 24, 44, 7, 89, 33, 92, 38, 62, 80, 88,
332 27, 28, 90, 53, 85, 83, 43, 6, 29, 37,
333 8, 17, 9, 10, 35, 12, 14, 13, 40, 15,
334 31, 91, 97, 99, 100, 16, 46, 98, 18, 47,
335 19
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000336
Reid Spencer68a24bd2005-08-27 18:50:39 +0000337 } ;
338
Owen Anderson1dc69692006-10-18 02:21:48 +0000339static yyconst short int yy_accept[505] =
340 { 0,
341 1, 1, 1, 2, 4, 7, 9, 11, 13, 15,
342 17, 19, 21, 24, 27, 30, 32, 34, 36, 38,
343 40, 42, 44, 46, 48, 50, 52, 54, 56, 58,
344 60, 62, 64, 66, 68, 70, 72, 72, 73, 73,
345 74, 75, 76, 77, 77, 78, 78, 79, 80, 80,
346 81, 81, 81, 81, 81, 81, 81, 81, 81, 82,
347 82, 83, 83, 83, 83, 83, 83, 83, 83, 83,
348 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
349 83, 83, 83, 83, 83, 83, 83, 84, 84, 84,
350 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
351
352 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
353 85, 85, 85, 85, 86, 87, 89, 90, 91, 92,
354 92, 93, 94, 94, 94, 95, 95, 96, 96, 97,
355 97, 97, 97, 98, 98, 98, 98, 98, 98, 98,
356 99, 99, 99, 100, 100, 100, 100, 100, 100, 100,
357 100, 100, 100, 100, 101, 101, 101, 101, 101, 101,
358 101, 101, 101, 102, 103, 103, 103, 104, 104, 105,
359 106, 106, 106, 106, 106, 106, 107, 107, 108, 108,
360 108, 108, 109, 109, 109, 109, 109, 109, 109, 109,
361 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
362
363 109, 109, 109, 109, 110, 110, 111, 112, 112, 112,
364 112, 113, 113, 113, 113, 113, 114, 115, 116, 116,
365 116, 116, 117, 117, 117, 117, 117, 117, 117, 117,
366 117, 117, 117, 117, 117, 118, 118, 118, 118, 118,
367 118, 118, 118, 118, 118, 119, 120, 120, 120, 121,
368 121, 121, 122, 122, 122, 122, 122, 122, 122, 122,
369 122, 122, 122, 122, 122, 123, 123, 123, 124, 125,
370 125, 126, 126, 126, 126, 126, 126, 126, 126, 126,
371 126, 127, 127, 128, 128, 128, 129, 130, 130, 130,
372 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
373
374 131, 131, 131, 132, 132, 133, 133, 133, 133, 133,
375 133, 133, 134, 134, 134, 134, 134, 134, 134, 135,
376 135, 135, 136, 137, 138, 139, 140, 141, 142, 142,
377 142, 143, 143, 143, 143, 144, 145, 146, 146, 146,
378 146, 146, 146, 147, 147, 147, 147, 147, 147, 148,
379 148, 149, 149, 149, 149, 149, 149, 149, 150, 151,
380 152, 152, 152, 153, 153, 154, 154, 154, 154, 155,
381 155, 156, 157, 158, 159, 159, 159, 160, 160, 160,
382 161, 162, 163, 163, 163, 164, 165, 166, 167, 167,
383 167, 167, 167, 167, 167, 168, 169, 170, 170, 170,
384
385 170, 170, 170, 170, 170, 170, 170, 170, 170, 171,
386 171, 171, 171, 171, 171, 171, 171, 171, 171, 172,
387 172, 172, 172, 173, 173, 173, 173, 173, 174, 175,
388 175, 175, 175, 175, 175, 176, 176, 176, 176, 177,
389 178, 179, 179, 179, 179, 179, 179, 179, 179, 179,
390 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
391 179, 179, 180, 180, 180, 180, 180, 180, 181, 181,
392 181, 181, 181, 182, 182, 182, 183, 183, 183, 183,
393 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
394 184, 184, 185, 186, 187, 187, 188, 188, 189, 190,
395
396 191, 191, 192, 192
397 } ;
398
399static yyconst int yy_ec[256] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000400 { 0,
401 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
402 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
403 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
404 1, 2, 1, 4, 1, 5, 6, 1, 1, 1,
405 1, 1, 7, 1, 8, 9, 1, 10, 11, 11,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000406 11, 11, 11, 12, 11, 13, 11, 14, 15, 1,
407 1, 1, 1, 1, 16, 16, 16, 16, 17, 16,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000408 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
409 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000410 1, 1, 1, 1, 18, 1, 19, 20, 21, 22,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000411
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000412 23, 24, 25, 26, 27, 5, 28, 29, 30, 31,
413 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
414 42, 43, 1, 1, 1, 1, 1, 1, 1, 1,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000415 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
416 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
417 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
418 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
419 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
420 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
421 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
422
423 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
424 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
425 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
426 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
427 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
428 1, 1, 1, 1, 1
429 } ;
430
Owen Anderson1dc69692006-10-18 02:21:48 +0000431static yyconst int yy_meta[44] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000432 { 0,
433 1, 1, 2, 1, 3, 1, 1, 3, 3, 3,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000434 3, 3, 3, 4, 1, 3, 3, 3, 3, 3,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000435 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
436 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000437 3, 3, 3
Reid Spencer68a24bd2005-08-27 18:50:39 +0000438 } ;
439
Owen Anderson1dc69692006-10-18 02:21:48 +0000440static yyconst short int yy_base[509] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000441 { 0,
Owen Anderson1dc69692006-10-18 02:21:48 +0000442 0, 0, 1096, 1097, 1097, 1097, 1091, 1080, 36, 40,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000443 44, 50, 56, 62, 0, 63, 66, 81, 89, 47,
444 90, 91, 76, 96, 108, 49, 97, 110, 68, 137,
Owen Anderson1dc69692006-10-18 02:21:48 +0000445 120, 168, 112, 115, 135, 127, 1089, 1097, 1078, 1097,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000446 0, 158, 173, 180, 196, 70, 201, 216, 221, 0,
Owen Anderson1dc69692006-10-18 02:21:48 +0000447 121, 152, 123, 139, 166, 140, 162, 184, 1077, 222,
448 180, 31, 186, 119, 232, 208, 144, 225, 234, 236,
449 235, 188, 238, 240, 246, 241, 245, 203, 248, 256,
450 254, 258, 262, 252, 272, 274, 1076, 276, 278, 280,
451 255, 253, 283, 284, 285, 286, 288, 297, 300, 1075,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000452
Owen Anderson1dc69692006-10-18 02:21:48 +0000453 301, 292, 295, 307, 309, 318, 316, 315, 322, 312,
454 147, 329, 330, 1074, 0, 344, 349, 1073, 363, 380,
455 0, 1072, 338, 336, 1071, 355, 1070, 356, 1069, 353,
456 367, 334, 1068, 375, 365, 381, 384, 370, 371, 1067,
457 388, 392, 391, 393, 394, 395, 396, 400, 399, 407,
458 406, 409, 411, 413, 410, 414, 418, 421, 425, 426,
459 427, 429, 1066, 1065, 430, 431, 1064, 435, 1063, 1062,
460 458, 436, 439, 434, 469, 1061, 449, 1060, 438, 441,
461 458, 1059, 471, 472, 474, 473, 481, 482, 475, 476,
462 483, 488, 489, 493, 495, 496, 504, 501, 503, 505,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000463
Owen Anderson1dc69692006-10-18 02:21:48 +0000464 510, 507, 516, 1058, 511, 1097, 527, 541, 545, 549,
465 554, 555, 440, 556, 557, 1057, 1056, 1055, 558, 559,
466 560, 1054, 527, 518, 561, 189, 562, 528, 566, 563,
467 564, 567, 568, 570, 1053, 571, 587, 580, 578, 579,
468 581, 590, 591, 596, 1052, 1051, 594, 598, 1050, 597,
469 601, 0, 606, 603, 607, 602, 608, 610, 618, 620,
470 625, 623, 628, 629, 1049, 630, 626, 1048, 1047, 638,
471 1046, 634, 640, 642, 644, 646, 648, 651, 653, 652,
472 1045, 654, 1044, 656, 657, 662, 1043, 662, 665, 1042,
473 668, 671, 674, 680, 682, 683, 684, 685, 687, 686,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000474
Owen Anderson1dc69692006-10-18 02:21:48 +0000475 689, 690, 1041, 691, 1040, 696, 692, 695, 693, 700,
476 699, 1039, 710, 712, 713, 714, 715, 719, 1038, 718,
477 722, 1037, 1036, 1035, 1034, 1033, 1032, 1031, 725, 729,
478 1030, 726, 730, 732, 1029, 1028, 1027, 731, 735, 743,
479 733, 737, 1026, 734, 746, 744, 747, 750, 1025, 752,
480 1024, 755, 761, 760, 758, 763, 764, 1023, 1022, 1021,
481 771, 762, 1020, 773, 1019, 774, 777, 779, 1018, 787,
482 1017, 1016, 1015, 1014, 778, 788, 1013, 791, 792, 1012,
483 1011, 1010, 790, 795, 1009, 1008, 1007, 1006, 793, 796,
484 798, 797, 804, 801, 1005, 1004, 1003, 809, 811, 812,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000485
Owen Anderson1dc69692006-10-18 02:21:48 +0000486 813, 814, 816, 817, 820, 822, 827, 819, 1002, 815,
487 833, 826, 839, 843, 845, 846, 847, 848, 999, 849,
488 850, 851, 990, 854, 857, 855, 856, 989, 987, 858,
489 866, 876, 862, 861, 986, 879, 880, 881, 984, 983,
490 982, 882, 884, 888, 890, 889, 863, 891, 896, 897,
491 899, 901, 900, 902, 903, 904, 908, 909, 912, 913,
492 916, 980, 918, 924, 923, 925, 926, 977, 928, 929,
493 930, 931, 975, 935, 936, 973, 934, 944, 942, 946,
494 950, 954, 956, 957, 958, 960, 961, 959, 962, 864,
495 964, 829, 766, 604, 969, 519, 965, 517, 477, 446,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000496
Owen Anderson1dc69692006-10-18 02:21:48 +0000497 970, 333, 1097, 1005, 1007, 83, 1011, 80
Reid Spencer68a24bd2005-08-27 18:50:39 +0000498 } ;
499
Owen Anderson1dc69692006-10-18 02:21:48 +0000500static yyconst short int yy_def[509] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000501 { 0,
Owen Anderson1dc69692006-10-18 02:21:48 +0000502 503, 1, 503, 503, 503, 503, 504, 505, 506, 503,
503 505, 505, 505, 505, 507, 505, 505, 505, 505, 505,
504 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
505 505, 505, 505, 505, 505, 505, 504, 503, 505, 503,
506 508, 508, 503, 503, 505, 505, 505, 505, 505, 507,
507 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
508 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
509 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
510 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
511 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000512
Owen Anderson1dc69692006-10-18 02:21:48 +0000513 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
514 505, 505, 505, 503, 508, 508, 503, 505, 505, 505,
515 49, 505, 505, 505, 505, 505, 505, 505, 505, 505,
516 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
517 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
518 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
519 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
520 49, 505, 505, 505, 505, 505, 505, 505, 505, 505,
521 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
522 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000523
Owen Anderson1dc69692006-10-18 02:21:48 +0000524 505, 505, 505, 505, 505, 503, 503, 503, 503, 505,
525 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
526 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
527 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
528 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
529 505, 171, 505, 505, 505, 505, 505, 505, 505, 505,
530 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
531 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
532 505, 505, 505, 505, 505, 503, 505, 505, 505, 505,
533 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000534
Owen Anderson1dc69692006-10-18 02:21:48 +0000535 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
536 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
537 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
538 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
539 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
540 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
541 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
542 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
543 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
544 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000545
Owen Anderson1dc69692006-10-18 02:21:48 +0000546 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
547 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
548 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
549 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
550 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
551 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
552 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
553 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
554 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
555 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000556
Owen Anderson1dc69692006-10-18 02:21:48 +0000557 505, 505, 0, 503, 503, 503, 503, 503
Reid Spencer68a24bd2005-08-27 18:50:39 +0000558 } ;
559
Owen Anderson1dc69692006-10-18 02:21:48 +0000560static yyconst short int yy_nxt[1141] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000561 { 0,
562 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000563 14, 14, 14, 4, 15, 8, 8, 8, 16, 17,
564 18, 19, 20, 21, 22, 8, 23, 8, 24, 25,
565 26, 27, 28, 8, 29, 30, 31, 32, 33, 34,
566 35, 8, 36, 42, 40, 43, 43, 43, 43, 44,
Owen Anderson1dc69692006-10-18 02:21:48 +0000567 44, 44, 44, 45, 45, 45, 45, 40, 46, 134,
568 40, 135, 40, 40, 47, 48, 48, 48, 48, 40,
569 47, 48, 48, 48, 48, 40, 40, 69, 118, 40,
570 84, 40, 115, 40, 51, 41, 85, 70, 56, 40,
571 90, 52, 57, 53, 40, 54, 49, 58, 55, 60,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000572
Owen Anderson1dc69692006-10-18 02:21:48 +0000573 59, 61, 40, 40, 40, 76, 77, 64, 71, 40,
574 40, 65, 62, 74, 78, 66, 63, 67, 72, 75,
575 68, 40, 79, 40, 73, 40, 81, 80, 40, 86,
576 108, 87, 40, 40, 40, 88, 40, 110, 99, 82,
577 40, 89, 122, 109, 125, 83, 91, 111, 40, 113,
578 40, 100, 40, 40, 101, 137, 92, 40, 203, 93,
579 40, 102, 94, 95, 128, 40, 112, 116, 116, 116,
580 116, 126, 141, 96, 97, 40, 98, 91, 123, 40,
581 124, 40, 43, 43, 43, 43, 129, 103, 117, 44,
582 44, 44, 44, 40, 104, 127, 105, 40, 106, 40,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000583
Owen Anderson1dc69692006-10-18 02:21:48 +0000584 133, 40, 40, 107, 47, 45, 45, 45, 45, 40,
585 119, 119, 119, 119, 40, 130, 40, 120, 297, 148,
586 136, 40, 156, 120, 47, 48, 48, 48, 48, 40,
587 121, 121, 121, 121, 40, 40, 121, 121, 40, 121,
588 121, 121, 121, 121, 121, 40, 140, 40, 40, 40,
589 131, 40, 138, 40, 40, 143, 144, 132, 40, 40,
590 149, 40, 142, 146, 139, 40, 40, 40, 40, 40,
591 147, 40, 145, 152, 159, 40, 150, 151, 157, 162,
592 153, 154, 161, 155, 158, 40, 160, 40, 164, 40,
593 163, 40, 166, 40, 172, 171, 40, 40, 40, 40,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000594
Owen Anderson1dc69692006-10-18 02:21:48 +0000595 165, 40, 167, 173, 168, 40, 180, 182, 40, 169,
596 40, 174, 176, 40, 40, 177, 170, 181, 178, 175,
597 40, 179, 40, 183, 188, 40, 184, 186, 40, 40,
598 202, 40, 197, 198, 185, 40, 189, 190, 187, 192,
599 191, 196, 40, 40, 193, 199, 40, 40, 200, 40,
600 201, 40, 194, 116, 116, 116, 116, 195, 207, 207,
601 207, 207, 212, 204, 205, 208, 40, 213, 40, 40,
602 218, 208, 119, 119, 119, 119, 40, 214, 40, 120,
603 40, 216, 215, 40, 40, 120, 209, 210, 40, 211,
604 211, 211, 211, 40, 40, 217, 219, 40, 223, 224,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000605
Owen Anderson1dc69692006-10-18 02:21:48 +0000606 220, 40, 222, 221, 40, 40, 40, 40, 40, 40,
607 225, 227, 40, 40, 226, 229, 230, 228, 234, 40,
608 40, 235, 40, 40, 40, 237, 40, 40, 231, 236,
609 232, 40, 233, 239, 40, 240, 242, 238, 40, 40,
610 40, 241, 40, 40, 40, 243, 245, 40, 40, 40,
611 246, 40, 40, 40, 40, 247, 255, 244, 249, 40,
612 288, 261, 40, 262, 250, 251, 248, 252, 252, 252,
613 252, 40, 253, 252, 252, 254, 252, 252, 252, 252,
614 252, 252, 40, 260, 40, 40, 40, 40, 40, 40,
615 40, 256, 263, 257, 40, 40, 40, 258, 266, 259,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000616
Owen Anderson1dc69692006-10-18 02:21:48 +0000617 265, 40, 40, 268, 269, 267, 40, 264, 40, 40,
618 273, 270, 271, 272, 40, 275, 40, 40, 40, 274,
619 40, 276, 278, 40, 40, 280, 281, 277, 282, 40,
620 40, 40, 40, 284, 283, 279, 207, 207, 207, 207,
621 40, 40, 285, 208, 295, 294, 299, 209, 209, 208,
622 286, 286, 286, 286, 286, 286, 286, 286, 211, 211,
623 211, 211, 40, 211, 211, 211, 211, 40, 40, 40,
624 40, 40, 40, 40, 40, 40, 40, 40, 291, 40,
625 40, 40, 302, 40, 40, 287, 289, 290, 304, 303,
626 298, 40, 40, 40, 40, 292, 293, 301, 300, 306,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000627
Owen Anderson1dc69692006-10-18 02:21:48 +0000628 40, 296, 308, 40, 40, 307, 305, 40, 311, 40,
629 40, 40, 309, 310, 40, 40, 40, 40, 312, 40,
630 40, 40, 313, 40, 314, 315, 316, 321, 319, 320,
631 323, 40, 325, 40, 317, 322, 40, 318, 40, 40,
632 327, 40, 40, 40, 324, 330, 326, 40, 329, 332,
633 331, 40, 333, 40, 334, 40, 328, 40, 336, 40,
634 335, 40, 339, 337, 40, 40, 40, 40, 338, 40,
635 40, 286, 286, 286, 286, 40, 340, 343, 40, 346,
636 349, 40, 341, 348, 40, 342, 350, 40, 351, 352,
637 345, 347, 344, 40, 353, 40, 40, 40, 40, 40,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000638
Owen Anderson1dc69692006-10-18 02:21:48 +0000639 40, 355, 40, 40, 40, 40, 40, 358, 40, 40,
640 362, 363, 40, 40, 354, 356, 357, 359, 364, 361,
641 365, 369, 360, 40, 366, 40, 40, 40, 40, 367,
642 368, 40, 40, 372, 371, 40, 373, 374, 40, 40,
643 370, 375, 40, 40, 40, 40, 40, 40, 40, 376,
644 40, 380, 379, 378, 382, 384, 40, 40, 377, 40,
645 40, 387, 390, 40, 385, 40, 381, 383, 40, 386,
646 388, 40, 389, 40, 40, 40, 40, 40, 393, 40,
647 392, 395, 396, 391, 40, 394, 40, 40, 400, 401,
648 40, 40, 40, 397, 398, 399, 404, 406, 402, 405,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000649
Owen Anderson1dc69692006-10-18 02:21:48 +0000650 40, 40, 403, 40, 40, 40, 40, 407, 40, 40,
651 40, 40, 408, 410, 40, 411, 412, 40, 409, 416,
652 413, 414, 40, 417, 40, 40, 40, 40, 40, 40,
653 40, 415, 40, 40, 418, 40, 424, 419, 425, 40,
654 40, 423, 40, 420, 433, 421, 40, 426, 427, 429,
655 428, 422, 40, 431, 430, 432, 40, 434, 40, 40,
656 40, 40, 40, 40, 40, 435, 437, 40, 40, 40,
657 40, 40, 439, 442, 40, 40, 40, 40, 446, 40,
658 451, 436, 443, 438, 447, 440, 441, 444, 448, 40,
659 450, 445, 40, 40, 40, 40, 449, 40, 453, 452,
Chris Lattnere869eef2005-11-12 00:11:49 +0000660
Owen Anderson1dc69692006-10-18 02:21:48 +0000661 455, 40, 40, 40, 40, 460, 456, 454, 458, 40,
662 40, 461, 40, 40, 40, 40, 40, 40, 459, 465,
663 467, 40, 40, 463, 457, 40, 40, 464, 466, 40,
664 468, 40, 462, 469, 472, 473, 40, 40, 40, 40,
665 470, 40, 40, 40, 40, 471, 476, 40, 40, 40,
666 480, 477, 474, 478, 479, 40, 482, 40, 485, 40,
667 475, 483, 486, 40, 487, 481, 484, 40, 488, 40,
668 40, 40, 40, 40, 40, 40, 489, 40, 40, 494,
669 495, 496, 40, 40, 490, 491, 40, 501, 40, 500,
670 40, 493, 492, 40, 499, 40, 40, 40, 498, 40,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000671
Owen Anderson1dc69692006-10-18 02:21:48 +0000672 40, 497, 40, 40, 502, 37, 37, 37, 37, 39,
673 39, 50, 40, 50, 50, 40, 40, 40, 40, 40,
Chris Lattner0e9c3762006-01-25 22:27:16 +0000674 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Chris Lattnerd5efe842006-04-08 01:18:56 +0000675 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
676 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Chris Lattner75466192006-05-19 21:28:53 +0000677 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
678 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000679 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Owen Anderson1dc69692006-10-18 02:21:48 +0000680 40, 40, 40, 40, 40, 40, 40, 206, 40, 40,
681 40, 40, 114, 40, 38, 503, 3, 503, 503, 503,
Chris Lattner75466192006-05-19 21:28:53 +0000682
Owen Anderson1dc69692006-10-18 02:21:48 +0000683 503, 503, 503, 503, 503, 503, 503, 503, 503, 503,
684 503, 503, 503, 503, 503, 503, 503, 503, 503, 503,
685 503, 503, 503, 503, 503, 503, 503, 503, 503, 503,
686 503, 503, 503, 503, 503, 503, 503, 503, 503, 503
Reid Spencer68a24bd2005-08-27 18:50:39 +0000687 } ;
688
Owen Anderson1dc69692006-10-18 02:21:48 +0000689static yyconst short int yy_chk[1141] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000690 { 0,
691 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
692 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
693 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
694 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000695 1, 1, 1, 9, 62, 9, 9, 9, 9, 10,
696 10, 10, 10, 11, 11, 11, 11, 11, 12, 62,
697 20, 62, 26, 12, 13, 13, 13, 13, 13, 13,
698 14, 14, 14, 14, 14, 14, 16, 20, 46, 17,
Owen Anderson1dc69692006-10-18 02:21:48 +0000699 26, 29, 508, 46, 16, 506, 26, 20, 17, 23,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000700 29, 16, 17, 16, 18, 16, 13, 17, 16, 18,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000701
Owen Anderson1dc69692006-10-18 02:21:48 +0000702 17, 18, 19, 21, 22, 23, 23, 19, 21, 24,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000703 27, 19, 18, 22, 24, 19, 18, 19, 21, 22,
704 19, 25, 24, 28, 21, 33, 25, 24, 34, 27,
Owen Anderson1dc69692006-10-18 02:21:48 +0000705 33, 27, 64, 31, 51, 28, 53, 34, 31, 25,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000706 36, 28, 51, 33, 53, 25, 30, 35, 35, 36,
Owen Anderson1dc69692006-10-18 02:21:48 +0000707 30, 31, 54, 56, 31, 64, 30, 67, 111, 30,
708 111, 31, 30, 30, 56, 52, 35, 42, 42, 42,
709 42, 54, 67, 30, 30, 57, 30, 32, 52, 55,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000710 52, 32, 43, 43, 43, 43, 57, 32, 44, 44,
711 44, 44, 44, 61, 32, 55, 32, 58, 32, 63,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000712
Owen Anderson1dc69692006-10-18 02:21:48 +0000713 61, 72, 226, 32, 45, 45, 45, 45, 45, 45,
714 47, 47, 47, 47, 47, 58, 78, 47, 226, 72,
715 63, 66, 78, 47, 48, 48, 48, 48, 48, 48,
716 49, 49, 49, 49, 49, 60, 49, 49, 68, 49,
717 49, 49, 49, 49, 49, 65, 66, 69, 71, 70,
718 60, 73, 65, 74, 76, 69, 70, 60, 77, 75,
719 73, 79, 68, 71, 65, 84, 92, 81, 91, 80,
720 71, 82, 70, 76, 80, 83, 74, 75, 79, 82,
721 77, 77, 81, 77, 79, 85, 80, 86, 84, 88,
722 83, 89, 86, 90, 92, 91, 93, 94, 95, 96,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000723
Owen Anderson1dc69692006-10-18 02:21:48 +0000724 85, 97, 88, 93, 89, 102, 95, 97, 103, 90,
725 98, 93, 94, 99, 101, 94, 90, 96, 94, 93,
726 104, 94, 105, 98, 102, 110, 99, 101, 108, 107,
727 110, 106, 108, 108, 99, 109, 103, 104, 101, 106,
728 105, 107, 112, 113, 106, 108, 502, 132, 109, 124,
729 109, 123, 106, 116, 116, 116, 116, 106, 117, 117,
730 117, 117, 123, 112, 113, 117, 130, 124, 126, 128,
731 132, 117, 119, 119, 119, 119, 119, 126, 135, 119,
732 131, 130, 128, 138, 139, 119, 120, 120, 134, 120,
733 120, 120, 120, 120, 136, 131, 134, 137, 138, 139,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000734
Owen Anderson1dc69692006-10-18 02:21:48 +0000735 135, 141, 137, 136, 143, 142, 144, 145, 146, 147,
736 141, 142, 149, 148, 141, 144, 145, 143, 148, 151,
737 150, 149, 152, 155, 153, 151, 154, 156, 145, 150,
738 146, 157, 147, 153, 158, 154, 156, 152, 159, 160,
739 161, 155, 162, 165, 166, 157, 159, 174, 168, 172,
740 160, 179, 173, 213, 180, 161, 174, 158, 165, 500,
741 213, 179, 177, 180, 166, 168, 162, 171, 171, 171,
742 171, 181, 172, 171, 171, 173, 171, 171, 171, 171,
743 171, 171, 175, 177, 183, 184, 186, 185, 189, 190,
744 499, 175, 181, 175, 187, 188, 191, 175, 185, 175,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000745
Owen Anderson1dc69692006-10-18 02:21:48 +0000746 184, 192, 193, 187, 188, 186, 194, 183, 195, 196,
747 192, 189, 190, 191, 198, 194, 199, 197, 200, 193,
748 202, 195, 197, 201, 205, 199, 200, 196, 201, 203,
749 498, 224, 496, 203, 202, 198, 207, 207, 207, 207,
750 223, 228, 205, 207, 224, 223, 228, 208, 208, 207,
751 208, 208, 208, 208, 209, 209, 209, 209, 210, 210,
752 210, 210, 210, 211, 211, 211, 211, 211, 212, 214,
753 215, 219, 220, 221, 225, 227, 230, 231, 219, 229,
754 232, 233, 231, 234, 236, 212, 214, 215, 233, 232,
755 227, 239, 240, 238, 241, 220, 221, 230, 229, 236,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000756
Owen Anderson1dc69692006-10-18 02:21:48 +0000757 237, 225, 238, 242, 243, 237, 234, 247, 241, 244,
758 250, 248, 239, 240, 251, 256, 254, 494, 242, 253,
759 255, 257, 243, 258, 244, 247, 248, 255, 253, 254,
760 257, 259, 258, 260, 250, 256, 262, 251, 261, 267,
761 259, 263, 264, 266, 257, 262, 258, 272, 261, 264,
762 263, 270, 266, 273, 267, 274, 260, 275, 272, 276,
763 270, 277, 275, 273, 278, 280, 279, 282, 274, 284,
764 285, 286, 286, 286, 286, 288, 276, 279, 289, 284,
765 288, 291, 277, 285, 292, 278, 289, 293, 291, 292,
766 282, 284, 280, 294, 293, 295, 296, 297, 298, 300,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000767
Owen Anderson1dc69692006-10-18 02:21:48 +0000768 299, 295, 301, 302, 304, 307, 309, 298, 308, 306,
769 302, 304, 311, 310, 294, 296, 297, 299, 306, 301,
770 307, 311, 300, 313, 308, 314, 315, 316, 317, 309,
771 310, 320, 318, 315, 314, 321, 316, 317, 329, 332,
772 313, 318, 330, 333, 338, 334, 341, 344, 339, 320,
773 342, 332, 330, 329, 334, 339, 340, 346, 321, 345,
774 347, 342, 346, 348, 340, 350, 333, 338, 352, 341,
775 344, 355, 345, 354, 353, 362, 356, 357, 350, 493,
776 348, 353, 354, 347, 361, 352, 364, 366, 361, 361,
777 367, 375, 368, 355, 356, 357, 366, 368, 362, 367,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000778
Owen Anderson1dc69692006-10-18 02:21:48 +0000779 370, 376, 364, 383, 378, 379, 389, 370, 384, 390,
780 392, 391, 375, 378, 394, 379, 383, 393, 376, 391,
781 384, 389, 398, 392, 399, 400, 401, 402, 410, 403,
782 404, 390, 408, 405, 393, 406, 402, 394, 403, 412,
783 407, 401, 492, 398, 412, 399, 411, 404, 405, 407,
784 406, 400, 413, 410, 408, 411, 414, 413, 415, 416,
785 417, 418, 420, 421, 422, 414, 416, 424, 426, 427,
786 425, 430, 418, 422, 434, 433, 447, 490, 427, 431,
787 434, 415, 424, 417, 430, 420, 421, 425, 431, 432,
788 433, 426, 436, 437, 438, 442, 432, 443, 437, 436,
Chris Lattnere869eef2005-11-12 00:11:49 +0000789
Owen Anderson1dc69692006-10-18 02:21:48 +0000790 442, 444, 446, 445, 448, 447, 443, 438, 445, 449,
791 450, 448, 451, 453, 452, 454, 455, 456, 446, 452,
792 454, 457, 458, 450, 444, 459, 460, 451, 453, 461,
793 455, 463, 449, 456, 459, 460, 465, 464, 466, 467,
794 457, 469, 470, 471, 472, 458, 464, 477, 474, 475,
795 469, 465, 461, 466, 467, 479, 471, 478, 475, 480,
796 463, 472, 477, 481, 478, 470, 474, 482, 479, 483,
797 484, 485, 488, 486, 487, 489, 480, 491, 497, 485,
798 486, 487, 495, 501, 481, 482, 476, 497, 473, 495,
799 468, 484, 483, 462, 491, 441, 440, 439, 489, 435,
Chris Lattner75466192006-05-19 21:28:53 +0000800
Owen Anderson1dc69692006-10-18 02:21:48 +0000801 429, 488, 428, 423, 501, 504, 504, 504, 504, 505,
802 505, 507, 419, 507, 507, 409, 397, 396, 395, 388,
803 387, 386, 385, 382, 381, 380, 377, 374, 373, 372,
804 371, 369, 365, 363, 360, 359, 358, 351, 349, 343,
805 337, 336, 335, 331, 328, 327, 326, 325, 324, 323,
806 322, 319, 312, 305, 303, 290, 287, 283, 281, 271,
807 269, 268, 265, 249, 246, 245, 235, 222, 218, 217,
808 216, 204, 182, 178, 176, 170, 169, 167, 164, 163,
809 140, 133, 129, 127, 125, 122, 118, 114, 100, 87,
810 59, 39, 37, 8, 7, 3, 503, 503, 503, 503,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000811
Owen Anderson1dc69692006-10-18 02:21:48 +0000812 503, 503, 503, 503, 503, 503, 503, 503, 503, 503,
813 503, 503, 503, 503, 503, 503, 503, 503, 503, 503,
814 503, 503, 503, 503, 503, 503, 503, 503, 503, 503,
815 503, 503, 503, 503, 503, 503, 503, 503, 503, 503
Reid Spencer68a24bd2005-08-27 18:50:39 +0000816 } ;
817
Owen Anderson1dc69692006-10-18 02:21:48 +0000818static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
819static char *yy_full_match;
820static int yy_lp;
821#define REJECT \
822{ \
823*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
824yy_cp = yy_full_match; /* restore poss. backed-over text */ \
825++yy_lp; \
826goto find_rule; \
827}
Reid Spencer68a24bd2005-08-27 18:50:39 +0000828#define yymore() yymore_used_but_not_detected
829#define YY_MORE_ADJ 0
830#define YY_RESTORE_YY_MORE_OFFSET
Owen Anderson1dc69692006-10-18 02:21:48 +0000831char *yytext;
832#line 1 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
833#define INITIAL 0
Reid Spencer68a24bd2005-08-27 18:50:39 +0000834/*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
835//
836// The LLVM Compiler Infrastructure
837//
838// This file was developed by the LLVM research group and is distributed under
839// the University of Illinois Open Source License. See LICENSE.TXT for details.
840//
841//===----------------------------------------------------------------------===//
842//
843// This file implements the flex scanner for LLVM assembly languages files.
844//
845//===----------------------------------------------------------------------===*/
Owen Anderson1dc69692006-10-18 02:21:48 +0000846#define YY_NEVER_INTERACTIVE 1
847#line 28 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +0000848#include "ParserInternals.h"
849#include "llvm/Module.h"
850#include <list>
851#include "llvmAsmParser.h"
852#include <cctype>
853#include <cstdlib>
854
855void set_scan_file(FILE * F){
Owen Anderson1dc69692006-10-18 02:21:48 +0000856 yy_switch_to_buffer(yy_create_buffer( F, YY_BUF_SIZE ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +0000857}
858void set_scan_string (const char * str) {
Owen Anderson1dc69692006-10-18 02:21:48 +0000859 yy_scan_string (str);
Reid Spencer68a24bd2005-08-27 18:50:39 +0000860}
861
862#define RET_TOK(type, Enum, sym) \
863 llvmAsmlval.type = Instruction::Enum; return sym
864
865namespace llvm {
866
867// TODO: All of the static identifiers are figured out by the lexer,
868// these should be hashed to reduce the lexer size
869
870
871// atoull - Convert an ascii string of decimal digits into the unsigned long
872// long representation... this does not have to do input error checking,
873// because we know that the input will be matched by a suitable regex...
874//
875static uint64_t atoull(const char *Buffer) {
876 uint64_t Result = 0;
877 for (; *Buffer; Buffer++) {
878 uint64_t OldRes = Result;
879 Result *= 10;
880 Result += *Buffer-'0';
881 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000882 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000883 }
884 return Result;
885}
886
887static uint64_t HexIntToVal(const char *Buffer) {
888 uint64_t Result = 0;
889 for (; *Buffer; ++Buffer) {
890 uint64_t OldRes = Result;
891 Result *= 16;
892 char C = *Buffer;
893 if (C >= '0' && C <= '9')
894 Result += C-'0';
895 else if (C >= 'A' && C <= 'F')
896 Result += C-'A'+10;
897 else if (C >= 'a' && C <= 'f')
898 Result += C-'a'+10;
899
900 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000901 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000902 }
903 return Result;
904}
905
906
907// HexToFP - Convert the ascii string in hexidecimal format to the floating
908// point representation of it.
909//
910static double HexToFP(const char *Buffer) {
911 // Behave nicely in the face of C TBAA rules... see:
912 // http://www.nullstone.com/htmls/category/aliastyp.htm
913 union {
914 uint64_t UI;
915 double FP;
916 } UIntToFP;
917 UIntToFP.UI = HexIntToVal(Buffer);
918
919 assert(sizeof(double) == sizeof(uint64_t) &&
920 "Data sizes incompatible on this target!");
921 return UIntToFP.FP; // Cast Hex constant to double
922}
923
924
925// UnEscapeLexed - Run through the specified buffer and change \xx codes to the
926// appropriate character. If AllowNull is set to false, a \00 value will cause
927// an exception to be thrown.
928//
929// If AllowNull is set to true, the return value of the function points to the
930// last character of the string in memory.
931//
932char *UnEscapeLexed(char *Buffer, bool AllowNull) {
933 char *BOut = Buffer;
934 for (char *BIn = Buffer; *BIn; ) {
935 if (BIn[0] == '\\' && isxdigit(BIn[1]) && isxdigit(BIn[2])) {
936 char Tmp = BIn[3]; BIn[3] = 0; // Terminate string
937 *BOut = (char)strtol(BIn+1, 0, 16); // Convert to number
938 if (!AllowNull && !*BOut)
Reid Spencer61c83e02006-08-18 08:43:06 +0000939 GenerateError("String literal cannot accept \\00 escape!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000940
941 BIn[3] = Tmp; // Restore character
942 BIn += 3; // Skip over handled chars
943 ++BOut;
944 } else {
945 *BOut++ = *BIn++;
946 }
947 }
948
949 return BOut;
950}
951
952} // End llvm namespace
953
954using namespace llvm;
955
956#define YY_NEVER_INTERACTIVE 1
957/* Comments start with a ; and go till end of line */
958/* Variable(Value) identifiers start with a % sign */
959/* Label identifiers end with a colon */
960/* Quoted names can contain any character except " and \ */
961/* [PN]Integer: match positive and negative literal integer values that
962 * are preceeded by a '%' character. These represent unnamed variable slots.
963 */
964/* E[PN]Integer: match positive and negative literal integer values */
965/* FPConstant - A Floating point constant.
966 */
967/* HexFPConstant - Floating point constant represented in IEEE format as a
968 * hexadecimal number for when exponential notation is not precise enough.
969 */
970/* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
971 * it to deal with 64 bit numbers.
972 */
Owen Anderson1dc69692006-10-18 02:21:48 +0000973#line 974 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +0000974
975/* Macros after this point can all be overridden by user definitions in
976 * section 1.
977 */
978
979#ifndef YY_SKIP_YYWRAP
980#ifdef __cplusplus
Owen Anderson1dc69692006-10-18 02:21:48 +0000981extern "C" int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000982#else
Owen Anderson1dc69692006-10-18 02:21:48 +0000983extern int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000984#endif
985#endif
986
Owen Anderson1dc69692006-10-18 02:21:48 +0000987#ifndef YY_NO_UNPUT
988static inline void yyunput YY_PROTO(( int c, char *buf_ptr ));
989#endif
990
Reid Spencer68a24bd2005-08-27 18:50:39 +0000991#ifndef yytext_ptr
Owen Anderson1dc69692006-10-18 02:21:48 +0000992static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000993#endif
994
995#ifdef YY_NEED_STRLEN
Owen Anderson1dc69692006-10-18 02:21:48 +0000996static int yy_flex_strlen YY_PROTO(( yyconst char * ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000997#endif
998
999#ifndef YY_NO_INPUT
1000#ifdef __cplusplus
Owen Anderson1dc69692006-10-18 02:21:48 +00001001static int yyinput YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001002#else
Owen Anderson1dc69692006-10-18 02:21:48 +00001003static int input YY_PROTO(( void ));
1004#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001005#endif
1006
Owen Anderson1dc69692006-10-18 02:21:48 +00001007#if YY_STACK_USED
1008static int yy_start_stack_ptr = 0;
1009static int yy_start_stack_depth = 0;
1010static int *yy_start_stack = 0;
1011#ifndef YY_NO_PUSH_STATE
1012static void yy_push_state YY_PROTO(( int new_state ));
1013#endif
1014#ifndef YY_NO_POP_STATE
1015static void yy_pop_state YY_PROTO(( void ));
1016#endif
1017#ifndef YY_NO_TOP_STATE
1018static int yy_top_state YY_PROTO(( void ));
1019#endif
1020
1021#else
1022#define YY_NO_PUSH_STATE 1
1023#define YY_NO_POP_STATE 1
1024#define YY_NO_TOP_STATE 1
1025#endif
1026
1027#ifdef YY_MALLOC_DECL
1028YY_MALLOC_DECL
1029#else
1030#if __STDC__
1031#ifndef __cplusplus
1032#include <stdlib.h>
1033#endif
1034#else
1035/* Just try to get by without declaring the routines. This will fail
1036 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1037 * or sizeof(void*) != sizeof(int).
1038 */
1039#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001040#endif
1041
1042/* Amount of stuff to slurp up with each read. */
1043#ifndef YY_READ_BUF_SIZE
1044#define YY_READ_BUF_SIZE 8192
1045#endif
1046
1047/* Copy whatever the last rule matched to the standard output. */
Owen Anderson1dc69692006-10-18 02:21:48 +00001048
Reid Spencer68a24bd2005-08-27 18:50:39 +00001049#ifndef ECHO
1050/* This used to be an fputs(), but since the string might contain NUL's,
1051 * we now use fwrite().
1052 */
Owen Anderson1dc69692006-10-18 02:21:48 +00001053#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001054#endif
1055
1056/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1057 * is returned in "result".
1058 */
1059#ifndef YY_INPUT
1060#define YY_INPUT(buf,result,max_size) \
Owen Anderson1dc69692006-10-18 02:21:48 +00001061 if ( yy_current_buffer->yy_is_interactive ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001062 { \
Owen Anderson1dc69692006-10-18 02:21:48 +00001063 int c = '*', n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001064 for ( n = 0; n < max_size && \
Owen Anderson1dc69692006-10-18 02:21:48 +00001065 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001066 buf[n] = (char) c; \
1067 if ( c == '\n' ) \
1068 buf[n++] = (char) c; \
Owen Anderson1dc69692006-10-18 02:21:48 +00001069 if ( c == EOF && ferror( yyin ) ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001070 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1071 result = n; \
1072 } \
Owen Anderson1dc69692006-10-18 02:21:48 +00001073 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1074 && ferror( yyin ) ) \
1075 YY_FATAL_ERROR( "input in flex scanner failed" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001076#endif
1077
1078/* No semi-colon after return; correct usage is to write "yyterminate();" -
1079 * we don't want an extra ';' after the "return" because that will cause
1080 * some compilers to complain about unreachable statements.
1081 */
1082#ifndef yyterminate
1083#define yyterminate() return YY_NULL
1084#endif
1085
1086/* Number of entries by which start-condition stack grows. */
1087#ifndef YY_START_STACK_INCR
1088#define YY_START_STACK_INCR 25
1089#endif
1090
1091/* Report a fatal error. */
1092#ifndef YY_FATAL_ERROR
1093#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1094#endif
1095
1096/* Default declaration of generated scanner - a define so the user can
1097 * easily add parameters.
1098 */
1099#ifndef YY_DECL
Owen Anderson1dc69692006-10-18 02:21:48 +00001100#define YY_DECL int yylex YY_PROTO(( void ))
1101#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001102
Owen Anderson1dc69692006-10-18 02:21:48 +00001103/* Code executed at the beginning of each rule, after yytext and yyleng
Reid Spencer68a24bd2005-08-27 18:50:39 +00001104 * have been set up.
1105 */
1106#ifndef YY_USER_ACTION
1107#define YY_USER_ACTION
1108#endif
1109
1110/* Code executed at the end of each rule. */
1111#ifndef YY_BREAK
1112#define YY_BREAK break;
1113#endif
1114
1115#define YY_RULE_SETUP \
1116 YY_USER_ACTION
1117
1118YY_DECL
Owen Anderson1dc69692006-10-18 02:21:48 +00001119 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00001120 register yy_state_type yy_current_state;
Chris Lattner224f84f2006-08-18 17:34:45 +00001121 register char *yy_cp, *yy_bp;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001122 register int yy_act;
Owen Anderson1dc69692006-10-18 02:21:48 +00001123
1124#line 179 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001125
1126
Owen Anderson1dc69692006-10-18 02:21:48 +00001127#line 1128 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001128
Owen Anderson1dc69692006-10-18 02:21:48 +00001129 if ( yy_init )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001130 {
Owen Anderson1dc69692006-10-18 02:21:48 +00001131 yy_init = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001132
1133#ifdef YY_USER_INIT
1134 YY_USER_INIT;
1135#endif
1136
Owen Anderson1dc69692006-10-18 02:21:48 +00001137 if ( ! yy_start )
1138 yy_start = 1; /* first start state */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001139
Owen Anderson1dc69692006-10-18 02:21:48 +00001140 if ( ! yyin )
1141 yyin = stdin;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001142
Owen Anderson1dc69692006-10-18 02:21:48 +00001143 if ( ! yyout )
1144 yyout = stdout;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001145
Owen Anderson1dc69692006-10-18 02:21:48 +00001146 if ( ! yy_current_buffer )
1147 yy_current_buffer =
1148 yy_create_buffer( yyin, YY_BUF_SIZE );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001149
Owen Anderson1dc69692006-10-18 02:21:48 +00001150 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00001151 }
1152
1153 while ( 1 ) /* loops until end-of-file is reached */
1154 {
Owen Anderson1dc69692006-10-18 02:21:48 +00001155 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001156
Owen Anderson1dc69692006-10-18 02:21:48 +00001157 /* Support of yytext. */
1158 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001159
1160 /* yy_bp points to the position in yy_ch_buf of the start of
1161 * the current run.
1162 */
1163 yy_bp = yy_cp;
1164
Owen Anderson1dc69692006-10-18 02:21:48 +00001165 yy_current_state = yy_start;
1166 yy_state_ptr = yy_state_buf;
1167 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001168yy_match:
1169 do
1170 {
1171 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1172 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1173 {
1174 yy_current_state = (int) yy_def[yy_current_state];
Owen Anderson1dc69692006-10-18 02:21:48 +00001175 if ( yy_current_state >= 504 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001176 yy_c = yy_meta[(unsigned int) yy_c];
1177 }
1178 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Owen Anderson1dc69692006-10-18 02:21:48 +00001179 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001180 ++yy_cp;
1181 }
Owen Anderson1dc69692006-10-18 02:21:48 +00001182 while ( yy_current_state != 503 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001183
1184yy_find_action:
Owen Anderson1dc69692006-10-18 02:21:48 +00001185 yy_current_state = *--yy_state_ptr;
1186 yy_lp = yy_accept[yy_current_state];
1187find_rule: /* we branch to this label when backing up */
1188 for ( ; ; ) /* until we find what rule we matched */
1189 {
1190 if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
1191 {
1192 yy_act = yy_acclist[yy_lp];
1193 {
1194 yy_full_match = yy_cp;
1195 break;
1196 }
1197 }
1198 --yy_cp;
1199 yy_current_state = *--yy_state_ptr;
1200 yy_lp = yy_accept[yy_current_state];
1201 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001202
1203 YY_DO_BEFORE_ACTION;
1204
Owen Anderson1dc69692006-10-18 02:21:48 +00001205 if ( yy_act != YY_END_OF_BUFFER )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001206 {
1207 int yyl;
Owen Anderson1dc69692006-10-18 02:21:48 +00001208 for ( yyl = 0; yyl < yyleng; ++yyl )
1209 if ( yytext[yyl] == '\n' )
1210 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001211 }
1212
1213do_action: /* This label is used only to access EOF actions. */
1214
Owen Anderson1dc69692006-10-18 02:21:48 +00001215
Reid Spencer68a24bd2005-08-27 18:50:39 +00001216 switch ( yy_act )
1217 { /* beginning of action switch */
1218case 1:
1219YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001220#line 181 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001221{ /* Ignore comments for now */ }
1222 YY_BREAK
1223case 2:
1224YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001225#line 183 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001226{ return BEGINTOK; }
1227 YY_BREAK
1228case 3:
1229YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001230#line 184 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001231{ return ENDTOK; }
1232 YY_BREAK
1233case 4:
1234YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001235#line 185 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001236{ return TRUETOK; }
1237 YY_BREAK
1238case 5:
1239YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001240#line 186 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001241{ return FALSETOK; }
1242 YY_BREAK
1243case 6:
1244YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001245#line 187 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001246{ return DECLARE; }
1247 YY_BREAK
1248case 7:
1249YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001250#line 188 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001251{ return GLOBAL; }
1252 YY_BREAK
1253case 8:
1254YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001255#line 189 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001256{ return CONSTANT; }
1257 YY_BREAK
1258case 9:
1259YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001260#line 190 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001261{ return INTERNAL; }
1262 YY_BREAK
1263case 10:
1264YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001265#line 191 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001266{ return LINKONCE; }
1267 YY_BREAK
1268case 11:
1269YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001270#line 192 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001271{ return WEAK; }
1272 YY_BREAK
1273case 12:
1274YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001275#line 193 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001276{ return APPENDING; }
1277 YY_BREAK
1278case 13:
1279YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001280#line 194 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001281{ return DLLIMPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001282 YY_BREAK
1283case 14:
1284YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001285#line 195 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001286{ return DLLEXPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001287 YY_BREAK
1288case 15:
1289YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001290#line 196 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001291{ return EXTERN_WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001292 YY_BREAK
1293case 16:
1294YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001295#line 197 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001296{ return EXTERNAL; } /* Deprecated, turn into external */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001297 YY_BREAK
1298case 17:
1299YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001300#line 198 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001301{ return EXTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001302 YY_BREAK
1303case 18:
1304YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001305#line 199 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001306{ return IMPLEMENTATION; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001307 YY_BREAK
1308case 19:
1309YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001310#line 200 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001311{ return ZEROINITIALIZER; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001312 YY_BREAK
1313case 20:
1314YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001315#line 201 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001316{ return DOTDOTDOT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001317 YY_BREAK
1318case 21:
1319YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001320#line 202 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001321{ return UNDEF; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001322 YY_BREAK
1323case 22:
1324YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001325#line 203 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001326{ return NULL_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001327 YY_BREAK
1328case 23:
1329YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001330#line 204 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001331{ return TO; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001332 YY_BREAK
1333case 24:
1334YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001335#line 205 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001336{ RET_TOK(TermOpVal, Unwind, UNWIND); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001337 YY_BREAK
1338case 25:
1339YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001340#line 206 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001341{ return NOT; } /* Deprecated, turned into XOR */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001342 YY_BREAK
1343case 26:
1344YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001345#line 207 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001346{ return TAIL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001347 YY_BREAK
1348case 27:
1349YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001350#line 208 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001351{ return TARGET; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001352 YY_BREAK
1353case 28:
1354YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001355#line 209 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001356{ return TRIPLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001357 YY_BREAK
1358case 29:
1359YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001360#line 210 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001361{ return DEPLIBS; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001362 YY_BREAK
1363case 30:
1364YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001365#line 211 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001366{ return ENDIAN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001367 YY_BREAK
1368case 31:
1369YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001370#line 212 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001371{ return POINTERSIZE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001372 YY_BREAK
1373case 32:
1374YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001375#line 213 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1376{ return DATA; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001377 YY_BREAK
1378case 33:
1379YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001380#line 214 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1381{ return LITTLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001382 YY_BREAK
1383case 34:
1384YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001385#line 215 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1386{ return BIG; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001387 YY_BREAK
1388case 35:
1389YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001390#line 216 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1391{ return VOLATILE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001392 YY_BREAK
1393case 36:
1394YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001395#line 217 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1396{ return ALIGN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001397 YY_BREAK
1398case 37:
1399YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001400#line 218 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1401{ return SECTION; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001402 YY_BREAK
1403case 38:
1404YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001405#line 219 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1406{ return MODULE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001407 YY_BREAK
1408case 39:
1409YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001410#line 220 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1411{ return ASM_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001412 YY_BREAK
1413case 40:
1414YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001415#line 221 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1416{ return SIDEEFFECT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001417 YY_BREAK
1418case 41:
1419YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001420#line 223 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1421{ return CC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001422 YY_BREAK
1423case 42:
1424YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001425#line 224 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1426{ return CCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001427 YY_BREAK
1428case 43:
1429YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001430#line 225 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1431{ return CSRETCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001432 YY_BREAK
1433case 44:
1434YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001435#line 226 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1436{ return FASTCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001437 YY_BREAK
1438case 45:
1439YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001440#line 227 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1441{ return COLDCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001442 YY_BREAK
1443case 46:
1444YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001445#line 228 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1446{ return X86_STDCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001447 YY_BREAK
1448case 47:
1449YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001450#line 229 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1451{ return X86_FASTCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001452 YY_BREAK
1453case 48:
1454YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001455#line 231 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1456{ llvmAsmlval.PrimType = Type::VoidTy ; return VOID; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001457 YY_BREAK
1458case 49:
1459YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001460#line 232 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1461{ llvmAsmlval.PrimType = Type::BoolTy ; return BOOL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001462 YY_BREAK
1463case 50:
1464YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001465#line 233 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1466{ llvmAsmlval.PrimType = Type::SByteTy ; return SBYTE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001467 YY_BREAK
1468case 51:
1469YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001470#line 234 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1471{ llvmAsmlval.PrimType = Type::UByteTy ; return UBYTE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001472 YY_BREAK
1473case 52:
1474YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001475#line 235 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1476{ llvmAsmlval.PrimType = Type::ShortTy ; return SHORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001477 YY_BREAK
1478case 53:
1479YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001480#line 236 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1481{ llvmAsmlval.PrimType = Type::UShortTy; return USHORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001482 YY_BREAK
1483case 54:
1484YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001485#line 237 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1486{ llvmAsmlval.PrimType = Type::IntTy ; return INT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001487 YY_BREAK
1488case 55:
1489YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001490#line 238 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1491{ llvmAsmlval.PrimType = Type::UIntTy ; return UINT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001492 YY_BREAK
1493case 56:
1494YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001495#line 239 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1496{ llvmAsmlval.PrimType = Type::LongTy ; return LONG; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001497 YY_BREAK
1498case 57:
1499YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001500#line 240 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1501{ llvmAsmlval.PrimType = Type::ULongTy ; return ULONG; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001502 YY_BREAK
1503case 58:
1504YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001505#line 241 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1506{ llvmAsmlval.PrimType = Type::FloatTy ; return FLOAT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001507 YY_BREAK
1508case 59:
1509YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001510#line 242 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1511{ llvmAsmlval.PrimType = Type::DoubleTy; return DOUBLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001512 YY_BREAK
1513case 60:
1514YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001515#line 243 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1516{ llvmAsmlval.PrimType = Type::LabelTy ; return LABEL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001517 YY_BREAK
1518case 61:
1519YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001520#line 244 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1521{ return TYPE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001522 YY_BREAK
1523case 62:
1524YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001525#line 245 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1526{ return OPAQUE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001527 YY_BREAK
1528case 63:
1529YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001530#line 247 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1531{ RET_TOK(BinaryOpVal, Add, ADD); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001532 YY_BREAK
1533case 64:
1534YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001535#line 248 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1536{ RET_TOK(BinaryOpVal, Sub, SUB); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001537 YY_BREAK
1538case 65:
1539YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001540#line 249 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1541{ RET_TOK(BinaryOpVal, Mul, MUL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001542 YY_BREAK
1543case 66:
1544YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001545#line 250 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1546{ RET_TOK(BinaryOpVal, Div, DIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001547 YY_BREAK
1548case 67:
1549YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001550#line 251 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1551{ RET_TOK(BinaryOpVal, Rem, REM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001552 YY_BREAK
1553case 68:
1554YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001555#line 252 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1556{ RET_TOK(BinaryOpVal, And, AND); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001557 YY_BREAK
1558case 69:
1559YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001560#line 253 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1561{ RET_TOK(BinaryOpVal, Or , OR ); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001562 YY_BREAK
1563case 70:
1564YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001565#line 254 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1566{ RET_TOK(BinaryOpVal, Xor, XOR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001567 YY_BREAK
1568case 71:
1569YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001570#line 255 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1571{ RET_TOK(BinaryOpVal, SetNE, SETNE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001572 YY_BREAK
1573case 72:
1574YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001575#line 256 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1576{ RET_TOK(BinaryOpVal, SetEQ, SETEQ); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001577 YY_BREAK
1578case 73:
1579YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001580#line 257 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1581{ RET_TOK(BinaryOpVal, SetLT, SETLT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001582 YY_BREAK
1583case 74:
1584YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001585#line 258 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1586{ RET_TOK(BinaryOpVal, SetGT, SETGT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001587 YY_BREAK
1588case 75:
1589YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001590#line 259 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1591{ RET_TOK(BinaryOpVal, SetLE, SETLE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001592 YY_BREAK
1593case 76:
1594YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001595#line 260 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1596{ RET_TOK(BinaryOpVal, SetGE, SETGE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001597 YY_BREAK
1598case 77:
1599YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001600#line 262 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1601{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001602 YY_BREAK
1603case 78:
1604YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001605#line 263 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1606{ RET_TOK(OtherOpVal, Call, CALL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001607 YY_BREAK
1608case 79:
1609YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001610#line 264 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1611{ RET_TOK(OtherOpVal, Cast, CAST); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001612 YY_BREAK
1613case 80:
1614YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001615#line 265 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1616{ RET_TOK(OtherOpVal, Select, SELECT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001617 YY_BREAK
1618case 81:
1619YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001620#line 266 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1621{ RET_TOK(OtherOpVal, Shl, SHL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001622 YY_BREAK
1623case 82:
1624YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001625#line 267 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1626{ RET_TOK(OtherOpVal, Shr, SHR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001627 YY_BREAK
1628case 83:
1629YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001630#line 268 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1631{ return VANEXT_old; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001632 YY_BREAK
1633case 84:
1634YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001635#line 269 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1636{ return VAARG_old; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001637 YY_BREAK
1638case 85:
1639YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001640#line 270 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1641{ RET_TOK(OtherOpVal, VAArg , VAARG); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001642 YY_BREAK
1643case 86:
1644YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001645#line 271 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1646{ RET_TOK(TermOpVal, Ret, RET); }
Nate Begeman14b05292005-11-05 09:21:28 +00001647 YY_BREAK
1648case 87:
1649YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001650#line 272 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1651{ RET_TOK(TermOpVal, Br, BR); }
Chris Lattnere869eef2005-11-12 00:11:49 +00001652 YY_BREAK
1653case 88:
1654YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001655#line 273 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1656{ RET_TOK(TermOpVal, Switch, SWITCH); }
Robert Bocchino9c62b562006-01-10 19:04:32 +00001657 YY_BREAK
1658case 89:
1659YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001660#line 274 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1661{ RET_TOK(TermOpVal, Invoke, INVOKE); }
Robert Bocchino2def1b32006-01-17 20:06:25 +00001662 YY_BREAK
1663case 90:
1664YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001665#line 275 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1666{ RET_TOK(TermOpVal, Unwind, UNWIND); }
Chris Lattner8335e842006-01-23 23:05:42 +00001667 YY_BREAK
1668case 91:
1669YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001670#line 276 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1671{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
Chris Lattner66316012006-01-24 04:14:29 +00001672 YY_BREAK
1673case 92:
1674YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001675#line 278 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1676{ RET_TOK(MemOpVal, Malloc, MALLOC); }
Chris Lattner0e9c3762006-01-25 22:27:16 +00001677 YY_BREAK
1678case 93:
1679YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001680#line 279 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1681{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
Chris Lattnerd5efe842006-04-08 01:18:56 +00001682 YY_BREAK
1683case 94:
1684YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001685#line 280 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1686{ RET_TOK(MemOpVal, Free, FREE); }
Chris Lattner75466192006-05-19 21:28:53 +00001687 YY_BREAK
1688case 95:
1689YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001690#line 281 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1691{ RET_TOK(MemOpVal, Load, LOAD); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001692 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001693case 96:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001694YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001695#line 282 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1696{ RET_TOK(MemOpVal, Store, STORE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001697 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001698case 97:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001699YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001700#line 283 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1701{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001702 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001703case 98:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001704YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001705#line 285 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1706{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001707 YY_BREAK
1708case 99:
1709YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001710#line 286 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1711{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001712 YY_BREAK
1713case 100:
1714YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001715#line 287 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1716{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001717 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001718case 101:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001719YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001720#line 290 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001721{
Owen Anderson1dc69692006-10-18 02:21:48 +00001722 UnEscapeLexed(yytext+1);
1723 llvmAsmlval.StrVal = strdup(yytext+1); // Skip %
1724 return VAR_ID;
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001725 }
1726 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001727case 102:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001728YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001729#line 295 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001730{
Owen Anderson1dc69692006-10-18 02:21:48 +00001731 yytext[strlen(yytext)-1] = 0; // nuke colon
1732 UnEscapeLexed(yytext);
1733 llvmAsmlval.StrVal = strdup(yytext);
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001734 return LABELSTR;
1735 }
1736 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001737case 103:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001738YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001739#line 301 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1740{
1741 yytext[strlen(yytext)-2] = 0; // nuke colon, end quote
1742 UnEscapeLexed(yytext+1);
1743 llvmAsmlval.StrVal = strdup(yytext+1);
1744 return LABELSTR;
1745 }
1746 YY_BREAK
1747case 104:
1748YY_RULE_SETUP
1749#line 308 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001750{ // Note that we cannot unescape a string constant here! The
1751 // string constant might contain a \00 which would not be
1752 // understood by the string stuff. It is valid to make a
1753 // [sbyte] c"Hello World\00" constant, for example.
1754 //
Owen Anderson1dc69692006-10-18 02:21:48 +00001755 yytext[strlen(yytext)-1] = 0; // nuke end quote
1756 llvmAsmlval.StrVal = strdup(yytext+1); // Nuke start quote
Reid Spencer68a24bd2005-08-27 18:50:39 +00001757 return STRINGCONSTANT;
1758 }
1759 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001760case 105:
Chris Lattner75466192006-05-19 21:28:53 +00001761YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001762#line 319 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1763{ llvmAsmlval.UInt64Val = atoull(yytext); return EUINT64VAL; }
1764 YY_BREAK
1765case 106:
1766YY_RULE_SETUP
1767#line 320 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001768{
Owen Anderson1dc69692006-10-18 02:21:48 +00001769 uint64_t Val = atoull(yytext+1);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001770 // +1: we have bigger negative range
1771 if (Val > (uint64_t)INT64_MAX+1)
Reid Spencer61c83e02006-08-18 08:43:06 +00001772 GenerateError("Constant too large for signed 64 bits!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001773 llvmAsmlval.SInt64Val = -Val;
1774 return ESINT64VAL;
1775 }
1776 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001777case 107:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001778YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001779#line 328 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001780{
Owen Anderson1dc69692006-10-18 02:21:48 +00001781 llvmAsmlval.UInt64Val = HexIntToVal(yytext+3);
1782 return yytext[0] == 's' ? ESINT64VAL : EUINT64VAL;
1783 }
1784 YY_BREAK
1785case 108:
1786YY_RULE_SETUP
1787#line 333 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1788{
1789 uint64_t Val = atoull(yytext+1);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001790 if ((unsigned)Val != Val)
Reid Spencer61c83e02006-08-18 08:43:06 +00001791 GenerateError("Invalid value number (too large)!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001792 llvmAsmlval.UIntVal = unsigned(Val);
1793 return UINTVAL;
1794 }
1795 YY_BREAK
Owen Anderson1dc69692006-10-18 02:21:48 +00001796case 109:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001797YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001798#line 340 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001799{
Owen Anderson1dc69692006-10-18 02:21:48 +00001800 uint64_t Val = atoull(yytext+2);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001801 // +1: we have bigger negative range
1802 if (Val > (uint64_t)INT32_MAX+1)
Reid Spencer61c83e02006-08-18 08:43:06 +00001803 GenerateError("Constant too large for signed 32 bits!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001804 llvmAsmlval.SIntVal = (int)-Val;
1805 return SINTVAL;
1806 }
1807 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001808case 110:
Chris Lattner75466192006-05-19 21:28:53 +00001809YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001810#line 349 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1811{ llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
1812 YY_BREAK
1813case 111:
1814YY_RULE_SETUP
1815#line 350 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1816{ llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001817 YY_BREAK
1818case YY_STATE_EOF(INITIAL):
Owen Anderson1dc69692006-10-18 02:21:48 +00001819#line 352 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001820{
1821 /* Make sure to free the internal buffers for flex when we are
1822 * done reading our input!
1823 */
Owen Anderson1dc69692006-10-18 02:21:48 +00001824 yy_delete_buffer(YY_CURRENT_BUFFER);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001825 return EOF;
1826 }
1827 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001828case 112:
Chris Lattner75466192006-05-19 21:28:53 +00001829YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001830#line 360 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1831{ /* Ignore whitespace */ }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001832 YY_BREAK
1833case 113:
1834YY_RULE_SETUP
Owen Anderson1dc69692006-10-18 02:21:48 +00001835#line 361 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1836{ return yytext[0]; }
1837 YY_BREAK
1838case 114:
1839YY_RULE_SETUP
1840#line 363 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001841YY_FATAL_ERROR( "flex scanner jammed" );
1842 YY_BREAK
Owen Anderson1dc69692006-10-18 02:21:48 +00001843#line 1844 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001844
1845 case YY_END_OF_BUFFER:
1846 {
1847 /* Amount of text matched not including the EOB char. */
Owen Anderson1dc69692006-10-18 02:21:48 +00001848 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001849
1850 /* Undo the effects of YY_DO_BEFORE_ACTION. */
Owen Anderson1dc69692006-10-18 02:21:48 +00001851 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001852 YY_RESTORE_YY_MORE_OFFSET
1853
Owen Anderson1dc69692006-10-18 02:21:48 +00001854 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001855 {
1856 /* We're scanning a new file or input source. It's
1857 * possible that this happened because the user
Owen Anderson1dc69692006-10-18 02:21:48 +00001858 * just pointed yyin at a new source and called
1859 * yylex(). If so, then we have to assure
1860 * consistency between yy_current_buffer and our
Reid Spencer68a24bd2005-08-27 18:50:39 +00001861 * globals. Here is the right place to do so, because
1862 * this is the first action (other than possibly a
1863 * back-up) that will match for the new input source.
1864 */
Owen Anderson1dc69692006-10-18 02:21:48 +00001865 yy_n_chars = yy_current_buffer->yy_n_chars;
1866 yy_current_buffer->yy_input_file = yyin;
1867 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001868 }
1869
1870 /* Note that here we test for yy_c_buf_p "<=" to the position
1871 * of the first EOB in the buffer, since yy_c_buf_p will
1872 * already have been incremented past the NUL character
1873 * (since all states make transitions on EOB to the
1874 * end-of-buffer state). Contrast this with the test
1875 * in input().
1876 */
Owen Anderson1dc69692006-10-18 02:21:48 +00001877 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001878 { /* This was really a NUL. */
1879 yy_state_type yy_next_state;
1880
Owen Anderson1dc69692006-10-18 02:21:48 +00001881 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001882
Owen Anderson1dc69692006-10-18 02:21:48 +00001883 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00001884
1885 /* Okay, we're now positioned to make the NUL
1886 * transition. We couldn't have
1887 * yy_get_previous_state() go ahead and do it
1888 * for us because it doesn't know how to deal
1889 * with the possibility of jamming (and we don't
1890 * want to build jamming into it because then it
1891 * will run more slowly).
1892 */
1893
1894 yy_next_state = yy_try_NUL_trans( yy_current_state );
1895
Owen Anderson1dc69692006-10-18 02:21:48 +00001896 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001897
1898 if ( yy_next_state )
1899 {
1900 /* Consume the NUL. */
Owen Anderson1dc69692006-10-18 02:21:48 +00001901 yy_cp = ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001902 yy_current_state = yy_next_state;
1903 goto yy_match;
1904 }
1905
1906 else
1907 {
Owen Anderson1dc69692006-10-18 02:21:48 +00001908 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001909 goto yy_find_action;
1910 }
1911 }
1912
Owen Anderson1dc69692006-10-18 02:21:48 +00001913 else switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001914 {
1915 case EOB_ACT_END_OF_FILE:
1916 {
Owen Anderson1dc69692006-10-18 02:21:48 +00001917 yy_did_buffer_switch_on_eof = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001918
Owen Anderson1dc69692006-10-18 02:21:48 +00001919 if ( yywrap() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001920 {
1921 /* Note: because we've taken care in
1922 * yy_get_next_buffer() to have set up
Owen Anderson1dc69692006-10-18 02:21:48 +00001923 * yytext, we can now set up
Reid Spencer68a24bd2005-08-27 18:50:39 +00001924 * yy_c_buf_p so that if some total
1925 * hoser (like flex itself) wants to
1926 * call the scanner after we return the
1927 * YY_NULL, it'll still work - another
1928 * YY_NULL will get returned.
1929 */
Owen Anderson1dc69692006-10-18 02:21:48 +00001930 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001931
1932 yy_act = YY_STATE_EOF(YY_START);
1933 goto do_action;
1934 }
1935
1936 else
1937 {
Owen Anderson1dc69692006-10-18 02:21:48 +00001938 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001939 YY_NEW_FILE;
1940 }
1941 break;
1942 }
1943
1944 case EOB_ACT_CONTINUE_SCAN:
Owen Anderson1dc69692006-10-18 02:21:48 +00001945 yy_c_buf_p =
1946 yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001947
Owen Anderson1dc69692006-10-18 02:21:48 +00001948 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00001949
Owen Anderson1dc69692006-10-18 02:21:48 +00001950 yy_cp = yy_c_buf_p;
1951 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001952 goto yy_match;
1953
1954 case EOB_ACT_LAST_MATCH:
Owen Anderson1dc69692006-10-18 02:21:48 +00001955 yy_c_buf_p =
1956 &yy_current_buffer->yy_ch_buf[yy_n_chars];
Reid Spencer68a24bd2005-08-27 18:50:39 +00001957
Owen Anderson1dc69692006-10-18 02:21:48 +00001958 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00001959
Owen Anderson1dc69692006-10-18 02:21:48 +00001960 yy_cp = yy_c_buf_p;
1961 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001962 goto yy_find_action;
1963 }
1964 break;
1965 }
1966
1967 default:
1968 YY_FATAL_ERROR(
1969 "fatal flex scanner internal error--no action found" );
1970 } /* end of action switch */
1971 } /* end of scanning one token */
Owen Anderson1dc69692006-10-18 02:21:48 +00001972 } /* end of yylex */
1973
Reid Spencer68a24bd2005-08-27 18:50:39 +00001974
1975/* yy_get_next_buffer - try to read in a new buffer
1976 *
1977 * Returns a code representing an action:
1978 * EOB_ACT_LAST_MATCH -
1979 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
1980 * EOB_ACT_END_OF_FILE - end of file
1981 */
Owen Anderson1dc69692006-10-18 02:21:48 +00001982
1983static int yy_get_next_buffer()
1984 {
1985 register char *dest = yy_current_buffer->yy_ch_buf;
1986 register char *source = yytext_ptr;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001987 register int number_to_move, i;
1988 int ret_val;
1989
Owen Anderson1dc69692006-10-18 02:21:48 +00001990 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001991 YY_FATAL_ERROR(
1992 "fatal flex scanner internal error--end of buffer missed" );
1993
Owen Anderson1dc69692006-10-18 02:21:48 +00001994 if ( yy_current_buffer->yy_fill_buffer == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001995 { /* Don't try to fill the buffer, so this is an EOF. */
Owen Anderson1dc69692006-10-18 02:21:48 +00001996 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001997 {
1998 /* We matched a single character, the EOB, so
1999 * treat this as a final EOF.
2000 */
2001 return EOB_ACT_END_OF_FILE;
2002 }
2003
2004 else
2005 {
2006 /* We matched some text prior to the EOB, first
2007 * process it.
2008 */
2009 return EOB_ACT_LAST_MATCH;
2010 }
2011 }
2012
2013 /* Try to read more data. */
2014
2015 /* First move last chars to start of buffer. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002016 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002017
2018 for ( i = 0; i < number_to_move; ++i )
2019 *(dest++) = *(source++);
2020
Owen Anderson1dc69692006-10-18 02:21:48 +00002021 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002022 /* don't do the read, it's not guaranteed to return an EOF,
2023 * just force an EOF
2024 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002025 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002026
2027 else
2028 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002029 int num_to_read =
2030 yy_current_buffer->yy_buf_size - number_to_move - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002031
2032 while ( num_to_read <= 0 )
2033 { /* Not enough room in the buffer - grow it. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002034#ifdef YY_USES_REJECT
2035 YY_FATAL_ERROR(
2036"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
2037#else
Reid Spencer68a24bd2005-08-27 18:50:39 +00002038
2039 /* just a shorter name for the current buffer */
Owen Anderson1dc69692006-10-18 02:21:48 +00002040 YY_BUFFER_STATE b = yy_current_buffer;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002041
2042 int yy_c_buf_p_offset =
Owen Anderson1dc69692006-10-18 02:21:48 +00002043 (int) (yy_c_buf_p - b->yy_ch_buf);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002044
2045 if ( b->yy_is_our_buffer )
2046 {
2047 int new_size = b->yy_buf_size * 2;
2048
2049 if ( new_size <= 0 )
2050 b->yy_buf_size += b->yy_buf_size / 8;
2051 else
2052 b->yy_buf_size *= 2;
2053
2054 b->yy_ch_buf = (char *)
2055 /* Include room in for 2 EOB chars. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002056 yy_flex_realloc( (void *) b->yy_ch_buf,
2057 b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002058 }
2059 else
2060 /* Can't grow it, we don't own it. */
2061 b->yy_ch_buf = 0;
2062
2063 if ( ! b->yy_ch_buf )
2064 YY_FATAL_ERROR(
2065 "fatal error - scanner input buffer overflow" );
2066
Owen Anderson1dc69692006-10-18 02:21:48 +00002067 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002068
Owen Anderson1dc69692006-10-18 02:21:48 +00002069 num_to_read = yy_current_buffer->yy_buf_size -
Reid Spencer68a24bd2005-08-27 18:50:39 +00002070 number_to_move - 1;
Owen Anderson1dc69692006-10-18 02:21:48 +00002071#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002072 }
2073
2074 if ( num_to_read > YY_READ_BUF_SIZE )
2075 num_to_read = YY_READ_BUF_SIZE;
2076
2077 /* Read in more data. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002078 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
2079 yy_n_chars, num_to_read );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002080
Owen Anderson1dc69692006-10-18 02:21:48 +00002081 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002082 }
2083
Owen Anderson1dc69692006-10-18 02:21:48 +00002084 if ( yy_n_chars == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002085 {
2086 if ( number_to_move == YY_MORE_ADJ )
2087 {
2088 ret_val = EOB_ACT_END_OF_FILE;
Owen Anderson1dc69692006-10-18 02:21:48 +00002089 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002090 }
2091
2092 else
2093 {
2094 ret_val = EOB_ACT_LAST_MATCH;
Owen Anderson1dc69692006-10-18 02:21:48 +00002095 yy_current_buffer->yy_buffer_status =
Reid Spencer68a24bd2005-08-27 18:50:39 +00002096 YY_BUFFER_EOF_PENDING;
2097 }
2098 }
2099
2100 else
2101 ret_val = EOB_ACT_CONTINUE_SCAN;
2102
Owen Anderson1dc69692006-10-18 02:21:48 +00002103 yy_n_chars += number_to_move;
2104 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2105 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002106
Owen Anderson1dc69692006-10-18 02:21:48 +00002107 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002108
2109 return ret_val;
Owen Anderson1dc69692006-10-18 02:21:48 +00002110 }
2111
Reid Spencer68a24bd2005-08-27 18:50:39 +00002112
2113/* yy_get_previous_state - get the state just before the EOB char was reached */
2114
Owen Anderson1dc69692006-10-18 02:21:48 +00002115static yy_state_type yy_get_previous_state()
2116 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002117 register yy_state_type yy_current_state;
2118 register char *yy_cp;
2119
Owen Anderson1dc69692006-10-18 02:21:48 +00002120 yy_current_state = yy_start;
2121 yy_state_ptr = yy_state_buf;
2122 *yy_state_ptr++ = yy_current_state;
2123
2124 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002125 {
2126 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2127 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2128 {
2129 yy_current_state = (int) yy_def[yy_current_state];
Owen Anderson1dc69692006-10-18 02:21:48 +00002130 if ( yy_current_state >= 504 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002131 yy_c = yy_meta[(unsigned int) yy_c];
2132 }
2133 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Owen Anderson1dc69692006-10-18 02:21:48 +00002134 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002135 }
2136
2137 return yy_current_state;
Owen Anderson1dc69692006-10-18 02:21:48 +00002138 }
2139
Reid Spencer68a24bd2005-08-27 18:50:39 +00002140
2141/* yy_try_NUL_trans - try to make a transition on the NUL character
2142 *
2143 * synopsis
2144 * next_state = yy_try_NUL_trans( current_state );
2145 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002146
2147#ifdef YY_USE_PROTOS
2148static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
2149#else
2150static yy_state_type yy_try_NUL_trans( yy_current_state )
2151yy_state_type yy_current_state;
2152#endif
2153 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002154 register int yy_is_jam;
2155
2156 register YY_CHAR yy_c = 1;
2157 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2158 {
2159 yy_current_state = (int) yy_def[yy_current_state];
Owen Anderson1dc69692006-10-18 02:21:48 +00002160 if ( yy_current_state >= 504 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002161 yy_c = yy_meta[(unsigned int) yy_c];
2162 }
2163 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Owen Anderson1dc69692006-10-18 02:21:48 +00002164 yy_is_jam = (yy_current_state == 503);
2165 if ( ! yy_is_jam )
2166 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002167
2168 return yy_is_jam ? 0 : yy_current_state;
Owen Anderson1dc69692006-10-18 02:21:48 +00002169 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002170
2171
Owen Anderson1dc69692006-10-18 02:21:48 +00002172#ifndef YY_NO_UNPUT
2173#ifdef YY_USE_PROTOS
2174static inline void yyunput( int c, register char *yy_bp )
2175#else
2176static inline void yyunput( c, yy_bp )
2177int c;
2178register char *yy_bp;
2179#endif
2180 {
2181 register char *yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002182
Owen Anderson1dc69692006-10-18 02:21:48 +00002183 /* undo effects of setting up yytext */
2184 *yy_cp = yy_hold_char;
2185
2186 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002187 { /* need to shift things up to make room */
2188 /* +2 for EOB chars. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002189 register int number_to_move = yy_n_chars + 2;
2190 register char *dest = &yy_current_buffer->yy_ch_buf[
2191 yy_current_buffer->yy_buf_size + 2];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002192 register char *source =
Owen Anderson1dc69692006-10-18 02:21:48 +00002193 &yy_current_buffer->yy_ch_buf[number_to_move];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002194
Owen Anderson1dc69692006-10-18 02:21:48 +00002195 while ( source > yy_current_buffer->yy_ch_buf )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002196 *--dest = *--source;
2197
2198 yy_cp += (int) (dest - source);
2199 yy_bp += (int) (dest - source);
Owen Anderson1dc69692006-10-18 02:21:48 +00002200 yy_current_buffer->yy_n_chars =
2201 yy_n_chars = yy_current_buffer->yy_buf_size;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002202
Owen Anderson1dc69692006-10-18 02:21:48 +00002203 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002204 YY_FATAL_ERROR( "flex scanner push-back overflow" );
2205 }
2206
2207 *--yy_cp = (char) c;
2208
Owen Anderson1dc69692006-10-18 02:21:48 +00002209 if ( c == '\n' )
2210 --yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002211
Owen Anderson1dc69692006-10-18 02:21:48 +00002212 yytext_ptr = yy_bp;
2213 yy_hold_char = *yy_cp;
2214 yy_c_buf_p = yy_cp;
2215 }
2216#endif /* ifndef YY_NO_UNPUT */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002217
Owen Anderson1dc69692006-10-18 02:21:48 +00002218
Reid Spencer68a24bd2005-08-27 18:50:39 +00002219#ifdef __cplusplus
Owen Anderson1dc69692006-10-18 02:21:48 +00002220static int yyinput()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002221#else
Owen Anderson1dc69692006-10-18 02:21:48 +00002222static int input()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002223#endif
Owen Anderson1dc69692006-10-18 02:21:48 +00002224 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002225 int c;
2226
Owen Anderson1dc69692006-10-18 02:21:48 +00002227 *yy_c_buf_p = yy_hold_char;
2228
2229 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002230 {
2231 /* yy_c_buf_p now points to the character we want to return.
2232 * If this occurs *before* the EOB characters, then it's a
2233 * valid NUL; if not, then we've hit the end of the buffer.
2234 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002235 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002236 /* This was really a NUL. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002237 *yy_c_buf_p = '\0';
Reid Spencer68a24bd2005-08-27 18:50:39 +00002238
2239 else
2240 { /* need more input */
Owen Anderson1dc69692006-10-18 02:21:48 +00002241 int offset = yy_c_buf_p - yytext_ptr;
2242 ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002243
Owen Anderson1dc69692006-10-18 02:21:48 +00002244 switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002245 {
2246 case EOB_ACT_LAST_MATCH:
2247 /* This happens because yy_g_n_b()
2248 * sees that we've accumulated a
2249 * token and flags that we need to
2250 * try matching the token before
2251 * proceeding. But for input(),
2252 * there's no matching to consider.
2253 * So convert the EOB_ACT_LAST_MATCH
2254 * to EOB_ACT_END_OF_FILE.
2255 */
2256
2257 /* Reset buffer status. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002258 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002259
Owen Anderson1dc69692006-10-18 02:21:48 +00002260 /* fall through */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002261
2262 case EOB_ACT_END_OF_FILE:
2263 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002264 if ( yywrap() )
Reid Spencer61c83e02006-08-18 08:43:06 +00002265 return EOF;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002266
Owen Anderson1dc69692006-10-18 02:21:48 +00002267 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002268 YY_NEW_FILE;
2269#ifdef __cplusplus
2270 return yyinput();
2271#else
2272 return input();
2273#endif
2274 }
2275
2276 case EOB_ACT_CONTINUE_SCAN:
Owen Anderson1dc69692006-10-18 02:21:48 +00002277 yy_c_buf_p = yytext_ptr + offset;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002278 break;
2279 }
2280 }
2281 }
2282
Owen Anderson1dc69692006-10-18 02:21:48 +00002283 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
2284 *yy_c_buf_p = '\0'; /* preserve yytext */
2285 yy_hold_char = *++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002286
2287 if ( c == '\n' )
Owen Anderson1dc69692006-10-18 02:21:48 +00002288 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002289
2290 return c;
2291 }
Chris Lattner224f84f2006-08-18 17:34:45 +00002292
Reid Spencer68a24bd2005-08-27 18:50:39 +00002293
Owen Anderson1dc69692006-10-18 02:21:48 +00002294#ifdef YY_USE_PROTOS
2295void yyrestart( FILE *input_file )
2296#else
2297void yyrestart( input_file )
2298FILE *input_file;
2299#endif
2300 {
2301 if ( ! yy_current_buffer )
2302 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
2303
2304 yy_init_buffer( yy_current_buffer, input_file );
2305 yy_load_buffer_state();
2306 }
2307
2308
2309#ifdef YY_USE_PROTOS
2310void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
2311#else
2312void yy_switch_to_buffer( new_buffer )
2313YY_BUFFER_STATE new_buffer;
2314#endif
2315 {
2316 if ( yy_current_buffer == new_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002317 return;
2318
Owen Anderson1dc69692006-10-18 02:21:48 +00002319 if ( yy_current_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002320 {
2321 /* Flush out information for old buffer. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002322 *yy_c_buf_p = yy_hold_char;
2323 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
2324 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002325 }
2326
Owen Anderson1dc69692006-10-18 02:21:48 +00002327 yy_current_buffer = new_buffer;
2328 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002329
2330 /* We don't actually know whether we did this switch during
Owen Anderson1dc69692006-10-18 02:21:48 +00002331 * EOF (yywrap()) processing, but the only time this flag
2332 * is looked at is after yywrap() is called, so it's safe
Reid Spencer68a24bd2005-08-27 18:50:39 +00002333 * to go ahead and always set it.
2334 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002335 yy_did_buffer_switch_on_eof = 1;
2336 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002337
2338
Owen Anderson1dc69692006-10-18 02:21:48 +00002339#ifdef YY_USE_PROTOS
2340void yy_load_buffer_state( void )
2341#else
2342void yy_load_buffer_state()
2343#endif
2344 {
2345 yy_n_chars = yy_current_buffer->yy_n_chars;
2346 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
2347 yyin = yy_current_buffer->yy_input_file;
2348 yy_hold_char = *yy_c_buf_p;
2349 }
2350
2351
2352#ifdef YY_USE_PROTOS
2353YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
2354#else
2355YY_BUFFER_STATE yy_create_buffer( file, size )
2356FILE *file;
2357int size;
2358#endif
2359 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002360 YY_BUFFER_STATE b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002361
2362 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002363 if ( ! b )
Owen Anderson1dc69692006-10-18 02:21:48 +00002364 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002365
2366 b->yy_buf_size = size;
2367
2368 /* yy_ch_buf has to be 2 characters longer than the size given because
2369 * we need to put in 2 end-of-buffer characters.
2370 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002371 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002372 if ( ! b->yy_ch_buf )
Owen Anderson1dc69692006-10-18 02:21:48 +00002373 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002374
2375 b->yy_is_our_buffer = 1;
2376
Owen Anderson1dc69692006-10-18 02:21:48 +00002377 yy_init_buffer( b, file );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002378
2379 return b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002380 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002381
Owen Anderson1dc69692006-10-18 02:21:48 +00002382
2383#ifdef YY_USE_PROTOS
2384void yy_delete_buffer( YY_BUFFER_STATE b )
2385#else
2386void yy_delete_buffer( b )
2387YY_BUFFER_STATE b;
2388#endif
2389 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002390 if ( ! b )
2391 return;
2392
Owen Anderson1dc69692006-10-18 02:21:48 +00002393 if ( b == yy_current_buffer )
2394 yy_current_buffer = (YY_BUFFER_STATE) 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002395
2396 if ( b->yy_is_our_buffer )
Owen Anderson1dc69692006-10-18 02:21:48 +00002397 yy_flex_free( (void *) b->yy_ch_buf );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002398
Owen Anderson1dc69692006-10-18 02:21:48 +00002399 yy_flex_free( (void *) b );
2400 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002401
2402
Owen Anderson1dc69692006-10-18 02:21:48 +00002403#ifndef YY_ALWAYS_INTERACTIVE
2404#ifndef YY_NEVER_INTERACTIVE
2405extern int isatty YY_PROTO(( int ));
2406#endif
2407#endif
2408
2409#ifdef YY_USE_PROTOS
2410void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
2411#else
2412void yy_init_buffer( b, file )
2413YY_BUFFER_STATE b;
2414FILE *file;
2415#endif
2416
2417
2418 {
2419 yy_flush_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002420
2421 b->yy_input_file = file;
2422 b->yy_fill_buffer = 1;
2423
Owen Anderson1dc69692006-10-18 02:21:48 +00002424#if YY_ALWAYS_INTERACTIVE
2425 b->yy_is_interactive = 1;
2426#else
2427#if YY_NEVER_INTERACTIVE
2428 b->yy_is_interactive = 0;
2429#else
2430 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
2431#endif
2432#endif
2433 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002434
2435
Owen Anderson1dc69692006-10-18 02:21:48 +00002436#ifdef YY_USE_PROTOS
2437void yy_flush_buffer( YY_BUFFER_STATE b )
2438#else
2439void yy_flush_buffer( b )
2440YY_BUFFER_STATE b;
2441#endif
2442
2443 {
2444 if ( ! b )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002445 return;
2446
2447 b->yy_n_chars = 0;
2448
2449 /* We always need two end-of-buffer characters. The first causes
2450 * a transition to the end-of-buffer state. The second causes
2451 * a jam in that state.
2452 */
2453 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2454 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2455
2456 b->yy_buf_pos = &b->yy_ch_buf[0];
2457
2458 b->yy_at_bol = 1;
2459 b->yy_buffer_status = YY_BUFFER_NEW;
2460
Owen Anderson1dc69692006-10-18 02:21:48 +00002461 if ( b == yy_current_buffer )
2462 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002463 }
2464
2465
Owen Anderson1dc69692006-10-18 02:21:48 +00002466#ifndef YY_NO_SCAN_BUFFER
2467#ifdef YY_USE_PROTOS
2468YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
2469#else
2470YY_BUFFER_STATE yy_scan_buffer( base, size )
2471char *base;
2472yy_size_t size;
2473#endif
2474 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002475 YY_BUFFER_STATE b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002476
Reid Spencer68a24bd2005-08-27 18:50:39 +00002477 if ( size < 2 ||
2478 base[size-2] != YY_END_OF_BUFFER_CHAR ||
2479 base[size-1] != YY_END_OF_BUFFER_CHAR )
2480 /* They forgot to leave room for the EOB's. */
2481 return 0;
2482
Owen Anderson1dc69692006-10-18 02:21:48 +00002483 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002484 if ( ! b )
Owen Anderson1dc69692006-10-18 02:21:48 +00002485 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002486
2487 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2488 b->yy_buf_pos = b->yy_ch_buf = base;
2489 b->yy_is_our_buffer = 0;
2490 b->yy_input_file = 0;
2491 b->yy_n_chars = b->yy_buf_size;
2492 b->yy_is_interactive = 0;
2493 b->yy_at_bol = 1;
2494 b->yy_fill_buffer = 0;
2495 b->yy_buffer_status = YY_BUFFER_NEW;
2496
Owen Anderson1dc69692006-10-18 02:21:48 +00002497 yy_switch_to_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002498
2499 return b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002500 }
2501#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002502
2503
Owen Anderson1dc69692006-10-18 02:21:48 +00002504#ifndef YY_NO_SCAN_STRING
2505#ifdef YY_USE_PROTOS
2506YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
2507#else
2508YY_BUFFER_STATE yy_scan_string( yy_str )
2509yyconst char *yy_str;
2510#endif
2511 {
2512 int len;
2513 for ( len = 0; yy_str[len]; ++len )
2514 ;
2515
2516 return yy_scan_bytes( yy_str, len );
2517 }
2518#endif
2519
2520
2521#ifndef YY_NO_SCAN_BYTES
2522#ifdef YY_USE_PROTOS
2523YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
2524#else
2525YY_BUFFER_STATE yy_scan_bytes( bytes, len )
2526yyconst char *bytes;
2527int len;
2528#endif
2529 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002530 YY_BUFFER_STATE b;
2531 char *buf;
2532 yy_size_t n;
2533 int i;
Owen Anderson1dc69692006-10-18 02:21:48 +00002534
Reid Spencer68a24bd2005-08-27 18:50:39 +00002535 /* Get memory for full buffer, including space for trailing EOB's. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002536 n = len + 2;
2537 buf = (char *) yy_flex_alloc( n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002538 if ( ! buf )
Owen Anderson1dc69692006-10-18 02:21:48 +00002539 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002540
Owen Anderson1dc69692006-10-18 02:21:48 +00002541 for ( i = 0; i < len; ++i )
2542 buf[i] = bytes[i];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002543
Owen Anderson1dc69692006-10-18 02:21:48 +00002544 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002545
Owen Anderson1dc69692006-10-18 02:21:48 +00002546 b = yy_scan_buffer( buf, n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002547 if ( ! b )
Owen Anderson1dc69692006-10-18 02:21:48 +00002548 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002549
2550 /* It's okay to grow etc. this buffer, and we should throw it
2551 * away when we're done.
2552 */
2553 b->yy_is_our_buffer = 1;
2554
2555 return b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002556 }
2557#endif
2558
2559
2560#ifndef YY_NO_PUSH_STATE
2561#ifdef YY_USE_PROTOS
2562static void yy_push_state( int new_state )
2563#else
2564static void yy_push_state( new_state )
2565int new_state;
2566#endif
2567 {
2568 if ( yy_start_stack_ptr >= yy_start_stack_depth )
2569 {
2570 yy_size_t new_size;
2571
2572 yy_start_stack_depth += YY_START_STACK_INCR;
2573 new_size = yy_start_stack_depth * sizeof( int );
2574
2575 if ( ! yy_start_stack )
2576 yy_start_stack = (int *) yy_flex_alloc( new_size );
2577
2578 else
2579 yy_start_stack = (int *) yy_flex_realloc(
2580 (void *) yy_start_stack, new_size );
2581
2582 if ( ! yy_start_stack )
2583 YY_FATAL_ERROR(
2584 "out of memory expanding start-condition stack" );
2585 }
2586
2587 yy_start_stack[yy_start_stack_ptr++] = YY_START;
2588
2589 BEGIN(new_state);
2590 }
2591#endif
2592
2593
2594#ifndef YY_NO_POP_STATE
2595static void yy_pop_state()
2596 {
2597 if ( --yy_start_stack_ptr < 0 )
2598 YY_FATAL_ERROR( "start-condition stack underflow" );
2599
2600 BEGIN(yy_start_stack[yy_start_stack_ptr]);
2601 }
2602#endif
2603
2604
2605#ifndef YY_NO_TOP_STATE
2606static int yy_top_state()
2607 {
2608 return yy_start_stack[yy_start_stack_ptr - 1];
2609 }
2610#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002611
2612#ifndef YY_EXIT_FAILURE
2613#define YY_EXIT_FAILURE 2
2614#endif
2615
Owen Anderson1dc69692006-10-18 02:21:48 +00002616#ifdef YY_USE_PROTOS
2617static void yy_fatal_error( yyconst char msg[] )
2618#else
2619static void yy_fatal_error( msg )
2620char msg[];
2621#endif
2622 {
2623 (void) fprintf( stderr, "%s\n", msg );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002624 exit( YY_EXIT_FAILURE );
Owen Anderson1dc69692006-10-18 02:21:48 +00002625 }
2626
2627
Reid Spencer68a24bd2005-08-27 18:50:39 +00002628
2629/* Redefine yyless() so it works in section 3 code. */
2630
2631#undef yyless
2632#define yyless(n) \
2633 do \
2634 { \
Owen Anderson1dc69692006-10-18 02:21:48 +00002635 /* Undo effects of setting up yytext. */ \
2636 yytext[yyleng] = yy_hold_char; \
2637 yy_c_buf_p = yytext + n; \
2638 yy_hold_char = *yy_c_buf_p; \
2639 *yy_c_buf_p = '\0'; \
2640 yyleng = n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00002641 } \
2642 while ( 0 )
2643
2644
Owen Anderson1dc69692006-10-18 02:21:48 +00002645/* Internal utility routines. */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002646
2647#ifndef yytext_ptr
Owen Anderson1dc69692006-10-18 02:21:48 +00002648#ifdef YY_USE_PROTOS
2649static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
2650#else
2651static void yy_flex_strncpy( s1, s2, n )
2652char *s1;
2653yyconst char *s2;
2654int n;
2655#endif
2656 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002657 register int i;
2658 for ( i = 0; i < n; ++i )
2659 s1[i] = s2[i];
Owen Anderson1dc69692006-10-18 02:21:48 +00002660 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002661#endif
2662
2663#ifdef YY_NEED_STRLEN
Owen Anderson1dc69692006-10-18 02:21:48 +00002664#ifdef YY_USE_PROTOS
2665static int yy_flex_strlen( yyconst char *s )
2666#else
2667static int yy_flex_strlen( s )
2668yyconst char *s;
2669#endif
2670 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002671 register int n;
2672 for ( n = 0; s[n]; ++n )
2673 ;
2674
2675 return n;
Owen Anderson1dc69692006-10-18 02:21:48 +00002676 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002677#endif
2678
Reid Spencer68a24bd2005-08-27 18:50:39 +00002679
Owen Anderson1dc69692006-10-18 02:21:48 +00002680#ifdef YY_USE_PROTOS
2681static void *yy_flex_alloc( yy_size_t size )
2682#else
2683static void *yy_flex_alloc( size )
2684yy_size_t size;
2685#endif
2686 {
2687 return (void *) malloc( size );
2688 }
2689
2690#ifdef YY_USE_PROTOS
2691static inline void *yy_flex_realloc( void *ptr, yy_size_t size )
2692#else
2693static inline void *yy_flex_realloc( ptr, size )
2694void *ptr;
2695yy_size_t size;
2696#endif
2697 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002698 /* The cast to (char *) in the following accommodates both
2699 * implementations that use char* generic pointers, and those
2700 * that use void* generic pointers. It works with the latter
2701 * because both ANSI C and C++ allow castless assignment from
2702 * any pointer type to void*, and deal with argument conversions
2703 * as though doing an assignment.
2704 */
2705 return (void *) realloc( (char *) ptr, size );
Owen Anderson1dc69692006-10-18 02:21:48 +00002706 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002707
Owen Anderson1dc69692006-10-18 02:21:48 +00002708#ifdef YY_USE_PROTOS
2709static void yy_flex_free( void *ptr )
2710#else
2711static void yy_flex_free( ptr )
2712void *ptr;
2713#endif
2714 {
2715 free( ptr );
2716 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002717
Owen Anderson1dc69692006-10-18 02:21:48 +00002718#if YY_MAIN
2719int main()
2720 {
2721 yylex();
2722 return 0;
2723 }
2724#endif
2725#line 363 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Chris Lattner2fecc0f2006-02-15 07:02:59 +00002726