blob: 4824a040e4af8b99b819be2f5cb7bbd7774084ba [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"
David Greene718fda32007-08-01 03:59:32 +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:
Reid Spencerb8f85052007-07-31 03:50:36 +000023 * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $
Reid Spencered951ea2007-05-19 07:22:10 +000024 */
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 Spencerb8f85052007-07-31 03:50:36 +000031#include <unistd.h>
Reid Spencer9c9b63a2007-04-28 16:07:31 +000032
Anton Korobeynikovf52e6082007-04-29 18:38:24 +000033
Reid Spencered951ea2007-05-19 07:22:10 +000034/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
35#ifdef c_plusplus
36#ifndef __cplusplus
37#define __cplusplus
38#endif
Anton Korobeynikovf52e6082007-04-29 18:38:24 +000039#endif
40
Anton Korobeynikovf52e6082007-04-29 18:38:24 +000041
42#ifdef __cplusplus
Reid Spencer9c9b63a2007-04-28 16:07:31 +000043
Reid Spencered951ea2007-05-19 07:22:10 +000044#include <stdlib.h>
45
46/* Use prototypes in function declarations. */
47#define YY_USE_PROTOS
48
Reid Spencer68a24bd2005-08-27 18:50:39 +000049/* The "const" storage-class-modifier is valid. */
50#define YY_USE_CONST
51
52#else /* ! __cplusplus */
53
54#if __STDC__
55
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 ));
David Greene718fda32007-08-01 03:59:32 +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 Spencerb8f85052007-07-31 03:50:36 +0000311#define YY_NUM_RULES 146
312#define YY_END_OF_BUFFER 147
313static yyconst short int yy_acclist[227] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000314 { 0,
Reid Spencerb8f85052007-07-31 03:50:36 +0000315 147, 145, 146, 144, 145, 146, 144, 146, 145, 146,
316 145, 146, 145, 146, 145, 146, 145, 146, 145, 146,
317 137, 145, 146, 137, 145, 146, 1, 145, 146, 145,
318 146, 145, 146, 145, 146, 145, 146, 145, 146, 145,
319 146, 145, 146, 145, 146, 145, 146, 145, 146, 145,
320 146, 145, 146, 145, 146, 145, 146, 145, 146, 145,
321 146, 145, 146, 145, 146, 145, 146, 145, 146, 145,
322 146, 145, 146, 145, 146, 134, 132, 130, 140, 138,
323 142, 137, 1, 131, 141, 116, 38, 79, 61, 80,
324 75, 25, 134, 136, 130, 142, 22, 142, 143, 135,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000325
Reid Spencerb8f85052007-07-31 03:50:36 +0000326 131, 62, 74, 36, 39, 3, 64, 89, 94, 92,
327 93, 91, 90, 95, 99, 115, 84, 82, 71, 83,
328 81, 63, 97, 88, 86, 87, 85, 98, 96, 76,
329 133, 142, 142, 73, 100, 78, 67, 123, 70, 77,
330 124, 72, 52, 24, 139, 66, 103, 69, 47, 26,
331 4, 59, 65, 68, 55, 12, 102, 142, 34, 32,
332 2, 51, 5, 56, 105, 46, 58, 53, 125, 101,
333 23, 54, 122, 41, 7, 57, 40, 109, 108, 8,
334 16, 118, 121, 35, 60, 113, 107, 117, 27, 28,
335 106, 119, 114, 112, 6, 29, 104, 50, 33, 44,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000336
Reid Spencerb8f85052007-07-31 03:50:36 +0000337 45, 9, 19, 10, 110, 11, 49, 48, 111, 31,
338 13, 15, 14, 17, 30, 37, 18, 120, 20, 126,
339 128, 129, 42, 127, 43, 21
Reid Spencer68a24bd2005-08-27 18:50:39 +0000340 } ;
341
Reid Spencerb8f85052007-07-31 03:50:36 +0000342static yyconst short int yy_accept[587] =
Reid Spencered951ea2007-05-19 07:22:10 +0000343 { 0,
344 1, 1, 1, 2, 4, 7, 9, 11, 13, 15,
345 17, 19, 21, 24, 27, 30, 32, 34, 36, 38,
346 40, 42, 44, 46, 48, 50, 52, 54, 56, 58,
347 60, 62, 64, 66, 68, 70, 72, 74, 76, 76,
348 77, 77, 78, 78, 79, 80, 80, 81, 81, 82,
349 83, 83, 84, 84, 85, 86, 86, 86, 86, 86,
Reid Spencerb8f85052007-07-31 03:50:36 +0000350 86, 86, 86, 87, 87, 87, 88, 88, 88, 88,
351 88, 88, 88, 89, 89, 89, 89, 89, 89, 89,
352 89, 89, 89, 89, 90, 90, 90, 90, 90, 90,
353 90, 90, 90, 90, 91, 91, 91, 91, 91, 91,
Reid Spencered951ea2007-05-19 07:22:10 +0000354
Reid Spencerb8f85052007-07-31 03:50:36 +0000355 91, 91, 92, 92, 92, 92, 92, 92, 92, 92,
356 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
Reid Spencered951ea2007-05-19 07:22:10 +0000357 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
Reid Spencerb8f85052007-07-31 03:50:36 +0000358 93, 93, 93, 93, 93, 93, 94, 94, 95, 96,
359 97, 98, 99, 99, 100, 100, 101, 102, 103, 103,
360 103, 104, 104, 104, 105, 105, 105, 105, 105, 106,
361 106, 106, 106, 106, 106, 106, 106, 106, 107, 107,
Reid Spencered951ea2007-05-19 07:22:10 +0000362 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
363 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
Reid Spencerb8f85052007-07-31 03:50:36 +0000364 107, 107, 108, 108, 108, 108, 108, 108, 109, 110,
Reid Spencered951ea2007-05-19 07:22:10 +0000365
Reid Spencerb8f85052007-07-31 03:50:36 +0000366 111, 112, 113, 114, 114, 115, 116, 116, 116, 117,
367 117, 117, 117, 117, 117, 118, 119, 120, 120, 120,
368 120, 120, 121, 122, 122, 122, 123, 123, 123, 123,
369 123, 123, 123, 123, 123, 124, 125, 126, 126, 127,
370 128, 128, 129, 130, 130, 130, 130, 130, 130, 130,
371 130, 130, 131, 131, 131, 132, 133, 133, 133, 133,
372 134, 134, 134, 134, 134, 135, 135, 135, 135, 136,
373 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
374 136, 136, 136, 137, 138, 138, 138, 138, 138, 139,
375 140, 140, 140, 140, 141, 141, 141, 141, 141, 141,
Reid Spencered951ea2007-05-19 07:22:10 +0000376
Reid Spencerb8f85052007-07-31 03:50:36 +0000377 141, 141, 142, 143, 143, 143, 144, 144, 144, 144,
378 145, 145, 145, 145, 146, 147, 147, 147, 148, 148,
379 148, 148, 148, 149, 150, 150, 150, 151, 151, 151,
380 151, 152, 152, 153, 154, 154, 154, 154, 154, 155,
381 155, 156, 156, 157, 157, 157, 158, 159, 160, 161,
382 161, 161, 162, 162, 163, 163, 163, 163, 163, 163,
383 163, 163, 163, 163, 163, 163, 164, 164, 165, 166,
384 166, 166, 166, 166, 166, 166, 167, 167, 167, 167,
385 167, 168, 168, 168, 168, 168, 168, 168, 168, 168,
386 168, 168, 168, 168, 169, 169, 169, 169, 169, 170,
Reid Spencered951ea2007-05-19 07:22:10 +0000387
Reid Spencerb8f85052007-07-31 03:50:36 +0000388 170, 170, 170, 170, 171, 171, 172, 172, 172, 172,
389 172, 172, 172, 172, 172, 172, 173, 174, 174, 174,
390 175, 175, 175, 175, 176, 176, 176, 176, 177, 177,
391 177, 178, 179, 180, 180, 180, 181, 182, 182, 182,
392 182, 183, 183, 184, 185, 185, 185, 185, 186, 186,
393 186, 186, 187, 187, 187, 187, 188, 189, 190, 190,
394 191, 192, 192, 193, 194, 194, 194, 194, 194, 194,
395 194, 195, 195, 195, 196, 197, 197, 197, 197, 197,
396 197, 198, 198, 198, 198, 198, 198, 199, 199, 199,
397 199, 199, 200, 200, 200, 201, 201, 201, 201, 201,
Reid Spencered951ea2007-05-19 07:22:10 +0000398
Reid Spencerb8f85052007-07-31 03:50:36 +0000399 201, 202, 202, 202, 203, 203, 203, 203, 203, 204,
400 204, 204, 204, 205, 206, 207, 208, 209, 209, 210,
401 210, 210, 210, 210, 211, 211, 211, 211, 212, 212,
402 213, 214, 214, 214, 214, 214, 215, 215, 215, 215,
403 215, 215, 215, 215, 216, 216, 216, 216, 216, 216,
404 217, 217, 217, 217, 217, 217, 218, 218, 218, 218,
405 218, 218, 219, 219, 219, 219, 219, 219, 219, 219,
406 220, 220, 220, 220, 220, 221, 222, 223, 223, 224,
407 224, 225, 226, 226, 227, 227
Reid Spencered951ea2007-05-19 07:22:10 +0000408 } ;
409
410static yyconst int yy_ec[256] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000411 { 0,
412 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
413 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
414 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
415 1, 2, 1, 4, 1, 5, 6, 1, 1, 1,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000416 1, 1, 7, 1, 8, 9, 1, 10, 11, 11,
417 11, 11, 11, 12, 11, 13, 11, 14, 15, 1,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000418 1, 1, 1, 16, 17, 17, 17, 17, 18, 17,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000419 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
420 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000421 1, 1, 1, 1, 19, 1, 20, 21, 22, 23,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000422
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000423 24, 25, 26, 27, 28, 5, 29, 30, 31, 32,
424 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
425 43, 44, 1, 1, 1, 1, 1, 1, 1, 1,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000426 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
427 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
428 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
429 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
430 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
431 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
432 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
433
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, 1, 1, 1, 1, 1,
437 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
438 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
439 1, 1, 1, 1, 1
440 } ;
441
Reid Spencered951ea2007-05-19 07:22:10 +0000442static yyconst int yy_meta[45] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000443 { 0,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000444 1, 1, 2, 3, 4, 1, 1, 4, 4, 4,
445 4, 4, 4, 5, 1, 1, 4, 4, 4, 4,
446 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
447 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
448 4, 4, 4, 4
Reid Spencer68a24bd2005-08-27 18:50:39 +0000449 } ;
450
Reid Spencerb8f85052007-07-31 03:50:36 +0000451static yyconst short int yy_base[595] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000452 { 0,
Reid Spencerd8e616b2007-07-31 03:55:56 +0000453 0, 0, 1272, 1273, 1273, 1273, 1267, 1256, 41, 36,
Reid Spencerb8f85052007-07-31 03:50:36 +0000454 45, 51, 57, 63, 0, 74, 66, 69, 68, 90,
455 92, 121, 78, 36, 148, 93, 117, 114, 167, 138,
Reid Spencerd8e616b2007-07-31 03:55:56 +0000456 67, 194, 152, 226, 134, 95, 103, 101, 1265, 1273,
457 1254, 1273, 1263, 0, 199, 216, 232, 131, 253, 269,
458 274, 0, 1262, 0, 203, 119, 154, 150, 115, 163,
459 149, 80, 1251, 191, 49, 164, 157, 108, 279, 81,
460 184, 169, 1250, 223, 239, 188, 220, 224, 276, 182,
Reid Spencerb8f85052007-07-31 03:50:36 +0000461 237, 241, 245, 295, 258, 288, 118, 289, 296, 233,
462 297, 306, 301, 298, 303, 304, 305, 308, 319, 323,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000463
Reid Spencerb8f85052007-07-31 03:50:36 +0000464 316, 327, 324, 330, 331, 334, 335, 337, 339, 340,
Reid Spencerd8e616b2007-07-31 03:55:56 +0000465 341, 356, 352, 344, 342, 186, 345, 360, 348, 1249,
Reid Spencerb8f85052007-07-31 03:50:36 +0000466 369, 371, 372, 375, 377, 373, 378, 389, 385, 379,
Reid Spencerd8e616b2007-07-31 03:55:56 +0000467 390, 403, 407, 392, 393, 1248, 1257, 1273, 0, 421,
468 1246, 436, 454, 0, 1255, 1273, 0, 1244, 437, 381,
469 1243, 412, 423, 1242, 410, 430, 455, 413, 1241, 456,
470 439, 457, 426, 427, 428, 458, 459, 1240, 460, 464,
Reid Spencerb8f85052007-07-31 03:50:36 +0000471 467, 469, 471, 473, 474, 476, 475, 478, 477, 481,
472 480, 483, 486, 494, 501, 499, 506, 503, 505, 507,
Reid Spencerd8e616b2007-07-31 03:55:56 +0000473 508, 1239, 510, 513, 514, 517, 515, 1238, 1237, 1236,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000474
Reid Spencerd8e616b2007-07-31 03:55:56 +0000475 1235, 1234, 1233, 511, 1232, 1231, 516, 519, 1230, 548,
476 522, 525, 526, 537, 1229, 1228, 1227, 528, 550, 553,
477 562, 1226, 1225, 563, 542, 1224, 541, 566, 567, 568,
478 569, 573, 574, 570, 1223, 1222, 1221, 575, 1220, 1219,
479 576, 1218, 1217, 585, 588, 590, 592, 597, 593, 600,
480 572, 1216, 601, 603, 1273, 612, 632, 636, 640, 645,
481 623, 647, 530, 648, 1215, 649, 612, 605, 1214, 650,
Reid Spencerb8f85052007-07-31 03:50:36 +0000482 651, 652, 613, 653, 655, 654, 656, 660, 657, 664,
Reid Spencerd8e616b2007-07-31 03:55:56 +0000483 604, 672, 1213, 1212, 659, 661, 663, 662, 1211, 1210,
484 674, 678, 681, 1209, 677, 692, 693, 694, 695, 696,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000485
Reid Spencerd8e616b2007-07-31 03:55:56 +0000486 697, 1208, 1207, 698, 702, 1206, 705, 699, 700, 1205,
487 701, 711, 703, 0, 1204, 706, 724, 740, 725, 731,
488 733, 734, 1203, 1202, 737, 730, 1201, 739, 742, 735,
489 1200, 744, 1199, 1198, 746, 750, 753, 754, 1197, 755,
490 1196, 756, 1195, 758, 760, 775, 769, 1194, 1193, 773,
491 762, 1192, 776, 1191, 778, 782, 783, 784, 785, 617,
492 787, 790, 791, 793, 792, 1190, 794, 1189, 1188, 798,
493 803, 796, 805, 797, 804, 1187, 808, 809, 816, 818,
494 1186, 819, 821, 820, 825, 823, 824, 833, 826, 835,
495 839, 840, 59, 1273, 841, 842, 844, 845, 1185, 846,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000496
Reid Spencerd8e616b2007-07-31 03:55:56 +0000497 847, 851, 852, 1184, 850, 1183, 855, 866, 856, 867,
498 873, 854, 861, 869, 719, 1273, 1182, 874, 876, 1181,
499 877, 880, 882, 1180, 883, 884, 885, 1179, 891, 886,
500 1178, 1177, 1176, 890, 894, 1175, 1174, 902, 893, 901,
501 1173, 905, 1172, 1171, 907, 914, 908, 1170, 915, 916,
502 917, 1169, 918, 920, 919, 1168, 1167, 1166, 704, 1165,
503 1164, 924, 1163, 1162, 922, 921, 923, 927, 933, 940,
504 1161, 929, 941, 1160, 1159, 942, 945, 946, 949, 952,
505 1158, 956, 954, 955, 950, 959, 1157, 957, 968, 974,
506 961, 1156, 963, 976, 1155, 978, 981, 980, 979, 983,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000507
Reid Spencerd8e616b2007-07-31 03:55:56 +0000508 1154, 982, 988, 1153, 992, 995, 996, 997, 1152, 993,
509 998, 1001, 1151, 1150, 1149, 1133, 1121, 999, 1120, 1002,
510 1005, 1004, 1014, 1119, 1010, 1022, 1015, 1118, 1024, 1115,
511 1114, 1025, 1026, 1027, 1030, 1113, 1032, 1033, 1034, 1037,
512 1035, 1038, 1039, 1112, 1043, 1044, 1046, 1049, 1050, 1111,
513 1056, 1055, 1052, 1060, 1063, 1110, 1067, 1064, 1069, 1070,
514 1075, 1109, 1078, 1072, 1071, 1081, 1073, 1082, 1083, 1108,
515 1084, 1090, 1086, 1093, 1103, 1102, 1101, 1096, 948, 1097,
516 346, 259, 1100, 256, 1273, 1136, 1138, 1141, 1145, 1148,
517 1152, 235, 1157, 165
Reid Spencerb8f85052007-07-31 03:50:36 +0000518
Reid Spencer68a24bd2005-08-27 18:50:39 +0000519 } ;
520
Reid Spencerb8f85052007-07-31 03:50:36 +0000521static yyconst short int yy_def[595] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000522 { 0,
Reid Spencerb8f85052007-07-31 03:50:36 +0000523 585, 1, 585, 585, 585, 585, 586, 587, 588, 585,
524 587, 587, 587, 587, 589, 590, 587, 587, 587, 587,
525 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
526 587, 587, 587, 587, 587, 587, 587, 587, 586, 585,
527 587, 585, 591, 592, 585, 585, 587, 587, 587, 587,
528 587, 589, 593, 594, 585, 587, 587, 587, 587, 587,
529 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
530 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
531 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
532 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000533
Reid Spencerb8f85052007-07-31 03:50:36 +0000534 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
535 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
536 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
537 587, 587, 587, 587, 587, 585, 591, 585, 592, 585,
538 587, 587, 587, 51, 593, 585, 594, 587, 587, 587,
539 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
540 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
541 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
542 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
543 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000544
Reid Spencerb8f85052007-07-31 03:50:36 +0000545 587, 587, 587, 587, 587, 587, 587, 587, 587, 51,
546 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
547 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
548 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
549 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
550 587, 587, 587, 587, 585, 585, 585, 585, 587, 587,
551 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
552 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
553 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
554 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000555
Reid Spencerb8f85052007-07-31 03:50:36 +0000556 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
557 587, 587, 587, 210, 587, 587, 587, 587, 587, 587,
558 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
559 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
560 587, 587, 587, 587, 587, 587, 585, 587, 587, 587,
561 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
562 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
563 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
564 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
565 587, 587, 585, 585, 587, 587, 587, 587, 587, 587,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000566
Reid Spencerb8f85052007-07-31 03:50:36 +0000567 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
568 587, 587, 587, 587, 585, 585, 587, 587, 587, 587,
569 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
570 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
571 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
572 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
573 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
574 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
575 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
576 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000577
Reid Spencerb8f85052007-07-31 03:50:36 +0000578 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
579 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
580 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
581 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
582 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
583 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
584 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
585 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
586 587, 587, 587, 587, 0, 585, 585, 585, 585, 585,
587 585, 585, 585, 585
588
Reid Spencer68a24bd2005-08-27 18:50:39 +0000589 } ;
590
Reid Spencerd8e616b2007-07-31 03:55:56 +0000591static yyconst short int yy_nxt[1318] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000592 { 0,
593 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000594 14, 14, 14, 4, 15, 16, 8, 8, 8, 17,
595 18, 19, 20, 21, 22, 23, 24, 25, 8, 26,
596 27, 28, 29, 30, 8, 31, 32, 33, 34, 35,
Reid Spencered951ea2007-05-19 07:22:10 +0000597 36, 37, 8, 38, 43, 46, 46, 46, 46, 42,
598 45, 45, 45, 45, 47, 47, 47, 47, 42, 48,
Reid Spencerb8f85052007-07-31 03:50:36 +0000599 393, 394, 42, 83, 42, 49, 50, 50, 50, 50,
600 42, 49, 50, 50, 50, 50, 42, 53, 158, 42,
601 42, 42, 42, 55, 55, 55, 55, 65, 56, 66,
602 106, 42, 61, 42, 42, 57, 62, 58, 51, 59,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000603
Reid Spencerb8f85052007-07-31 03:50:36 +0000604 67, 81, 60, 42, 63, 42, 42, 82, 42, 68,
605 166, 64, 87, 69, 42, 133, 42, 156, 132, 70,
606 88, 42, 71, 72, 135, 89, 73, 42, 42, 90,
607 42, 42, 42, 74, 42, 134, 91, 94, 186, 141,
608 75, 148, 76, 77, 42, 162, 95, 42, 152, 92,
609 78, 42, 96, 130, 79, 93, 80, 84, 84, 84,
610 84, 42, 42, 42, 103, 42, 131, 42, 147, 85,
611 42, 118, 151, 104, 155, 105, 42, 42, 119, 86,
612 42, 149, 42, 150, 120, 159, 160, 121, 161, 153,
613 97, 168, 98, 154, 122, 42, 99, 42, 100, 42,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000614
Reid Spencerb8f85052007-07-31 03:50:36 +0000615 101, 42, 102, 107, 42, 177, 226, 42, 45, 45,
616 45, 45, 55, 55, 55, 55, 108, 109, 172, 110,
617 111, 112, 167, 113, 140, 46, 46, 46, 46, 114,
618 157, 115, 116, 42, 117, 107, 42, 42, 139, 42,
619 49, 47, 47, 47, 47, 42, 42, 173, 123, 124,
620 42, 125, 42, 126, 42, 127, 174, 128, 42, 189,
621 169, 129, 142, 142, 142, 142, 42, 180, 170, 42,
622 143, 42, 42, 179, 178, 171, 143, 49, 50, 50,
623 50, 50, 42, 144, 144, 144, 144, 42, 181, 42,
624 144, 144, 42, 144, 144, 144, 144, 144, 144, 175,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000625
Reid Spencerb8f85052007-07-31 03:50:36 +0000626 163, 42, 42, 164, 84, 84, 84, 84, 42, 42,
627 42, 42, 165, 176, 42, 188, 42, 42, 42, 42,
628 187, 42, 194, 182, 183, 184, 190, 185, 191, 42,
629 192, 199, 42, 197, 193, 204, 42, 42, 195, 198,
630 42, 196, 201, 42, 42, 200, 203, 42, 42, 205,
631 42, 206, 42, 42, 42, 42, 202, 42, 42, 42,
632 212, 42, 207, 215, 211, 42, 208, 224, 213, 42,
633 217, 209, 227, 42, 225, 222, 210, 216, 219, 218,
634 214, 220, 42, 230, 42, 42, 42, 228, 42, 223,
635 42, 42, 42, 221, 42, 229, 231, 247, 42, 234,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000636
Reid Spencerb8f85052007-07-31 03:50:36 +0000637 236, 239, 42, 42, 233, 42, 42, 232, 246, 235,
638 238, 241, 242, 263, 237, 240, 42, 248, 251, 249,
639 42, 243, 250, 42, 244, 42, 42, 252, 253, 245,
640 256, 256, 256, 256, 254, 264, 42, 266, 257, 42,
641 42, 42, 269, 42, 257, 142, 142, 142, 142, 42,
642 42, 267, 42, 143, 274, 273, 261, 275, 265, 143,
643 258, 259, 262, 260, 260, 260, 260, 42, 42, 42,
644 42, 42, 42, 42, 268, 271, 272, 42, 270, 278,
645 42, 276, 42, 279, 42, 277, 42, 42, 42, 42,
646 42, 42, 285, 42, 42, 280, 42, 292, 289, 42,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000647
Reid Spencerb8f85052007-07-31 03:50:36 +0000648 281, 291, 283, 293, 282, 290, 295, 42, 287, 296,
649 284, 288, 42, 294, 42, 286, 42, 297, 42, 42,
650 42, 42, 300, 42, 42, 302, 42, 42, 42, 42,
651 42, 298, 42, 299, 301, 42, 304, 308, 42, 42,
652 303, 42, 307, 42, 310, 311, 305, 306, 309, 317,
653 42, 350, 319, 312, 42, 42, 313, 314, 314, 314,
654 314, 315, 316, 42, 314, 314, 42, 314, 314, 314,
655 314, 314, 314, 320, 318, 42, 42, 325, 326, 42,
656 42, 42, 42, 42, 321, 42, 42, 42, 42, 42,
657 344, 329, 328, 323, 322, 327, 331, 333, 42, 336,
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000658
Reid Spencerb8f85052007-07-31 03:50:36 +0000659 324, 42, 330, 42, 332, 42, 42, 335, 337, 334,
660 42, 340, 342, 42, 42, 338, 42, 42, 42, 341,
661 339, 256, 256, 256, 256, 42, 42, 366, 343, 257,
662 42, 353, 358, 345, 354, 257, 42, 425, 258, 258,
663 346, 347, 347, 347, 347, 347, 347, 347, 347, 260,
664 260, 260, 260, 42, 260, 260, 260, 260, 42, 348,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000665 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
Reid Spencerb8f85052007-07-31 03:50:36 +0000666 42, 355, 42, 42, 42, 42, 42, 42, 349, 351,
667 352, 357, 360, 365, 359, 42, 362, 42, 356, 363,
668 42, 42, 364, 367, 42, 361, 368, 374, 369, 370,
Chris Lattnerce5f24e2007-07-05 17:26:49 +0000669
Reid Spencerb8f85052007-07-31 03:50:36 +0000670 372, 371, 376, 373, 375, 42, 42, 42, 42, 42,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000671 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
Reid Spencerd8e616b2007-07-31 03:55:56 +0000672 415, 416, 496, 380, 42, 381, 379, 377, 378, 382,
Reid Spencerb8f85052007-07-31 03:50:36 +0000673 383, 384, 385, 391, 389, 390, 386, 42, 42, 388,
674 387, 393, 394, 42, 42, 392, 42, 42, 42, 395,
675 42, 400, 42, 42, 396, 42, 397, 42, 398, 42,
676 399, 402, 401, 42, 403, 404, 42, 42, 42, 42,
677 405, 42, 407, 42, 406, 42, 415, 416, 347, 347,
678 347, 347, 411, 413, 418, 408, 42, 414, 42, 42,
679 409, 42, 417, 410, 412, 42, 42, 42, 42, 420,
680
681 42, 421, 422, 42, 42, 42, 42, 42, 424, 42,
682 42, 42, 419, 430, 428, 431, 42, 42, 42, 423,
683 426, 42, 42, 427, 429, 432, 436, 434, 435, 42,
684 433, 42, 42, 42, 42, 437, 42, 42, 42, 42,
685 439, 441, 443, 444, 445, 438, 42, 449, 42, 440,
686 442, 447, 42, 42, 42, 42, 448, 42, 42, 42,
687 42, 446, 450, 42, 42, 42, 454, 42, 42, 42,
688 453, 451, 457, 459, 42, 460, 462, 452, 456, 42,
Reid Spencerd8e616b2007-07-31 03:55:56 +0000689 42, 464, 42, 461, 458, 455, 42, 42, 463, 42,
690 42, 467, 466, 42, 465, 42, 42, 42, 42, 42,
Reid Spencerb8f85052007-07-31 03:50:36 +0000691
Reid Spencerd8e616b2007-07-31 03:55:56 +0000692 469, 470, 468, 42, 42, 474, 42, 42, 472, 478,
693 479, 481, 484, 471, 42, 42, 476, 477, 42, 475,
694 42, 42, 473, 480, 482, 483, 486, 42, 42, 42,
695 42, 42, 42, 42, 42, 42, 42, 42, 485, 489,
696 42, 493, 42, 487, 494, 500, 42, 491, 492, 488,
697 497, 498, 490, 42, 42, 42, 495, 499, 42, 42,
698 502, 42, 42, 42, 501, 42, 504, 42, 42, 42,
699 42, 503, 42, 505, 42, 510, 42, 506, 509, 511,
700 507, 42, 515, 512, 513, 514, 508, 42, 516, 42,
701 517, 42, 42, 42, 42, 42, 42, 518, 519, 521,
Reid Spencerb8f85052007-07-31 03:50:36 +0000702
Reid Spencerd8e616b2007-07-31 03:55:56 +0000703 523, 42, 520, 524, 526, 42, 42, 522, 42, 42,
704 42, 42, 42, 528, 42, 42, 525, 42, 42, 527,
705 532, 536, 533, 42, 535, 537, 538, 42, 42, 534,
706 529, 541, 530, 531, 540, 42, 539, 42, 42, 42,
707 42, 542, 543, 42, 545, 42, 42, 42, 42, 546,
708 42, 42, 42, 549, 553, 551, 42, 42, 555, 42,
709 548, 544, 42, 42, 547, 42, 552, 554, 42, 42,
710 550, 556, 559, 42, 557, 561, 42, 42, 562, 558,
711 42, 563, 42, 42, 42, 42, 42, 560, 42, 564,
712 566, 42, 565, 572, 42, 42, 42, 42, 573, 42,
Reid Spencerb8f85052007-07-31 03:50:36 +0000713
Reid Spencerd8e616b2007-07-31 03:55:56 +0000714 568, 567, 569, 42, 570, 578, 42, 571, 575, 42,
715 42, 579, 574, 42, 42, 42, 42, 582, 577, 576,
716 583, 42, 42, 42, 42, 42, 42, 42, 42, 580,
717 581, 42, 42, 42, 42, 584, 39, 39, 39, 39,
718 39, 41, 41, 44, 44, 52, 42, 52, 52, 52,
719 54, 54, 137, 137, 137, 137, 137, 145, 145, 145,
720 145, 145, 42, 42, 42, 42, 42, 42, 42, 42,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000721 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
722 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
Lauro Ramos Venancioc7635522007-04-12 18:32:50 +0000723 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
Chris Lattner75466192006-05-19 21:28:53 +0000724
Reid Spencered951ea2007-05-19 07:22:10 +0000725 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
Chris Lattnerce5f24e2007-07-05 17:26:49 +0000726 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
Reid Spencerb8f85052007-07-31 03:50:36 +0000727 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
728 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
729 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
Reid Spencerd8e616b2007-07-31 03:55:56 +0000730 42, 42, 42, 42, 42, 42, 42, 42, 146, 42,
731 138, 255, 42, 42, 42, 146, 138, 42, 136, 42,
732 40, 585, 3, 585, 585, 585, 585, 585, 585, 585,
Reid Spencerb8f85052007-07-31 03:50:36 +0000733 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
734 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
735
736 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
Reid Spencerd8e616b2007-07-31 03:55:56 +0000737 585, 585, 585, 585, 585, 585, 585
Reid Spencer68a24bd2005-08-27 18:50:39 +0000738 } ;
739
Reid Spencerd8e616b2007-07-31 03:55:56 +0000740static yyconst short int yy_chk[1318] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000741 { 0,
742 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
743 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
744 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
745 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Reid Spencered951ea2007-05-19 07:22:10 +0000746 1, 1, 1, 1, 9, 10, 10, 10, 10, 24,
747 9, 9, 9, 9, 11, 11, 11, 11, 11, 12,
Reid Spencerb8f85052007-07-31 03:50:36 +0000748 393, 393, 65, 24, 12, 13, 13, 13, 13, 13,
749 13, 14, 14, 14, 14, 14, 14, 16, 65, 17,
Reid Spencered951ea2007-05-19 07:22:10 +0000750 31, 19, 18, 16, 16, 16, 16, 19, 17, 19,
Reid Spencerb8f85052007-07-31 03:50:36 +0000751 31, 23, 18, 62, 70, 17, 18, 17, 13, 17,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000752
Reid Spencerb8f85052007-07-31 03:50:36 +0000753 19, 23, 17, 20, 18, 21, 26, 23, 36, 20,
754 70, 18, 26, 20, 38, 37, 37, 62, 36, 20,
755 26, 68, 20, 21, 38, 26, 21, 28, 59, 26,
756 27, 87, 56, 21, 22, 37, 27, 28, 87, 48,
757 22, 56, 22, 22, 48, 68, 28, 35, 59, 27,
758 22, 30, 28, 35, 22, 27, 22, 25, 25, 25,
759 25, 25, 61, 58, 30, 33, 35, 57, 594, 25,
760 67, 33, 58, 30, 61, 30, 60, 66, 33, 25,
761 29, 57, 72, 57, 33, 66, 67, 33, 67, 60,
762 29, 72, 29, 60, 33, 80, 29, 71, 29, 116,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000763
Reid Spencerb8f85052007-07-31 03:50:36 +0000764 29, 76, 29, 32, 64, 80, 116, 32, 45, 45,
765 45, 45, 55, 55, 55, 55, 32, 32, 76, 32,
766 32, 32, 71, 32, 46, 46, 46, 46, 46, 32,
767 64, 32, 32, 77, 32, 34, 74, 78, 592, 34,
768 47, 47, 47, 47, 47, 47, 90, 77, 34, 34,
769 81, 34, 75, 34, 82, 34, 78, 34, 83, 90,
770 74, 34, 49, 49, 49, 49, 49, 83, 75, 584,
771 49, 85, 582, 82, 81, 75, 49, 50, 50, 50,
772 50, 50, 50, 51, 51, 51, 51, 51, 85, 79,
773 51, 51, 69, 51, 51, 51, 51, 51, 51, 79,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000774
Reid Spencerb8f85052007-07-31 03:50:36 +0000775 69, 86, 88, 69, 84, 84, 84, 84, 84, 89,
776 91, 94, 69, 79, 93, 89, 95, 96, 97, 92,
777 88, 98, 95, 86, 86, 86, 91, 86, 92, 101,
778 93, 98, 99, 96, 94, 101, 100, 103, 95, 97,
779 102, 95, 99, 104, 105, 98, 100, 106, 107, 102,
780 108, 103, 109, 110, 111, 115, 99, 114, 117, 581,
781 109, 119, 104, 110, 108, 113, 105, 114, 109, 112,
782 111, 106, 117, 118, 115, 113, 107, 110, 112, 111,
783 109, 112, 121, 119, 122, 123, 126, 118, 124, 113,
784 125, 127, 130, 112, 150, 118, 121, 130, 129, 123,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000785
Reid Spencerb8f85052007-07-31 03:50:36 +0000786 125, 127, 128, 131, 122, 134, 135, 121, 129, 124,
787 126, 128, 128, 150, 125, 127, 132, 131, 133, 131,
788 133, 128, 132, 155, 128, 152, 158, 134, 135, 128,
789 140, 140, 140, 140, 135, 152, 153, 155, 140, 163,
790 164, 165, 158, 156, 140, 142, 142, 142, 142, 142,
791 149, 156, 161, 142, 164, 163, 149, 165, 153, 142,
792 143, 143, 149, 143, 143, 143, 143, 143, 157, 160,
793 162, 166, 167, 169, 157, 161, 162, 170, 160, 167,
794 171, 166, 172, 169, 173, 166, 174, 175, 177, 176,
795 179, 178, 174, 181, 180, 169, 182, 179, 177, 183,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000796
Reid Spencerb8f85052007-07-31 03:50:36 +0000797 170, 178, 172, 180, 171, 177, 182, 184, 176, 183,
798 173, 176, 186, 181, 185, 175, 188, 184, 189, 187,
799 190, 191, 186, 193, 204, 188, 194, 195, 197, 207,
800 196, 184, 208, 185, 187, 211, 190, 195, 212, 213,
801 189, 218, 194, 263, 197, 204, 191, 193, 196, 213,
802 214, 263, 218, 207, 227, 225, 208, 210, 210, 210,
803 210, 211, 212, 219, 210, 210, 220, 210, 210, 210,
804 210, 210, 210, 219, 214, 221, 224, 225, 227, 228,
805 229, 230, 231, 234, 220, 251, 232, 233, 238, 241,
806 251, 230, 229, 224, 221, 228, 232, 233, 244, 241,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000807
Reid Spencerb8f85052007-07-31 03:50:36 +0000808 224, 245, 231, 246, 232, 247, 249, 238, 244, 234,
809 248, 247, 249, 250, 253, 245, 254, 281, 268, 248,
810 246, 256, 256, 256, 256, 267, 273, 281, 250, 256,
811 360, 267, 273, 253, 268, 256, 261, 360, 257, 257,
812 254, 257, 257, 257, 257, 258, 258, 258, 258, 259,
813 259, 259, 259, 259, 260, 260, 260, 260, 260, 261,
814 262, 264, 266, 270, 271, 272, 274, 276, 275, 277,
815 279, 270, 285, 278, 286, 288, 287, 280, 262, 264,
816 266, 272, 275, 280, 274, 282, 277, 291, 271, 278,
817 295, 292, 279, 282, 293, 276, 285, 292, 286, 287,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000818
Reid Spencerb8f85052007-07-31 03:50:36 +0000819 288, 287, 295, 291, 293, 296, 297, 298, 299, 300,
820 301, 304, 308, 309, 311, 305, 313, 459, 307, 316,
Reid Spencerd8e616b2007-07-31 03:55:56 +0000821 415, 415, 459, 299, 312, 300, 298, 296, 297, 301,
Reid Spencerb8f85052007-07-31 03:50:36 +0000822 304, 305, 307, 316, 312, 313, 308, 317, 319, 311,
823 309, 318, 318, 326, 320, 317, 321, 322, 330, 319,
824 325, 326, 328, 318, 320, 329, 321, 332, 322, 335,
825 325, 329, 328, 336, 330, 332, 337, 338, 340, 342,
826 335, 344, 337, 345, 336, 351, 346, 346, 347, 347,
827 347, 347, 344, 345, 351, 338, 350, 345, 346, 353,
828 340, 355, 350, 342, 344, 356, 357, 358, 359, 355,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000829
Reid Spencerb8f85052007-07-31 03:50:36 +0000830 361, 356, 357, 362, 363, 365, 364, 367, 359, 372,
831 374, 370, 353, 365, 363, 367, 371, 375, 373, 358,
832 361, 377, 378, 362, 364, 370, 374, 372, 373, 379,
833 371, 380, 382, 384, 383, 375, 386, 387, 385, 389,
834 378, 380, 383, 384, 385, 377, 388, 389, 390, 379,
835 382, 387, 391, 392, 395, 396, 388, 397, 398, 400,
836 401, 386, 390, 405, 402, 403, 396, 412, 407, 409,
837 395, 391, 400, 402, 413, 403, 407, 392, 398, 408,
Reid Spencerd8e616b2007-07-31 03:55:56 +0000838 410, 409, 414, 405, 401, 397, 411, 418, 408, 419,
839 421, 412, 411, 422, 410, 423, 425, 426, 427, 430,
Chris Lattnere869eef2005-11-12 00:11:49 +0000840
Reid Spencerd8e616b2007-07-31 03:55:56 +0000841 414, 418, 413, 434, 429, 423, 439, 435, 421, 429,
842 429, 434, 439, 419, 440, 438, 426, 427, 442, 425,
843 445, 447, 422, 430, 435, 438, 442, 446, 449, 450,
844 451, 453, 455, 454, 466, 465, 467, 462, 440, 447,
845 468, 453, 472, 445, 454, 467, 469, 450, 451, 446,
846 462, 465, 449, 470, 473, 476, 455, 466, 477, 478,
847 469, 579, 479, 485, 468, 480, 472, 483, 484, 482,
848 488, 470, 486, 473, 491, 480, 493, 476, 479, 482,
849 477, 489, 486, 483, 484, 485, 478, 490, 488, 494,
850 489, 496, 499, 498, 497, 502, 500, 490, 491, 494,
Chris Lattner75466192006-05-19 21:28:53 +0000851
Reid Spencerd8e616b2007-07-31 03:55:56 +0000852 497, 503, 493, 498, 500, 505, 510, 496, 506, 507,
853 508, 511, 518, 503, 512, 520, 499, 522, 521, 502,
854 508, 518, 510, 525, 512, 520, 521, 523, 527, 511,
855 505, 525, 506, 507, 523, 526, 522, 529, 532, 533,
856 534, 526, 527, 535, 532, 537, 538, 539, 541, 533,
857 540, 542, 543, 537, 541, 539, 545, 546, 543, 547,
858 535, 529, 548, 549, 534, 553, 540, 542, 552, 551,
859 538, 545, 548, 554, 546, 551, 555, 558, 552, 547,
860 557, 553, 559, 560, 565, 564, 567, 549, 561, 554,
861 557, 563, 555, 564, 566, 568, 569, 571, 565, 573,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000862
Reid Spencerd8e616b2007-07-31 03:55:56 +0000863 559, 558, 560, 572, 561, 571, 574, 563, 567, 578,
864 580, 572, 566, 583, 577, 576, 575, 578, 569, 568,
865 580, 570, 562, 556, 550, 544, 536, 531, 530, 573,
866 574, 528, 524, 519, 517, 583, 586, 586, 586, 586,
867 586, 587, 587, 588, 588, 589, 516, 589, 589, 589,
868 590, 590, 591, 591, 591, 591, 591, 593, 593, 593,
869 593, 593, 515, 514, 513, 509, 504, 501, 495, 492,
870 487, 481, 475, 474, 471, 464, 463, 461, 460, 458,
871 457, 456, 452, 448, 444, 443, 441, 437, 436, 433,
872 432, 431, 428, 424, 420, 417, 406, 404, 399, 381,
Reid Spencer3da59db2006-11-27 01:05:10 +0000873
Reid Spencerd8e616b2007-07-31 03:55:56 +0000874 376, 369, 368, 366, 354, 352, 349, 348, 343, 341,
875 339, 334, 333, 331, 327, 324, 323, 315, 310, 306,
876 303, 302, 294, 290, 289, 284, 283, 269, 265, 252,
877 243, 242, 240, 239, 237, 236, 235, 226, 223, 222,
878 217, 216, 215, 209, 206, 205, 203, 202, 201, 200,
879 199, 198, 192, 168, 159, 154, 151, 148, 145, 141,
880 137, 136, 120, 73, 63, 53, 43, 41, 39, 8,
881 7, 3, 585, 585, 585, 585, 585, 585, 585, 585,
Reid Spencerb8f85052007-07-31 03:50:36 +0000882 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
883 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
884
885 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
Reid Spencerd8e616b2007-07-31 03:55:56 +0000886 585, 585, 585, 585, 585, 585, 585
Reid Spencer68a24bd2005-08-27 18:50:39 +0000887 } ;
888
Reid Spencered951ea2007-05-19 07:22:10 +0000889static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
890static char *yy_full_match;
891static int yy_lp;
892#define REJECT \
893{ \
894*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
895yy_cp = yy_full_match; /* restore poss. backed-over text */ \
896++yy_lp; \
897goto find_rule; \
898}
Reid Spencer68a24bd2005-08-27 18:50:39 +0000899#define yymore() yymore_used_but_not_detected
900#define YY_MORE_ADJ 0
901#define YY_RESTORE_YY_MORE_OFFSET
Reid Spencered951ea2007-05-19 07:22:10 +0000902char *yytext;
David Greene718fda32007-08-01 03:59:32 +0000903#line 1 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencered951ea2007-05-19 07:22:10 +0000904#define INITIAL 0
Reid Spencer68a24bd2005-08-27 18:50:39 +0000905/*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
906//
907// The LLVM Compiler Infrastructure
908//
909// This file was developed by the LLVM research group and is distributed under
910// the University of Illinois Open Source License. See LICENSE.TXT for details.
911//
912//===----------------------------------------------------------------------===//
913//
914// This file implements the flex scanner for LLVM assembly languages files.
915//
916//===----------------------------------------------------------------------===*/
Reid Spencered951ea2007-05-19 07:22:10 +0000917#define YY_NEVER_INTERACTIVE 1
David Greene718fda32007-08-01 03:59:32 +0000918#line 28 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +0000919#include "ParserInternals.h"
920#include "llvm/Module.h"
Chris Lattner8e008322007-05-22 06:47:55 +0000921#include "llvm/Support/MathExtras.h"
Reid Spencer68a24bd2005-08-27 18:50:39 +0000922#include <list>
923#include "llvmAsmParser.h"
924#include <cctype>
925#include <cstdlib>
926
927void set_scan_file(FILE * F){
Reid Spencered951ea2007-05-19 07:22:10 +0000928 yy_switch_to_buffer(yy_create_buffer( F, YY_BUF_SIZE ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +0000929}
930void set_scan_string (const char * str) {
Reid Spencered951ea2007-05-19 07:22:10 +0000931 yy_scan_string (str);
Reid Spencer68a24bd2005-08-27 18:50:39 +0000932}
933
Reid Spencer3ed469c2006-11-02 20:25:50 +0000934// Construct a token value for a non-obsolete token
Reid Spencer68a24bd2005-08-27 18:50:39 +0000935#define RET_TOK(type, Enum, sym) \
Reid Spencera132e042006-12-03 05:46:11 +0000936 llvmAsmlval.type = Instruction::Enum; \
937 return sym
938
Reid Spencer3ed469c2006-11-02 20:25:50 +0000939// Construct a token value for an obsolete token
Reid Spencera132e042006-12-03 05:46:11 +0000940#define RET_TY(CTYPE, SYM) \
941 llvmAsmlval.PrimType = CTYPE;\
Reid Spencer481169e2006-12-01 00:33:46 +0000942 return SYM
Reid Spencer68a24bd2005-08-27 18:50:39 +0000943
944namespace llvm {
945
946// TODO: All of the static identifiers are figured out by the lexer,
947// these should be hashed to reduce the lexer size
948
949
950// atoull - Convert an ascii string of decimal digits into the unsigned long
951// long representation... this does not have to do input error checking,
952// because we know that the input will be matched by a suitable regex...
953//
954static uint64_t atoull(const char *Buffer) {
955 uint64_t Result = 0;
956 for (; *Buffer; Buffer++) {
957 uint64_t OldRes = Result;
958 Result *= 10;
959 Result += *Buffer-'0';
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
966static uint64_t HexIntToVal(const char *Buffer) {
967 uint64_t Result = 0;
968 for (; *Buffer; ++Buffer) {
969 uint64_t OldRes = Result;
970 Result *= 16;
971 char C = *Buffer;
972 if (C >= '0' && C <= '9')
973 Result += C-'0';
974 else if (C >= 'A' && C <= 'F')
975 Result += C-'A'+10;
976 else if (C >= 'a' && C <= 'f')
977 Result += C-'a'+10;
978
979 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000980 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000981 }
982 return Result;
983}
984
985
986// HexToFP - Convert the ascii string in hexidecimal format to the floating
987// point representation of it.
988//
989static double HexToFP(const char *Buffer) {
Chris Lattner8e008322007-05-22 06:47:55 +0000990 return BitsToDouble(HexIntToVal(Buffer)); // Cast Hex constant to double
Reid Spencer68a24bd2005-08-27 18:50:39 +0000991}
992
993
994// UnEscapeLexed - Run through the specified buffer and change \xx codes to the
Reid Spencer0a8a16b2007-05-22 18:52:55 +0000995// appropriate character.
Reid Spencere2aa9612007-05-22 19:08:16 +0000996char *UnEscapeLexed(char *Buffer, char* EndBuffer) {
Reid Spencer68a24bd2005-08-27 18:50:39 +0000997 char *BOut = Buffer;
998 for (char *BIn = Buffer; *BIn; ) {
Reid Spencere2aa9612007-05-22 19:08:16 +0000999 if (BIn[0] == '\\') {
1000 if (BIn < EndBuffer-1 && BIn[1] == '\\') {
1001 *BOut++ = '\\'; // Two \ becomes one
1002 BIn += 2;
1003 } else if (BIn < EndBuffer-2 && isxdigit(BIn[1]) && isxdigit(BIn[2])) {
1004 char Tmp = BIn[3]; BIn[3] = 0; // Terminate string
1005 *BOut = (char)strtol(BIn+1, 0, 16); // Convert to number
1006 BIn[3] = Tmp; // Restore character
1007 BIn += 3; // Skip over handled chars
1008 ++BOut;
1009 } else {
1010 *BOut++ = *BIn++;
1011 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001012 } else {
1013 *BOut++ = *BIn++;
1014 }
1015 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001016 return BOut;
1017}
1018
1019} // End llvm namespace
1020
1021using namespace llvm;
1022
1023#define YY_NEVER_INTERACTIVE 1
1024/* Comments start with a ; and go till end of line */
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001025/* Local Values and Type identifiers start with a % sign */
1026/* Global Value identifiers start with an @ sign */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001027/* Label identifiers end with a colon */
1028/* Quoted names can contain any character except " and \ */
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001029/* LocalVarID/GlobalVarID: match an unnamed local variable slot ID. */
1030/* Integer types are specified with i and a bitwidth */
1031/* E[PN]Integer: match positive and negative literal integer values. */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001032/* FPConstant - A Floating point constant.
1033 */
1034/* HexFPConstant - Floating point constant represented in IEEE format as a
1035 * hexadecimal number for when exponential notation is not precise enough.
1036 */
1037/* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
1038 * it to deal with 64 bit numbers.
1039 */
Reid Spencerd8e616b2007-07-31 03:55:56 +00001040/* WSNL - shorthand for whitespace followed by newline */
David Greene718fda32007-08-01 03:59:32 +00001041#line 1042 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001042
1043/* Macros after this point can all be overridden by user definitions in
1044 * section 1.
1045 */
1046
1047#ifndef YY_SKIP_YYWRAP
1048#ifdef __cplusplus
Reid Spencered951ea2007-05-19 07:22:10 +00001049extern "C" int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001050#else
Reid Spencered951ea2007-05-19 07:22:10 +00001051extern int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001052#endif
1053#endif
1054
Reid Spencered951ea2007-05-19 07:22:10 +00001055#ifndef YY_NO_UNPUT
1056static inline void yyunput YY_PROTO(( int c, char *buf_ptr ));
1057#endif
1058
Reid Spencer68a24bd2005-08-27 18:50:39 +00001059#ifndef yytext_ptr
Reid Spencered951ea2007-05-19 07:22:10 +00001060static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001061#endif
1062
1063#ifdef YY_NEED_STRLEN
Reid Spencered951ea2007-05-19 07:22:10 +00001064static int yy_flex_strlen YY_PROTO(( yyconst char * ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001065#endif
1066
1067#ifndef YY_NO_INPUT
1068#ifdef __cplusplus
Reid Spencered951ea2007-05-19 07:22:10 +00001069static int yyinput YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001070#else
Reid Spencered951ea2007-05-19 07:22:10 +00001071static int input YY_PROTO(( void ));
1072#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001073#endif
1074
Reid Spencered951ea2007-05-19 07:22:10 +00001075#if YY_STACK_USED
1076static int yy_start_stack_ptr = 0;
1077static int yy_start_stack_depth = 0;
1078static int *yy_start_stack = 0;
1079#ifndef YY_NO_PUSH_STATE
1080static void yy_push_state YY_PROTO(( int new_state ));
1081#endif
1082#ifndef YY_NO_POP_STATE
1083static void yy_pop_state YY_PROTO(( void ));
1084#endif
1085#ifndef YY_NO_TOP_STATE
1086static int yy_top_state YY_PROTO(( void ));
1087#endif
1088
1089#else
1090#define YY_NO_PUSH_STATE 1
1091#define YY_NO_POP_STATE 1
1092#define YY_NO_TOP_STATE 1
1093#endif
1094
1095#ifdef YY_MALLOC_DECL
1096YY_MALLOC_DECL
1097#else
1098#if __STDC__
1099#ifndef __cplusplus
1100#include <stdlib.h>
1101#endif
1102#else
1103/* Just try to get by without declaring the routines. This will fail
1104 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1105 * or sizeof(void*) != sizeof(int).
1106 */
1107#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001108#endif
1109
1110/* Amount of stuff to slurp up with each read. */
1111#ifndef YY_READ_BUF_SIZE
1112#define YY_READ_BUF_SIZE 8192
1113#endif
1114
1115/* Copy whatever the last rule matched to the standard output. */
Reid Spencered951ea2007-05-19 07:22:10 +00001116
Reid Spencer68a24bd2005-08-27 18:50:39 +00001117#ifndef ECHO
1118/* This used to be an fputs(), but since the string might contain NUL's,
1119 * we now use fwrite().
1120 */
Reid Spencered951ea2007-05-19 07:22:10 +00001121#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001122#endif
1123
1124/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1125 * is returned in "result".
1126 */
1127#ifndef YY_INPUT
1128#define YY_INPUT(buf,result,max_size) \
Reid Spencered951ea2007-05-19 07:22:10 +00001129 if ( yy_current_buffer->yy_is_interactive ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001130 { \
Reid Spencered951ea2007-05-19 07:22:10 +00001131 int c = '*', n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001132 for ( n = 0; n < max_size && \
Reid Spencered951ea2007-05-19 07:22:10 +00001133 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001134 buf[n] = (char) c; \
1135 if ( c == '\n' ) \
1136 buf[n++] = (char) c; \
Reid Spencered951ea2007-05-19 07:22:10 +00001137 if ( c == EOF && ferror( yyin ) ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001138 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1139 result = n; \
1140 } \
Reid Spencered951ea2007-05-19 07:22:10 +00001141 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1142 && ferror( yyin ) ) \
1143 YY_FATAL_ERROR( "input in flex scanner failed" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001144#endif
1145
1146/* No semi-colon after return; correct usage is to write "yyterminate();" -
1147 * we don't want an extra ';' after the "return" because that will cause
1148 * some compilers to complain about unreachable statements.
1149 */
1150#ifndef yyterminate
1151#define yyterminate() return YY_NULL
1152#endif
1153
1154/* Number of entries by which start-condition stack grows. */
1155#ifndef YY_START_STACK_INCR
1156#define YY_START_STACK_INCR 25
1157#endif
1158
1159/* Report a fatal error. */
1160#ifndef YY_FATAL_ERROR
1161#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1162#endif
1163
1164/* Default declaration of generated scanner - a define so the user can
1165 * easily add parameters.
1166 */
1167#ifndef YY_DECL
Reid Spencered951ea2007-05-19 07:22:10 +00001168#define YY_DECL int yylex YY_PROTO(( void ))
1169#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001170
Reid Spencered951ea2007-05-19 07:22:10 +00001171/* Code executed at the beginning of each rule, after yytext and yyleng
Reid Spencer68a24bd2005-08-27 18:50:39 +00001172 * have been set up.
1173 */
1174#ifndef YY_USER_ACTION
1175#define YY_USER_ACTION
1176#endif
1177
1178/* Code executed at the end of each rule. */
1179#ifndef YY_BREAK
1180#define YY_BREAK break;
1181#endif
1182
1183#define YY_RULE_SETUP \
1184 YY_USER_ACTION
1185
1186YY_DECL
Reid Spencered951ea2007-05-19 07:22:10 +00001187 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00001188 register yy_state_type yy_current_state;
Reid Spencerb8f85052007-07-31 03:50:36 +00001189 register char *yy_cp = NULL, *yy_bp = NULL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001190 register int yy_act;
Reid Spencered951ea2007-05-19 07:22:10 +00001191
David Greene718fda32007-08-01 03:59:32 +00001192#line 182 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001193
1194
David Greene718fda32007-08-01 03:59:32 +00001195#line 1196 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001196
Reid Spencered951ea2007-05-19 07:22:10 +00001197 if ( yy_init )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001198 {
Reid Spencered951ea2007-05-19 07:22:10 +00001199 yy_init = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001200
1201#ifdef YY_USER_INIT
1202 YY_USER_INIT;
1203#endif
1204
Reid Spencered951ea2007-05-19 07:22:10 +00001205 if ( ! yy_start )
1206 yy_start = 1; /* first start state */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001207
Reid Spencered951ea2007-05-19 07:22:10 +00001208 if ( ! yyin )
1209 yyin = stdin;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001210
Reid Spencered951ea2007-05-19 07:22:10 +00001211 if ( ! yyout )
1212 yyout = stdout;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001213
Reid Spencered951ea2007-05-19 07:22:10 +00001214 if ( ! yy_current_buffer )
1215 yy_current_buffer =
1216 yy_create_buffer( yyin, YY_BUF_SIZE );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001217
Reid Spencered951ea2007-05-19 07:22:10 +00001218 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00001219 }
1220
1221 while ( 1 ) /* loops until end-of-file is reached */
1222 {
Reid Spencered951ea2007-05-19 07:22:10 +00001223 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001224
Reid Spencered951ea2007-05-19 07:22:10 +00001225 /* Support of yytext. */
1226 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001227
1228 /* yy_bp points to the position in yy_ch_buf of the start of
1229 * the current run.
1230 */
1231 yy_bp = yy_cp;
1232
Reid Spencered951ea2007-05-19 07:22:10 +00001233 yy_current_state = yy_start;
1234 yy_state_ptr = yy_state_buf;
1235 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001236yy_match:
1237 do
1238 {
1239 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1240 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1241 {
1242 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencerb8f85052007-07-31 03:50:36 +00001243 if ( yy_current_state >= 586 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001244 yy_c = yy_meta[(unsigned int) yy_c];
1245 }
1246 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencered951ea2007-05-19 07:22:10 +00001247 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001248 ++yy_cp;
1249 }
Reid Spencerb8f85052007-07-31 03:50:36 +00001250 while ( yy_current_state != 585 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001251
1252yy_find_action:
Reid Spencered951ea2007-05-19 07:22:10 +00001253 yy_current_state = *--yy_state_ptr;
1254 yy_lp = yy_accept[yy_current_state];
1255find_rule: /* we branch to this label when backing up */
1256 for ( ; ; ) /* until we find what rule we matched */
1257 {
1258 if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
1259 {
1260 yy_act = yy_acclist[yy_lp];
1261 {
1262 yy_full_match = yy_cp;
1263 break;
1264 }
1265 }
1266 --yy_cp;
1267 yy_current_state = *--yy_state_ptr;
1268 yy_lp = yy_accept[yy_current_state];
1269 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001270
1271 YY_DO_BEFORE_ACTION;
1272
Reid Spencered951ea2007-05-19 07:22:10 +00001273 if ( yy_act != YY_END_OF_BUFFER )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001274 {
1275 int yyl;
Reid Spencered951ea2007-05-19 07:22:10 +00001276 for ( yyl = 0; yyl < yyleng; ++yyl )
1277 if ( yytext[yyl] == '\n' )
1278 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001279 }
1280
1281do_action: /* This label is used only to access EOF actions. */
1282
Reid Spencered951ea2007-05-19 07:22:10 +00001283
Reid Spencer68a24bd2005-08-27 18:50:39 +00001284 switch ( yy_act )
1285 { /* beginning of action switch */
1286case 1:
1287YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001288#line 184 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001289{ /* Ignore comments for now */ }
1290 YY_BREAK
1291case 2:
1292YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001293#line 186 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001294{ return BEGINTOK; }
1295 YY_BREAK
1296case 3:
1297YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001298#line 187 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001299{ return ENDTOK; }
1300 YY_BREAK
1301case 4:
1302YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001303#line 188 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001304{ return TRUETOK; }
1305 YY_BREAK
1306case 5:
1307YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001308#line 189 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001309{ return FALSETOK; }
1310 YY_BREAK
1311case 6:
1312YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001313#line 190 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001314{ return DECLARE; }
1315 YY_BREAK
1316case 7:
1317YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001318#line 191 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001319{ return DEFINE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001320 YY_BREAK
1321case 8:
1322YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001323#line 192 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001324{ return GLOBAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001325 YY_BREAK
1326case 9:
1327YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001328#line 193 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001329{ return CONSTANT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001330 YY_BREAK
1331case 10:
1332YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001333#line 194 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001334{ return INTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001335 YY_BREAK
1336case 11:
1337YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001338#line 195 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001339{ return LINKONCE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001340 YY_BREAK
1341case 12:
1342YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001343#line 196 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001344{ return WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001345 YY_BREAK
1346case 13:
1347YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001348#line 197 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001349{ return APPENDING; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001350 YY_BREAK
1351case 14:
1352YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001353#line 198 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001354{ return DLLIMPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001355 YY_BREAK
1356case 15:
1357YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001358#line 199 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001359{ return DLLEXPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001360 YY_BREAK
1361case 16:
1362YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001363#line 200 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001364{ return HIDDEN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001365 YY_BREAK
1366case 17:
1367YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001368#line 201 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001369{ return PROTECTED; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001370 YY_BREAK
1371case 18:
1372YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001373#line 202 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001374{ return EXTERN_WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001375 YY_BREAK
1376case 19:
1377YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001378#line 203 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001379{ return EXTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001380 YY_BREAK
1381case 20:
1382YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001383#line 204 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001384{ return THREAD_LOCAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001385 YY_BREAK
1386case 21:
1387YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001388#line 205 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001389{ return ZEROINITIALIZER; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001390 YY_BREAK
1391case 22:
1392YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001393#line 206 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001394{ return DOTDOTDOT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001395 YY_BREAK
1396case 23:
1397YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001398#line 207 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001399{ return UNDEF; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001400 YY_BREAK
1401case 24:
1402YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001403#line 208 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001404{ return NULL_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001405 YY_BREAK
1406case 25:
1407YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001408#line 209 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001409{ return TO; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001410 YY_BREAK
1411case 26:
1412YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001413#line 210 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001414{ return TAIL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001415 YY_BREAK
1416case 27:
1417YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001418#line 211 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001419{ return TARGET; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001420 YY_BREAK
1421case 28:
1422YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001423#line 212 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001424{ return TRIPLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001425 YY_BREAK
1426case 29:
1427YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001428#line 213 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001429{ return DEPLIBS; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001430 YY_BREAK
1431case 30:
1432YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001433#line 214 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001434{ return DATALAYOUT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001435 YY_BREAK
1436case 31:
1437YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001438#line 215 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001439{ return VOLATILE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001440 YY_BREAK
1441case 32:
1442YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001443#line 216 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001444{ return ALIGN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001445 YY_BREAK
1446case 33:
1447YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001448#line 217 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001449{ return SECTION; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001450 YY_BREAK
1451case 34:
1452YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001453#line 218 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001454{ return ALIAS; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001455 YY_BREAK
1456case 35:
1457YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001458#line 219 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001459{ return MODULE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001460 YY_BREAK
1461case 36:
1462YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001463#line 220 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001464{ return ASM_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001465 YY_BREAK
1466case 37:
1467YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001468#line 221 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001469{ return SIDEEFFECT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001470 YY_BREAK
1471case 38:
1472YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001473#line 223 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001474{ return CC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001475 YY_BREAK
1476case 39:
1477YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001478#line 224 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001479{ return CCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001480 YY_BREAK
1481case 40:
1482YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001483#line 225 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001484{ return FASTCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001485 YY_BREAK
1486case 41:
1487YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001488#line 226 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001489{ return COLDCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001490 YY_BREAK
1491case 42:
1492YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001493#line 227 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001494{ return X86_STDCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001495 YY_BREAK
1496case 43:
1497YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001498#line 228 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001499{ return X86_FASTCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001500 YY_BREAK
1501case 44:
1502YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001503#line 230 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001504{ return SIGNEXT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001505 YY_BREAK
1506case 45:
1507YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001508#line 231 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001509{ return ZEROEXT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001510 YY_BREAK
1511case 46:
1512YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001513#line 232 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001514{ return INREG; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001515 YY_BREAK
1516case 47:
1517YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001518#line 233 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001519{ return SRET; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001520 YY_BREAK
1521case 48:
1522YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001523#line 234 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001524{ return NOUNWIND; }
Reid Spencer832254e2007-02-02 02:16:23 +00001525 YY_BREAK
1526case 49:
1527YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001528#line 235 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001529{ return NORETURN; }
Reid Spencer832254e2007-02-02 02:16:23 +00001530 YY_BREAK
1531case 50:
1532YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001533#line 236 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001534{ return NOALIAS; }
Reid Spencer67d8ed92007-03-22 02:14:08 +00001535 YY_BREAK
1536case 51:
1537YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001538#line 237 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001539{ return BYVAL; }
Lauro Ramos Venancioc7635522007-04-12 18:32:50 +00001540 YY_BREAK
1541case 52:
1542YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001543#line 238 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001544{ return NEST; }
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001545 YY_BREAK
1546case 53:
Reid Spencerb8f85052007-07-31 03:50:36 +00001547*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
1548yy_c_buf_p = yy_cp -= 1;
1549YY_DO_BEFORE_ACTION; /* set up yytext again */
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001550YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001551#line 239 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001552{ // For auto-upgrade only, drop in LLVM 3.0
1553 return SIGNEXT; }
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001554 YY_BREAK
1555case 54:
Reid Spencerb8f85052007-07-31 03:50:36 +00001556*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
1557yy_c_buf_p = yy_cp -= 1;
1558YY_DO_BEFORE_ACTION; /* set up yytext again */
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001559YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001560#line 241 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001561{ // For auto-upgrade only, drop in LLVM 3.0
1562 return ZEROEXT; }
Chris Lattnerce5f24e2007-07-05 17:26:49 +00001563 YY_BREAK
1564case 55:
1565YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001566#line 244 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001567{ RET_TY(Type::VoidTy, VOID); }
1568 YY_BREAK
1569case 56:
1570YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001571#line 245 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001572{ RET_TY(Type::FloatTy, FLOAT); }
1573 YY_BREAK
1574case 57:
1575YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001576#line 246 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001577{ RET_TY(Type::DoubleTy,DOUBLE);}
1578 YY_BREAK
1579case 58:
1580YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001581#line 247 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001582{ RET_TY(Type::LabelTy, LABEL); }
1583 YY_BREAK
1584case 59:
1585YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001586#line 248 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001587{ return TYPE; }
1588 YY_BREAK
1589case 60:
1590YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001591#line 249 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001592{ return OPAQUE; }
1593 YY_BREAK
1594case 61:
1595YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001596#line 250 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencered951ea2007-05-19 07:22:10 +00001597{ uint64_t NumBits = atoull(yytext+1);
Reid Spencera54b7cb2007-01-12 07:05:14 +00001598 if (NumBits < IntegerType::MIN_INT_BITS ||
1599 NumBits > IntegerType::MAX_INT_BITS)
1600 GenerateError("Bitwidth for integer type out of range!");
1601 const Type* Ty = IntegerType::get(NumBits);
1602 RET_TY(Ty, INTTYPE);
1603 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001604 YY_BREAK
Reid Spencer68a24bd2005-08-27 18:50:39 +00001605case 62:
1606YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001607#line 258 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001608{ RET_TOK(BinaryOpVal, Add, ADD); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001609 YY_BREAK
1610case 63:
1611YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001612#line 259 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001613{ RET_TOK(BinaryOpVal, Sub, SUB); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001614 YY_BREAK
1615case 64:
1616YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001617#line 260 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001618{ RET_TOK(BinaryOpVal, Mul, MUL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001619 YY_BREAK
1620case 65:
1621YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001622#line 261 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001623{ RET_TOK(BinaryOpVal, UDiv, UDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001624 YY_BREAK
1625case 66:
1626YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001627#line 262 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001628{ RET_TOK(BinaryOpVal, SDiv, SDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001629 YY_BREAK
1630case 67:
1631YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001632#line 263 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001633{ RET_TOK(BinaryOpVal, FDiv, FDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001634 YY_BREAK
1635case 68:
1636YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001637#line 264 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001638{ RET_TOK(BinaryOpVal, URem, UREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001639 YY_BREAK
1640case 69:
1641YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001642#line 265 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001643{ RET_TOK(BinaryOpVal, SRem, SREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001644 YY_BREAK
1645case 70:
1646YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001647#line 266 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001648{ RET_TOK(BinaryOpVal, FRem, FREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001649 YY_BREAK
1650case 71:
1651YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001652#line 267 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001653{ RET_TOK(BinaryOpVal, Shl, SHL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001654 YY_BREAK
1655case 72:
1656YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001657#line 268 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001658{ RET_TOK(BinaryOpVal, LShr, LSHR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001659 YY_BREAK
1660case 73:
1661YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001662#line 269 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001663{ RET_TOK(BinaryOpVal, AShr, ASHR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001664 YY_BREAK
1665case 74:
1666YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001667#line 270 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001668{ RET_TOK(BinaryOpVal, And, AND); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001669 YY_BREAK
1670case 75:
1671YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001672#line 271 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001673{ RET_TOK(BinaryOpVal, Or , OR ); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001674 YY_BREAK
1675case 76:
1676YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001677#line 272 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001678{ RET_TOK(BinaryOpVal, Xor, XOR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001679 YY_BREAK
1680case 77:
1681YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001682#line 273 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001683{ RET_TOK(OtherOpVal, ICmp, ICMP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001684 YY_BREAK
1685case 78:
1686YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001687#line 274 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001688{ RET_TOK(OtherOpVal, FCmp, FCMP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001689 YY_BREAK
1690case 79:
1691YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001692#line 276 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001693{ return EQ; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001694 YY_BREAK
1695case 80:
1696YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001697#line 277 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001698{ return NE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001699 YY_BREAK
1700case 81:
1701YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001702#line 278 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001703{ return SLT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001704 YY_BREAK
1705case 82:
1706YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001707#line 279 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001708{ return SGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001709 YY_BREAK
1710case 83:
1711YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001712#line 280 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001713{ return SLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001714 YY_BREAK
1715case 84:
1716YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001717#line 281 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001718{ return SGE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001719 YY_BREAK
1720case 85:
1721YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001722#line 282 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001723{ return ULT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001724 YY_BREAK
1725case 86:
1726YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001727#line 283 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001728{ return UGT; }
Nate Begeman14b05292005-11-05 09:21:28 +00001729 YY_BREAK
1730case 87:
1731YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001732#line 284 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001733{ return ULE; }
Chris Lattnere869eef2005-11-12 00:11:49 +00001734 YY_BREAK
1735case 88:
1736YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001737#line 285 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001738{ return UGE; }
Robert Bocchino9c62b562006-01-10 19:04:32 +00001739 YY_BREAK
1740case 89:
1741YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001742#line 286 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001743{ return OEQ; }
Robert Bocchino2def1b32006-01-17 20:06:25 +00001744 YY_BREAK
1745case 90:
1746YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001747#line 287 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001748{ return ONE; }
Chris Lattner8335e842006-01-23 23:05:42 +00001749 YY_BREAK
1750case 91:
1751YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001752#line 288 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001753{ return OLT; }
Chris Lattner66316012006-01-24 04:14:29 +00001754 YY_BREAK
1755case 92:
1756YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001757#line 289 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001758{ return OGT; }
Chris Lattner0e9c3762006-01-25 22:27:16 +00001759 YY_BREAK
1760case 93:
1761YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001762#line 290 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001763{ return OLE; }
Chris Lattnerd5efe842006-04-08 01:18:56 +00001764 YY_BREAK
1765case 94:
1766YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001767#line 291 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001768{ return OGE; }
Chris Lattner75466192006-05-19 21:28:53 +00001769 YY_BREAK
1770case 95:
1771YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001772#line 292 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001773{ return ORD; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001774 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001775case 96:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001776YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001777#line 293 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001778{ return UNO; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001779 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001780case 97:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001781YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001782#line 294 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001783{ return UEQ; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001784 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001785case 98:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001786YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001787#line 295 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001788{ return UNE; }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001789 YY_BREAK
1790case 99:
1791YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001792#line 297 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001793{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001794 YY_BREAK
1795case 100:
1796YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001797#line 298 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001798{ RET_TOK(OtherOpVal, Call, CALL); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001799 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001800case 101:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001801YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001802#line 299 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001803{ RET_TOK(CastOpVal, Trunc, TRUNC); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001804 YY_BREAK
1805case 102:
1806YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001807#line 300 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001808{ RET_TOK(CastOpVal, ZExt, ZEXT); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001809 YY_BREAK
1810case 103:
1811YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001812#line 301 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001813{ RET_TOK(CastOpVal, SExt, SEXT); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001814 YY_BREAK
1815case 104:
1816YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001817#line 302 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001818{ RET_TOK(CastOpVal, FPTrunc, FPTRUNC); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001819 YY_BREAK
1820case 105:
1821YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001822#line 303 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001823{ RET_TOK(CastOpVal, FPExt, FPEXT); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001824 YY_BREAK
1825case 106:
1826YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001827#line 304 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001828{ RET_TOK(CastOpVal, UIToFP, UITOFP); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001829 YY_BREAK
1830case 107:
1831YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001832#line 305 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001833{ RET_TOK(CastOpVal, SIToFP, SITOFP); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001834 YY_BREAK
1835case 108:
1836YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001837#line 306 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001838{ RET_TOK(CastOpVal, FPToUI, FPTOUI); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001839 YY_BREAK
1840case 109:
1841YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001842#line 307 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001843{ RET_TOK(CastOpVal, FPToSI, FPTOSI); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001844 YY_BREAK
1845case 110:
1846YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001847#line 308 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001848{ RET_TOK(CastOpVal, IntToPtr, INTTOPTR); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001849 YY_BREAK
1850case 111:
1851YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001852#line 309 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001853{ RET_TOK(CastOpVal, PtrToInt, PTRTOINT); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001854 YY_BREAK
1855case 112:
1856YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001857#line 310 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001858{ RET_TOK(CastOpVal, BitCast, BITCAST); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001859 YY_BREAK
1860case 113:
1861YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001862#line 311 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001863{ RET_TOK(OtherOpVal, Select, SELECT); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001864 YY_BREAK
1865case 114:
1866YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001867#line 312 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001868{ RET_TOK(OtherOpVal, VAArg , VAARG); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001869 YY_BREAK
1870case 115:
1871YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001872#line 313 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001873{ RET_TOK(TermOpVal, Ret, RET); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001874 YY_BREAK
1875case 116:
1876YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001877#line 314 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001878{ RET_TOK(TermOpVal, Br, BR); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001879 YY_BREAK
1880case 117:
1881YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001882#line 315 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001883{ RET_TOK(TermOpVal, Switch, SWITCH); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001884 YY_BREAK
1885case 118:
1886YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001887#line 316 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001888{ RET_TOK(TermOpVal, Invoke, INVOKE); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001889 YY_BREAK
Reid Spencer41dff5e2007-01-26 08:05:27 +00001890case 119:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001891YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001892#line 317 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001893{ RET_TOK(TermOpVal, Unwind, UNWIND); }
Reid Spencer67d8ed92007-03-22 02:14:08 +00001894 YY_BREAK
1895case 120:
1896YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001897#line 318 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001898{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001899 YY_BREAK
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001900case 121:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001901YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001902#line 320 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001903{ RET_TOK(MemOpVal, Malloc, MALLOC); }
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001904 YY_BREAK
1905case 122:
1906YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001907#line 321 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001908{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
Owen Anderson1dc69692006-10-18 02:21:48 +00001909 YY_BREAK
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001910case 123:
Owen Anderson1dc69692006-10-18 02:21:48 +00001911YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001912#line 322 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001913{ RET_TOK(MemOpVal, Free, FREE); }
Chris Lattnerce5f24e2007-07-05 17:26:49 +00001914 YY_BREAK
1915case 124:
1916YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001917#line 323 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001918{ RET_TOK(MemOpVal, Load, LOAD); }
1919 YY_BREAK
1920case 125:
1921YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001922#line 324 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001923{ RET_TOK(MemOpVal, Store, STORE); }
1924 YY_BREAK
1925case 126:
1926YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001927#line 325 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001928{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
1929 YY_BREAK
1930case 127:
1931YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001932#line 327 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001933{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
1934 YY_BREAK
1935case 128:
1936YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001937#line 328 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001938{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
1939 YY_BREAK
1940case 129:
1941YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001942#line 329 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencerb8f85052007-07-31 03:50:36 +00001943{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
1944 YY_BREAK
1945case 130:
1946YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001947#line 332 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001948{
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001949 llvmAsmlval.StrVal = new std::string(yytext+1); // Skip %
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001950 return LOCALVAR;
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001951 }
1952 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00001953case 131:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001954YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001955#line 336 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001956{
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001957 llvmAsmlval.StrVal = new std::string(yytext+1); // Skip @
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001958 return GLOBALVAR;
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001959 }
1960 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00001961case 132:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001962YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001963#line 340 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Lauro Ramos Venancioc7635522007-04-12 18:32:50 +00001964{
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001965 yytext[yyleng-1] = 0; // nuke colon
1966 llvmAsmlval.StrVal = new std::string(yytext);
Lauro Ramos Venancioc7635522007-04-12 18:32:50 +00001967 return LABELSTR;
1968 }
1969 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00001970case 133:
Lauro Ramos Venancioc7635522007-04-12 18:32:50 +00001971YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001972#line 345 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001973{
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001974 yytext[yyleng-2] = 0; // nuke colon, end quote
Reid Spencere2aa9612007-05-22 19:08:16 +00001975 const char* EndChar = UnEscapeLexed(yytext+1, yytext+yyleng);
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001976 llvmAsmlval.StrVal =
1977 new std::string(yytext+1, EndChar - yytext - 1);
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001978 return LABELSTR;
1979 }
1980 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00001981case 134:
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001982YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001983#line 353 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001984{ yytext[yyleng-1] = 0; // nuke end quote
Reid Spencere2aa9612007-05-22 19:08:16 +00001985 const char* EndChar = UnEscapeLexed(yytext+1, yytext+yyleng);
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001986 llvmAsmlval.StrVal =
1987 new std::string(yytext+1, EndChar - yytext - 1);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001988 return STRINGCONSTANT;
1989 }
1990 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00001991case 135:
Reid Spencer6f407902007-01-13 05:00:46 +00001992YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00001993#line 359 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001994{
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001995 yytext[yyleng-1] = 0; // nuke end quote
Reid Spencere2aa9612007-05-22 19:08:16 +00001996 const char* EndChar =
1997 UnEscapeLexed(yytext+2, yytext+yyleng);
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001998 llvmAsmlval.StrVal =
1999 new std::string(yytext+2, EndChar - yytext - 2);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002000 return ATSTRINGCONSTANT;
2001 }
2002 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002003case 136:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002004YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00002005#line 367 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencered951ea2007-05-19 07:22:10 +00002006{
Reid Spencer0a8a16b2007-05-22 18:52:55 +00002007 yytext[yyleng-1] = 0; // nuke end quote
Reid Spencere2aa9612007-05-22 19:08:16 +00002008 const char* EndChar =
2009 UnEscapeLexed(yytext+2, yytext+yyleng);
Reid Spencer0a8a16b2007-05-22 18:52:55 +00002010 llvmAsmlval.StrVal =
2011 new std::string(yytext+2, EndChar - yytext - 2);
Reid Spencered951ea2007-05-19 07:22:10 +00002012 return PCTSTRINGCONSTANT;
2013 }
2014 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002015case 137:
Reid Spencered951ea2007-05-19 07:22:10 +00002016YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00002017#line 375 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencer0a8a16b2007-05-22 18:52:55 +00002018{
2019 uint32_t numBits = ((yyleng * 64) / 19) + 1;
2020 APInt Tmp(numBits, yytext, yyleng, 10);
Reid Spencer38c91a92007-02-28 02:24:54 +00002021 uint32_t activeBits = Tmp.getActiveBits();
2022 if (activeBits > 0 && activeBits < numBits)
2023 Tmp.trunc(activeBits);
2024 if (Tmp.getBitWidth() > 64) {
2025 llvmAsmlval.APIntVal = new APInt(Tmp);
2026 return EUAPINTVAL;
2027 } else {
2028 llvmAsmlval.UInt64Val = Tmp.getZExtValue();
2029 return EUINT64VAL;
2030 }
2031 }
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002032 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002033case 138:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002034YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00002035#line 389 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencer0a8a16b2007-05-22 18:52:55 +00002036{
2037 uint32_t numBits = (((yyleng-1) * 64) / 19) + 2;
2038 APInt Tmp(numBits, yytext, yyleng, 10);
Reid Spencer38c91a92007-02-28 02:24:54 +00002039 uint32_t minBits = Tmp.getMinSignedBits();
2040 if (minBits > 0 && minBits < numBits)
2041 Tmp.trunc(minBits);
2042 if (Tmp.getBitWidth() > 64) {
2043 llvmAsmlval.APIntVal = new APInt(Tmp);
2044 return ESAPINTVAL;
2045 } else {
2046 llvmAsmlval.SInt64Val = Tmp.getSExtValue();
2047 return ESINT64VAL;
2048 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002049 }
2050 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002051case 139:
Reid Spencer6f407902007-01-13 05:00:46 +00002052YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00002053#line 404 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencer0a8a16b2007-05-22 18:52:55 +00002054{ int len = yyleng - 3;
Reid Spencer38c91a92007-02-28 02:24:54 +00002055 uint32_t bits = len * 4;
Reid Spencered951ea2007-05-19 07:22:10 +00002056 APInt Tmp(bits, yytext+3, len, 16);
Reid Spencer38c91a92007-02-28 02:24:54 +00002057 uint32_t activeBits = Tmp.getActiveBits();
2058 if (activeBits > 0 && activeBits < bits)
2059 Tmp.trunc(activeBits);
2060 if (Tmp.getBitWidth() > 64) {
2061 llvmAsmlval.APIntVal = new APInt(Tmp);
Reid Spencered951ea2007-05-19 07:22:10 +00002062 return yytext[0] == 's' ? ESAPINTVAL : EUAPINTVAL;
2063 } else if (yytext[0] == 's') {
Reid Spencer38c91a92007-02-28 02:24:54 +00002064 llvmAsmlval.SInt64Val = Tmp.getSExtValue();
2065 return ESINT64VAL;
2066 } else {
2067 llvmAsmlval.UInt64Val = Tmp.getZExtValue();
2068 return EUINT64VAL;
2069 }
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002070 }
Reid Spencer6f407902007-01-13 05:00:46 +00002071 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002072case 140:
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002073YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00002074#line 422 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002075{
Reid Spencered951ea2007-05-19 07:22:10 +00002076 uint64_t Val = atoull(yytext+1);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002077 if ((unsigned)Val != Val)
2078 GenerateError("Invalid value number (too large)!");
2079 llvmAsmlval.UIntVal = unsigned(Val);
2080 return LOCALVAL_ID;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002081 }
2082 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002083case 141:
Owen Anderson1dc69692006-10-18 02:21:48 +00002084YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00002085#line 429 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002086{
Reid Spencered951ea2007-05-19 07:22:10 +00002087 uint64_t Val = atoull(yytext+1);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002088 if ((unsigned)Val != Val)
2089 GenerateError("Invalid value number (too large)!");
2090 llvmAsmlval.UIntVal = unsigned(Val);
2091 return GLOBALVAL_ID;
2092 }
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002093 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002094case 142:
Reid Spencered951ea2007-05-19 07:22:10 +00002095YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00002096#line 437 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Chris Lattnerce5f24e2007-07-05 17:26:49 +00002097{ llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
2098 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002099case 143:
Chris Lattnerce5f24e2007-07-05 17:26:49 +00002100YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00002101#line 438 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencered951ea2007-05-19 07:22:10 +00002102{ llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002103 YY_BREAK
2104case YY_STATE_EOF(INITIAL):
David Greene718fda32007-08-01 03:59:32 +00002105#line 440 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002106{
2107 /* Make sure to free the internal buffers for flex when we are
2108 * done reading our input!
2109 */
Reid Spencered951ea2007-05-19 07:22:10 +00002110 yy_delete_buffer(YY_CURRENT_BUFFER);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002111 return EOF;
2112 }
2113 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002114case 144:
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00002115YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00002116#line 448 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Chris Lattnerce5f24e2007-07-05 17:26:49 +00002117{ /* Ignore whitespace */ }
Reid Spencered951ea2007-05-19 07:22:10 +00002118 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002119case 145:
Reid Spencered951ea2007-05-19 07:22:10 +00002120YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00002121#line 449 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Chris Lattnerce5f24e2007-07-05 17:26:49 +00002122{ return yytext[0]; }
2123 YY_BREAK
Reid Spencerb8f85052007-07-31 03:50:36 +00002124case 146:
Chris Lattnerce5f24e2007-07-05 17:26:49 +00002125YY_RULE_SETUP
David Greene718fda32007-08-01 03:59:32 +00002126#line 451 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002127YY_FATAL_ERROR( "flex scanner jammed" );
2128 YY_BREAK
David Greene718fda32007-08-01 03:59:32 +00002129#line 2130 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002130
2131 case YY_END_OF_BUFFER:
2132 {
2133 /* Amount of text matched not including the EOB char. */
Reid Spencered951ea2007-05-19 07:22:10 +00002134 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002135
2136 /* Undo the effects of YY_DO_BEFORE_ACTION. */
Reid Spencered951ea2007-05-19 07:22:10 +00002137 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002138 YY_RESTORE_YY_MORE_OFFSET
2139
Reid Spencered951ea2007-05-19 07:22:10 +00002140 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002141 {
2142 /* We're scanning a new file or input source. It's
2143 * possible that this happened because the user
Reid Spencered951ea2007-05-19 07:22:10 +00002144 * just pointed yyin at a new source and called
2145 * yylex(). If so, then we have to assure
2146 * consistency between yy_current_buffer and our
Reid Spencer68a24bd2005-08-27 18:50:39 +00002147 * globals. Here is the right place to do so, because
2148 * this is the first action (other than possibly a
2149 * back-up) that will match for the new input source.
2150 */
Reid Spencered951ea2007-05-19 07:22:10 +00002151 yy_n_chars = yy_current_buffer->yy_n_chars;
2152 yy_current_buffer->yy_input_file = yyin;
2153 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002154 }
2155
2156 /* Note that here we test for yy_c_buf_p "<=" to the position
2157 * of the first EOB in the buffer, since yy_c_buf_p will
2158 * already have been incremented past the NUL character
2159 * (since all states make transitions on EOB to the
2160 * end-of-buffer state). Contrast this with the test
2161 * in input().
2162 */
Reid Spencered951ea2007-05-19 07:22:10 +00002163 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002164 { /* This was really a NUL. */
2165 yy_state_type yy_next_state;
2166
Reid Spencered951ea2007-05-19 07:22:10 +00002167 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002168
Reid Spencered951ea2007-05-19 07:22:10 +00002169 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002170
2171 /* Okay, we're now positioned to make the NUL
2172 * transition. We couldn't have
2173 * yy_get_previous_state() go ahead and do it
2174 * for us because it doesn't know how to deal
2175 * with the possibility of jamming (and we don't
2176 * want to build jamming into it because then it
2177 * will run more slowly).
2178 */
2179
2180 yy_next_state = yy_try_NUL_trans( yy_current_state );
2181
Reid Spencered951ea2007-05-19 07:22:10 +00002182 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002183
2184 if ( yy_next_state )
2185 {
2186 /* Consume the NUL. */
Reid Spencered951ea2007-05-19 07:22:10 +00002187 yy_cp = ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002188 yy_current_state = yy_next_state;
2189 goto yy_match;
2190 }
2191
2192 else
2193 {
Reid Spencered951ea2007-05-19 07:22:10 +00002194 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002195 goto yy_find_action;
2196 }
2197 }
2198
Reid Spencered951ea2007-05-19 07:22:10 +00002199 else switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002200 {
2201 case EOB_ACT_END_OF_FILE:
2202 {
Reid Spencered951ea2007-05-19 07:22:10 +00002203 yy_did_buffer_switch_on_eof = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002204
Reid Spencered951ea2007-05-19 07:22:10 +00002205 if ( yywrap() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002206 {
2207 /* Note: because we've taken care in
2208 * yy_get_next_buffer() to have set up
Reid Spencered951ea2007-05-19 07:22:10 +00002209 * yytext, we can now set up
Reid Spencer68a24bd2005-08-27 18:50:39 +00002210 * yy_c_buf_p so that if some total
2211 * hoser (like flex itself) wants to
2212 * call the scanner after we return the
2213 * YY_NULL, it'll still work - another
2214 * YY_NULL will get returned.
2215 */
Reid Spencered951ea2007-05-19 07:22:10 +00002216 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002217
2218 yy_act = YY_STATE_EOF(YY_START);
2219 goto do_action;
2220 }
2221
2222 else
2223 {
Reid Spencered951ea2007-05-19 07:22:10 +00002224 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002225 YY_NEW_FILE;
2226 }
2227 break;
2228 }
2229
2230 case EOB_ACT_CONTINUE_SCAN:
Reid Spencered951ea2007-05-19 07:22:10 +00002231 yy_c_buf_p =
2232 yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002233
Reid Spencered951ea2007-05-19 07:22:10 +00002234 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002235
Reid Spencered951ea2007-05-19 07:22:10 +00002236 yy_cp = yy_c_buf_p;
2237 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002238 goto yy_match;
2239
2240 case EOB_ACT_LAST_MATCH:
Reid Spencered951ea2007-05-19 07:22:10 +00002241 yy_c_buf_p =
2242 &yy_current_buffer->yy_ch_buf[yy_n_chars];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002243
Reid Spencered951ea2007-05-19 07:22:10 +00002244 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002245
Reid Spencered951ea2007-05-19 07:22:10 +00002246 yy_cp = yy_c_buf_p;
2247 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002248 goto yy_find_action;
2249 }
2250 break;
2251 }
2252
2253 default:
2254 YY_FATAL_ERROR(
2255 "fatal flex scanner internal error--no action found" );
2256 } /* end of action switch */
2257 } /* end of scanning one token */
Reid Spencered951ea2007-05-19 07:22:10 +00002258 } /* end of yylex */
2259
Reid Spencer68a24bd2005-08-27 18:50:39 +00002260
2261/* yy_get_next_buffer - try to read in a new buffer
2262 *
2263 * Returns a code representing an action:
2264 * EOB_ACT_LAST_MATCH -
2265 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2266 * EOB_ACT_END_OF_FILE - end of file
2267 */
Reid Spencered951ea2007-05-19 07:22:10 +00002268
2269static int yy_get_next_buffer()
2270 {
2271 register char *dest = yy_current_buffer->yy_ch_buf;
2272 register char *source = yytext_ptr;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002273 register int number_to_move, i;
2274 int ret_val;
2275
Reid Spencered951ea2007-05-19 07:22:10 +00002276 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002277 YY_FATAL_ERROR(
2278 "fatal flex scanner internal error--end of buffer missed" );
2279
Reid Spencered951ea2007-05-19 07:22:10 +00002280 if ( yy_current_buffer->yy_fill_buffer == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002281 { /* Don't try to fill the buffer, so this is an EOF. */
Reid Spencered951ea2007-05-19 07:22:10 +00002282 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002283 {
2284 /* We matched a single character, the EOB, so
2285 * treat this as a final EOF.
2286 */
2287 return EOB_ACT_END_OF_FILE;
2288 }
2289
2290 else
2291 {
2292 /* We matched some text prior to the EOB, first
2293 * process it.
2294 */
2295 return EOB_ACT_LAST_MATCH;
2296 }
2297 }
2298
2299 /* Try to read more data. */
2300
2301 /* First move last chars to start of buffer. */
Reid Spencered951ea2007-05-19 07:22:10 +00002302 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002303
2304 for ( i = 0; i < number_to_move; ++i )
2305 *(dest++) = *(source++);
2306
Reid Spencered951ea2007-05-19 07:22:10 +00002307 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002308 /* don't do the read, it's not guaranteed to return an EOF,
2309 * just force an EOF
2310 */
Reid Spencered951ea2007-05-19 07:22:10 +00002311 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002312
2313 else
2314 {
Reid Spencered951ea2007-05-19 07:22:10 +00002315 int num_to_read =
2316 yy_current_buffer->yy_buf_size - number_to_move - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002317
2318 while ( num_to_read <= 0 )
2319 { /* Not enough room in the buffer - grow it. */
Reid Spencered951ea2007-05-19 07:22:10 +00002320#ifdef YY_USES_REJECT
2321 YY_FATAL_ERROR(
2322"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
2323#else
Reid Spencer68a24bd2005-08-27 18:50:39 +00002324
2325 /* just a shorter name for the current buffer */
Reid Spencered951ea2007-05-19 07:22:10 +00002326 YY_BUFFER_STATE b = yy_current_buffer;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002327
2328 int yy_c_buf_p_offset =
Reid Spencered951ea2007-05-19 07:22:10 +00002329 (int) (yy_c_buf_p - b->yy_ch_buf);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002330
2331 if ( b->yy_is_our_buffer )
2332 {
2333 int new_size = b->yy_buf_size * 2;
2334
2335 if ( new_size <= 0 )
2336 b->yy_buf_size += b->yy_buf_size / 8;
2337 else
2338 b->yy_buf_size *= 2;
2339
2340 b->yy_ch_buf = (char *)
2341 /* Include room in for 2 EOB chars. */
Reid Spencered951ea2007-05-19 07:22:10 +00002342 yy_flex_realloc( (void *) b->yy_ch_buf,
2343 b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002344 }
2345 else
2346 /* Can't grow it, we don't own it. */
2347 b->yy_ch_buf = 0;
2348
2349 if ( ! b->yy_ch_buf )
2350 YY_FATAL_ERROR(
2351 "fatal error - scanner input buffer overflow" );
2352
Reid Spencered951ea2007-05-19 07:22:10 +00002353 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002354
Reid Spencered951ea2007-05-19 07:22:10 +00002355 num_to_read = yy_current_buffer->yy_buf_size -
Reid Spencer68a24bd2005-08-27 18:50:39 +00002356 number_to_move - 1;
Reid Spencered951ea2007-05-19 07:22:10 +00002357#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002358 }
2359
2360 if ( num_to_read > YY_READ_BUF_SIZE )
2361 num_to_read = YY_READ_BUF_SIZE;
2362
2363 /* Read in more data. */
Reid Spencered951ea2007-05-19 07:22:10 +00002364 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
2365 yy_n_chars, num_to_read );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002366
Reid Spencered951ea2007-05-19 07:22:10 +00002367 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002368 }
2369
Reid Spencered951ea2007-05-19 07:22:10 +00002370 if ( yy_n_chars == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002371 {
2372 if ( number_to_move == YY_MORE_ADJ )
2373 {
2374 ret_val = EOB_ACT_END_OF_FILE;
Reid Spencered951ea2007-05-19 07:22:10 +00002375 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002376 }
2377
2378 else
2379 {
2380 ret_val = EOB_ACT_LAST_MATCH;
Reid Spencered951ea2007-05-19 07:22:10 +00002381 yy_current_buffer->yy_buffer_status =
Reid Spencer68a24bd2005-08-27 18:50:39 +00002382 YY_BUFFER_EOF_PENDING;
2383 }
2384 }
2385
2386 else
2387 ret_val = EOB_ACT_CONTINUE_SCAN;
2388
Reid Spencered951ea2007-05-19 07:22:10 +00002389 yy_n_chars += number_to_move;
2390 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2391 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002392
Reid Spencered951ea2007-05-19 07:22:10 +00002393 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002394
2395 return ret_val;
Reid Spencered951ea2007-05-19 07:22:10 +00002396 }
2397
Reid Spencer68a24bd2005-08-27 18:50:39 +00002398
2399/* yy_get_previous_state - get the state just before the EOB char was reached */
2400
Reid Spencered951ea2007-05-19 07:22:10 +00002401static yy_state_type yy_get_previous_state()
2402 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002403 register yy_state_type yy_current_state;
2404 register char *yy_cp;
2405
Reid Spencered951ea2007-05-19 07:22:10 +00002406 yy_current_state = yy_start;
2407 yy_state_ptr = yy_state_buf;
2408 *yy_state_ptr++ = yy_current_state;
2409
2410 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002411 {
2412 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2413 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2414 {
2415 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencerb8f85052007-07-31 03:50:36 +00002416 if ( yy_current_state >= 586 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002417 yy_c = yy_meta[(unsigned int) yy_c];
2418 }
2419 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencered951ea2007-05-19 07:22:10 +00002420 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002421 }
2422
2423 return yy_current_state;
Reid Spencered951ea2007-05-19 07:22:10 +00002424 }
2425
Reid Spencer68a24bd2005-08-27 18:50:39 +00002426
2427/* yy_try_NUL_trans - try to make a transition on the NUL character
2428 *
2429 * synopsis
2430 * next_state = yy_try_NUL_trans( current_state );
2431 */
Reid Spencered951ea2007-05-19 07:22:10 +00002432
2433#ifdef YY_USE_PROTOS
2434static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
2435#else
2436static yy_state_type yy_try_NUL_trans( yy_current_state )
2437yy_state_type yy_current_state;
2438#endif
2439 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002440 register int yy_is_jam;
2441
2442 register YY_CHAR yy_c = 1;
2443 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2444 {
2445 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencerb8f85052007-07-31 03:50:36 +00002446 if ( yy_current_state >= 586 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002447 yy_c = yy_meta[(unsigned int) yy_c];
2448 }
2449 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencerb8f85052007-07-31 03:50:36 +00002450 yy_is_jam = (yy_current_state == 585);
Reid Spencered951ea2007-05-19 07:22:10 +00002451 if ( ! yy_is_jam )
2452 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002453
2454 return yy_is_jam ? 0 : yy_current_state;
Reid Spencered951ea2007-05-19 07:22:10 +00002455 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002456
2457
Reid Spencered951ea2007-05-19 07:22:10 +00002458#ifndef YY_NO_UNPUT
2459#ifdef YY_USE_PROTOS
2460static inline void yyunput( int c, register char *yy_bp )
2461#else
2462static inline void yyunput( c, yy_bp )
2463int c;
2464register char *yy_bp;
2465#endif
2466 {
2467 register char *yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002468
Reid Spencered951ea2007-05-19 07:22:10 +00002469 /* undo effects of setting up yytext */
2470 *yy_cp = yy_hold_char;
2471
2472 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002473 { /* need to shift things up to make room */
2474 /* +2 for EOB chars. */
Reid Spencered951ea2007-05-19 07:22:10 +00002475 register int number_to_move = yy_n_chars + 2;
2476 register char *dest = &yy_current_buffer->yy_ch_buf[
2477 yy_current_buffer->yy_buf_size + 2];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002478 register char *source =
Reid Spencered951ea2007-05-19 07:22:10 +00002479 &yy_current_buffer->yy_ch_buf[number_to_move];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002480
Reid Spencered951ea2007-05-19 07:22:10 +00002481 while ( source > yy_current_buffer->yy_ch_buf )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002482 *--dest = *--source;
2483
2484 yy_cp += (int) (dest - source);
2485 yy_bp += (int) (dest - source);
Reid Spencered951ea2007-05-19 07:22:10 +00002486 yy_current_buffer->yy_n_chars =
2487 yy_n_chars = yy_current_buffer->yy_buf_size;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002488
Reid Spencered951ea2007-05-19 07:22:10 +00002489 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002490 YY_FATAL_ERROR( "flex scanner push-back overflow" );
2491 }
2492
2493 *--yy_cp = (char) c;
2494
Reid Spencered951ea2007-05-19 07:22:10 +00002495 if ( c == '\n' )
2496 --yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002497
Reid Spencered951ea2007-05-19 07:22:10 +00002498 yytext_ptr = yy_bp;
2499 yy_hold_char = *yy_cp;
2500 yy_c_buf_p = yy_cp;
2501 }
2502#endif /* ifndef YY_NO_UNPUT */
2503
Reid Spencer6f407902007-01-13 05:00:46 +00002504
Reid Spencerb8f85052007-07-31 03:50:36 +00002505#ifndef YY_NO_INPUT
Reid Spencer68a24bd2005-08-27 18:50:39 +00002506#ifdef __cplusplus
Reid Spencered951ea2007-05-19 07:22:10 +00002507static int yyinput()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002508#else
Reid Spencered951ea2007-05-19 07:22:10 +00002509static int input()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002510#endif
Reid Spencered951ea2007-05-19 07:22:10 +00002511 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002512 int c;
2513
Reid Spencered951ea2007-05-19 07:22:10 +00002514 *yy_c_buf_p = yy_hold_char;
2515
2516 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002517 {
2518 /* yy_c_buf_p now points to the character we want to return.
2519 * If this occurs *before* the EOB characters, then it's a
2520 * valid NUL; if not, then we've hit the end of the buffer.
2521 */
Reid Spencered951ea2007-05-19 07:22:10 +00002522 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002523 /* This was really a NUL. */
Reid Spencered951ea2007-05-19 07:22:10 +00002524 *yy_c_buf_p = '\0';
Reid Spencer68a24bd2005-08-27 18:50:39 +00002525
2526 else
2527 { /* need more input */
Reid Spencered951ea2007-05-19 07:22:10 +00002528 int offset = yy_c_buf_p - yytext_ptr;
2529 ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002530
Reid Spencered951ea2007-05-19 07:22:10 +00002531 switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002532 {
2533 case EOB_ACT_LAST_MATCH:
2534 /* This happens because yy_g_n_b()
2535 * sees that we've accumulated a
2536 * token and flags that we need to
2537 * try matching the token before
2538 * proceeding. But for input(),
2539 * there's no matching to consider.
2540 * So convert the EOB_ACT_LAST_MATCH
2541 * to EOB_ACT_END_OF_FILE.
2542 */
2543
2544 /* Reset buffer status. */
Reid Spencered951ea2007-05-19 07:22:10 +00002545 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002546
Reid Spencered951ea2007-05-19 07:22:10 +00002547 /* fall through */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002548
2549 case EOB_ACT_END_OF_FILE:
2550 {
Reid Spencered951ea2007-05-19 07:22:10 +00002551 if ( yywrap() )
Reid Spencer61c83e02006-08-18 08:43:06 +00002552 return EOF;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002553
Reid Spencered951ea2007-05-19 07:22:10 +00002554 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002555 YY_NEW_FILE;
2556#ifdef __cplusplus
2557 return yyinput();
2558#else
2559 return input();
2560#endif
2561 }
2562
2563 case EOB_ACT_CONTINUE_SCAN:
Reid Spencered951ea2007-05-19 07:22:10 +00002564 yy_c_buf_p = yytext_ptr + offset;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002565 break;
2566 }
2567 }
2568 }
2569
Reid Spencered951ea2007-05-19 07:22:10 +00002570 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
2571 *yy_c_buf_p = '\0'; /* preserve yytext */
2572 yy_hold_char = *++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002573
2574 if ( c == '\n' )
Reid Spencered951ea2007-05-19 07:22:10 +00002575 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002576
2577 return c;
Reid Spencered951ea2007-05-19 07:22:10 +00002578 }
Reid Spencerb8f85052007-07-31 03:50:36 +00002579#endif /* YY_NO_INPUT */
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002580
Reid Spencered951ea2007-05-19 07:22:10 +00002581#ifdef YY_USE_PROTOS
2582void yyrestart( FILE *input_file )
2583#else
2584void yyrestart( input_file )
2585FILE *input_file;
2586#endif
2587 {
2588 if ( ! yy_current_buffer )
2589 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
2590
2591 yy_init_buffer( yy_current_buffer, input_file );
2592 yy_load_buffer_state();
Reid Spencer6f407902007-01-13 05:00:46 +00002593 }
Reid Spencer41dff5e2007-01-26 08:05:27 +00002594
Reid Spencer68a24bd2005-08-27 18:50:39 +00002595
Reid Spencered951ea2007-05-19 07:22:10 +00002596#ifdef YY_USE_PROTOS
2597void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
2598#else
2599void yy_switch_to_buffer( new_buffer )
2600YY_BUFFER_STATE new_buffer;
2601#endif
2602 {
2603 if ( yy_current_buffer == new_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002604 return;
2605
Reid Spencered951ea2007-05-19 07:22:10 +00002606 if ( yy_current_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002607 {
2608 /* Flush out information for old buffer. */
Reid Spencered951ea2007-05-19 07:22:10 +00002609 *yy_c_buf_p = yy_hold_char;
2610 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
2611 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002612 }
2613
Reid Spencered951ea2007-05-19 07:22:10 +00002614 yy_current_buffer = new_buffer;
2615 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002616
2617 /* We don't actually know whether we did this switch during
Reid Spencered951ea2007-05-19 07:22:10 +00002618 * EOF (yywrap()) processing, but the only time this flag
2619 * is looked at is after yywrap() is called, so it's safe
Reid Spencer68a24bd2005-08-27 18:50:39 +00002620 * to go ahead and always set it.
2621 */
Reid Spencered951ea2007-05-19 07:22:10 +00002622 yy_did_buffer_switch_on_eof = 1;
2623 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002624
2625
Reid Spencered951ea2007-05-19 07:22:10 +00002626#ifdef YY_USE_PROTOS
2627void yy_load_buffer_state( void )
2628#else
2629void yy_load_buffer_state()
2630#endif
2631 {
2632 yy_n_chars = yy_current_buffer->yy_n_chars;
2633 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
2634 yyin = yy_current_buffer->yy_input_file;
2635 yy_hold_char = *yy_c_buf_p;
2636 }
2637
2638
2639#ifdef YY_USE_PROTOS
2640YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
2641#else
2642YY_BUFFER_STATE yy_create_buffer( file, size )
2643FILE *file;
2644int size;
2645#endif
2646 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002647 YY_BUFFER_STATE b;
Reid Spencered951ea2007-05-19 07:22:10 +00002648
2649 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002650 if ( ! b )
Reid Spencered951ea2007-05-19 07:22:10 +00002651 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002652
2653 b->yy_buf_size = size;
2654
2655 /* yy_ch_buf has to be 2 characters longer than the size given because
2656 * we need to put in 2 end-of-buffer characters.
2657 */
Reid Spencered951ea2007-05-19 07:22:10 +00002658 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002659 if ( ! b->yy_ch_buf )
Reid Spencered951ea2007-05-19 07:22:10 +00002660 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002661
2662 b->yy_is_our_buffer = 1;
2663
Reid Spencered951ea2007-05-19 07:22:10 +00002664 yy_init_buffer( b, file );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002665
2666 return b;
Reid Spencered951ea2007-05-19 07:22:10 +00002667 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002668
Reid Spencered951ea2007-05-19 07:22:10 +00002669
2670#ifdef YY_USE_PROTOS
2671void yy_delete_buffer( YY_BUFFER_STATE b )
2672#else
2673void yy_delete_buffer( b )
2674YY_BUFFER_STATE b;
2675#endif
2676 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002677 if ( ! b )
2678 return;
2679
Reid Spencered951ea2007-05-19 07:22:10 +00002680 if ( b == yy_current_buffer )
2681 yy_current_buffer = (YY_BUFFER_STATE) 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002682
2683 if ( b->yy_is_our_buffer )
Reid Spencered951ea2007-05-19 07:22:10 +00002684 yy_flex_free( (void *) b->yy_ch_buf );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002685
Reid Spencered951ea2007-05-19 07:22:10 +00002686 yy_flex_free( (void *) b );
2687 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002688
2689
Reid Spencered951ea2007-05-19 07:22:10 +00002690
2691#ifdef YY_USE_PROTOS
2692void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
2693#else
2694void yy_init_buffer( b, file )
2695YY_BUFFER_STATE b;
2696FILE *file;
2697#endif
2698
2699
2700 {
2701 yy_flush_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002702
2703 b->yy_input_file = file;
2704 b->yy_fill_buffer = 1;
2705
Reid Spencered951ea2007-05-19 07:22:10 +00002706#if YY_ALWAYS_INTERACTIVE
2707 b->yy_is_interactive = 1;
2708#else
2709#if YY_NEVER_INTERACTIVE
2710 b->yy_is_interactive = 0;
2711#else
2712 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
2713#endif
2714#endif
2715 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002716
2717
Reid Spencered951ea2007-05-19 07:22:10 +00002718#ifdef YY_USE_PROTOS
2719void yy_flush_buffer( YY_BUFFER_STATE b )
2720#else
2721void yy_flush_buffer( b )
2722YY_BUFFER_STATE b;
2723#endif
2724
2725 {
2726 if ( ! b )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002727 return;
2728
2729 b->yy_n_chars = 0;
2730
2731 /* We always need two end-of-buffer characters. The first causes
2732 * a transition to the end-of-buffer state. The second causes
2733 * a jam in that state.
2734 */
2735 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2736 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2737
2738 b->yy_buf_pos = &b->yy_ch_buf[0];
2739
2740 b->yy_at_bol = 1;
2741 b->yy_buffer_status = YY_BUFFER_NEW;
2742
Reid Spencered951ea2007-05-19 07:22:10 +00002743 if ( b == yy_current_buffer )
2744 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002745 }
2746
2747
Reid Spencered951ea2007-05-19 07:22:10 +00002748#ifndef YY_NO_SCAN_BUFFER
2749#ifdef YY_USE_PROTOS
2750YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
2751#else
2752YY_BUFFER_STATE yy_scan_buffer( base, size )
2753char *base;
2754yy_size_t size;
2755#endif
2756 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002757 YY_BUFFER_STATE b;
Reid Spencered951ea2007-05-19 07:22:10 +00002758
Reid Spencer68a24bd2005-08-27 18:50:39 +00002759 if ( size < 2 ||
2760 base[size-2] != YY_END_OF_BUFFER_CHAR ||
2761 base[size-1] != YY_END_OF_BUFFER_CHAR )
2762 /* They forgot to leave room for the EOB's. */
2763 return 0;
2764
Reid Spencered951ea2007-05-19 07:22:10 +00002765 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002766 if ( ! b )
Reid Spencered951ea2007-05-19 07:22:10 +00002767 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002768
2769 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2770 b->yy_buf_pos = b->yy_ch_buf = base;
2771 b->yy_is_our_buffer = 0;
2772 b->yy_input_file = 0;
2773 b->yy_n_chars = b->yy_buf_size;
2774 b->yy_is_interactive = 0;
2775 b->yy_at_bol = 1;
2776 b->yy_fill_buffer = 0;
2777 b->yy_buffer_status = YY_BUFFER_NEW;
2778
Reid Spencered951ea2007-05-19 07:22:10 +00002779 yy_switch_to_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002780
2781 return b;
Reid Spencered951ea2007-05-19 07:22:10 +00002782 }
2783#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002784
2785
Reid Spencered951ea2007-05-19 07:22:10 +00002786#ifndef YY_NO_SCAN_STRING
2787#ifdef YY_USE_PROTOS
2788YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
2789#else
2790YY_BUFFER_STATE yy_scan_string( yy_str )
2791yyconst char *yy_str;
2792#endif
2793 {
2794 int len;
2795 for ( len = 0; yy_str[len]; ++len )
2796 ;
2797
2798 return yy_scan_bytes( yy_str, len );
2799 }
2800#endif
2801
2802
2803#ifndef YY_NO_SCAN_BYTES
2804#ifdef YY_USE_PROTOS
2805YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
2806#else
2807YY_BUFFER_STATE yy_scan_bytes( bytes, len )
2808yyconst char *bytes;
2809int len;
2810#endif
2811 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002812 YY_BUFFER_STATE b;
2813 char *buf;
2814 yy_size_t n;
2815 int i;
Reid Spencered951ea2007-05-19 07:22:10 +00002816
Reid Spencer68a24bd2005-08-27 18:50:39 +00002817 /* Get memory for full buffer, including space for trailing EOB's. */
Reid Spencered951ea2007-05-19 07:22:10 +00002818 n = len + 2;
2819 buf = (char *) yy_flex_alloc( n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002820 if ( ! buf )
Reid Spencered951ea2007-05-19 07:22:10 +00002821 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002822
Reid Spencered951ea2007-05-19 07:22:10 +00002823 for ( i = 0; i < len; ++i )
2824 buf[i] = bytes[i];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002825
Reid Spencered951ea2007-05-19 07:22:10 +00002826 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002827
Reid Spencered951ea2007-05-19 07:22:10 +00002828 b = yy_scan_buffer( buf, n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002829 if ( ! b )
Reid Spencered951ea2007-05-19 07:22:10 +00002830 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002831
2832 /* It's okay to grow etc. this buffer, and we should throw it
2833 * away when we're done.
2834 */
2835 b->yy_is_our_buffer = 1;
2836
2837 return b;
Reid Spencered951ea2007-05-19 07:22:10 +00002838 }
2839#endif
2840
2841
2842#ifndef YY_NO_PUSH_STATE
2843#ifdef YY_USE_PROTOS
2844static void yy_push_state( int new_state )
2845#else
2846static void yy_push_state( new_state )
2847int new_state;
2848#endif
2849 {
2850 if ( yy_start_stack_ptr >= yy_start_stack_depth )
2851 {
2852 yy_size_t new_size;
2853
2854 yy_start_stack_depth += YY_START_STACK_INCR;
2855 new_size = yy_start_stack_depth * sizeof( int );
2856
2857 if ( ! yy_start_stack )
2858 yy_start_stack = (int *) yy_flex_alloc( new_size );
2859
2860 else
2861 yy_start_stack = (int *) yy_flex_realloc(
2862 (void *) yy_start_stack, new_size );
2863
2864 if ( ! yy_start_stack )
2865 YY_FATAL_ERROR(
2866 "out of memory expanding start-condition stack" );
2867 }
2868
2869 yy_start_stack[yy_start_stack_ptr++] = YY_START;
2870
2871 BEGIN(new_state);
2872 }
2873#endif
2874
2875
2876#ifndef YY_NO_POP_STATE
2877static void yy_pop_state()
2878 {
2879 if ( --yy_start_stack_ptr < 0 )
2880 YY_FATAL_ERROR( "start-condition stack underflow" );
2881
2882 BEGIN(yy_start_stack[yy_start_stack_ptr]);
2883 }
2884#endif
2885
2886
2887#ifndef YY_NO_TOP_STATE
2888static int yy_top_state()
2889 {
2890 return yy_start_stack[yy_start_stack_ptr - 1];
2891 }
2892#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002893
2894#ifndef YY_EXIT_FAILURE
2895#define YY_EXIT_FAILURE 2
2896#endif
2897
Reid Spencered951ea2007-05-19 07:22:10 +00002898#ifdef YY_USE_PROTOS
2899static void yy_fatal_error( yyconst char msg[] )
2900#else
2901static void yy_fatal_error( msg )
2902char msg[];
2903#endif
2904 {
2905 (void) fprintf( stderr, "%s\n", msg );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002906 exit( YY_EXIT_FAILURE );
Reid Spencered951ea2007-05-19 07:22:10 +00002907 }
2908
2909
Reid Spencer68a24bd2005-08-27 18:50:39 +00002910
2911/* Redefine yyless() so it works in section 3 code. */
2912
2913#undef yyless
2914#define yyless(n) \
2915 do \
2916 { \
Reid Spencered951ea2007-05-19 07:22:10 +00002917 /* Undo effects of setting up yytext. */ \
2918 yytext[yyleng] = yy_hold_char; \
2919 yy_c_buf_p = yytext + n; \
2920 yy_hold_char = *yy_c_buf_p; \
2921 *yy_c_buf_p = '\0'; \
2922 yyleng = n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00002923 } \
2924 while ( 0 )
2925
2926
Reid Spencered951ea2007-05-19 07:22:10 +00002927/* Internal utility routines. */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002928
2929#ifndef yytext_ptr
Reid Spencered951ea2007-05-19 07:22:10 +00002930#ifdef YY_USE_PROTOS
2931static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
2932#else
2933static void yy_flex_strncpy( s1, s2, n )
2934char *s1;
2935yyconst char *s2;
2936int n;
2937#endif
2938 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002939 register int i;
2940 for ( i = 0; i < n; ++i )
2941 s1[i] = s2[i];
Reid Spencered951ea2007-05-19 07:22:10 +00002942 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002943#endif
2944
2945#ifdef YY_NEED_STRLEN
Reid Spencered951ea2007-05-19 07:22:10 +00002946#ifdef YY_USE_PROTOS
2947static int yy_flex_strlen( yyconst char *s )
2948#else
2949static int yy_flex_strlen( s )
2950yyconst char *s;
2951#endif
2952 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002953 register int n;
2954 for ( n = 0; s[n]; ++n )
2955 ;
2956
2957 return n;
Reid Spencered951ea2007-05-19 07:22:10 +00002958 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002959#endif
2960
Reid Spencer9c9b63a2007-04-28 16:07:31 +00002961
Reid Spencered951ea2007-05-19 07:22:10 +00002962#ifdef YY_USE_PROTOS
2963static void *yy_flex_alloc( yy_size_t size )
2964#else
2965static void *yy_flex_alloc( size )
2966yy_size_t size;
2967#endif
2968 {
2969 return (void *) malloc( size );
2970 }
2971
2972#ifdef YY_USE_PROTOS
2973static inline void *yy_flex_realloc( void *ptr, yy_size_t size )
2974#else
2975static inline void *yy_flex_realloc( ptr, size )
2976void *ptr;
2977yy_size_t size;
2978#endif
2979 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002980 /* The cast to (char *) in the following accommodates both
2981 * implementations that use char* generic pointers, and those
2982 * that use void* generic pointers. It works with the latter
2983 * because both ANSI C and C++ allow castless assignment from
2984 * any pointer type to void*, and deal with argument conversions
2985 * as though doing an assignment.
2986 */
2987 return (void *) realloc( (char *) ptr, size );
Reid Spencered951ea2007-05-19 07:22:10 +00002988 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002989
Reid Spencered951ea2007-05-19 07:22:10 +00002990#ifdef YY_USE_PROTOS
2991static void yy_flex_free( void *ptr )
2992#else
2993static void yy_flex_free( ptr )
2994void *ptr;
2995#endif
2996 {
2997 free( ptr );
2998 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002999
Reid Spencered951ea2007-05-19 07:22:10 +00003000#if YY_MAIN
3001int main()
3002 {
3003 yylex();
3004 return 0;
3005 }
3006#endif
David Greene718fda32007-08-01 03:59:32 +00003007#line 451 "/users/dag/projects/cascade/llvm.modified/lib/AsmParser/Lexer.l"
Chris Lattner2fecc0f2006-02-15 07:02:59 +00003008