blob: 5791e2b1eab506040845a7fdf21e54b8f9642e29 [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 Lattner1ae022f2006-10-22 06:08:13 +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>
Chris Lattner1ae022f2006-10-22 06:08:13 +000044#include <unistd.h>
Owen Anderson1dc69692006-10-18 02:21:48 +000045
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 ));
Chris Lattner1ae022f2006-10-22 06:08:13 +0000262static inline void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
Owen Anderson1dc69692006-10-18 02:21:48 +0000263static 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,
Chris Lattner1ae022f2006-10-22 06:08:13 +0000327 110, 110, 49, 78, 79, 94, 95, 56, 22, 107,
328 26, 4, 61, 55, 48, 11, 110, 36, 2, 5,
329 58, 60, 50, 72, 76, 74, 75, 73, 71, 52,
330 96, 51, 57, 21, 84, 93, 45, 59, 30, 24,
331 44, 7, 89, 33, 92, 38, 62, 80, 88, 27,
332 28, 90, 53, 85, 83, 43, 6, 29, 37, 8,
333 17, 9, 10, 35, 12, 14, 13, 32, 40, 15,
Owen Anderson1dc69692006-10-18 02:21:48 +0000334 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
Chris Lattner1ae022f2006-10-22 06:08:13 +0000339static yyconst short int yy_accept[511] =
Owen Anderson1dc69692006-10-18 02:21:48 +0000340 { 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,
Chris Lattner1ae022f2006-10-22 06:08:13 +0000365 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
366 116, 116, 116, 116, 116, 117, 117, 117, 117, 117,
367 117, 117, 117, 117, 117, 118, 119, 119, 119, 120,
368 120, 120, 121, 121, 121, 121, 121, 121, 121, 121,
369 121, 121, 121, 121, 121, 122, 122, 122, 123, 124,
370 124, 125, 125, 125, 125, 125, 125, 125, 125, 125,
371 125, 126, 126, 127, 127, 127, 128, 129, 129, 129,
372 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
Owen Anderson1dc69692006-10-18 02:21:48 +0000373
Chris Lattner1ae022f2006-10-22 06:08:13 +0000374 130, 130, 130, 130, 131, 131, 132, 132, 132, 132,
375 132, 132, 132, 133, 133, 133, 133, 133, 133, 133,
376 134, 134, 134, 135, 136, 137, 138, 139, 140, 141,
377 141, 141, 142, 142, 142, 142, 143, 144, 145, 145,
378 145, 145, 145, 145, 146, 146, 146, 146, 146, 146,
379 147, 147, 148, 148, 148, 148, 148, 148, 148, 148,
380 149, 150, 151, 151, 151, 152, 152, 153, 153, 153,
381 153, 154, 154, 155, 156, 157, 158, 158, 158, 159,
382 159, 159, 160, 161, 162, 162, 162, 163, 164, 165,
383 166, 166, 166, 166, 166, 166, 166, 167, 167, 168,
Owen Anderson1dc69692006-10-18 02:21:48 +0000384
Chris Lattner1ae022f2006-10-22 06:08:13 +0000385 169, 169, 169, 169, 169, 169, 169, 169, 169, 169,
386 169, 169, 170, 170, 170, 170, 170, 170, 170, 170,
387 170, 170, 171, 171, 171, 171, 171, 172, 172, 172,
388 172, 172, 173, 174, 174, 174, 174, 174, 174, 175,
389 175, 175, 175, 176, 176, 177, 178, 178, 178, 178,
390 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
391 179, 179, 179, 179, 179, 179, 179, 179, 180, 180,
392 180, 180, 180, 180, 181, 181, 181, 181, 181, 182,
393 182, 182, 183, 183, 183, 183, 183, 183, 183, 183,
394 183, 183, 183, 183, 183, 183, 184, 184, 185, 186,
Owen Anderson1dc69692006-10-18 02:21:48 +0000395
Chris Lattner1ae022f2006-10-22 06:08:13 +0000396 187, 187, 188, 188, 189, 190, 191, 191, 192, 192
Owen Anderson1dc69692006-10-18 02:21:48 +0000397 } ;
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
Chris Lattner1ae022f2006-10-22 06:08:13 +0000440static yyconst short int yy_base[515] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000441 { 0,
Chris Lattner1ae022f2006-10-22 06:08:13 +0000442 0, 0, 1108, 1109, 1109, 1109, 1103, 1092, 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,
Chris Lattner1ae022f2006-10-22 06:08:13 +0000445 120, 168, 112, 115, 135, 127, 1101, 1109, 1090, 1109,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000446 0, 158, 173, 180, 196, 70, 201, 216, 221, 0,
Chris Lattner1ae022f2006-10-22 06:08:13 +0000447 121, 152, 123, 139, 166, 140, 162, 184, 1089, 222,
Owen Anderson1dc69692006-10-18 02:21:48 +0000448 180, 31, 186, 119, 232, 208, 144, 225, 234, 236,
449 235, 188, 238, 240, 246, 241, 245, 203, 248, 256,
Chris Lattner1ae022f2006-10-22 06:08:13 +0000450 254, 258, 262, 252, 272, 274, 1088, 276, 278, 280,
451 255, 253, 283, 284, 285, 286, 288, 297, 300, 1087,
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,
Chris Lattner1ae022f2006-10-22 06:08:13 +0000454 147, 329, 330, 1086, 0, 344, 349, 1085, 363, 380,
455 0, 1084, 338, 336, 1083, 355, 1082, 356, 1081, 353,
456 367, 334, 1080, 375, 365, 381, 384, 370, 371, 1079,
Owen Anderson1dc69692006-10-18 02:21:48 +0000457 388, 392, 391, 393, 394, 395, 396, 400, 399, 407,
458 406, 409, 411, 413, 410, 414, 418, 421, 425, 426,
Chris Lattner1ae022f2006-10-22 06:08:13 +0000459 427, 429, 1078, 1077, 430, 431, 1076, 435, 1075, 1074,
460 458, 436, 439, 434, 469, 1073, 449, 1072, 438, 441,
461 458, 1071, 471, 472, 474, 473, 481, 482, 475, 476,
Owen Anderson1dc69692006-10-18 02:21:48 +0000462 483, 488, 489, 493, 495, 496, 504, 501, 503, 505,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000463
Chris Lattner1ae022f2006-10-22 06:08:13 +0000464 510, 507, 516, 1070, 511, 1109, 527, 541, 545, 549,
465 554, 555, 440, 556, 557, 1069, 1068, 1067, 558, 559,
466 560, 517, 528, 518, 561, 189, 562, 563, 566, 569,
467 570, 567, 564, 578, 1066, 579, 581, 580, 584, 587,
468 592, 595, 591, 596, 1065, 1064, 597, 598, 1063, 593,
469 599, 0, 603, 607, 614, 604, 616, 618, 619, 600,
470 626, 629, 631, 630, 1062, 633, 632, 1061, 1060, 634,
471 1059, 635, 644, 645, 648, 649, 650, 651, 652, 655,
472 1058, 656, 1057, 659, 657, 677, 1056, 660, 519, 1055,
473 661, 662, 677, 678, 664, 680, 687, 688, 689, 691,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000474
Chris Lattner1ae022f2006-10-22 06:08:13 +0000475 690, 692, 693, 1054, 694, 1053, 695, 696, 699, 697,
476 702, 703, 1052, 705, 714, 710, 716, 718, 721, 1051,
477 724, 726, 1050, 1049, 1048, 1047, 1046, 1045, 1044, 728,
478 729, 1043, 732, 731, 736, 1042, 1041, 1040, 733, 734,
479 738, 735, 737, 1039, 740, 747, 750, 751, 752, 1038,
480 753, 1037, 759, 757, 761, 762, 765, 767, 768, 1036,
481 1035, 1034, 773, 770, 1033, 772, 1032, 775, 781, 791,
482 1031, 792, 1030, 1029, 1028, 1027, 779, 780, 1026, 794,
483 795, 1025, 1024, 1023, 798, 801, 1022, 1021, 1020, 1019,
484 802, 782, 806, 807, 808, 809, 1018, 810, 1017, 1016,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000485
Chris Lattner1ae022f2006-10-22 06:08:13 +0000486 812, 815, 816, 819, 818, 821, 822, 823, 826, 831,
487 824, 1015, 829, 835, 843, 845, 847, 837, 851, 849,
488 852, 1014, 853, 855, 857, 859, 1013, 861, 862, 864,
489 865, 1012, 1011, 869, 866, 881, 870, 867, 1010, 883,
490 884, 886, 1007, 871, 998, 997, 891, 892, 893, 895,
491 897, 898, 902, 903, 904, 905, 906, 907, 910, 995,
492 914, 908, 912, 918, 921, 923, 919, 994, 925, 929,
493 933, 934, 935, 992, 936, 937, 939, 940, 990, 943,
494 944, 989, 947, 951, 946, 955, 956, 963, 964, 965,
495 966, 968, 969, 967, 970, 985, 971, 984, 983, 979,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000496
Chris Lattner1ae022f2006-10-22 06:08:13 +0000497 973, 783, 982, 602, 477, 446, 978, 333, 1109, 1013,
498 1015, 83, 1019, 80
Reid Spencer68a24bd2005-08-27 18:50:39 +0000499 } ;
500
Chris Lattner1ae022f2006-10-22 06:08:13 +0000501static yyconst short int yy_def[515] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000502 { 0,
Chris Lattner1ae022f2006-10-22 06:08:13 +0000503 509, 1, 509, 509, 509, 509, 510, 511, 512, 509,
504 511, 511, 511, 511, 513, 511, 511, 511, 511, 511,
505 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
506 511, 511, 511, 511, 511, 511, 510, 509, 511, 509,
507 514, 514, 509, 509, 511, 511, 511, 511, 511, 513,
508 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
509 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
510 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
511 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
512 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000513
Chris Lattner1ae022f2006-10-22 06:08:13 +0000514 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
515 511, 511, 511, 509, 514, 514, 509, 511, 511, 511,
516 49, 511, 511, 511, 511, 511, 511, 511, 511, 511,
517 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
518 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
519 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
520 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
521 49, 511, 511, 511, 511, 511, 511, 511, 511, 511,
522 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
523 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000524
Chris Lattner1ae022f2006-10-22 06:08:13 +0000525 511, 511, 511, 511, 511, 509, 509, 509, 509, 511,
526 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
527 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
528 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
529 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
530 511, 171, 511, 511, 511, 511, 511, 511, 511, 511,
531 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
532 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
533 511, 511, 511, 511, 511, 509, 511, 511, 511, 511,
534 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000535
Chris Lattner1ae022f2006-10-22 06:08:13 +0000536 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
537 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
538 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
539 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
540 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
541 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
542 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
543 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
544 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
545 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000546
Chris Lattner1ae022f2006-10-22 06:08:13 +0000547 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
548 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
549 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
550 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
551 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
552 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
553 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
554 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
555 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
556 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000557
Chris Lattner1ae022f2006-10-22 06:08:13 +0000558 511, 511, 511, 511, 511, 511, 511, 511, 0, 509,
559 509, 509, 509, 509
Reid Spencer68a24bd2005-08-27 18:50:39 +0000560 } ;
561
Chris Lattner1ae022f2006-10-22 06:08:13 +0000562static yyconst short int yy_nxt[1153] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000563 { 0,
564 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000565 14, 14, 14, 4, 15, 8, 8, 8, 16, 17,
566 18, 19, 20, 21, 22, 8, 23, 8, 24, 25,
567 26, 27, 28, 8, 29, 30, 31, 32, 33, 34,
568 35, 8, 36, 42, 40, 43, 43, 43, 43, 44,
Owen Anderson1dc69692006-10-18 02:21:48 +0000569 44, 44, 44, 45, 45, 45, 45, 40, 46, 134,
570 40, 135, 40, 40, 47, 48, 48, 48, 48, 40,
571 47, 48, 48, 48, 48, 40, 40, 69, 118, 40,
572 84, 40, 115, 40, 51, 41, 85, 70, 56, 40,
573 90, 52, 57, 53, 40, 54, 49, 58, 55, 60,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000574
Owen Anderson1dc69692006-10-18 02:21:48 +0000575 59, 61, 40, 40, 40, 76, 77, 64, 71, 40,
576 40, 65, 62, 74, 78, 66, 63, 67, 72, 75,
577 68, 40, 79, 40, 73, 40, 81, 80, 40, 86,
578 108, 87, 40, 40, 40, 88, 40, 110, 99, 82,
579 40, 89, 122, 109, 125, 83, 91, 111, 40, 113,
580 40, 100, 40, 40, 101, 137, 92, 40, 203, 93,
581 40, 102, 94, 95, 128, 40, 112, 116, 116, 116,
582 116, 126, 141, 96, 97, 40, 98, 91, 123, 40,
583 124, 40, 43, 43, 43, 43, 129, 103, 117, 44,
584 44, 44, 44, 40, 104, 127, 105, 40, 106, 40,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000585
Owen Anderson1dc69692006-10-18 02:21:48 +0000586 133, 40, 40, 107, 47, 45, 45, 45, 45, 40,
Chris Lattner1ae022f2006-10-22 06:08:13 +0000587 119, 119, 119, 119, 40, 130, 40, 120, 298, 148,
Owen Anderson1dc69692006-10-18 02:21:48 +0000588 136, 40, 156, 120, 47, 48, 48, 48, 48, 40,
589 121, 121, 121, 121, 40, 40, 121, 121, 40, 121,
590 121, 121, 121, 121, 121, 40, 140, 40, 40, 40,
591 131, 40, 138, 40, 40, 143, 144, 132, 40, 40,
592 149, 40, 142, 146, 139, 40, 40, 40, 40, 40,
593 147, 40, 145, 152, 159, 40, 150, 151, 157, 162,
594 153, 154, 161, 155, 158, 40, 160, 40, 164, 40,
595 163, 40, 166, 40, 172, 171, 40, 40, 40, 40,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000596
Owen Anderson1dc69692006-10-18 02:21:48 +0000597 165, 40, 167, 173, 168, 40, 180, 182, 40, 169,
598 40, 174, 176, 40, 40, 177, 170, 181, 178, 175,
599 40, 179, 40, 183, 188, 40, 184, 186, 40, 40,
600 202, 40, 197, 198, 185, 40, 189, 190, 187, 192,
601 191, 196, 40, 40, 193, 199, 40, 40, 200, 40,
602 201, 40, 194, 116, 116, 116, 116, 195, 207, 207,
603 207, 207, 212, 204, 205, 208, 40, 213, 40, 40,
604 218, 208, 119, 119, 119, 119, 40, 214, 40, 120,
605 40, 216, 215, 40, 40, 120, 209, 210, 40, 211,
606 211, 211, 211, 40, 40, 217, 219, 40, 223, 224,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000607
Owen Anderson1dc69692006-10-18 02:21:48 +0000608 220, 40, 222, 221, 40, 40, 40, 40, 40, 40,
609 225, 227, 40, 40, 226, 229, 230, 228, 234, 40,
610 40, 235, 40, 40, 40, 237, 40, 40, 231, 236,
611 232, 40, 233, 239, 40, 240, 242, 238, 40, 40,
612 40, 241, 40, 40, 40, 243, 245, 40, 40, 40,
613 246, 40, 40, 40, 40, 247, 255, 244, 249, 40,
614 288, 261, 40, 262, 250, 251, 248, 252, 252, 252,
615 252, 40, 253, 252, 252, 254, 252, 252, 252, 252,
616 252, 252, 40, 260, 40, 40, 40, 40, 40, 40,
617 40, 256, 263, 257, 40, 40, 40, 258, 266, 259,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000618
Owen Anderson1dc69692006-10-18 02:21:48 +0000619 265, 40, 40, 268, 269, 267, 40, 264, 40, 40,
620 273, 270, 271, 272, 40, 275, 40, 40, 40, 274,
621 40, 276, 278, 40, 40, 280, 281, 277, 282, 40,
622 40, 40, 40, 284, 283, 279, 207, 207, 207, 207,
Chris Lattner1ae022f2006-10-22 06:08:13 +0000623 351, 40, 285, 208, 296, 294, 295, 209, 209, 208,
Owen Anderson1dc69692006-10-18 02:21:48 +0000624 286, 286, 286, 286, 286, 286, 286, 286, 211, 211,
625 211, 211, 40, 211, 211, 211, 211, 40, 40, 40,
626 40, 40, 40, 40, 40, 40, 40, 40, 291, 40,
Chris Lattner1ae022f2006-10-22 06:08:13 +0000627 40, 300, 40, 40, 305, 287, 289, 290, 303, 304,
628 299, 40, 40, 40, 40, 292, 293, 40, 301, 308,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000629
Chris Lattner1ae022f2006-10-22 06:08:13 +0000630 40, 297, 309, 302, 40, 40, 40, 307, 40, 40,
631 40, 40, 40, 40, 306, 40, 40, 40, 310, 312,
632 40, 311, 314, 313, 315, 320, 317, 40, 316, 40,
633 318, 40, 40, 321, 322, 319, 329, 323, 324, 40,
634 326, 328, 40, 40, 40, 40, 40, 40, 40, 330,
635 333, 331, 325, 332, 327, 334, 336, 40, 40, 337,
636 335, 40, 40, 40, 40, 40, 340, 338, 40, 40,
637 40, 339, 40, 40, 40, 40, 344, 40, 350, 341,
638 353, 352, 347, 349, 342, 343, 286, 286, 286, 286,
639 40, 40, 346, 40, 348, 345, 355, 354, 356, 357,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000640
Chris Lattner1ae022f2006-10-22 06:08:13 +0000641 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
642 40, 360, 40, 364, 365, 40, 40, 366, 40, 358,
643 359, 361, 363, 40, 367, 371, 362, 40, 368, 40,
644 374, 40, 370, 369, 40, 372, 373, 40, 375, 40,
645 376, 40, 40, 377, 40, 40, 40, 40, 40, 40,
646 40, 40, 381, 40, 386, 378, 380, 382, 384, 387,
647 40, 389, 379, 40, 40, 40, 40, 383, 392, 385,
648 40, 388, 40, 391, 40, 40, 390, 397, 40, 395,
649 40, 40, 394, 40, 399, 40, 40, 393, 40, 396,
650 403, 404, 40, 40, 40, 40, 40, 407, 401, 402,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000651
Chris Lattner1ae022f2006-10-22 06:08:13 +0000652 400, 406, 398, 408, 40, 40, 405, 40, 40, 409,
653 412, 40, 410, 411, 40, 40, 413, 418, 414, 40,
654 40, 40, 40, 40, 415, 40, 416, 419, 40, 40,
655 417, 40, 40, 420, 40, 40, 40, 40, 421, 40,
656 428, 423, 40, 429, 40, 422, 424, 427, 40, 425,
657 40, 431, 430, 433, 432, 426, 40, 436, 40, 434,
658 40, 437, 40, 438, 40, 40, 40, 435, 40, 439,
659 40, 441, 40, 440, 40, 40, 443, 40, 40, 40,
660 40, 447, 40, 40, 40, 442, 456, 451, 453, 448,
661 444, 445, 449, 446, 40, 452, 40, 40, 455, 40,
Chris Lattnere869eef2005-11-12 00:11:49 +0000662
Chris Lattner1ae022f2006-10-22 06:08:13 +0000663 450, 454, 458, 457, 40, 40, 40, 460, 40, 461,
664 40, 40, 459, 464, 462, 40, 40, 40, 40, 40,
665 40, 40, 467, 40, 471, 40, 465, 40, 473, 463,
666 469, 40, 40, 470, 40, 472, 40, 475, 40, 468,
667 466, 474, 40, 478, 476, 479, 40, 40, 40, 40,
668 40, 482, 40, 40, 477, 480, 40, 40, 486, 40,
669 40, 483, 484, 485, 40, 488, 491, 481, 40, 40,
670 489, 493, 494, 487, 490, 492, 40, 40, 40, 40,
671 40, 40, 40, 40, 40, 495, 40, 500, 501, 502,
672 496, 40, 40, 506, 497, 40, 40, 40, 40, 499,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000673
Chris Lattner1ae022f2006-10-22 06:08:13 +0000674 498, 505, 40, 40, 507, 40, 504, 40, 40, 503,
675 40, 40, 508, 37, 37, 37, 37, 39, 39, 50,
676 40, 50, 50, 40, 40, 40, 40, 40, 40, 40,
Chris Lattner0e9c3762006-01-25 22:27:16 +0000677 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Chris Lattnerd5efe842006-04-08 01:18:56 +0000678 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
679 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Chris Lattner75466192006-05-19 21:28:53 +0000680 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
681 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000682 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Chris Lattner1ae022f2006-10-22 06:08:13 +0000683 40, 40, 40, 40, 40, 40, 40, 40, 40, 206,
Chris Lattner75466192006-05-19 21:28:53 +0000684
Chris Lattner1ae022f2006-10-22 06:08:13 +0000685 40, 40, 40, 40, 114, 40, 38, 509, 3, 509,
686 509, 509, 509, 509, 509, 509, 509, 509, 509, 509,
687 509, 509, 509, 509, 509, 509, 509, 509, 509, 509,
688 509, 509, 509, 509, 509, 509, 509, 509, 509, 509,
689 509, 509, 509, 509, 509, 509, 509, 509, 509, 509,
690 509, 509
Reid Spencer68a24bd2005-08-27 18:50:39 +0000691 } ;
692
Chris Lattner1ae022f2006-10-22 06:08:13 +0000693static yyconst short int yy_chk[1153] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000694 { 0,
695 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
696 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
697 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
698 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000699 1, 1, 1, 9, 62, 9, 9, 9, 9, 10,
700 10, 10, 10, 11, 11, 11, 11, 11, 12, 62,
701 20, 62, 26, 12, 13, 13, 13, 13, 13, 13,
702 14, 14, 14, 14, 14, 14, 16, 20, 46, 17,
Chris Lattner1ae022f2006-10-22 06:08:13 +0000703 26, 29, 514, 46, 16, 512, 26, 20, 17, 23,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000704 29, 16, 17, 16, 18, 16, 13, 17, 16, 18,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000705
Owen Anderson1dc69692006-10-18 02:21:48 +0000706 17, 18, 19, 21, 22, 23, 23, 19, 21, 24,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000707 27, 19, 18, 22, 24, 19, 18, 19, 21, 22,
708 19, 25, 24, 28, 21, 33, 25, 24, 34, 27,
Owen Anderson1dc69692006-10-18 02:21:48 +0000709 33, 27, 64, 31, 51, 28, 53, 34, 31, 25,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000710 36, 28, 51, 33, 53, 25, 30, 35, 35, 36,
Owen Anderson1dc69692006-10-18 02:21:48 +0000711 30, 31, 54, 56, 31, 64, 30, 67, 111, 30,
712 111, 31, 30, 30, 56, 52, 35, 42, 42, 42,
713 42, 54, 67, 30, 30, 57, 30, 32, 52, 55,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000714 52, 32, 43, 43, 43, 43, 57, 32, 44, 44,
715 44, 44, 44, 61, 32, 55, 32, 58, 32, 63,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000716
Owen Anderson1dc69692006-10-18 02:21:48 +0000717 61, 72, 226, 32, 45, 45, 45, 45, 45, 45,
718 47, 47, 47, 47, 47, 58, 78, 47, 226, 72,
719 63, 66, 78, 47, 48, 48, 48, 48, 48, 48,
720 49, 49, 49, 49, 49, 60, 49, 49, 68, 49,
721 49, 49, 49, 49, 49, 65, 66, 69, 71, 70,
722 60, 73, 65, 74, 76, 69, 70, 60, 77, 75,
723 73, 79, 68, 71, 65, 84, 92, 81, 91, 80,
724 71, 82, 70, 76, 80, 83, 74, 75, 79, 82,
725 77, 77, 81, 77, 79, 85, 80, 86, 84, 88,
726 83, 89, 86, 90, 92, 91, 93, 94, 95, 96,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000727
Owen Anderson1dc69692006-10-18 02:21:48 +0000728 85, 97, 88, 93, 89, 102, 95, 97, 103, 90,
729 98, 93, 94, 99, 101, 94, 90, 96, 94, 93,
730 104, 94, 105, 98, 102, 110, 99, 101, 108, 107,
731 110, 106, 108, 108, 99, 109, 103, 104, 101, 106,
Chris Lattner1ae022f2006-10-22 06:08:13 +0000732 105, 107, 112, 113, 106, 108, 508, 132, 109, 124,
Owen Anderson1dc69692006-10-18 02:21:48 +0000733 109, 123, 106, 116, 116, 116, 116, 106, 117, 117,
734 117, 117, 123, 112, 113, 117, 130, 124, 126, 128,
735 132, 117, 119, 119, 119, 119, 119, 126, 135, 119,
736 131, 130, 128, 138, 139, 119, 120, 120, 134, 120,
737 120, 120, 120, 120, 136, 131, 134, 137, 138, 139,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000738
Owen Anderson1dc69692006-10-18 02:21:48 +0000739 135, 141, 137, 136, 143, 142, 144, 145, 146, 147,
740 141, 142, 149, 148, 141, 144, 145, 143, 148, 151,
741 150, 149, 152, 155, 153, 151, 154, 156, 145, 150,
742 146, 157, 147, 153, 158, 154, 156, 152, 159, 160,
743 161, 155, 162, 165, 166, 157, 159, 174, 168, 172,
Chris Lattner1ae022f2006-10-22 06:08:13 +0000744 160, 179, 173, 213, 180, 161, 174, 158, 165, 506,
Owen Anderson1dc69692006-10-18 02:21:48 +0000745 213, 179, 177, 180, 166, 168, 162, 171, 171, 171,
746 171, 181, 172, 171, 171, 173, 171, 171, 171, 171,
747 171, 171, 175, 177, 183, 184, 186, 185, 189, 190,
Chris Lattner1ae022f2006-10-22 06:08:13 +0000748 505, 175, 181, 175, 187, 188, 191, 175, 185, 175,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000749
Owen Anderson1dc69692006-10-18 02:21:48 +0000750 184, 192, 193, 187, 188, 186, 194, 183, 195, 196,
751 192, 189, 190, 191, 198, 194, 199, 197, 200, 193,
752 202, 195, 197, 201, 205, 199, 200, 196, 201, 203,
Chris Lattner1ae022f2006-10-22 06:08:13 +0000753 222, 224, 289, 203, 202, 198, 207, 207, 207, 207,
754 289, 223, 205, 207, 224, 222, 223, 208, 208, 207,
Owen Anderson1dc69692006-10-18 02:21:48 +0000755 208, 208, 208, 208, 209, 209, 209, 209, 210, 210,
756 210, 210, 210, 211, 211, 211, 211, 211, 212, 214,
Chris Lattner1ae022f2006-10-22 06:08:13 +0000757 215, 219, 220, 221, 225, 227, 228, 233, 219, 229,
758 232, 228, 230, 231, 233, 212, 214, 215, 231, 232,
759 227, 234, 236, 238, 237, 220, 221, 239, 229, 237,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000760
Chris Lattner1ae022f2006-10-22 06:08:13 +0000761 240, 225, 238, 230, 243, 241, 250, 236, 242, 244,
762 247, 248, 251, 260, 234, 504, 253, 256, 239, 241,
763 254, 240, 243, 242, 244, 253, 248, 255, 247, 257,
764 250, 258, 259, 254, 255, 251, 260, 256, 257, 261,
765 258, 259, 262, 264, 263, 267, 266, 270, 272, 261,
766 264, 262, 257, 263, 258, 266, 270, 273, 274, 272,
767 267, 275, 276, 277, 278, 279, 275, 273, 280, 282,
768 285, 274, 284, 288, 291, 292, 279, 295, 288, 276,
769 292, 291, 284, 285, 277, 278, 286, 286, 286, 286,
770 293, 294, 282, 296, 284, 280, 294, 293, 295, 296,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000771
Chris Lattner1ae022f2006-10-22 06:08:13 +0000772 297, 298, 299, 301, 300, 302, 303, 305, 307, 308,
773 310, 299, 309, 303, 305, 311, 312, 307, 314, 297,
774 298, 300, 302, 316, 308, 312, 301, 315, 309, 317,
775 316, 318, 311, 310, 319, 314, 315, 321, 317, 322,
776 318, 330, 331, 319, 334, 333, 339, 340, 342, 335,
777 343, 341, 331, 345, 340, 321, 330, 333, 335, 341,
778 346, 343, 322, 347, 348, 349, 351, 334, 347, 339,
779 354, 342, 353, 346, 355, 356, 345, 354, 357, 351,
780 358, 359, 349, 364, 356, 366, 363, 348, 368, 353,
781 363, 363, 377, 378, 369, 392, 502, 368, 358, 359,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000782
Chris Lattner1ae022f2006-10-22 06:08:13 +0000783 357, 366, 355, 369, 370, 372, 364, 380, 381, 370,
784 378, 385, 372, 377, 386, 391, 380, 392, 381, 393,
785 394, 395, 396, 398, 385, 401, 386, 393, 402, 403,
786 391, 405, 404, 394, 406, 407, 408, 411, 395, 409,
787 405, 398, 413, 406, 410, 396, 401, 404, 414, 402,
788 418, 408, 407, 410, 409, 403, 415, 414, 416, 411,
789 417, 415, 420, 416, 419, 421, 423, 413, 424, 417,
790 425, 419, 426, 418, 428, 429, 421, 430, 431, 435,
791 438, 426, 434, 437, 444, 420, 438, 431, 435, 428,
792 423, 424, 429, 425, 436, 434, 440, 441, 437, 442,
Chris Lattnere869eef2005-11-12 00:11:49 +0000793
Chris Lattner1ae022f2006-10-22 06:08:13 +0000794 430, 436, 441, 440, 447, 448, 449, 444, 450, 447,
795 451, 452, 442, 450, 448, 453, 454, 455, 456, 457,
796 458, 462, 453, 459, 457, 463, 451, 461, 459, 449,
797 455, 464, 467, 456, 465, 458, 466, 462, 469, 454,
798 452, 461, 470, 465, 463, 466, 471, 472, 473, 475,
799 476, 470, 477, 478, 464, 467, 480, 481, 475, 485,
800 483, 471, 472, 473, 484, 477, 481, 469, 486, 487,
801 478, 484, 485, 476, 480, 483, 488, 489, 490, 491,
802 494, 492, 493, 495, 497, 486, 501, 491, 492, 493,
803 487, 507, 500, 501, 488, 503, 499, 498, 496, 490,
Chris Lattner75466192006-05-19 21:28:53 +0000804
Chris Lattner1ae022f2006-10-22 06:08:13 +0000805 489, 497, 482, 479, 503, 474, 495, 468, 460, 494,
806 446, 445, 507, 510, 510, 510, 510, 511, 511, 513,
807 443, 513, 513, 439, 433, 432, 427, 422, 412, 400,
808 399, 397, 390, 389, 388, 387, 384, 383, 382, 379,
809 376, 375, 374, 373, 371, 367, 365, 362, 361, 360,
810 352, 350, 344, 338, 337, 336, 332, 329, 328, 327,
811 326, 325, 324, 323, 320, 313, 306, 304, 290, 287,
812 283, 281, 271, 269, 268, 265, 249, 246, 245, 235,
813 218, 217, 216, 204, 182, 178, 176, 170, 169, 167,
814 164, 163, 140, 133, 129, 127, 125, 122, 118, 114,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000815
Chris Lattner1ae022f2006-10-22 06:08:13 +0000816 100, 87, 59, 39, 37, 8, 7, 3, 509, 509,
817 509, 509, 509, 509, 509, 509, 509, 509, 509, 509,
818 509, 509, 509, 509, 509, 509, 509, 509, 509, 509,
819 509, 509, 509, 509, 509, 509, 509, 509, 509, 509,
820 509, 509, 509, 509, 509, 509, 509, 509, 509, 509,
821 509, 509
Reid Spencer68a24bd2005-08-27 18:50:39 +0000822 } ;
823
Owen Anderson1dc69692006-10-18 02:21:48 +0000824static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
825static char *yy_full_match;
826static int yy_lp;
827#define REJECT \
828{ \
829*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
830yy_cp = yy_full_match; /* restore poss. backed-over text */ \
831++yy_lp; \
832goto find_rule; \
833}
Reid Spencer68a24bd2005-08-27 18:50:39 +0000834#define yymore() yymore_used_but_not_detected
835#define YY_MORE_ADJ 0
836#define YY_RESTORE_YY_MORE_OFFSET
Owen Anderson1dc69692006-10-18 02:21:48 +0000837char *yytext;
Chris Lattner1ae022f2006-10-22 06:08:13 +0000838#line 1 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +0000839#define INITIAL 0
Reid Spencer68a24bd2005-08-27 18:50:39 +0000840/*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
841//
842// The LLVM Compiler Infrastructure
843//
844// This file was developed by the LLVM research group and is distributed under
845// the University of Illinois Open Source License. See LICENSE.TXT for details.
846//
847//===----------------------------------------------------------------------===//
848//
849// This file implements the flex scanner for LLVM assembly languages files.
850//
851//===----------------------------------------------------------------------===*/
Owen Anderson1dc69692006-10-18 02:21:48 +0000852#define YY_NEVER_INTERACTIVE 1
Chris Lattner1ae022f2006-10-22 06:08:13 +0000853#line 28 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +0000854#include "ParserInternals.h"
855#include "llvm/Module.h"
856#include <list>
857#include "llvmAsmParser.h"
858#include <cctype>
859#include <cstdlib>
860
861void set_scan_file(FILE * F){
Owen Anderson1dc69692006-10-18 02:21:48 +0000862 yy_switch_to_buffer(yy_create_buffer( F, YY_BUF_SIZE ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +0000863}
864void set_scan_string (const char * str) {
Owen Anderson1dc69692006-10-18 02:21:48 +0000865 yy_scan_string (str);
Reid Spencer68a24bd2005-08-27 18:50:39 +0000866}
867
868#define RET_TOK(type, Enum, sym) \
869 llvmAsmlval.type = Instruction::Enum; return sym
870
871namespace llvm {
872
873// TODO: All of the static identifiers are figured out by the lexer,
874// these should be hashed to reduce the lexer size
875
876
877// atoull - Convert an ascii string of decimal digits into the unsigned long
878// long representation... this does not have to do input error checking,
879// because we know that the input will be matched by a suitable regex...
880//
881static uint64_t atoull(const char *Buffer) {
882 uint64_t Result = 0;
883 for (; *Buffer; Buffer++) {
884 uint64_t OldRes = Result;
885 Result *= 10;
886 Result += *Buffer-'0';
887 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000888 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000889 }
890 return Result;
891}
892
893static uint64_t HexIntToVal(const char *Buffer) {
894 uint64_t Result = 0;
895 for (; *Buffer; ++Buffer) {
896 uint64_t OldRes = Result;
897 Result *= 16;
898 char C = *Buffer;
899 if (C >= '0' && C <= '9')
900 Result += C-'0';
901 else if (C >= 'A' && C <= 'F')
902 Result += C-'A'+10;
903 else if (C >= 'a' && C <= 'f')
904 Result += C-'a'+10;
905
906 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000907 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000908 }
909 return Result;
910}
911
912
913// HexToFP - Convert the ascii string in hexidecimal format to the floating
914// point representation of it.
915//
916static double HexToFP(const char *Buffer) {
917 // Behave nicely in the face of C TBAA rules... see:
918 // http://www.nullstone.com/htmls/category/aliastyp.htm
919 union {
920 uint64_t UI;
921 double FP;
922 } UIntToFP;
923 UIntToFP.UI = HexIntToVal(Buffer);
924
925 assert(sizeof(double) == sizeof(uint64_t) &&
926 "Data sizes incompatible on this target!");
927 return UIntToFP.FP; // Cast Hex constant to double
928}
929
930
931// UnEscapeLexed - Run through the specified buffer and change \xx codes to the
932// appropriate character. If AllowNull is set to false, a \00 value will cause
933// an exception to be thrown.
934//
935// If AllowNull is set to true, the return value of the function points to the
936// last character of the string in memory.
937//
938char *UnEscapeLexed(char *Buffer, bool AllowNull) {
939 char *BOut = Buffer;
940 for (char *BIn = Buffer; *BIn; ) {
941 if (BIn[0] == '\\' && isxdigit(BIn[1]) && isxdigit(BIn[2])) {
942 char Tmp = BIn[3]; BIn[3] = 0; // Terminate string
943 *BOut = (char)strtol(BIn+1, 0, 16); // Convert to number
944 if (!AllowNull && !*BOut)
Reid Spencer61c83e02006-08-18 08:43:06 +0000945 GenerateError("String literal cannot accept \\00 escape!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000946
947 BIn[3] = Tmp; // Restore character
948 BIn += 3; // Skip over handled chars
949 ++BOut;
950 } else {
951 *BOut++ = *BIn++;
952 }
953 }
954
955 return BOut;
956}
957
958} // End llvm namespace
959
960using namespace llvm;
961
962#define YY_NEVER_INTERACTIVE 1
963/* Comments start with a ; and go till end of line */
964/* Variable(Value) identifiers start with a % sign */
965/* Label identifiers end with a colon */
966/* Quoted names can contain any character except " and \ */
967/* [PN]Integer: match positive and negative literal integer values that
968 * are preceeded by a '%' character. These represent unnamed variable slots.
969 */
970/* E[PN]Integer: match positive and negative literal integer values */
971/* FPConstant - A Floating point constant.
972 */
973/* HexFPConstant - Floating point constant represented in IEEE format as a
974 * hexadecimal number for when exponential notation is not precise enough.
975 */
976/* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
977 * it to deal with 64 bit numbers.
978 */
Chris Lattner1ae022f2006-10-22 06:08:13 +0000979#line 980 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +0000980
981/* Macros after this point can all be overridden by user definitions in
982 * section 1.
983 */
984
985#ifndef YY_SKIP_YYWRAP
986#ifdef __cplusplus
Owen Anderson1dc69692006-10-18 02:21:48 +0000987extern "C" int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000988#else
Owen Anderson1dc69692006-10-18 02:21:48 +0000989extern int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000990#endif
991#endif
992
Owen Anderson1dc69692006-10-18 02:21:48 +0000993#ifndef YY_NO_UNPUT
994static inline void yyunput YY_PROTO(( int c, char *buf_ptr ));
995#endif
996
Reid Spencer68a24bd2005-08-27 18:50:39 +0000997#ifndef yytext_ptr
Owen Anderson1dc69692006-10-18 02:21:48 +0000998static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000999#endif
1000
1001#ifdef YY_NEED_STRLEN
Owen Anderson1dc69692006-10-18 02:21:48 +00001002static int yy_flex_strlen YY_PROTO(( yyconst char * ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001003#endif
1004
1005#ifndef YY_NO_INPUT
1006#ifdef __cplusplus
Owen Anderson1dc69692006-10-18 02:21:48 +00001007static int yyinput YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001008#else
Owen Anderson1dc69692006-10-18 02:21:48 +00001009static int input YY_PROTO(( void ));
1010#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001011#endif
1012
Owen Anderson1dc69692006-10-18 02:21:48 +00001013#if YY_STACK_USED
1014static int yy_start_stack_ptr = 0;
1015static int yy_start_stack_depth = 0;
1016static int *yy_start_stack = 0;
1017#ifndef YY_NO_PUSH_STATE
1018static void yy_push_state YY_PROTO(( int new_state ));
1019#endif
1020#ifndef YY_NO_POP_STATE
1021static void yy_pop_state YY_PROTO(( void ));
1022#endif
1023#ifndef YY_NO_TOP_STATE
1024static int yy_top_state YY_PROTO(( void ));
1025#endif
1026
1027#else
1028#define YY_NO_PUSH_STATE 1
1029#define YY_NO_POP_STATE 1
1030#define YY_NO_TOP_STATE 1
1031#endif
1032
1033#ifdef YY_MALLOC_DECL
1034YY_MALLOC_DECL
1035#else
1036#if __STDC__
1037#ifndef __cplusplus
1038#include <stdlib.h>
1039#endif
1040#else
1041/* Just try to get by without declaring the routines. This will fail
1042 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1043 * or sizeof(void*) != sizeof(int).
1044 */
1045#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001046#endif
1047
1048/* Amount of stuff to slurp up with each read. */
1049#ifndef YY_READ_BUF_SIZE
1050#define YY_READ_BUF_SIZE 8192
1051#endif
1052
1053/* Copy whatever the last rule matched to the standard output. */
Owen Anderson1dc69692006-10-18 02:21:48 +00001054
Reid Spencer68a24bd2005-08-27 18:50:39 +00001055#ifndef ECHO
1056/* This used to be an fputs(), but since the string might contain NUL's,
1057 * we now use fwrite().
1058 */
Owen Anderson1dc69692006-10-18 02:21:48 +00001059#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001060#endif
1061
1062/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1063 * is returned in "result".
1064 */
1065#ifndef YY_INPUT
1066#define YY_INPUT(buf,result,max_size) \
Owen Anderson1dc69692006-10-18 02:21:48 +00001067 if ( yy_current_buffer->yy_is_interactive ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001068 { \
Owen Anderson1dc69692006-10-18 02:21:48 +00001069 int c = '*', n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001070 for ( n = 0; n < max_size && \
Owen Anderson1dc69692006-10-18 02:21:48 +00001071 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001072 buf[n] = (char) c; \
1073 if ( c == '\n' ) \
1074 buf[n++] = (char) c; \
Owen Anderson1dc69692006-10-18 02:21:48 +00001075 if ( c == EOF && ferror( yyin ) ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001076 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1077 result = n; \
1078 } \
Owen Anderson1dc69692006-10-18 02:21:48 +00001079 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1080 && ferror( yyin ) ) \
1081 YY_FATAL_ERROR( "input in flex scanner failed" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001082#endif
1083
1084/* No semi-colon after return; correct usage is to write "yyterminate();" -
1085 * we don't want an extra ';' after the "return" because that will cause
1086 * some compilers to complain about unreachable statements.
1087 */
1088#ifndef yyterminate
1089#define yyterminate() return YY_NULL
1090#endif
1091
1092/* Number of entries by which start-condition stack grows. */
1093#ifndef YY_START_STACK_INCR
1094#define YY_START_STACK_INCR 25
1095#endif
1096
1097/* Report a fatal error. */
1098#ifndef YY_FATAL_ERROR
1099#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1100#endif
1101
1102/* Default declaration of generated scanner - a define so the user can
1103 * easily add parameters.
1104 */
1105#ifndef YY_DECL
Owen Anderson1dc69692006-10-18 02:21:48 +00001106#define YY_DECL int yylex YY_PROTO(( void ))
1107#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001108
Owen Anderson1dc69692006-10-18 02:21:48 +00001109/* Code executed at the beginning of each rule, after yytext and yyleng
Reid Spencer68a24bd2005-08-27 18:50:39 +00001110 * have been set up.
1111 */
1112#ifndef YY_USER_ACTION
1113#define YY_USER_ACTION
1114#endif
1115
1116/* Code executed at the end of each rule. */
1117#ifndef YY_BREAK
1118#define YY_BREAK break;
1119#endif
1120
1121#define YY_RULE_SETUP \
1122 YY_USER_ACTION
1123
1124YY_DECL
Owen Anderson1dc69692006-10-18 02:21:48 +00001125 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00001126 register yy_state_type yy_current_state;
Chris Lattner1ae022f2006-10-22 06:08:13 +00001127 register char *yy_cp, *yy_bp;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001128 register int yy_act;
Owen Anderson1dc69692006-10-18 02:21:48 +00001129
Chris Lattner1ae022f2006-10-22 06:08:13 +00001130#line 179 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001131
1132
Chris Lattner1ae022f2006-10-22 06:08:13 +00001133#line 1134 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001134
Owen Anderson1dc69692006-10-18 02:21:48 +00001135 if ( yy_init )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001136 {
Owen Anderson1dc69692006-10-18 02:21:48 +00001137 yy_init = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001138
1139#ifdef YY_USER_INIT
1140 YY_USER_INIT;
1141#endif
1142
Owen Anderson1dc69692006-10-18 02:21:48 +00001143 if ( ! yy_start )
1144 yy_start = 1; /* first start state */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001145
Owen Anderson1dc69692006-10-18 02:21:48 +00001146 if ( ! yyin )
1147 yyin = stdin;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001148
Owen Anderson1dc69692006-10-18 02:21:48 +00001149 if ( ! yyout )
1150 yyout = stdout;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001151
Owen Anderson1dc69692006-10-18 02:21:48 +00001152 if ( ! yy_current_buffer )
1153 yy_current_buffer =
1154 yy_create_buffer( yyin, YY_BUF_SIZE );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001155
Owen Anderson1dc69692006-10-18 02:21:48 +00001156 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00001157 }
1158
1159 while ( 1 ) /* loops until end-of-file is reached */
1160 {
Owen Anderson1dc69692006-10-18 02:21:48 +00001161 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001162
Owen Anderson1dc69692006-10-18 02:21:48 +00001163 /* Support of yytext. */
1164 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001165
1166 /* yy_bp points to the position in yy_ch_buf of the start of
1167 * the current run.
1168 */
1169 yy_bp = yy_cp;
1170
Owen Anderson1dc69692006-10-18 02:21:48 +00001171 yy_current_state = yy_start;
1172 yy_state_ptr = yy_state_buf;
1173 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001174yy_match:
1175 do
1176 {
1177 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1178 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1179 {
1180 yy_current_state = (int) yy_def[yy_current_state];
Chris Lattner1ae022f2006-10-22 06:08:13 +00001181 if ( yy_current_state >= 510 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001182 yy_c = yy_meta[(unsigned int) yy_c];
1183 }
1184 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Owen Anderson1dc69692006-10-18 02:21:48 +00001185 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001186 ++yy_cp;
1187 }
Chris Lattner1ae022f2006-10-22 06:08:13 +00001188 while ( yy_current_state != 509 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001189
1190yy_find_action:
Owen Anderson1dc69692006-10-18 02:21:48 +00001191 yy_current_state = *--yy_state_ptr;
1192 yy_lp = yy_accept[yy_current_state];
1193find_rule: /* we branch to this label when backing up */
1194 for ( ; ; ) /* until we find what rule we matched */
1195 {
1196 if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
1197 {
1198 yy_act = yy_acclist[yy_lp];
1199 {
1200 yy_full_match = yy_cp;
1201 break;
1202 }
1203 }
1204 --yy_cp;
1205 yy_current_state = *--yy_state_ptr;
1206 yy_lp = yy_accept[yy_current_state];
1207 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001208
1209 YY_DO_BEFORE_ACTION;
1210
Owen Anderson1dc69692006-10-18 02:21:48 +00001211 if ( yy_act != YY_END_OF_BUFFER )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001212 {
1213 int yyl;
Owen Anderson1dc69692006-10-18 02:21:48 +00001214 for ( yyl = 0; yyl < yyleng; ++yyl )
1215 if ( yytext[yyl] == '\n' )
1216 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001217 }
1218
1219do_action: /* This label is used only to access EOF actions. */
1220
Owen Anderson1dc69692006-10-18 02:21:48 +00001221
Reid Spencer68a24bd2005-08-27 18:50:39 +00001222 switch ( yy_act )
1223 { /* beginning of action switch */
1224case 1:
1225YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001226#line 181 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001227{ /* Ignore comments for now */ }
1228 YY_BREAK
1229case 2:
1230YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001231#line 183 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001232{ return BEGINTOK; }
1233 YY_BREAK
1234case 3:
1235YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001236#line 184 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001237{ return ENDTOK; }
1238 YY_BREAK
1239case 4:
1240YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001241#line 185 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001242{ return TRUETOK; }
1243 YY_BREAK
1244case 5:
1245YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001246#line 186 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001247{ return FALSETOK; }
1248 YY_BREAK
1249case 6:
1250YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001251#line 187 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001252{ return DECLARE; }
1253 YY_BREAK
1254case 7:
1255YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001256#line 188 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001257{ return GLOBAL; }
1258 YY_BREAK
1259case 8:
1260YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001261#line 189 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001262{ return CONSTANT; }
1263 YY_BREAK
1264case 9:
1265YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001266#line 190 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001267{ return INTERNAL; }
1268 YY_BREAK
1269case 10:
1270YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001271#line 191 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001272{ return LINKONCE; }
1273 YY_BREAK
1274case 11:
1275YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001276#line 192 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001277{ return WEAK; }
1278 YY_BREAK
1279case 12:
1280YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001281#line 193 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001282{ return APPENDING; }
1283 YY_BREAK
1284case 13:
1285YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001286#line 194 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001287{ return DLLIMPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001288 YY_BREAK
1289case 14:
1290YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001291#line 195 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001292{ return DLLEXPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001293 YY_BREAK
1294case 15:
1295YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001296#line 196 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001297{ return EXTERN_WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001298 YY_BREAK
1299case 16:
1300YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001301#line 197 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001302{ return EXTERNAL; } /* Deprecated, turn into external */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001303 YY_BREAK
1304case 17:
1305YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001306#line 198 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001307{ return EXTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001308 YY_BREAK
1309case 18:
1310YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001311#line 199 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001312{ return IMPLEMENTATION; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001313 YY_BREAK
1314case 19:
1315YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001316#line 200 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001317{ return ZEROINITIALIZER; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001318 YY_BREAK
1319case 20:
1320YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001321#line 201 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001322{ return DOTDOTDOT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001323 YY_BREAK
1324case 21:
1325YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001326#line 202 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001327{ return UNDEF; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001328 YY_BREAK
1329case 22:
1330YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001331#line 203 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001332{ return NULL_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001333 YY_BREAK
1334case 23:
1335YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001336#line 204 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001337{ return TO; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001338 YY_BREAK
1339case 24:
1340YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001341#line 205 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001342{ RET_TOK(TermOpVal, Unwind, UNWIND); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001343 YY_BREAK
1344case 25:
1345YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001346#line 206 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001347{ return NOT; } /* Deprecated, turned into XOR */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001348 YY_BREAK
1349case 26:
1350YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001351#line 207 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001352{ return TAIL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001353 YY_BREAK
1354case 27:
1355YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001356#line 208 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001357{ return TARGET; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001358 YY_BREAK
1359case 28:
1360YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001361#line 209 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001362{ return TRIPLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001363 YY_BREAK
1364case 29:
1365YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001366#line 210 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001367{ return DEPLIBS; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001368 YY_BREAK
1369case 30:
1370YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001371#line 211 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001372{ return ENDIAN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001373 YY_BREAK
1374case 31:
1375YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001376#line 212 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001377{ return POINTERSIZE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001378 YY_BREAK
1379case 32:
1380YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001381#line 213 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
1382{ return DATALAYOUT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001383 YY_BREAK
1384case 33:
1385YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001386#line 214 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001387{ return LITTLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001388 YY_BREAK
1389case 34:
1390YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001391#line 215 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001392{ return BIG; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001393 YY_BREAK
1394case 35:
1395YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001396#line 216 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001397{ return VOLATILE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001398 YY_BREAK
1399case 36:
1400YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001401#line 217 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001402{ return ALIGN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001403 YY_BREAK
1404case 37:
1405YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001406#line 218 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001407{ return SECTION; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001408 YY_BREAK
1409case 38:
1410YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001411#line 219 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001412{ return MODULE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001413 YY_BREAK
1414case 39:
1415YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001416#line 220 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001417{ return ASM_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001418 YY_BREAK
1419case 40:
1420YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001421#line 221 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001422{ return SIDEEFFECT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001423 YY_BREAK
1424case 41:
1425YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001426#line 223 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001427{ return CC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001428 YY_BREAK
1429case 42:
1430YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001431#line 224 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001432{ return CCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001433 YY_BREAK
1434case 43:
1435YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001436#line 225 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001437{ return CSRETCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001438 YY_BREAK
1439case 44:
1440YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001441#line 226 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001442{ return FASTCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001443 YY_BREAK
1444case 45:
1445YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001446#line 227 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001447{ return COLDCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001448 YY_BREAK
1449case 46:
1450YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001451#line 228 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001452{ return X86_STDCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001453 YY_BREAK
1454case 47:
1455YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001456#line 229 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001457{ return X86_FASTCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001458 YY_BREAK
1459case 48:
1460YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001461#line 231 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001462{ llvmAsmlval.PrimType = Type::VoidTy ; return VOID; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001463 YY_BREAK
1464case 49:
1465YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001466#line 232 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001467{ llvmAsmlval.PrimType = Type::BoolTy ; return BOOL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001468 YY_BREAK
1469case 50:
1470YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001471#line 233 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001472{ llvmAsmlval.PrimType = Type::SByteTy ; return SBYTE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001473 YY_BREAK
1474case 51:
1475YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001476#line 234 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001477{ llvmAsmlval.PrimType = Type::UByteTy ; return UBYTE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001478 YY_BREAK
1479case 52:
1480YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001481#line 235 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001482{ llvmAsmlval.PrimType = Type::ShortTy ; return SHORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001483 YY_BREAK
1484case 53:
1485YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001486#line 236 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001487{ llvmAsmlval.PrimType = Type::UShortTy; return USHORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001488 YY_BREAK
1489case 54:
1490YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001491#line 237 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001492{ llvmAsmlval.PrimType = Type::IntTy ; return INT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001493 YY_BREAK
1494case 55:
1495YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001496#line 238 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001497{ llvmAsmlval.PrimType = Type::UIntTy ; return UINT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001498 YY_BREAK
1499case 56:
1500YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001501#line 239 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001502{ llvmAsmlval.PrimType = Type::LongTy ; return LONG; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001503 YY_BREAK
1504case 57:
1505YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001506#line 240 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001507{ llvmAsmlval.PrimType = Type::ULongTy ; return ULONG; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001508 YY_BREAK
1509case 58:
1510YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001511#line 241 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001512{ llvmAsmlval.PrimType = Type::FloatTy ; return FLOAT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001513 YY_BREAK
1514case 59:
1515YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001516#line 242 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001517{ llvmAsmlval.PrimType = Type::DoubleTy; return DOUBLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001518 YY_BREAK
1519case 60:
1520YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001521#line 243 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001522{ llvmAsmlval.PrimType = Type::LabelTy ; return LABEL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001523 YY_BREAK
1524case 61:
1525YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001526#line 244 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001527{ return TYPE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001528 YY_BREAK
1529case 62:
1530YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001531#line 245 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001532{ return OPAQUE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001533 YY_BREAK
1534case 63:
1535YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001536#line 247 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001537{ RET_TOK(BinaryOpVal, Add, ADD); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001538 YY_BREAK
1539case 64:
1540YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001541#line 248 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001542{ RET_TOK(BinaryOpVal, Sub, SUB); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001543 YY_BREAK
1544case 65:
1545YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001546#line 249 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001547{ RET_TOK(BinaryOpVal, Mul, MUL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001548 YY_BREAK
1549case 66:
1550YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001551#line 250 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001552{ RET_TOK(BinaryOpVal, Div, DIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001553 YY_BREAK
1554case 67:
1555YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001556#line 251 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001557{ RET_TOK(BinaryOpVal, Rem, REM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001558 YY_BREAK
1559case 68:
1560YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001561#line 252 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001562{ RET_TOK(BinaryOpVal, And, AND); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001563 YY_BREAK
1564case 69:
1565YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001566#line 253 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001567{ RET_TOK(BinaryOpVal, Or , OR ); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001568 YY_BREAK
1569case 70:
1570YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001571#line 254 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001572{ RET_TOK(BinaryOpVal, Xor, XOR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001573 YY_BREAK
1574case 71:
1575YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001576#line 255 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001577{ RET_TOK(BinaryOpVal, SetNE, SETNE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001578 YY_BREAK
1579case 72:
1580YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001581#line 256 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001582{ RET_TOK(BinaryOpVal, SetEQ, SETEQ); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001583 YY_BREAK
1584case 73:
1585YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001586#line 257 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001587{ RET_TOK(BinaryOpVal, SetLT, SETLT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001588 YY_BREAK
1589case 74:
1590YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001591#line 258 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001592{ RET_TOK(BinaryOpVal, SetGT, SETGT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001593 YY_BREAK
1594case 75:
1595YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001596#line 259 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001597{ RET_TOK(BinaryOpVal, SetLE, SETLE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001598 YY_BREAK
1599case 76:
1600YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001601#line 260 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001602{ RET_TOK(BinaryOpVal, SetGE, SETGE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001603 YY_BREAK
1604case 77:
1605YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001606#line 262 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001607{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001608 YY_BREAK
1609case 78:
1610YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001611#line 263 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001612{ RET_TOK(OtherOpVal, Call, CALL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001613 YY_BREAK
1614case 79:
1615YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001616#line 264 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001617{ RET_TOK(OtherOpVal, Cast, CAST); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001618 YY_BREAK
1619case 80:
1620YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001621#line 265 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001622{ RET_TOK(OtherOpVal, Select, SELECT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001623 YY_BREAK
1624case 81:
1625YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001626#line 266 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001627{ RET_TOK(OtherOpVal, Shl, SHL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001628 YY_BREAK
1629case 82:
1630YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001631#line 267 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001632{ RET_TOK(OtherOpVal, Shr, SHR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001633 YY_BREAK
1634case 83:
1635YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001636#line 268 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001637{ return VANEXT_old; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001638 YY_BREAK
1639case 84:
1640YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001641#line 269 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001642{ return VAARG_old; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001643 YY_BREAK
1644case 85:
1645YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001646#line 270 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001647{ RET_TOK(OtherOpVal, VAArg , VAARG); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001648 YY_BREAK
1649case 86:
1650YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001651#line 271 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001652{ RET_TOK(TermOpVal, Ret, RET); }
Nate Begeman14b05292005-11-05 09:21:28 +00001653 YY_BREAK
1654case 87:
1655YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001656#line 272 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001657{ RET_TOK(TermOpVal, Br, BR); }
Chris Lattnere869eef2005-11-12 00:11:49 +00001658 YY_BREAK
1659case 88:
1660YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001661#line 273 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001662{ RET_TOK(TermOpVal, Switch, SWITCH); }
Robert Bocchino9c62b562006-01-10 19:04:32 +00001663 YY_BREAK
1664case 89:
1665YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001666#line 274 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001667{ RET_TOK(TermOpVal, Invoke, INVOKE); }
Robert Bocchino2def1b32006-01-17 20:06:25 +00001668 YY_BREAK
1669case 90:
1670YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001671#line 275 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001672{ RET_TOK(TermOpVal, Unwind, UNWIND); }
Chris Lattner8335e842006-01-23 23:05:42 +00001673 YY_BREAK
1674case 91:
1675YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001676#line 276 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001677{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
Chris Lattner66316012006-01-24 04:14:29 +00001678 YY_BREAK
1679case 92:
1680YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001681#line 278 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001682{ RET_TOK(MemOpVal, Malloc, MALLOC); }
Chris Lattner0e9c3762006-01-25 22:27:16 +00001683 YY_BREAK
1684case 93:
1685YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001686#line 279 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001687{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
Chris Lattnerd5efe842006-04-08 01:18:56 +00001688 YY_BREAK
1689case 94:
1690YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001691#line 280 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001692{ RET_TOK(MemOpVal, Free, FREE); }
Chris Lattner75466192006-05-19 21:28:53 +00001693 YY_BREAK
1694case 95:
1695YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001696#line 281 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001697{ RET_TOK(MemOpVal, Load, LOAD); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001698 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001699case 96:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001700YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001701#line 282 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001702{ RET_TOK(MemOpVal, Store, STORE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001703 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001704case 97:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001705YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001706#line 283 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001707{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001708 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001709case 98:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001710YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001711#line 285 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001712{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001713 YY_BREAK
1714case 99:
1715YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001716#line 286 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001717{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001718 YY_BREAK
1719case 100:
1720YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001721#line 287 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001722{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001723 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001724case 101:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001725YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001726#line 290 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001727{
Owen Anderson1dc69692006-10-18 02:21:48 +00001728 UnEscapeLexed(yytext+1);
1729 llvmAsmlval.StrVal = strdup(yytext+1); // Skip %
1730 return VAR_ID;
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001731 }
1732 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001733case 102:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001734YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001735#line 295 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001736{
Owen Anderson1dc69692006-10-18 02:21:48 +00001737 yytext[strlen(yytext)-1] = 0; // nuke colon
1738 UnEscapeLexed(yytext);
1739 llvmAsmlval.StrVal = strdup(yytext);
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001740 return LABELSTR;
1741 }
1742 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001743case 103:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001744YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001745#line 301 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001746{
1747 yytext[strlen(yytext)-2] = 0; // nuke colon, end quote
1748 UnEscapeLexed(yytext+1);
1749 llvmAsmlval.StrVal = strdup(yytext+1);
1750 return LABELSTR;
1751 }
1752 YY_BREAK
1753case 104:
1754YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001755#line 308 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001756{ // Note that we cannot unescape a string constant here! The
1757 // string constant might contain a \00 which would not be
1758 // understood by the string stuff. It is valid to make a
1759 // [sbyte] c"Hello World\00" constant, for example.
1760 //
Owen Anderson1dc69692006-10-18 02:21:48 +00001761 yytext[strlen(yytext)-1] = 0; // nuke end quote
1762 llvmAsmlval.StrVal = strdup(yytext+1); // Nuke start quote
Reid Spencer68a24bd2005-08-27 18:50:39 +00001763 return STRINGCONSTANT;
1764 }
1765 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001766case 105:
Chris Lattner75466192006-05-19 21:28:53 +00001767YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001768#line 319 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001769{ llvmAsmlval.UInt64Val = atoull(yytext); return EUINT64VAL; }
1770 YY_BREAK
1771case 106:
1772YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001773#line 320 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001774{
Owen Anderson1dc69692006-10-18 02:21:48 +00001775 uint64_t Val = atoull(yytext+1);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001776 // +1: we have bigger negative range
1777 if (Val > (uint64_t)INT64_MAX+1)
Reid Spencer61c83e02006-08-18 08:43:06 +00001778 GenerateError("Constant too large for signed 64 bits!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001779 llvmAsmlval.SInt64Val = -Val;
1780 return ESINT64VAL;
1781 }
1782 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001783case 107:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001784YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001785#line 328 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001786{
Owen Anderson1dc69692006-10-18 02:21:48 +00001787 llvmAsmlval.UInt64Val = HexIntToVal(yytext+3);
1788 return yytext[0] == 's' ? ESINT64VAL : EUINT64VAL;
1789 }
1790 YY_BREAK
1791case 108:
1792YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001793#line 333 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001794{
1795 uint64_t Val = atoull(yytext+1);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001796 if ((unsigned)Val != Val)
Reid Spencer61c83e02006-08-18 08:43:06 +00001797 GenerateError("Invalid value number (too large)!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001798 llvmAsmlval.UIntVal = unsigned(Val);
1799 return UINTVAL;
1800 }
1801 YY_BREAK
Owen Anderson1dc69692006-10-18 02:21:48 +00001802case 109:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001803YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001804#line 340 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001805{
Owen Anderson1dc69692006-10-18 02:21:48 +00001806 uint64_t Val = atoull(yytext+2);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001807 // +1: we have bigger negative range
1808 if (Val > (uint64_t)INT32_MAX+1)
Reid Spencer61c83e02006-08-18 08:43:06 +00001809 GenerateError("Constant too large for signed 32 bits!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001810 llvmAsmlval.SIntVal = (int)-Val;
1811 return SINTVAL;
1812 }
1813 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001814case 110:
Chris Lattner75466192006-05-19 21:28:53 +00001815YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001816#line 349 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001817{ llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
1818 YY_BREAK
1819case 111:
1820YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001821#line 350 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001822{ llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001823 YY_BREAK
1824case YY_STATE_EOF(INITIAL):
Chris Lattner1ae022f2006-10-22 06:08:13 +00001825#line 352 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001826{
1827 /* Make sure to free the internal buffers for flex when we are
1828 * done reading our input!
1829 */
Owen Anderson1dc69692006-10-18 02:21:48 +00001830 yy_delete_buffer(YY_CURRENT_BUFFER);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001831 return EOF;
1832 }
1833 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001834case 112:
Chris Lattner75466192006-05-19 21:28:53 +00001835YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001836#line 360 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001837{ /* Ignore whitespace */ }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001838 YY_BREAK
1839case 113:
1840YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001841#line 361 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001842{ return yytext[0]; }
1843 YY_BREAK
1844case 114:
1845YY_RULE_SETUP
Chris Lattner1ae022f2006-10-22 06:08:13 +00001846#line 363 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001847YY_FATAL_ERROR( "flex scanner jammed" );
1848 YY_BREAK
Chris Lattner1ae022f2006-10-22 06:08:13 +00001849#line 1850 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001850
1851 case YY_END_OF_BUFFER:
1852 {
1853 /* Amount of text matched not including the EOB char. */
Owen Anderson1dc69692006-10-18 02:21:48 +00001854 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001855
1856 /* Undo the effects of YY_DO_BEFORE_ACTION. */
Owen Anderson1dc69692006-10-18 02:21:48 +00001857 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001858 YY_RESTORE_YY_MORE_OFFSET
1859
Owen Anderson1dc69692006-10-18 02:21:48 +00001860 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001861 {
1862 /* We're scanning a new file or input source. It's
1863 * possible that this happened because the user
Owen Anderson1dc69692006-10-18 02:21:48 +00001864 * just pointed yyin at a new source and called
1865 * yylex(). If so, then we have to assure
1866 * consistency between yy_current_buffer and our
Reid Spencer68a24bd2005-08-27 18:50:39 +00001867 * globals. Here is the right place to do so, because
1868 * this is the first action (other than possibly a
1869 * back-up) that will match for the new input source.
1870 */
Owen Anderson1dc69692006-10-18 02:21:48 +00001871 yy_n_chars = yy_current_buffer->yy_n_chars;
1872 yy_current_buffer->yy_input_file = yyin;
1873 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001874 }
1875
1876 /* Note that here we test for yy_c_buf_p "<=" to the position
1877 * of the first EOB in the buffer, since yy_c_buf_p will
1878 * already have been incremented past the NUL character
1879 * (since all states make transitions on EOB to the
1880 * end-of-buffer state). Contrast this with the test
1881 * in input().
1882 */
Owen Anderson1dc69692006-10-18 02:21:48 +00001883 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001884 { /* This was really a NUL. */
1885 yy_state_type yy_next_state;
1886
Owen Anderson1dc69692006-10-18 02:21:48 +00001887 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001888
Owen Anderson1dc69692006-10-18 02:21:48 +00001889 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00001890
1891 /* Okay, we're now positioned to make the NUL
1892 * transition. We couldn't have
1893 * yy_get_previous_state() go ahead and do it
1894 * for us because it doesn't know how to deal
1895 * with the possibility of jamming (and we don't
1896 * want to build jamming into it because then it
1897 * will run more slowly).
1898 */
1899
1900 yy_next_state = yy_try_NUL_trans( yy_current_state );
1901
Owen Anderson1dc69692006-10-18 02:21:48 +00001902 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001903
1904 if ( yy_next_state )
1905 {
1906 /* Consume the NUL. */
Owen Anderson1dc69692006-10-18 02:21:48 +00001907 yy_cp = ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001908 yy_current_state = yy_next_state;
1909 goto yy_match;
1910 }
1911
1912 else
1913 {
Owen Anderson1dc69692006-10-18 02:21:48 +00001914 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001915 goto yy_find_action;
1916 }
1917 }
1918
Owen Anderson1dc69692006-10-18 02:21:48 +00001919 else switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001920 {
1921 case EOB_ACT_END_OF_FILE:
1922 {
Owen Anderson1dc69692006-10-18 02:21:48 +00001923 yy_did_buffer_switch_on_eof = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001924
Owen Anderson1dc69692006-10-18 02:21:48 +00001925 if ( yywrap() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001926 {
1927 /* Note: because we've taken care in
1928 * yy_get_next_buffer() to have set up
Owen Anderson1dc69692006-10-18 02:21:48 +00001929 * yytext, we can now set up
Reid Spencer68a24bd2005-08-27 18:50:39 +00001930 * yy_c_buf_p so that if some total
1931 * hoser (like flex itself) wants to
1932 * call the scanner after we return the
1933 * YY_NULL, it'll still work - another
1934 * YY_NULL will get returned.
1935 */
Owen Anderson1dc69692006-10-18 02:21:48 +00001936 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001937
1938 yy_act = YY_STATE_EOF(YY_START);
1939 goto do_action;
1940 }
1941
1942 else
1943 {
Owen Anderson1dc69692006-10-18 02:21:48 +00001944 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001945 YY_NEW_FILE;
1946 }
1947 break;
1948 }
1949
1950 case EOB_ACT_CONTINUE_SCAN:
Owen Anderson1dc69692006-10-18 02:21:48 +00001951 yy_c_buf_p =
1952 yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001953
Owen Anderson1dc69692006-10-18 02:21:48 +00001954 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00001955
Owen Anderson1dc69692006-10-18 02:21:48 +00001956 yy_cp = yy_c_buf_p;
1957 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001958 goto yy_match;
1959
1960 case EOB_ACT_LAST_MATCH:
Owen Anderson1dc69692006-10-18 02:21:48 +00001961 yy_c_buf_p =
1962 &yy_current_buffer->yy_ch_buf[yy_n_chars];
Reid Spencer68a24bd2005-08-27 18:50:39 +00001963
Owen Anderson1dc69692006-10-18 02:21:48 +00001964 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00001965
Owen Anderson1dc69692006-10-18 02:21:48 +00001966 yy_cp = yy_c_buf_p;
1967 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001968 goto yy_find_action;
1969 }
1970 break;
1971 }
1972
1973 default:
1974 YY_FATAL_ERROR(
1975 "fatal flex scanner internal error--no action found" );
1976 } /* end of action switch */
1977 } /* end of scanning one token */
Owen Anderson1dc69692006-10-18 02:21:48 +00001978 } /* end of yylex */
1979
Reid Spencer68a24bd2005-08-27 18:50:39 +00001980
1981/* yy_get_next_buffer - try to read in a new buffer
1982 *
1983 * Returns a code representing an action:
1984 * EOB_ACT_LAST_MATCH -
1985 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
1986 * EOB_ACT_END_OF_FILE - end of file
1987 */
Owen Anderson1dc69692006-10-18 02:21:48 +00001988
1989static int yy_get_next_buffer()
1990 {
1991 register char *dest = yy_current_buffer->yy_ch_buf;
1992 register char *source = yytext_ptr;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001993 register int number_to_move, i;
1994 int ret_val;
1995
Owen Anderson1dc69692006-10-18 02:21:48 +00001996 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001997 YY_FATAL_ERROR(
1998 "fatal flex scanner internal error--end of buffer missed" );
1999
Owen Anderson1dc69692006-10-18 02:21:48 +00002000 if ( yy_current_buffer->yy_fill_buffer == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002001 { /* Don't try to fill the buffer, so this is an EOF. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002002 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002003 {
2004 /* We matched a single character, the EOB, so
2005 * treat this as a final EOF.
2006 */
2007 return EOB_ACT_END_OF_FILE;
2008 }
2009
2010 else
2011 {
2012 /* We matched some text prior to the EOB, first
2013 * process it.
2014 */
2015 return EOB_ACT_LAST_MATCH;
2016 }
2017 }
2018
2019 /* Try to read more data. */
2020
2021 /* First move last chars to start of buffer. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002022 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002023
2024 for ( i = 0; i < number_to_move; ++i )
2025 *(dest++) = *(source++);
2026
Owen Anderson1dc69692006-10-18 02:21:48 +00002027 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002028 /* don't do the read, it's not guaranteed to return an EOF,
2029 * just force an EOF
2030 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002031 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002032
2033 else
2034 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002035 int num_to_read =
2036 yy_current_buffer->yy_buf_size - number_to_move - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002037
2038 while ( num_to_read <= 0 )
2039 { /* Not enough room in the buffer - grow it. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002040#ifdef YY_USES_REJECT
2041 YY_FATAL_ERROR(
2042"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
2043#else
Reid Spencer68a24bd2005-08-27 18:50:39 +00002044
2045 /* just a shorter name for the current buffer */
Owen Anderson1dc69692006-10-18 02:21:48 +00002046 YY_BUFFER_STATE b = yy_current_buffer;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002047
2048 int yy_c_buf_p_offset =
Owen Anderson1dc69692006-10-18 02:21:48 +00002049 (int) (yy_c_buf_p - b->yy_ch_buf);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002050
2051 if ( b->yy_is_our_buffer )
2052 {
2053 int new_size = b->yy_buf_size * 2;
2054
2055 if ( new_size <= 0 )
2056 b->yy_buf_size += b->yy_buf_size / 8;
2057 else
2058 b->yy_buf_size *= 2;
2059
2060 b->yy_ch_buf = (char *)
2061 /* Include room in for 2 EOB chars. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002062 yy_flex_realloc( (void *) b->yy_ch_buf,
2063 b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002064 }
2065 else
2066 /* Can't grow it, we don't own it. */
2067 b->yy_ch_buf = 0;
2068
2069 if ( ! b->yy_ch_buf )
2070 YY_FATAL_ERROR(
2071 "fatal error - scanner input buffer overflow" );
2072
Owen Anderson1dc69692006-10-18 02:21:48 +00002073 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002074
Owen Anderson1dc69692006-10-18 02:21:48 +00002075 num_to_read = yy_current_buffer->yy_buf_size -
Reid Spencer68a24bd2005-08-27 18:50:39 +00002076 number_to_move - 1;
Owen Anderson1dc69692006-10-18 02:21:48 +00002077#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002078 }
2079
2080 if ( num_to_read > YY_READ_BUF_SIZE )
2081 num_to_read = YY_READ_BUF_SIZE;
2082
2083 /* Read in more data. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002084 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
2085 yy_n_chars, num_to_read );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002086
Owen Anderson1dc69692006-10-18 02:21:48 +00002087 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002088 }
2089
Owen Anderson1dc69692006-10-18 02:21:48 +00002090 if ( yy_n_chars == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002091 {
2092 if ( number_to_move == YY_MORE_ADJ )
2093 {
2094 ret_val = EOB_ACT_END_OF_FILE;
Owen Anderson1dc69692006-10-18 02:21:48 +00002095 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002096 }
2097
2098 else
2099 {
2100 ret_val = EOB_ACT_LAST_MATCH;
Owen Anderson1dc69692006-10-18 02:21:48 +00002101 yy_current_buffer->yy_buffer_status =
Reid Spencer68a24bd2005-08-27 18:50:39 +00002102 YY_BUFFER_EOF_PENDING;
2103 }
2104 }
2105
2106 else
2107 ret_val = EOB_ACT_CONTINUE_SCAN;
2108
Owen Anderson1dc69692006-10-18 02:21:48 +00002109 yy_n_chars += number_to_move;
2110 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2111 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002112
Owen Anderson1dc69692006-10-18 02:21:48 +00002113 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002114
2115 return ret_val;
Owen Anderson1dc69692006-10-18 02:21:48 +00002116 }
2117
Reid Spencer68a24bd2005-08-27 18:50:39 +00002118
2119/* yy_get_previous_state - get the state just before the EOB char was reached */
2120
Owen Anderson1dc69692006-10-18 02:21:48 +00002121static yy_state_type yy_get_previous_state()
2122 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002123 register yy_state_type yy_current_state;
2124 register char *yy_cp;
2125
Owen Anderson1dc69692006-10-18 02:21:48 +00002126 yy_current_state = yy_start;
2127 yy_state_ptr = yy_state_buf;
2128 *yy_state_ptr++ = yy_current_state;
2129
2130 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002131 {
2132 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2133 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2134 {
2135 yy_current_state = (int) yy_def[yy_current_state];
Chris Lattner1ae022f2006-10-22 06:08:13 +00002136 if ( yy_current_state >= 510 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002137 yy_c = yy_meta[(unsigned int) yy_c];
2138 }
2139 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Owen Anderson1dc69692006-10-18 02:21:48 +00002140 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002141 }
2142
2143 return yy_current_state;
Owen Anderson1dc69692006-10-18 02:21:48 +00002144 }
2145
Reid Spencer68a24bd2005-08-27 18:50:39 +00002146
2147/* yy_try_NUL_trans - try to make a transition on the NUL character
2148 *
2149 * synopsis
2150 * next_state = yy_try_NUL_trans( current_state );
2151 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002152
2153#ifdef YY_USE_PROTOS
2154static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
2155#else
2156static yy_state_type yy_try_NUL_trans( yy_current_state )
2157yy_state_type yy_current_state;
2158#endif
2159 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002160 register int yy_is_jam;
2161
2162 register YY_CHAR yy_c = 1;
2163 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2164 {
2165 yy_current_state = (int) yy_def[yy_current_state];
Chris Lattner1ae022f2006-10-22 06:08:13 +00002166 if ( yy_current_state >= 510 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002167 yy_c = yy_meta[(unsigned int) yy_c];
2168 }
2169 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Chris Lattner1ae022f2006-10-22 06:08:13 +00002170 yy_is_jam = (yy_current_state == 509);
Owen Anderson1dc69692006-10-18 02:21:48 +00002171 if ( ! yy_is_jam )
2172 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002173
2174 return yy_is_jam ? 0 : yy_current_state;
Owen Anderson1dc69692006-10-18 02:21:48 +00002175 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002176
2177
Owen Anderson1dc69692006-10-18 02:21:48 +00002178#ifndef YY_NO_UNPUT
2179#ifdef YY_USE_PROTOS
2180static inline void yyunput( int c, register char *yy_bp )
2181#else
2182static inline void yyunput( c, yy_bp )
2183int c;
2184register char *yy_bp;
2185#endif
2186 {
2187 register char *yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002188
Owen Anderson1dc69692006-10-18 02:21:48 +00002189 /* undo effects of setting up yytext */
2190 *yy_cp = yy_hold_char;
2191
2192 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002193 { /* need to shift things up to make room */
2194 /* +2 for EOB chars. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002195 register int number_to_move = yy_n_chars + 2;
2196 register char *dest = &yy_current_buffer->yy_ch_buf[
2197 yy_current_buffer->yy_buf_size + 2];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002198 register char *source =
Owen Anderson1dc69692006-10-18 02:21:48 +00002199 &yy_current_buffer->yy_ch_buf[number_to_move];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002200
Owen Anderson1dc69692006-10-18 02:21:48 +00002201 while ( source > yy_current_buffer->yy_ch_buf )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002202 *--dest = *--source;
2203
2204 yy_cp += (int) (dest - source);
2205 yy_bp += (int) (dest - source);
Owen Anderson1dc69692006-10-18 02:21:48 +00002206 yy_current_buffer->yy_n_chars =
2207 yy_n_chars = yy_current_buffer->yy_buf_size;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002208
Owen Anderson1dc69692006-10-18 02:21:48 +00002209 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002210 YY_FATAL_ERROR( "flex scanner push-back overflow" );
2211 }
2212
2213 *--yy_cp = (char) c;
2214
Owen Anderson1dc69692006-10-18 02:21:48 +00002215 if ( c == '\n' )
2216 --yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002217
Owen Anderson1dc69692006-10-18 02:21:48 +00002218 yytext_ptr = yy_bp;
2219 yy_hold_char = *yy_cp;
2220 yy_c_buf_p = yy_cp;
2221 }
2222#endif /* ifndef YY_NO_UNPUT */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002223
Owen Anderson1dc69692006-10-18 02:21:48 +00002224
Reid Spencer68a24bd2005-08-27 18:50:39 +00002225#ifdef __cplusplus
Owen Anderson1dc69692006-10-18 02:21:48 +00002226static int yyinput()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002227#else
Owen Anderson1dc69692006-10-18 02:21:48 +00002228static int input()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002229#endif
Owen Anderson1dc69692006-10-18 02:21:48 +00002230 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002231 int c;
2232
Owen Anderson1dc69692006-10-18 02:21:48 +00002233 *yy_c_buf_p = yy_hold_char;
2234
2235 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002236 {
2237 /* yy_c_buf_p now points to the character we want to return.
2238 * If this occurs *before* the EOB characters, then it's a
2239 * valid NUL; if not, then we've hit the end of the buffer.
2240 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002241 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002242 /* This was really a NUL. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002243 *yy_c_buf_p = '\0';
Reid Spencer68a24bd2005-08-27 18:50:39 +00002244
2245 else
2246 { /* need more input */
Owen Anderson1dc69692006-10-18 02:21:48 +00002247 int offset = yy_c_buf_p - yytext_ptr;
2248 ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002249
Owen Anderson1dc69692006-10-18 02:21:48 +00002250 switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002251 {
2252 case EOB_ACT_LAST_MATCH:
2253 /* This happens because yy_g_n_b()
2254 * sees that we've accumulated a
2255 * token and flags that we need to
2256 * try matching the token before
2257 * proceeding. But for input(),
2258 * there's no matching to consider.
2259 * So convert the EOB_ACT_LAST_MATCH
2260 * to EOB_ACT_END_OF_FILE.
2261 */
2262
2263 /* Reset buffer status. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002264 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002265
Owen Anderson1dc69692006-10-18 02:21:48 +00002266 /* fall through */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002267
2268 case EOB_ACT_END_OF_FILE:
2269 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002270 if ( yywrap() )
Reid Spencer61c83e02006-08-18 08:43:06 +00002271 return EOF;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002272
Owen Anderson1dc69692006-10-18 02:21:48 +00002273 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002274 YY_NEW_FILE;
2275#ifdef __cplusplus
2276 return yyinput();
2277#else
2278 return input();
2279#endif
2280 }
2281
2282 case EOB_ACT_CONTINUE_SCAN:
Owen Anderson1dc69692006-10-18 02:21:48 +00002283 yy_c_buf_p = yytext_ptr + offset;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002284 break;
2285 }
2286 }
2287 }
2288
Owen Anderson1dc69692006-10-18 02:21:48 +00002289 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
2290 *yy_c_buf_p = '\0'; /* preserve yytext */
2291 yy_hold_char = *++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002292
2293 if ( c == '\n' )
Owen Anderson1dc69692006-10-18 02:21:48 +00002294 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002295
2296 return c;
2297 }
Chris Lattner1ae022f2006-10-22 06:08:13 +00002298
Reid Spencer68a24bd2005-08-27 18:50:39 +00002299
Owen Anderson1dc69692006-10-18 02:21:48 +00002300#ifdef YY_USE_PROTOS
2301void yyrestart( FILE *input_file )
2302#else
2303void yyrestart( input_file )
2304FILE *input_file;
2305#endif
2306 {
2307 if ( ! yy_current_buffer )
2308 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
2309
2310 yy_init_buffer( yy_current_buffer, input_file );
2311 yy_load_buffer_state();
2312 }
2313
2314
2315#ifdef YY_USE_PROTOS
2316void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
2317#else
2318void yy_switch_to_buffer( new_buffer )
2319YY_BUFFER_STATE new_buffer;
2320#endif
2321 {
2322 if ( yy_current_buffer == new_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002323 return;
2324
Owen Anderson1dc69692006-10-18 02:21:48 +00002325 if ( yy_current_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002326 {
2327 /* Flush out information for old buffer. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002328 *yy_c_buf_p = yy_hold_char;
2329 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
2330 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002331 }
2332
Owen Anderson1dc69692006-10-18 02:21:48 +00002333 yy_current_buffer = new_buffer;
2334 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002335
2336 /* We don't actually know whether we did this switch during
Owen Anderson1dc69692006-10-18 02:21:48 +00002337 * EOF (yywrap()) processing, but the only time this flag
2338 * is looked at is after yywrap() is called, so it's safe
Reid Spencer68a24bd2005-08-27 18:50:39 +00002339 * to go ahead and always set it.
2340 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002341 yy_did_buffer_switch_on_eof = 1;
2342 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002343
2344
Owen Anderson1dc69692006-10-18 02:21:48 +00002345#ifdef YY_USE_PROTOS
2346void yy_load_buffer_state( void )
2347#else
2348void yy_load_buffer_state()
2349#endif
2350 {
2351 yy_n_chars = yy_current_buffer->yy_n_chars;
2352 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
2353 yyin = yy_current_buffer->yy_input_file;
2354 yy_hold_char = *yy_c_buf_p;
2355 }
2356
2357
2358#ifdef YY_USE_PROTOS
2359YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
2360#else
2361YY_BUFFER_STATE yy_create_buffer( file, size )
2362FILE *file;
2363int size;
2364#endif
2365 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002366 YY_BUFFER_STATE b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002367
2368 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002369 if ( ! b )
Owen Anderson1dc69692006-10-18 02:21:48 +00002370 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002371
2372 b->yy_buf_size = size;
2373
2374 /* yy_ch_buf has to be 2 characters longer than the size given because
2375 * we need to put in 2 end-of-buffer characters.
2376 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002377 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002378 if ( ! b->yy_ch_buf )
Owen Anderson1dc69692006-10-18 02:21:48 +00002379 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002380
2381 b->yy_is_our_buffer = 1;
2382
Owen Anderson1dc69692006-10-18 02:21:48 +00002383 yy_init_buffer( b, file );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002384
2385 return b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002386 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002387
Owen Anderson1dc69692006-10-18 02:21:48 +00002388
2389#ifdef YY_USE_PROTOS
2390void yy_delete_buffer( YY_BUFFER_STATE b )
2391#else
2392void yy_delete_buffer( b )
2393YY_BUFFER_STATE b;
2394#endif
2395 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002396 if ( ! b )
2397 return;
2398
Owen Anderson1dc69692006-10-18 02:21:48 +00002399 if ( b == yy_current_buffer )
2400 yy_current_buffer = (YY_BUFFER_STATE) 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002401
2402 if ( b->yy_is_our_buffer )
Owen Anderson1dc69692006-10-18 02:21:48 +00002403 yy_flex_free( (void *) b->yy_ch_buf );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002404
Owen Anderson1dc69692006-10-18 02:21:48 +00002405 yy_flex_free( (void *) b );
2406 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002407
2408
Chris Lattner1ae022f2006-10-22 06:08:13 +00002409#ifndef YY_ALWAYS_INTERACTIVE
2410#ifndef YY_NEVER_INTERACTIVE
2411extern int isatty YY_PROTO(( int ));
2412#endif
2413#endif
Owen Anderson1dc69692006-10-18 02:21:48 +00002414
2415#ifdef YY_USE_PROTOS
2416void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
2417#else
2418void yy_init_buffer( b, file )
2419YY_BUFFER_STATE b;
2420FILE *file;
2421#endif
2422
2423
2424 {
2425 yy_flush_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002426
2427 b->yy_input_file = file;
2428 b->yy_fill_buffer = 1;
2429
Owen Anderson1dc69692006-10-18 02:21:48 +00002430#if YY_ALWAYS_INTERACTIVE
2431 b->yy_is_interactive = 1;
2432#else
2433#if YY_NEVER_INTERACTIVE
2434 b->yy_is_interactive = 0;
2435#else
2436 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
2437#endif
2438#endif
2439 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002440
2441
Owen Anderson1dc69692006-10-18 02:21:48 +00002442#ifdef YY_USE_PROTOS
2443void yy_flush_buffer( YY_BUFFER_STATE b )
2444#else
2445void yy_flush_buffer( b )
2446YY_BUFFER_STATE b;
2447#endif
2448
2449 {
2450 if ( ! b )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002451 return;
2452
2453 b->yy_n_chars = 0;
2454
2455 /* We always need two end-of-buffer characters. The first causes
2456 * a transition to the end-of-buffer state. The second causes
2457 * a jam in that state.
2458 */
2459 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2460 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2461
2462 b->yy_buf_pos = &b->yy_ch_buf[0];
2463
2464 b->yy_at_bol = 1;
2465 b->yy_buffer_status = YY_BUFFER_NEW;
2466
Owen Anderson1dc69692006-10-18 02:21:48 +00002467 if ( b == yy_current_buffer )
2468 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002469 }
2470
2471
Owen Anderson1dc69692006-10-18 02:21:48 +00002472#ifndef YY_NO_SCAN_BUFFER
2473#ifdef YY_USE_PROTOS
2474YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
2475#else
2476YY_BUFFER_STATE yy_scan_buffer( base, size )
2477char *base;
2478yy_size_t size;
2479#endif
2480 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002481 YY_BUFFER_STATE b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002482
Reid Spencer68a24bd2005-08-27 18:50:39 +00002483 if ( size < 2 ||
2484 base[size-2] != YY_END_OF_BUFFER_CHAR ||
2485 base[size-1] != YY_END_OF_BUFFER_CHAR )
2486 /* They forgot to leave room for the EOB's. */
2487 return 0;
2488
Owen Anderson1dc69692006-10-18 02:21:48 +00002489 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002490 if ( ! b )
Owen Anderson1dc69692006-10-18 02:21:48 +00002491 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002492
2493 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2494 b->yy_buf_pos = b->yy_ch_buf = base;
2495 b->yy_is_our_buffer = 0;
2496 b->yy_input_file = 0;
2497 b->yy_n_chars = b->yy_buf_size;
2498 b->yy_is_interactive = 0;
2499 b->yy_at_bol = 1;
2500 b->yy_fill_buffer = 0;
2501 b->yy_buffer_status = YY_BUFFER_NEW;
2502
Owen Anderson1dc69692006-10-18 02:21:48 +00002503 yy_switch_to_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002504
2505 return b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002506 }
2507#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002508
2509
Owen Anderson1dc69692006-10-18 02:21:48 +00002510#ifndef YY_NO_SCAN_STRING
2511#ifdef YY_USE_PROTOS
2512YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
2513#else
2514YY_BUFFER_STATE yy_scan_string( yy_str )
2515yyconst char *yy_str;
2516#endif
2517 {
2518 int len;
2519 for ( len = 0; yy_str[len]; ++len )
2520 ;
2521
2522 return yy_scan_bytes( yy_str, len );
2523 }
2524#endif
2525
2526
2527#ifndef YY_NO_SCAN_BYTES
2528#ifdef YY_USE_PROTOS
2529YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
2530#else
2531YY_BUFFER_STATE yy_scan_bytes( bytes, len )
2532yyconst char *bytes;
2533int len;
2534#endif
2535 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002536 YY_BUFFER_STATE b;
2537 char *buf;
2538 yy_size_t n;
2539 int i;
Owen Anderson1dc69692006-10-18 02:21:48 +00002540
Reid Spencer68a24bd2005-08-27 18:50:39 +00002541 /* Get memory for full buffer, including space for trailing EOB's. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002542 n = len + 2;
2543 buf = (char *) yy_flex_alloc( n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002544 if ( ! buf )
Owen Anderson1dc69692006-10-18 02:21:48 +00002545 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002546
Owen Anderson1dc69692006-10-18 02:21:48 +00002547 for ( i = 0; i < len; ++i )
2548 buf[i] = bytes[i];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002549
Owen Anderson1dc69692006-10-18 02:21:48 +00002550 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002551
Owen Anderson1dc69692006-10-18 02:21:48 +00002552 b = yy_scan_buffer( buf, n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002553 if ( ! b )
Owen Anderson1dc69692006-10-18 02:21:48 +00002554 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002555
2556 /* It's okay to grow etc. this buffer, and we should throw it
2557 * away when we're done.
2558 */
2559 b->yy_is_our_buffer = 1;
2560
2561 return b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002562 }
2563#endif
2564
2565
2566#ifndef YY_NO_PUSH_STATE
2567#ifdef YY_USE_PROTOS
2568static void yy_push_state( int new_state )
2569#else
2570static void yy_push_state( new_state )
2571int new_state;
2572#endif
2573 {
2574 if ( yy_start_stack_ptr >= yy_start_stack_depth )
2575 {
2576 yy_size_t new_size;
2577
2578 yy_start_stack_depth += YY_START_STACK_INCR;
2579 new_size = yy_start_stack_depth * sizeof( int );
2580
2581 if ( ! yy_start_stack )
2582 yy_start_stack = (int *) yy_flex_alloc( new_size );
2583
2584 else
2585 yy_start_stack = (int *) yy_flex_realloc(
2586 (void *) yy_start_stack, new_size );
2587
2588 if ( ! yy_start_stack )
2589 YY_FATAL_ERROR(
2590 "out of memory expanding start-condition stack" );
2591 }
2592
2593 yy_start_stack[yy_start_stack_ptr++] = YY_START;
2594
2595 BEGIN(new_state);
2596 }
2597#endif
2598
2599
2600#ifndef YY_NO_POP_STATE
2601static void yy_pop_state()
2602 {
2603 if ( --yy_start_stack_ptr < 0 )
2604 YY_FATAL_ERROR( "start-condition stack underflow" );
2605
2606 BEGIN(yy_start_stack[yy_start_stack_ptr]);
2607 }
2608#endif
2609
2610
2611#ifndef YY_NO_TOP_STATE
2612static int yy_top_state()
2613 {
2614 return yy_start_stack[yy_start_stack_ptr - 1];
2615 }
2616#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002617
2618#ifndef YY_EXIT_FAILURE
2619#define YY_EXIT_FAILURE 2
2620#endif
2621
Owen Anderson1dc69692006-10-18 02:21:48 +00002622#ifdef YY_USE_PROTOS
2623static void yy_fatal_error( yyconst char msg[] )
2624#else
2625static void yy_fatal_error( msg )
2626char msg[];
2627#endif
2628 {
2629 (void) fprintf( stderr, "%s\n", msg );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002630 exit( YY_EXIT_FAILURE );
Owen Anderson1dc69692006-10-18 02:21:48 +00002631 }
2632
2633
Reid Spencer68a24bd2005-08-27 18:50:39 +00002634
2635/* Redefine yyless() so it works in section 3 code. */
2636
2637#undef yyless
2638#define yyless(n) \
2639 do \
2640 { \
Owen Anderson1dc69692006-10-18 02:21:48 +00002641 /* Undo effects of setting up yytext. */ \
2642 yytext[yyleng] = yy_hold_char; \
2643 yy_c_buf_p = yytext + n; \
2644 yy_hold_char = *yy_c_buf_p; \
2645 *yy_c_buf_p = '\0'; \
2646 yyleng = n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00002647 } \
2648 while ( 0 )
2649
2650
Owen Anderson1dc69692006-10-18 02:21:48 +00002651/* Internal utility routines. */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002652
2653#ifndef yytext_ptr
Owen Anderson1dc69692006-10-18 02:21:48 +00002654#ifdef YY_USE_PROTOS
2655static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
2656#else
2657static void yy_flex_strncpy( s1, s2, n )
2658char *s1;
2659yyconst char *s2;
2660int n;
2661#endif
2662 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002663 register int i;
2664 for ( i = 0; i < n; ++i )
2665 s1[i] = s2[i];
Owen Anderson1dc69692006-10-18 02:21:48 +00002666 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002667#endif
2668
2669#ifdef YY_NEED_STRLEN
Owen Anderson1dc69692006-10-18 02:21:48 +00002670#ifdef YY_USE_PROTOS
2671static int yy_flex_strlen( yyconst char *s )
2672#else
2673static int yy_flex_strlen( s )
2674yyconst char *s;
2675#endif
2676 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002677 register int n;
2678 for ( n = 0; s[n]; ++n )
2679 ;
2680
2681 return n;
Owen Anderson1dc69692006-10-18 02:21:48 +00002682 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002683#endif
2684
Reid Spencer68a24bd2005-08-27 18:50:39 +00002685
Owen Anderson1dc69692006-10-18 02:21:48 +00002686#ifdef YY_USE_PROTOS
2687static void *yy_flex_alloc( yy_size_t size )
2688#else
2689static void *yy_flex_alloc( size )
2690yy_size_t size;
2691#endif
2692 {
2693 return (void *) malloc( size );
2694 }
2695
2696#ifdef YY_USE_PROTOS
2697static inline void *yy_flex_realloc( void *ptr, yy_size_t size )
2698#else
2699static inline void *yy_flex_realloc( ptr, size )
2700void *ptr;
2701yy_size_t size;
2702#endif
2703 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002704 /* The cast to (char *) in the following accommodates both
2705 * implementations that use char* generic pointers, and those
2706 * that use void* generic pointers. It works with the latter
2707 * because both ANSI C and C++ allow castless assignment from
2708 * any pointer type to void*, and deal with argument conversions
2709 * as though doing an assignment.
2710 */
2711 return (void *) realloc( (char *) ptr, size );
Owen Anderson1dc69692006-10-18 02:21:48 +00002712 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002713
Owen Anderson1dc69692006-10-18 02:21:48 +00002714#ifdef YY_USE_PROTOS
2715static void yy_flex_free( void *ptr )
2716#else
2717static void yy_flex_free( ptr )
2718void *ptr;
2719#endif
2720 {
2721 free( ptr );
2722 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002723
Owen Anderson1dc69692006-10-18 02:21:48 +00002724#if YY_MAIN
2725int main()
2726 {
2727 yylex();
2728 return 0;
2729 }
2730#endif
Chris Lattner1ae022f2006-10-22 06:08:13 +00002731#line 363 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Chris Lattner2fecc0f2006-02-15 07:02:59 +00002732