blob: c525f285533712ea6615ee3b744e54179d9cee75 [file] [log] [blame]
Reid Spencered951ea2007-05-19 07:22:10 +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 Spencered951ea2007-05-19 07:22:10 +000019#line 20 "Lexer.cpp"
Chris Lattner8e008322007-05-22 06:47:55 +000020/* A lexical scanner generated by flex */
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +000021
Reid Spencered951ea2007-05-19 07:22:10 +000022/* Scanner skeleton version:
23 * $Header$
24 */
Reid Spencer68a24bd2005-08-27 18:50:39 +000025
Reid Spencer68a24bd2005-08-27 18:50:39 +000026#define FLEX_SCANNER
27#define YY_FLEX_MAJOR_VERSION 2
28#define YY_FLEX_MINOR_VERSION 5
29
30#include <stdio.h>
Reid Spencer9c9b63a2007-04-28 16:07:31 +000031
Anton Korobeynikovf52e6082007-04-29 18:38:24 +000032
Reid Spencered951ea2007-05-19 07:22:10 +000033/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
34#ifdef c_plusplus
35#ifndef __cplusplus
36#define __cplusplus
37#endif
Anton Korobeynikovf52e6082007-04-29 18:38:24 +000038#endif
39
Anton Korobeynikovf52e6082007-04-29 18:38:24 +000040
41#ifdef __cplusplus
Reid Spencer9c9b63a2007-04-28 16:07:31 +000042
Reid Spencered951ea2007-05-19 07:22:10 +000043#include <stdlib.h>
Chris Lattner8e008322007-05-22 06:47:55 +000044#include <unistd.h>
Reid Spencered951ea2007-05-19 07:22:10 +000045
46/* Use prototypes in function declarations. */
47#define YY_USE_PROTOS
48
Reid Spencer68a24bd2005-08-27 18:50:39 +000049/* The "const" storage-class-modifier is valid. */
50#define YY_USE_CONST
51
52#else /* ! __cplusplus */
53
54#if __STDC__
55
Reid Spencered951ea2007-05-19 07:22:10 +000056#define YY_USE_PROTOS
Reid Spencer68a24bd2005-08-27 18:50:39 +000057#define YY_USE_CONST
58
59#endif /* __STDC__ */
60#endif /* ! __cplusplus */
61
Reid Spencered951ea2007-05-19 07:22:10 +000062#ifdef __TURBOC__
63 #pragma warn -rch
64 #pragma warn -use
65#include <io.h>
66#include <stdlib.h>
67#define YY_USE_CONST
68#define YY_USE_PROTOS
69#endif
70
Reid Spencer68a24bd2005-08-27 18:50:39 +000071#ifdef YY_USE_CONST
72#define yyconst const
73#else
74#define yyconst
75#endif
76
Reid Spencered951ea2007-05-19 07:22:10 +000077
78#ifdef YY_USE_PROTOS
79#define YY_PROTO(proto) proto
80#else
81#define YY_PROTO(proto) ()
82#endif
83
Reid Spencer68a24bd2005-08-27 18:50:39 +000084/* Returned upon end-of-file. */
85#define YY_NULL 0
86
87/* Promotes a possibly negative, possibly signed char to an unsigned
88 * integer for use as an array index. If the signed char is negative,
89 * we want to instead treat it as an 8-bit unsigned char, hence the
90 * double cast.
91 */
92#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
93
94/* Enter a start condition. This macro really ought to take a parameter,
95 * but we do it the disgusting crufty way forced on us by the ()-less
96 * definition of BEGIN.
97 */
Reid Spencered951ea2007-05-19 07:22:10 +000098#define BEGIN yy_start = 1 + 2 *
Reid Spencer68a24bd2005-08-27 18:50:39 +000099
100/* Translate the current start state into a value that can be later handed
101 * to BEGIN to return to the state. The YYSTATE alias is for lex
102 * compatibility.
103 */
Reid Spencered951ea2007-05-19 07:22:10 +0000104#define YY_START ((yy_start - 1) / 2)
Reid Spencer68a24bd2005-08-27 18:50:39 +0000105#define YYSTATE YY_START
106
107/* Action number for EOF rule of a given start state. */
108#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
109
110/* Special action meaning "start processing a new file". */
Reid Spencered951ea2007-05-19 07:22:10 +0000111#define YY_NEW_FILE yyrestart( yyin )
Reid Spencer68a24bd2005-08-27 18:50:39 +0000112
113#define YY_END_OF_BUFFER_CHAR 0
114
115/* Size of default input buffer. */
116#define YY_BUF_SIZE (16384*64)
117
118typedef struct yy_buffer_state *YY_BUFFER_STATE;
119
Reid Spencered951ea2007-05-19 07:22:10 +0000120extern int yyleng;
121extern FILE *yyin, *yyout;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000122
123#define EOB_ACT_CONTINUE_SCAN 0
124#define EOB_ACT_END_OF_FILE 1
125#define EOB_ACT_LAST_MATCH 2
126
Reid Spencered951ea2007-05-19 07:22:10 +0000127/* The funky do-while in the following #define is used to turn the definition
128 * int a single C statement (which needs a semi-colon terminator). This
129 * avoids problems with code like:
130 *
131 * if ( condition_holds )
132 * yyless( 5 );
133 * else
134 * do_something_else();
135 *
136 * Prior to using the do-while the compiler would get upset at the
137 * "else" because it interpreted the "if" statement as being all
138 * done when it reached the ';' after the yyless() call.
139 */
140
141/* Return all but the first 'n' matched characters back to the input stream. */
142
Reid Spencer68a24bd2005-08-27 18:50:39 +0000143#define yyless(n) \
144 do \
145 { \
Reid Spencered951ea2007-05-19 07:22:10 +0000146 /* Undo effects of setting up yytext. */ \
147 *yy_cp = yy_hold_char; \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000148 YY_RESTORE_YY_MORE_OFFSET \
Reid Spencered951ea2007-05-19 07:22:10 +0000149 yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
150 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000151 } \
152 while ( 0 )
153
Reid Spencered951ea2007-05-19 07:22:10 +0000154#define unput(c) yyunput( c, yytext_ptr )
155
Reid Spencer68a24bd2005-08-27 18:50:39 +0000156/* The following is because we cannot portably get our hands on size_t
157 * (without autoconf's help, which isn't available because we want
158 * flex-generated scanners to compile on their own).
159 */
160typedef unsigned int yy_size_t;
161
Reid Spencered951ea2007-05-19 07:22:10 +0000162
Reid Spencer68a24bd2005-08-27 18:50:39 +0000163struct yy_buffer_state
164 {
165 FILE *yy_input_file;
166
167 char *yy_ch_buf; /* input buffer */
168 char *yy_buf_pos; /* current position in input buffer */
169
170 /* Size of input buffer in bytes, not including room for EOB
171 * characters.
172 */
173 yy_size_t yy_buf_size;
174
175 /* Number of characters read into yy_ch_buf, not including EOB
176 * characters.
177 */
178 int yy_n_chars;
179
180 /* Whether we "own" the buffer - i.e., we know we created it,
181 * and can realloc() it to grow it, and should free() it to
182 * delete it.
183 */
184 int yy_is_our_buffer;
185
186 /* Whether this is an "interactive" input source; if so, and
187 * if we're using stdio for input, then we want to use getc()
188 * instead of fread(), to make sure we stop fetching input after
189 * each newline.
190 */
191 int yy_is_interactive;
192
193 /* Whether we're considered to be at the beginning of a line.
194 * If so, '^' rules will be active on the next match, otherwise
195 * not.
196 */
197 int yy_at_bol;
198
199 /* Whether to try to fill the input buffer when we reach the
200 * end of it.
201 */
202 int yy_fill_buffer;
203
204 int yy_buffer_status;
205#define YY_BUFFER_NEW 0
206#define YY_BUFFER_NORMAL 1
207 /* When an EOF's been seen but there's still some text to process
208 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
209 * shouldn't try reading from the input source any more. We might
210 * still have a bunch of tokens to match, though, because of
211 * possible backing-up.
212 *
213 * When we actually see the EOF, we change the status to "new"
Reid Spencered951ea2007-05-19 07:22:10 +0000214 * (via yyrestart()), so that the user can continue scanning by
215 * just pointing yyin at a new input file.
Reid Spencer68a24bd2005-08-27 18:50:39 +0000216 */
217#define YY_BUFFER_EOF_PENDING 2
Anton Korobeynikovf52e6082007-04-29 18:38:24 +0000218 };
Anton Korobeynikovf52e6082007-04-29 18:38:24 +0000219
Reid Spencered951ea2007-05-19 07:22:10 +0000220static YY_BUFFER_STATE yy_current_buffer = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000221
222/* We provide macros for accessing buffer states in case in the
223 * future we want to put the buffer states in a more general
224 * "scanner state".
225 */
Reid Spencered951ea2007-05-19 07:22:10 +0000226#define YY_CURRENT_BUFFER yy_current_buffer
Reid Spencer68a24bd2005-08-27 18:50:39 +0000227
228
Reid Spencered951ea2007-05-19 07:22:10 +0000229/* yy_hold_char holds the character lost when yytext is formed. */
Reid Spencer68a24bd2005-08-27 18:50:39 +0000230static char yy_hold_char;
Reid Spencered951ea2007-05-19 07:22:10 +0000231
Reid Spencer68a24bd2005-08-27 18:50:39 +0000232static int yy_n_chars; /* number of characters read into yy_ch_buf */
Reid Spencered951ea2007-05-19 07:22:10 +0000233
234
235int yyleng;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000236
237/* Points to current character in buffer. */
238static char *yy_c_buf_p = (char *) 0;
Reid Spencered951ea2007-05-19 07:22:10 +0000239static int yy_init = 1; /* whether we need to initialize */
Reid Spencer68a24bd2005-08-27 18:50:39 +0000240static int yy_start = 0; /* start state number */
241
Reid Spencered951ea2007-05-19 07:22:10 +0000242/* Flag which is used to allow yywrap()'s to do buffer switches
243 * instead of setting up a fresh yyin. A bit of a hack ...
Reid Spencer68a24bd2005-08-27 18:50:39 +0000244 */
245static int yy_did_buffer_switch_on_eof;
246
Reid Spencered951ea2007-05-19 07:22:10 +0000247void yyrestart YY_PROTO(( FILE *input_file ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000248
Reid Spencered951ea2007-05-19 07:22:10 +0000249void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
250void yy_load_buffer_state YY_PROTO(( void ));
251YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
252void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
253void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
254void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
255#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +0000256
Reid Spencered951ea2007-05-19 07:22:10 +0000257YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
258YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
259YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000260
Reid Spencered951ea2007-05-19 07:22:10 +0000261static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
Chris Lattner8e008322007-05-22 06:47:55 +0000262static inline void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
Reid Spencered951ea2007-05-19 07:22:10 +0000263static void yy_flex_free YY_PROTO(( void * ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000264
Reid Spencered951ea2007-05-19 07:22:10 +0000265#define yy_new_buffer yy_create_buffer
Reid Spencer68a24bd2005-08-27 18:50:39 +0000266
267#define yy_set_interactive(is_interactive) \
268 { \
Reid Spencered951ea2007-05-19 07:22:10 +0000269 if ( ! yy_current_buffer ) \
270 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
271 yy_current_buffer->yy_is_interactive = is_interactive; \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000272 }
273
274#define yy_set_bol(at_bol) \
275 { \
Reid Spencered951ea2007-05-19 07:22:10 +0000276 if ( ! yy_current_buffer ) \
277 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
278 yy_current_buffer->yy_at_bol = at_bol; \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000279 }
280
Reid Spencered951ea2007-05-19 07:22:10 +0000281#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
Reid Spencer68a24bd2005-08-27 18:50:39 +0000282
283
Reid Spencered951ea2007-05-19 07:22:10 +0000284#define YY_USES_REJECT
285
286#define yywrap() 1
Reid Spencer68a24bd2005-08-27 18:50:39 +0000287#define YY_SKIP_YYWRAP
Anton Korobeynikovf52e6082007-04-29 18:38:24 +0000288typedef unsigned char YY_CHAR;
Reid Spencered951ea2007-05-19 07:22:10 +0000289FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
Anton Korobeynikovf52e6082007-04-29 18:38:24 +0000290typedef int yy_state_type;
Reid Spencered951ea2007-05-19 07:22:10 +0000291extern int yylineno;
292int yylineno = 1;
293extern char *yytext;
294#define yytext_ptr yytext
Anton Korobeynikovf52e6082007-04-29 18:38:24 +0000295
Reid Spencered951ea2007-05-19 07:22:10 +0000296static yy_state_type yy_get_previous_state YY_PROTO(( void ));
297static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
298static int yy_get_next_buffer YY_PROTO(( void ));
299static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000300
301/* Done after the current pattern has been matched and before the
Reid Spencered951ea2007-05-19 07:22:10 +0000302 * corresponding action - sets up yytext.
Reid Spencer68a24bd2005-08-27 18:50:39 +0000303 */
304#define YY_DO_BEFORE_ACTION \
Reid Spencered951ea2007-05-19 07:22:10 +0000305 yytext_ptr = yy_bp; \
306 yyleng = (int) (yy_cp - yy_bp); \
307 yy_hold_char = *yy_cp; \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000308 *yy_cp = '\0'; \
Reid Spencered951ea2007-05-19 07:22:10 +0000309 yy_c_buf_p = yy_cp;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000310
Reid Spencered951ea2007-05-19 07:22:10 +0000311#define YY_NUM_RULES 139
312#define YY_END_OF_BUFFER 140
313static yyconst short int yy_acclist[220] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000314 { 0,
Reid Spencered951ea2007-05-19 07:22:10 +0000315 140, 138, 139, 137, 138, 139, 137, 139, 138, 139,
316 138, 139, 138, 139, 138, 139, 138, 139, 138, 139,
317 130, 138, 139, 130, 138, 139, 1, 138, 139, 138,
318 139, 138, 139, 138, 139, 138, 139, 138, 139, 138,
319 139, 138, 139, 138, 139, 138, 139, 138, 139, 138,
320 139, 138, 139, 138, 139, 138, 139, 138, 139, 138,
321 139, 138, 139, 138, 139, 138, 139, 138, 139, 138,
322 139, 138, 139, 138, 139, 127, 125, 123, 133, 131,
323 135, 130, 1, 124, 134, 109, 38, 72, 54, 73,
324 68, 25, 127, 129, 123, 135, 22, 135, 136, 128,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000325
Reid Spencered951ea2007-05-19 07:22:10 +0000326 124, 55, 67, 36, 39, 3, 57, 82, 87, 85,
327 86, 84, 83, 88, 92, 108, 77, 75, 64, 76,
328 74, 56, 90, 81, 79, 80, 78, 91, 89, 69,
329 126, 135, 135, 66, 93, 71, 60, 116, 63, 70,
330 117, 65, 24, 132, 59, 96, 62, 45, 26, 4,
331 52, 58, 61, 48, 12, 95, 135, 34, 32, 2,
332 5, 49, 98, 44, 51, 118, 94, 23, 115, 41,
333 7, 50, 40, 102, 101, 8, 16, 111, 114, 35,
334 53, 106, 100, 110, 27, 28, 99, 112, 107, 105,
335 6, 29, 97, 33, 9, 19, 10, 103, 11, 47,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000336
Reid Spencered951ea2007-05-19 07:22:10 +0000337 46, 104, 31, 13, 15, 14, 17, 30, 37, 18,
338 113, 20, 119, 121, 122, 42, 120, 43, 21
Reid Spencer68a24bd2005-08-27 18:50:39 +0000339 } ;
340
Reid Spencered951ea2007-05-19 07:22:10 +0000341static yyconst short int yy_accept[564] =
342 { 0,
343 1, 1, 1, 2, 4, 7, 9, 11, 13, 15,
344 17, 19, 21, 24, 27, 30, 32, 34, 36, 38,
345 40, 42, 44, 46, 48, 50, 52, 54, 56, 58,
346 60, 62, 64, 66, 68, 70, 72, 74, 76, 76,
347 77, 77, 78, 78, 79, 80, 80, 81, 81, 82,
348 83, 83, 84, 84, 85, 86, 86, 86, 86, 86,
349 86, 86, 86, 87, 87, 88, 88, 88, 88, 88,
350 88, 88, 89, 89, 89, 89, 89, 89, 89, 89,
351 89, 89, 89, 90, 90, 90, 90, 90, 90, 90,
352 90, 90, 90, 91, 91, 91, 91, 91, 91, 91,
353
354 91, 92, 92, 92, 92, 92, 92, 92, 92, 92,
355 92, 92, 92, 92, 92, 92, 92, 92, 92, 93,
356 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
357 93, 93, 93, 93, 93, 94, 94, 95, 96, 97,
358 98, 99, 99, 100, 100, 101, 102, 103, 103, 103,
359 104, 104, 104, 105, 105, 105, 105, 106, 106, 106,
360 106, 106, 106, 106, 106, 106, 107, 107, 107, 107,
361 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
362 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
363 108, 108, 108, 108, 109, 110, 111, 112, 113, 114,
364
365 114, 115, 116, 116, 116, 117, 117, 117, 117, 117,
366 117, 118, 119, 120, 120, 120, 120, 121, 122, 122,
367 122, 123, 123, 123, 123, 123, 123, 123, 123, 123,
368 124, 125, 126, 126, 127, 128, 128, 129, 130, 130,
369 130, 130, 130, 130, 130, 130, 130, 131, 131, 131,
370 132, 133, 133, 133, 133, 134, 134, 134, 134, 134,
371 135, 135, 135, 136, 136, 136, 136, 136, 136, 136,
372 136, 136, 136, 136, 136, 136, 136, 137, 138, 138,
373 138, 138, 138, 139, 140, 140, 140, 140, 141, 141,
374 141, 141, 141, 141, 141, 141, 142, 143, 143, 143,
375
376 143, 143, 144, 144, 144, 144, 145, 146, 146, 146,
377 147, 147, 147, 147, 148, 149, 149, 149, 150, 150,
378 150, 150, 151, 151, 152, 153, 153, 153, 153, 153,
379 154, 154, 155, 155, 156, 156, 156, 157, 158, 159,
380 160, 160, 160, 161, 161, 161, 161, 161, 161, 161,
381 161, 161, 161, 161, 161, 161, 162, 162, 163, 164,
382 164, 164, 164, 164, 164, 164, 165, 165, 165, 165,
383 165, 166, 166, 166, 166, 166, 166, 166, 166, 166,
384 166, 166, 166, 166, 166, 167, 167, 167, 167, 167,
385 168, 168, 169, 169, 169, 169, 169, 169, 169, 169,
386
387 170, 170, 170, 171, 171, 171, 171, 172, 172, 172,
388 172, 173, 173, 173, 174, 175, 176, 176, 176, 177,
389 178, 178, 178, 178, 179, 179, 180, 181, 181, 181,
390 182, 182, 182, 182, 183, 183, 183, 184, 185, 186,
391 186, 187, 188, 188, 189, 190, 190, 190, 190, 190,
392 190, 191, 191, 191, 192, 193, 193, 193, 193, 193,
393 193, 194, 194, 194, 194, 194, 194, 194, 194, 194,
394 194, 195, 195, 195, 195, 195, 195, 195, 195, 195,
395 195, 196, 196, 196, 196, 196, 197, 197, 197, 197,
396 198, 199, 200, 201, 202, 202, 203, 203, 203, 203,
397
398 203, 204, 204, 204, 204, 205, 205, 206, 207, 207,
399 207, 207, 207, 208, 208, 208, 208, 208, 208, 208,
400 208, 209, 209, 209, 209, 209, 209, 210, 210, 210,
401 210, 210, 210, 211, 211, 211, 211, 211, 211, 212,
402 212, 212, 212, 212, 212, 212, 212, 213, 213, 213,
403 213, 213, 214, 215, 216, 216, 217, 217, 218, 219,
404 219, 220, 220
405 } ;
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,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000415 1, 1, 1, 16, 17, 17, 17, 17, 18, 17,
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,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000418 1, 1, 1, 1, 19, 1, 20, 21, 22, 23,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000419
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000420 24, 25, 26, 27, 28, 5, 29, 30, 31, 32,
421 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
422 43, 44, 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 Spencered951ea2007-05-19 07:22:10 +0000439static yyconst int yy_meta[45] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000440 { 0,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000441 1, 1, 2, 3, 4, 1, 1, 4, 4, 4,
442 4, 4, 4, 5, 1, 1, 4, 4, 4, 4,
443 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
444 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
445 4, 4, 4, 4
Reid Spencer68a24bd2005-08-27 18:50:39 +0000446 } ;
447
Reid Spencered951ea2007-05-19 07:22:10 +0000448static yyconst short int yy_base[572] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000449 { 0,
Reid Spencered951ea2007-05-19 07:22:10 +0000450 0, 0, 1226, 1227, 1227, 1227, 1221, 1210, 41, 36,
451 45, 51, 57, 63, 0, 74, 66, 69, 68, 88,
452 78, 108, 93, 36, 135, 123, 119, 101, 154, 127,
453 67, 181, 139, 213, 141, 80, 156, 92, 1219, 1227,
454 1208, 1227, 1217, 0, 186, 203, 219, 100, 240, 256,
455 261, 0, 1216, 0, 190, 112, 157, 113, 159, 150,
456 136, 81, 1205, 49, 110, 162, 196, 266, 210, 207,
457 212, 1204, 204, 262, 224, 233, 192, 263, 279, 275,
458 230, 234, 284, 276, 288, 290, 97, 242, 291, 292,
459 294, 300, 1203, 295, 302, 298, 305, 313, 296, 301,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000460
Reid Spencered951ea2007-05-19 07:22:10 +0000461 321, 322, 309, 324, 325, 326, 327, 331, 332, 335,
462 334, 338, 340, 333, 357, 353, 355, 344, 1202, 361,
463 345, 368, 363, 370, 371, 373, 379, 381, 385, 393,
464 372, 376, 392, 396, 1201, 1210, 1227, 0, 406, 1199,
465 429, 447, 0, 1208, 1227, 0, 1197, 411, 400, 1196,
466 412, 399, 1195, 420, 430, 415, 1194, 442, 413, 448,
467 437, 435, 450, 455, 452, 1193, 457, 458, 408, 456,
468 460, 462, 461, 463, 470, 464, 471, 475, 472, 473,
469 488, 490, 477, 491, 493, 494, 495, 497, 499, 1192,
470 502, 504, 505, 1191, 1190, 1189, 1188, 1187, 1186, 506,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000471
Reid Spencered951ea2007-05-19 07:22:10 +0000472 1185, 1184, 507, 509, 1183, 538, 525, 515, 510, 516,
473 1182, 1181, 1180, 518, 528, 511, 1179, 1178, 526, 532,
474 1177, 552, 553, 555, 556, 557, 560, 558, 559, 1176,
475 1175, 1174, 561, 1173, 1172, 562, 1171, 1170, 563, 565,
476 564, 582, 574, 584, 571, 587, 1169, 575, 589, 1227,
477 599, 608, 618, 622, 627, 608, 593, 591, 610, 1168,
478 612, 629, 1167, 632, 633, 634, 636, 637, 638, 639,
479 641, 643, 644, 645, 646, 653, 1166, 1165, 647, 648,
480 654, 649, 1164, 1163, 660, 662, 663, 1162, 669, 664,
481 665, 670, 675, 678, 680, 1161, 1160, 682, 684, 683,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000482
Reid Spencered951ea2007-05-19 07:22:10 +0000483 685, 1159, 688, 692, 691, 0, 1158, 695, 696, 1157,
484 697, 693, 705, 1156, 1155, 711, 698, 1154, 714, 717,
485 715, 1153, 718, 1152, 1151, 719, 722, 728, 720, 1150,
486 725, 1149, 727, 1148, 729, 732, 1147, 745, 1146, 1145,
487 739, 748, 1144, 735, 753, 749, 750, 737, 754, 760,
488 762, 763, 765, 766, 768, 1143, 769, 1142, 1141, 771,
489 772, 770, 779, 774, 773, 1140, 778, 780, 781, 787,
490 1139, 792, 795, 794, 793, 799, 796, 800, 805, 807,
491 809, 811, 812, 814, 1138, 815, 816, 820, 821, 1137,
492 817, 1136, 822, 832, 824, 825, 838, 835, 842, 1135,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000493
Reid Spencered951ea2007-05-19 07:22:10 +0000494 843, 845, 1134, 846, 847, 848, 1133, 849, 851, 852,
495 1132, 850, 853, 1131, 1130, 1129, 854, 861, 1128, 1127,
496 863, 868, 865, 1126, 867, 1125, 1124, 866, 879, 1123,
497 880, 881, 882, 1122, 883, 884, 1121, 1120, 1119, 885,
498 1118, 1117, 892, 1116, 1115, 886, 887, 894, 898, 891,
499 1114, 896, 906, 1113, 1112, 901, 907, 908, 911, 914,
500 1111, 916, 915, 917, 918, 922, 919, 921, 928, 934,
501 1110, 913, 936, 941, 942, 943, 944, 947, 945, 949,
502 1094, 950, 952, 954, 956, 1082, 951, 959, 960, 1081,
503 1079, 1078, 1077, 1075, 962, 1074, 963, 964, 965, 974,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000504
Reid Spencered951ea2007-05-19 07:22:10 +0000505 1073, 979, 980, 982, 1072, 983, 1071, 1070, 985, 988,
506 989, 992, 1069, 993, 990, 994, 995, 997, 999, 1000,
507 1068, 1004, 1005, 1008, 1010, 1012, 1064, 1017, 1016, 1018,
508 1021, 1024, 1063, 1025, 1027, 1029, 1030, 1032, 736, 1038,
509 1031, 1041, 1042, 1043, 1033, 1044, 600, 1045, 1050, 1046,
510 1056, 523, 519, 387, 1059, 246, 1052, 245, 169, 1061,
511 165, 1227, 1097, 1099, 1102, 1106, 1109, 1113, 58, 1118,
512 57
Reid Spencer68a24bd2005-08-27 18:50:39 +0000513 } ;
514
Reid Spencered951ea2007-05-19 07:22:10 +0000515static yyconst short int yy_def[572] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000516 { 0,
Reid Spencered951ea2007-05-19 07:22:10 +0000517 562, 1, 562, 562, 562, 562, 563, 564, 565, 562,
518 564, 564, 564, 564, 566, 567, 564, 564, 564, 564,
519 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
520 564, 564, 564, 564, 564, 564, 564, 564, 563, 562,
521 564, 562, 568, 569, 562, 562, 564, 564, 564, 564,
522 564, 566, 570, 571, 562, 564, 564, 564, 564, 564,
523 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
524 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
525 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
526 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000527
Reid Spencered951ea2007-05-19 07:22:10 +0000528 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
529 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
530 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
531 564, 564, 564, 564, 562, 568, 562, 569, 562, 564,
532 564, 564, 51, 570, 562, 571, 564, 564, 564, 564,
533 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
534 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
535 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
536 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
537 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000538
Reid Spencered951ea2007-05-19 07:22:10 +0000539 564, 564, 564, 564, 564, 51, 564, 564, 564, 564,
540 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
541 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
542 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
543 564, 564, 564, 564, 564, 564, 564, 564, 564, 562,
544 562, 562, 562, 564, 564, 564, 564, 564, 564, 564,
545 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
546 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
547 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
548 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000549
Reid Spencered951ea2007-05-19 07:22:10 +0000550 564, 564, 564, 564, 564, 206, 564, 564, 564, 564,
551 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
552 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
553 564, 564, 564, 564, 564, 564, 564, 562, 564, 564,
554 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
555 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
556 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
557 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
558 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
559 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000560
Reid Spencered951ea2007-05-19 07:22:10 +0000561 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
562 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
563 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
564 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
565 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
566 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
567 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
568 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
569 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
570 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000571
Reid Spencered951ea2007-05-19 07:22:10 +0000572 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
573 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
574 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
575 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
576 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
577 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
578 564, 0, 562, 562, 562, 562, 562, 562, 562, 562,
579 562
Reid Spencer68a24bd2005-08-27 18:50:39 +0000580 } ;
581
Reid Spencered951ea2007-05-19 07:22:10 +0000582static yyconst short int yy_nxt[1272] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000583 { 0,
584 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000585 14, 14, 14, 4, 15, 16, 8, 8, 8, 17,
586 18, 19, 20, 21, 22, 23, 24, 25, 8, 26,
587 27, 28, 29, 30, 8, 31, 32, 33, 34, 35,
Reid Spencered951ea2007-05-19 07:22:10 +0000588 36, 37, 8, 38, 43, 46, 46, 46, 46, 42,
589 45, 45, 45, 45, 47, 47, 47, 47, 42, 48,
590 146, 138, 42, 82, 42, 49, 50, 50, 50, 50,
591 42, 49, 50, 50, 50, 50, 42, 53, 156, 42,
592 42, 42, 42, 55, 55, 55, 55, 64, 56, 65,
593 105, 42, 61, 42, 42, 57, 62, 58, 51, 59,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000594
Reid Spencered951ea2007-05-19 07:22:10 +0000595 66, 42, 60, 131, 63, 42, 42, 67, 140, 71,
596 42, 68, 72, 42, 42, 134, 80, 69, 155, 73,
597 70, 42, 81, 42, 93, 42, 42, 74, 185, 75,
598 76, 157, 42, 94, 147, 150, 42, 77, 90, 95,
599 42, 78, 86, 79, 83, 83, 83, 83, 42, 42,
600 87, 91, 42, 102, 42, 88, 84, 92, 117, 89,
601 129, 154, 103, 42, 104, 118, 85, 42, 132, 42,
602 42, 119, 42, 130, 120, 42, 152, 96, 42, 97,
603 153, 121, 42, 98, 148, 99, 149, 100, 133, 101,
604 106, 158, 151, 159, 42, 45, 45, 45, 45, 55,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000605
Reid Spencered951ea2007-05-19 07:22:10 +0000606 55, 55, 55, 107, 108, 42, 109, 110, 111, 42,
607 112, 139, 46, 46, 46, 46, 113, 42, 114, 115,
608 42, 116, 106, 42, 172, 42, 42, 49, 47, 47,
609 47, 47, 42, 160, 166, 122, 123, 42, 124, 164,
610 125, 167, 126, 42, 127, 165, 42, 42, 128, 141,
611 141, 141, 141, 42, 170, 42, 178, 142, 42, 42,
612 171, 186, 177, 142, 49, 50, 50, 50, 50, 42,
613 143, 143, 143, 143, 42, 42, 42, 143, 143, 42,
614 143, 143, 143, 143, 143, 143, 173, 161, 42, 42,
615 162, 168, 42, 83, 83, 83, 83, 42, 169, 163,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000616
Reid Spencered951ea2007-05-19 07:22:10 +0000617 174, 42, 175, 42, 42, 42, 179, 42, 42, 42,
618 184, 42, 176, 42, 42, 42, 189, 187, 42, 199,
619 200, 188, 42, 180, 181, 182, 42, 183, 195, 190,
620 191, 193, 194, 192, 42, 42, 197, 42, 42, 42,
621 42, 203, 196, 201, 42, 42, 42, 42, 42, 202,
622 198, 42, 208, 42, 207, 211, 215, 42, 42, 204,
623 209, 217, 205, 219, 213, 220, 42, 206, 42, 212,
624 42, 216, 210, 214, 42, 218, 42, 221, 228, 225,
625 222, 42, 223, 42, 42, 42, 42, 246, 226, 42,
626 224, 245, 42, 231, 42, 229, 234, 230, 42, 227,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000627
Reid Spencered951ea2007-05-19 07:22:10 +0000628 42, 236, 237, 242, 241, 42, 42, 232, 233, 42,
629 235, 238, 42, 42, 239, 251, 251, 251, 251, 240,
630 243, 42, 244, 252, 42, 42, 42, 247, 42, 252,
631 256, 248, 258, 42, 260, 259, 257, 249, 141, 141,
632 141, 141, 42, 42, 263, 276, 142, 261, 42, 265,
633 42, 262, 142, 253, 254, 42, 255, 255, 255, 255,
634 42, 42, 268, 42, 264, 42, 267, 266, 42, 42,
635 42, 42, 272, 42, 42, 42, 42, 42, 270, 269,
636 273, 279, 271, 42, 42, 42, 42, 285, 42, 277,
637 42, 286, 274, 283, 275, 281, 289, 287, 282, 278,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000638
Reid Spencered951ea2007-05-19 07:22:10 +0000639 284, 42, 280, 42, 42, 288, 42, 42, 42, 293,
640 42, 290, 42, 291, 294, 42, 296, 42, 42, 42,
641 42, 295, 42, 42, 42, 300, 298, 292, 42, 42,
642 297, 42, 42, 309, 302, 301, 42, 299, 42, 42,
643 303, 42, 311, 313, 304, 42, 305, 306, 306, 306,
644 306, 312, 308, 310, 306, 306, 314, 306, 306, 306,
645 306, 306, 306, 315, 307, 42, 42, 316, 42, 42,
646 42, 42, 42, 42, 42, 42, 42, 42, 42, 320,
647 319, 324, 318, 322, 42, 327, 328, 42, 42, 317,
648 321, 323, 329, 326, 330, 42, 332, 42, 325, 334,
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000649
Reid Spencered951ea2007-05-19 07:22:10 +0000650 42, 331, 42, 333, 42, 335, 42, 336, 251, 251,
651 251, 251, 341, 42, 253, 253, 252, 338, 338, 338,
652 338, 42, 252, 42, 340, 42, 337, 338, 338, 338,
653 338, 255, 255, 255, 255, 42, 255, 255, 255, 255,
654 42, 342, 42, 343, 339, 42, 42, 42, 344, 42,
655 42, 42, 42, 345, 42, 348, 42, 42, 42, 42,
656 42, 42, 42, 347, 355, 350, 42, 42, 349, 356,
657 346, 352, 353, 42, 357, 42, 42, 42, 42, 354,
658 351, 364, 42, 42, 358, 359, 365, 362, 42, 363,
659 360, 42, 361, 42, 366, 42, 42, 42, 42, 367,
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000660
Reid Spencered951ea2007-05-19 07:22:10 +0000661 368, 42, 369, 370, 42, 42, 42, 371, 42, 42,
662 42, 42, 372, 374, 373, 378, 383, 381, 42, 386,
663 375, 382, 380, 379, 42, 376, 377, 42, 42, 384,
664 42, 42, 42, 42, 385, 42, 388, 387, 42, 390,
665 42, 42, 42, 391, 389, 42, 392, 393, 42, 42,
666 42, 394, 42, 397, 338, 338, 338, 338, 400, 399,
667 395, 42, 42, 42, 396, 398, 42, 42, 404, 405,
668 401, 402, 406, 42, 403, 42, 42, 407, 42, 42,
669 408, 42, 42, 42, 42, 42, 42, 42, 411, 413,
670 414, 42, 42, 42, 42, 409, 410, 412, 415, 416,
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000671
Reid Spencered951ea2007-05-19 07:22:10 +0000672 42, 417, 418, 419, 420, 42, 42, 42, 42, 42,
673 424, 422, 42, 42, 423, 421, 426, 427, 42, 430,
674 42, 431, 42, 425, 42, 42, 429, 42, 42, 42,
675 42, 428, 432, 42, 42, 42, 436, 42, 42, 433,
676 435, 438, 440, 443, 441, 42, 434, 437, 42, 445,
677 442, 42, 446, 439, 444, 42, 42, 447, 42, 42,
678 42, 42, 42, 42, 42, 42, 42, 42, 458, 459,
679 450, 454, 448, 449, 42, 461, 42, 452, 42, 42,
680 42, 42, 451, 456, 457, 455, 463, 464, 466, 453,
681 460, 462, 42, 42, 42, 42, 42, 42, 42, 42,
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000682
Reid Spencered951ea2007-05-19 07:22:10 +0000683 42, 467, 465, 474, 42, 42, 472, 42, 473, 42,
684 468, 42, 470, 471, 42, 476, 478, 469, 475, 42,
685 42, 42, 480, 477, 42, 479, 42, 42, 42, 42,
686 42, 42, 42, 481, 42, 42, 483, 487, 482, 488,
687 486, 42, 484, 494, 489, 492, 490, 42, 485, 42,
688 493, 495, 497, 491, 42, 42, 42, 42, 42, 498,
689 42, 500, 42, 42, 42, 42, 501, 42, 503, 42,
690 499, 496, 42, 42, 505, 42, 42, 42, 42, 509,
691 510, 502, 504, 512, 513, 515, 514, 42, 506, 507,
692 511, 508, 42, 42, 517, 42, 42, 516, 42, 519,
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000693
Reid Spencered951ea2007-05-19 07:22:10 +0000694 518, 42, 42, 42, 522, 42, 42, 42, 42, 520,
695 42, 523, 42, 42, 526, 528, 530, 42, 42, 532,
696 521, 42, 525, 42, 529, 42, 524, 527, 531, 42,
697 42, 42, 533, 536, 42, 534, 538, 42, 42, 539,
698 42, 535, 42, 42, 42, 42, 42, 540, 543, 537,
699 541, 42, 549, 542, 42, 42, 42, 42, 42, 42,
700 545, 547, 546, 42, 544, 42, 555, 548, 550, 42,
701 553, 556, 42, 551, 42, 560, 42, 42, 552, 554,
702 559, 42, 42, 42, 42, 42, 42, 42, 42, 557,
703 42, 42, 42, 558, 42, 42, 561, 39, 39, 39,
Reid Spencer14310612006-12-31 05:40:51 +0000704
Reid Spencered951ea2007-05-19 07:22:10 +0000705 39, 39, 41, 41, 44, 44, 52, 42, 52, 52,
706 52, 54, 54, 136, 136, 136, 136, 136, 144, 144,
707 144, 144, 144, 42, 42, 42, 42, 42, 42, 42,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000708 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
709 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
710 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
711 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
712 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
713 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
Lauro Ramos Venancioc7635522007-04-12 18:32:50 +0000714 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
Chris Lattner75466192006-05-19 21:28:53 +0000715
Reid Spencered951ea2007-05-19 07:22:10 +0000716 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
717 42, 145, 42, 137, 250, 42, 42, 42, 42, 145,
718 137, 42, 135, 42, 40, 562, 3, 562, 562, 562,
719 562, 562, 562, 562, 562, 562, 562, 562, 562, 562,
720 562, 562, 562, 562, 562, 562, 562, 562, 562, 562,
721 562, 562, 562, 562, 562, 562, 562, 562, 562, 562,
722 562, 562, 562, 562, 562, 562, 562, 562, 562, 562,
723 562
Reid Spencer68a24bd2005-08-27 18:50:39 +0000724 } ;
725
Reid Spencered951ea2007-05-19 07:22:10 +0000726static yyconst short int yy_chk[1272] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000727 { 0,
728 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
729 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
730 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
731 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Reid Spencered951ea2007-05-19 07:22:10 +0000732 1, 1, 1, 1, 9, 10, 10, 10, 10, 24,
733 9, 9, 9, 9, 11, 11, 11, 11, 11, 12,
734 571, 569, 64, 24, 12, 13, 13, 13, 13, 13,
735 13, 14, 14, 14, 14, 14, 14, 16, 64, 17,
736 31, 19, 18, 16, 16, 16, 16, 19, 17, 19,
737 31, 21, 18, 36, 62, 17, 18, 17, 13, 17,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000738
Reid Spencered951ea2007-05-19 07:22:10 +0000739 19, 20, 17, 36, 18, 38, 23, 20, 48, 21,
740 87, 20, 21, 48, 28, 38, 23, 20, 62, 21,
741 20, 22, 23, 65, 28, 56, 58, 22, 87, 22,
742 22, 65, 27, 28, 56, 58, 26, 22, 27, 28,
743 30, 22, 26, 22, 25, 25, 25, 25, 25, 61,
744 26, 27, 33, 30, 35, 26, 25, 27, 33, 26,
745 35, 61, 30, 60, 30, 33, 25, 29, 37, 37,
746 57, 33, 59, 35, 33, 66, 60, 29, 561, 29,
747 60, 33, 559, 29, 57, 29, 57, 29, 37, 29,
748 32, 66, 59, 66, 32, 45, 45, 45, 45, 55,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000749
Reid Spencered951ea2007-05-19 07:22:10 +0000750 55, 55, 55, 32, 32, 77, 32, 32, 32, 67,
751 32, 46, 46, 46, 46, 46, 32, 73, 32, 32,
752 70, 32, 34, 69, 77, 71, 34, 47, 47, 47,
753 47, 47, 47, 67, 71, 34, 34, 75, 34, 69,
754 34, 73, 34, 81, 34, 70, 76, 82, 34, 49,
755 49, 49, 49, 49, 75, 88, 82, 49, 558, 556,
756 76, 88, 81, 49, 50, 50, 50, 50, 50, 50,
757 51, 51, 51, 51, 51, 74, 78, 51, 51, 68,
758 51, 51, 51, 51, 51, 51, 78, 68, 80, 84,
759 68, 74, 79, 83, 83, 83, 83, 83, 74, 68,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000760
Reid Spencered951ea2007-05-19 07:22:10 +0000761 78, 85, 79, 86, 89, 90, 84, 91, 94, 99,
762 86, 96, 80, 92, 100, 95, 91, 89, 97, 99,
763 100, 90, 103, 85, 85, 85, 98, 85, 97, 92,
764 94, 95, 96, 94, 101, 102, 98, 104, 105, 106,
765 107, 103, 97, 101, 108, 109, 114, 111, 110, 102,
766 98, 112, 108, 113, 107, 109, 111, 118, 121, 104,
767 108, 112, 105, 113, 110, 114, 116, 106, 117, 109,
768 115, 111, 108, 110, 120, 112, 123, 115, 121, 118,
769 116, 122, 117, 124, 125, 131, 126, 132, 120, 132,
770 117, 131, 127, 124, 128, 122, 126, 123, 129, 120,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000771
Reid Spencered951ea2007-05-19 07:22:10 +0000772 554, 127, 127, 129, 128, 133, 130, 124, 125, 134,
773 126, 127, 152, 149, 127, 139, 139, 139, 139, 127,
774 130, 169, 130, 139, 148, 151, 159, 133, 156, 139,
775 148, 134, 149, 154, 152, 151, 148, 134, 141, 141,
776 141, 141, 141, 155, 156, 169, 141, 154, 162, 159,
777 161, 155, 141, 142, 142, 158, 142, 142, 142, 142,
778 142, 160, 162, 163, 158, 165, 161, 160, 164, 170,
779 167, 168, 165, 171, 173, 172, 174, 176, 164, 163,
780 167, 172, 164, 175, 177, 179, 180, 176, 178, 170,
781 183, 177, 167, 175, 168, 174, 180, 178, 174, 171,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000782
Reid Spencered951ea2007-05-19 07:22:10 +0000783 175, 181, 173, 182, 184, 179, 185, 186, 187, 183,
784 188, 181, 189, 182, 184, 191, 186, 192, 193, 200,
785 203, 185, 204, 209, 216, 191, 188, 182, 208, 210,
786 187, 214, 553, 209, 193, 192, 552, 189, 207, 219,
787 200, 215, 214, 216, 203, 220, 204, 206, 206, 206,
788 206, 215, 208, 210, 206, 206, 219, 206, 206, 206,
789 206, 206, 206, 219, 207, 222, 223, 220, 224, 225,
790 226, 228, 229, 227, 233, 236, 239, 241, 240, 225,
791 224, 228, 223, 227, 245, 236, 239, 243, 248, 222,
792 226, 227, 240, 233, 241, 242, 243, 244, 229, 245,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000793
Reid Spencered951ea2007-05-19 07:22:10 +0000794 246, 242, 249, 244, 258, 246, 257, 248, 251, 251,
795 251, 251, 258, 547, 252, 252, 251, 252, 252, 252,
796 252, 256, 251, 259, 257, 261, 249, 253, 253, 253,
797 253, 254, 254, 254, 254, 254, 255, 255, 255, 255,
798 255, 259, 262, 261, 256, 264, 265, 266, 262, 267,
799 268, 269, 270, 264, 271, 267, 272, 273, 274, 275,
800 279, 280, 282, 266, 274, 269, 276, 281, 268, 275,
801 265, 271, 272, 285, 276, 286, 287, 290, 291, 273,
802 270, 286, 289, 292, 279, 280, 287, 282, 293, 285,
803 281, 294, 281, 295, 289, 298, 300, 299, 301, 290,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000804
Reid Spencered951ea2007-05-19 07:22:10 +0000805 291, 303, 292, 293, 305, 304, 312, 294, 308, 309,
806 311, 317, 295, 299, 298, 304, 312, 309, 313, 317,
807 300, 311, 308, 305, 316, 301, 303, 319, 321, 313,
808 320, 323, 326, 329, 316, 327, 320, 319, 331, 323,
809 333, 328, 335, 326, 321, 336, 327, 328, 344, 539,
810 348, 329, 341, 335, 338, 338, 338, 338, 341, 336,
811 331, 342, 346, 347, 333, 335, 345, 349, 346, 347,
812 342, 344, 348, 350, 345, 351, 352, 349, 353, 354,
813 350, 355, 357, 362, 360, 361, 365, 364, 353, 355,
814 357, 367, 363, 368, 369, 351, 352, 354, 360, 361,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000815
Reid Spencered951ea2007-05-19 07:22:10 +0000816 370, 362, 363, 364, 365, 372, 375, 374, 373, 377,
817 370, 368, 376, 378, 369, 367, 373, 374, 379, 377,
818 380, 378, 381, 372, 382, 383, 376, 384, 386, 387,
819 391, 375, 379, 388, 389, 393, 383, 395, 396, 380,
820 382, 386, 388, 393, 389, 394, 381, 384, 398, 395,
821 391, 397, 396, 387, 394, 399, 401, 397, 402, 404,
822 405, 406, 408, 412, 409, 410, 413, 417, 412, 412,
823 401, 406, 398, 399, 418, 417, 421, 404, 423, 428,
824 425, 422, 402, 409, 410, 408, 421, 422, 425, 405,
825 413, 418, 429, 431, 432, 433, 435, 436, 440, 446,
Chris Lattnere869eef2005-11-12 00:11:49 +0000826
Reid Spencered951ea2007-05-19 07:22:10 +0000827 447, 428, 423, 440, 450, 443, 435, 448, 436, 452,
828 429, 449, 432, 433, 456, 446, 448, 431, 443, 453,
829 457, 458, 450, 447, 459, 449, 472, 460, 463, 462,
830 464, 465, 467, 452, 468, 466, 456, 460, 453, 462,
831 459, 469, 457, 468, 463, 466, 464, 470, 458, 473,
832 467, 469, 472, 465, 474, 475, 476, 477, 479, 473,
833 478, 475, 480, 482, 487, 483, 476, 484, 478, 485,
834 474, 470, 488, 489, 480, 495, 497, 498, 499, 485,
835 487, 477, 479, 489, 495, 498, 497, 500, 482, 483,
836 488, 484, 502, 503, 500, 504, 506, 499, 509, 503,
Chris Lattner75466192006-05-19 21:28:53 +0000837
Reid Spencered951ea2007-05-19 07:22:10 +0000838 502, 510, 511, 515, 509, 512, 514, 516, 517, 504,
839 518, 510, 519, 520, 514, 516, 518, 522, 523, 520,
840 506, 524, 512, 525, 517, 526, 511, 515, 519, 529,
841 528, 530, 522, 525, 531, 523, 528, 532, 534, 529,
842 535, 524, 536, 537, 541, 538, 545, 530, 534, 526,
843 531, 540, 541, 532, 542, 543, 544, 546, 548, 550,
844 536, 538, 537, 549, 535, 557, 548, 540, 542, 551,
845 545, 549, 555, 543, 560, 557, 533, 527, 544, 546,
846 555, 521, 513, 508, 507, 505, 501, 496, 494, 550,
847 493, 492, 491, 551, 490, 486, 560, 563, 563, 563,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000848
Reid Spencered951ea2007-05-19 07:22:10 +0000849 563, 563, 564, 564, 565, 565, 566, 481, 566, 566,
850 566, 567, 567, 568, 568, 568, 568, 568, 570, 570,
851 570, 570, 570, 471, 461, 455, 454, 451, 445, 444,
852 442, 441, 439, 438, 437, 434, 430, 427, 426, 424,
853 420, 419, 416, 415, 414, 411, 407, 403, 400, 392,
854 390, 385, 371, 366, 359, 358, 356, 343, 340, 339,
855 337, 334, 332, 330, 325, 324, 322, 318, 315, 314,
856 310, 307, 302, 297, 296, 288, 284, 283, 278, 277,
857 263, 260, 247, 238, 237, 235, 234, 232, 231, 230,
858 221, 218, 217, 213, 212, 211, 205, 202, 201, 199,
Reid Spencer3da59db2006-11-27 01:05:10 +0000859
Reid Spencered951ea2007-05-19 07:22:10 +0000860 198, 197, 196, 195, 194, 190, 166, 157, 153, 150,
861 147, 144, 140, 136, 135, 119, 93, 72, 63, 53,
862 43, 41, 39, 8, 7, 3, 562, 562, 562, 562,
863 562, 562, 562, 562, 562, 562, 562, 562, 562, 562,
864 562, 562, 562, 562, 562, 562, 562, 562, 562, 562,
865 562, 562, 562, 562, 562, 562, 562, 562, 562, 562,
866 562, 562, 562, 562, 562, 562, 562, 562, 562, 562,
867 562
Reid Spencer68a24bd2005-08-27 18:50:39 +0000868 } ;
869
Reid Spencered951ea2007-05-19 07:22:10 +0000870static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
871static char *yy_full_match;
872static int yy_lp;
873#define REJECT \
874{ \
875*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
876yy_cp = yy_full_match; /* restore poss. backed-over text */ \
877++yy_lp; \
878goto find_rule; \
879}
Reid Spencer68a24bd2005-08-27 18:50:39 +0000880#define yymore() yymore_used_but_not_detected
881#define YY_MORE_ADJ 0
882#define YY_RESTORE_YY_MORE_OFFSET
Reid Spencered951ea2007-05-19 07:22:10 +0000883char *yytext;
Chris Lattner8e008322007-05-22 06:47:55 +0000884#line 1 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencered951ea2007-05-19 07:22:10 +0000885#define INITIAL 0
Reid Spencer68a24bd2005-08-27 18:50:39 +0000886/*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
887//
888// The LLVM Compiler Infrastructure
889//
890// This file was developed by the LLVM research group and is distributed under
891// the University of Illinois Open Source License. See LICENSE.TXT for details.
892//
893//===----------------------------------------------------------------------===//
894//
895// This file implements the flex scanner for LLVM assembly languages files.
896//
897//===----------------------------------------------------------------------===*/
Reid Spencered951ea2007-05-19 07:22:10 +0000898#define YY_NEVER_INTERACTIVE 1
Chris Lattner8e008322007-05-22 06:47:55 +0000899#line 28 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +0000900#include "ParserInternals.h"
901#include "llvm/Module.h"
Chris Lattner8e008322007-05-22 06:47:55 +0000902#include "llvm/Support/MathExtras.h"
Reid Spencer68a24bd2005-08-27 18:50:39 +0000903#include <list>
904#include "llvmAsmParser.h"
905#include <cctype>
906#include <cstdlib>
907
908void set_scan_file(FILE * F){
Reid Spencered951ea2007-05-19 07:22:10 +0000909 yy_switch_to_buffer(yy_create_buffer( F, YY_BUF_SIZE ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +0000910}
911void set_scan_string (const char * str) {
Reid Spencered951ea2007-05-19 07:22:10 +0000912 yy_scan_string (str);
Reid Spencer68a24bd2005-08-27 18:50:39 +0000913}
914
Reid Spencer3ed469c2006-11-02 20:25:50 +0000915// Construct a token value for a non-obsolete token
Reid Spencer68a24bd2005-08-27 18:50:39 +0000916#define RET_TOK(type, Enum, sym) \
Reid Spencera132e042006-12-03 05:46:11 +0000917 llvmAsmlval.type = Instruction::Enum; \
918 return sym
919
Reid Spencer3ed469c2006-11-02 20:25:50 +0000920// Construct a token value for an obsolete token
Reid Spencera132e042006-12-03 05:46:11 +0000921#define RET_TY(CTYPE, SYM) \
922 llvmAsmlval.PrimType = CTYPE;\
Reid Spencer481169e2006-12-01 00:33:46 +0000923 return SYM
Reid Spencer68a24bd2005-08-27 18:50:39 +0000924
925namespace llvm {
926
927// TODO: All of the static identifiers are figured out by the lexer,
928// these should be hashed to reduce the lexer size
929
930
931// atoull - Convert an ascii string of decimal digits into the unsigned long
932// long representation... this does not have to do input error checking,
933// because we know that the input will be matched by a suitable regex...
934//
935static uint64_t atoull(const char *Buffer) {
936 uint64_t Result = 0;
937 for (; *Buffer; Buffer++) {
938 uint64_t OldRes = Result;
939 Result *= 10;
940 Result += *Buffer-'0';
941 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000942 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000943 }
944 return Result;
945}
946
947static uint64_t HexIntToVal(const char *Buffer) {
948 uint64_t Result = 0;
949 for (; *Buffer; ++Buffer) {
950 uint64_t OldRes = Result;
951 Result *= 16;
952 char C = *Buffer;
953 if (C >= '0' && C <= '9')
954 Result += C-'0';
955 else if (C >= 'A' && C <= 'F')
956 Result += C-'A'+10;
957 else if (C >= 'a' && C <= 'f')
958 Result += C-'a'+10;
959
960 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000961 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000962 }
963 return Result;
964}
965
966
967// HexToFP - Convert the ascii string in hexidecimal format to the floating
968// point representation of it.
969//
970static double HexToFP(const char *Buffer) {
Chris Lattner8e008322007-05-22 06:47:55 +0000971 return BitsToDouble(HexIntToVal(Buffer)); // Cast Hex constant to double
Reid Spencer68a24bd2005-08-27 18:50:39 +0000972}
973
974
975// UnEscapeLexed - Run through the specified buffer and change \xx codes to the
976// appropriate character. If AllowNull is set to false, a \00 value will cause
977// an exception to be thrown.
978//
979// If AllowNull is set to true, the return value of the function points to the
980// last character of the string in memory.
981//
982char *UnEscapeLexed(char *Buffer, bool AllowNull) {
983 char *BOut = Buffer;
984 for (char *BIn = Buffer; *BIn; ) {
985 if (BIn[0] == '\\' && isxdigit(BIn[1]) && isxdigit(BIn[2])) {
986 char Tmp = BIn[3]; BIn[3] = 0; // Terminate string
987 *BOut = (char)strtol(BIn+1, 0, 16); // Convert to number
988 if (!AllowNull && !*BOut)
Reid Spencer61c83e02006-08-18 08:43:06 +0000989 GenerateError("String literal cannot accept \\00 escape!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000990
991 BIn[3] = Tmp; // Restore character
992 BIn += 3; // Skip over handled chars
993 ++BOut;
994 } else {
995 *BOut++ = *BIn++;
996 }
997 }
998
999 return BOut;
1000}
1001
1002} // End llvm namespace
1003
1004using namespace llvm;
1005
1006#define YY_NEVER_INTERACTIVE 1
1007/* Comments start with a ; and go till end of line */
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001008/* Local Values and Type identifiers start with a % sign */
1009/* Global Value identifiers start with an @ sign */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001010/* Label identifiers end with a colon */
1011/* Quoted names can contain any character except " and \ */
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001012/* LocalVarID/GlobalVarID: match an unnamed local variable slot ID. */
1013/* Integer types are specified with i and a bitwidth */
1014/* E[PN]Integer: match positive and negative literal integer values. */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001015/* FPConstant - A Floating point constant.
1016 */
1017/* HexFPConstant - Floating point constant represented in IEEE format as a
1018 * hexadecimal number for when exponential notation is not precise enough.
1019 */
1020/* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
1021 * it to deal with 64 bit numbers.
1022 */
Chris Lattner8e008322007-05-22 06:47:55 +00001023#line 1024 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001024
1025/* Macros after this point can all be overridden by user definitions in
1026 * section 1.
1027 */
1028
1029#ifndef YY_SKIP_YYWRAP
1030#ifdef __cplusplus
Reid Spencered951ea2007-05-19 07:22:10 +00001031extern "C" int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001032#else
Reid Spencered951ea2007-05-19 07:22:10 +00001033extern int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001034#endif
1035#endif
1036
Reid Spencered951ea2007-05-19 07:22:10 +00001037#ifndef YY_NO_UNPUT
1038static inline void yyunput YY_PROTO(( int c, char *buf_ptr ));
1039#endif
1040
Reid Spencer68a24bd2005-08-27 18:50:39 +00001041#ifndef yytext_ptr
Reid Spencered951ea2007-05-19 07:22:10 +00001042static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001043#endif
1044
1045#ifdef YY_NEED_STRLEN
Reid Spencered951ea2007-05-19 07:22:10 +00001046static int yy_flex_strlen YY_PROTO(( yyconst char * ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001047#endif
1048
1049#ifndef YY_NO_INPUT
1050#ifdef __cplusplus
Reid Spencered951ea2007-05-19 07:22:10 +00001051static int yyinput YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001052#else
Reid Spencered951ea2007-05-19 07:22:10 +00001053static int input YY_PROTO(( void ));
1054#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001055#endif
1056
Reid Spencered951ea2007-05-19 07:22:10 +00001057#if YY_STACK_USED
1058static int yy_start_stack_ptr = 0;
1059static int yy_start_stack_depth = 0;
1060static int *yy_start_stack = 0;
1061#ifndef YY_NO_PUSH_STATE
1062static void yy_push_state YY_PROTO(( int new_state ));
1063#endif
1064#ifndef YY_NO_POP_STATE
1065static void yy_pop_state YY_PROTO(( void ));
1066#endif
1067#ifndef YY_NO_TOP_STATE
1068static int yy_top_state YY_PROTO(( void ));
1069#endif
1070
1071#else
1072#define YY_NO_PUSH_STATE 1
1073#define YY_NO_POP_STATE 1
1074#define YY_NO_TOP_STATE 1
1075#endif
1076
1077#ifdef YY_MALLOC_DECL
1078YY_MALLOC_DECL
1079#else
1080#if __STDC__
1081#ifndef __cplusplus
1082#include <stdlib.h>
1083#endif
1084#else
1085/* Just try to get by without declaring the routines. This will fail
1086 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1087 * or sizeof(void*) != sizeof(int).
1088 */
1089#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001090#endif
1091
1092/* Amount of stuff to slurp up with each read. */
1093#ifndef YY_READ_BUF_SIZE
1094#define YY_READ_BUF_SIZE 8192
1095#endif
1096
1097/* Copy whatever the last rule matched to the standard output. */
Reid Spencered951ea2007-05-19 07:22:10 +00001098
Reid Spencer68a24bd2005-08-27 18:50:39 +00001099#ifndef ECHO
1100/* This used to be an fputs(), but since the string might contain NUL's,
1101 * we now use fwrite().
1102 */
Reid Spencered951ea2007-05-19 07:22:10 +00001103#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001104#endif
1105
1106/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1107 * is returned in "result".
1108 */
1109#ifndef YY_INPUT
1110#define YY_INPUT(buf,result,max_size) \
Reid Spencered951ea2007-05-19 07:22:10 +00001111 if ( yy_current_buffer->yy_is_interactive ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001112 { \
Reid Spencered951ea2007-05-19 07:22:10 +00001113 int c = '*', n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001114 for ( n = 0; n < max_size && \
Reid Spencered951ea2007-05-19 07:22:10 +00001115 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001116 buf[n] = (char) c; \
1117 if ( c == '\n' ) \
1118 buf[n++] = (char) c; \
Reid Spencered951ea2007-05-19 07:22:10 +00001119 if ( c == EOF && ferror( yyin ) ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001120 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1121 result = n; \
1122 } \
Reid Spencered951ea2007-05-19 07:22:10 +00001123 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1124 && ferror( yyin ) ) \
1125 YY_FATAL_ERROR( "input in flex scanner failed" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001126#endif
1127
1128/* No semi-colon after return; correct usage is to write "yyterminate();" -
1129 * we don't want an extra ';' after the "return" because that will cause
1130 * some compilers to complain about unreachable statements.
1131 */
1132#ifndef yyterminate
1133#define yyterminate() return YY_NULL
1134#endif
1135
1136/* Number of entries by which start-condition stack grows. */
1137#ifndef YY_START_STACK_INCR
1138#define YY_START_STACK_INCR 25
1139#endif
1140
1141/* Report a fatal error. */
1142#ifndef YY_FATAL_ERROR
1143#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1144#endif
1145
1146/* Default declaration of generated scanner - a define so the user can
1147 * easily add parameters.
1148 */
1149#ifndef YY_DECL
Reid Spencered951ea2007-05-19 07:22:10 +00001150#define YY_DECL int yylex YY_PROTO(( void ))
1151#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001152
Reid Spencered951ea2007-05-19 07:22:10 +00001153/* Code executed at the beginning of each rule, after yytext and yyleng
Reid Spencer68a24bd2005-08-27 18:50:39 +00001154 * have been set up.
1155 */
1156#ifndef YY_USER_ACTION
1157#define YY_USER_ACTION
1158#endif
1159
1160/* Code executed at the end of each rule. */
1161#ifndef YY_BREAK
1162#define YY_BREAK break;
1163#endif
1164
1165#define YY_RULE_SETUP \
1166 YY_USER_ACTION
1167
1168YY_DECL
Reid Spencered951ea2007-05-19 07:22:10 +00001169 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00001170 register yy_state_type yy_current_state;
Chris Lattner8e008322007-05-22 06:47:55 +00001171 register char *yy_cp, *yy_bp;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001172 register int yy_act;
Reid Spencered951ea2007-05-19 07:22:10 +00001173
Chris Lattner8e008322007-05-22 06:47:55 +00001174#line 182 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001175
1176
Chris Lattner8e008322007-05-22 06:47:55 +00001177#line 1178 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001178
Reid Spencered951ea2007-05-19 07:22:10 +00001179 if ( yy_init )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001180 {
Reid Spencered951ea2007-05-19 07:22:10 +00001181 yy_init = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001182
1183#ifdef YY_USER_INIT
1184 YY_USER_INIT;
1185#endif
1186
Reid Spencered951ea2007-05-19 07:22:10 +00001187 if ( ! yy_start )
1188 yy_start = 1; /* first start state */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001189
Reid Spencered951ea2007-05-19 07:22:10 +00001190 if ( ! yyin )
1191 yyin = stdin;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001192
Reid Spencered951ea2007-05-19 07:22:10 +00001193 if ( ! yyout )
1194 yyout = stdout;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001195
Reid Spencered951ea2007-05-19 07:22:10 +00001196 if ( ! yy_current_buffer )
1197 yy_current_buffer =
1198 yy_create_buffer( yyin, YY_BUF_SIZE );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001199
Reid Spencered951ea2007-05-19 07:22:10 +00001200 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00001201 }
1202
1203 while ( 1 ) /* loops until end-of-file is reached */
1204 {
Reid Spencered951ea2007-05-19 07:22:10 +00001205 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001206
Reid Spencered951ea2007-05-19 07:22:10 +00001207 /* Support of yytext. */
1208 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001209
1210 /* yy_bp points to the position in yy_ch_buf of the start of
1211 * the current run.
1212 */
1213 yy_bp = yy_cp;
1214
Reid Spencered951ea2007-05-19 07:22:10 +00001215 yy_current_state = yy_start;
1216 yy_state_ptr = yy_state_buf;
1217 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001218yy_match:
1219 do
1220 {
1221 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1222 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1223 {
1224 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencered951ea2007-05-19 07:22:10 +00001225 if ( yy_current_state >= 563 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001226 yy_c = yy_meta[(unsigned int) yy_c];
1227 }
1228 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencered951ea2007-05-19 07:22:10 +00001229 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001230 ++yy_cp;
1231 }
Reid Spencered951ea2007-05-19 07:22:10 +00001232 while ( yy_current_state != 562 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001233
1234yy_find_action:
Reid Spencered951ea2007-05-19 07:22:10 +00001235 yy_current_state = *--yy_state_ptr;
1236 yy_lp = yy_accept[yy_current_state];
1237find_rule: /* we branch to this label when backing up */
1238 for ( ; ; ) /* until we find what rule we matched */
1239 {
1240 if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
1241 {
1242 yy_act = yy_acclist[yy_lp];
1243 {
1244 yy_full_match = yy_cp;
1245 break;
1246 }
1247 }
1248 --yy_cp;
1249 yy_current_state = *--yy_state_ptr;
1250 yy_lp = yy_accept[yy_current_state];
1251 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001252
1253 YY_DO_BEFORE_ACTION;
1254
Reid Spencered951ea2007-05-19 07:22:10 +00001255 if ( yy_act != YY_END_OF_BUFFER )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001256 {
1257 int yyl;
Reid Spencered951ea2007-05-19 07:22:10 +00001258 for ( yyl = 0; yyl < yyleng; ++yyl )
1259 if ( yytext[yyl] == '\n' )
1260 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001261 }
1262
1263do_action: /* This label is used only to access EOF actions. */
1264
Reid Spencered951ea2007-05-19 07:22:10 +00001265
Reid Spencer68a24bd2005-08-27 18:50:39 +00001266 switch ( yy_act )
1267 { /* beginning of action switch */
1268case 1:
1269YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001270#line 184 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001271{ /* Ignore comments for now */ }
1272 YY_BREAK
1273case 2:
1274YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001275#line 186 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001276{ return BEGINTOK; }
1277 YY_BREAK
1278case 3:
1279YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001280#line 187 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001281{ return ENDTOK; }
1282 YY_BREAK
1283case 4:
1284YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001285#line 188 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001286{ return TRUETOK; }
1287 YY_BREAK
1288case 5:
1289YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001290#line 189 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001291{ return FALSETOK; }
1292 YY_BREAK
1293case 6:
1294YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001295#line 190 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001296{ return DECLARE; }
1297 YY_BREAK
1298case 7:
1299YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001300#line 191 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001301{ return DEFINE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001302 YY_BREAK
1303case 8:
1304YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001305#line 192 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001306{ return GLOBAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001307 YY_BREAK
1308case 9:
1309YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001310#line 193 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001311{ return CONSTANT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001312 YY_BREAK
1313case 10:
1314YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001315#line 194 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001316{ return INTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001317 YY_BREAK
1318case 11:
1319YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001320#line 195 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001321{ return LINKONCE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001322 YY_BREAK
1323case 12:
1324YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001325#line 196 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001326{ return WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001327 YY_BREAK
1328case 13:
1329YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001330#line 197 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001331{ return APPENDING; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001332 YY_BREAK
1333case 14:
1334YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001335#line 198 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001336{ return DLLIMPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001337 YY_BREAK
1338case 15:
1339YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001340#line 199 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001341{ return DLLEXPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001342 YY_BREAK
1343case 16:
1344YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001345#line 200 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001346{ return HIDDEN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001347 YY_BREAK
1348case 17:
1349YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001350#line 201 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001351{ return PROTECTED; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001352 YY_BREAK
1353case 18:
1354YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001355#line 202 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001356{ return EXTERN_WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001357 YY_BREAK
1358case 19:
1359YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001360#line 203 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001361{ return EXTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001362 YY_BREAK
1363case 20:
1364YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001365#line 204 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001366{ return THREAD_LOCAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001367 YY_BREAK
1368case 21:
1369YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001370#line 205 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001371{ return ZEROINITIALIZER; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001372 YY_BREAK
1373case 22:
1374YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001375#line 206 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001376{ return DOTDOTDOT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001377 YY_BREAK
1378case 23:
1379YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001380#line 207 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001381{ return UNDEF; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001382 YY_BREAK
1383case 24:
1384YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001385#line 208 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001386{ return NULL_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001387 YY_BREAK
1388case 25:
1389YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001390#line 209 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001391{ return TO; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001392 YY_BREAK
1393case 26:
1394YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001395#line 210 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001396{ return TAIL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001397 YY_BREAK
1398case 27:
1399YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001400#line 211 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001401{ return TARGET; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001402 YY_BREAK
1403case 28:
1404YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001405#line 212 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001406{ return TRIPLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001407 YY_BREAK
1408case 29:
1409YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001410#line 213 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001411{ return DEPLIBS; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001412 YY_BREAK
1413case 30:
1414YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001415#line 214 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001416{ return DATALAYOUT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001417 YY_BREAK
1418case 31:
1419YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001420#line 215 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001421{ return VOLATILE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001422 YY_BREAK
1423case 32:
1424YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001425#line 216 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001426{ return ALIGN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001427 YY_BREAK
1428case 33:
1429YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001430#line 217 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001431{ return SECTION; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001432 YY_BREAK
1433case 34:
1434YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001435#line 218 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001436{ return ALIAS; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001437 YY_BREAK
1438case 35:
1439YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001440#line 219 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001441{ return MODULE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001442 YY_BREAK
1443case 36:
1444YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001445#line 220 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001446{ return ASM_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001447 YY_BREAK
1448case 37:
1449YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001450#line 221 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001451{ return SIDEEFFECT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001452 YY_BREAK
1453case 38:
1454YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001455#line 223 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001456{ return CC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001457 YY_BREAK
1458case 39:
1459YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001460#line 224 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001461{ return CCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001462 YY_BREAK
1463case 40:
1464YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001465#line 225 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001466{ return FASTCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001467 YY_BREAK
1468case 41:
1469YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001470#line 226 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001471{ return COLDCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001472 YY_BREAK
1473case 42:
1474YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001475#line 227 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001476{ return X86_STDCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001477 YY_BREAK
1478case 43:
1479YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001480#line 228 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001481{ return X86_FASTCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001482 YY_BREAK
1483case 44:
1484YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001485#line 230 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001486{ return INREG; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001487 YY_BREAK
1488case 45:
1489YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001490#line 231 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001491{ return SRET; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001492 YY_BREAK
1493case 46:
1494YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001495#line 232 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001496{ return NOUNWIND; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001497 YY_BREAK
1498case 47:
1499YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001500#line 233 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001501{ return NORETURN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001502 YY_BREAK
1503case 48:
1504YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001505#line 235 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001506{ RET_TY(Type::VoidTy, VOID); }
Reid Spencer832254e2007-02-02 02:16:23 +00001507 YY_BREAK
1508case 49:
1509YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001510#line 236 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001511{ RET_TY(Type::FloatTy, FLOAT); }
Reid Spencer832254e2007-02-02 02:16:23 +00001512 YY_BREAK
1513case 50:
1514YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001515#line 237 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001516{ RET_TY(Type::DoubleTy,DOUBLE);}
Reid Spencer67d8ed92007-03-22 02:14:08 +00001517 YY_BREAK
1518case 51:
1519YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001520#line 238 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001521{ RET_TY(Type::LabelTy, LABEL); }
Lauro Ramos Venancioc7635522007-04-12 18:32:50 +00001522 YY_BREAK
1523case 52:
1524YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001525#line 239 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001526{ return TYPE; }
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001527 YY_BREAK
1528case 53:
1529YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001530#line 240 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001531{ return OPAQUE; }
1532 YY_BREAK
1533case 54:
1534YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001535#line 241 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencered951ea2007-05-19 07:22:10 +00001536{ uint64_t NumBits = atoull(yytext+1);
Reid Spencera54b7cb2007-01-12 07:05:14 +00001537 if (NumBits < IntegerType::MIN_INT_BITS ||
1538 NumBits > IntegerType::MAX_INT_BITS)
1539 GenerateError("Bitwidth for integer type out of range!");
1540 const Type* Ty = IntegerType::get(NumBits);
1541 RET_TY(Ty, INTTYPE);
1542 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001543 YY_BREAK
Reid Spencer68a24bd2005-08-27 18:50:39 +00001544case 55:
1545YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001546#line 249 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001547{ RET_TOK(BinaryOpVal, Add, ADD); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001548 YY_BREAK
1549case 56:
1550YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001551#line 250 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001552{ RET_TOK(BinaryOpVal, Sub, SUB); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001553 YY_BREAK
1554case 57:
1555YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001556#line 251 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001557{ RET_TOK(BinaryOpVal, Mul, MUL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001558 YY_BREAK
1559case 58:
1560YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001561#line 252 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001562{ RET_TOK(BinaryOpVal, UDiv, UDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001563 YY_BREAK
1564case 59:
1565YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001566#line 253 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001567{ RET_TOK(BinaryOpVal, SDiv, SDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001568 YY_BREAK
1569case 60:
1570YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001571#line 254 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001572{ RET_TOK(BinaryOpVal, FDiv, FDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001573 YY_BREAK
1574case 61:
1575YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001576#line 255 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001577{ RET_TOK(BinaryOpVal, URem, UREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001578 YY_BREAK
1579case 62:
1580YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001581#line 256 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001582{ RET_TOK(BinaryOpVal, SRem, SREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001583 YY_BREAK
1584case 63:
1585YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001586#line 257 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001587{ RET_TOK(BinaryOpVal, FRem, FREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001588 YY_BREAK
1589case 64:
1590YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001591#line 258 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001592{ RET_TOK(BinaryOpVal, Shl, SHL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001593 YY_BREAK
1594case 65:
1595YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001596#line 259 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001597{ RET_TOK(BinaryOpVal, LShr, LSHR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001598 YY_BREAK
1599case 66:
1600YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001601#line 260 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001602{ RET_TOK(BinaryOpVal, AShr, ASHR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001603 YY_BREAK
1604case 67:
1605YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001606#line 261 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001607{ RET_TOK(BinaryOpVal, And, AND); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001608 YY_BREAK
1609case 68:
1610YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001611#line 262 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001612{ RET_TOK(BinaryOpVal, Or , OR ); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001613 YY_BREAK
1614case 69:
1615YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001616#line 263 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001617{ RET_TOK(BinaryOpVal, Xor, XOR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001618 YY_BREAK
1619case 70:
1620YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001621#line 264 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001622{ RET_TOK(OtherOpVal, ICmp, ICMP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001623 YY_BREAK
1624case 71:
1625YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001626#line 265 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001627{ RET_TOK(OtherOpVal, FCmp, FCMP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001628 YY_BREAK
1629case 72:
1630YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001631#line 267 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001632{ return EQ; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001633 YY_BREAK
1634case 73:
1635YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001636#line 268 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001637{ return NE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001638 YY_BREAK
1639case 74:
1640YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001641#line 269 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001642{ return SLT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001643 YY_BREAK
1644case 75:
1645YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001646#line 270 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001647{ return SGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001648 YY_BREAK
1649case 76:
1650YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001651#line 271 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001652{ return SLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001653 YY_BREAK
1654case 77:
1655YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001656#line 272 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001657{ return SGE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001658 YY_BREAK
1659case 78:
1660YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001661#line 273 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001662{ return ULT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001663 YY_BREAK
1664case 79:
1665YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001666#line 274 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001667{ return UGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001668 YY_BREAK
1669case 80:
1670YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001671#line 275 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001672{ return ULE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001673 YY_BREAK
1674case 81:
1675YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001676#line 276 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001677{ return UGE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001678 YY_BREAK
1679case 82:
1680YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001681#line 277 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001682{ return OEQ; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001683 YY_BREAK
1684case 83:
1685YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001686#line 278 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001687{ return ONE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001688 YY_BREAK
1689case 84:
1690YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001691#line 279 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001692{ return OLT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001693 YY_BREAK
1694case 85:
1695YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001696#line 280 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001697{ return OGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001698 YY_BREAK
1699case 86:
1700YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001701#line 281 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001702{ return OLE; }
Nate Begeman14b05292005-11-05 09:21:28 +00001703 YY_BREAK
1704case 87:
1705YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001706#line 282 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001707{ return OGE; }
Chris Lattnere869eef2005-11-12 00:11:49 +00001708 YY_BREAK
1709case 88:
1710YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001711#line 283 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001712{ return ORD; }
Robert Bocchino9c62b562006-01-10 19:04:32 +00001713 YY_BREAK
1714case 89:
1715YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001716#line 284 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001717{ return UNO; }
Robert Bocchino2def1b32006-01-17 20:06:25 +00001718 YY_BREAK
1719case 90:
1720YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001721#line 285 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001722{ return UEQ; }
Chris Lattner8335e842006-01-23 23:05:42 +00001723 YY_BREAK
1724case 91:
1725YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001726#line 286 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001727{ return UNE; }
Chris Lattner66316012006-01-24 04:14:29 +00001728 YY_BREAK
1729case 92:
1730YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001731#line 288 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001732{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
Chris Lattner0e9c3762006-01-25 22:27:16 +00001733 YY_BREAK
1734case 93:
1735YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001736#line 289 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001737{ RET_TOK(OtherOpVal, Call, CALL); }
Chris Lattnerd5efe842006-04-08 01:18:56 +00001738 YY_BREAK
1739case 94:
1740YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001741#line 290 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001742{ RET_TOK(CastOpVal, Trunc, TRUNC); }
Chris Lattner75466192006-05-19 21:28:53 +00001743 YY_BREAK
1744case 95:
1745YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001746#line 291 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001747{ RET_TOK(CastOpVal, ZExt, ZEXT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001748 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001749case 96:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001750YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001751#line 292 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001752{ RET_TOK(CastOpVal, SExt, SEXT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001753 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001754case 97:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001755YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001756#line 293 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001757{ RET_TOK(CastOpVal, FPTrunc, FPTRUNC); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001758 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001759case 98:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001760YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001761#line 294 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001762{ RET_TOK(CastOpVal, FPExt, FPEXT); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001763 YY_BREAK
1764case 99:
1765YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001766#line 295 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001767{ RET_TOK(CastOpVal, UIToFP, UITOFP); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001768 YY_BREAK
1769case 100:
1770YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001771#line 296 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001772{ RET_TOK(CastOpVal, SIToFP, SITOFP); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001773 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001774case 101:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001775YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001776#line 297 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001777{ RET_TOK(CastOpVal, FPToUI, FPTOUI); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001778 YY_BREAK
1779case 102:
1780YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001781#line 298 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001782{ RET_TOK(CastOpVal, FPToSI, FPTOSI); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001783 YY_BREAK
1784case 103:
1785YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001786#line 299 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001787{ RET_TOK(CastOpVal, IntToPtr, INTTOPTR); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001788 YY_BREAK
1789case 104:
1790YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001791#line 300 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001792{ RET_TOK(CastOpVal, PtrToInt, PTRTOINT); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001793 YY_BREAK
1794case 105:
1795YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001796#line 301 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001797{ RET_TOK(CastOpVal, BitCast, BITCAST); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001798 YY_BREAK
1799case 106:
1800YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001801#line 302 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001802{ RET_TOK(OtherOpVal, Select, SELECT); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001803 YY_BREAK
1804case 107:
1805YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001806#line 303 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001807{ RET_TOK(OtherOpVal, VAArg , VAARG); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001808 YY_BREAK
1809case 108:
1810YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001811#line 304 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001812{ RET_TOK(TermOpVal, Ret, RET); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001813 YY_BREAK
1814case 109:
1815YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001816#line 305 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001817{ RET_TOK(TermOpVal, Br, BR); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001818 YY_BREAK
1819case 110:
1820YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001821#line 306 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001822{ RET_TOK(TermOpVal, Switch, SWITCH); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001823 YY_BREAK
1824case 111:
1825YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001826#line 307 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001827{ RET_TOK(TermOpVal, Invoke, INVOKE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001828 YY_BREAK
1829case 112:
1830YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001831#line 308 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001832{ RET_TOK(TermOpVal, Unwind, UNWIND); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001833 YY_BREAK
1834case 113:
1835YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001836#line 309 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001837{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001838 YY_BREAK
1839case 114:
1840YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001841#line 311 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001842{ RET_TOK(MemOpVal, Malloc, MALLOC); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001843 YY_BREAK
1844case 115:
1845YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001846#line 312 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001847{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001848 YY_BREAK
1849case 116:
1850YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001851#line 313 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001852{ RET_TOK(MemOpVal, Free, FREE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001853 YY_BREAK
1854case 117:
1855YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001856#line 314 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001857{ RET_TOK(MemOpVal, Load, LOAD); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001858 YY_BREAK
1859case 118:
1860YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001861#line 315 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001862{ RET_TOK(MemOpVal, Store, STORE); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001863 YY_BREAK
Reid Spencer41dff5e2007-01-26 08:05:27 +00001864case 119:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001865YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001866#line 316 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001867{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
Reid Spencer67d8ed92007-03-22 02:14:08 +00001868 YY_BREAK
1869case 120:
1870YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001871#line 318 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001872{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001873 YY_BREAK
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001874case 121:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001875YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001876#line 319 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001877{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001878 YY_BREAK
1879case 122:
1880YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001881#line 320 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001882{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
Owen Anderson1dc69692006-10-18 02:21:48 +00001883 YY_BREAK
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001884case 123:
Owen Anderson1dc69692006-10-18 02:21:48 +00001885YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001886#line 323 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001887{
Reid Spencered951ea2007-05-19 07:22:10 +00001888 UnEscapeLexed(yytext+1);
1889 llvmAsmlval.StrVal = strdup(yytext+1); // Skip %
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001890 return LOCALVAR;
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001891 }
1892 YY_BREAK
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001893case 124:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001894YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001895#line 328 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001896{
Reid Spencered951ea2007-05-19 07:22:10 +00001897 UnEscapeLexed(yytext+1);
1898 llvmAsmlval.StrVal = strdup(yytext+1); // Skip @
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001899 return GLOBALVAR;
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001900 }
1901 YY_BREAK
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001902case 125:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001903YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001904#line 333 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Lauro Ramos Venancioc7635522007-04-12 18:32:50 +00001905{
Reid Spencered951ea2007-05-19 07:22:10 +00001906 yytext[strlen(yytext)-1] = 0; // nuke colon
1907 UnEscapeLexed(yytext);
1908 llvmAsmlval.StrVal = strdup(yytext);
Lauro Ramos Venancioc7635522007-04-12 18:32:50 +00001909 return LABELSTR;
1910 }
1911 YY_BREAK
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001912case 126:
Lauro Ramos Venancioc7635522007-04-12 18:32:50 +00001913YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001914#line 339 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001915{
Reid Spencered951ea2007-05-19 07:22:10 +00001916 yytext[strlen(yytext)-2] = 0; // nuke colon, end quote
1917 UnEscapeLexed(yytext+1);
1918 llvmAsmlval.StrVal = strdup(yytext+1);
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001919 return LABELSTR;
1920 }
1921 YY_BREAK
1922case 127:
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001923YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001924#line 346 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001925{ // Note that we cannot unescape a string constant here! The
1926 // string constant might contain a \00 which would not be
1927 // understood by the string stuff. It is valid to make a
1928 // [sbyte] c"Hello World\00" constant, for example.
1929 //
Reid Spencered951ea2007-05-19 07:22:10 +00001930 yytext[strlen(yytext)-1] = 0; // nuke end quote
1931 llvmAsmlval.StrVal = strdup(yytext+1); // Nuke start quote
Reid Spencer68a24bd2005-08-27 18:50:39 +00001932 return STRINGCONSTANT;
1933 }
1934 YY_BREAK
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001935case 128:
Reid Spencer6f407902007-01-13 05:00:46 +00001936YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001937#line 355 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001938{
Reid Spencered951ea2007-05-19 07:22:10 +00001939 yytext[strlen(yytext)-1] = 0; // nuke end quote
1940 llvmAsmlval.StrVal = strdup(yytext+2); // Nuke @, quote
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001941 return ATSTRINGCONSTANT;
1942 }
1943 YY_BREAK
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001944case 129:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001945YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001946#line 361 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencered951ea2007-05-19 07:22:10 +00001947{
1948 yytext[strlen(yytext)-1] = 0; // nuke end quote
Chris Lattnerd3bd0702007-05-22 06:56:32 +00001949 llvmAsmlval.StrVal = strdup(yytext+2); // Nuke %, quote
Reid Spencered951ea2007-05-19 07:22:10 +00001950 return PCTSTRINGCONSTANT;
1951 }
1952 YY_BREAK
1953case 130:
1954YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001955#line 366 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencered951ea2007-05-19 07:22:10 +00001956{ int len = strlen(yytext);
Reid Spencer38c91a92007-02-28 02:24:54 +00001957 uint32_t numBits = ((len * 64) / 19) + 1;
Reid Spencered951ea2007-05-19 07:22:10 +00001958 APInt Tmp(numBits, yytext, len, 10);
Reid Spencer38c91a92007-02-28 02:24:54 +00001959 uint32_t activeBits = Tmp.getActiveBits();
1960 if (activeBits > 0 && activeBits < numBits)
1961 Tmp.trunc(activeBits);
1962 if (Tmp.getBitWidth() > 64) {
1963 llvmAsmlval.APIntVal = new APInt(Tmp);
1964 return EUAPINTVAL;
1965 } else {
1966 llvmAsmlval.UInt64Val = Tmp.getZExtValue();
1967 return EUINT64VAL;
1968 }
1969 }
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001970 YY_BREAK
Reid Spencered951ea2007-05-19 07:22:10 +00001971case 131:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001972YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001973#line 380 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencered951ea2007-05-19 07:22:10 +00001974{ int len = strlen(yytext);
Reid Spencerafc37822007-03-09 21:19:09 +00001975 uint32_t numBits = (((len-1) * 64) / 19) + 2;
Reid Spencered951ea2007-05-19 07:22:10 +00001976 APInt Tmp(numBits, yytext, len, 10);
Reid Spencer38c91a92007-02-28 02:24:54 +00001977 uint32_t minBits = Tmp.getMinSignedBits();
1978 if (minBits > 0 && minBits < numBits)
1979 Tmp.trunc(minBits);
1980 if (Tmp.getBitWidth() > 64) {
1981 llvmAsmlval.APIntVal = new APInt(Tmp);
1982 return ESAPINTVAL;
1983 } else {
1984 llvmAsmlval.SInt64Val = Tmp.getSExtValue();
1985 return ESINT64VAL;
1986 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001987 }
1988 YY_BREAK
Reid Spencered951ea2007-05-19 07:22:10 +00001989case 132:
Reid Spencer6f407902007-01-13 05:00:46 +00001990YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00001991#line 395 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencered951ea2007-05-19 07:22:10 +00001992{ int len = strlen(yytext+3) - 3;
Reid Spencer38c91a92007-02-28 02:24:54 +00001993 uint32_t bits = len * 4;
Reid Spencered951ea2007-05-19 07:22:10 +00001994 APInt Tmp(bits, yytext+3, len, 16);
Reid Spencer38c91a92007-02-28 02:24:54 +00001995 uint32_t activeBits = Tmp.getActiveBits();
1996 if (activeBits > 0 && activeBits < bits)
1997 Tmp.trunc(activeBits);
1998 if (Tmp.getBitWidth() > 64) {
1999 llvmAsmlval.APIntVal = new APInt(Tmp);
Reid Spencered951ea2007-05-19 07:22:10 +00002000 return yytext[0] == 's' ? ESAPINTVAL : EUAPINTVAL;
2001 } else if (yytext[0] == 's') {
Reid Spencer38c91a92007-02-28 02:24:54 +00002002 llvmAsmlval.SInt64Val = Tmp.getSExtValue();
2003 return ESINT64VAL;
2004 } else {
2005 llvmAsmlval.UInt64Val = Tmp.getZExtValue();
2006 return EUINT64VAL;
2007 }
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002008 }
Reid Spencer6f407902007-01-13 05:00:46 +00002009 YY_BREAK
Reid Spencered951ea2007-05-19 07:22:10 +00002010case 133:
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002011YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00002012#line 413 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002013{
Reid Spencered951ea2007-05-19 07:22:10 +00002014 uint64_t Val = atoull(yytext+1);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002015 if ((unsigned)Val != Val)
2016 GenerateError("Invalid value number (too large)!");
2017 llvmAsmlval.UIntVal = unsigned(Val);
2018 return LOCALVAL_ID;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002019 }
2020 YY_BREAK
Reid Spencered951ea2007-05-19 07:22:10 +00002021case 134:
Owen Anderson1dc69692006-10-18 02:21:48 +00002022YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00002023#line 420 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002024{
Reid Spencered951ea2007-05-19 07:22:10 +00002025 uint64_t Val = atoull(yytext+1);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002026 if ((unsigned)Val != Val)
2027 GenerateError("Invalid value number (too large)!");
2028 llvmAsmlval.UIntVal = unsigned(Val);
2029 return GLOBALVAL_ID;
2030 }
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002031 YY_BREAK
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00002032case 135:
2033YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00002034#line 428 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencered951ea2007-05-19 07:22:10 +00002035{ llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
2036 YY_BREAK
2037case 136:
2038YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00002039#line 429 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencered951ea2007-05-19 07:22:10 +00002040{ llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002041 YY_BREAK
2042case YY_STATE_EOF(INITIAL):
Chris Lattner8e008322007-05-22 06:47:55 +00002043#line 431 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002044{
2045 /* Make sure to free the internal buffers for flex when we are
2046 * done reading our input!
2047 */
Reid Spencered951ea2007-05-19 07:22:10 +00002048 yy_delete_buffer(YY_CURRENT_BUFFER);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002049 return EOF;
2050 }
2051 YY_BREAK
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00002052case 137:
2053YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00002054#line 439 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencered951ea2007-05-19 07:22:10 +00002055{ /* Ignore whitespace */ }
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00002056 YY_BREAK
2057case 138:
2058YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00002059#line 440 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencered951ea2007-05-19 07:22:10 +00002060{ return yytext[0]; }
2061 YY_BREAK
2062case 139:
2063YY_RULE_SETUP
Chris Lattner8e008322007-05-22 06:47:55 +00002064#line 442 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002065YY_FATAL_ERROR( "flex scanner jammed" );
2066 YY_BREAK
Chris Lattner8e008322007-05-22 06:47:55 +00002067#line 2068 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002068
2069 case YY_END_OF_BUFFER:
2070 {
2071 /* Amount of text matched not including the EOB char. */
Reid Spencered951ea2007-05-19 07:22:10 +00002072 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002073
2074 /* Undo the effects of YY_DO_BEFORE_ACTION. */
Reid Spencered951ea2007-05-19 07:22:10 +00002075 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002076 YY_RESTORE_YY_MORE_OFFSET
2077
Reid Spencered951ea2007-05-19 07:22:10 +00002078 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002079 {
2080 /* We're scanning a new file or input source. It's
2081 * possible that this happened because the user
Reid Spencered951ea2007-05-19 07:22:10 +00002082 * just pointed yyin at a new source and called
2083 * yylex(). If so, then we have to assure
2084 * consistency between yy_current_buffer and our
Reid Spencer68a24bd2005-08-27 18:50:39 +00002085 * globals. Here is the right place to do so, because
2086 * this is the first action (other than possibly a
2087 * back-up) that will match for the new input source.
2088 */
Reid Spencered951ea2007-05-19 07:22:10 +00002089 yy_n_chars = yy_current_buffer->yy_n_chars;
2090 yy_current_buffer->yy_input_file = yyin;
2091 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002092 }
2093
2094 /* Note that here we test for yy_c_buf_p "<=" to the position
2095 * of the first EOB in the buffer, since yy_c_buf_p will
2096 * already have been incremented past the NUL character
2097 * (since all states make transitions on EOB to the
2098 * end-of-buffer state). Contrast this with the test
2099 * in input().
2100 */
Reid Spencered951ea2007-05-19 07:22:10 +00002101 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002102 { /* This was really a NUL. */
2103 yy_state_type yy_next_state;
2104
Reid Spencered951ea2007-05-19 07:22:10 +00002105 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002106
Reid Spencered951ea2007-05-19 07:22:10 +00002107 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002108
2109 /* Okay, we're now positioned to make the NUL
2110 * transition. We couldn't have
2111 * yy_get_previous_state() go ahead and do it
2112 * for us because it doesn't know how to deal
2113 * with the possibility of jamming (and we don't
2114 * want to build jamming into it because then it
2115 * will run more slowly).
2116 */
2117
2118 yy_next_state = yy_try_NUL_trans( yy_current_state );
2119
Reid Spencered951ea2007-05-19 07:22:10 +00002120 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002121
2122 if ( yy_next_state )
2123 {
2124 /* Consume the NUL. */
Reid Spencered951ea2007-05-19 07:22:10 +00002125 yy_cp = ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002126 yy_current_state = yy_next_state;
2127 goto yy_match;
2128 }
2129
2130 else
2131 {
Reid Spencered951ea2007-05-19 07:22:10 +00002132 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002133 goto yy_find_action;
2134 }
2135 }
2136
Reid Spencered951ea2007-05-19 07:22:10 +00002137 else switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002138 {
2139 case EOB_ACT_END_OF_FILE:
2140 {
Reid Spencered951ea2007-05-19 07:22:10 +00002141 yy_did_buffer_switch_on_eof = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002142
Reid Spencered951ea2007-05-19 07:22:10 +00002143 if ( yywrap() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002144 {
2145 /* Note: because we've taken care in
2146 * yy_get_next_buffer() to have set up
Reid Spencered951ea2007-05-19 07:22:10 +00002147 * yytext, we can now set up
Reid Spencer68a24bd2005-08-27 18:50:39 +00002148 * yy_c_buf_p so that if some total
2149 * hoser (like flex itself) wants to
2150 * call the scanner after we return the
2151 * YY_NULL, it'll still work - another
2152 * YY_NULL will get returned.
2153 */
Reid Spencered951ea2007-05-19 07:22:10 +00002154 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002155
2156 yy_act = YY_STATE_EOF(YY_START);
2157 goto do_action;
2158 }
2159
2160 else
2161 {
Reid Spencered951ea2007-05-19 07:22:10 +00002162 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002163 YY_NEW_FILE;
2164 }
2165 break;
2166 }
2167
2168 case EOB_ACT_CONTINUE_SCAN:
Reid Spencered951ea2007-05-19 07:22:10 +00002169 yy_c_buf_p =
2170 yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002171
Reid Spencered951ea2007-05-19 07:22:10 +00002172 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002173
Reid Spencered951ea2007-05-19 07:22:10 +00002174 yy_cp = yy_c_buf_p;
2175 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002176 goto yy_match;
2177
2178 case EOB_ACT_LAST_MATCH:
Reid Spencered951ea2007-05-19 07:22:10 +00002179 yy_c_buf_p =
2180 &yy_current_buffer->yy_ch_buf[yy_n_chars];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002181
Reid Spencered951ea2007-05-19 07:22:10 +00002182 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002183
Reid Spencered951ea2007-05-19 07:22:10 +00002184 yy_cp = yy_c_buf_p;
2185 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002186 goto yy_find_action;
2187 }
2188 break;
2189 }
2190
2191 default:
2192 YY_FATAL_ERROR(
2193 "fatal flex scanner internal error--no action found" );
2194 } /* end of action switch */
2195 } /* end of scanning one token */
Reid Spencered951ea2007-05-19 07:22:10 +00002196 } /* end of yylex */
2197
Reid Spencer68a24bd2005-08-27 18:50:39 +00002198
2199/* yy_get_next_buffer - try to read in a new buffer
2200 *
2201 * Returns a code representing an action:
2202 * EOB_ACT_LAST_MATCH -
2203 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2204 * EOB_ACT_END_OF_FILE - end of file
2205 */
Reid Spencered951ea2007-05-19 07:22:10 +00002206
2207static int yy_get_next_buffer()
2208 {
2209 register char *dest = yy_current_buffer->yy_ch_buf;
2210 register char *source = yytext_ptr;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002211 register int number_to_move, i;
2212 int ret_val;
2213
Reid Spencered951ea2007-05-19 07:22:10 +00002214 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002215 YY_FATAL_ERROR(
2216 "fatal flex scanner internal error--end of buffer missed" );
2217
Reid Spencered951ea2007-05-19 07:22:10 +00002218 if ( yy_current_buffer->yy_fill_buffer == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002219 { /* Don't try to fill the buffer, so this is an EOF. */
Reid Spencered951ea2007-05-19 07:22:10 +00002220 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002221 {
2222 /* We matched a single character, the EOB, so
2223 * treat this as a final EOF.
2224 */
2225 return EOB_ACT_END_OF_FILE;
2226 }
2227
2228 else
2229 {
2230 /* We matched some text prior to the EOB, first
2231 * process it.
2232 */
2233 return EOB_ACT_LAST_MATCH;
2234 }
2235 }
2236
2237 /* Try to read more data. */
2238
2239 /* First move last chars to start of buffer. */
Reid Spencered951ea2007-05-19 07:22:10 +00002240 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002241
2242 for ( i = 0; i < number_to_move; ++i )
2243 *(dest++) = *(source++);
2244
Reid Spencered951ea2007-05-19 07:22:10 +00002245 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002246 /* don't do the read, it's not guaranteed to return an EOF,
2247 * just force an EOF
2248 */
Reid Spencered951ea2007-05-19 07:22:10 +00002249 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002250
2251 else
2252 {
Reid Spencered951ea2007-05-19 07:22:10 +00002253 int num_to_read =
2254 yy_current_buffer->yy_buf_size - number_to_move - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002255
2256 while ( num_to_read <= 0 )
2257 { /* Not enough room in the buffer - grow it. */
Reid Spencered951ea2007-05-19 07:22:10 +00002258#ifdef YY_USES_REJECT
2259 YY_FATAL_ERROR(
2260"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
2261#else
Reid Spencer68a24bd2005-08-27 18:50:39 +00002262
2263 /* just a shorter name for the current buffer */
Reid Spencered951ea2007-05-19 07:22:10 +00002264 YY_BUFFER_STATE b = yy_current_buffer;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002265
2266 int yy_c_buf_p_offset =
Reid Spencered951ea2007-05-19 07:22:10 +00002267 (int) (yy_c_buf_p - b->yy_ch_buf);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002268
2269 if ( b->yy_is_our_buffer )
2270 {
2271 int new_size = b->yy_buf_size * 2;
2272
2273 if ( new_size <= 0 )
2274 b->yy_buf_size += b->yy_buf_size / 8;
2275 else
2276 b->yy_buf_size *= 2;
2277
2278 b->yy_ch_buf = (char *)
2279 /* Include room in for 2 EOB chars. */
Reid Spencered951ea2007-05-19 07:22:10 +00002280 yy_flex_realloc( (void *) b->yy_ch_buf,
2281 b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002282 }
2283 else
2284 /* Can't grow it, we don't own it. */
2285 b->yy_ch_buf = 0;
2286
2287 if ( ! b->yy_ch_buf )
2288 YY_FATAL_ERROR(
2289 "fatal error - scanner input buffer overflow" );
2290
Reid Spencered951ea2007-05-19 07:22:10 +00002291 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002292
Reid Spencered951ea2007-05-19 07:22:10 +00002293 num_to_read = yy_current_buffer->yy_buf_size -
Reid Spencer68a24bd2005-08-27 18:50:39 +00002294 number_to_move - 1;
Reid Spencered951ea2007-05-19 07:22:10 +00002295#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002296 }
2297
2298 if ( num_to_read > YY_READ_BUF_SIZE )
2299 num_to_read = YY_READ_BUF_SIZE;
2300
2301 /* Read in more data. */
Reid Spencered951ea2007-05-19 07:22:10 +00002302 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
2303 yy_n_chars, num_to_read );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002304
Reid Spencered951ea2007-05-19 07:22:10 +00002305 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002306 }
2307
Reid Spencered951ea2007-05-19 07:22:10 +00002308 if ( yy_n_chars == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002309 {
2310 if ( number_to_move == YY_MORE_ADJ )
2311 {
2312 ret_val = EOB_ACT_END_OF_FILE;
Reid Spencered951ea2007-05-19 07:22:10 +00002313 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002314 }
2315
2316 else
2317 {
2318 ret_val = EOB_ACT_LAST_MATCH;
Reid Spencered951ea2007-05-19 07:22:10 +00002319 yy_current_buffer->yy_buffer_status =
Reid Spencer68a24bd2005-08-27 18:50:39 +00002320 YY_BUFFER_EOF_PENDING;
2321 }
2322 }
2323
2324 else
2325 ret_val = EOB_ACT_CONTINUE_SCAN;
2326
Reid Spencered951ea2007-05-19 07:22:10 +00002327 yy_n_chars += number_to_move;
2328 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2329 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002330
Reid Spencered951ea2007-05-19 07:22:10 +00002331 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002332
2333 return ret_val;
Reid Spencered951ea2007-05-19 07:22:10 +00002334 }
2335
Reid Spencer68a24bd2005-08-27 18:50:39 +00002336
2337/* yy_get_previous_state - get the state just before the EOB char was reached */
2338
Reid Spencered951ea2007-05-19 07:22:10 +00002339static yy_state_type yy_get_previous_state()
2340 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002341 register yy_state_type yy_current_state;
2342 register char *yy_cp;
2343
Reid Spencered951ea2007-05-19 07:22:10 +00002344 yy_current_state = yy_start;
2345 yy_state_ptr = yy_state_buf;
2346 *yy_state_ptr++ = yy_current_state;
2347
2348 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002349 {
2350 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2351 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2352 {
2353 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencered951ea2007-05-19 07:22:10 +00002354 if ( yy_current_state >= 563 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002355 yy_c = yy_meta[(unsigned int) yy_c];
2356 }
2357 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencered951ea2007-05-19 07:22:10 +00002358 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002359 }
2360
2361 return yy_current_state;
Reid Spencered951ea2007-05-19 07:22:10 +00002362 }
2363
Reid Spencer68a24bd2005-08-27 18:50:39 +00002364
2365/* yy_try_NUL_trans - try to make a transition on the NUL character
2366 *
2367 * synopsis
2368 * next_state = yy_try_NUL_trans( current_state );
2369 */
Reid Spencered951ea2007-05-19 07:22:10 +00002370
2371#ifdef YY_USE_PROTOS
2372static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
2373#else
2374static yy_state_type yy_try_NUL_trans( yy_current_state )
2375yy_state_type yy_current_state;
2376#endif
2377 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002378 register int yy_is_jam;
2379
2380 register YY_CHAR yy_c = 1;
2381 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2382 {
2383 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencered951ea2007-05-19 07:22:10 +00002384 if ( yy_current_state >= 563 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002385 yy_c = yy_meta[(unsigned int) yy_c];
2386 }
2387 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencered951ea2007-05-19 07:22:10 +00002388 yy_is_jam = (yy_current_state == 562);
2389 if ( ! yy_is_jam )
2390 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002391
2392 return yy_is_jam ? 0 : yy_current_state;
Reid Spencered951ea2007-05-19 07:22:10 +00002393 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002394
2395
Reid Spencered951ea2007-05-19 07:22:10 +00002396#ifndef YY_NO_UNPUT
2397#ifdef YY_USE_PROTOS
2398static inline void yyunput( int c, register char *yy_bp )
2399#else
2400static inline void yyunput( c, yy_bp )
2401int c;
2402register char *yy_bp;
2403#endif
2404 {
2405 register char *yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002406
Reid Spencered951ea2007-05-19 07:22:10 +00002407 /* undo effects of setting up yytext */
2408 *yy_cp = yy_hold_char;
2409
2410 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002411 { /* need to shift things up to make room */
2412 /* +2 for EOB chars. */
Reid Spencered951ea2007-05-19 07:22:10 +00002413 register int number_to_move = yy_n_chars + 2;
2414 register char *dest = &yy_current_buffer->yy_ch_buf[
2415 yy_current_buffer->yy_buf_size + 2];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002416 register char *source =
Reid Spencered951ea2007-05-19 07:22:10 +00002417 &yy_current_buffer->yy_ch_buf[number_to_move];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002418
Reid Spencered951ea2007-05-19 07:22:10 +00002419 while ( source > yy_current_buffer->yy_ch_buf )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002420 *--dest = *--source;
2421
2422 yy_cp += (int) (dest - source);
2423 yy_bp += (int) (dest - source);
Reid Spencered951ea2007-05-19 07:22:10 +00002424 yy_current_buffer->yy_n_chars =
2425 yy_n_chars = yy_current_buffer->yy_buf_size;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002426
Reid Spencered951ea2007-05-19 07:22:10 +00002427 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002428 YY_FATAL_ERROR( "flex scanner push-back overflow" );
2429 }
2430
2431 *--yy_cp = (char) c;
2432
Reid Spencered951ea2007-05-19 07:22:10 +00002433 if ( c == '\n' )
2434 --yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002435
Reid Spencered951ea2007-05-19 07:22:10 +00002436 yytext_ptr = yy_bp;
2437 yy_hold_char = *yy_cp;
2438 yy_c_buf_p = yy_cp;
2439 }
2440#endif /* ifndef YY_NO_UNPUT */
2441
Reid Spencer6f407902007-01-13 05:00:46 +00002442
Reid Spencer68a24bd2005-08-27 18:50:39 +00002443#ifdef __cplusplus
Reid Spencered951ea2007-05-19 07:22:10 +00002444static int yyinput()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002445#else
Reid Spencered951ea2007-05-19 07:22:10 +00002446static int input()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002447#endif
Reid Spencered951ea2007-05-19 07:22:10 +00002448 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002449 int c;
2450
Reid Spencered951ea2007-05-19 07:22:10 +00002451 *yy_c_buf_p = yy_hold_char;
2452
2453 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002454 {
2455 /* yy_c_buf_p now points to the character we want to return.
2456 * If this occurs *before* the EOB characters, then it's a
2457 * valid NUL; if not, then we've hit the end of the buffer.
2458 */
Reid Spencered951ea2007-05-19 07:22:10 +00002459 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002460 /* This was really a NUL. */
Reid Spencered951ea2007-05-19 07:22:10 +00002461 *yy_c_buf_p = '\0';
Reid Spencer68a24bd2005-08-27 18:50:39 +00002462
2463 else
2464 { /* need more input */
Reid Spencered951ea2007-05-19 07:22:10 +00002465 int offset = yy_c_buf_p - yytext_ptr;
2466 ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002467
Reid Spencered951ea2007-05-19 07:22:10 +00002468 switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002469 {
2470 case EOB_ACT_LAST_MATCH:
2471 /* This happens because yy_g_n_b()
2472 * sees that we've accumulated a
2473 * token and flags that we need to
2474 * try matching the token before
2475 * proceeding. But for input(),
2476 * there's no matching to consider.
2477 * So convert the EOB_ACT_LAST_MATCH
2478 * to EOB_ACT_END_OF_FILE.
2479 */
2480
2481 /* Reset buffer status. */
Reid Spencered951ea2007-05-19 07:22:10 +00002482 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002483
Reid Spencered951ea2007-05-19 07:22:10 +00002484 /* fall through */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002485
2486 case EOB_ACT_END_OF_FILE:
2487 {
Reid Spencered951ea2007-05-19 07:22:10 +00002488 if ( yywrap() )
Reid Spencer61c83e02006-08-18 08:43:06 +00002489 return EOF;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002490
Reid Spencered951ea2007-05-19 07:22:10 +00002491 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002492 YY_NEW_FILE;
2493#ifdef __cplusplus
2494 return yyinput();
2495#else
2496 return input();
2497#endif
2498 }
2499
2500 case EOB_ACT_CONTINUE_SCAN:
Reid Spencered951ea2007-05-19 07:22:10 +00002501 yy_c_buf_p = yytext_ptr + offset;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002502 break;
2503 }
2504 }
2505 }
2506
Reid Spencered951ea2007-05-19 07:22:10 +00002507 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
2508 *yy_c_buf_p = '\0'; /* preserve yytext */
2509 yy_hold_char = *++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002510
2511 if ( c == '\n' )
Reid Spencered951ea2007-05-19 07:22:10 +00002512 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002513
2514 return c;
Reid Spencered951ea2007-05-19 07:22:10 +00002515 }
Chris Lattner8e008322007-05-22 06:47:55 +00002516
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002517
Reid Spencered951ea2007-05-19 07:22:10 +00002518#ifdef YY_USE_PROTOS
2519void yyrestart( FILE *input_file )
2520#else
2521void yyrestart( input_file )
2522FILE *input_file;
2523#endif
2524 {
2525 if ( ! yy_current_buffer )
2526 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
2527
2528 yy_init_buffer( yy_current_buffer, input_file );
2529 yy_load_buffer_state();
Reid Spencer6f407902007-01-13 05:00:46 +00002530 }
Reid Spencer41dff5e2007-01-26 08:05:27 +00002531
Reid Spencer68a24bd2005-08-27 18:50:39 +00002532
Reid Spencered951ea2007-05-19 07:22:10 +00002533#ifdef YY_USE_PROTOS
2534void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
2535#else
2536void yy_switch_to_buffer( new_buffer )
2537YY_BUFFER_STATE new_buffer;
2538#endif
2539 {
2540 if ( yy_current_buffer == new_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002541 return;
2542
Reid Spencered951ea2007-05-19 07:22:10 +00002543 if ( yy_current_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002544 {
2545 /* Flush out information for old buffer. */
Reid Spencered951ea2007-05-19 07:22:10 +00002546 *yy_c_buf_p = yy_hold_char;
2547 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
2548 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002549 }
2550
Reid Spencered951ea2007-05-19 07:22:10 +00002551 yy_current_buffer = new_buffer;
2552 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002553
2554 /* We don't actually know whether we did this switch during
Reid Spencered951ea2007-05-19 07:22:10 +00002555 * EOF (yywrap()) processing, but the only time this flag
2556 * is looked at is after yywrap() is called, so it's safe
Reid Spencer68a24bd2005-08-27 18:50:39 +00002557 * to go ahead and always set it.
2558 */
Reid Spencered951ea2007-05-19 07:22:10 +00002559 yy_did_buffer_switch_on_eof = 1;
2560 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002561
2562
Reid Spencered951ea2007-05-19 07:22:10 +00002563#ifdef YY_USE_PROTOS
2564void yy_load_buffer_state( void )
2565#else
2566void yy_load_buffer_state()
2567#endif
2568 {
2569 yy_n_chars = yy_current_buffer->yy_n_chars;
2570 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
2571 yyin = yy_current_buffer->yy_input_file;
2572 yy_hold_char = *yy_c_buf_p;
2573 }
2574
2575
2576#ifdef YY_USE_PROTOS
2577YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
2578#else
2579YY_BUFFER_STATE yy_create_buffer( file, size )
2580FILE *file;
2581int size;
2582#endif
2583 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002584 YY_BUFFER_STATE b;
Reid Spencered951ea2007-05-19 07:22:10 +00002585
2586 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002587 if ( ! b )
Reid Spencered951ea2007-05-19 07:22:10 +00002588 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002589
2590 b->yy_buf_size = size;
2591
2592 /* yy_ch_buf has to be 2 characters longer than the size given because
2593 * we need to put in 2 end-of-buffer characters.
2594 */
Reid Spencered951ea2007-05-19 07:22:10 +00002595 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002596 if ( ! b->yy_ch_buf )
Reid Spencered951ea2007-05-19 07:22:10 +00002597 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002598
2599 b->yy_is_our_buffer = 1;
2600
Reid Spencered951ea2007-05-19 07:22:10 +00002601 yy_init_buffer( b, file );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002602
2603 return b;
Reid Spencered951ea2007-05-19 07:22:10 +00002604 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002605
Reid Spencered951ea2007-05-19 07:22:10 +00002606
2607#ifdef YY_USE_PROTOS
2608void yy_delete_buffer( YY_BUFFER_STATE b )
2609#else
2610void yy_delete_buffer( b )
2611YY_BUFFER_STATE b;
2612#endif
2613 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002614 if ( ! b )
2615 return;
2616
Reid Spencered951ea2007-05-19 07:22:10 +00002617 if ( b == yy_current_buffer )
2618 yy_current_buffer = (YY_BUFFER_STATE) 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002619
2620 if ( b->yy_is_our_buffer )
Reid Spencered951ea2007-05-19 07:22:10 +00002621 yy_flex_free( (void *) b->yy_ch_buf );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002622
Reid Spencered951ea2007-05-19 07:22:10 +00002623 yy_flex_free( (void *) b );
2624 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002625
2626
Chris Lattner8e008322007-05-22 06:47:55 +00002627#ifndef YY_ALWAYS_INTERACTIVE
2628#ifndef YY_NEVER_INTERACTIVE
2629extern int isatty YY_PROTO(( int ));
2630#endif
2631#endif
Reid Spencered951ea2007-05-19 07:22:10 +00002632
2633#ifdef YY_USE_PROTOS
2634void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
2635#else
2636void yy_init_buffer( b, file )
2637YY_BUFFER_STATE b;
2638FILE *file;
2639#endif
2640
2641
2642 {
2643 yy_flush_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002644
2645 b->yy_input_file = file;
2646 b->yy_fill_buffer = 1;
2647
Reid Spencered951ea2007-05-19 07:22:10 +00002648#if YY_ALWAYS_INTERACTIVE
2649 b->yy_is_interactive = 1;
2650#else
2651#if YY_NEVER_INTERACTIVE
2652 b->yy_is_interactive = 0;
2653#else
2654 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
2655#endif
2656#endif
2657 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002658
2659
Reid Spencered951ea2007-05-19 07:22:10 +00002660#ifdef YY_USE_PROTOS
2661void yy_flush_buffer( YY_BUFFER_STATE b )
2662#else
2663void yy_flush_buffer( b )
2664YY_BUFFER_STATE b;
2665#endif
2666
2667 {
2668 if ( ! b )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002669 return;
2670
2671 b->yy_n_chars = 0;
2672
2673 /* We always need two end-of-buffer characters. The first causes
2674 * a transition to the end-of-buffer state. The second causes
2675 * a jam in that state.
2676 */
2677 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2678 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2679
2680 b->yy_buf_pos = &b->yy_ch_buf[0];
2681
2682 b->yy_at_bol = 1;
2683 b->yy_buffer_status = YY_BUFFER_NEW;
2684
Reid Spencered951ea2007-05-19 07:22:10 +00002685 if ( b == yy_current_buffer )
2686 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002687 }
2688
2689
Reid Spencered951ea2007-05-19 07:22:10 +00002690#ifndef YY_NO_SCAN_BUFFER
2691#ifdef YY_USE_PROTOS
2692YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
2693#else
2694YY_BUFFER_STATE yy_scan_buffer( base, size )
2695char *base;
2696yy_size_t size;
2697#endif
2698 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002699 YY_BUFFER_STATE b;
Reid Spencered951ea2007-05-19 07:22:10 +00002700
Reid Spencer68a24bd2005-08-27 18:50:39 +00002701 if ( size < 2 ||
2702 base[size-2] != YY_END_OF_BUFFER_CHAR ||
2703 base[size-1] != YY_END_OF_BUFFER_CHAR )
2704 /* They forgot to leave room for the EOB's. */
2705 return 0;
2706
Reid Spencered951ea2007-05-19 07:22:10 +00002707 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002708 if ( ! b )
Reid Spencered951ea2007-05-19 07:22:10 +00002709 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002710
2711 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2712 b->yy_buf_pos = b->yy_ch_buf = base;
2713 b->yy_is_our_buffer = 0;
2714 b->yy_input_file = 0;
2715 b->yy_n_chars = b->yy_buf_size;
2716 b->yy_is_interactive = 0;
2717 b->yy_at_bol = 1;
2718 b->yy_fill_buffer = 0;
2719 b->yy_buffer_status = YY_BUFFER_NEW;
2720
Reid Spencered951ea2007-05-19 07:22:10 +00002721 yy_switch_to_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002722
2723 return b;
Reid Spencered951ea2007-05-19 07:22:10 +00002724 }
2725#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002726
2727
Reid Spencered951ea2007-05-19 07:22:10 +00002728#ifndef YY_NO_SCAN_STRING
2729#ifdef YY_USE_PROTOS
2730YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
2731#else
2732YY_BUFFER_STATE yy_scan_string( yy_str )
2733yyconst char *yy_str;
2734#endif
2735 {
2736 int len;
2737 for ( len = 0; yy_str[len]; ++len )
2738 ;
2739
2740 return yy_scan_bytes( yy_str, len );
2741 }
2742#endif
2743
2744
2745#ifndef YY_NO_SCAN_BYTES
2746#ifdef YY_USE_PROTOS
2747YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
2748#else
2749YY_BUFFER_STATE yy_scan_bytes( bytes, len )
2750yyconst char *bytes;
2751int len;
2752#endif
2753 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002754 YY_BUFFER_STATE b;
2755 char *buf;
2756 yy_size_t n;
2757 int i;
Reid Spencered951ea2007-05-19 07:22:10 +00002758
Reid Spencer68a24bd2005-08-27 18:50:39 +00002759 /* Get memory for full buffer, including space for trailing EOB's. */
Reid Spencered951ea2007-05-19 07:22:10 +00002760 n = len + 2;
2761 buf = (char *) yy_flex_alloc( n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002762 if ( ! buf )
Reid Spencered951ea2007-05-19 07:22:10 +00002763 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002764
Reid Spencered951ea2007-05-19 07:22:10 +00002765 for ( i = 0; i < len; ++i )
2766 buf[i] = bytes[i];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002767
Reid Spencered951ea2007-05-19 07:22:10 +00002768 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002769
Reid Spencered951ea2007-05-19 07:22:10 +00002770 b = yy_scan_buffer( buf, n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002771 if ( ! b )
Reid Spencered951ea2007-05-19 07:22:10 +00002772 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002773
2774 /* It's okay to grow etc. this buffer, and we should throw it
2775 * away when we're done.
2776 */
2777 b->yy_is_our_buffer = 1;
2778
2779 return b;
Reid Spencered951ea2007-05-19 07:22:10 +00002780 }
2781#endif
2782
2783
2784#ifndef YY_NO_PUSH_STATE
2785#ifdef YY_USE_PROTOS
2786static void yy_push_state( int new_state )
2787#else
2788static void yy_push_state( new_state )
2789int new_state;
2790#endif
2791 {
2792 if ( yy_start_stack_ptr >= yy_start_stack_depth )
2793 {
2794 yy_size_t new_size;
2795
2796 yy_start_stack_depth += YY_START_STACK_INCR;
2797 new_size = yy_start_stack_depth * sizeof( int );
2798
2799 if ( ! yy_start_stack )
2800 yy_start_stack = (int *) yy_flex_alloc( new_size );
2801
2802 else
2803 yy_start_stack = (int *) yy_flex_realloc(
2804 (void *) yy_start_stack, new_size );
2805
2806 if ( ! yy_start_stack )
2807 YY_FATAL_ERROR(
2808 "out of memory expanding start-condition stack" );
2809 }
2810
2811 yy_start_stack[yy_start_stack_ptr++] = YY_START;
2812
2813 BEGIN(new_state);
2814 }
2815#endif
2816
2817
2818#ifndef YY_NO_POP_STATE
2819static void yy_pop_state()
2820 {
2821 if ( --yy_start_stack_ptr < 0 )
2822 YY_FATAL_ERROR( "start-condition stack underflow" );
2823
2824 BEGIN(yy_start_stack[yy_start_stack_ptr]);
2825 }
2826#endif
2827
2828
2829#ifndef YY_NO_TOP_STATE
2830static int yy_top_state()
2831 {
2832 return yy_start_stack[yy_start_stack_ptr - 1];
2833 }
2834#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002835
2836#ifndef YY_EXIT_FAILURE
2837#define YY_EXIT_FAILURE 2
2838#endif
2839
Reid Spencered951ea2007-05-19 07:22:10 +00002840#ifdef YY_USE_PROTOS
2841static void yy_fatal_error( yyconst char msg[] )
2842#else
2843static void yy_fatal_error( msg )
2844char msg[];
2845#endif
2846 {
2847 (void) fprintf( stderr, "%s\n", msg );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002848 exit( YY_EXIT_FAILURE );
Reid Spencered951ea2007-05-19 07:22:10 +00002849 }
2850
2851
Reid Spencer68a24bd2005-08-27 18:50:39 +00002852
2853/* Redefine yyless() so it works in section 3 code. */
2854
2855#undef yyless
2856#define yyless(n) \
2857 do \
2858 { \
Reid Spencered951ea2007-05-19 07:22:10 +00002859 /* Undo effects of setting up yytext. */ \
2860 yytext[yyleng] = yy_hold_char; \
2861 yy_c_buf_p = yytext + n; \
2862 yy_hold_char = *yy_c_buf_p; \
2863 *yy_c_buf_p = '\0'; \
2864 yyleng = n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00002865 } \
2866 while ( 0 )
2867
2868
Reid Spencered951ea2007-05-19 07:22:10 +00002869/* Internal utility routines. */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002870
2871#ifndef yytext_ptr
Reid Spencered951ea2007-05-19 07:22:10 +00002872#ifdef YY_USE_PROTOS
2873static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
2874#else
2875static void yy_flex_strncpy( s1, s2, n )
2876char *s1;
2877yyconst char *s2;
2878int n;
2879#endif
2880 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002881 register int i;
2882 for ( i = 0; i < n; ++i )
2883 s1[i] = s2[i];
Reid Spencered951ea2007-05-19 07:22:10 +00002884 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002885#endif
2886
2887#ifdef YY_NEED_STRLEN
Reid Spencered951ea2007-05-19 07:22:10 +00002888#ifdef YY_USE_PROTOS
2889static int yy_flex_strlen( yyconst char *s )
2890#else
2891static int yy_flex_strlen( s )
2892yyconst char *s;
2893#endif
2894 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002895 register int n;
2896 for ( n = 0; s[n]; ++n )
2897 ;
2898
2899 return n;
Reid Spencered951ea2007-05-19 07:22:10 +00002900 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002901#endif
2902
Reid Spencer9c9b63a2007-04-28 16:07:31 +00002903
Reid Spencered951ea2007-05-19 07:22:10 +00002904#ifdef YY_USE_PROTOS
2905static void *yy_flex_alloc( yy_size_t size )
2906#else
2907static void *yy_flex_alloc( size )
2908yy_size_t size;
2909#endif
2910 {
2911 return (void *) malloc( size );
2912 }
2913
2914#ifdef YY_USE_PROTOS
2915static inline void *yy_flex_realloc( void *ptr, yy_size_t size )
2916#else
2917static inline void *yy_flex_realloc( ptr, size )
2918void *ptr;
2919yy_size_t size;
2920#endif
2921 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002922 /* The cast to (char *) in the following accommodates both
2923 * implementations that use char* generic pointers, and those
2924 * that use void* generic pointers. It works with the latter
2925 * because both ANSI C and C++ allow castless assignment from
2926 * any pointer type to void*, and deal with argument conversions
2927 * as though doing an assignment.
2928 */
2929 return (void *) realloc( (char *) ptr, size );
Reid Spencered951ea2007-05-19 07:22:10 +00002930 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002931
Reid Spencered951ea2007-05-19 07:22:10 +00002932#ifdef YY_USE_PROTOS
2933static void yy_flex_free( void *ptr )
2934#else
2935static void yy_flex_free( ptr )
2936void *ptr;
2937#endif
2938 {
2939 free( ptr );
2940 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002941
Reid Spencered951ea2007-05-19 07:22:10 +00002942#if YY_MAIN
2943int main()
2944 {
2945 yylex();
2946 return 0;
2947 }
2948#endif
Chris Lattner8e008322007-05-22 06:47:55 +00002949#line 442 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
Chris Lattner2fecc0f2006-02-15 07:02:59 +00002950