blob: 9d6db6673dff871ca6bd86b69c2e0076d28cf93d [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 Lattnerf49c1762006-11-08 05:58:47 +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 Lattnerf49c1762006-11-08 05:58:47 +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 Lattnerf49c1762006-11-08 05:58:47 +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
Reid Spencer3ed469c2006-11-02 20:25:50 +0000311#define YY_NUM_RULES 120
312#define YY_END_OF_BUFFER 121
313static yyconst short int yy_acclist[198] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000314 { 0,
Reid Spencer3ed469c2006-11-02 20:25:50 +0000315 121, 119, 120, 118, 119, 120, 118, 120, 119, 120,
316 119, 120, 119, 120, 119, 120, 119, 120, 119, 120,
317 111, 119, 120, 111, 119, 120, 1, 119, 120, 119,
318 120, 119, 120, 119, 120, 119, 120, 119, 120, 119,
319 120, 119, 120, 119, 120, 119, 120, 119, 120, 119,
320 120, 119, 120, 119, 120, 119, 120, 119, 120, 119,
321 120, 119, 120, 119, 120, 119, 120, 119, 120, 119,
322 120, 110, 108, 107, 107, 114, 112, 116, 111, 1,
323 93, 41, 75, 23, 110, 107, 107, 115, 116, 20,
324 116, 117, 63, 74, 39, 34, 42, 66, 3, 54,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000325
Reid Spencer3ed469c2006-11-02 20:25:50 +0000326 65, 25, 83, 70, 92, 87, 88, 64, 76, 109,
327 116, 116, 49, 84, 85, 69, 100, 73, 101, 56,
328 22, 113, 68, 72, 26, 4, 61, 67, 55, 71,
329 48, 11, 116, 36, 2, 5, 58, 60, 50, 78,
330 82, 80, 81, 79, 77, 52, 102, 51, 57, 21,
331 90, 99, 45, 59, 30, 24, 44, 7, 95, 33,
332 98, 38, 62, 86, 94, 27, 28, 96, 53, 91,
333 89, 43, 6, 29, 37, 8, 17, 9, 10, 35,
334 12, 14, 13, 32, 40, 15, 31, 97, 103, 105,
335 106, 16, 46, 104, 18, 47, 19
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000336
Reid Spencer68a24bd2005-08-27 18:50:39 +0000337 } ;
338
Reid Spencer3ed469c2006-11-02 20:25:50 +0000339static yyconst short int yy_accept[527] =
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,
Reid Spencer3ed469c2006-11-02 20:25:50 +0000349 83, 83, 83, 83, 83, 83, 83, 83, 84, 84,
Owen Anderson1dc69692006-10-18 02:21:48 +0000350 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
351
Reid Spencer3ed469c2006-11-02 20:25:50 +0000352 84, 84, 84, 85, 85, 85, 85, 85, 85, 85,
353 85, 85, 85, 85, 85, 85, 85, 85, 85, 86,
354 87, 89, 90, 91, 92, 92, 93, 94, 94, 94,
355 95, 95, 96, 96, 97, 97, 97, 97, 98, 98,
356 98, 98, 98, 98, 98, 99, 99, 99, 100, 100,
357 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
358 101, 101, 101, 101, 101, 101, 101, 101, 101, 102,
359 103, 103, 103, 104, 104, 105, 106, 106, 106, 106,
360 106, 106, 106, 107, 107, 108, 108, 108, 108, 108,
Owen Anderson1dc69692006-10-18 02:21:48 +0000361 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
362
Reid Spencer3ed469c2006-11-02 20:25:50 +0000363 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
Owen Anderson1dc69692006-10-18 02:21:48 +0000364 109, 109, 109, 109, 110, 110, 111, 112, 112, 112,
365 112, 113, 113, 113, 113, 113, 114, 115, 116, 116,
Chris Lattner1ae022f2006-10-22 06:08:13 +0000366 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
Reid Spencer3ed469c2006-11-02 20:25:50 +0000367 116, 116, 116, 116, 117, 117, 118, 119, 119, 119,
368 119, 119, 119, 119, 119, 119, 119, 120, 121, 121,
369 121, 122, 122, 122, 123, 123, 124, 124, 124, 124,
370 124, 124, 124, 124, 124, 124, 125, 125, 125, 126,
371 126, 126, 127, 128, 128, 129, 130, 130, 130, 130,
372 130, 130, 131, 131, 131, 131, 131, 132, 132, 133,
Owen Anderson1dc69692006-10-18 02:21:48 +0000373
Reid Spencer3ed469c2006-11-02 20:25:50 +0000374 133, 133, 134, 135, 135, 135, 136, 136, 136, 136,
375 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
376 137, 137, 138, 138, 138, 138, 138, 138, 138, 139,
377 139, 139, 139, 139, 139, 139, 140, 140, 140, 141,
378 142, 143, 144, 145, 146, 147, 147, 147, 148, 148,
379 148, 148, 149, 150, 151, 151, 151, 151, 151, 151,
380 152, 152, 152, 152, 152, 152, 153, 153, 154, 154,
381 154, 154, 154, 154, 154, 154, 155, 156, 157, 157,
382 157, 158, 158, 159, 159, 159, 159, 160, 160, 161,
383 162, 163, 164, 164, 164, 165, 165, 165, 166, 167,
Owen Anderson1dc69692006-10-18 02:21:48 +0000384
Reid Spencer3ed469c2006-11-02 20:25:50 +0000385 168, 168, 168, 169, 170, 171, 172, 172, 172, 172,
386 172, 172, 172, 173, 173, 174, 175, 175, 175, 175,
387 175, 175, 175, 175, 175, 175, 175, 175, 176, 176,
388 176, 176, 176, 176, 176, 176, 176, 176, 177, 177,
389 177, 177, 177, 178, 178, 178, 178, 178, 179, 180,
390 180, 180, 180, 180, 180, 181, 181, 181, 181, 182,
391 182, 183, 184, 184, 184, 184, 184, 184, 184, 184,
392 184, 184, 184, 184, 184, 184, 185, 185, 185, 185,
393 185, 185, 185, 185, 186, 186, 186, 186, 186, 186,
394 187, 187, 187, 187, 187, 188, 188, 188, 189, 189,
Owen Anderson1dc69692006-10-18 02:21:48 +0000395
Reid Spencer3ed469c2006-11-02 20:25:50 +0000396 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
397 189, 189, 190, 190, 191, 192, 193, 193, 194, 194,
398 195, 196, 197, 197, 198, 198
Owen Anderson1dc69692006-10-18 02:21:48 +0000399 } ;
400
401static yyconst int yy_ec[256] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000402 { 0,
403 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
404 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
405 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
406 1, 2, 1, 4, 1, 5, 6, 1, 1, 1,
407 1, 1, 7, 1, 8, 9, 1, 10, 11, 11,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000408 11, 11, 11, 12, 11, 13, 11, 14, 15, 1,
409 1, 1, 1, 1, 16, 16, 16, 16, 17, 16,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000410 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
411 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000412 1, 1, 1, 1, 18, 1, 19, 20, 21, 22,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000413
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000414 23, 24, 25, 26, 27, 5, 28, 29, 30, 31,
415 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
416 42, 43, 1, 1, 1, 1, 1, 1, 1, 1,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000417 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 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
423 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
424
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, 1, 1, 1, 1, 1,
429 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
430 1, 1, 1, 1, 1
431 } ;
432
Owen Anderson1dc69692006-10-18 02:21:48 +0000433static yyconst int yy_meta[44] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000434 { 0,
435 1, 1, 2, 1, 3, 1, 1, 3, 3, 3,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000436 3, 3, 3, 4, 1, 3, 3, 3, 3, 3,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000437 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
438 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000439 3, 3, 3
Reid Spencer68a24bd2005-08-27 18:50:39 +0000440 } ;
441
Reid Spencer3ed469c2006-11-02 20:25:50 +0000442static yyconst short int yy_base[531] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000443 { 0,
Reid Spencer3ed469c2006-11-02 20:25:50 +0000444 0, 0, 1140, 1141, 1141, 1141, 1135, 1124, 36, 40,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000445 44, 50, 56, 62, 0, 63, 66, 81, 89, 47,
Reid Spencer3ed469c2006-11-02 20:25:50 +0000446 100, 97, 76, 96, 111, 49, 113, 110, 68, 140,
447 126, 171, 119, 118, 139, 133, 1133, 1141, 1122, 1141,
448 0, 176, 184, 199, 204, 70, 209, 224, 229, 0,
449 117, 130, 150, 72, 160, 151, 159, 123, 1121, 230,
450 178, 31, 69, 168, 240, 95, 233, 165, 241, 243,
451 242, 156, 244, 246, 187, 251, 253, 254, 211, 258,
452 256, 263, 260, 265, 190, 267, 283, 1120, 271, 274,
453 270, 285, 289, 290, 291, 292, 294, 295, 297, 299,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000454
Reid Spencer3ed469c2006-11-02 20:25:50 +0000455 296, 308, 1119, 311, 300, 318, 320, 322, 323, 330,
456 325, 328, 327, 337, 342, 216, 336, 345, 1118, 0,
457 362, 366, 1117, 380, 397, 0, 1116, 370, 349, 1115,
458 373, 1114, 355, 1113, 371, 372, 384, 1112, 392, 326,
459 399, 398, 401, 402, 1111, 405, 404, 406, 411, 412,
460 409, 413, 415, 422, 423, 425, 424, 426, 428, 429,
461 435, 442, 374, 443, 444, 445, 446, 447, 1110, 1109,
462 448, 449, 1108, 450, 1107, 1106, 476, 454, 455, 464,
463 459, 488, 1105, 470, 1104, 490, 489, 460, 492, 1103,
464 493, 494, 495, 496, 501, 502, 504, 507, 508, 512,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000465
Reid Spencer3ed469c2006-11-02 20:25:50 +0000466 514, 517, 519, 520, 521, 518, 457, 522, 526, 530,
467 539, 540, 541, 1102, 524, 1141, 550, 564, 568, 572,
468 577, 578, 458, 579, 580, 1101, 1100, 1099, 581, 582,
469 583, 584, 550, 585, 525, 586, 589, 551, 590, 587,
470 607, 591, 594, 1098, 592, 1097, 1096, 603, 611, 610,
471 593, 613, 617, 620, 621, 622, 1095, 1094, 623, 625,
472 1093, 624, 626, 0, 627, 1092, 629, 638, 630, 643,
473 644, 646, 628, 647, 654, 1091, 656, 661, 1090, 660,
474 658, 1089, 1088, 662, 1087, 1086, 659, 664, 672, 675,
475 676, 1085, 677, 678, 679, 681, 1084, 682, 1083, 684,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000476
Reid Spencer3ed469c2006-11-02 20:25:50 +0000477 683, 690, 1082, 692, 695, 1081, 700, 704, 710, 711,
478 691, 713, 701, 702, 714, 715, 718, 722, 724, 1080,
479 726, 1079, 725, 727, 728, 729, 730, 736, 1078, 737,
480 740, 743, 746, 748, 751, 1077, 735, 738, 1076, 1075,
481 1074, 1073, 1072, 1071, 1070, 756, 758, 1069, 762, 759,
482 763, 1068, 1067, 1066, 764, 766, 767, 765, 769, 1065,
483 770, 776, 778, 777, 779, 1064, 781, 1063, 784, 785,
484 786, 790, 791, 797, 798, 1062, 1061, 1060, 802, 795,
485 1059, 803, 1058, 808, 811, 804, 1057, 805, 1056, 1055,
486 1054, 1053, 810, 821, 1052, 823, 824, 1051, 1050, 1049,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000487
Reid Spencer3ed469c2006-11-02 20:25:50 +0000488 822, 825, 1048, 1047, 1046, 1045, 826, 827, 828, 829,
489 830, 833, 1044, 839, 1043, 1042, 840, 843, 844, 845,
490 846, 850, 848, 851, 852, 853, 854, 1041, 858, 863,
491 868, 869, 871, 875, 877, 878, 879, 1040, 881, 885,
492 886, 882, 1037, 887, 889, 888, 894, 1028, 1026, 897,
493 895, 892, 900, 907, 1025, 912, 916, 914, 1024, 917,
494 1023, 1021, 918, 920, 922, 925, 926, 924, 928, 931,
495 933, 932, 934, 936, 938, 1020, 941, 944, 937, 948,
496 949, 950, 952, 1019, 957, 961, 962, 963, 964, 1018,
497 965, 966, 967, 968, 1013, 969, 972, 1010, 973, 976,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000498
Reid Spencer3ed469c2006-11-02 20:25:50 +0000499 982, 984, 990, 991, 992, 993, 994, 996, 997, 998,
500 999, 1006, 1000, 896, 893, 633, 1005, 632, 1007, 385,
501 354, 353, 1008, 301, 1141, 1043, 1045, 226, 1049, 166
Reid Spencer68a24bd2005-08-27 18:50:39 +0000502 } ;
503
Reid Spencer3ed469c2006-11-02 20:25:50 +0000504static yyconst short int yy_def[531] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000505 { 0,
Reid Spencer3ed469c2006-11-02 20:25:50 +0000506 525, 1, 525, 525, 525, 525, 526, 527, 528, 525,
507 527, 527, 527, 527, 529, 527, 527, 527, 527, 527,
508 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
509 527, 527, 527, 527, 527, 527, 526, 525, 527, 525,
510 530, 530, 525, 525, 527, 527, 527, 527, 527, 529,
511 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
512 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
513 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
514 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
515 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000516
Reid Spencer3ed469c2006-11-02 20:25:50 +0000517 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
518 527, 527, 527, 527, 527, 527, 527, 527, 525, 530,
519 530, 525, 527, 527, 527, 49, 527, 527, 527, 527,
520 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
521 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
522 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
523 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
524 527, 527, 527, 527, 527, 527, 49, 527, 527, 527,
525 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
526 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000527
Reid Spencer3ed469c2006-11-02 20:25:50 +0000528 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
529 527, 527, 527, 527, 527, 525, 525, 525, 525, 527,
530 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
531 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
532 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
533 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
534 527, 527, 527, 177, 527, 527, 527, 527, 527, 527,
535 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
536 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
537 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000538
Reid Spencer3ed469c2006-11-02 20:25:50 +0000539 527, 525, 527, 527, 527, 527, 527, 527, 527, 527,
540 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
541 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
542 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
543 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
544 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
545 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
546 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
547 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
548 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000549
Reid Spencer3ed469c2006-11-02 20:25:50 +0000550 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
551 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
552 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
553 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
554 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
555 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
556 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
557 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
558 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
559 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000560
Reid Spencer3ed469c2006-11-02 20:25:50 +0000561 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
562 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
563 527, 527, 527, 527, 0, 525, 525, 525, 525, 525
Reid Spencer68a24bd2005-08-27 18:50:39 +0000564 } ;
565
Reid Spencer3ed469c2006-11-02 20:25:50 +0000566static yyconst short int yy_nxt[1185] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000567 { 0,
568 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000569 14, 14, 14, 4, 15, 8, 8, 8, 16, 17,
570 18, 19, 20, 21, 22, 8, 23, 8, 24, 25,
571 26, 27, 28, 8, 29, 30, 31, 32, 33, 34,
572 35, 8, 36, 42, 40, 43, 43, 43, 43, 44,
Reid Spencer3ed469c2006-11-02 20:25:50 +0000573 44, 44, 44, 45, 45, 45, 45, 40, 46, 139,
574 40, 140, 40, 40, 47, 48, 48, 48, 48, 40,
575 47, 48, 48, 48, 48, 40, 40, 69, 123, 40,
576 85, 40, 40, 40, 51, 40, 86, 70, 56, 40,
577 91, 52, 57, 53, 40, 54, 49, 58, 55, 60,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000578
Reid Spencer3ed469c2006-11-02 20:25:50 +0000579 59, 61, 40, 141, 131, 77, 78, 64, 40, 40,
580 40, 65, 62, 40, 79, 66, 63, 67, 71, 75,
581 68, 72, 80, 40, 40, 76, 40, 81, 73, 82,
582 40, 40, 40, 145, 74, 89, 40, 113, 127, 40,
583 115, 90, 83, 40, 102, 87, 40, 88, 84, 92,
584 114, 116, 40, 40, 135, 118, 128, 103, 129, 93,
585 104, 94, 95, 40, 40, 96, 97, 105, 120, 40,
586 117, 130, 40, 40, 98, 133, 99, 100, 40, 101,
587 92, 40, 153, 134, 40, 121, 121, 121, 121, 132,
588 106, 40, 107, 43, 43, 43, 43, 108, 138, 109,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000589
Reid Spencer3ed469c2006-11-02 20:25:50 +0000590 40, 110, 147, 40, 142, 111, 112, 122, 44, 44,
591 44, 44, 47, 45, 45, 45, 45, 40, 124, 124,
592 124, 124, 40, 156, 40, 125, 170, 213, 41, 40,
593 162, 125, 47, 48, 48, 48, 48, 40, 126, 126,
594 126, 126, 40, 40, 126, 126, 40, 126, 126, 126,
595 126, 126, 126, 40, 40, 40, 40, 40, 136, 40,
596 143, 146, 148, 149, 40, 137, 40, 40, 155, 40,
597 151, 40, 144, 40, 165, 154, 40, 152, 40, 150,
598 40, 168, 157, 40, 40, 158, 166, 40, 163, 159,
599 160, 167, 161, 169, 164, 171, 40, 173, 40, 175,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000600
Reid Spencer3ed469c2006-11-02 20:25:50 +0000601 174, 172, 40, 40, 40, 40, 176, 40, 40, 40,
602 40, 180, 40, 40, 40, 187, 179, 188, 190, 181,
603 183, 40, 191, 184, 40, 177, 185, 182, 189, 186,
604 178, 40, 196, 40, 192, 40, 40, 194, 40, 40,
605 40, 40, 193, 40, 207, 208, 198, 205, 195, 40,
606 40, 201, 199, 206, 200, 40, 202, 209, 40, 197,
607 212, 230, 40, 210, 203, 211, 40, 40, 40, 204,
608 214, 121, 121, 121, 121, 217, 217, 217, 217, 215,
609 223, 225, 218, 40, 40, 40, 40, 40, 218, 124,
610 124, 124, 124, 40, 222, 224, 125, 40, 40, 226,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000611
Reid Spencer3ed469c2006-11-02 20:25:50 +0000612 227, 255, 125, 219, 220, 40, 221, 221, 221, 221,
613 40, 40, 40, 229, 40, 40, 232, 40, 40, 40,
614 228, 231, 40, 237, 40, 40, 40, 235, 40, 233,
615 234, 236, 238, 239, 240, 40, 40, 40, 40, 40,
616 245, 40, 40, 249, 242, 246, 241, 248, 40, 243,
617 251, 252, 247, 244, 250, 40, 40, 40, 40, 40,
618 40, 40, 40, 40, 254, 257, 253, 40, 40, 258,
619 40, 40, 40, 40, 259, 294, 261, 40, 304, 256,
620 263, 268, 262, 40, 260, 264, 264, 264, 264, 276,
621 265, 264, 264, 266, 264, 264, 264, 264, 264, 264,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000622
Reid Spencer3ed469c2006-11-02 20:25:50 +0000623 267, 40, 40, 40, 273, 40, 40, 40, 40, 40,
624 269, 275, 270, 274, 40, 40, 271, 40, 272, 280,
625 40, 40, 279, 282, 283, 40, 277, 40, 281, 278,
626 40, 40, 40, 40, 40, 40, 288, 40, 40, 40,
627 284, 290, 287, 40, 286, 285, 291, 289, 296, 293,
628 292, 297, 40, 40, 40, 301, 295, 298, 300, 217,
629 217, 217, 217, 40, 40, 313, 218, 299, 311, 316,
630 219, 219, 218, 302, 302, 302, 302, 302, 302, 302,
631 302, 221, 221, 221, 221, 40, 221, 221, 221, 221,
Chris Lattner1ae022f2006-10-22 06:08:13 +0000632 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000633
Reid Spencer3ed469c2006-11-02 20:25:50 +0000634 40, 307, 40, 40, 40, 40, 40, 40, 303, 305,
635 306, 312, 310, 320, 321, 314, 40, 315, 308, 309,
636 40, 318, 317, 40, 40, 319, 40, 326, 322, 324,
637 40, 323, 325, 40, 40, 40, 40, 40, 40, 40,
638 40, 40, 40, 40, 328, 40, 40, 327, 329, 336,
639 331, 40, 330, 333, 332, 337, 40, 40, 338, 40,
640 40, 334, 335, 339, 345, 340, 342, 40, 344, 40,
641 346, 40, 40, 40, 40, 40, 347, 40, 348, 341,
642 343, 349, 350, 353, 352, 40, 351, 354, 40, 40,
643 40, 40, 40, 356, 40, 40, 40, 40, 355, 302,
Chris Lattnere869eef2005-11-12 00:11:49 +0000644
Reid Spencer3ed469c2006-11-02 20:25:50 +0000645 302, 302, 302, 360, 40, 40, 357, 363, 40, 365,
646 366, 358, 359, 40, 40, 40, 367, 40, 362, 364,
647 368, 361, 369, 40, 40, 372, 40, 40, 40, 371,
648 370, 40, 373, 374, 375, 40, 376, 40, 40, 40,
649 40, 40, 40, 40, 380, 377, 381, 382, 40, 40,
650 40, 40, 379, 40, 378, 383, 40, 384, 387, 40,
651 386, 40, 389, 390, 40, 385, 394, 388, 391, 40,
652 392, 40, 40, 393, 395, 40, 40, 40, 40, 40,
653 40, 397, 40, 40, 396, 400, 402, 398, 403, 40,
654 40, 40, 40, 405, 40, 399, 408, 40, 40, 40,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000655
Reid Spencer3ed469c2006-11-02 20:25:50 +0000656 401, 404, 407, 40, 40, 413, 406, 411, 40, 410,
657 40, 40, 415, 409, 412, 40, 40, 40, 40, 419,
658 420, 40, 425, 40, 40, 426, 416, 414, 417, 418,
659 423, 421, 422, 424, 40, 40, 40, 40, 40, 40,
660 40, 40, 40, 40, 427, 429, 40, 430, 431, 435,
661 432, 428, 40, 40, 433, 436, 40, 40, 40, 40,
662 437, 40, 434, 40, 40, 40, 40, 40, 444, 438,
663 439, 40, 445, 443, 440, 449, 40, 441, 446, 447,
664 448, 40, 40, 442, 40, 452, 453, 454, 40, 450,
665 40, 40, 40, 455, 40, 40, 451, 457, 40, 40,
666
667 40, 40, 40, 459, 463, 40, 40, 40, 40, 40,
668 40, 456, 470, 40, 458, 464, 467, 469, 460, 465,
669 40, 461, 462, 468, 466, 40, 472, 40, 471, 40,
670 40, 40, 473, 40, 474, 40, 477, 40, 40, 40,
671 475, 40, 478, 480, 40, 40, 40, 40, 483, 40,
672 40, 40, 487, 476, 40, 481, 489, 40, 479, 485,
673 486, 40, 40, 40, 488, 40, 482, 484, 490, 492,
674 40, 494, 495, 491, 40, 40, 40, 40, 40, 40,
675 40, 40, 40, 498, 493, 40, 40, 502, 496, 40,
676 499, 500, 501, 504, 507, 40, 509, 40, 505, 497,
677
678 506, 508, 503, 40, 40, 40, 40, 40, 510, 40,
679 40, 40, 40, 40, 511, 516, 517, 518, 40, 40,
680 40, 40, 513, 40, 512, 522, 40, 515, 514, 523,
681 521, 40, 40, 40, 40, 520, 40, 40, 40, 40,
682 519, 40, 524, 37, 37, 37, 37, 39, 39, 50,
Chris Lattner1ae022f2006-10-22 06:08:13 +0000683 40, 50, 50, 40, 40, 40, 40, 40, 40, 40,
Chris Lattner0e9c3762006-01-25 22:27:16 +0000684 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Chris Lattnerd5efe842006-04-08 01:18:56 +0000685 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
686 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Chris Lattner75466192006-05-19 21:28:53 +0000687 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Chris Lattner75466192006-05-19 21:28:53 +0000688
Reid Spencer3ed469c2006-11-02 20:25:50 +0000689 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
690 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
691 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
692 40, 216, 40, 40, 40, 40, 119, 40, 38, 525,
693 3, 525, 525, 525, 525, 525, 525, 525, 525, 525,
694 525, 525, 525, 525, 525, 525, 525, 525, 525, 525,
695 525, 525, 525, 525, 525, 525, 525, 525, 525, 525,
696 525, 525, 525, 525, 525, 525, 525, 525, 525, 525,
697 525, 525, 525, 525
Reid Spencer68a24bd2005-08-27 18:50:39 +0000698 } ;
699
Reid Spencer3ed469c2006-11-02 20:25:50 +0000700static yyconst short int yy_chk[1185] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000701 { 0,
702 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
703 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
704 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
705 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000706 1, 1, 1, 9, 62, 9, 9, 9, 9, 10,
707 10, 10, 10, 11, 11, 11, 11, 11, 12, 62,
708 20, 62, 26, 12, 13, 13, 13, 13, 13, 13,
709 14, 14, 14, 14, 14, 14, 16, 20, 46, 17,
Reid Spencer3ed469c2006-11-02 20:25:50 +0000710 26, 29, 63, 46, 16, 54, 26, 20, 17, 23,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000711 29, 16, 17, 16, 18, 16, 13, 17, 16, 18,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000712
Reid Spencer3ed469c2006-11-02 20:25:50 +0000713 17, 18, 19, 63, 54, 23, 23, 19, 66, 24,
714 22, 19, 18, 21, 24, 19, 18, 19, 21, 22,
715 19, 21, 24, 28, 25, 22, 27, 24, 21, 25,
716 51, 34, 33, 66, 21, 28, 58, 33, 51, 31,
717 34, 28, 25, 52, 31, 27, 36, 27, 25, 30,
718 33, 35, 35, 30, 58, 36, 52, 31, 52, 30,
719 31, 30, 30, 53, 56, 30, 30, 31, 530, 72,
720 35, 53, 57, 55, 30, 56, 30, 30, 68, 30,
721 32, 64, 72, 57, 32, 42, 42, 42, 42, 55,
722 32, 61, 32, 43, 43, 43, 43, 32, 61, 32,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000723
Reid Spencer3ed469c2006-11-02 20:25:50 +0000724 75, 32, 68, 85, 64, 32, 32, 44, 44, 44,
725 44, 44, 45, 45, 45, 45, 45, 45, 47, 47,
726 47, 47, 47, 75, 79, 47, 85, 116, 528, 116,
727 79, 47, 48, 48, 48, 48, 48, 48, 49, 49,
728 49, 49, 49, 60, 49, 49, 67, 49, 49, 49,
729 49, 49, 49, 65, 69, 71, 70, 73, 60, 74,
730 65, 67, 69, 70, 76, 60, 77, 78, 74, 81,
731 71, 80, 65, 83, 81, 73, 82, 71, 84, 70,
732 86, 83, 76, 91, 89, 77, 81, 90, 80, 78,
733 78, 82, 78, 84, 80, 86, 87, 89, 92, 91,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000734
Reid Spencer3ed469c2006-11-02 20:25:50 +0000735 90, 87, 93, 94, 95, 96, 91, 97, 98, 101,
736 99, 95, 100, 105, 524, 97, 94, 98, 100, 95,
737 96, 102, 101, 96, 104, 92, 96, 95, 99, 96,
738 93, 106, 105, 107, 102, 108, 109, 104, 111, 140,
739 113, 112, 102, 110, 113, 113, 107, 111, 104, 117,
740 114, 110, 108, 112, 109, 115, 110, 113, 118, 106,
741 115, 140, 129, 114, 110, 114, 522, 521, 133, 110,
742 117, 121, 121, 121, 121, 122, 122, 122, 122, 118,
743 129, 133, 122, 128, 135, 136, 131, 163, 122, 124,
744 124, 124, 124, 124, 128, 131, 124, 137, 520, 135,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000745
Reid Spencer3ed469c2006-11-02 20:25:50 +0000746 136, 163, 124, 125, 125, 139, 125, 125, 125, 125,
747 125, 142, 141, 139, 143, 144, 142, 147, 146, 148,
748 137, 141, 151, 147, 149, 150, 152, 146, 153, 143,
749 144, 146, 148, 149, 150, 154, 155, 157, 156, 158,
750 154, 159, 160, 157, 151, 155, 150, 156, 161, 152,
751 159, 160, 155, 153, 158, 162, 164, 165, 166, 167,
752 168, 171, 172, 174, 162, 165, 161, 178, 179, 166,
753 207, 223, 181, 188, 167, 207, 171, 180, 223, 164,
754 174, 181, 172, 184, 168, 177, 177, 177, 177, 188,
755 178, 177, 177, 179, 177, 177, 177, 177, 177, 177,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000756
Reid Spencer3ed469c2006-11-02 20:25:50 +0000757 180, 182, 187, 186, 184, 189, 191, 192, 193, 194,
758 182, 187, 182, 186, 195, 196, 182, 197, 182, 193,
759 198, 199, 192, 195, 196, 200, 189, 201, 194, 191,
760 202, 206, 203, 204, 205, 208, 201, 215, 235, 209,
761 197, 203, 200, 210, 199, 198, 204, 202, 209, 206,
762 205, 210, 211, 212, 213, 215, 208, 211, 213, 217,
763 217, 217, 217, 233, 238, 235, 217, 212, 233, 238,
764 218, 218, 217, 218, 218, 218, 218, 219, 219, 219,
765 219, 220, 220, 220, 220, 220, 221, 221, 221, 221,
766 221, 222, 224, 225, 229, 230, 231, 232, 234, 236,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000767
Reid Spencer3ed469c2006-11-02 20:25:50 +0000768 240, 229, 237, 239, 242, 245, 251, 243, 222, 224,
769 225, 234, 232, 242, 243, 236, 248, 237, 230, 231,
770 241, 240, 239, 250, 249, 241, 252, 251, 245, 249,
771 253, 248, 250, 254, 255, 256, 259, 262, 260, 263,
772 265, 273, 267, 269, 253, 518, 516, 252, 254, 265,
773 256, 268, 255, 260, 259, 267, 270, 271, 268, 272,
774 274, 262, 263, 269, 273, 270, 271, 275, 272, 277,
775 274, 281, 287, 280, 278, 284, 275, 288, 277, 270,
776 271, 278, 280, 287, 284, 289, 281, 288, 290, 291,
777 293, 294, 295, 290, 296, 298, 301, 300, 289, 302,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000778
Reid Spencer3ed469c2006-11-02 20:25:50 +0000779 302, 302, 302, 295, 311, 304, 291, 300, 305, 301,
780 304, 293, 294, 307, 313, 314, 305, 308, 298, 300,
781 307, 296, 308, 309, 310, 311, 312, 315, 316, 310,
782 309, 317, 312, 313, 314, 318, 315, 319, 323, 321,
783 324, 325, 326, 327, 319, 316, 321, 323, 337, 328,
784 330, 338, 318, 331, 317, 324, 332, 325, 328, 333,
785 327, 334, 331, 332, 335, 326, 337, 330, 333, 346,
786 334, 347, 350, 335, 338, 349, 351, 355, 358, 356,
787 357, 347, 359, 361, 346, 351, 356, 349, 357, 362,
788 364, 363, 365, 359, 367, 350, 363, 369, 370, 371,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000789
Reid Spencer3ed469c2006-11-02 20:25:50 +0000790 355, 358, 362, 372, 373, 370, 361, 367, 380, 365,
791 374, 375, 372, 364, 369, 379, 382, 386, 388, 379,
792 379, 384, 386, 393, 385, 388, 373, 371, 374, 375,
793 384, 380, 382, 385, 394, 401, 396, 397, 402, 407,
794 408, 409, 410, 411, 393, 396, 412, 397, 401, 409,
795 402, 394, 414, 417, 407, 410, 418, 419, 420, 421,
796 411, 423, 408, 422, 424, 425, 426, 427, 421, 412,
797 414, 429, 422, 420, 417, 426, 430, 418, 423, 424,
798 425, 431, 432, 419, 433, 430, 431, 432, 434, 427,
799 435, 436, 437, 433, 439, 442, 429, 435, 440, 441,
Chris Lattnere869eef2005-11-12 00:11:49 +0000800
Reid Spencer3ed469c2006-11-02 20:25:50 +0000801 444, 446, 445, 437, 442, 452, 515, 447, 451, 514,
802 450, 434, 452, 453, 436, 444, 447, 451, 439, 445,
803 454, 440, 441, 450, 446, 456, 454, 458, 453, 457,
804 460, 463, 456, 464, 457, 465, 463, 468, 466, 467,
805 458, 469, 464, 466, 470, 472, 471, 473, 469, 474,
806 479, 475, 473, 460, 477, 467, 475, 478, 465, 471,
807 472, 480, 481, 482, 474, 483, 468, 470, 477, 479,
808 485, 481, 482, 478, 486, 487, 488, 489, 491, 492,
809 493, 494, 496, 486, 480, 497, 499, 491, 483, 500,
810 487, 488, 489, 493, 497, 501, 500, 502, 494, 485,
Chris Lattner75466192006-05-19 21:28:53 +0000811
Reid Spencer3ed469c2006-11-02 20:25:50 +0000812 496, 499, 492, 503, 504, 505, 506, 507, 501, 508,
813 509, 510, 511, 513, 502, 507, 508, 509, 517, 512,
814 519, 523, 504, 498, 503, 517, 495, 506, 505, 519,
815 513, 490, 484, 476, 462, 511, 461, 459, 455, 449,
816 510, 448, 523, 526, 526, 526, 526, 527, 527, 529,
817 443, 529, 529, 438, 428, 416, 415, 413, 406, 405,
818 404, 403, 400, 399, 398, 395, 392, 391, 390, 389,
819 387, 383, 381, 378, 377, 376, 368, 366, 360, 354,
820 353, 352, 348, 345, 344, 343, 342, 341, 340, 339,
821 336, 329, 322, 320, 306, 303, 299, 297, 292, 286,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000822
Reid Spencer3ed469c2006-11-02 20:25:50 +0000823 285, 283, 282, 279, 276, 266, 261, 258, 257, 247,
824 246, 244, 228, 227, 226, 214, 190, 185, 183, 176,
825 175, 173, 170, 169, 145, 138, 134, 132, 130, 127,
826 123, 119, 103, 88, 59, 39, 37, 8, 7, 3,
827 525, 525, 525, 525, 525, 525, 525, 525, 525, 525,
828 525, 525, 525, 525, 525, 525, 525, 525, 525, 525,
829 525, 525, 525, 525, 525, 525, 525, 525, 525, 525,
830 525, 525, 525, 525, 525, 525, 525, 525, 525, 525,
831 525, 525, 525, 525
Reid Spencer68a24bd2005-08-27 18:50:39 +0000832 } ;
833
Owen Anderson1dc69692006-10-18 02:21:48 +0000834static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
835static char *yy_full_match;
836static int yy_lp;
837#define REJECT \
838{ \
839*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
840yy_cp = yy_full_match; /* restore poss. backed-over text */ \
841++yy_lp; \
842goto find_rule; \
843}
Reid Spencer68a24bd2005-08-27 18:50:39 +0000844#define yymore() yymore_used_but_not_detected
845#define YY_MORE_ADJ 0
846#define YY_RESTORE_YY_MORE_OFFSET
Owen Anderson1dc69692006-10-18 02:21:48 +0000847char *yytext;
Chris Lattnerf49c1762006-11-08 05:58:47 +0000848#line 1 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +0000849#define INITIAL 0
Reid Spencer68a24bd2005-08-27 18:50:39 +0000850/*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
851//
852// The LLVM Compiler Infrastructure
853//
854// This file was developed by the LLVM research group and is distributed under
855// the University of Illinois Open Source License. See LICENSE.TXT for details.
856//
857//===----------------------------------------------------------------------===//
858//
859// This file implements the flex scanner for LLVM assembly languages files.
860//
861//===----------------------------------------------------------------------===*/
Owen Anderson1dc69692006-10-18 02:21:48 +0000862#define YY_NEVER_INTERACTIVE 1
Chris Lattnerf49c1762006-11-08 05:58:47 +0000863#line 28 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +0000864#include "ParserInternals.h"
865#include "llvm/Module.h"
866#include <list>
867#include "llvmAsmParser.h"
868#include <cctype>
869#include <cstdlib>
870
871void set_scan_file(FILE * F){
Owen Anderson1dc69692006-10-18 02:21:48 +0000872 yy_switch_to_buffer(yy_create_buffer( F, YY_BUF_SIZE ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +0000873}
874void set_scan_string (const char * str) {
Owen Anderson1dc69692006-10-18 02:21:48 +0000875 yy_scan_string (str);
Reid Spencer68a24bd2005-08-27 18:50:39 +0000876}
877
Reid Spencer3ed469c2006-11-02 20:25:50 +0000878// Construct a token value for a non-obsolete token
Reid Spencer68a24bd2005-08-27 18:50:39 +0000879#define RET_TOK(type, Enum, sym) \
Reid Spencer3ed469c2006-11-02 20:25:50 +0000880 llvmAsmlval.type.opcode = Instruction::Enum; \
881 llvmAsmlval.type.obsolete = false; \
882 return sym
883
884// Construct a token value for an obsolete token
885#define RET_TOK_OBSOLETE(type, Enum, sym) \
886 llvmAsmlval.type.opcode = Instruction::Enum; \
887 llvmAsmlval.type.obsolete = true; \
888 return sym
889
Reid Spencer68a24bd2005-08-27 18:50:39 +0000890
891namespace llvm {
892
893// TODO: All of the static identifiers are figured out by the lexer,
894// these should be hashed to reduce the lexer size
895
896
897// atoull - Convert an ascii string of decimal digits into the unsigned long
898// long representation... this does not have to do input error checking,
899// because we know that the input will be matched by a suitable regex...
900//
901static uint64_t atoull(const char *Buffer) {
902 uint64_t Result = 0;
903 for (; *Buffer; Buffer++) {
904 uint64_t OldRes = Result;
905 Result *= 10;
906 Result += *Buffer-'0';
907 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000908 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000909 }
910 return Result;
911}
912
913static uint64_t HexIntToVal(const char *Buffer) {
914 uint64_t Result = 0;
915 for (; *Buffer; ++Buffer) {
916 uint64_t OldRes = Result;
917 Result *= 16;
918 char C = *Buffer;
919 if (C >= '0' && C <= '9')
920 Result += C-'0';
921 else if (C >= 'A' && C <= 'F')
922 Result += C-'A'+10;
923 else if (C >= 'a' && C <= 'f')
924 Result += C-'a'+10;
925
926 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000927 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000928 }
929 return Result;
930}
931
932
933// HexToFP - Convert the ascii string in hexidecimal format to the floating
934// point representation of it.
935//
936static double HexToFP(const char *Buffer) {
937 // Behave nicely in the face of C TBAA rules... see:
938 // http://www.nullstone.com/htmls/category/aliastyp.htm
939 union {
940 uint64_t UI;
941 double FP;
942 } UIntToFP;
943 UIntToFP.UI = HexIntToVal(Buffer);
944
945 assert(sizeof(double) == sizeof(uint64_t) &&
946 "Data sizes incompatible on this target!");
947 return UIntToFP.FP; // Cast Hex constant to double
948}
949
950
951// UnEscapeLexed - Run through the specified buffer and change \xx codes to the
952// appropriate character. If AllowNull is set to false, a \00 value will cause
953// an exception to be thrown.
954//
955// If AllowNull is set to true, the return value of the function points to the
956// last character of the string in memory.
957//
958char *UnEscapeLexed(char *Buffer, bool AllowNull) {
959 char *BOut = Buffer;
960 for (char *BIn = Buffer; *BIn; ) {
961 if (BIn[0] == '\\' && isxdigit(BIn[1]) && isxdigit(BIn[2])) {
962 char Tmp = BIn[3]; BIn[3] = 0; // Terminate string
963 *BOut = (char)strtol(BIn+1, 0, 16); // Convert to number
964 if (!AllowNull && !*BOut)
Reid Spencer61c83e02006-08-18 08:43:06 +0000965 GenerateError("String literal cannot accept \\00 escape!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000966
967 BIn[3] = Tmp; // Restore character
968 BIn += 3; // Skip over handled chars
969 ++BOut;
970 } else {
971 *BOut++ = *BIn++;
972 }
973 }
974
975 return BOut;
976}
977
978} // End llvm namespace
979
980using namespace llvm;
981
982#define YY_NEVER_INTERACTIVE 1
983/* Comments start with a ; and go till end of line */
984/* Variable(Value) identifiers start with a % sign */
985/* Label identifiers end with a colon */
986/* Quoted names can contain any character except " and \ */
987/* [PN]Integer: match positive and negative literal integer values that
988 * are preceeded by a '%' character. These represent unnamed variable slots.
989 */
990/* E[PN]Integer: match positive and negative literal integer values */
991/* FPConstant - A Floating point constant.
992 */
993/* HexFPConstant - Floating point constant represented in IEEE format as a
994 * hexadecimal number for when exponential notation is not precise enough.
995 */
996/* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
997 * it to deal with 64 bit numbers.
998 */
Chris Lattnerf49c1762006-11-08 05:58:47 +0000999#line 1000 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001000
1001/* Macros after this point can all be overridden by user definitions in
1002 * section 1.
1003 */
1004
1005#ifndef YY_SKIP_YYWRAP
1006#ifdef __cplusplus
Owen Anderson1dc69692006-10-18 02:21:48 +00001007extern "C" int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001008#else
Owen Anderson1dc69692006-10-18 02:21:48 +00001009extern int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001010#endif
1011#endif
1012
Owen Anderson1dc69692006-10-18 02:21:48 +00001013#ifndef YY_NO_UNPUT
1014static inline void yyunput YY_PROTO(( int c, char *buf_ptr ));
1015#endif
1016
Reid Spencer68a24bd2005-08-27 18:50:39 +00001017#ifndef yytext_ptr
Owen Anderson1dc69692006-10-18 02:21:48 +00001018static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001019#endif
1020
1021#ifdef YY_NEED_STRLEN
Owen Anderson1dc69692006-10-18 02:21:48 +00001022static int yy_flex_strlen YY_PROTO(( yyconst char * ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001023#endif
1024
1025#ifndef YY_NO_INPUT
1026#ifdef __cplusplus
Owen Anderson1dc69692006-10-18 02:21:48 +00001027static int yyinput YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001028#else
Owen Anderson1dc69692006-10-18 02:21:48 +00001029static int input YY_PROTO(( void ));
1030#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001031#endif
1032
Owen Anderson1dc69692006-10-18 02:21:48 +00001033#if YY_STACK_USED
1034static int yy_start_stack_ptr = 0;
1035static int yy_start_stack_depth = 0;
1036static int *yy_start_stack = 0;
1037#ifndef YY_NO_PUSH_STATE
1038static void yy_push_state YY_PROTO(( int new_state ));
1039#endif
1040#ifndef YY_NO_POP_STATE
1041static void yy_pop_state YY_PROTO(( void ));
1042#endif
1043#ifndef YY_NO_TOP_STATE
1044static int yy_top_state YY_PROTO(( void ));
1045#endif
1046
1047#else
1048#define YY_NO_PUSH_STATE 1
1049#define YY_NO_POP_STATE 1
1050#define YY_NO_TOP_STATE 1
1051#endif
1052
1053#ifdef YY_MALLOC_DECL
1054YY_MALLOC_DECL
1055#else
1056#if __STDC__
1057#ifndef __cplusplus
1058#include <stdlib.h>
1059#endif
1060#else
1061/* Just try to get by without declaring the routines. This will fail
1062 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1063 * or sizeof(void*) != sizeof(int).
1064 */
1065#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001066#endif
1067
1068/* Amount of stuff to slurp up with each read. */
1069#ifndef YY_READ_BUF_SIZE
1070#define YY_READ_BUF_SIZE 8192
1071#endif
1072
1073/* Copy whatever the last rule matched to the standard output. */
Owen Anderson1dc69692006-10-18 02:21:48 +00001074
Reid Spencer68a24bd2005-08-27 18:50:39 +00001075#ifndef ECHO
1076/* This used to be an fputs(), but since the string might contain NUL's,
1077 * we now use fwrite().
1078 */
Owen Anderson1dc69692006-10-18 02:21:48 +00001079#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001080#endif
1081
1082/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1083 * is returned in "result".
1084 */
1085#ifndef YY_INPUT
1086#define YY_INPUT(buf,result,max_size) \
Owen Anderson1dc69692006-10-18 02:21:48 +00001087 if ( yy_current_buffer->yy_is_interactive ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001088 { \
Owen Anderson1dc69692006-10-18 02:21:48 +00001089 int c = '*', n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001090 for ( n = 0; n < max_size && \
Owen Anderson1dc69692006-10-18 02:21:48 +00001091 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001092 buf[n] = (char) c; \
1093 if ( c == '\n' ) \
1094 buf[n++] = (char) c; \
Owen Anderson1dc69692006-10-18 02:21:48 +00001095 if ( c == EOF && ferror( yyin ) ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001096 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1097 result = n; \
1098 } \
Owen Anderson1dc69692006-10-18 02:21:48 +00001099 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1100 && ferror( yyin ) ) \
1101 YY_FATAL_ERROR( "input in flex scanner failed" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001102#endif
1103
1104/* No semi-colon after return; correct usage is to write "yyterminate();" -
1105 * we don't want an extra ';' after the "return" because that will cause
1106 * some compilers to complain about unreachable statements.
1107 */
1108#ifndef yyterminate
1109#define yyterminate() return YY_NULL
1110#endif
1111
1112/* Number of entries by which start-condition stack grows. */
1113#ifndef YY_START_STACK_INCR
1114#define YY_START_STACK_INCR 25
1115#endif
1116
1117/* Report a fatal error. */
1118#ifndef YY_FATAL_ERROR
1119#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1120#endif
1121
1122/* Default declaration of generated scanner - a define so the user can
1123 * easily add parameters.
1124 */
1125#ifndef YY_DECL
Owen Anderson1dc69692006-10-18 02:21:48 +00001126#define YY_DECL int yylex YY_PROTO(( void ))
1127#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001128
Owen Anderson1dc69692006-10-18 02:21:48 +00001129/* Code executed at the beginning of each rule, after yytext and yyleng
Reid Spencer68a24bd2005-08-27 18:50:39 +00001130 * have been set up.
1131 */
1132#ifndef YY_USER_ACTION
1133#define YY_USER_ACTION
1134#endif
1135
1136/* Code executed at the end of each rule. */
1137#ifndef YY_BREAK
1138#define YY_BREAK break;
1139#endif
1140
1141#define YY_RULE_SETUP \
1142 YY_USER_ACTION
1143
1144YY_DECL
Owen Anderson1dc69692006-10-18 02:21:48 +00001145 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00001146 register yy_state_type yy_current_state;
Chris Lattnerf49c1762006-11-08 05:58:47 +00001147 register char *yy_cp, *yy_bp;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001148 register int yy_act;
Owen Anderson1dc69692006-10-18 02:21:48 +00001149
Chris Lattnerf49c1762006-11-08 05:58:47 +00001150#line 189 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001151
1152
Chris Lattnerf49c1762006-11-08 05:58:47 +00001153#line 1154 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001154
Owen Anderson1dc69692006-10-18 02:21:48 +00001155 if ( yy_init )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001156 {
Owen Anderson1dc69692006-10-18 02:21:48 +00001157 yy_init = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001158
1159#ifdef YY_USER_INIT
1160 YY_USER_INIT;
1161#endif
1162
Owen Anderson1dc69692006-10-18 02:21:48 +00001163 if ( ! yy_start )
1164 yy_start = 1; /* first start state */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001165
Owen Anderson1dc69692006-10-18 02:21:48 +00001166 if ( ! yyin )
1167 yyin = stdin;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001168
Owen Anderson1dc69692006-10-18 02:21:48 +00001169 if ( ! yyout )
1170 yyout = stdout;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001171
Owen Anderson1dc69692006-10-18 02:21:48 +00001172 if ( ! yy_current_buffer )
1173 yy_current_buffer =
1174 yy_create_buffer( yyin, YY_BUF_SIZE );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001175
Owen Anderson1dc69692006-10-18 02:21:48 +00001176 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00001177 }
1178
1179 while ( 1 ) /* loops until end-of-file is reached */
1180 {
Owen Anderson1dc69692006-10-18 02:21:48 +00001181 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001182
Owen Anderson1dc69692006-10-18 02:21:48 +00001183 /* Support of yytext. */
1184 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001185
1186 /* yy_bp points to the position in yy_ch_buf of the start of
1187 * the current run.
1188 */
1189 yy_bp = yy_cp;
1190
Owen Anderson1dc69692006-10-18 02:21:48 +00001191 yy_current_state = yy_start;
1192 yy_state_ptr = yy_state_buf;
1193 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001194yy_match:
1195 do
1196 {
1197 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1198 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1199 {
1200 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencer3ed469c2006-11-02 20:25:50 +00001201 if ( yy_current_state >= 526 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001202 yy_c = yy_meta[(unsigned int) yy_c];
1203 }
1204 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Owen Anderson1dc69692006-10-18 02:21:48 +00001205 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001206 ++yy_cp;
1207 }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001208 while ( yy_current_state != 525 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001209
1210yy_find_action:
Owen Anderson1dc69692006-10-18 02:21:48 +00001211 yy_current_state = *--yy_state_ptr;
1212 yy_lp = yy_accept[yy_current_state];
1213find_rule: /* we branch to this label when backing up */
1214 for ( ; ; ) /* until we find what rule we matched */
1215 {
1216 if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
1217 {
1218 yy_act = yy_acclist[yy_lp];
1219 {
1220 yy_full_match = yy_cp;
1221 break;
1222 }
1223 }
1224 --yy_cp;
1225 yy_current_state = *--yy_state_ptr;
1226 yy_lp = yy_accept[yy_current_state];
1227 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001228
1229 YY_DO_BEFORE_ACTION;
1230
Owen Anderson1dc69692006-10-18 02:21:48 +00001231 if ( yy_act != YY_END_OF_BUFFER )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001232 {
1233 int yyl;
Owen Anderson1dc69692006-10-18 02:21:48 +00001234 for ( yyl = 0; yyl < yyleng; ++yyl )
1235 if ( yytext[yyl] == '\n' )
1236 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001237 }
1238
1239do_action: /* This label is used only to access EOF actions. */
1240
Owen Anderson1dc69692006-10-18 02:21:48 +00001241
Reid Spencer68a24bd2005-08-27 18:50:39 +00001242 switch ( yy_act )
1243 { /* beginning of action switch */
1244case 1:
1245YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001246#line 191 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001247{ /* Ignore comments for now */ }
1248 YY_BREAK
1249case 2:
1250YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001251#line 193 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001252{ return BEGINTOK; }
1253 YY_BREAK
1254case 3:
1255YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001256#line 194 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001257{ return ENDTOK; }
1258 YY_BREAK
1259case 4:
1260YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001261#line 195 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001262{ return TRUETOK; }
1263 YY_BREAK
1264case 5:
1265YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001266#line 196 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001267{ return FALSETOK; }
1268 YY_BREAK
1269case 6:
1270YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001271#line 197 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001272{ return DECLARE; }
1273 YY_BREAK
1274case 7:
1275YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001276#line 198 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001277{ return GLOBAL; }
1278 YY_BREAK
1279case 8:
1280YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001281#line 199 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001282{ return CONSTANT; }
1283 YY_BREAK
1284case 9:
1285YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001286#line 200 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001287{ return INTERNAL; }
1288 YY_BREAK
1289case 10:
1290YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001291#line 201 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001292{ return LINKONCE; }
1293 YY_BREAK
1294case 11:
1295YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001296#line 202 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001297{ return WEAK; }
1298 YY_BREAK
1299case 12:
1300YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001301#line 203 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001302{ return APPENDING; }
1303 YY_BREAK
1304case 13:
1305YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001306#line 204 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001307{ return DLLIMPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001308 YY_BREAK
1309case 14:
1310YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001311#line 205 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001312{ return DLLEXPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001313 YY_BREAK
1314case 15:
1315YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001316#line 206 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001317{ return EXTERN_WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001318 YY_BREAK
1319case 16:
1320YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001321#line 207 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001322{ return EXTERNAL; } /* Deprecated, turn into external */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001323 YY_BREAK
1324case 17:
1325YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001326#line 208 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001327{ return EXTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001328 YY_BREAK
1329case 18:
1330YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001331#line 209 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001332{ return IMPLEMENTATION; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001333 YY_BREAK
1334case 19:
1335YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001336#line 210 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001337{ return ZEROINITIALIZER; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001338 YY_BREAK
1339case 20:
1340YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001341#line 211 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001342{ return DOTDOTDOT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001343 YY_BREAK
1344case 21:
1345YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001346#line 212 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001347{ return UNDEF; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001348 YY_BREAK
1349case 22:
1350YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001351#line 213 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001352{ return NULL_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001353 YY_BREAK
1354case 23:
1355YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001356#line 214 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001357{ return TO; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001358 YY_BREAK
1359case 24:
1360YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001361#line 215 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001362{ RET_TOK(TermOpVal, Unwind, UNWIND); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001363 YY_BREAK
1364case 25:
1365YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001366#line 216 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001367{ return NOT; } /* Deprecated, turned into XOR */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001368 YY_BREAK
1369case 26:
1370YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001371#line 217 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001372{ return TAIL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001373 YY_BREAK
1374case 27:
1375YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001376#line 218 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001377{ return TARGET; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001378 YY_BREAK
1379case 28:
1380YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001381#line 219 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001382{ return TRIPLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001383 YY_BREAK
1384case 29:
1385YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001386#line 220 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001387{ return DEPLIBS; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001388 YY_BREAK
1389case 30:
1390YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001391#line 221 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001392{ return ENDIAN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001393 YY_BREAK
1394case 31:
1395YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001396#line 222 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001397{ return POINTERSIZE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001398 YY_BREAK
1399case 32:
1400YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001401#line 223 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Chris Lattner1ae022f2006-10-22 06:08:13 +00001402{ return DATALAYOUT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001403 YY_BREAK
1404case 33:
1405YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001406#line 224 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001407{ return LITTLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001408 YY_BREAK
1409case 34:
1410YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001411#line 225 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001412{ return BIG; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001413 YY_BREAK
1414case 35:
1415YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001416#line 226 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001417{ return VOLATILE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001418 YY_BREAK
1419case 36:
1420YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001421#line 227 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001422{ return ALIGN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001423 YY_BREAK
1424case 37:
1425YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001426#line 228 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001427{ return SECTION; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001428 YY_BREAK
1429case 38:
1430YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001431#line 229 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001432{ return MODULE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001433 YY_BREAK
1434case 39:
1435YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001436#line 230 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001437{ return ASM_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001438 YY_BREAK
1439case 40:
1440YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001441#line 231 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001442{ return SIDEEFFECT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001443 YY_BREAK
1444case 41:
1445YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001446#line 233 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001447{ return CC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001448 YY_BREAK
1449case 42:
1450YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001451#line 234 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001452{ return CCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001453 YY_BREAK
1454case 43:
1455YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001456#line 235 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001457{ return CSRETCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001458 YY_BREAK
1459case 44:
1460YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001461#line 236 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001462{ return FASTCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001463 YY_BREAK
1464case 45:
1465YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001466#line 237 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001467{ return COLDCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001468 YY_BREAK
1469case 46:
1470YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001471#line 238 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001472{ return X86_STDCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001473 YY_BREAK
1474case 47:
1475YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001476#line 239 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001477{ return X86_FASTCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001478 YY_BREAK
1479case 48:
1480YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001481#line 241 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001482{ llvmAsmlval.PrimType = Type::VoidTy ; return VOID; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001483 YY_BREAK
1484case 49:
1485YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001486#line 242 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001487{ llvmAsmlval.PrimType = Type::BoolTy ; return BOOL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001488 YY_BREAK
1489case 50:
1490YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001491#line 243 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001492{ llvmAsmlval.PrimType = Type::SByteTy ; return SBYTE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001493 YY_BREAK
1494case 51:
1495YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001496#line 244 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001497{ llvmAsmlval.PrimType = Type::UByteTy ; return UBYTE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001498 YY_BREAK
1499case 52:
1500YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001501#line 245 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001502{ llvmAsmlval.PrimType = Type::ShortTy ; return SHORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001503 YY_BREAK
1504case 53:
1505YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001506#line 246 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001507{ llvmAsmlval.PrimType = Type::UShortTy; return USHORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001508 YY_BREAK
1509case 54:
1510YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001511#line 247 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001512{ llvmAsmlval.PrimType = Type::IntTy ; return INT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001513 YY_BREAK
1514case 55:
1515YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001516#line 248 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001517{ llvmAsmlval.PrimType = Type::UIntTy ; return UINT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001518 YY_BREAK
1519case 56:
1520YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001521#line 249 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001522{ llvmAsmlval.PrimType = Type::LongTy ; return LONG; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001523 YY_BREAK
1524case 57:
1525YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001526#line 250 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001527{ llvmAsmlval.PrimType = Type::ULongTy ; return ULONG; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001528 YY_BREAK
1529case 58:
1530YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001531#line 251 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001532{ llvmAsmlval.PrimType = Type::FloatTy ; return FLOAT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001533 YY_BREAK
1534case 59:
1535YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001536#line 252 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001537{ llvmAsmlval.PrimType = Type::DoubleTy; return DOUBLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001538 YY_BREAK
1539case 60:
1540YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001541#line 253 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001542{ llvmAsmlval.PrimType = Type::LabelTy ; return LABEL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001543 YY_BREAK
1544case 61:
1545YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001546#line 254 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001547{ return TYPE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001548 YY_BREAK
1549case 62:
1550YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001551#line 255 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001552{ return OPAQUE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001553 YY_BREAK
1554case 63:
1555YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001556#line 257 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001557{ RET_TOK(BinaryOpVal, Add, ADD); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001558 YY_BREAK
1559case 64:
1560YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001561#line 258 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001562{ RET_TOK(BinaryOpVal, Sub, SUB); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001563 YY_BREAK
1564case 65:
1565YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001566#line 259 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001567{ RET_TOK(BinaryOpVal, Mul, MUL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001568 YY_BREAK
1569case 66:
1570YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001571#line 260 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001572{ RET_TOK_OBSOLETE(BinaryOpVal, UDiv, UDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001573 YY_BREAK
1574case 67:
1575YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001576#line 261 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001577{ RET_TOK(BinaryOpVal, UDiv, UDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001578 YY_BREAK
1579case 68:
1580YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001581#line 262 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001582{ RET_TOK(BinaryOpVal, SDiv, SDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001583 YY_BREAK
1584case 69:
1585YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001586#line 263 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001587{ RET_TOK(BinaryOpVal, FDiv, FDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001588 YY_BREAK
1589case 70:
1590YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001591#line 264 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001592{ RET_TOK_OBSOLETE(BinaryOpVal, URem, UREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001593 YY_BREAK
1594case 71:
1595YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001596#line 265 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001597{ RET_TOK(BinaryOpVal, URem, UREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001598 YY_BREAK
1599case 72:
1600YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001601#line 266 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001602{ RET_TOK(BinaryOpVal, SRem, SREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001603 YY_BREAK
1604case 73:
1605YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001606#line 267 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001607{ RET_TOK(BinaryOpVal, FRem, FREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001608 YY_BREAK
1609case 74:
1610YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001611#line 268 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001612{ RET_TOK(BinaryOpVal, And, AND); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001613 YY_BREAK
1614case 75:
1615YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001616#line 269 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001617{ RET_TOK(BinaryOpVal, Or , OR ); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001618 YY_BREAK
1619case 76:
1620YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001621#line 270 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001622{ RET_TOK(BinaryOpVal, Xor, XOR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001623 YY_BREAK
1624case 77:
1625YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001626#line 271 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001627{ RET_TOK(BinaryOpVal, SetNE, SETNE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001628 YY_BREAK
1629case 78:
1630YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001631#line 272 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001632{ RET_TOK(BinaryOpVal, SetEQ, SETEQ); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001633 YY_BREAK
1634case 79:
1635YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001636#line 273 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001637{ RET_TOK(BinaryOpVal, SetLT, SETLT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001638 YY_BREAK
1639case 80:
1640YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001641#line 274 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001642{ RET_TOK(BinaryOpVal, SetGT, SETGT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001643 YY_BREAK
1644case 81:
1645YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001646#line 275 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001647{ RET_TOK(BinaryOpVal, SetLE, SETLE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001648 YY_BREAK
1649case 82:
1650YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001651#line 276 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001652{ RET_TOK(BinaryOpVal, SetGE, SETGE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001653 YY_BREAK
1654case 83:
1655YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001656#line 278 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001657{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001658 YY_BREAK
1659case 84:
1660YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001661#line 279 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001662{ RET_TOK(OtherOpVal, Call, CALL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001663 YY_BREAK
1664case 85:
1665YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001666#line 280 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001667{ RET_TOK(OtherOpVal, Cast, CAST); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001668 YY_BREAK
1669case 86:
1670YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001671#line 281 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001672{ RET_TOK(OtherOpVal, Select, SELECT); }
Nate Begeman14b05292005-11-05 09:21:28 +00001673 YY_BREAK
1674case 87:
1675YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001676#line 282 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001677{ RET_TOK(OtherOpVal, Shl, SHL); }
Chris Lattnere869eef2005-11-12 00:11:49 +00001678 YY_BREAK
1679case 88:
1680YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001681#line 283 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001682{ RET_TOK(OtherOpVal, Shr, SHR); }
Robert Bocchino9c62b562006-01-10 19:04:32 +00001683 YY_BREAK
1684case 89:
1685YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001686#line 284 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001687{ return VANEXT_old; }
Robert Bocchino2def1b32006-01-17 20:06:25 +00001688 YY_BREAK
1689case 90:
1690YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001691#line 285 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001692{ return VAARG_old; }
Chris Lattner8335e842006-01-23 23:05:42 +00001693 YY_BREAK
1694case 91:
1695YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001696#line 286 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001697{ RET_TOK(OtherOpVal, VAArg , VAARG); }
Chris Lattner66316012006-01-24 04:14:29 +00001698 YY_BREAK
1699case 92:
1700YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001701#line 287 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001702{ RET_TOK(TermOpVal, Ret, RET); }
Chris Lattner0e9c3762006-01-25 22:27:16 +00001703 YY_BREAK
1704case 93:
1705YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001706#line 288 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001707{ RET_TOK(TermOpVal, Br, BR); }
Chris Lattnerd5efe842006-04-08 01:18:56 +00001708 YY_BREAK
1709case 94:
1710YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001711#line 289 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001712{ RET_TOK(TermOpVal, Switch, SWITCH); }
Chris Lattner75466192006-05-19 21:28:53 +00001713 YY_BREAK
1714case 95:
1715YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001716#line 290 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001717{ RET_TOK(TermOpVal, Invoke, INVOKE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001718 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001719case 96:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001720YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001721#line 291 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001722{ RET_TOK(TermOpVal, Unwind, UNWIND); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001723 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001724case 97:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001725YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001726#line 292 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001727{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001728 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001729case 98:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001730YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001731#line 294 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001732{ RET_TOK(MemOpVal, Malloc, MALLOC); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001733 YY_BREAK
1734case 99:
1735YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001736#line 295 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001737{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001738 YY_BREAK
1739case 100:
1740YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001741#line 296 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001742{ RET_TOK(MemOpVal, Free, FREE); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001743 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001744case 101:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001745YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001746#line 297 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001747{ RET_TOK(MemOpVal, Load, LOAD); }
1748 YY_BREAK
1749case 102:
1750YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001751#line 298 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001752{ RET_TOK(MemOpVal, Store, STORE); }
1753 YY_BREAK
1754case 103:
1755YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001756#line 299 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001757{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
1758 YY_BREAK
1759case 104:
1760YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001761#line 301 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001762{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
1763 YY_BREAK
1764case 105:
1765YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001766#line 302 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001767{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
1768 YY_BREAK
1769case 106:
1770YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001771#line 303 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001772{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
1773 YY_BREAK
1774case 107:
1775YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001776#line 306 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001777{
Owen Anderson1dc69692006-10-18 02:21:48 +00001778 UnEscapeLexed(yytext+1);
1779 llvmAsmlval.StrVal = strdup(yytext+1); // Skip %
1780 return VAR_ID;
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001781 }
1782 YY_BREAK
Reid Spencer3ed469c2006-11-02 20:25:50 +00001783case 108:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001784YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001785#line 311 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001786{
Owen Anderson1dc69692006-10-18 02:21:48 +00001787 yytext[strlen(yytext)-1] = 0; // nuke colon
1788 UnEscapeLexed(yytext);
1789 llvmAsmlval.StrVal = strdup(yytext);
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001790 return LABELSTR;
1791 }
1792 YY_BREAK
Reid Spencer3ed469c2006-11-02 20:25:50 +00001793case 109:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001794YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001795#line 317 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001796{
1797 yytext[strlen(yytext)-2] = 0; // nuke colon, end quote
1798 UnEscapeLexed(yytext+1);
1799 llvmAsmlval.StrVal = strdup(yytext+1);
1800 return LABELSTR;
1801 }
1802 YY_BREAK
Reid Spencer3ed469c2006-11-02 20:25:50 +00001803case 110:
Owen Anderson1dc69692006-10-18 02:21:48 +00001804YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001805#line 324 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001806{ // Note that we cannot unescape a string constant here! The
1807 // string constant might contain a \00 which would not be
1808 // understood by the string stuff. It is valid to make a
1809 // [sbyte] c"Hello World\00" constant, for example.
1810 //
Owen Anderson1dc69692006-10-18 02:21:48 +00001811 yytext[strlen(yytext)-1] = 0; // nuke end quote
1812 llvmAsmlval.StrVal = strdup(yytext+1); // Nuke start quote
Reid Spencer68a24bd2005-08-27 18:50:39 +00001813 return STRINGCONSTANT;
1814 }
1815 YY_BREAK
Reid Spencer3ed469c2006-11-02 20:25:50 +00001816case 111:
Chris Lattner75466192006-05-19 21:28:53 +00001817YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001818#line 335 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001819{ llvmAsmlval.UInt64Val = atoull(yytext); return EUINT64VAL; }
1820 YY_BREAK
Reid Spencer3ed469c2006-11-02 20:25:50 +00001821case 112:
Owen Anderson1dc69692006-10-18 02:21:48 +00001822YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001823#line 336 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001824{
Owen Anderson1dc69692006-10-18 02:21:48 +00001825 uint64_t Val = atoull(yytext+1);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001826 // +1: we have bigger negative range
1827 if (Val > (uint64_t)INT64_MAX+1)
Reid Spencer61c83e02006-08-18 08:43:06 +00001828 GenerateError("Constant too large for signed 64 bits!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001829 llvmAsmlval.SInt64Val = -Val;
1830 return ESINT64VAL;
1831 }
1832 YY_BREAK
Reid Spencer3ed469c2006-11-02 20:25:50 +00001833case 113:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001834YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001835#line 344 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001836{
Owen Anderson1dc69692006-10-18 02:21:48 +00001837 llvmAsmlval.UInt64Val = HexIntToVal(yytext+3);
1838 return yytext[0] == 's' ? ESINT64VAL : EUINT64VAL;
1839 }
1840 YY_BREAK
Reid Spencer3ed469c2006-11-02 20:25:50 +00001841case 114:
Owen Anderson1dc69692006-10-18 02:21:48 +00001842YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001843#line 349 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001844{
1845 uint64_t Val = atoull(yytext+1);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001846 if ((unsigned)Val != Val)
Reid Spencer61c83e02006-08-18 08:43:06 +00001847 GenerateError("Invalid value number (too large)!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001848 llvmAsmlval.UIntVal = unsigned(Val);
1849 return UINTVAL;
1850 }
1851 YY_BREAK
Reid Spencer3ed469c2006-11-02 20:25:50 +00001852case 115:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001853YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001854#line 356 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001855{
Owen Anderson1dc69692006-10-18 02:21:48 +00001856 uint64_t Val = atoull(yytext+2);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001857 // +1: we have bigger negative range
1858 if (Val > (uint64_t)INT32_MAX+1)
Reid Spencer61c83e02006-08-18 08:43:06 +00001859 GenerateError("Constant too large for signed 32 bits!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001860 llvmAsmlval.SIntVal = (int)-Val;
1861 return SINTVAL;
1862 }
1863 YY_BREAK
Reid Spencer3ed469c2006-11-02 20:25:50 +00001864case 116:
Chris Lattner75466192006-05-19 21:28:53 +00001865YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001866#line 365 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001867{ llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
1868 YY_BREAK
Reid Spencer3ed469c2006-11-02 20:25:50 +00001869case 117:
Owen Anderson1dc69692006-10-18 02:21:48 +00001870YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001871#line 366 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001872{ llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001873 YY_BREAK
1874case YY_STATE_EOF(INITIAL):
Chris Lattnerf49c1762006-11-08 05:58:47 +00001875#line 368 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001876{
1877 /* Make sure to free the internal buffers for flex when we are
1878 * done reading our input!
1879 */
Owen Anderson1dc69692006-10-18 02:21:48 +00001880 yy_delete_buffer(YY_CURRENT_BUFFER);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001881 return EOF;
1882 }
1883 YY_BREAK
Reid Spencer3ed469c2006-11-02 20:25:50 +00001884case 118:
Chris Lattner75466192006-05-19 21:28:53 +00001885YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001886#line 376 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001887{ /* Ignore whitespace */ }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001888 YY_BREAK
Reid Spencer3ed469c2006-11-02 20:25:50 +00001889case 119:
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001890YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001891#line 377 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001892{ return yytext[0]; }
1893 YY_BREAK
Reid Spencer3ed469c2006-11-02 20:25:50 +00001894case 120:
Owen Anderson1dc69692006-10-18 02:21:48 +00001895YY_RULE_SETUP
Chris Lattnerf49c1762006-11-08 05:58:47 +00001896#line 379 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001897YY_FATAL_ERROR( "flex scanner jammed" );
1898 YY_BREAK
Chris Lattnerf49c1762006-11-08 05:58:47 +00001899#line 1900 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001900
1901 case YY_END_OF_BUFFER:
1902 {
1903 /* Amount of text matched not including the EOB char. */
Owen Anderson1dc69692006-10-18 02:21:48 +00001904 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001905
1906 /* Undo the effects of YY_DO_BEFORE_ACTION. */
Owen Anderson1dc69692006-10-18 02:21:48 +00001907 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001908 YY_RESTORE_YY_MORE_OFFSET
1909
Owen Anderson1dc69692006-10-18 02:21:48 +00001910 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001911 {
1912 /* We're scanning a new file or input source. It's
1913 * possible that this happened because the user
Owen Anderson1dc69692006-10-18 02:21:48 +00001914 * just pointed yyin at a new source and called
1915 * yylex(). If so, then we have to assure
1916 * consistency between yy_current_buffer and our
Reid Spencer68a24bd2005-08-27 18:50:39 +00001917 * globals. Here is the right place to do so, because
1918 * this is the first action (other than possibly a
1919 * back-up) that will match for the new input source.
1920 */
Owen Anderson1dc69692006-10-18 02:21:48 +00001921 yy_n_chars = yy_current_buffer->yy_n_chars;
1922 yy_current_buffer->yy_input_file = yyin;
1923 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001924 }
1925
1926 /* Note that here we test for yy_c_buf_p "<=" to the position
1927 * of the first EOB in the buffer, since yy_c_buf_p will
1928 * already have been incremented past the NUL character
1929 * (since all states make transitions on EOB to the
1930 * end-of-buffer state). Contrast this with the test
1931 * in input().
1932 */
Owen Anderson1dc69692006-10-18 02:21:48 +00001933 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001934 { /* This was really a NUL. */
1935 yy_state_type yy_next_state;
1936
Owen Anderson1dc69692006-10-18 02:21:48 +00001937 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001938
Owen Anderson1dc69692006-10-18 02:21:48 +00001939 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00001940
1941 /* Okay, we're now positioned to make the NUL
1942 * transition. We couldn't have
1943 * yy_get_previous_state() go ahead and do it
1944 * for us because it doesn't know how to deal
1945 * with the possibility of jamming (and we don't
1946 * want to build jamming into it because then it
1947 * will run more slowly).
1948 */
1949
1950 yy_next_state = yy_try_NUL_trans( yy_current_state );
1951
Owen Anderson1dc69692006-10-18 02:21:48 +00001952 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001953
1954 if ( yy_next_state )
1955 {
1956 /* Consume the NUL. */
Owen Anderson1dc69692006-10-18 02:21:48 +00001957 yy_cp = ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001958 yy_current_state = yy_next_state;
1959 goto yy_match;
1960 }
1961
1962 else
1963 {
Owen Anderson1dc69692006-10-18 02:21:48 +00001964 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001965 goto yy_find_action;
1966 }
1967 }
1968
Owen Anderson1dc69692006-10-18 02:21:48 +00001969 else switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001970 {
1971 case EOB_ACT_END_OF_FILE:
1972 {
Owen Anderson1dc69692006-10-18 02:21:48 +00001973 yy_did_buffer_switch_on_eof = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001974
Owen Anderson1dc69692006-10-18 02:21:48 +00001975 if ( yywrap() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001976 {
1977 /* Note: because we've taken care in
1978 * yy_get_next_buffer() to have set up
Owen Anderson1dc69692006-10-18 02:21:48 +00001979 * yytext, we can now set up
Reid Spencer68a24bd2005-08-27 18:50:39 +00001980 * yy_c_buf_p so that if some total
1981 * hoser (like flex itself) wants to
1982 * call the scanner after we return the
1983 * YY_NULL, it'll still work - another
1984 * YY_NULL will get returned.
1985 */
Owen Anderson1dc69692006-10-18 02:21:48 +00001986 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001987
1988 yy_act = YY_STATE_EOF(YY_START);
1989 goto do_action;
1990 }
1991
1992 else
1993 {
Owen Anderson1dc69692006-10-18 02:21:48 +00001994 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001995 YY_NEW_FILE;
1996 }
1997 break;
1998 }
1999
2000 case EOB_ACT_CONTINUE_SCAN:
Owen Anderson1dc69692006-10-18 02:21:48 +00002001 yy_c_buf_p =
2002 yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002003
Owen Anderson1dc69692006-10-18 02:21:48 +00002004 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002005
Owen Anderson1dc69692006-10-18 02:21:48 +00002006 yy_cp = yy_c_buf_p;
2007 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002008 goto yy_match;
2009
2010 case EOB_ACT_LAST_MATCH:
Owen Anderson1dc69692006-10-18 02:21:48 +00002011 yy_c_buf_p =
2012 &yy_current_buffer->yy_ch_buf[yy_n_chars];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002013
Owen Anderson1dc69692006-10-18 02:21:48 +00002014 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002015
Owen Anderson1dc69692006-10-18 02:21:48 +00002016 yy_cp = yy_c_buf_p;
2017 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002018 goto yy_find_action;
2019 }
2020 break;
2021 }
2022
2023 default:
2024 YY_FATAL_ERROR(
2025 "fatal flex scanner internal error--no action found" );
2026 } /* end of action switch */
2027 } /* end of scanning one token */
Owen Anderson1dc69692006-10-18 02:21:48 +00002028 } /* end of yylex */
2029
Reid Spencer68a24bd2005-08-27 18:50:39 +00002030
2031/* yy_get_next_buffer - try to read in a new buffer
2032 *
2033 * Returns a code representing an action:
2034 * EOB_ACT_LAST_MATCH -
2035 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2036 * EOB_ACT_END_OF_FILE - end of file
2037 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002038
2039static int yy_get_next_buffer()
2040 {
2041 register char *dest = yy_current_buffer->yy_ch_buf;
2042 register char *source = yytext_ptr;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002043 register int number_to_move, i;
2044 int ret_val;
2045
Owen Anderson1dc69692006-10-18 02:21:48 +00002046 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002047 YY_FATAL_ERROR(
2048 "fatal flex scanner internal error--end of buffer missed" );
2049
Owen Anderson1dc69692006-10-18 02:21:48 +00002050 if ( yy_current_buffer->yy_fill_buffer == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002051 { /* Don't try to fill the buffer, so this is an EOF. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002052 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002053 {
2054 /* We matched a single character, the EOB, so
2055 * treat this as a final EOF.
2056 */
2057 return EOB_ACT_END_OF_FILE;
2058 }
2059
2060 else
2061 {
2062 /* We matched some text prior to the EOB, first
2063 * process it.
2064 */
2065 return EOB_ACT_LAST_MATCH;
2066 }
2067 }
2068
2069 /* Try to read more data. */
2070
2071 /* First move last chars to start of buffer. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002072 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002073
2074 for ( i = 0; i < number_to_move; ++i )
2075 *(dest++) = *(source++);
2076
Owen Anderson1dc69692006-10-18 02:21:48 +00002077 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002078 /* don't do the read, it's not guaranteed to return an EOF,
2079 * just force an EOF
2080 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002081 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002082
2083 else
2084 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002085 int num_to_read =
2086 yy_current_buffer->yy_buf_size - number_to_move - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002087
2088 while ( num_to_read <= 0 )
2089 { /* Not enough room in the buffer - grow it. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002090#ifdef YY_USES_REJECT
2091 YY_FATAL_ERROR(
2092"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
2093#else
Reid Spencer68a24bd2005-08-27 18:50:39 +00002094
2095 /* just a shorter name for the current buffer */
Owen Anderson1dc69692006-10-18 02:21:48 +00002096 YY_BUFFER_STATE b = yy_current_buffer;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002097
2098 int yy_c_buf_p_offset =
Owen Anderson1dc69692006-10-18 02:21:48 +00002099 (int) (yy_c_buf_p - b->yy_ch_buf);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002100
2101 if ( b->yy_is_our_buffer )
2102 {
2103 int new_size = b->yy_buf_size * 2;
2104
2105 if ( new_size <= 0 )
2106 b->yy_buf_size += b->yy_buf_size / 8;
2107 else
2108 b->yy_buf_size *= 2;
2109
2110 b->yy_ch_buf = (char *)
2111 /* Include room in for 2 EOB chars. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002112 yy_flex_realloc( (void *) b->yy_ch_buf,
2113 b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002114 }
2115 else
2116 /* Can't grow it, we don't own it. */
2117 b->yy_ch_buf = 0;
2118
2119 if ( ! b->yy_ch_buf )
2120 YY_FATAL_ERROR(
2121 "fatal error - scanner input buffer overflow" );
2122
Owen Anderson1dc69692006-10-18 02:21:48 +00002123 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002124
Owen Anderson1dc69692006-10-18 02:21:48 +00002125 num_to_read = yy_current_buffer->yy_buf_size -
Reid Spencer68a24bd2005-08-27 18:50:39 +00002126 number_to_move - 1;
Owen Anderson1dc69692006-10-18 02:21:48 +00002127#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002128 }
2129
2130 if ( num_to_read > YY_READ_BUF_SIZE )
2131 num_to_read = YY_READ_BUF_SIZE;
2132
2133 /* Read in more data. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002134 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
2135 yy_n_chars, num_to_read );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002136
Owen Anderson1dc69692006-10-18 02:21:48 +00002137 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002138 }
2139
Owen Anderson1dc69692006-10-18 02:21:48 +00002140 if ( yy_n_chars == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002141 {
2142 if ( number_to_move == YY_MORE_ADJ )
2143 {
2144 ret_val = EOB_ACT_END_OF_FILE;
Owen Anderson1dc69692006-10-18 02:21:48 +00002145 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002146 }
2147
2148 else
2149 {
2150 ret_val = EOB_ACT_LAST_MATCH;
Owen Anderson1dc69692006-10-18 02:21:48 +00002151 yy_current_buffer->yy_buffer_status =
Reid Spencer68a24bd2005-08-27 18:50:39 +00002152 YY_BUFFER_EOF_PENDING;
2153 }
2154 }
2155
2156 else
2157 ret_val = EOB_ACT_CONTINUE_SCAN;
2158
Owen Anderson1dc69692006-10-18 02:21:48 +00002159 yy_n_chars += number_to_move;
2160 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2161 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002162
Owen Anderson1dc69692006-10-18 02:21:48 +00002163 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002164
2165 return ret_val;
Owen Anderson1dc69692006-10-18 02:21:48 +00002166 }
2167
Reid Spencer68a24bd2005-08-27 18:50:39 +00002168
2169/* yy_get_previous_state - get the state just before the EOB char was reached */
2170
Owen Anderson1dc69692006-10-18 02:21:48 +00002171static yy_state_type yy_get_previous_state()
2172 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002173 register yy_state_type yy_current_state;
2174 register char *yy_cp;
2175
Owen Anderson1dc69692006-10-18 02:21:48 +00002176 yy_current_state = yy_start;
2177 yy_state_ptr = yy_state_buf;
2178 *yy_state_ptr++ = yy_current_state;
2179
2180 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002181 {
2182 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2183 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2184 {
2185 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencer3ed469c2006-11-02 20:25:50 +00002186 if ( yy_current_state >= 526 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002187 yy_c = yy_meta[(unsigned int) yy_c];
2188 }
2189 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Owen Anderson1dc69692006-10-18 02:21:48 +00002190 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002191 }
2192
2193 return yy_current_state;
Owen Anderson1dc69692006-10-18 02:21:48 +00002194 }
2195
Reid Spencer68a24bd2005-08-27 18:50:39 +00002196
2197/* yy_try_NUL_trans - try to make a transition on the NUL character
2198 *
2199 * synopsis
2200 * next_state = yy_try_NUL_trans( current_state );
2201 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002202
2203#ifdef YY_USE_PROTOS
2204static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
2205#else
2206static yy_state_type yy_try_NUL_trans( yy_current_state )
2207yy_state_type yy_current_state;
2208#endif
2209 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002210 register int yy_is_jam;
2211
2212 register YY_CHAR yy_c = 1;
2213 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2214 {
2215 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencer3ed469c2006-11-02 20:25:50 +00002216 if ( yy_current_state >= 526 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002217 yy_c = yy_meta[(unsigned int) yy_c];
2218 }
2219 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencer3ed469c2006-11-02 20:25:50 +00002220 yy_is_jam = (yy_current_state == 525);
Owen Anderson1dc69692006-10-18 02:21:48 +00002221 if ( ! yy_is_jam )
2222 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002223
2224 return yy_is_jam ? 0 : yy_current_state;
Owen Anderson1dc69692006-10-18 02:21:48 +00002225 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002226
2227
Owen Anderson1dc69692006-10-18 02:21:48 +00002228#ifndef YY_NO_UNPUT
2229#ifdef YY_USE_PROTOS
2230static inline void yyunput( int c, register char *yy_bp )
2231#else
2232static inline void yyunput( c, yy_bp )
2233int c;
2234register char *yy_bp;
2235#endif
2236 {
2237 register char *yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002238
Owen Anderson1dc69692006-10-18 02:21:48 +00002239 /* undo effects of setting up yytext */
2240 *yy_cp = yy_hold_char;
2241
2242 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002243 { /* need to shift things up to make room */
2244 /* +2 for EOB chars. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002245 register int number_to_move = yy_n_chars + 2;
2246 register char *dest = &yy_current_buffer->yy_ch_buf[
2247 yy_current_buffer->yy_buf_size + 2];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002248 register char *source =
Owen Anderson1dc69692006-10-18 02:21:48 +00002249 &yy_current_buffer->yy_ch_buf[number_to_move];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002250
Owen Anderson1dc69692006-10-18 02:21:48 +00002251 while ( source > yy_current_buffer->yy_ch_buf )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002252 *--dest = *--source;
2253
2254 yy_cp += (int) (dest - source);
2255 yy_bp += (int) (dest - source);
Owen Anderson1dc69692006-10-18 02:21:48 +00002256 yy_current_buffer->yy_n_chars =
2257 yy_n_chars = yy_current_buffer->yy_buf_size;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002258
Owen Anderson1dc69692006-10-18 02:21:48 +00002259 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002260 YY_FATAL_ERROR( "flex scanner push-back overflow" );
2261 }
2262
2263 *--yy_cp = (char) c;
2264
Owen Anderson1dc69692006-10-18 02:21:48 +00002265 if ( c == '\n' )
2266 --yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002267
Owen Anderson1dc69692006-10-18 02:21:48 +00002268 yytext_ptr = yy_bp;
2269 yy_hold_char = *yy_cp;
2270 yy_c_buf_p = yy_cp;
2271 }
2272#endif /* ifndef YY_NO_UNPUT */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002273
Owen Anderson1dc69692006-10-18 02:21:48 +00002274
Reid Spencer68a24bd2005-08-27 18:50:39 +00002275#ifdef __cplusplus
Owen Anderson1dc69692006-10-18 02:21:48 +00002276static int yyinput()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002277#else
Owen Anderson1dc69692006-10-18 02:21:48 +00002278static int input()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002279#endif
Owen Anderson1dc69692006-10-18 02:21:48 +00002280 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002281 int c;
2282
Owen Anderson1dc69692006-10-18 02:21:48 +00002283 *yy_c_buf_p = yy_hold_char;
2284
2285 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002286 {
2287 /* yy_c_buf_p now points to the character we want to return.
2288 * If this occurs *before* the EOB characters, then it's a
2289 * valid NUL; if not, then we've hit the end of the buffer.
2290 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002291 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002292 /* This was really a NUL. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002293 *yy_c_buf_p = '\0';
Reid Spencer68a24bd2005-08-27 18:50:39 +00002294
2295 else
2296 { /* need more input */
Owen Anderson1dc69692006-10-18 02:21:48 +00002297 int offset = yy_c_buf_p - yytext_ptr;
2298 ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002299
Owen Anderson1dc69692006-10-18 02:21:48 +00002300 switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002301 {
2302 case EOB_ACT_LAST_MATCH:
2303 /* This happens because yy_g_n_b()
2304 * sees that we've accumulated a
2305 * token and flags that we need to
2306 * try matching the token before
2307 * proceeding. But for input(),
2308 * there's no matching to consider.
2309 * So convert the EOB_ACT_LAST_MATCH
2310 * to EOB_ACT_END_OF_FILE.
2311 */
2312
2313 /* Reset buffer status. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002314 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002315
Owen Anderson1dc69692006-10-18 02:21:48 +00002316 /* fall through */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002317
2318 case EOB_ACT_END_OF_FILE:
2319 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002320 if ( yywrap() )
Reid Spencer61c83e02006-08-18 08:43:06 +00002321 return EOF;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002322
Owen Anderson1dc69692006-10-18 02:21:48 +00002323 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002324 YY_NEW_FILE;
2325#ifdef __cplusplus
2326 return yyinput();
2327#else
2328 return input();
2329#endif
2330 }
2331
2332 case EOB_ACT_CONTINUE_SCAN:
Owen Anderson1dc69692006-10-18 02:21:48 +00002333 yy_c_buf_p = yytext_ptr + offset;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002334 break;
2335 }
2336 }
2337 }
2338
Owen Anderson1dc69692006-10-18 02:21:48 +00002339 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
2340 *yy_c_buf_p = '\0'; /* preserve yytext */
2341 yy_hold_char = *++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002342
2343 if ( c == '\n' )
Owen Anderson1dc69692006-10-18 02:21:48 +00002344 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002345
2346 return c;
2347 }
Chris Lattnerf49c1762006-11-08 05:58:47 +00002348
Reid Spencer68a24bd2005-08-27 18:50:39 +00002349
Owen Anderson1dc69692006-10-18 02:21:48 +00002350#ifdef YY_USE_PROTOS
2351void yyrestart( FILE *input_file )
2352#else
2353void yyrestart( input_file )
2354FILE *input_file;
2355#endif
2356 {
2357 if ( ! yy_current_buffer )
2358 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
2359
2360 yy_init_buffer( yy_current_buffer, input_file );
2361 yy_load_buffer_state();
2362 }
2363
2364
2365#ifdef YY_USE_PROTOS
2366void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
2367#else
2368void yy_switch_to_buffer( new_buffer )
2369YY_BUFFER_STATE new_buffer;
2370#endif
2371 {
2372 if ( yy_current_buffer == new_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002373 return;
2374
Owen Anderson1dc69692006-10-18 02:21:48 +00002375 if ( yy_current_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002376 {
2377 /* Flush out information for old buffer. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002378 *yy_c_buf_p = yy_hold_char;
2379 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
2380 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002381 }
2382
Owen Anderson1dc69692006-10-18 02:21:48 +00002383 yy_current_buffer = new_buffer;
2384 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002385
2386 /* We don't actually know whether we did this switch during
Owen Anderson1dc69692006-10-18 02:21:48 +00002387 * EOF (yywrap()) processing, but the only time this flag
2388 * is looked at is after yywrap() is called, so it's safe
Reid Spencer68a24bd2005-08-27 18:50:39 +00002389 * to go ahead and always set it.
2390 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002391 yy_did_buffer_switch_on_eof = 1;
2392 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002393
2394
Owen Anderson1dc69692006-10-18 02:21:48 +00002395#ifdef YY_USE_PROTOS
2396void yy_load_buffer_state( void )
2397#else
2398void yy_load_buffer_state()
2399#endif
2400 {
2401 yy_n_chars = yy_current_buffer->yy_n_chars;
2402 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
2403 yyin = yy_current_buffer->yy_input_file;
2404 yy_hold_char = *yy_c_buf_p;
2405 }
2406
2407
2408#ifdef YY_USE_PROTOS
2409YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
2410#else
2411YY_BUFFER_STATE yy_create_buffer( file, size )
2412FILE *file;
2413int size;
2414#endif
2415 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002416 YY_BUFFER_STATE b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002417
2418 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002419 if ( ! b )
Owen Anderson1dc69692006-10-18 02:21:48 +00002420 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002421
2422 b->yy_buf_size = size;
2423
2424 /* yy_ch_buf has to be 2 characters longer than the size given because
2425 * we need to put in 2 end-of-buffer characters.
2426 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002427 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002428 if ( ! b->yy_ch_buf )
Owen Anderson1dc69692006-10-18 02:21:48 +00002429 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002430
2431 b->yy_is_our_buffer = 1;
2432
Owen Anderson1dc69692006-10-18 02:21:48 +00002433 yy_init_buffer( b, file );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002434
2435 return b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002436 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002437
Owen Anderson1dc69692006-10-18 02:21:48 +00002438
2439#ifdef YY_USE_PROTOS
2440void yy_delete_buffer( YY_BUFFER_STATE b )
2441#else
2442void yy_delete_buffer( b )
2443YY_BUFFER_STATE b;
2444#endif
2445 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002446 if ( ! b )
2447 return;
2448
Owen Anderson1dc69692006-10-18 02:21:48 +00002449 if ( b == yy_current_buffer )
2450 yy_current_buffer = (YY_BUFFER_STATE) 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002451
2452 if ( b->yy_is_our_buffer )
Owen Anderson1dc69692006-10-18 02:21:48 +00002453 yy_flex_free( (void *) b->yy_ch_buf );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002454
Owen Anderson1dc69692006-10-18 02:21:48 +00002455 yy_flex_free( (void *) b );
2456 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002457
2458
Chris Lattnerf49c1762006-11-08 05:58:47 +00002459#ifndef YY_ALWAYS_INTERACTIVE
2460#ifndef YY_NEVER_INTERACTIVE
2461extern int isatty YY_PROTO(( int ));
2462#endif
2463#endif
Owen Anderson1dc69692006-10-18 02:21:48 +00002464
2465#ifdef YY_USE_PROTOS
2466void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
2467#else
2468void yy_init_buffer( b, file )
2469YY_BUFFER_STATE b;
2470FILE *file;
2471#endif
2472
2473
2474 {
2475 yy_flush_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002476
2477 b->yy_input_file = file;
2478 b->yy_fill_buffer = 1;
2479
Owen Anderson1dc69692006-10-18 02:21:48 +00002480#if YY_ALWAYS_INTERACTIVE
2481 b->yy_is_interactive = 1;
2482#else
2483#if YY_NEVER_INTERACTIVE
2484 b->yy_is_interactive = 0;
2485#else
2486 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
2487#endif
2488#endif
2489 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002490
2491
Owen Anderson1dc69692006-10-18 02:21:48 +00002492#ifdef YY_USE_PROTOS
2493void yy_flush_buffer( YY_BUFFER_STATE b )
2494#else
2495void yy_flush_buffer( b )
2496YY_BUFFER_STATE b;
2497#endif
2498
2499 {
2500 if ( ! b )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002501 return;
2502
2503 b->yy_n_chars = 0;
2504
2505 /* We always need two end-of-buffer characters. The first causes
2506 * a transition to the end-of-buffer state. The second causes
2507 * a jam in that state.
2508 */
2509 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2510 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2511
2512 b->yy_buf_pos = &b->yy_ch_buf[0];
2513
2514 b->yy_at_bol = 1;
2515 b->yy_buffer_status = YY_BUFFER_NEW;
2516
Owen Anderson1dc69692006-10-18 02:21:48 +00002517 if ( b == yy_current_buffer )
2518 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002519 }
2520
2521
Owen Anderson1dc69692006-10-18 02:21:48 +00002522#ifndef YY_NO_SCAN_BUFFER
2523#ifdef YY_USE_PROTOS
2524YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
2525#else
2526YY_BUFFER_STATE yy_scan_buffer( base, size )
2527char *base;
2528yy_size_t size;
2529#endif
2530 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002531 YY_BUFFER_STATE b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002532
Reid Spencer68a24bd2005-08-27 18:50:39 +00002533 if ( size < 2 ||
2534 base[size-2] != YY_END_OF_BUFFER_CHAR ||
2535 base[size-1] != YY_END_OF_BUFFER_CHAR )
2536 /* They forgot to leave room for the EOB's. */
2537 return 0;
2538
Owen Anderson1dc69692006-10-18 02:21:48 +00002539 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002540 if ( ! b )
Owen Anderson1dc69692006-10-18 02:21:48 +00002541 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002542
2543 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2544 b->yy_buf_pos = b->yy_ch_buf = base;
2545 b->yy_is_our_buffer = 0;
2546 b->yy_input_file = 0;
2547 b->yy_n_chars = b->yy_buf_size;
2548 b->yy_is_interactive = 0;
2549 b->yy_at_bol = 1;
2550 b->yy_fill_buffer = 0;
2551 b->yy_buffer_status = YY_BUFFER_NEW;
2552
Owen Anderson1dc69692006-10-18 02:21:48 +00002553 yy_switch_to_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002554
2555 return b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002556 }
2557#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002558
2559
Owen Anderson1dc69692006-10-18 02:21:48 +00002560#ifndef YY_NO_SCAN_STRING
2561#ifdef YY_USE_PROTOS
2562YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
2563#else
2564YY_BUFFER_STATE yy_scan_string( yy_str )
2565yyconst char *yy_str;
2566#endif
2567 {
2568 int len;
2569 for ( len = 0; yy_str[len]; ++len )
2570 ;
2571
2572 return yy_scan_bytes( yy_str, len );
2573 }
2574#endif
2575
2576
2577#ifndef YY_NO_SCAN_BYTES
2578#ifdef YY_USE_PROTOS
2579YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
2580#else
2581YY_BUFFER_STATE yy_scan_bytes( bytes, len )
2582yyconst char *bytes;
2583int len;
2584#endif
2585 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002586 YY_BUFFER_STATE b;
2587 char *buf;
2588 yy_size_t n;
2589 int i;
Owen Anderson1dc69692006-10-18 02:21:48 +00002590
Reid Spencer68a24bd2005-08-27 18:50:39 +00002591 /* Get memory for full buffer, including space for trailing EOB's. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002592 n = len + 2;
2593 buf = (char *) yy_flex_alloc( n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002594 if ( ! buf )
Owen Anderson1dc69692006-10-18 02:21:48 +00002595 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002596
Owen Anderson1dc69692006-10-18 02:21:48 +00002597 for ( i = 0; i < len; ++i )
2598 buf[i] = bytes[i];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002599
Owen Anderson1dc69692006-10-18 02:21:48 +00002600 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002601
Owen Anderson1dc69692006-10-18 02:21:48 +00002602 b = yy_scan_buffer( buf, n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002603 if ( ! b )
Owen Anderson1dc69692006-10-18 02:21:48 +00002604 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002605
2606 /* It's okay to grow etc. this buffer, and we should throw it
2607 * away when we're done.
2608 */
2609 b->yy_is_our_buffer = 1;
2610
2611 return b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002612 }
2613#endif
2614
2615
2616#ifndef YY_NO_PUSH_STATE
2617#ifdef YY_USE_PROTOS
2618static void yy_push_state( int new_state )
2619#else
2620static void yy_push_state( new_state )
2621int new_state;
2622#endif
2623 {
2624 if ( yy_start_stack_ptr >= yy_start_stack_depth )
2625 {
2626 yy_size_t new_size;
2627
2628 yy_start_stack_depth += YY_START_STACK_INCR;
2629 new_size = yy_start_stack_depth * sizeof( int );
2630
2631 if ( ! yy_start_stack )
2632 yy_start_stack = (int *) yy_flex_alloc( new_size );
2633
2634 else
2635 yy_start_stack = (int *) yy_flex_realloc(
2636 (void *) yy_start_stack, new_size );
2637
2638 if ( ! yy_start_stack )
2639 YY_FATAL_ERROR(
2640 "out of memory expanding start-condition stack" );
2641 }
2642
2643 yy_start_stack[yy_start_stack_ptr++] = YY_START;
2644
2645 BEGIN(new_state);
2646 }
2647#endif
2648
2649
2650#ifndef YY_NO_POP_STATE
2651static void yy_pop_state()
2652 {
2653 if ( --yy_start_stack_ptr < 0 )
2654 YY_FATAL_ERROR( "start-condition stack underflow" );
2655
2656 BEGIN(yy_start_stack[yy_start_stack_ptr]);
2657 }
2658#endif
2659
2660
2661#ifndef YY_NO_TOP_STATE
2662static int yy_top_state()
2663 {
2664 return yy_start_stack[yy_start_stack_ptr - 1];
2665 }
2666#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002667
2668#ifndef YY_EXIT_FAILURE
2669#define YY_EXIT_FAILURE 2
2670#endif
2671
Owen Anderson1dc69692006-10-18 02:21:48 +00002672#ifdef YY_USE_PROTOS
2673static void yy_fatal_error( yyconst char msg[] )
2674#else
2675static void yy_fatal_error( msg )
2676char msg[];
2677#endif
2678 {
2679 (void) fprintf( stderr, "%s\n", msg );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002680 exit( YY_EXIT_FAILURE );
Owen Anderson1dc69692006-10-18 02:21:48 +00002681 }
2682
2683
Reid Spencer68a24bd2005-08-27 18:50:39 +00002684
2685/* Redefine yyless() so it works in section 3 code. */
2686
2687#undef yyless
2688#define yyless(n) \
2689 do \
2690 { \
Owen Anderson1dc69692006-10-18 02:21:48 +00002691 /* Undo effects of setting up yytext. */ \
2692 yytext[yyleng] = yy_hold_char; \
2693 yy_c_buf_p = yytext + n; \
2694 yy_hold_char = *yy_c_buf_p; \
2695 *yy_c_buf_p = '\0'; \
2696 yyleng = n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00002697 } \
2698 while ( 0 )
2699
2700
Owen Anderson1dc69692006-10-18 02:21:48 +00002701/* Internal utility routines. */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002702
2703#ifndef yytext_ptr
Owen Anderson1dc69692006-10-18 02:21:48 +00002704#ifdef YY_USE_PROTOS
2705static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
2706#else
2707static void yy_flex_strncpy( s1, s2, n )
2708char *s1;
2709yyconst char *s2;
2710int n;
2711#endif
2712 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002713 register int i;
2714 for ( i = 0; i < n; ++i )
2715 s1[i] = s2[i];
Owen Anderson1dc69692006-10-18 02:21:48 +00002716 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002717#endif
2718
2719#ifdef YY_NEED_STRLEN
Owen Anderson1dc69692006-10-18 02:21:48 +00002720#ifdef YY_USE_PROTOS
2721static int yy_flex_strlen( yyconst char *s )
2722#else
2723static int yy_flex_strlen( s )
2724yyconst char *s;
2725#endif
2726 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002727 register int n;
2728 for ( n = 0; s[n]; ++n )
2729 ;
2730
2731 return n;
Owen Anderson1dc69692006-10-18 02:21:48 +00002732 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002733#endif
2734
Reid Spencer68a24bd2005-08-27 18:50:39 +00002735
Owen Anderson1dc69692006-10-18 02:21:48 +00002736#ifdef YY_USE_PROTOS
2737static void *yy_flex_alloc( yy_size_t size )
2738#else
2739static void *yy_flex_alloc( size )
2740yy_size_t size;
2741#endif
2742 {
2743 return (void *) malloc( size );
2744 }
2745
2746#ifdef YY_USE_PROTOS
2747static inline void *yy_flex_realloc( void *ptr, yy_size_t size )
2748#else
2749static inline void *yy_flex_realloc( ptr, size )
2750void *ptr;
2751yy_size_t size;
2752#endif
2753 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002754 /* The cast to (char *) in the following accommodates both
2755 * implementations that use char* generic pointers, and those
2756 * that use void* generic pointers. It works with the latter
2757 * because both ANSI C and C++ allow castless assignment from
2758 * any pointer type to void*, and deal with argument conversions
2759 * as though doing an assignment.
2760 */
2761 return (void *) realloc( (char *) ptr, size );
Owen Anderson1dc69692006-10-18 02:21:48 +00002762 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002763
Owen Anderson1dc69692006-10-18 02:21:48 +00002764#ifdef YY_USE_PROTOS
2765static void yy_flex_free( void *ptr )
2766#else
2767static void yy_flex_free( ptr )
2768void *ptr;
2769#endif
2770 {
2771 free( ptr );
2772 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002773
Owen Anderson1dc69692006-10-18 02:21:48 +00002774#if YY_MAIN
2775int main()
2776 {
2777 yylex();
2778 return 0;
2779 }
2780#endif
Chris Lattnerf49c1762006-11-08 05:58:47 +00002781#line 379 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Chris Lattner2fecc0f2006-02-15 07:02:59 +00002782