blob: d10261704177dfebeef4b3cfc5b5ae183f689015 [file] [log] [blame]
Reid Spencer6f407902007-01-13 05:00:46 +00001#define yy_create_buffer llvmAsm_create_buffer
2#define yy_delete_buffer llvmAsm_delete_buffer
3#define yy_scan_buffer llvmAsm_scan_buffer
4#define yy_scan_string llvmAsm_scan_string
5#define yy_scan_bytes llvmAsm_scan_bytes
6#define yy_flex_debug llvmAsm_flex_debug
7#define yy_init_buffer llvmAsm_init_buffer
8#define yy_flush_buffer llvmAsm_flush_buffer
9#define yy_load_buffer_state llvmAsm_load_buffer_state
10#define yy_switch_to_buffer llvmAsm_switch_to_buffer
11#define yyin llvmAsmin
12#define yyleng llvmAsmleng
13#define yylex llvmAsmlex
14#define yyout llvmAsmout
15#define yyrestart llvmAsmrestart
16#define yytext llvmAsmtext
17#define yylineno llvmAsmlineno
Reid Spencer68a24bd2005-08-27 18:50:39 +000018
Reid Spencer6f407902007-01-13 05:00:46 +000019#line 20 "Lexer.cpp"
Reid Spencer41dff5e2007-01-26 08:05:27 +000020/* A lexical scanner generated by flex */
Reid Spencer68a24bd2005-08-27 18:50:39 +000021
Reid Spencer6f407902007-01-13 05:00:46 +000022/* Scanner skeleton version:
Reid Spencer41dff5e2007-01-26 08:05:27 +000023<<<<<<< Lexer.cpp.cvs
Reid Spencer6f407902007-01-13 05:00:46 +000024 * $Header$
Reid Spencer41dff5e2007-01-26 08:05:27 +000025=======
26 * $Header$
27>>>>>>> 1.27
Reid Spencer6f407902007-01-13 05:00:46 +000028 */
Owen Anderson1dc69692006-10-18 02:21:48 +000029
Reid Spencer68a24bd2005-08-27 18:50:39 +000030#define FLEX_SCANNER
31#define YY_FLEX_MAJOR_VERSION 2
32#define YY_FLEX_MINOR_VERSION 5
33
34#include <stdio.h>
Owen Anderson1dc69692006-10-18 02:21:48 +000035
Anton Korobeynikov178a3522007-01-12 19:22:51 +000036
Reid Spencer6f407902007-01-13 05:00:46 +000037/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
38#ifdef c_plusplus
39#ifndef __cplusplus
40#define __cplusplus
41#endif
Anton Korobeynikov178a3522007-01-12 19:22:51 +000042#endif
43
Anton Korobeynikov178a3522007-01-12 19:22:51 +000044
45#ifdef __cplusplus
Owen Anderson1dc69692006-10-18 02:21:48 +000046
Reid Spencer6f407902007-01-13 05:00:46 +000047#include <stdlib.h>
Reid Spencer41dff5e2007-01-26 08:05:27 +000048#include <unistd.h>
Reid Spencer6f407902007-01-13 05:00:46 +000049
50/* Use prototypes in function declarations. */
51#define YY_USE_PROTOS
52
Reid Spencer68a24bd2005-08-27 18:50:39 +000053/* The "const" storage-class-modifier is valid. */
54#define YY_USE_CONST
55
56#else /* ! __cplusplus */
57
58#if __STDC__
59
Reid Spencer6f407902007-01-13 05:00:46 +000060#define YY_USE_PROTOS
Reid Spencer68a24bd2005-08-27 18:50:39 +000061#define YY_USE_CONST
62
63#endif /* __STDC__ */
64#endif /* ! __cplusplus */
65
Reid Spencer6f407902007-01-13 05:00:46 +000066#ifdef __TURBOC__
67 #pragma warn -rch
68 #pragma warn -use
69#include <io.h>
70#include <stdlib.h>
71#define YY_USE_CONST
72#define YY_USE_PROTOS
73#endif
74
Reid Spencer68a24bd2005-08-27 18:50:39 +000075#ifdef YY_USE_CONST
76#define yyconst const
77#else
78#define yyconst
79#endif
80
Reid Spencer6f407902007-01-13 05:00:46 +000081
82#ifdef YY_USE_PROTOS
83#define YY_PROTO(proto) proto
84#else
85#define YY_PROTO(proto) ()
86#endif
87
Reid Spencer68a24bd2005-08-27 18:50:39 +000088/* Returned upon end-of-file. */
89#define YY_NULL 0
90
91/* Promotes a possibly negative, possibly signed char to an unsigned
92 * integer for use as an array index. If the signed char is negative,
93 * we want to instead treat it as an 8-bit unsigned char, hence the
94 * double cast.
95 */
96#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
97
98/* Enter a start condition. This macro really ought to take a parameter,
99 * but we do it the disgusting crufty way forced on us by the ()-less
100 * definition of BEGIN.
101 */
Reid Spencer6f407902007-01-13 05:00:46 +0000102#define BEGIN yy_start = 1 + 2 *
Reid Spencer68a24bd2005-08-27 18:50:39 +0000103
104/* Translate the current start state into a value that can be later handed
105 * to BEGIN to return to the state. The YYSTATE alias is for lex
106 * compatibility.
107 */
Reid Spencer6f407902007-01-13 05:00:46 +0000108#define YY_START ((yy_start - 1) / 2)
Reid Spencer68a24bd2005-08-27 18:50:39 +0000109#define YYSTATE YY_START
110
111/* Action number for EOF rule of a given start state. */
112#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
113
114/* Special action meaning "start processing a new file". */
Reid Spencer6f407902007-01-13 05:00:46 +0000115#define YY_NEW_FILE yyrestart( yyin )
Reid Spencer68a24bd2005-08-27 18:50:39 +0000116
117#define YY_END_OF_BUFFER_CHAR 0
118
119/* Size of default input buffer. */
120#define YY_BUF_SIZE (16384*64)
121
122typedef struct yy_buffer_state *YY_BUFFER_STATE;
123
Reid Spencer6f407902007-01-13 05:00:46 +0000124extern int yyleng;
125extern FILE *yyin, *yyout;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000126
127#define EOB_ACT_CONTINUE_SCAN 0
128#define EOB_ACT_END_OF_FILE 1
129#define EOB_ACT_LAST_MATCH 2
130
Reid Spencer6f407902007-01-13 05:00:46 +0000131/* The funky do-while in the following #define is used to turn the definition
132 * int a single C statement (which needs a semi-colon terminator). This
133 * avoids problems with code like:
134 *
135 * if ( condition_holds )
136 * yyless( 5 );
137 * else
138 * do_something_else();
139 *
140 * Prior to using the do-while the compiler would get upset at the
141 * "else" because it interpreted the "if" statement as being all
142 * done when it reached the ';' after the yyless() call.
143 */
144
145/* Return all but the first 'n' matched characters back to the input stream. */
146
Reid Spencer68a24bd2005-08-27 18:50:39 +0000147#define yyless(n) \
148 do \
149 { \
Reid Spencer6f407902007-01-13 05:00:46 +0000150 /* Undo effects of setting up yytext. */ \
151 *yy_cp = yy_hold_char; \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000152 YY_RESTORE_YY_MORE_OFFSET \
Reid Spencer6f407902007-01-13 05:00:46 +0000153 yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
154 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000155 } \
156 while ( 0 )
157
Reid Spencer6f407902007-01-13 05:00:46 +0000158#define unput(c) yyunput( c, yytext_ptr )
159
Reid Spencer68a24bd2005-08-27 18:50:39 +0000160/* The following is because we cannot portably get our hands on size_t
161 * (without autoconf's help, which isn't available because we want
162 * flex-generated scanners to compile on their own).
163 */
164typedef unsigned int yy_size_t;
165
Reid Spencer6f407902007-01-13 05:00:46 +0000166
Reid Spencer68a24bd2005-08-27 18:50:39 +0000167struct yy_buffer_state
168 {
169 FILE *yy_input_file;
170
171 char *yy_ch_buf; /* input buffer */
172 char *yy_buf_pos; /* current position in input buffer */
173
174 /* Size of input buffer in bytes, not including room for EOB
175 * characters.
176 */
177 yy_size_t yy_buf_size;
178
179 /* Number of characters read into yy_ch_buf, not including EOB
180 * characters.
181 */
182 int yy_n_chars;
183
184 /* Whether we "own" the buffer - i.e., we know we created it,
185 * and can realloc() it to grow it, and should free() it to
186 * delete it.
187 */
188 int yy_is_our_buffer;
189
190 /* Whether this is an "interactive" input source; if so, and
191 * if we're using stdio for input, then we want to use getc()
192 * instead of fread(), to make sure we stop fetching input after
193 * each newline.
194 */
195 int yy_is_interactive;
196
197 /* Whether we're considered to be at the beginning of a line.
198 * If so, '^' rules will be active on the next match, otherwise
199 * not.
200 */
201 int yy_at_bol;
202
203 /* Whether to try to fill the input buffer when we reach the
204 * end of it.
205 */
206 int yy_fill_buffer;
207
208 int yy_buffer_status;
209#define YY_BUFFER_NEW 0
210#define YY_BUFFER_NORMAL 1
211 /* When an EOF's been seen but there's still some text to process
212 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
213 * shouldn't try reading from the input source any more. We might
214 * still have a bunch of tokens to match, though, because of
215 * possible backing-up.
216 *
217 * When we actually see the EOF, we change the status to "new"
Reid Spencer6f407902007-01-13 05:00:46 +0000218 * (via yyrestart()), so that the user can continue scanning by
219 * just pointing yyin at a new input file.
Reid Spencer68a24bd2005-08-27 18:50:39 +0000220 */
221#define YY_BUFFER_EOF_PENDING 2
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000222 };
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000223
Reid Spencer6f407902007-01-13 05:00:46 +0000224static YY_BUFFER_STATE yy_current_buffer = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000225
226/* We provide macros for accessing buffer states in case in the
227 * future we want to put the buffer states in a more general
228 * "scanner state".
229 */
Reid Spencer6f407902007-01-13 05:00:46 +0000230#define YY_CURRENT_BUFFER yy_current_buffer
Reid Spencer68a24bd2005-08-27 18:50:39 +0000231
232
Reid Spencer6f407902007-01-13 05:00:46 +0000233/* yy_hold_char holds the character lost when yytext is formed. */
Reid Spencer68a24bd2005-08-27 18:50:39 +0000234static char yy_hold_char;
Reid Spencer6f407902007-01-13 05:00:46 +0000235
Reid Spencer68a24bd2005-08-27 18:50:39 +0000236static int yy_n_chars; /* number of characters read into yy_ch_buf */
Reid Spencer6f407902007-01-13 05:00:46 +0000237
238
239int yyleng;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000240
241/* Points to current character in buffer. */
242static char *yy_c_buf_p = (char *) 0;
Reid Spencer6f407902007-01-13 05:00:46 +0000243static int yy_init = 1; /* whether we need to initialize */
Reid Spencer68a24bd2005-08-27 18:50:39 +0000244static int yy_start = 0; /* start state number */
245
Reid Spencer6f407902007-01-13 05:00:46 +0000246/* Flag which is used to allow yywrap()'s to do buffer switches
247 * instead of setting up a fresh yyin. A bit of a hack ...
Reid Spencer68a24bd2005-08-27 18:50:39 +0000248 */
249static int yy_did_buffer_switch_on_eof;
250
Reid Spencer6f407902007-01-13 05:00:46 +0000251void yyrestart YY_PROTO(( FILE *input_file ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000252
Reid Spencer6f407902007-01-13 05:00:46 +0000253void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
254void yy_load_buffer_state YY_PROTO(( void ));
255YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
256void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
257void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
258void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
259#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +0000260
Reid Spencer6f407902007-01-13 05:00:46 +0000261YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
262YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
263YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000264
Reid Spencer6f407902007-01-13 05:00:46 +0000265static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
Reid Spencer41dff5e2007-01-26 08:05:27 +0000266static inline void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
Reid Spencer6f407902007-01-13 05:00:46 +0000267static void yy_flex_free YY_PROTO(( void * ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000268
Reid Spencer6f407902007-01-13 05:00:46 +0000269#define yy_new_buffer yy_create_buffer
Reid Spencer68a24bd2005-08-27 18:50:39 +0000270
271#define yy_set_interactive(is_interactive) \
272 { \
Reid Spencer6f407902007-01-13 05:00:46 +0000273 if ( ! yy_current_buffer ) \
274 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
275 yy_current_buffer->yy_is_interactive = is_interactive; \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000276 }
277
278#define yy_set_bol(at_bol) \
279 { \
Reid Spencer6f407902007-01-13 05:00:46 +0000280 if ( ! yy_current_buffer ) \
281 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
282 yy_current_buffer->yy_at_bol = at_bol; \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000283 }
284
Reid Spencer6f407902007-01-13 05:00:46 +0000285#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
Reid Spencer68a24bd2005-08-27 18:50:39 +0000286
287
Reid Spencer6f407902007-01-13 05:00:46 +0000288#define YY_USES_REJECT
289
290#define yywrap() 1
Reid Spencer68a24bd2005-08-27 18:50:39 +0000291#define YY_SKIP_YYWRAP
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000292typedef unsigned char YY_CHAR;
Reid Spencer6f407902007-01-13 05:00:46 +0000293FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000294typedef int yy_state_type;
Reid Spencer6f407902007-01-13 05:00:46 +0000295extern int yylineno;
296int yylineno = 1;
297extern char *yytext;
298#define yytext_ptr yytext
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000299
Reid Spencer6f407902007-01-13 05:00:46 +0000300static yy_state_type yy_get_previous_state YY_PROTO(( void ));
301static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
302static int yy_get_next_buffer YY_PROTO(( void ));
303static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000304
305/* Done after the current pattern has been matched and before the
Reid Spencer6f407902007-01-13 05:00:46 +0000306 * corresponding action - sets up yytext.
Reid Spencer68a24bd2005-08-27 18:50:39 +0000307 */
308#define YY_DO_BEFORE_ACTION \
Reid Spencer6f407902007-01-13 05:00:46 +0000309 yytext_ptr = yy_bp; \
310 yyleng = (int) (yy_cp - yy_bp); \
311 yy_hold_char = *yy_cp; \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000312 *yy_cp = '\0'; \
Reid Spencer6f407902007-01-13 05:00:46 +0000313 yy_c_buf_p = yy_cp;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000314
Reid Spencer41dff5e2007-01-26 08:05:27 +0000315#define YY_NUM_RULES 131
316#define YY_END_OF_BUFFER 132
317static yyconst short int yy_acclist[211] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000318 { 0,
Reid Spencer41dff5e2007-01-26 08:05:27 +0000319 132, 130, 131, 129, 130, 131, 129, 131, 130, 131,
320 130, 131, 130, 131, 130, 131, 130, 131, 130, 131,
321 122, 130, 131, 122, 130, 131, 1, 130, 131, 130,
322 131, 130, 131, 130, 131, 130, 131, 130, 131, 130,
323 131, 130, 131, 130, 131, 130, 131, 130, 131, 130,
324 131, 130, 131, 130, 131, 130, 131, 130, 131, 130,
325 131, 130, 131, 130, 131, 130, 131, 130, 131, 130,
326 131, 130, 131, 121, 119, 118, 118, 125, 123, 127,
327 122, 1, 104, 36, 64, 49, 65, 60, 24, 121,
328 118, 118, 126, 127, 21, 127, 128, 50, 59, 34,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000329
Reid Spencer41dff5e2007-01-26 08:05:27 +0000330 37, 3, 52, 74, 79, 77, 78, 76, 75, 80,
331 84, 103, 69, 67, 99, 68, 66, 51, 82, 73,
332 71, 72, 70, 83, 81, 61, 120, 127, 127, 101,
333 85, 63, 55, 111, 58, 62, 112, 100, 23, 124,
334 54, 88, 57, 25, 4, 47, 53, 56, 43, 12,
335 87, 127, 31, 2, 5, 44, 90, 46, 113, 86,
336 22, 110, 40, 7, 45, 39, 94, 93, 8, 16,
337 106, 109, 33, 48, 98, 92, 105, 26, 27, 91,
338 107, 102, 97, 38, 6, 28, 89, 32, 9, 18,
339 10, 95, 11, 96, 30, 13, 15, 14, 29, 35,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000340
Reid Spencer41dff5e2007-01-26 08:05:27 +0000341 17, 108, 114, 116, 117, 41, 115, 19, 42, 20
Reid Spencer68a24bd2005-08-27 18:50:39 +0000342 } ;
343
Reid Spencer41dff5e2007-01-26 08:05:27 +0000344static yyconst short int yy_accept[537] =
Reid Spencer6f407902007-01-13 05:00:46 +0000345 { 0,
346 1, 1, 1, 2, 4, 7, 9, 11, 13, 15,
347 17, 19, 21, 24, 27, 30, 32, 34, 36, 38,
348 40, 42, 44, 46, 48, 50, 52, 54, 56, 58,
349 60, 62, 64, 66, 68, 70, 72, 74, 74, 75,
350 75, 76, 77, 78, 79, 79, 80, 80, 81, 82,
351 82, 83, 83, 83, 83, 83, 83, 83, 83, 84,
352 84, 85, 85, 85, 85, 85, 85, 85, 85, 86,
353 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
354 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
355 87, 88, 88, 88, 88, 88, 88, 88, 89, 89,
356
357 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
Reid Spencer41dff5e2007-01-26 08:05:27 +0000358 89, 89, 89, 89, 90, 90, 90, 90, 90, 90,
Reid Spencer6f407902007-01-13 05:00:46 +0000359 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
Reid Spencer41dff5e2007-01-26 08:05:27 +0000360 91, 92, 94, 95, 96, 97, 97, 98, 99, 99,
361 99, 100, 100, 100, 101, 101, 101, 101, 102, 102,
362 102, 102, 102, 102, 102, 102, 102, 102, 103, 103,
Reid Spencer6f407902007-01-13 05:00:46 +0000363 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
Reid Spencer41dff5e2007-01-26 08:05:27 +0000364 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
365 103, 103, 104, 104, 105, 106, 107, 108, 109, 110,
366 110, 111, 112, 112, 113, 113, 113, 113, 113, 113,
Reid Spencer6f407902007-01-13 05:00:46 +0000367
Reid Spencer41dff5e2007-01-26 08:05:27 +0000368 114, 115, 116, 116, 116, 116, 117, 118, 118, 118,
369 119, 119, 119, 119, 119, 119, 119, 119, 120, 121,
370 122, 122, 123, 124, 124, 125, 126, 126, 126, 126,
371 126, 126, 126, 126, 126, 127, 127, 127, 128, 129,
372 129, 129, 129, 130, 130, 130, 130, 131, 131, 131,
373 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
374 132, 132, 132, 132, 132, 133, 134, 134, 134, 134,
375 134, 135, 136, 136, 136, 136, 137, 137, 137, 137,
376 137, 137, 137, 137, 138, 139, 139, 139, 140, 140,
377 140, 141, 142, 142, 142, 143, 143, 143, 143, 144,
Reid Spencer6f407902007-01-13 05:00:46 +0000378
Reid Spencer41dff5e2007-01-26 08:05:27 +0000379 144, 144, 145, 145, 145, 146, 146, 147, 148, 148,
380 148, 148, 148, 149, 149, 150, 150, 151, 151, 151,
381 152, 153, 154, 154, 154, 155, 155, 155, 155, 155,
382 155, 155, 155, 155, 155, 155, 155, 155, 155, 156,
383 156, 157, 158, 158, 158, 158, 158, 158, 158, 158,
384 158, 158, 158, 158, 159, 159, 159, 159, 159, 159,
385 159, 159, 159, 159, 159, 160, 160, 160, 160, 161,
386 161, 162, 162, 162, 162, 162, 162, 162, 162, 163,
387 163, 163, 164, 164, 164, 164, 164, 165, 165, 165,
388 165, 166, 166, 166, 167, 168, 169, 169, 169, 170,
Reid Spencer6f407902007-01-13 05:00:46 +0000389
Reid Spencer41dff5e2007-01-26 08:05:27 +0000390 171, 171, 171, 171, 171, 172, 172, 173, 174, 175,
391 175, 175, 176, 176, 176, 177, 178, 179, 180, 181,
392 181, 182, 183, 183, 183, 183, 183, 183, 184, 184,
393 185, 185, 186, 187, 187, 187, 187, 187, 187, 188,
394 188, 188, 188, 188, 188, 188, 188, 189, 189, 189,
395 189, 189, 189, 189, 189, 189, 190, 190, 190, 190,
396 190, 191, 191, 191, 191, 191, 192, 193, 194, 195,
397 195, 195, 195, 196, 196, 196, 196, 197, 197, 198,
398 199, 199, 199, 199, 199, 199, 199, 199, 199, 199,
399 199, 199, 200, 200, 200, 200, 200, 200, 200, 201,
Reid Spencer6f407902007-01-13 05:00:46 +0000400
Reid Spencer41dff5e2007-01-26 08:05:27 +0000401 201, 201, 201, 201, 202, 202, 202, 202, 202, 202,
402 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
403 203, 203, 203, 204, 204, 205, 206, 206, 207, 207,
404 208, 209, 210, 210, 211, 211
Reid Spencer6f407902007-01-13 05:00:46 +0000405 } ;
406
407static yyconst int yy_ec[256] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000408 { 0,
409 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
410 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
411 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
412 1, 2, 1, 4, 1, 5, 6, 1, 1, 1,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000413 1, 1, 7, 1, 8, 9, 1, 10, 11, 11,
414 11, 11, 11, 12, 11, 13, 11, 14, 15, 1,
415 1, 1, 1, 1, 16, 16, 16, 16, 17, 16,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000416 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
417 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000418 1, 1, 1, 1, 18, 1, 19, 20, 21, 22,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000419
Reid Spencera54b7cb2007-01-12 07:05:14 +0000420 23, 24, 25, 26, 27, 5, 28, 29, 30, 31,
421 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
422 42, 43, 1, 1, 1, 1, 1, 1, 1, 1,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000423 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
424 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
425 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
426 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
427 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
428 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
429 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
430
431 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
432 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
433 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
434 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
435 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
436 1, 1, 1, 1, 1
437 } ;
438
Reid Spencer6f407902007-01-13 05:00:46 +0000439static yyconst int yy_meta[44] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000440 { 0,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000441 1, 1, 2, 1, 3, 1, 1, 3, 3, 3,
442 3, 3, 3, 4, 1, 3, 3, 3, 3, 3,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000443 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000444 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
445 3, 3, 3
Reid Spencer68a24bd2005-08-27 18:50:39 +0000446 } ;
447
Reid Spencer41dff5e2007-01-26 08:05:27 +0000448static yyconst short int yy_base[541] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000449 { 0,
Reid Spencer41dff5e2007-01-26 08:05:27 +0000450 0, 0, 1164, 1165, 1165, 1165, 1159, 1148, 36, 40,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000451 44, 50, 56, 62, 0, 63, 66, 81, 89, 47,
Reid Spencer41dff5e2007-01-26 08:05:27 +0000452 108, 91, 77, 134, 92, 119, 93, 152, 72, 109,
453 178, 121, 209, 120, 135, 146, 147, 1157, 1165, 1146,
454 1165, 0, 161, 183, 199, 215, 70, 235, 250, 255,
455 0, 68, 140, 128, 165, 154, 101, 46, 1145, 96,
456 168, 206, 162, 177, 259, 188, 49, 208, 1144, 219,
457 267, 176, 172, 207, 268, 227, 256, 270, 229, 264,
458 274, 273, 272, 287, 31, 296, 228, 283, 276, 285,
459 1143, 299, 286, 302, 303, 304, 305, 307, 308, 309,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000460
Reid Spencer41dff5e2007-01-26 08:05:27 +0000461 316, 317, 318, 320, 319, 322, 332, 329, 324, 323,
462 343, 345, 348, 1142, 350, 334, 351, 336, 357, 354,
463 359, 367, 362, 239, 379, 360, 372, 378, 381, 1141,
464 0, 399, 407, 1140, 421, 438, 0, 1139, 373, 383,
465 1138, 391, 386, 1137, 409, 426, 412, 1136, 415, 389,
466 439, 440, 413, 429, 441, 444, 443, 1135, 446, 425,
467 450, 451, 452, 454, 387, 458, 462, 460, 466, 474,
468 461, 468, 475, 481, 485, 486, 487, 488, 489, 491,
469 492, 1134, 493, 1133, 1132, 1131, 1130, 1129, 1128, 494,
470 1127, 1126, 497, 1125, 525, 500, 513, 498, 515, 1124,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000471
Reid Spencer41dff5e2007-01-26 08:05:27 +0000472 1123, 1122, 499, 502, 519, 1121, 1120, 526, 518, 1119,
473 517, 529, 541, 543, 546, 545, 547, 1118, 1117, 1116,
474 548, 1115, 1114, 549, 1113, 1112, 550, 551, 553, 556,
475 557, 568, 560, 567, 1111, 570, 575, 1165, 580, 588,
476 594, 603, 608, 580, 505, 594, 1110, 595, 609, 1109,
477 610, 596, 613, 615, 616, 618, 620, 622, 623, 625,
478 624, 626, 628, 627, 1108, 1107, 629, 632, 638, 641,
479 1106, 1105, 642, 643, 644, 1104, 647, 646, 650, 651,
480 654, 658, 659, 1103, 1102, 661, 663, 1101, 664, 666,
481 0, 1100, 670, 674, 1099, 672, 676, 680, 1098, 686,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000482
Reid Spencer41dff5e2007-01-26 08:05:27 +0000483 687, 1097, 689, 691, 1096, 692, 1095, 1094, 693, 697,
484 696, 700, 1093, 702, 1092, 704, 1091, 708, 709, 1090,
485 714, 1089, 714, 716, 1088, 715, 721, 720, 726, 729,
486 731, 732, 736, 735, 738, 739, 743, 740, 1087, 744,
487 1086, 1085, 745, 746, 749, 753, 750, 755, 761, 756,
488 763, 764, 767, 1084, 768, 771, 773, 775, 774, 770,
489 769, 781, 789, 786, 1083, 790, 791, 794, 1082, 793,
490 1081, 797, 798, 800, 795, 810, 801, 809, 1080, 807,
491 813, 1079, 816, 818, 817, 819, 1078, 821, 822, 823,
492 1077, 827, 829, 1076, 1075, 1074, 830, 834, 1073, 1072,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000493
Reid Spencer41dff5e2007-01-26 08:05:27 +0000494 835, 838, 846, 839, 1071, 842, 1070, 1069, 1068, 848,
495 853, 1067, 854, 856, 1066, 1065, 1064, 1063, 1062, 855,
496 1061, 1060, 857, 858, 860, 861, 859, 1059, 864, 1058,
497 871, 1057, 1056, 869, 873, 122, 877, 875, 1055, 879,
498 878, 881, 882, 883, 891, 885, 1054, 886, 893, 898,
499 901, 899, 905, 906, 907, 1051, 909, 913, 914, 915,
500 1042, 916, 917, 919, 921, 1041, 1040, 1039, 1038, 923,
501 920, 935, 1036, 938, 939, 940, 1035, 925, 1033, 1032,
502 946, 943, 926, 950, 947, 954, 956, 957, 959, 958,
503 960, 1031, 962, 966, 967, 968, 969, 970, 1027, 971,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000504
Reid Spencer41dff5e2007-01-26 08:05:27 +0000505 974, 975, 977, 1025, 985, 981, 983, 984, 987, 1024,
506 988, 995, 997, 998, 999, 1000, 1006, 1007, 1009, 1012,
507 1008, 1011, 1023, 1013, 928, 705, 1014, 675, 1017, 465,
508 464, 463, 1022, 390, 1165, 1057, 1059, 286, 1063, 252
Reid Spencer68a24bd2005-08-27 18:50:39 +0000509 } ;
510
Reid Spencer41dff5e2007-01-26 08:05:27 +0000511static yyconst short int yy_def[541] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000512 { 0,
Reid Spencer41dff5e2007-01-26 08:05:27 +0000513 535, 1, 535, 535, 535, 535, 536, 537, 538, 535,
514 537, 537, 537, 537, 539, 537, 537, 537, 537, 537,
515 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
516 537, 537, 537, 537, 537, 537, 537, 536, 535, 537,
517 535, 540, 540, 535, 535, 537, 537, 537, 537, 537,
518 539, 537, 537, 537, 537, 537, 537, 537, 537, 537,
519 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
520 537, 537, 537, 537, 537, 537, 537, 537, 537, 24,
521 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
522 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000523
Reid Spencer41dff5e2007-01-26 08:05:27 +0000524 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
525 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
526 537, 537, 537, 537, 537, 537, 537, 537, 537, 535,
527 540, 540, 535, 537, 537, 537, 50, 537, 537, 537,
528 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
529 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
530 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
531 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
532 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
533 537, 537, 537, 537, 50, 537, 537, 537, 537, 537,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000534
Reid Spencer41dff5e2007-01-26 08:05:27 +0000535 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
536 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
537 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
538 537, 537, 537, 537, 537, 537, 537, 535, 535, 535,
539 535, 537, 537, 537, 537, 537, 537, 537, 537, 537,
540 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
541 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
542 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
543 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
544 195, 537, 537, 537, 537, 537, 537, 537, 537, 537,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000545
Reid Spencer41dff5e2007-01-26 08:05:27 +0000546 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
547 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
548 535, 537, 537, 537, 537, 537, 537, 537, 537, 537,
549 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
550 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
551 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
552 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
553 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
554 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
555 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000556
Reid Spencer41dff5e2007-01-26 08:05:27 +0000557 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
558 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
559 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
560 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
561 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
562 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
563 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
564 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
565 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
566 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000567
Reid Spencer41dff5e2007-01-26 08:05:27 +0000568 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
569 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
570 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
571 537, 537, 537, 537, 0, 535, 535, 535, 535, 535
Reid Spencer68a24bd2005-08-27 18:50:39 +0000572 } ;
573
Reid Spencer41dff5e2007-01-26 08:05:27 +0000574static yyconst short int yy_nxt[1209] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000575 { 0,
576 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000577 14, 14, 14, 4, 15, 8, 8, 8, 16, 17,
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000578 18, 19, 20, 21, 22, 23, 24, 8, 25, 26,
579 27, 28, 29, 8, 30, 31, 32, 33, 34, 35,
580 36, 8, 37, 43, 41, 44, 44, 44, 44, 45,
Reid Spencer41dff5e2007-01-26 08:05:27 +0000581 45, 45, 45, 46, 46, 46, 46, 41, 47, 41,
582 41, 177, 41, 41, 48, 49, 49, 49, 49, 41,
583 48, 49, 49, 49, 49, 41, 41, 68, 134, 41,
584 69, 41, 146, 41, 52, 41, 157, 70, 57, 138,
585 41, 53, 58, 54, 41, 55, 50, 99, 56, 60,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000586
Reid Spencer41dff5e2007-01-26 08:05:27 +0000587 59, 61, 41, 79, 41, 41, 41, 64, 100, 41,
Reid Spencer6f407902007-01-13 05:00:46 +0000588 84, 65, 62, 77, 41, 91, 63, 66, 85, 78,
Reid Spencer41dff5e2007-01-26 08:05:27 +0000589 67, 41, 41, 86, 147, 145, 71, 87, 72, 73,
590 92, 101, 41, 41, 41, 41, 74, 88, 124, 113,
591 75, 41, 76, 80, 80, 80, 80, 41, 41, 141,
592 89, 125, 114, 41, 81, 115, 90, 126, 127, 41,
593 41, 460, 116, 82, 83, 41, 139, 41, 140, 129,
594 132, 132, 132, 132, 93, 41, 94, 128, 41, 143,
595 95, 41, 96, 144, 97, 41, 98, 102, 148, 41,
596 41, 41, 44, 44, 44, 44, 151, 142, 163, 103,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000597
Reid Spencer41dff5e2007-01-26 08:05:27 +0000598 104, 41, 105, 106, 107, 162, 108, 133, 45, 45,
599 45, 45, 109, 152, 110, 111, 156, 112, 102, 41,
600 41, 41, 41, 48, 46, 46, 46, 46, 41, 158,
601 117, 118, 41, 119, 149, 120, 150, 121, 164, 122,
602 41, 41, 41, 123, 135, 135, 135, 135, 41, 167,
603 170, 136, 41, 179, 131, 159, 230, 136, 48, 49,
604 49, 49, 49, 41, 137, 137, 137, 137, 41, 41,
605 137, 137, 41, 137, 137, 137, 137, 137, 137, 153,
606 41, 41, 154, 41, 40, 41, 41, 41, 42, 41,
607 165, 155, 168, 40, 40, 160, 41, 181, 41, 41,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000608
Reid Spencer41dff5e2007-01-26 08:05:27 +0000609 41, 169, 161, 171, 166, 172, 176, 173, 174, 41,
610 175, 180, 41, 182, 178, 41, 41, 41, 41, 184,
611 41, 41, 41, 190, 185, 187, 189, 183, 191, 41,
612 41, 41, 41, 41, 192, 41, 41, 41, 186, 188,
613 197, 200, 41, 193, 196, 41, 208, 41, 198, 41,
614 202, 206, 194, 204, 209, 201, 41, 195, 41, 203,
615 199, 41, 210, 41, 41, 207, 216, 41, 205, 218,
616 41, 211, 41, 41, 212, 41, 214, 217, 233, 219,
617 41, 222, 213, 234, 229, 41, 41, 215, 224, 225,
618 221, 41, 41, 220, 41, 223, 41, 244, 226, 41,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000619
Reid Spencer41dff5e2007-01-26 08:05:27 +0000620 41, 227, 41, 41, 41, 231, 228, 232, 132, 132,
621 132, 132, 235, 246, 245, 236, 239, 239, 239, 239,
622 247, 237, 41, 240, 252, 41, 41, 268, 41, 240,
623 135, 135, 135, 135, 41, 248, 251, 136, 41, 41,
624 250, 255, 41, 136, 241, 242, 249, 243, 243, 243,
625 243, 41, 41, 41, 41, 256, 41, 41, 254, 41,
626 263, 253, 260, 41, 41, 41, 258, 41, 261, 257,
627 259, 41, 267, 41, 41, 41, 41, 41, 41, 41,
628 262, 41, 273, 265, 271, 274, 264, 41, 41, 269,
629 266, 272, 270, 276, 41, 275, 277, 278, 41, 41,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000630
Reid Spencer41dff5e2007-01-26 08:05:27 +0000631 41, 41, 41, 279, 41, 41, 41, 41, 282, 284,
632 41, 41, 41, 41, 283, 41, 281, 280, 41, 286,
633 294, 288, 296, 285, 297, 323, 41, 289, 41, 287,
634 41, 41, 41, 290, 291, 291, 291, 291, 292, 41,
635 291, 291, 41, 291, 291, 291, 291, 291, 291, 293,
636 298, 295, 300, 301, 41, 299, 41, 302, 41, 41,
637 41, 41, 41, 41, 41, 303, 41, 307, 305, 41,
638 41, 310, 311, 41, 314, 304, 306, 312, 315, 309,
639 41, 41, 313, 41, 318, 308, 316, 317, 41, 239,
640 239, 239, 239, 41, 241, 241, 240, 321, 321, 321,
Reid Spencer14310612006-12-31 05:40:51 +0000641
Reid Spencer41dff5e2007-01-26 08:05:27 +0000642 321, 319, 240, 321, 321, 321, 321, 41, 41, 41,
643 322, 320, 243, 243, 243, 243, 41, 243, 243, 243,
644 243, 41, 41, 41, 324, 325, 41, 326, 41, 41,
645 327, 41, 328, 41, 331, 41, 41, 41, 41, 41,
646 41, 41, 41, 330, 338, 41, 333, 340, 332, 329,
647 339, 41, 335, 336, 41, 41, 41, 41, 337, 41,
648 41, 347, 334, 41, 41, 341, 348, 41, 342, 349,
649 346, 41, 41, 343, 41, 344, 41, 41, 345, 41,
650 350, 353, 352, 41, 351, 41, 354, 41, 41, 41,
651 355, 357, 356, 41, 361, 362, 360, 359, 363, 41,
Reid Spencer14310612006-12-31 05:40:51 +0000652
Reid Spencer41dff5e2007-01-26 08:05:27 +0000653 41, 358, 41, 364, 41, 41, 41, 366, 365, 41,
654 41, 367, 369, 41, 372, 41, 370, 41, 41, 368,
655 371, 41, 41, 321, 321, 321, 321, 41, 41, 41,
656 373, 376, 379, 41, 41, 378, 374, 380, 383, 41,
657 375, 382, 41, 377, 41, 41, 384, 385, 41, 41,
658 381, 41, 41, 41, 387, 388, 41, 41, 41, 41,
659 393, 391, 41, 41, 394, 386, 41, 389, 41, 41,
660 390, 395, 396, 392, 41, 398, 41, 41, 399, 397,
661 41, 41, 41, 41, 41, 400, 41, 41, 41, 405,
662 401, 407, 402, 403, 41, 408, 404, 409, 406, 41,
Reid Spencer14310612006-12-31 05:40:51 +0000663
Reid Spencer41dff5e2007-01-26 08:05:27 +0000664 410, 411, 41, 41, 41, 412, 41, 41, 41, 413,
665 41, 41, 414, 41, 41, 416, 418, 420, 415, 421,
666 41, 423, 41, 41, 422, 419, 41, 417, 424, 41,
667 41, 41, 41, 427, 41, 41, 41, 425, 430, 426,
668 41, 432, 41, 41, 436, 437, 429, 41, 41, 428,
669 439, 41, 41, 434, 435, 41, 433, 441, 431, 41,
670 442, 41, 445, 440, 443, 438, 41, 41, 41, 41,
671 41, 41, 41, 41, 41, 444, 448, 41, 446, 449,
672 450, 453, 41, 447, 41, 451, 41, 454, 41, 455,
673 41, 41, 41, 452, 41, 41, 41, 462, 41, 41,
Reid Spencer14310612006-12-31 05:40:51 +0000674
Reid Spencer41dff5e2007-01-26 08:05:27 +0000675 456, 463, 457, 458, 41, 461, 41, 459, 464, 465,
676 466, 41, 41, 468, 41, 471, 472, 467, 41, 41,
677 41, 469, 41, 473, 470, 475, 41, 41, 41, 41,
678 41, 477, 41, 41, 41, 474, 41, 481, 41, 41,
679 487, 41, 476, 485, 482, 486, 478, 483, 41, 479,
680 480, 41, 41, 41, 488, 484, 41, 490, 489, 41,
681 41, 492, 495, 41, 493, 494, 491, 41, 496, 41,
682 41, 41, 41, 41, 498, 41, 497, 501, 503, 41,
683 41, 41, 41, 41, 41, 500, 502, 41, 41, 504,
684 41, 508, 499, 510, 41, 505, 41, 41, 41, 506,
Reid Spencer14310612006-12-31 05:40:51 +0000685
Reid Spencer41dff5e2007-01-26 08:05:27 +0000686 41, 41, 511, 512, 507, 513, 509, 514, 41, 516,
687 41, 41, 41, 41, 517, 520, 519, 515, 518, 41,
688 41, 41, 41, 521, 41, 41, 41, 41, 522, 527,
689 41, 524, 528, 523, 532, 41, 41, 41, 41, 533,
690 41, 526, 525, 531, 41, 41, 41, 530, 41, 41,
691 529, 41, 41, 41, 41, 41, 534, 38, 38, 38,
692 38, 40, 40, 51, 41, 51, 51, 41, 41, 41,
693 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
694 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
695 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
Reid Spencer14310612006-12-31 05:40:51 +0000696
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000697 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
698 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
699 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
700 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
701 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
Reid Spencer41dff5e2007-01-26 08:05:27 +0000702 41, 41, 41, 41, 238, 41, 41, 41, 41, 41,
703 130, 41, 39, 535, 3, 535, 535, 535, 535, 535,
704 535, 535, 535, 535, 535, 535, 535, 535, 535, 535,
705 535, 535, 535, 535, 535, 535, 535, 535, 535, 535,
706 535, 535, 535, 535, 535, 535, 535, 535, 535, 535,
Chris Lattner75466192006-05-19 21:28:53 +0000707
Reid Spencer41dff5e2007-01-26 08:05:27 +0000708 535, 535, 535, 535, 535, 535, 535, 535
Reid Spencer68a24bd2005-08-27 18:50:39 +0000709 } ;
710
Reid Spencer41dff5e2007-01-26 08:05:27 +0000711static yyconst short int yy_chk[1209] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000712 { 0,
713 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
714 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
715 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
716 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Reid Spencer41dff5e2007-01-26 08:05:27 +0000717 1, 1, 1, 9, 85, 9, 9, 9, 9, 10,
718 10, 10, 10, 11, 11, 11, 11, 11, 12, 58,
719 20, 85, 67, 12, 13, 13, 13, 13, 13, 13,
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000720 14, 14, 14, 14, 14, 14, 16, 20, 47, 17,
Reid Spencer41dff5e2007-01-26 08:05:27 +0000721 20, 52, 58, 47, 16, 29, 67, 20, 17, 52,
722 23, 16, 17, 16, 18, 16, 13, 29, 16, 18,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000723
Reid Spencer41dff5e2007-01-26 08:05:27 +0000724 17, 18, 19, 23, 22, 25, 27, 19, 29, 60,
725 25, 19, 18, 22, 57, 27, 18, 19, 25, 22,
726 19, 21, 30, 25, 60, 57, 21, 25, 21, 21,
727 27, 30, 26, 34, 32, 436, 21, 26, 34, 32,
728 21, 54, 21, 24, 24, 24, 24, 24, 35, 54,
729 26, 34, 32, 53, 24, 32, 26, 35, 36, 36,
730 37, 436, 32, 24, 24, 28, 53, 56, 53, 37,
731 43, 43, 43, 43, 28, 63, 28, 36, 55, 56,
732 28, 61, 28, 56, 28, 73, 28, 31, 61, 72,
733 64, 31, 44, 44, 44, 44, 63, 55, 73, 31,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000734
Reid Spencer41dff5e2007-01-26 08:05:27 +0000735 31, 66, 31, 31, 31, 72, 31, 45, 45, 45,
736 45, 45, 31, 64, 31, 31, 66, 31, 33, 62,
737 74, 68, 33, 46, 46, 46, 46, 46, 46, 68,
738 33, 33, 70, 33, 62, 33, 62, 33, 74, 33,
739 76, 87, 79, 33, 48, 48, 48, 48, 48, 76,
740 79, 48, 124, 87, 540, 70, 124, 48, 49, 49,
741 49, 49, 49, 49, 50, 50, 50, 50, 50, 77,
742 50, 50, 65, 50, 50, 50, 50, 50, 50, 65,
743 71, 75, 65, 78, 80, 83, 82, 81, 538, 89,
744 75, 65, 77, 80, 80, 71, 88, 89, 90, 93,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000745
Reid Spencer41dff5e2007-01-26 08:05:27 +0000746 84, 78, 71, 81, 75, 82, 84, 83, 83, 86,
747 83, 88, 92, 90, 86, 94, 95, 96, 97, 93,
748 98, 99, 100, 97, 94, 95, 96, 92, 98, 101,
749 102, 103, 105, 104, 99, 106, 110, 109, 94, 95,
750 104, 105, 108, 100, 103, 107, 109, 116, 104, 118,
751 106, 108, 101, 107, 110, 105, 111, 102, 112, 106,
752 104, 113, 111, 115, 117, 108, 116, 120, 107, 118,
753 119, 112, 121, 126, 113, 123, 115, 117, 126, 119,
754 122, 121, 113, 127, 123, 127, 139, 115, 122, 122,
755 120, 128, 125, 119, 129, 121, 140, 139, 122, 143,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000756
Reid Spencer41dff5e2007-01-26 08:05:27 +0000757 165, 122, 150, 534, 142, 125, 122, 125, 132, 132,
758 132, 132, 128, 142, 140, 129, 133, 133, 133, 133,
759 143, 129, 145, 133, 150, 147, 153, 165, 149, 133,
760 135, 135, 135, 135, 135, 145, 149, 135, 160, 146,
761 147, 153, 154, 135, 136, 136, 146, 136, 136, 136,
762 136, 136, 151, 152, 155, 154, 157, 156, 152, 159,
763 160, 151, 157, 161, 162, 163, 156, 164, 159, 155,
764 156, 166, 164, 168, 171, 167, 532, 531, 530, 169,
765 159, 172, 168, 162, 167, 169, 161, 170, 173, 166,
766 163, 167, 166, 171, 174, 170, 172, 173, 175, 176,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000767
Reid Spencer41dff5e2007-01-26 08:05:27 +0000768 177, 178, 179, 174, 180, 181, 183, 190, 176, 178,
769 193, 198, 203, 196, 177, 204, 175, 174, 245, 180,
770 198, 183, 203, 179, 204, 245, 197, 190, 199, 181,
771 211, 209, 205, 193, 195, 195, 195, 195, 196, 208,
772 195, 195, 212, 195, 195, 195, 195, 195, 195, 197,
773 205, 199, 209, 211, 213, 208, 214, 212, 216, 215,
774 217, 221, 224, 227, 228, 213, 229, 216, 215, 230,
775 231, 224, 227, 233, 230, 214, 215, 228, 231, 221,
776 234, 232, 229, 236, 234, 217, 232, 233, 237, 239,
777 239, 239, 239, 244, 240, 240, 239, 240, 240, 240,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000778
Reid Spencer41dff5e2007-01-26 08:05:27 +0000779 240, 236, 239, 241, 241, 241, 241, 246, 248, 252,
780 244, 237, 242, 242, 242, 242, 242, 243, 243, 243,
781 243, 243, 249, 251, 246, 248, 253, 249, 254, 255,
782 251, 256, 252, 257, 255, 258, 259, 261, 260, 262,
783 264, 263, 267, 254, 262, 268, 257, 264, 256, 253,
784 263, 269, 259, 260, 270, 273, 274, 275, 261, 278,
785 277, 274, 258, 279, 280, 267, 275, 281, 268, 277,
786 273, 282, 283, 269, 286, 269, 287, 289, 270, 290,
787 278, 281, 280, 293, 279, 296, 282, 294, 528, 297,
788 283, 287, 286, 298, 294, 296, 293, 290, 297, 300,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000789
Reid Spencer41dff5e2007-01-26 08:05:27 +0000790 301, 289, 303, 298, 304, 306, 309, 301, 300, 311,
791 310, 303, 306, 312, 311, 314, 309, 316, 526, 304,
792 310, 318, 319, 321, 321, 321, 321, 323, 326, 324,
793 312, 318, 323, 328, 327, 319, 314, 324, 328, 329,
794 316, 327, 330, 318, 331, 332, 329, 330, 334, 333,
795 326, 335, 336, 338, 332, 333, 337, 340, 343, 344,
796 338, 336, 345, 347, 340, 331, 346, 334, 348, 350,
797 335, 343, 344, 337, 349, 346, 351, 352, 347, 345,
798 353, 355, 361, 360, 356, 348, 357, 359, 358, 353,
799 349, 356, 350, 351, 362, 357, 352, 358, 355, 364,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000800
Reid Spencer41dff5e2007-01-26 08:05:27 +0000801 359, 360, 363, 366, 367, 361, 370, 368, 375, 362,
802 372, 373, 363, 374, 377, 366, 368, 372, 364, 373,
803 380, 375, 378, 376, 374, 370, 381, 367, 376, 383,
804 385, 384, 386, 380, 388, 389, 390, 377, 384, 378,
805 392, 386, 393, 397, 392, 392, 383, 398, 401, 381,
806 397, 402, 404, 389, 390, 406, 388, 401, 385, 403,
807 402, 410, 406, 398, 403, 393, 411, 413, 420, 414,
808 423, 424, 427, 425, 426, 404, 413, 429, 410, 414,
809 420, 425, 434, 411, 431, 423, 435, 426, 438, 427,
810 437, 441, 440, 424, 442, 443, 444, 438, 446, 448,
Chris Lattnere869eef2005-11-12 00:11:49 +0000811
Reid Spencer41dff5e2007-01-26 08:05:27 +0000812 429, 440, 431, 434, 445, 437, 449, 435, 441, 442,
813 443, 450, 452, 445, 451, 449, 450, 444, 453, 454,
814 455, 446, 457, 451, 448, 453, 458, 459, 460, 462,
815 463, 455, 464, 471, 465, 452, 470, 460, 478, 483,
816 471, 525, 454, 465, 462, 470, 457, 463, 472, 458,
817 459, 474, 475, 476, 472, 464, 482, 475, 474, 481,
818 485, 478, 483, 484, 481, 482, 476, 486, 484, 487,
819 488, 490, 489, 491, 486, 493, 485, 489, 491, 494,
820 495, 496, 497, 498, 500, 488, 490, 501, 502, 493,
821 503, 497, 487, 500, 506, 494, 507, 508, 505, 495,
Chris Lattner75466192006-05-19 21:28:53 +0000822
Reid Spencer41dff5e2007-01-26 08:05:27 +0000823 509, 511, 501, 502, 496, 503, 498, 505, 512, 507,
824 513, 514, 515, 516, 508, 512, 511, 506, 509, 517,
825 518, 521, 519, 513, 522, 520, 524, 527, 514, 519,
826 529, 516, 520, 515, 527, 533, 523, 510, 504, 529,
827 499, 518, 517, 524, 492, 480, 479, 522, 477, 473,
828 521, 469, 468, 467, 466, 461, 533, 536, 536, 536,
829 536, 537, 537, 539, 456, 539, 539, 447, 439, 433,
830 432, 430, 428, 422, 421, 419, 418, 417, 416, 415,
831 412, 409, 408, 407, 405, 400, 399, 396, 395, 394,
832 391, 387, 382, 379, 371, 369, 365, 354, 342, 341,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000833
Reid Spencer41dff5e2007-01-26 08:05:27 +0000834 339, 325, 322, 320, 317, 315, 313, 308, 307, 305,
835 302, 299, 295, 292, 288, 285, 284, 276, 272, 271,
836 266, 265, 250, 247, 235, 226, 225, 223, 222, 220,
837 219, 218, 210, 207, 206, 202, 201, 200, 194, 192,
838 191, 189, 188, 187, 186, 185, 184, 182, 158, 148,
839 144, 141, 138, 134, 130, 114, 91, 69, 59, 40,
840 38, 8, 7, 3, 535, 535, 535, 535, 535, 535,
841 535, 535, 535, 535, 535, 535, 535, 535, 535, 535,
842 535, 535, 535, 535, 535, 535, 535, 535, 535, 535,
843 535, 535, 535, 535, 535, 535, 535, 535, 535, 535,
Reid Spencer3da59db2006-11-27 01:05:10 +0000844
Reid Spencer41dff5e2007-01-26 08:05:27 +0000845 535, 535, 535, 535, 535, 535, 535, 535
Reid Spencer68a24bd2005-08-27 18:50:39 +0000846 } ;
847
Reid Spencer6f407902007-01-13 05:00:46 +0000848static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
849static char *yy_full_match;
850static int yy_lp;
851#define REJECT \
852{ \
853*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
854yy_cp = yy_full_match; /* restore poss. backed-over text */ \
855++yy_lp; \
856goto find_rule; \
857}
Reid Spencer68a24bd2005-08-27 18:50:39 +0000858#define yymore() yymore_used_but_not_detected
859#define YY_MORE_ADJ 0
860#define YY_RESTORE_YY_MORE_OFFSET
Reid Spencer6f407902007-01-13 05:00:46 +0000861char *yytext;
Reid Spencer41dff5e2007-01-26 08:05:27 +0000862#line 1 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6f407902007-01-13 05:00:46 +0000863#define INITIAL 0
Reid Spencer68a24bd2005-08-27 18:50:39 +0000864/*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
865//
866// The LLVM Compiler Infrastructure
867//
868// This file was developed by the LLVM research group and is distributed under
869// the University of Illinois Open Source License. See LICENSE.TXT for details.
870//
871//===----------------------------------------------------------------------===//
872//
873// This file implements the flex scanner for LLVM assembly languages files.
874//
875//===----------------------------------------------------------------------===*/
Reid Spencer6f407902007-01-13 05:00:46 +0000876#define YY_NEVER_INTERACTIVE 1
Reid Spencer41dff5e2007-01-26 08:05:27 +0000877#line 28 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +0000878#include "ParserInternals.h"
879#include "llvm/Module.h"
880#include <list>
881#include "llvmAsmParser.h"
882#include <cctype>
883#include <cstdlib>
884
885void set_scan_file(FILE * F){
Reid Spencer6f407902007-01-13 05:00:46 +0000886 yy_switch_to_buffer(yy_create_buffer( F, YY_BUF_SIZE ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +0000887}
888void set_scan_string (const char * str) {
Reid Spencer6f407902007-01-13 05:00:46 +0000889 yy_scan_string (str);
Reid Spencer68a24bd2005-08-27 18:50:39 +0000890}
891
Reid Spencer3ed469c2006-11-02 20:25:50 +0000892// Construct a token value for a non-obsolete token
Reid Spencer68a24bd2005-08-27 18:50:39 +0000893#define RET_TOK(type, Enum, sym) \
Reid Spencera132e042006-12-03 05:46:11 +0000894 llvmAsmlval.type = Instruction::Enum; \
895 return sym
896
Reid Spencer3ed469c2006-11-02 20:25:50 +0000897// Construct a token value for an obsolete token
Reid Spencera132e042006-12-03 05:46:11 +0000898#define RET_TY(CTYPE, SYM) \
899 llvmAsmlval.PrimType = CTYPE;\
Reid Spencer481169e2006-12-01 00:33:46 +0000900 return SYM
Reid Spencer68a24bd2005-08-27 18:50:39 +0000901
902namespace llvm {
903
904// TODO: All of the static identifiers are figured out by the lexer,
905// these should be hashed to reduce the lexer size
906
907
908// atoull - Convert an ascii string of decimal digits into the unsigned long
909// long representation... this does not have to do input error checking,
910// because we know that the input will be matched by a suitable regex...
911//
912static uint64_t atoull(const char *Buffer) {
913 uint64_t Result = 0;
914 for (; *Buffer; Buffer++) {
915 uint64_t OldRes = Result;
916 Result *= 10;
917 Result += *Buffer-'0';
918 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000919 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000920 }
921 return Result;
922}
923
924static uint64_t HexIntToVal(const char *Buffer) {
925 uint64_t Result = 0;
926 for (; *Buffer; ++Buffer) {
927 uint64_t OldRes = Result;
928 Result *= 16;
929 char C = *Buffer;
930 if (C >= '0' && C <= '9')
931 Result += C-'0';
932 else if (C >= 'A' && C <= 'F')
933 Result += C-'A'+10;
934 else if (C >= 'a' && C <= 'f')
935 Result += C-'a'+10;
936
937 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000938 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000939 }
940 return Result;
941}
942
943
944// HexToFP - Convert the ascii string in hexidecimal format to the floating
945// point representation of it.
946//
947static double HexToFP(const char *Buffer) {
948 // Behave nicely in the face of C TBAA rules... see:
949 // http://www.nullstone.com/htmls/category/aliastyp.htm
950 union {
951 uint64_t UI;
952 double FP;
953 } UIntToFP;
954 UIntToFP.UI = HexIntToVal(Buffer);
955
956 assert(sizeof(double) == sizeof(uint64_t) &&
957 "Data sizes incompatible on this target!");
958 return UIntToFP.FP; // Cast Hex constant to double
959}
960
961
962// UnEscapeLexed - Run through the specified buffer and change \xx codes to the
963// appropriate character. If AllowNull is set to false, a \00 value will cause
964// an exception to be thrown.
965//
966// If AllowNull is set to true, the return value of the function points to the
967// last character of the string in memory.
968//
969char *UnEscapeLexed(char *Buffer, bool AllowNull) {
970 char *BOut = Buffer;
971 for (char *BIn = Buffer; *BIn; ) {
972 if (BIn[0] == '\\' && isxdigit(BIn[1]) && isxdigit(BIn[2])) {
973 char Tmp = BIn[3]; BIn[3] = 0; // Terminate string
974 *BOut = (char)strtol(BIn+1, 0, 16); // Convert to number
975 if (!AllowNull && !*BOut)
Reid Spencer61c83e02006-08-18 08:43:06 +0000976 GenerateError("String literal cannot accept \\00 escape!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000977
978 BIn[3] = Tmp; // Restore character
979 BIn += 3; // Skip over handled chars
980 ++BOut;
981 } else {
982 *BOut++ = *BIn++;
983 }
984 }
985
986 return BOut;
987}
988
989} // End llvm namespace
990
991using namespace llvm;
992
993#define YY_NEVER_INTERACTIVE 1
994/* Comments start with a ; and go till end of line */
995/* Variable(Value) identifiers start with a % sign */
996/* Label identifiers end with a colon */
997/* Quoted names can contain any character except " and \ */
998/* [PN]Integer: match positive and negative literal integer values that
999 * are preceeded by a '%' character. These represent unnamed variable slots.
1000 */
1001/* E[PN]Integer: match positive and negative literal integer values */
1002/* FPConstant - A Floating point constant.
1003 */
1004/* HexFPConstant - Floating point constant represented in IEEE format as a
1005 * hexadecimal number for when exponential notation is not precise enough.
1006 */
1007/* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
1008 * it to deal with 64 bit numbers.
1009 */
Reid Spencer41dff5e2007-01-26 08:05:27 +00001010#line 1007 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001011
1012/* Macros after this point can all be overridden by user definitions in
1013 * section 1.
1014 */
1015
1016#ifndef YY_SKIP_YYWRAP
1017#ifdef __cplusplus
Reid Spencer6f407902007-01-13 05:00:46 +00001018extern "C" int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001019#else
Reid Spencer6f407902007-01-13 05:00:46 +00001020extern int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001021#endif
1022#endif
1023
Reid Spencer6f407902007-01-13 05:00:46 +00001024#ifndef YY_NO_UNPUT
1025static inline void yyunput YY_PROTO(( int c, char *buf_ptr ));
1026#endif
1027
Reid Spencer68a24bd2005-08-27 18:50:39 +00001028#ifndef yytext_ptr
Reid Spencer6f407902007-01-13 05:00:46 +00001029static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001030#endif
1031
1032#ifdef YY_NEED_STRLEN
Reid Spencer6f407902007-01-13 05:00:46 +00001033static int yy_flex_strlen YY_PROTO(( yyconst char * ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001034#endif
1035
1036#ifndef YY_NO_INPUT
1037#ifdef __cplusplus
Reid Spencer6f407902007-01-13 05:00:46 +00001038static int yyinput YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001039#else
Reid Spencer6f407902007-01-13 05:00:46 +00001040static int input YY_PROTO(( void ));
1041#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001042#endif
1043
Reid Spencer6f407902007-01-13 05:00:46 +00001044#if YY_STACK_USED
1045static int yy_start_stack_ptr = 0;
1046static int yy_start_stack_depth = 0;
1047static int *yy_start_stack = 0;
1048#ifndef YY_NO_PUSH_STATE
1049static void yy_push_state YY_PROTO(( int new_state ));
1050#endif
1051#ifndef YY_NO_POP_STATE
1052static void yy_pop_state YY_PROTO(( void ));
1053#endif
1054#ifndef YY_NO_TOP_STATE
1055static int yy_top_state YY_PROTO(( void ));
1056#endif
1057
1058#else
1059#define YY_NO_PUSH_STATE 1
1060#define YY_NO_POP_STATE 1
1061#define YY_NO_TOP_STATE 1
1062#endif
1063
1064#ifdef YY_MALLOC_DECL
1065YY_MALLOC_DECL
1066#else
1067#if __STDC__
1068#ifndef __cplusplus
1069#include <stdlib.h>
1070#endif
1071#else
1072/* Just try to get by without declaring the routines. This will fail
1073 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1074 * or sizeof(void*) != sizeof(int).
1075 */
1076#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001077#endif
1078
1079/* Amount of stuff to slurp up with each read. */
1080#ifndef YY_READ_BUF_SIZE
1081#define YY_READ_BUF_SIZE 8192
1082#endif
1083
1084/* Copy whatever the last rule matched to the standard output. */
Reid Spencer6f407902007-01-13 05:00:46 +00001085
Reid Spencer68a24bd2005-08-27 18:50:39 +00001086#ifndef ECHO
1087/* This used to be an fputs(), but since the string might contain NUL's,
1088 * we now use fwrite().
1089 */
Reid Spencer6f407902007-01-13 05:00:46 +00001090#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001091#endif
1092
1093/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1094 * is returned in "result".
1095 */
1096#ifndef YY_INPUT
1097#define YY_INPUT(buf,result,max_size) \
Reid Spencer6f407902007-01-13 05:00:46 +00001098 if ( yy_current_buffer->yy_is_interactive ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001099 { \
Reid Spencer6f407902007-01-13 05:00:46 +00001100 int c = '*', n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001101 for ( n = 0; n < max_size && \
Reid Spencer6f407902007-01-13 05:00:46 +00001102 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001103 buf[n] = (char) c; \
1104 if ( c == '\n' ) \
1105 buf[n++] = (char) c; \
Reid Spencer6f407902007-01-13 05:00:46 +00001106 if ( c == EOF && ferror( yyin ) ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001107 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1108 result = n; \
1109 } \
Reid Spencer6f407902007-01-13 05:00:46 +00001110 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1111 && ferror( yyin ) ) \
1112 YY_FATAL_ERROR( "input in flex scanner failed" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001113#endif
1114
1115/* No semi-colon after return; correct usage is to write "yyterminate();" -
1116 * we don't want an extra ';' after the "return" because that will cause
1117 * some compilers to complain about unreachable statements.
1118 */
1119#ifndef yyterminate
1120#define yyterminate() return YY_NULL
1121#endif
1122
1123/* Number of entries by which start-condition stack grows. */
1124#ifndef YY_START_STACK_INCR
1125#define YY_START_STACK_INCR 25
1126#endif
1127
1128/* Report a fatal error. */
1129#ifndef YY_FATAL_ERROR
1130#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1131#endif
1132
1133/* Default declaration of generated scanner - a define so the user can
1134 * easily add parameters.
1135 */
1136#ifndef YY_DECL
Reid Spencer6f407902007-01-13 05:00:46 +00001137#define YY_DECL int yylex YY_PROTO(( void ))
1138#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001139
Reid Spencer6f407902007-01-13 05:00:46 +00001140/* Code executed at the beginning of each rule, after yytext and yyleng
Reid Spencer68a24bd2005-08-27 18:50:39 +00001141 * have been set up.
1142 */
1143#ifndef YY_USER_ACTION
1144#define YY_USER_ACTION
1145#endif
1146
1147/* Code executed at the end of each rule. */
1148#ifndef YY_BREAK
1149#define YY_BREAK break;
1150#endif
1151
1152#define YY_RULE_SETUP \
1153 YY_USER_ACTION
1154
1155YY_DECL
Reid Spencer6f407902007-01-13 05:00:46 +00001156 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00001157 register yy_state_type yy_current_state;
Reid Spencer41dff5e2007-01-26 08:05:27 +00001158 register char *yy_cp, *yy_bp;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001159 register int yy_act;
Reid Spencer6f407902007-01-13 05:00:46 +00001160
Reid Spencer41dff5e2007-01-26 08:05:27 +00001161#line 188 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001162
1163
Reid Spencer41dff5e2007-01-26 08:05:27 +00001164#line 1161 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001165
Reid Spencer6f407902007-01-13 05:00:46 +00001166 if ( yy_init )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001167 {
Reid Spencer6f407902007-01-13 05:00:46 +00001168 yy_init = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001169
1170#ifdef YY_USER_INIT
1171 YY_USER_INIT;
1172#endif
1173
Reid Spencer6f407902007-01-13 05:00:46 +00001174 if ( ! yy_start )
1175 yy_start = 1; /* first start state */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001176
Reid Spencer6f407902007-01-13 05:00:46 +00001177 if ( ! yyin )
1178 yyin = stdin;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001179
Reid Spencer6f407902007-01-13 05:00:46 +00001180 if ( ! yyout )
1181 yyout = stdout;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001182
Reid Spencer6f407902007-01-13 05:00:46 +00001183 if ( ! yy_current_buffer )
1184 yy_current_buffer =
1185 yy_create_buffer( yyin, YY_BUF_SIZE );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001186
Reid Spencer6f407902007-01-13 05:00:46 +00001187 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00001188 }
1189
1190 while ( 1 ) /* loops until end-of-file is reached */
1191 {
Reid Spencer6f407902007-01-13 05:00:46 +00001192 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001193
Reid Spencer6f407902007-01-13 05:00:46 +00001194 /* Support of yytext. */
1195 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001196
1197 /* yy_bp points to the position in yy_ch_buf of the start of
1198 * the current run.
1199 */
1200 yy_bp = yy_cp;
1201
Reid Spencer6f407902007-01-13 05:00:46 +00001202 yy_current_state = yy_start;
1203 yy_state_ptr = yy_state_buf;
1204 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001205yy_match:
1206 do
1207 {
1208 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1209 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1210 {
1211 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencer41dff5e2007-01-26 08:05:27 +00001212 if ( yy_current_state >= 536 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001213 yy_c = yy_meta[(unsigned int) yy_c];
1214 }
1215 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencer6f407902007-01-13 05:00:46 +00001216 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001217 ++yy_cp;
1218 }
Reid Spencer41dff5e2007-01-26 08:05:27 +00001219 while ( yy_current_state != 535 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001220
1221yy_find_action:
Reid Spencer6f407902007-01-13 05:00:46 +00001222 yy_current_state = *--yy_state_ptr;
1223 yy_lp = yy_accept[yy_current_state];
1224find_rule: /* we branch to this label when backing up */
1225 for ( ; ; ) /* until we find what rule we matched */
1226 {
1227 if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
1228 {
1229 yy_act = yy_acclist[yy_lp];
1230 {
1231 yy_full_match = yy_cp;
1232 break;
1233 }
1234 }
1235 --yy_cp;
1236 yy_current_state = *--yy_state_ptr;
1237 yy_lp = yy_accept[yy_current_state];
1238 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001239
1240 YY_DO_BEFORE_ACTION;
1241
Reid Spencer6f407902007-01-13 05:00:46 +00001242 if ( yy_act != YY_END_OF_BUFFER )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001243 {
1244 int yyl;
Reid Spencer6f407902007-01-13 05:00:46 +00001245 for ( yyl = 0; yyl < yyleng; ++yyl )
1246 if ( yytext[yyl] == '\n' )
1247 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001248 }
1249
1250do_action: /* This label is used only to access EOF actions. */
1251
Reid Spencer6f407902007-01-13 05:00:46 +00001252
Reid Spencer68a24bd2005-08-27 18:50:39 +00001253 switch ( yy_act )
1254 { /* beginning of action switch */
1255case 1:
1256YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001257#line 190 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001258{ /* Ignore comments for now */ }
1259 YY_BREAK
1260case 2:
1261YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001262#line 192 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001263{ return BEGINTOK; }
1264 YY_BREAK
1265case 3:
1266YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001267#line 193 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001268{ return ENDTOK; }
1269 YY_BREAK
1270case 4:
1271YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001272#line 194 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001273{ return TRUETOK; }
1274 YY_BREAK
1275case 5:
1276YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001277#line 195 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001278{ return FALSETOK; }
1279 YY_BREAK
1280case 6:
1281YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001282#line 196 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001283{ return DECLARE; }
1284 YY_BREAK
1285case 7:
1286YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001287#line 197 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001288{ return DEFINE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001289 YY_BREAK
1290case 8:
1291YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001292#line 198 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001293{ return GLOBAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001294 YY_BREAK
1295case 9:
1296YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001297#line 199 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001298{ return CONSTANT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001299 YY_BREAK
1300case 10:
1301YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001302#line 200 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001303{ return INTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001304 YY_BREAK
1305case 11:
1306YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001307#line 201 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001308{ return LINKONCE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001309 YY_BREAK
1310case 12:
1311YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001312#line 202 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001313{ return WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001314 YY_BREAK
1315case 13:
1316YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001317#line 203 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001318{ return APPENDING; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001319 YY_BREAK
1320case 14:
1321YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001322#line 204 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001323{ return DLLIMPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001324 YY_BREAK
1325case 15:
1326YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001327#line 205 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001328{ return DLLEXPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001329 YY_BREAK
1330case 16:
1331YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001332#line 206 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001333{ return HIDDEN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001334 YY_BREAK
1335case 17:
1336YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001337#line 207 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001338{ return EXTERN_WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001339 YY_BREAK
1340case 18:
1341YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001342#line 208 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001343{ return EXTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001344 YY_BREAK
1345case 19:
1346YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001347#line 209 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001348{ return IMPLEMENTATION; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001349 YY_BREAK
1350case 20:
1351YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001352#line 210 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001353{ return ZEROINITIALIZER; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001354 YY_BREAK
1355case 21:
1356YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001357#line 211 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001358{ return DOTDOTDOT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001359 YY_BREAK
1360case 22:
1361YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001362#line 212 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001363{ return UNDEF; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001364 YY_BREAK
1365case 23:
1366YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001367#line 213 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001368{ return NULL_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001369 YY_BREAK
1370case 24:
1371YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001372#line 214 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001373{ return TO; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001374 YY_BREAK
1375case 25:
1376YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001377#line 215 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001378{ return TAIL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001379 YY_BREAK
1380case 26:
1381YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001382#line 216 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001383{ return TARGET; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001384 YY_BREAK
1385case 27:
1386YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001387#line 217 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001388{ return TRIPLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001389 YY_BREAK
1390case 28:
1391YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001392#line 218 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001393{ return DEPLIBS; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001394 YY_BREAK
1395case 29:
1396YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001397#line 219 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1398{ return DATALAYOUT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001399 YY_BREAK
1400case 30:
1401YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001402#line 220 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1403{ return VOLATILE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001404 YY_BREAK
1405case 31:
1406YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001407#line 221 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1408{ return ALIGN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001409 YY_BREAK
1410case 32:
1411YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001412#line 222 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1413{ return SECTION; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001414 YY_BREAK
1415case 33:
1416YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001417#line 223 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1418{ return MODULE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001419 YY_BREAK
1420case 34:
1421YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001422#line 224 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1423{ return ASM_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001424 YY_BREAK
1425case 35:
1426YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001427#line 225 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1428{ return SIDEEFFECT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001429 YY_BREAK
1430case 36:
1431YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001432#line 227 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1433{ return CC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001434 YY_BREAK
1435case 37:
1436YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001437#line 228 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1438{ return CCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001439 YY_BREAK
1440case 38:
1441YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001442#line 229 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1443{ return CSRETCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001444 YY_BREAK
1445case 39:
1446YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001447#line 230 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1448{ return FASTCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001449 YY_BREAK
1450case 40:
1451YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001452#line 231 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1453{ return COLDCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001454 YY_BREAK
1455case 41:
1456YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001457#line 232 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1458{ return X86_STDCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001459 YY_BREAK
1460case 42:
1461YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001462#line 233 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1463{ return X86_FASTCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001464 YY_BREAK
1465case 43:
1466YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001467#line 235 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1468{ RET_TY(Type::VoidTy, VOID); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001469 YY_BREAK
1470case 44:
1471YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001472#line 236 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1473{ RET_TY(Type::FloatTy, FLOAT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001474 YY_BREAK
1475case 45:
1476YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001477#line 237 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1478{ RET_TY(Type::DoubleTy,DOUBLE);}
Reid Spencer68a24bd2005-08-27 18:50:39 +00001479 YY_BREAK
1480case 46:
1481YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001482#line 238 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1483{ RET_TY(Type::LabelTy, LABEL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001484 YY_BREAK
1485case 47:
1486YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001487#line 239 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1488{ return TYPE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001489 YY_BREAK
1490case 48:
1491YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001492#line 240 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1493{ return OPAQUE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001494 YY_BREAK
1495case 49:
1496YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001497#line 241 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6f407902007-01-13 05:00:46 +00001498{ uint64_t NumBits = atoull(yytext+1);
Reid Spencera54b7cb2007-01-12 07:05:14 +00001499 if (NumBits < IntegerType::MIN_INT_BITS ||
1500 NumBits > IntegerType::MAX_INT_BITS)
1501 GenerateError("Bitwidth for integer type out of range!");
1502 const Type* Ty = IntegerType::get(NumBits);
1503 RET_TY(Ty, INTTYPE);
1504 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001505 YY_BREAK
Reid Spencer41dff5e2007-01-26 08:05:27 +00001506case 50:
1507YY_RULE_SETUP
1508#line 249 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1509{ RET_TOK(BinaryOpVal, Add, ADD); }
1510 YY_BREAK
1511case 51:
1512YY_RULE_SETUP
1513#line 250 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1514{ RET_TOK(BinaryOpVal, Sub, SUB); }
1515 YY_BREAK
1516case 52:
1517YY_RULE_SETUP
1518#line 251 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1519{ RET_TOK(BinaryOpVal, Mul, MUL); }
1520 YY_BREAK
1521case 53:
1522YY_RULE_SETUP
1523#line 252 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1524{ RET_TOK(BinaryOpVal, UDiv, UDIV); }
1525 YY_BREAK
Reid Spencer6f407902007-01-13 05:00:46 +00001526case 54:
1527YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001528#line 253 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1529{ RET_TOK(BinaryOpVal, SDiv, SDIV); }
Reid Spencer6f407902007-01-13 05:00:46 +00001530 YY_BREAK
Reid Spencer68a24bd2005-08-27 18:50:39 +00001531case 55:
1532YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001533#line 254 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1534{ RET_TOK(BinaryOpVal, FDiv, FDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001535 YY_BREAK
1536case 56:
1537YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001538#line 255 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1539{ RET_TOK(BinaryOpVal, URem, UREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001540 YY_BREAK
1541case 57:
1542YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001543#line 256 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1544{ RET_TOK(BinaryOpVal, SRem, SREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001545 YY_BREAK
1546case 58:
1547YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001548#line 257 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1549{ RET_TOK(BinaryOpVal, FRem, FREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001550 YY_BREAK
1551case 59:
1552YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001553#line 258 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1554{ RET_TOK(BinaryOpVal, And, AND); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001555 YY_BREAK
1556case 60:
1557YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001558#line 259 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1559{ RET_TOK(BinaryOpVal, Or , OR ); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001560 YY_BREAK
1561case 61:
1562YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001563#line 260 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1564{ RET_TOK(BinaryOpVal, Xor, XOR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001565 YY_BREAK
1566case 62:
1567YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001568#line 261 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1569{ RET_TOK(OtherOpVal, ICmp, ICMP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001570 YY_BREAK
1571case 63:
1572YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001573#line 262 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1574{ RET_TOK(OtherOpVal, FCmp, FCMP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001575 YY_BREAK
1576case 64:
1577YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001578#line 263 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1579{ return EQ; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001580 YY_BREAK
1581case 65:
1582YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001583#line 264 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1584{ return NE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001585 YY_BREAK
1586case 66:
1587YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001588#line 265 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1589{ return SLT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001590 YY_BREAK
1591case 67:
1592YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001593#line 266 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1594{ return SGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001595 YY_BREAK
1596case 68:
1597YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001598#line 267 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1599{ return SLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001600 YY_BREAK
1601case 69:
1602YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001603#line 268 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1604{ return SGE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001605 YY_BREAK
1606case 70:
1607YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001608#line 269 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1609{ return ULT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001610 YY_BREAK
1611case 71:
1612YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001613#line 270 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1614{ return UGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001615 YY_BREAK
1616case 72:
1617YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001618#line 271 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1619{ return ULE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001620 YY_BREAK
1621case 73:
1622YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001623#line 272 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1624{ return UGE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001625 YY_BREAK
1626case 74:
1627YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001628#line 273 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1629{ return OEQ; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001630 YY_BREAK
1631case 75:
1632YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001633#line 274 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1634{ return ONE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001635 YY_BREAK
1636case 76:
1637YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001638#line 275 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1639{ return OLT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001640 YY_BREAK
1641case 77:
1642YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001643#line 276 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1644{ return OGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001645 YY_BREAK
1646case 78:
1647YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001648#line 277 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1649{ return OLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001650 YY_BREAK
1651case 79:
1652YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001653#line 278 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1654{ return OGE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001655 YY_BREAK
1656case 80:
1657YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001658#line 279 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1659{ return ORD; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001660 YY_BREAK
1661case 81:
1662YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001663#line 280 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1664{ return UNO; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001665 YY_BREAK
1666case 82:
1667YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001668#line 281 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1669{ return UEQ; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001670 YY_BREAK
1671case 83:
1672YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001673#line 282 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1674{ return UNE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001675 YY_BREAK
1676case 84:
1677YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001678#line 284 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1679{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001680 YY_BREAK
1681case 85:
1682YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001683#line 285 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1684{ RET_TOK(OtherOpVal, Call, CALL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001685 YY_BREAK
1686case 86:
1687YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001688#line 286 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1689{ RET_TOK(CastOpVal, Trunc, TRUNC); }
Nate Begeman14b05292005-11-05 09:21:28 +00001690 YY_BREAK
1691case 87:
1692YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001693#line 287 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1694{ RET_TOK(CastOpVal, ZExt, ZEXT); }
Chris Lattnere869eef2005-11-12 00:11:49 +00001695 YY_BREAK
1696case 88:
1697YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001698#line 288 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1699{ RET_TOK(CastOpVal, SExt, SEXT); }
Robert Bocchino9c62b562006-01-10 19:04:32 +00001700 YY_BREAK
1701case 89:
1702YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001703#line 289 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1704{ RET_TOK(CastOpVal, FPTrunc, FPTRUNC); }
Robert Bocchino2def1b32006-01-17 20:06:25 +00001705 YY_BREAK
1706case 90:
1707YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001708#line 290 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1709{ RET_TOK(CastOpVal, FPExt, FPEXT); }
Chris Lattner8335e842006-01-23 23:05:42 +00001710 YY_BREAK
1711case 91:
1712YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001713#line 291 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1714{ RET_TOK(CastOpVal, UIToFP, UITOFP); }
Chris Lattner66316012006-01-24 04:14:29 +00001715 YY_BREAK
1716case 92:
1717YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001718#line 292 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1719{ RET_TOK(CastOpVal, SIToFP, SITOFP); }
Chris Lattner0e9c3762006-01-25 22:27:16 +00001720 YY_BREAK
1721case 93:
1722YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001723#line 293 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1724{ RET_TOK(CastOpVal, FPToUI, FPTOUI); }
Chris Lattnerd5efe842006-04-08 01:18:56 +00001725 YY_BREAK
1726case 94:
1727YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001728#line 294 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1729{ RET_TOK(CastOpVal, FPToSI, FPTOSI); }
Chris Lattner75466192006-05-19 21:28:53 +00001730 YY_BREAK
1731case 95:
1732YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001733#line 295 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1734{ RET_TOK(CastOpVal, IntToPtr, INTTOPTR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001735 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001736case 96:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001737YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001738#line 296 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1739{ RET_TOK(CastOpVal, PtrToInt, PTRTOINT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001740 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001741case 97:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001742YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001743#line 297 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1744{ RET_TOK(CastOpVal, BitCast, BITCAST); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001745 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001746case 98:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001747YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001748#line 298 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1749{ RET_TOK(OtherOpVal, Select, SELECT); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001750 YY_BREAK
1751case 99:
1752YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001753#line 299 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1754{ RET_TOK(OtherOpVal, Shl, SHL); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001755 YY_BREAK
1756case 100:
1757YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001758#line 300 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1759{ RET_TOK(OtherOpVal, LShr, LSHR); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001760 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001761case 101:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001762YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001763#line 301 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1764{ RET_TOK(OtherOpVal, AShr, ASHR); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001765 YY_BREAK
1766case 102:
1767YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001768#line 302 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1769{ RET_TOK(OtherOpVal, VAArg , VAARG); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001770 YY_BREAK
1771case 103:
1772YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001773#line 303 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1774{ RET_TOK(TermOpVal, Ret, RET); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001775 YY_BREAK
1776case 104:
1777YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001778#line 304 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1779{ RET_TOK(TermOpVal, Br, BR); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001780 YY_BREAK
1781case 105:
1782YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001783#line 305 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1784{ RET_TOK(TermOpVal, Switch, SWITCH); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001785 YY_BREAK
1786case 106:
1787YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001788#line 306 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1789{ RET_TOK(TermOpVal, Invoke, INVOKE); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001790 YY_BREAK
1791case 107:
1792YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001793#line 307 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1794{ RET_TOK(TermOpVal, Unwind, UNWIND); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001795 YY_BREAK
1796case 108:
1797YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001798#line 308 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1799{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001800 YY_BREAK
1801case 109:
1802YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001803#line 310 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1804{ RET_TOK(MemOpVal, Malloc, MALLOC); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001805 YY_BREAK
1806case 110:
1807YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001808#line 311 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1809{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001810 YY_BREAK
1811case 111:
1812YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001813#line 312 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1814{ RET_TOK(MemOpVal, Free, FREE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001815 YY_BREAK
1816case 112:
1817YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001818#line 313 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1819{ RET_TOK(MemOpVal, Load, LOAD); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001820 YY_BREAK
1821case 113:
1822YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001823#line 314 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1824{ RET_TOK(MemOpVal, Store, STORE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001825 YY_BREAK
1826case 114:
1827YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001828#line 315 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1829{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001830 YY_BREAK
1831case 115:
1832YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001833#line 317 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1834{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001835 YY_BREAK
1836case 116:
1837YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001838#line 318 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1839{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001840 YY_BREAK
1841case 117:
1842YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001843#line 319 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
1844{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001845 YY_BREAK
1846case 118:
1847YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001848#line 322 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6f407902007-01-13 05:00:46 +00001849{
1850 UnEscapeLexed(yytext+1);
1851 llvmAsmlval.StrVal = strdup(yytext+1); // Skip %
1852 return VAR_ID;
1853 }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001854 YY_BREAK
Reid Spencer41dff5e2007-01-26 08:05:27 +00001855case 119:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001856YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001857#line 327 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001858{
Reid Spencer6f407902007-01-13 05:00:46 +00001859 yytext[strlen(yytext)-1] = 0; // nuke colon
1860 UnEscapeLexed(yytext);
1861 llvmAsmlval.StrVal = strdup(yytext);
1862 return LABELSTR;
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001863 }
1864 YY_BREAK
Reid Spencer41dff5e2007-01-26 08:05:27 +00001865case 120:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001866YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001867#line 333 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001868{
Reid Spencer6f407902007-01-13 05:00:46 +00001869 yytext[strlen(yytext)-2] = 0; // nuke colon, end quote
1870 UnEscapeLexed(yytext+1);
1871 llvmAsmlval.StrVal = strdup(yytext+1);
Owen Anderson1dc69692006-10-18 02:21:48 +00001872 return LABELSTR;
1873 }
1874 YY_BREAK
Reid Spencer41dff5e2007-01-26 08:05:27 +00001875case 121:
Owen Anderson1dc69692006-10-18 02:21:48 +00001876YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001877#line 340 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001878{ // Note that we cannot unescape a string constant here! The
1879 // string constant might contain a \00 which would not be
1880 // understood by the string stuff. It is valid to make a
1881 // [sbyte] c"Hello World\00" constant, for example.
1882 //
Reid Spencer6f407902007-01-13 05:00:46 +00001883 yytext[strlen(yytext)-1] = 0; // nuke end quote
1884 llvmAsmlval.StrVal = strdup(yytext+1); // Nuke start quote
Reid Spencer68a24bd2005-08-27 18:50:39 +00001885 return STRINGCONSTANT;
1886 }
1887 YY_BREAK
Reid Spencer41dff5e2007-01-26 08:05:27 +00001888case 122:
Reid Spencer6f407902007-01-13 05:00:46 +00001889YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001890#line 351 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6f407902007-01-13 05:00:46 +00001891{ llvmAsmlval.UInt64Val = atoull(yytext); return EUINT64VAL; }
1892 YY_BREAK
Reid Spencer41dff5e2007-01-26 08:05:27 +00001893case 123:
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001894YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001895#line 352 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001896{
Reid Spencer6f407902007-01-13 05:00:46 +00001897 uint64_t Val = atoull(yytext+1);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001898 // +1: we have bigger negative range
1899 if (Val > (uint64_t)INT64_MAX+1)
Reid Spencer61c83e02006-08-18 08:43:06 +00001900 GenerateError("Constant too large for signed 64 bits!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001901 llvmAsmlval.SInt64Val = -Val;
1902 return ESINT64VAL;
1903 }
1904 YY_BREAK
Reid Spencer41dff5e2007-01-26 08:05:27 +00001905case 124:
Owen Anderson1dc69692006-10-18 02:21:48 +00001906YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001907#line 360 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001908{
Reid Spencer6f407902007-01-13 05:00:46 +00001909 llvmAsmlval.UInt64Val = HexIntToVal(yytext+3);
1910 return yytext[0] == 's' ? ESINT64VAL : EUINT64VAL;
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001911 }
1912 YY_BREAK
Reid Spencer41dff5e2007-01-26 08:05:27 +00001913case 125:
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001914YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001915#line 365 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001916{
Reid Spencer6f407902007-01-13 05:00:46 +00001917 uint64_t Val = atoull(yytext+1);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001918 if ((unsigned)Val != Val)
Reid Spencer61c83e02006-08-18 08:43:06 +00001919 GenerateError("Invalid value number (too large)!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001920 llvmAsmlval.UIntVal = unsigned(Val);
1921 return UINTVAL;
1922 }
1923 YY_BREAK
Reid Spencer41dff5e2007-01-26 08:05:27 +00001924case 126:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001925YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001926#line 372 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001927{
Reid Spencer6f407902007-01-13 05:00:46 +00001928 uint64_t Val = atoull(yytext+2);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001929 // +1: we have bigger negative range
1930 if (Val > (uint64_t)INT32_MAX+1)
Reid Spencer61c83e02006-08-18 08:43:06 +00001931 GenerateError("Constant too large for signed 32 bits!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001932 llvmAsmlval.SIntVal = (int)-Val;
1933 return SINTVAL;
1934 }
1935 YY_BREAK
Reid Spencer41dff5e2007-01-26 08:05:27 +00001936case 127:
Reid Spencer6f407902007-01-13 05:00:46 +00001937YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001938#line 381 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6f407902007-01-13 05:00:46 +00001939{ llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
1940 YY_BREAK
Reid Spencer41dff5e2007-01-26 08:05:27 +00001941case 128:
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001942YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001943#line 382 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6f407902007-01-13 05:00:46 +00001944{ llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001945 YY_BREAK
1946case YY_STATE_EOF(INITIAL):
Reid Spencer41dff5e2007-01-26 08:05:27 +00001947#line 384 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001948{
1949 /* Make sure to free the internal buffers for flex when we are
1950 * done reading our input!
1951 */
Reid Spencer6f407902007-01-13 05:00:46 +00001952 yy_delete_buffer(YY_CURRENT_BUFFER);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001953 return EOF;
1954 }
1955 YY_BREAK
Reid Spencer41dff5e2007-01-26 08:05:27 +00001956case 129:
Owen Anderson1dc69692006-10-18 02:21:48 +00001957YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001958#line 392 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001959{ /* Ignore whitespace */ }
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001960 YY_BREAK
Reid Spencer41dff5e2007-01-26 08:05:27 +00001961case 130:
Reid Spencer6f407902007-01-13 05:00:46 +00001962YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001963#line 393 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6f407902007-01-13 05:00:46 +00001964{ return yytext[0]; }
1965 YY_BREAK
Reid Spencer41dff5e2007-01-26 08:05:27 +00001966case 131:
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001967YY_RULE_SETUP
Reid Spencer41dff5e2007-01-26 08:05:27 +00001968#line 395 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001969YY_FATAL_ERROR( "flex scanner jammed" );
1970 YY_BREAK
Reid Spencer41dff5e2007-01-26 08:05:27 +00001971#line 1968 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001972
1973 case YY_END_OF_BUFFER:
1974 {
1975 /* Amount of text matched not including the EOB char. */
Reid Spencer6f407902007-01-13 05:00:46 +00001976 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001977
1978 /* Undo the effects of YY_DO_BEFORE_ACTION. */
Reid Spencer6f407902007-01-13 05:00:46 +00001979 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001980 YY_RESTORE_YY_MORE_OFFSET
1981
Reid Spencer6f407902007-01-13 05:00:46 +00001982 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001983 {
1984 /* We're scanning a new file or input source. It's
1985 * possible that this happened because the user
Reid Spencer6f407902007-01-13 05:00:46 +00001986 * just pointed yyin at a new source and called
1987 * yylex(). If so, then we have to assure
1988 * consistency between yy_current_buffer and our
Reid Spencer68a24bd2005-08-27 18:50:39 +00001989 * globals. Here is the right place to do so, because
1990 * this is the first action (other than possibly a
1991 * back-up) that will match for the new input source.
1992 */
Reid Spencer6f407902007-01-13 05:00:46 +00001993 yy_n_chars = yy_current_buffer->yy_n_chars;
1994 yy_current_buffer->yy_input_file = yyin;
1995 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001996 }
1997
1998 /* Note that here we test for yy_c_buf_p "<=" to the position
1999 * of the first EOB in the buffer, since yy_c_buf_p will
2000 * already have been incremented past the NUL character
2001 * (since all states make transitions on EOB to the
2002 * end-of-buffer state). Contrast this with the test
2003 * in input().
2004 */
Reid Spencer6f407902007-01-13 05:00:46 +00002005 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002006 { /* This was really a NUL. */
2007 yy_state_type yy_next_state;
2008
Reid Spencer6f407902007-01-13 05:00:46 +00002009 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002010
Reid Spencer6f407902007-01-13 05:00:46 +00002011 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002012
2013 /* Okay, we're now positioned to make the NUL
2014 * transition. We couldn't have
2015 * yy_get_previous_state() go ahead and do it
2016 * for us because it doesn't know how to deal
2017 * with the possibility of jamming (and we don't
2018 * want to build jamming into it because then it
2019 * will run more slowly).
2020 */
2021
2022 yy_next_state = yy_try_NUL_trans( yy_current_state );
2023
Reid Spencer6f407902007-01-13 05:00:46 +00002024 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002025
2026 if ( yy_next_state )
2027 {
2028 /* Consume the NUL. */
Reid Spencer6f407902007-01-13 05:00:46 +00002029 yy_cp = ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002030 yy_current_state = yy_next_state;
2031 goto yy_match;
2032 }
2033
2034 else
2035 {
Reid Spencer6f407902007-01-13 05:00:46 +00002036 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002037 goto yy_find_action;
2038 }
2039 }
2040
Reid Spencer6f407902007-01-13 05:00:46 +00002041 else switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002042 {
2043 case EOB_ACT_END_OF_FILE:
2044 {
Reid Spencer6f407902007-01-13 05:00:46 +00002045 yy_did_buffer_switch_on_eof = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002046
Reid Spencer6f407902007-01-13 05:00:46 +00002047 if ( yywrap() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002048 {
2049 /* Note: because we've taken care in
2050 * yy_get_next_buffer() to have set up
Reid Spencer6f407902007-01-13 05:00:46 +00002051 * yytext, we can now set up
Reid Spencer68a24bd2005-08-27 18:50:39 +00002052 * yy_c_buf_p so that if some total
2053 * hoser (like flex itself) wants to
2054 * call the scanner after we return the
2055 * YY_NULL, it'll still work - another
2056 * YY_NULL will get returned.
2057 */
Reid Spencer6f407902007-01-13 05:00:46 +00002058 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002059
2060 yy_act = YY_STATE_EOF(YY_START);
2061 goto do_action;
2062 }
2063
2064 else
2065 {
Reid Spencer6f407902007-01-13 05:00:46 +00002066 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002067 YY_NEW_FILE;
2068 }
2069 break;
2070 }
2071
2072 case EOB_ACT_CONTINUE_SCAN:
Reid Spencer6f407902007-01-13 05:00:46 +00002073 yy_c_buf_p =
2074 yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002075
Reid Spencer6f407902007-01-13 05:00:46 +00002076 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002077
Reid Spencer6f407902007-01-13 05:00:46 +00002078 yy_cp = yy_c_buf_p;
2079 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002080 goto yy_match;
2081
2082 case EOB_ACT_LAST_MATCH:
Reid Spencer6f407902007-01-13 05:00:46 +00002083 yy_c_buf_p =
2084 &yy_current_buffer->yy_ch_buf[yy_n_chars];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002085
Reid Spencer6f407902007-01-13 05:00:46 +00002086 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002087
Reid Spencer6f407902007-01-13 05:00:46 +00002088 yy_cp = yy_c_buf_p;
2089 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002090 goto yy_find_action;
2091 }
2092 break;
2093 }
2094
2095 default:
2096 YY_FATAL_ERROR(
2097 "fatal flex scanner internal error--no action found" );
2098 } /* end of action switch */
2099 } /* end of scanning one token */
Reid Spencer6f407902007-01-13 05:00:46 +00002100 } /* end of yylex */
2101
Reid Spencer68a24bd2005-08-27 18:50:39 +00002102
2103/* yy_get_next_buffer - try to read in a new buffer
2104 *
2105 * Returns a code representing an action:
2106 * EOB_ACT_LAST_MATCH -
2107 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2108 * EOB_ACT_END_OF_FILE - end of file
2109 */
Reid Spencer6f407902007-01-13 05:00:46 +00002110
2111static int yy_get_next_buffer()
2112 {
2113 register char *dest = yy_current_buffer->yy_ch_buf;
2114 register char *source = yytext_ptr;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002115 register int number_to_move, i;
2116 int ret_val;
2117
Reid Spencer6f407902007-01-13 05:00:46 +00002118 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002119 YY_FATAL_ERROR(
2120 "fatal flex scanner internal error--end of buffer missed" );
2121
Reid Spencer6f407902007-01-13 05:00:46 +00002122 if ( yy_current_buffer->yy_fill_buffer == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002123 { /* Don't try to fill the buffer, so this is an EOF. */
Reid Spencer6f407902007-01-13 05:00:46 +00002124 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002125 {
2126 /* We matched a single character, the EOB, so
2127 * treat this as a final EOF.
2128 */
2129 return EOB_ACT_END_OF_FILE;
2130 }
2131
2132 else
2133 {
2134 /* We matched some text prior to the EOB, first
2135 * process it.
2136 */
2137 return EOB_ACT_LAST_MATCH;
2138 }
2139 }
2140
2141 /* Try to read more data. */
2142
2143 /* First move last chars to start of buffer. */
Reid Spencer6f407902007-01-13 05:00:46 +00002144 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002145
2146 for ( i = 0; i < number_to_move; ++i )
2147 *(dest++) = *(source++);
2148
Reid Spencer6f407902007-01-13 05:00:46 +00002149 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002150 /* don't do the read, it's not guaranteed to return an EOF,
2151 * just force an EOF
2152 */
Reid Spencer6f407902007-01-13 05:00:46 +00002153 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002154
2155 else
2156 {
Reid Spencer6f407902007-01-13 05:00:46 +00002157 int num_to_read =
2158 yy_current_buffer->yy_buf_size - number_to_move - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002159
2160 while ( num_to_read <= 0 )
2161 { /* Not enough room in the buffer - grow it. */
Reid Spencer6f407902007-01-13 05:00:46 +00002162#ifdef YY_USES_REJECT
2163 YY_FATAL_ERROR(
2164"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
2165#else
Reid Spencer68a24bd2005-08-27 18:50:39 +00002166
2167 /* just a shorter name for the current buffer */
Reid Spencer6f407902007-01-13 05:00:46 +00002168 YY_BUFFER_STATE b = yy_current_buffer;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002169
2170 int yy_c_buf_p_offset =
Reid Spencer6f407902007-01-13 05:00:46 +00002171 (int) (yy_c_buf_p - b->yy_ch_buf);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002172
2173 if ( b->yy_is_our_buffer )
2174 {
2175 int new_size = b->yy_buf_size * 2;
2176
2177 if ( new_size <= 0 )
2178 b->yy_buf_size += b->yy_buf_size / 8;
2179 else
2180 b->yy_buf_size *= 2;
2181
2182 b->yy_ch_buf = (char *)
2183 /* Include room in for 2 EOB chars. */
Reid Spencer6f407902007-01-13 05:00:46 +00002184 yy_flex_realloc( (void *) b->yy_ch_buf,
2185 b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002186 }
2187 else
2188 /* Can't grow it, we don't own it. */
2189 b->yy_ch_buf = 0;
2190
2191 if ( ! b->yy_ch_buf )
2192 YY_FATAL_ERROR(
2193 "fatal error - scanner input buffer overflow" );
2194
Reid Spencer6f407902007-01-13 05:00:46 +00002195 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002196
Reid Spencer6f407902007-01-13 05:00:46 +00002197 num_to_read = yy_current_buffer->yy_buf_size -
Reid Spencer68a24bd2005-08-27 18:50:39 +00002198 number_to_move - 1;
Reid Spencer6f407902007-01-13 05:00:46 +00002199#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002200 }
2201
2202 if ( num_to_read > YY_READ_BUF_SIZE )
2203 num_to_read = YY_READ_BUF_SIZE;
2204
2205 /* Read in more data. */
Reid Spencer6f407902007-01-13 05:00:46 +00002206 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
2207 yy_n_chars, num_to_read );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002208
Reid Spencer6f407902007-01-13 05:00:46 +00002209 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002210 }
2211
Reid Spencer6f407902007-01-13 05:00:46 +00002212 if ( yy_n_chars == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002213 {
2214 if ( number_to_move == YY_MORE_ADJ )
2215 {
2216 ret_val = EOB_ACT_END_OF_FILE;
Reid Spencer6f407902007-01-13 05:00:46 +00002217 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002218 }
2219
2220 else
2221 {
2222 ret_val = EOB_ACT_LAST_MATCH;
Reid Spencer6f407902007-01-13 05:00:46 +00002223 yy_current_buffer->yy_buffer_status =
Reid Spencer68a24bd2005-08-27 18:50:39 +00002224 YY_BUFFER_EOF_PENDING;
2225 }
2226 }
2227
2228 else
2229 ret_val = EOB_ACT_CONTINUE_SCAN;
2230
Reid Spencer6f407902007-01-13 05:00:46 +00002231 yy_n_chars += number_to_move;
2232 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2233 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002234
Reid Spencer6f407902007-01-13 05:00:46 +00002235 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002236
2237 return ret_val;
Reid Spencer6f407902007-01-13 05:00:46 +00002238 }
2239
Reid Spencer68a24bd2005-08-27 18:50:39 +00002240
2241/* yy_get_previous_state - get the state just before the EOB char was reached */
2242
Reid Spencer6f407902007-01-13 05:00:46 +00002243static yy_state_type yy_get_previous_state()
2244 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002245 register yy_state_type yy_current_state;
2246 register char *yy_cp;
2247
Reid Spencer6f407902007-01-13 05:00:46 +00002248 yy_current_state = yy_start;
2249 yy_state_ptr = yy_state_buf;
2250 *yy_state_ptr++ = yy_current_state;
2251
2252 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002253 {
2254 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2255 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2256 {
2257 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencer41dff5e2007-01-26 08:05:27 +00002258 if ( yy_current_state >= 536 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002259 yy_c = yy_meta[(unsigned int) yy_c];
2260 }
2261 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencer6f407902007-01-13 05:00:46 +00002262 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002263 }
2264
2265 return yy_current_state;
Reid Spencer6f407902007-01-13 05:00:46 +00002266 }
2267
Reid Spencer68a24bd2005-08-27 18:50:39 +00002268
2269/* yy_try_NUL_trans - try to make a transition on the NUL character
2270 *
2271 * synopsis
2272 * next_state = yy_try_NUL_trans( current_state );
2273 */
Reid Spencer6f407902007-01-13 05:00:46 +00002274
2275#ifdef YY_USE_PROTOS
2276static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
2277#else
2278static yy_state_type yy_try_NUL_trans( yy_current_state )
2279yy_state_type yy_current_state;
2280#endif
2281 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002282 register int yy_is_jam;
2283
2284 register YY_CHAR yy_c = 1;
2285 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2286 {
2287 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencer41dff5e2007-01-26 08:05:27 +00002288 if ( yy_current_state >= 536 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002289 yy_c = yy_meta[(unsigned int) yy_c];
2290 }
2291 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencer41dff5e2007-01-26 08:05:27 +00002292 yy_is_jam = (yy_current_state == 535);
Reid Spencer6f407902007-01-13 05:00:46 +00002293 if ( ! yy_is_jam )
2294 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002295
2296 return yy_is_jam ? 0 : yy_current_state;
Reid Spencer6f407902007-01-13 05:00:46 +00002297 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002298
2299
Reid Spencer6f407902007-01-13 05:00:46 +00002300#ifndef YY_NO_UNPUT
2301#ifdef YY_USE_PROTOS
2302static inline void yyunput( int c, register char *yy_bp )
2303#else
2304static inline void yyunput( c, yy_bp )
2305int c;
2306register char *yy_bp;
2307#endif
2308 {
2309 register char *yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002310
Reid Spencer6f407902007-01-13 05:00:46 +00002311 /* undo effects of setting up yytext */
2312 *yy_cp = yy_hold_char;
2313
2314 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002315 { /* need to shift things up to make room */
2316 /* +2 for EOB chars. */
Reid Spencer6f407902007-01-13 05:00:46 +00002317 register int number_to_move = yy_n_chars + 2;
2318 register char *dest = &yy_current_buffer->yy_ch_buf[
2319 yy_current_buffer->yy_buf_size + 2];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002320 register char *source =
Reid Spencer6f407902007-01-13 05:00:46 +00002321 &yy_current_buffer->yy_ch_buf[number_to_move];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002322
Reid Spencer6f407902007-01-13 05:00:46 +00002323 while ( source > yy_current_buffer->yy_ch_buf )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002324 *--dest = *--source;
2325
2326 yy_cp += (int) (dest - source);
2327 yy_bp += (int) (dest - source);
Reid Spencer6f407902007-01-13 05:00:46 +00002328 yy_current_buffer->yy_n_chars =
2329 yy_n_chars = yy_current_buffer->yy_buf_size;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002330
Reid Spencer6f407902007-01-13 05:00:46 +00002331 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002332 YY_FATAL_ERROR( "flex scanner push-back overflow" );
2333 }
2334
2335 *--yy_cp = (char) c;
2336
Reid Spencer6f407902007-01-13 05:00:46 +00002337 if ( c == '\n' )
2338 --yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002339
Reid Spencer6f407902007-01-13 05:00:46 +00002340 yytext_ptr = yy_bp;
2341 yy_hold_char = *yy_cp;
2342 yy_c_buf_p = yy_cp;
2343 }
2344#endif /* ifndef YY_NO_UNPUT */
2345
Owen Anderson1dc69692006-10-18 02:21:48 +00002346
Reid Spencer68a24bd2005-08-27 18:50:39 +00002347#ifdef __cplusplus
Reid Spencer6f407902007-01-13 05:00:46 +00002348static int yyinput()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002349#else
Reid Spencer6f407902007-01-13 05:00:46 +00002350static int input()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002351#endif
Reid Spencer6f407902007-01-13 05:00:46 +00002352 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002353 int c;
2354
Reid Spencer6f407902007-01-13 05:00:46 +00002355 *yy_c_buf_p = yy_hold_char;
2356
2357 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002358 {
2359 /* yy_c_buf_p now points to the character we want to return.
2360 * If this occurs *before* the EOB characters, then it's a
2361 * valid NUL; if not, then we've hit the end of the buffer.
2362 */
Reid Spencer6f407902007-01-13 05:00:46 +00002363 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002364 /* This was really a NUL. */
Reid Spencer6f407902007-01-13 05:00:46 +00002365 *yy_c_buf_p = '\0';
Reid Spencer68a24bd2005-08-27 18:50:39 +00002366
2367 else
2368 { /* need more input */
Reid Spencer6f407902007-01-13 05:00:46 +00002369 int offset = yy_c_buf_p - yytext_ptr;
2370 ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002371
Reid Spencer6f407902007-01-13 05:00:46 +00002372 switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002373 {
2374 case EOB_ACT_LAST_MATCH:
2375 /* This happens because yy_g_n_b()
2376 * sees that we've accumulated a
2377 * token and flags that we need to
2378 * try matching the token before
2379 * proceeding. But for input(),
2380 * there's no matching to consider.
2381 * So convert the EOB_ACT_LAST_MATCH
2382 * to EOB_ACT_END_OF_FILE.
2383 */
2384
2385 /* Reset buffer status. */
Reid Spencer6f407902007-01-13 05:00:46 +00002386 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002387
Reid Spencer6f407902007-01-13 05:00:46 +00002388 /* fall through */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002389
2390 case EOB_ACT_END_OF_FILE:
2391 {
Reid Spencer6f407902007-01-13 05:00:46 +00002392 if ( yywrap() )
Reid Spencer61c83e02006-08-18 08:43:06 +00002393 return EOF;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002394
Reid Spencer6f407902007-01-13 05:00:46 +00002395 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002396 YY_NEW_FILE;
2397#ifdef __cplusplus
2398 return yyinput();
2399#else
2400 return input();
2401#endif
2402 }
2403
2404 case EOB_ACT_CONTINUE_SCAN:
Reid Spencer6f407902007-01-13 05:00:46 +00002405 yy_c_buf_p = yytext_ptr + offset;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002406 break;
2407 }
2408 }
2409 }
2410
Reid Spencer6f407902007-01-13 05:00:46 +00002411 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
2412 *yy_c_buf_p = '\0'; /* preserve yytext */
2413 yy_hold_char = *++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002414
2415 if ( c == '\n' )
Reid Spencer6f407902007-01-13 05:00:46 +00002416 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002417
2418 return c;
Reid Spencer6f407902007-01-13 05:00:46 +00002419 }
Reid Spencer41dff5e2007-01-26 08:05:27 +00002420
Reid Spencer68a24bd2005-08-27 18:50:39 +00002421
Reid Spencer6f407902007-01-13 05:00:46 +00002422#ifdef YY_USE_PROTOS
2423void yyrestart( FILE *input_file )
2424#else
2425void yyrestart( input_file )
2426FILE *input_file;
2427#endif
2428 {
2429 if ( ! yy_current_buffer )
2430 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
2431
2432 yy_init_buffer( yy_current_buffer, input_file );
2433 yy_load_buffer_state();
Owen Anderson1dc69692006-10-18 02:21:48 +00002434 }
2435
2436
Reid Spencer6f407902007-01-13 05:00:46 +00002437#ifdef YY_USE_PROTOS
2438void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
2439#else
2440void yy_switch_to_buffer( new_buffer )
2441YY_BUFFER_STATE new_buffer;
2442#endif
2443 {
2444 if ( yy_current_buffer == new_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002445 return;
2446
Reid Spencer6f407902007-01-13 05:00:46 +00002447 if ( yy_current_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002448 {
2449 /* Flush out information for old buffer. */
Reid Spencer6f407902007-01-13 05:00:46 +00002450 *yy_c_buf_p = yy_hold_char;
2451 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
2452 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002453 }
2454
Reid Spencer6f407902007-01-13 05:00:46 +00002455 yy_current_buffer = new_buffer;
2456 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002457
2458 /* We don't actually know whether we did this switch during
Reid Spencer6f407902007-01-13 05:00:46 +00002459 * EOF (yywrap()) processing, but the only time this flag
2460 * is looked at is after yywrap() is called, so it's safe
Reid Spencer68a24bd2005-08-27 18:50:39 +00002461 * to go ahead and always set it.
2462 */
Reid Spencer6f407902007-01-13 05:00:46 +00002463 yy_did_buffer_switch_on_eof = 1;
2464 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002465
2466
Reid Spencer6f407902007-01-13 05:00:46 +00002467#ifdef YY_USE_PROTOS
2468void yy_load_buffer_state( void )
2469#else
2470void yy_load_buffer_state()
2471#endif
2472 {
2473 yy_n_chars = yy_current_buffer->yy_n_chars;
2474 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
2475 yyin = yy_current_buffer->yy_input_file;
2476 yy_hold_char = *yy_c_buf_p;
2477 }
2478
2479
2480#ifdef YY_USE_PROTOS
2481YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
2482#else
2483YY_BUFFER_STATE yy_create_buffer( file, size )
2484FILE *file;
2485int size;
2486#endif
2487 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002488 YY_BUFFER_STATE b;
Reid Spencer6f407902007-01-13 05:00:46 +00002489
2490 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002491 if ( ! b )
Reid Spencer6f407902007-01-13 05:00:46 +00002492 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002493
2494 b->yy_buf_size = size;
2495
2496 /* yy_ch_buf has to be 2 characters longer than the size given because
2497 * we need to put in 2 end-of-buffer characters.
2498 */
Reid Spencer6f407902007-01-13 05:00:46 +00002499 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002500 if ( ! b->yy_ch_buf )
Reid Spencer6f407902007-01-13 05:00:46 +00002501 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002502
2503 b->yy_is_our_buffer = 1;
2504
Reid Spencer6f407902007-01-13 05:00:46 +00002505 yy_init_buffer( b, file );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002506
2507 return b;
Reid Spencer6f407902007-01-13 05:00:46 +00002508 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002509
Reid Spencer6f407902007-01-13 05:00:46 +00002510
2511#ifdef YY_USE_PROTOS
2512void yy_delete_buffer( YY_BUFFER_STATE b )
2513#else
2514void yy_delete_buffer( b )
2515YY_BUFFER_STATE b;
2516#endif
2517 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002518 if ( ! b )
2519 return;
2520
Reid Spencer6f407902007-01-13 05:00:46 +00002521 if ( b == yy_current_buffer )
2522 yy_current_buffer = (YY_BUFFER_STATE) 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002523
2524 if ( b->yy_is_our_buffer )
Reid Spencer6f407902007-01-13 05:00:46 +00002525 yy_flex_free( (void *) b->yy_ch_buf );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002526
Reid Spencer6f407902007-01-13 05:00:46 +00002527 yy_flex_free( (void *) b );
2528 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002529
2530
Reid Spencer41dff5e2007-01-26 08:05:27 +00002531#ifndef YY_ALWAYS_INTERACTIVE
2532#ifndef YY_NEVER_INTERACTIVE
2533extern int isatty YY_PROTO(( int ));
2534#endif
2535#endif
Reid Spencer6f407902007-01-13 05:00:46 +00002536
2537#ifdef YY_USE_PROTOS
2538void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
2539#else
2540void yy_init_buffer( b, file )
2541YY_BUFFER_STATE b;
2542FILE *file;
2543#endif
2544
2545
2546 {
2547 yy_flush_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002548
2549 b->yy_input_file = file;
2550 b->yy_fill_buffer = 1;
2551
Reid Spencer6f407902007-01-13 05:00:46 +00002552#if YY_ALWAYS_INTERACTIVE
2553 b->yy_is_interactive = 1;
2554#else
2555#if YY_NEVER_INTERACTIVE
2556 b->yy_is_interactive = 0;
2557#else
2558 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
2559#endif
2560#endif
2561 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002562
2563
Reid Spencer6f407902007-01-13 05:00:46 +00002564#ifdef YY_USE_PROTOS
2565void yy_flush_buffer( YY_BUFFER_STATE b )
2566#else
2567void yy_flush_buffer( b )
2568YY_BUFFER_STATE b;
2569#endif
2570
2571 {
2572 if ( ! b )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002573 return;
2574
2575 b->yy_n_chars = 0;
2576
2577 /* We always need two end-of-buffer characters. The first causes
2578 * a transition to the end-of-buffer state. The second causes
2579 * a jam in that state.
2580 */
2581 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2582 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2583
2584 b->yy_buf_pos = &b->yy_ch_buf[0];
2585
2586 b->yy_at_bol = 1;
2587 b->yy_buffer_status = YY_BUFFER_NEW;
2588
Reid Spencer6f407902007-01-13 05:00:46 +00002589 if ( b == yy_current_buffer )
2590 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002591 }
2592
2593
Reid Spencer6f407902007-01-13 05:00:46 +00002594#ifndef YY_NO_SCAN_BUFFER
2595#ifdef YY_USE_PROTOS
2596YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
2597#else
2598YY_BUFFER_STATE yy_scan_buffer( base, size )
2599char *base;
2600yy_size_t size;
2601#endif
2602 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002603 YY_BUFFER_STATE b;
Reid Spencer6f407902007-01-13 05:00:46 +00002604
Reid Spencer68a24bd2005-08-27 18:50:39 +00002605 if ( size < 2 ||
2606 base[size-2] != YY_END_OF_BUFFER_CHAR ||
2607 base[size-1] != YY_END_OF_BUFFER_CHAR )
2608 /* They forgot to leave room for the EOB's. */
2609 return 0;
2610
Reid Spencer6f407902007-01-13 05:00:46 +00002611 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002612 if ( ! b )
Reid Spencer6f407902007-01-13 05:00:46 +00002613 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002614
2615 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2616 b->yy_buf_pos = b->yy_ch_buf = base;
2617 b->yy_is_our_buffer = 0;
2618 b->yy_input_file = 0;
2619 b->yy_n_chars = b->yy_buf_size;
2620 b->yy_is_interactive = 0;
2621 b->yy_at_bol = 1;
2622 b->yy_fill_buffer = 0;
2623 b->yy_buffer_status = YY_BUFFER_NEW;
2624
Reid Spencer6f407902007-01-13 05:00:46 +00002625 yy_switch_to_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002626
2627 return b;
Reid Spencer6f407902007-01-13 05:00:46 +00002628 }
2629#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002630
2631
Reid Spencer6f407902007-01-13 05:00:46 +00002632#ifndef YY_NO_SCAN_STRING
2633#ifdef YY_USE_PROTOS
2634YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
2635#else
2636YY_BUFFER_STATE yy_scan_string( yy_str )
2637yyconst char *yy_str;
2638#endif
2639 {
2640 int len;
2641 for ( len = 0; yy_str[len]; ++len )
2642 ;
2643
2644 return yy_scan_bytes( yy_str, len );
2645 }
2646#endif
2647
2648
2649#ifndef YY_NO_SCAN_BYTES
2650#ifdef YY_USE_PROTOS
2651YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
2652#else
2653YY_BUFFER_STATE yy_scan_bytes( bytes, len )
2654yyconst char *bytes;
2655int len;
2656#endif
2657 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002658 YY_BUFFER_STATE b;
2659 char *buf;
2660 yy_size_t n;
2661 int i;
Reid Spencer6f407902007-01-13 05:00:46 +00002662
Reid Spencer68a24bd2005-08-27 18:50:39 +00002663 /* Get memory for full buffer, including space for trailing EOB's. */
Reid Spencer6f407902007-01-13 05:00:46 +00002664 n = len + 2;
2665 buf = (char *) yy_flex_alloc( n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002666 if ( ! buf )
Reid Spencer6f407902007-01-13 05:00:46 +00002667 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002668
Reid Spencer6f407902007-01-13 05:00:46 +00002669 for ( i = 0; i < len; ++i )
2670 buf[i] = bytes[i];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002671
Reid Spencer6f407902007-01-13 05:00:46 +00002672 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002673
Reid Spencer6f407902007-01-13 05:00:46 +00002674 b = yy_scan_buffer( buf, n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002675 if ( ! b )
Reid Spencer6f407902007-01-13 05:00:46 +00002676 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002677
2678 /* It's okay to grow etc. this buffer, and we should throw it
2679 * away when we're done.
2680 */
2681 b->yy_is_our_buffer = 1;
2682
2683 return b;
Reid Spencer6f407902007-01-13 05:00:46 +00002684 }
2685#endif
2686
2687
2688#ifndef YY_NO_PUSH_STATE
2689#ifdef YY_USE_PROTOS
2690static void yy_push_state( int new_state )
2691#else
2692static void yy_push_state( new_state )
2693int new_state;
2694#endif
2695 {
2696 if ( yy_start_stack_ptr >= yy_start_stack_depth )
2697 {
2698 yy_size_t new_size;
2699
2700 yy_start_stack_depth += YY_START_STACK_INCR;
2701 new_size = yy_start_stack_depth * sizeof( int );
2702
2703 if ( ! yy_start_stack )
2704 yy_start_stack = (int *) yy_flex_alloc( new_size );
2705
2706 else
2707 yy_start_stack = (int *) yy_flex_realloc(
2708 (void *) yy_start_stack, new_size );
2709
2710 if ( ! yy_start_stack )
2711 YY_FATAL_ERROR(
2712 "out of memory expanding start-condition stack" );
2713 }
2714
2715 yy_start_stack[yy_start_stack_ptr++] = YY_START;
2716
2717 BEGIN(new_state);
2718 }
2719#endif
2720
2721
2722#ifndef YY_NO_POP_STATE
2723static void yy_pop_state()
2724 {
2725 if ( --yy_start_stack_ptr < 0 )
2726 YY_FATAL_ERROR( "start-condition stack underflow" );
2727
2728 BEGIN(yy_start_stack[yy_start_stack_ptr]);
2729 }
2730#endif
2731
2732
2733#ifndef YY_NO_TOP_STATE
2734static int yy_top_state()
2735 {
2736 return yy_start_stack[yy_start_stack_ptr - 1];
2737 }
2738#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002739
2740#ifndef YY_EXIT_FAILURE
2741#define YY_EXIT_FAILURE 2
2742#endif
2743
Reid Spencer6f407902007-01-13 05:00:46 +00002744#ifdef YY_USE_PROTOS
2745static void yy_fatal_error( yyconst char msg[] )
2746#else
2747static void yy_fatal_error( msg )
2748char msg[];
2749#endif
2750 {
2751 (void) fprintf( stderr, "%s\n", msg );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002752 exit( YY_EXIT_FAILURE );
Reid Spencer6f407902007-01-13 05:00:46 +00002753 }
2754
2755
Reid Spencer68a24bd2005-08-27 18:50:39 +00002756
2757/* Redefine yyless() so it works in section 3 code. */
2758
2759#undef yyless
2760#define yyless(n) \
2761 do \
2762 { \
Reid Spencer6f407902007-01-13 05:00:46 +00002763 /* Undo effects of setting up yytext. */ \
2764 yytext[yyleng] = yy_hold_char; \
2765 yy_c_buf_p = yytext + n; \
2766 yy_hold_char = *yy_c_buf_p; \
2767 *yy_c_buf_p = '\0'; \
2768 yyleng = n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00002769 } \
2770 while ( 0 )
2771
2772
Reid Spencer6f407902007-01-13 05:00:46 +00002773/* Internal utility routines. */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002774
2775#ifndef yytext_ptr
Reid Spencer6f407902007-01-13 05:00:46 +00002776#ifdef YY_USE_PROTOS
2777static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
2778#else
2779static void yy_flex_strncpy( s1, s2, n )
2780char *s1;
2781yyconst char *s2;
2782int n;
2783#endif
2784 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002785 register int i;
2786 for ( i = 0; i < n; ++i )
2787 s1[i] = s2[i];
Reid Spencer6f407902007-01-13 05:00:46 +00002788 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002789#endif
2790
2791#ifdef YY_NEED_STRLEN
Reid Spencer6f407902007-01-13 05:00:46 +00002792#ifdef YY_USE_PROTOS
2793static int yy_flex_strlen( yyconst char *s )
2794#else
2795static int yy_flex_strlen( s )
2796yyconst char *s;
2797#endif
2798 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002799 register int n;
2800 for ( n = 0; s[n]; ++n )
2801 ;
2802
2803 return n;
Reid Spencer6f407902007-01-13 05:00:46 +00002804 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002805#endif
2806
Owen Anderson1dc69692006-10-18 02:21:48 +00002807
Reid Spencer6f407902007-01-13 05:00:46 +00002808#ifdef YY_USE_PROTOS
2809static void *yy_flex_alloc( yy_size_t size )
2810#else
2811static void *yy_flex_alloc( size )
2812yy_size_t size;
2813#endif
2814 {
2815 return (void *) malloc( size );
2816 }
2817
2818#ifdef YY_USE_PROTOS
2819static inline void *yy_flex_realloc( void *ptr, yy_size_t size )
2820#else
2821static inline void *yy_flex_realloc( ptr, size )
2822void *ptr;
2823yy_size_t size;
2824#endif
2825 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002826 /* The cast to (char *) in the following accommodates both
2827 * implementations that use char* generic pointers, and those
2828 * that use void* generic pointers. It works with the latter
2829 * because both ANSI C and C++ allow castless assignment from
2830 * any pointer type to void*, and deal with argument conversions
2831 * as though doing an assignment.
2832 */
2833 return (void *) realloc( (char *) ptr, size );
Reid Spencer6f407902007-01-13 05:00:46 +00002834 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002835
Reid Spencer6f407902007-01-13 05:00:46 +00002836#ifdef YY_USE_PROTOS
2837static void yy_flex_free( void *ptr )
2838#else
2839static void yy_flex_free( ptr )
2840void *ptr;
2841#endif
2842 {
2843 free( ptr );
2844 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002845
Reid Spencer6f407902007-01-13 05:00:46 +00002846#if YY_MAIN
2847int main()
2848 {
2849 yylex();
2850 return 0;
2851 }
2852#endif
Reid Spencer41dff5e2007-01-26 08:05:27 +00002853#line 395 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
Chris Lattner2fecc0f2006-02-15 07:02:59 +00002854