blob: 605a8c923013ce8d3c43b8e1f1f94202748fcf3f [file] [log] [blame]
Owen Anderson1dc69692006-10-18 02:21:48 +00001#define yy_create_buffer llvmAsm_create_buffer
2#define yy_delete_buffer llvmAsm_delete_buffer
3#define yy_scan_buffer llvmAsm_scan_buffer
4#define yy_scan_string llvmAsm_scan_string
5#define yy_scan_bytes llvmAsm_scan_bytes
6#define yy_flex_debug llvmAsm_flex_debug
7#define yy_init_buffer llvmAsm_init_buffer
8#define yy_flush_buffer llvmAsm_flush_buffer
9#define yy_load_buffer_state llvmAsm_load_buffer_state
10#define yy_switch_to_buffer llvmAsm_switch_to_buffer
11#define yyin llvmAsmin
12#define yyleng llvmAsmleng
13#define yylex llvmAsmlex
14#define yyout llvmAsmout
15#define yyrestart llvmAsmrestart
16#define yytext llvmAsmtext
17#define yylineno llvmAsmlineno
Reid Spencer68a24bd2005-08-27 18:50:39 +000018
Owen Anderson1dc69692006-10-18 02:21:48 +000019#line 20 "Lexer.cpp"
Reid Spencerb83eb642006-10-20 07:07:24 +000020/* A lexical scanner generated by flex*/
Reid Spencer68a24bd2005-08-27 18:50:39 +000021
Owen Anderson1dc69692006-10-18 02:21:48 +000022/* Scanner skeleton version:
23 * $Header$
24 */
25
Reid Spencer68a24bd2005-08-27 18:50:39 +000026#define FLEX_SCANNER
27#define YY_FLEX_MAJOR_VERSION 2
28#define YY_FLEX_MINOR_VERSION 5
29
30#include <stdio.h>
Reid Spencerb83eb642006-10-20 07:07:24 +000031#include <unistd.h>
Reid Spencer68a24bd2005-08-27 18:50:39 +000032
33
Owen Anderson1dc69692006-10-18 02:21:48 +000034/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
35#ifdef c_plusplus
36#ifndef __cplusplus
37#define __cplusplus
38#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +000039#endif
40
41
42#ifdef __cplusplus
43
Owen Anderson1dc69692006-10-18 02:21:48 +000044#include <stdlib.h>
Owen Anderson1dc69692006-10-18 02:21:48 +000045
46/* Use prototypes in function declarations. */
47#define YY_USE_PROTOS
48
Reid Spencer68a24bd2005-08-27 18:50:39 +000049/* The "const" storage-class-modifier is valid. */
50#define YY_USE_CONST
51
52#else /* ! __cplusplus */
53
54#if __STDC__
55
Owen Anderson1dc69692006-10-18 02:21:48 +000056#define YY_USE_PROTOS
Reid Spencer68a24bd2005-08-27 18:50:39 +000057#define YY_USE_CONST
58
59#endif /* __STDC__ */
60#endif /* ! __cplusplus */
61
Owen Anderson1dc69692006-10-18 02:21:48 +000062#ifdef __TURBOC__
63 #pragma warn -rch
64 #pragma warn -use
65#include <io.h>
66#include <stdlib.h>
67#define YY_USE_CONST
68#define YY_USE_PROTOS
69#endif
70
Reid Spencer68a24bd2005-08-27 18:50:39 +000071#ifdef YY_USE_CONST
72#define yyconst const
73#else
74#define yyconst
75#endif
76
Owen Anderson1dc69692006-10-18 02:21:48 +000077
78#ifdef YY_USE_PROTOS
79#define YY_PROTO(proto) proto
80#else
81#define YY_PROTO(proto) ()
82#endif
83
Reid Spencer68a24bd2005-08-27 18:50:39 +000084/* Returned upon end-of-file. */
85#define YY_NULL 0
86
87/* Promotes a possibly negative, possibly signed char to an unsigned
88 * integer for use as an array index. If the signed char is negative,
89 * we want to instead treat it as an 8-bit unsigned char, hence the
90 * double cast.
91 */
92#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
93
94/* Enter a start condition. This macro really ought to take a parameter,
95 * but we do it the disgusting crufty way forced on us by the ()-less
96 * definition of BEGIN.
97 */
Owen Anderson1dc69692006-10-18 02:21:48 +000098#define BEGIN yy_start = 1 + 2 *
Reid Spencer68a24bd2005-08-27 18:50:39 +000099
100/* Translate the current start state into a value that can be later handed
101 * to BEGIN to return to the state. The YYSTATE alias is for lex
102 * compatibility.
103 */
Owen Anderson1dc69692006-10-18 02:21:48 +0000104#define YY_START ((yy_start - 1) / 2)
Reid Spencer68a24bd2005-08-27 18:50:39 +0000105#define YYSTATE YY_START
106
107/* Action number for EOF rule of a given start state. */
108#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
109
110/* Special action meaning "start processing a new file". */
Owen Anderson1dc69692006-10-18 02:21:48 +0000111#define YY_NEW_FILE yyrestart( yyin )
Reid Spencer68a24bd2005-08-27 18:50:39 +0000112
113#define YY_END_OF_BUFFER_CHAR 0
114
115/* Size of default input buffer. */
116#define YY_BUF_SIZE (16384*64)
117
118typedef struct yy_buffer_state *YY_BUFFER_STATE;
119
Owen Anderson1dc69692006-10-18 02:21:48 +0000120extern int yyleng;
121extern FILE *yyin, *yyout;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000122
123#define EOB_ACT_CONTINUE_SCAN 0
124#define EOB_ACT_END_OF_FILE 1
125#define EOB_ACT_LAST_MATCH 2
126
Owen Anderson1dc69692006-10-18 02:21:48 +0000127/* The funky do-while in the following #define is used to turn the definition
128 * int a single C statement (which needs a semi-colon terminator). This
129 * avoids problems with code like:
130 *
131 * if ( condition_holds )
132 * yyless( 5 );
133 * else
134 * do_something_else();
135 *
136 * Prior to using the do-while the compiler would get upset at the
137 * "else" because it interpreted the "if" statement as being all
138 * done when it reached the ';' after the yyless() call.
139 */
140
141/* Return all but the first 'n' matched characters back to the input stream. */
142
Reid Spencer68a24bd2005-08-27 18:50:39 +0000143#define yyless(n) \
144 do \
145 { \
Owen Anderson1dc69692006-10-18 02:21:48 +0000146 /* Undo effects of setting up yytext. */ \
147 *yy_cp = yy_hold_char; \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000148 YY_RESTORE_YY_MORE_OFFSET \
Owen Anderson1dc69692006-10-18 02:21:48 +0000149 yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
150 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000151 } \
152 while ( 0 )
153
Owen Anderson1dc69692006-10-18 02:21:48 +0000154#define unput(c) yyunput( c, yytext_ptr )
Reid Spencer68a24bd2005-08-27 18:50:39 +0000155
Reid Spencerb83eb642006-10-20 07:07:24 +0000156/* Some routines like yy_flex_realloc() are emitted as static but are
157 not called by all lexers. This generates warnings in some compilers,
158 notably GCC. Arrange to suppress these. */
159#ifdef __GNUC__
160#define YY_MAY_BE_UNUSED __attribute__((unused))
161#else
162#define YY_MAY_BE_UNUSED
163#endif
164
Reid Spencer68a24bd2005-08-27 18:50:39 +0000165/* The following is because we cannot portably get our hands on size_t
166 * (without autoconf's help, which isn't available because we want
167 * flex-generated scanners to compile on their own).
168 */
169typedef unsigned int yy_size_t;
170
Owen Anderson1dc69692006-10-18 02:21:48 +0000171
Reid Spencer68a24bd2005-08-27 18:50:39 +0000172struct yy_buffer_state
173 {
174 FILE *yy_input_file;
175
176 char *yy_ch_buf; /* input buffer */
177 char *yy_buf_pos; /* current position in input buffer */
178
179 /* Size of input buffer in bytes, not including room for EOB
180 * characters.
181 */
182 yy_size_t yy_buf_size;
183
184 /* Number of characters read into yy_ch_buf, not including EOB
185 * characters.
186 */
187 int yy_n_chars;
188
189 /* Whether we "own" the buffer - i.e., we know we created it,
190 * and can realloc() it to grow it, and should free() it to
191 * delete it.
192 */
193 int yy_is_our_buffer;
194
195 /* Whether this is an "interactive" input source; if so, and
196 * if we're using stdio for input, then we want to use getc()
197 * instead of fread(), to make sure we stop fetching input after
198 * each newline.
199 */
200 int yy_is_interactive;
201
202 /* Whether we're considered to be at the beginning of a line.
203 * If so, '^' rules will be active on the next match, otherwise
204 * not.
205 */
206 int yy_at_bol;
207
208 /* Whether to try to fill the input buffer when we reach the
209 * end of it.
210 */
211 int yy_fill_buffer;
212
213 int yy_buffer_status;
214#define YY_BUFFER_NEW 0
215#define YY_BUFFER_NORMAL 1
216 /* When an EOF's been seen but there's still some text to process
217 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
218 * shouldn't try reading from the input source any more. We might
219 * still have a bunch of tokens to match, though, because of
220 * possible backing-up.
221 *
222 * When we actually see the EOF, we change the status to "new"
Owen Anderson1dc69692006-10-18 02:21:48 +0000223 * (via yyrestart()), so that the user can continue scanning by
224 * just pointing yyin at a new input file.
Reid Spencer68a24bd2005-08-27 18:50:39 +0000225 */
226#define YY_BUFFER_EOF_PENDING 2
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +0000227 };
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +0000228
Owen Anderson1dc69692006-10-18 02:21:48 +0000229static YY_BUFFER_STATE yy_current_buffer = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000230
231/* We provide macros for accessing buffer states in case in the
232 * future we want to put the buffer states in a more general
233 * "scanner state".
234 */
Owen Anderson1dc69692006-10-18 02:21:48 +0000235#define YY_CURRENT_BUFFER yy_current_buffer
Reid Spencer68a24bd2005-08-27 18:50:39 +0000236
237
Owen Anderson1dc69692006-10-18 02:21:48 +0000238/* yy_hold_char holds the character lost when yytext is formed. */
Reid Spencer68a24bd2005-08-27 18:50:39 +0000239static char yy_hold_char;
Owen Anderson1dc69692006-10-18 02:21:48 +0000240
Reid Spencer68a24bd2005-08-27 18:50:39 +0000241static int yy_n_chars; /* number of characters read into yy_ch_buf */
Owen Anderson1dc69692006-10-18 02:21:48 +0000242
243
244int yyleng;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000245
246/* Points to current character in buffer. */
247static char *yy_c_buf_p = (char *) 0;
Owen Anderson1dc69692006-10-18 02:21:48 +0000248static int yy_init = 1; /* whether we need to initialize */
Reid Spencer68a24bd2005-08-27 18:50:39 +0000249static int yy_start = 0; /* start state number */
250
Owen Anderson1dc69692006-10-18 02:21:48 +0000251/* Flag which is used to allow yywrap()'s to do buffer switches
252 * instead of setting up a fresh yyin. A bit of a hack ...
Reid Spencer68a24bd2005-08-27 18:50:39 +0000253 */
254static int yy_did_buffer_switch_on_eof;
255
Owen Anderson1dc69692006-10-18 02:21:48 +0000256void yyrestart YY_PROTO(( FILE *input_file ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000257
Owen Anderson1dc69692006-10-18 02:21:48 +0000258void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
259void yy_load_buffer_state YY_PROTO(( void ));
260YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
261void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
262void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
263void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
264#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +0000265
Owen Anderson1dc69692006-10-18 02:21:48 +0000266YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
267YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
268YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000269
Owen Anderson1dc69692006-10-18 02:21:48 +0000270static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
Reid Spencerb83eb642006-10-20 07:07:24 +0000271static inline void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) YY_MAY_BE_UNUSED;
Owen Anderson1dc69692006-10-18 02:21:48 +0000272static void yy_flex_free YY_PROTO(( void * ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000273
Owen Anderson1dc69692006-10-18 02:21:48 +0000274#define yy_new_buffer yy_create_buffer
Reid Spencer68a24bd2005-08-27 18:50:39 +0000275
276#define yy_set_interactive(is_interactive) \
277 { \
Owen Anderson1dc69692006-10-18 02:21:48 +0000278 if ( ! yy_current_buffer ) \
279 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
280 yy_current_buffer->yy_is_interactive = is_interactive; \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000281 }
282
283#define yy_set_bol(at_bol) \
284 { \
Owen Anderson1dc69692006-10-18 02:21:48 +0000285 if ( ! yy_current_buffer ) \
286 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
287 yy_current_buffer->yy_at_bol = at_bol; \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000288 }
289
Owen Anderson1dc69692006-10-18 02:21:48 +0000290#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
Reid Spencer68a24bd2005-08-27 18:50:39 +0000291
292
Owen Anderson1dc69692006-10-18 02:21:48 +0000293#define YY_USES_REJECT
294
295#define yywrap() 1
Reid Spencer68a24bd2005-08-27 18:50:39 +0000296#define YY_SKIP_YYWRAP
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +0000297typedef unsigned char YY_CHAR;
Owen Anderson1dc69692006-10-18 02:21:48 +0000298FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +0000299typedef int yy_state_type;
Owen Anderson1dc69692006-10-18 02:21:48 +0000300extern int yylineno;
301int yylineno = 1;
302extern char *yytext;
303#define yytext_ptr yytext
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +0000304
Owen Anderson1dc69692006-10-18 02:21:48 +0000305static yy_state_type yy_get_previous_state YY_PROTO(( void ));
306static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
307static int yy_get_next_buffer YY_PROTO(( void ));
308static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000309
310/* Done after the current pattern has been matched and before the
Owen Anderson1dc69692006-10-18 02:21:48 +0000311 * corresponding action - sets up yytext.
Reid Spencer68a24bd2005-08-27 18:50:39 +0000312 */
313#define YY_DO_BEFORE_ACTION \
Owen Anderson1dc69692006-10-18 02:21:48 +0000314 yytext_ptr = yy_bp; \
315 yyleng = (int) (yy_cp - yy_bp); \
316 yy_hold_char = *yy_cp; \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000317 *yy_cp = '\0'; \
Owen Anderson1dc69692006-10-18 02:21:48 +0000318 yy_c_buf_p = yy_cp;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000319
Owen Anderson1dc69692006-10-18 02:21:48 +0000320#define YY_NUM_RULES 114
321#define YY_END_OF_BUFFER 115
322static yyconst short int yy_acclist[192] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000323 { 0,
Owen Anderson1dc69692006-10-18 02:21:48 +0000324 115, 113, 114, 112, 113, 114, 112, 114, 113, 114,
325 113, 114, 113, 114, 113, 114, 113, 114, 113, 114,
326 105, 113, 114, 105, 113, 114, 1, 113, 114, 113,
327 114, 113, 114, 113, 114, 113, 114, 113, 114, 113,
328 114, 113, 114, 113, 114, 113, 114, 113, 114, 113,
329 114, 113, 114, 113, 114, 113, 114, 113, 114, 113,
330 114, 113, 114, 113, 114, 113, 114, 113, 114, 113,
331 114, 104, 102, 101, 101, 108, 106, 110, 105, 1,
332 87, 41, 69, 23, 104, 101, 101, 109, 110, 20,
333 110, 111, 63, 68, 39, 34, 42, 66, 3, 54,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000334
Owen Anderson1dc69692006-10-18 02:21:48 +0000335 65, 25, 77, 67, 86, 81, 82, 64, 70, 103,
336 110, 110, 49, 78, 79, 32, 94, 95, 56, 22,
337 107, 26, 4, 61, 55, 48, 11, 110, 36, 2,
338 5, 58, 60, 50, 72, 76, 74, 75, 73, 71,
339 52, 96, 51, 57, 21, 84, 93, 45, 59, 30,
340 24, 44, 7, 89, 33, 92, 38, 62, 80, 88,
341 27, 28, 90, 53, 85, 83, 43, 6, 29, 37,
342 8, 17, 9, 10, 35, 12, 14, 13, 40, 15,
343 31, 91, 97, 99, 100, 16, 46, 98, 18, 47,
344 19
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000345
Reid Spencer68a24bd2005-08-27 18:50:39 +0000346 } ;
347
Owen Anderson1dc69692006-10-18 02:21:48 +0000348static yyconst short int yy_accept[505] =
349 { 0,
350 1, 1, 1, 2, 4, 7, 9, 11, 13, 15,
351 17, 19, 21, 24, 27, 30, 32, 34, 36, 38,
352 40, 42, 44, 46, 48, 50, 52, 54, 56, 58,
353 60, 62, 64, 66, 68, 70, 72, 72, 73, 73,
354 74, 75, 76, 77, 77, 78, 78, 79, 80, 80,
355 81, 81, 81, 81, 81, 81, 81, 81, 81, 82,
356 82, 83, 83, 83, 83, 83, 83, 83, 83, 83,
357 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
358 83, 83, 83, 83, 83, 83, 83, 84, 84, 84,
359 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
360
361 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
362 85, 85, 85, 85, 86, 87, 89, 90, 91, 92,
363 92, 93, 94, 94, 94, 95, 95, 96, 96, 97,
364 97, 97, 97, 98, 98, 98, 98, 98, 98, 98,
365 99, 99, 99, 100, 100, 100, 100, 100, 100, 100,
366 100, 100, 100, 100, 101, 101, 101, 101, 101, 101,
367 101, 101, 101, 102, 103, 103, 103, 104, 104, 105,
368 106, 106, 106, 106, 106, 106, 107, 107, 108, 108,
369 108, 108, 109, 109, 109, 109, 109, 109, 109, 109,
370 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
371
372 109, 109, 109, 109, 110, 110, 111, 112, 112, 112,
373 112, 113, 113, 113, 113, 113, 114, 115, 116, 116,
374 116, 116, 117, 117, 117, 117, 117, 117, 117, 117,
375 117, 117, 117, 117, 117, 118, 118, 118, 118, 118,
376 118, 118, 118, 118, 118, 119, 120, 120, 120, 121,
377 121, 121, 122, 122, 122, 122, 122, 122, 122, 122,
378 122, 122, 122, 122, 122, 123, 123, 123, 124, 125,
379 125, 126, 126, 126, 126, 126, 126, 126, 126, 126,
380 126, 127, 127, 128, 128, 128, 129, 130, 130, 130,
381 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
382
383 131, 131, 131, 132, 132, 133, 133, 133, 133, 133,
384 133, 133, 134, 134, 134, 134, 134, 134, 134, 135,
385 135, 135, 136, 137, 138, 139, 140, 141, 142, 142,
386 142, 143, 143, 143, 143, 144, 145, 146, 146, 146,
387 146, 146, 146, 147, 147, 147, 147, 147, 147, 148,
388 148, 149, 149, 149, 149, 149, 149, 149, 150, 151,
389 152, 152, 152, 153, 153, 154, 154, 154, 154, 155,
390 155, 156, 157, 158, 159, 159, 159, 160, 160, 160,
391 161, 162, 163, 163, 163, 164, 165, 166, 167, 167,
392 167, 167, 167, 167, 167, 168, 169, 170, 170, 170,
393
394 170, 170, 170, 170, 170, 170, 170, 170, 170, 171,
395 171, 171, 171, 171, 171, 171, 171, 171, 171, 172,
396 172, 172, 172, 173, 173, 173, 173, 173, 174, 175,
397 175, 175, 175, 175, 175, 176, 176, 176, 176, 177,
398 178, 179, 179, 179, 179, 179, 179, 179, 179, 179,
399 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
400 179, 179, 180, 180, 180, 180, 180, 180, 181, 181,
401 181, 181, 181, 182, 182, 182, 183, 183, 183, 183,
402 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
403 184, 184, 185, 186, 187, 187, 188, 188, 189, 190,
404
405 191, 191, 192, 192
406 } ;
407
408static yyconst int yy_ec[256] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000409 { 0,
410 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
411 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
412 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
413 1, 2, 1, 4, 1, 5, 6, 1, 1, 1,
414 1, 1, 7, 1, 8, 9, 1, 10, 11, 11,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000415 11, 11, 11, 12, 11, 13, 11, 14, 15, 1,
416 1, 1, 1, 1, 16, 16, 16, 16, 17, 16,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000417 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
418 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000419 1, 1, 1, 1, 18, 1, 19, 20, 21, 22,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000420
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000421 23, 24, 25, 26, 27, 5, 28, 29, 30, 31,
422 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
423 42, 43, 1, 1, 1, 1, 1, 1, 1, 1,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000424 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
425 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
426 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
427 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
428 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
429 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
430 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
431
432 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
433 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
434 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
435 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
436 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
437 1, 1, 1, 1, 1
438 } ;
439
Owen Anderson1dc69692006-10-18 02:21:48 +0000440static yyconst int yy_meta[44] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000441 { 0,
442 1, 1, 2, 1, 3, 1, 1, 3, 3, 3,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000443 3, 3, 3, 4, 1, 3, 3, 3, 3, 3,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000444 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
445 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000446 3, 3, 3
Reid Spencer68a24bd2005-08-27 18:50:39 +0000447 } ;
448
Owen Anderson1dc69692006-10-18 02:21:48 +0000449static yyconst short int yy_base[509] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000450 { 0,
Owen Anderson1dc69692006-10-18 02:21:48 +0000451 0, 0, 1096, 1097, 1097, 1097, 1091, 1080, 36, 40,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000452 44, 50, 56, 62, 0, 63, 66, 81, 89, 47,
453 90, 91, 76, 96, 108, 49, 97, 110, 68, 137,
Owen Anderson1dc69692006-10-18 02:21:48 +0000454 120, 168, 112, 115, 135, 127, 1089, 1097, 1078, 1097,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000455 0, 158, 173, 180, 196, 70, 201, 216, 221, 0,
Owen Anderson1dc69692006-10-18 02:21:48 +0000456 121, 152, 123, 139, 166, 140, 162, 184, 1077, 222,
457 180, 31, 186, 119, 232, 208, 144, 225, 234, 236,
458 235, 188, 238, 240, 246, 241, 245, 203, 248, 256,
459 254, 258, 262, 252, 272, 274, 1076, 276, 278, 280,
460 255, 253, 283, 284, 285, 286, 288, 297, 300, 1075,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000461
Owen Anderson1dc69692006-10-18 02:21:48 +0000462 301, 292, 295, 307, 309, 318, 316, 315, 322, 312,
463 147, 329, 330, 1074, 0, 344, 349, 1073, 363, 380,
464 0, 1072, 338, 336, 1071, 355, 1070, 356, 1069, 353,
465 367, 334, 1068, 375, 365, 381, 384, 370, 371, 1067,
466 388, 392, 391, 393, 394, 395, 396, 400, 399, 407,
467 406, 409, 411, 413, 410, 414, 418, 421, 425, 426,
468 427, 429, 1066, 1065, 430, 431, 1064, 435, 1063, 1062,
469 458, 436, 439, 434, 469, 1061, 449, 1060, 438, 441,
470 458, 1059, 471, 472, 474, 473, 481, 482, 475, 476,
471 483, 488, 489, 493, 495, 496, 504, 501, 503, 505,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000472
Owen Anderson1dc69692006-10-18 02:21:48 +0000473 510, 507, 516, 1058, 511, 1097, 527, 541, 545, 549,
474 554, 555, 440, 556, 557, 1057, 1056, 1055, 558, 559,
475 560, 1054, 527, 518, 561, 189, 562, 528, 566, 563,
476 564, 567, 568, 570, 1053, 571, 587, 580, 578, 579,
477 581, 590, 591, 596, 1052, 1051, 594, 598, 1050, 597,
478 601, 0, 606, 603, 607, 602, 608, 610, 618, 620,
479 625, 623, 628, 629, 1049, 630, 626, 1048, 1047, 638,
480 1046, 634, 640, 642, 644, 646, 648, 651, 653, 652,
481 1045, 654, 1044, 656, 657, 662, 1043, 662, 665, 1042,
482 668, 671, 674, 680, 682, 683, 684, 685, 687, 686,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000483
Owen Anderson1dc69692006-10-18 02:21:48 +0000484 689, 690, 1041, 691, 1040, 696, 692, 695, 693, 700,
485 699, 1039, 710, 712, 713, 714, 715, 719, 1038, 718,
486 722, 1037, 1036, 1035, 1034, 1033, 1032, 1031, 725, 729,
487 1030, 726, 730, 732, 1029, 1028, 1027, 731, 735, 743,
488 733, 737, 1026, 734, 746, 744, 747, 750, 1025, 752,
489 1024, 755, 761, 760, 758, 763, 764, 1023, 1022, 1021,
490 771, 762, 1020, 773, 1019, 774, 777, 779, 1018, 787,
491 1017, 1016, 1015, 1014, 778, 788, 1013, 791, 792, 1012,
492 1011, 1010, 790, 795, 1009, 1008, 1007, 1006, 793, 796,
493 798, 797, 804, 801, 1005, 1004, 1003, 809, 811, 812,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000494
Owen Anderson1dc69692006-10-18 02:21:48 +0000495 813, 814, 816, 817, 820, 822, 827, 819, 1002, 815,
496 833, 826, 839, 843, 845, 846, 847, 848, 999, 849,
497 850, 851, 990, 854, 857, 855, 856, 989, 987, 858,
498 866, 876, 862, 861, 986, 879, 880, 881, 984, 983,
499 982, 882, 884, 888, 890, 889, 863, 891, 896, 897,
500 899, 901, 900, 902, 903, 904, 908, 909, 912, 913,
501 916, 980, 918, 924, 923, 925, 926, 977, 928, 929,
502 930, 931, 975, 935, 936, 973, 934, 944, 942, 946,
503 950, 954, 956, 957, 958, 960, 961, 959, 962, 864,
504 964, 829, 766, 604, 969, 519, 965, 517, 477, 446,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000505
Owen Anderson1dc69692006-10-18 02:21:48 +0000506 970, 333, 1097, 1005, 1007, 83, 1011, 80
Reid Spencer68a24bd2005-08-27 18:50:39 +0000507 } ;
508
Owen Anderson1dc69692006-10-18 02:21:48 +0000509static yyconst short int yy_def[509] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000510 { 0,
Owen Anderson1dc69692006-10-18 02:21:48 +0000511 503, 1, 503, 503, 503, 503, 504, 505, 506, 503,
512 505, 505, 505, 505, 507, 505, 505, 505, 505, 505,
513 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
514 505, 505, 505, 505, 505, 505, 504, 503, 505, 503,
515 508, 508, 503, 503, 505, 505, 505, 505, 505, 507,
516 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
517 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
518 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
519 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
520 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000521
Owen Anderson1dc69692006-10-18 02:21:48 +0000522 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
523 505, 505, 505, 503, 508, 508, 503, 505, 505, 505,
524 49, 505, 505, 505, 505, 505, 505, 505, 505, 505,
525 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
526 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
527 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
528 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
529 49, 505, 505, 505, 505, 505, 505, 505, 505, 505,
530 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
531 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000532
Owen Anderson1dc69692006-10-18 02:21:48 +0000533 505, 505, 505, 505, 505, 503, 503, 503, 503, 505,
534 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
535 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
536 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
537 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
538 505, 171, 505, 505, 505, 505, 505, 505, 505, 505,
539 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
540 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
541 505, 505, 505, 505, 505, 503, 505, 505, 505, 505,
542 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000543
Owen Anderson1dc69692006-10-18 02:21:48 +0000544 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
545 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
546 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
547 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
548 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
549 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
550 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
551 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
552 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
553 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000554
Owen Anderson1dc69692006-10-18 02:21:48 +0000555 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
556 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
557 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
558 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
559 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
560 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
561 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
562 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
563 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
564 505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000565
Owen Anderson1dc69692006-10-18 02:21:48 +0000566 505, 505, 0, 503, 503, 503, 503, 503
Reid Spencer68a24bd2005-08-27 18:50:39 +0000567 } ;
568
Owen Anderson1dc69692006-10-18 02:21:48 +0000569static yyconst short int yy_nxt[1141] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000570 { 0,
571 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000572 14, 14, 14, 4, 15, 8, 8, 8, 16, 17,
573 18, 19, 20, 21, 22, 8, 23, 8, 24, 25,
574 26, 27, 28, 8, 29, 30, 31, 32, 33, 34,
575 35, 8, 36, 42, 40, 43, 43, 43, 43, 44,
Owen Anderson1dc69692006-10-18 02:21:48 +0000576 44, 44, 44, 45, 45, 45, 45, 40, 46, 134,
577 40, 135, 40, 40, 47, 48, 48, 48, 48, 40,
578 47, 48, 48, 48, 48, 40, 40, 69, 118, 40,
579 84, 40, 115, 40, 51, 41, 85, 70, 56, 40,
580 90, 52, 57, 53, 40, 54, 49, 58, 55, 60,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000581
Owen Anderson1dc69692006-10-18 02:21:48 +0000582 59, 61, 40, 40, 40, 76, 77, 64, 71, 40,
583 40, 65, 62, 74, 78, 66, 63, 67, 72, 75,
584 68, 40, 79, 40, 73, 40, 81, 80, 40, 86,
585 108, 87, 40, 40, 40, 88, 40, 110, 99, 82,
586 40, 89, 122, 109, 125, 83, 91, 111, 40, 113,
587 40, 100, 40, 40, 101, 137, 92, 40, 203, 93,
588 40, 102, 94, 95, 128, 40, 112, 116, 116, 116,
589 116, 126, 141, 96, 97, 40, 98, 91, 123, 40,
590 124, 40, 43, 43, 43, 43, 129, 103, 117, 44,
591 44, 44, 44, 40, 104, 127, 105, 40, 106, 40,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000592
Owen Anderson1dc69692006-10-18 02:21:48 +0000593 133, 40, 40, 107, 47, 45, 45, 45, 45, 40,
594 119, 119, 119, 119, 40, 130, 40, 120, 297, 148,
595 136, 40, 156, 120, 47, 48, 48, 48, 48, 40,
596 121, 121, 121, 121, 40, 40, 121, 121, 40, 121,
597 121, 121, 121, 121, 121, 40, 140, 40, 40, 40,
598 131, 40, 138, 40, 40, 143, 144, 132, 40, 40,
599 149, 40, 142, 146, 139, 40, 40, 40, 40, 40,
600 147, 40, 145, 152, 159, 40, 150, 151, 157, 162,
601 153, 154, 161, 155, 158, 40, 160, 40, 164, 40,
602 163, 40, 166, 40, 172, 171, 40, 40, 40, 40,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000603
Owen Anderson1dc69692006-10-18 02:21:48 +0000604 165, 40, 167, 173, 168, 40, 180, 182, 40, 169,
605 40, 174, 176, 40, 40, 177, 170, 181, 178, 175,
606 40, 179, 40, 183, 188, 40, 184, 186, 40, 40,
607 202, 40, 197, 198, 185, 40, 189, 190, 187, 192,
608 191, 196, 40, 40, 193, 199, 40, 40, 200, 40,
609 201, 40, 194, 116, 116, 116, 116, 195, 207, 207,
610 207, 207, 212, 204, 205, 208, 40, 213, 40, 40,
611 218, 208, 119, 119, 119, 119, 40, 214, 40, 120,
612 40, 216, 215, 40, 40, 120, 209, 210, 40, 211,
613 211, 211, 211, 40, 40, 217, 219, 40, 223, 224,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000614
Owen Anderson1dc69692006-10-18 02:21:48 +0000615 220, 40, 222, 221, 40, 40, 40, 40, 40, 40,
616 225, 227, 40, 40, 226, 229, 230, 228, 234, 40,
617 40, 235, 40, 40, 40, 237, 40, 40, 231, 236,
618 232, 40, 233, 239, 40, 240, 242, 238, 40, 40,
619 40, 241, 40, 40, 40, 243, 245, 40, 40, 40,
620 246, 40, 40, 40, 40, 247, 255, 244, 249, 40,
621 288, 261, 40, 262, 250, 251, 248, 252, 252, 252,
622 252, 40, 253, 252, 252, 254, 252, 252, 252, 252,
623 252, 252, 40, 260, 40, 40, 40, 40, 40, 40,
624 40, 256, 263, 257, 40, 40, 40, 258, 266, 259,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000625
Owen Anderson1dc69692006-10-18 02:21:48 +0000626 265, 40, 40, 268, 269, 267, 40, 264, 40, 40,
627 273, 270, 271, 272, 40, 275, 40, 40, 40, 274,
628 40, 276, 278, 40, 40, 280, 281, 277, 282, 40,
629 40, 40, 40, 284, 283, 279, 207, 207, 207, 207,
630 40, 40, 285, 208, 295, 294, 299, 209, 209, 208,
631 286, 286, 286, 286, 286, 286, 286, 286, 211, 211,
632 211, 211, 40, 211, 211, 211, 211, 40, 40, 40,
633 40, 40, 40, 40, 40, 40, 40, 40, 291, 40,
634 40, 40, 302, 40, 40, 287, 289, 290, 304, 303,
635 298, 40, 40, 40, 40, 292, 293, 301, 300, 306,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000636
Owen Anderson1dc69692006-10-18 02:21:48 +0000637 40, 296, 308, 40, 40, 307, 305, 40, 311, 40,
638 40, 40, 309, 310, 40, 40, 40, 40, 312, 40,
639 40, 40, 313, 40, 314, 315, 316, 321, 319, 320,
640 323, 40, 325, 40, 317, 322, 40, 318, 40, 40,
641 327, 40, 40, 40, 324, 330, 326, 40, 329, 332,
642 331, 40, 333, 40, 334, 40, 328, 40, 336, 40,
643 335, 40, 339, 337, 40, 40, 40, 40, 338, 40,
644 40, 286, 286, 286, 286, 40, 340, 343, 40, 346,
645 349, 40, 341, 348, 40, 342, 350, 40, 351, 352,
646 345, 347, 344, 40, 353, 40, 40, 40, 40, 40,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000647
Owen Anderson1dc69692006-10-18 02:21:48 +0000648 40, 355, 40, 40, 40, 40, 40, 358, 40, 40,
649 362, 363, 40, 40, 354, 356, 357, 359, 364, 361,
650 365, 369, 360, 40, 366, 40, 40, 40, 40, 367,
651 368, 40, 40, 372, 371, 40, 373, 374, 40, 40,
652 370, 375, 40, 40, 40, 40, 40, 40, 40, 376,
653 40, 380, 379, 378, 382, 384, 40, 40, 377, 40,
654 40, 387, 390, 40, 385, 40, 381, 383, 40, 386,
655 388, 40, 389, 40, 40, 40, 40, 40, 393, 40,
656 392, 395, 396, 391, 40, 394, 40, 40, 400, 401,
657 40, 40, 40, 397, 398, 399, 404, 406, 402, 405,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000658
Owen Anderson1dc69692006-10-18 02:21:48 +0000659 40, 40, 403, 40, 40, 40, 40, 407, 40, 40,
660 40, 40, 408, 410, 40, 411, 412, 40, 409, 416,
661 413, 414, 40, 417, 40, 40, 40, 40, 40, 40,
662 40, 415, 40, 40, 418, 40, 424, 419, 425, 40,
663 40, 423, 40, 420, 433, 421, 40, 426, 427, 429,
664 428, 422, 40, 431, 430, 432, 40, 434, 40, 40,
665 40, 40, 40, 40, 40, 435, 437, 40, 40, 40,
666 40, 40, 439, 442, 40, 40, 40, 40, 446, 40,
667 451, 436, 443, 438, 447, 440, 441, 444, 448, 40,
668 450, 445, 40, 40, 40, 40, 449, 40, 453, 452,
Chris Lattnere869eef2005-11-12 00:11:49 +0000669
Owen Anderson1dc69692006-10-18 02:21:48 +0000670 455, 40, 40, 40, 40, 460, 456, 454, 458, 40,
671 40, 461, 40, 40, 40, 40, 40, 40, 459, 465,
672 467, 40, 40, 463, 457, 40, 40, 464, 466, 40,
673 468, 40, 462, 469, 472, 473, 40, 40, 40, 40,
674 470, 40, 40, 40, 40, 471, 476, 40, 40, 40,
675 480, 477, 474, 478, 479, 40, 482, 40, 485, 40,
676 475, 483, 486, 40, 487, 481, 484, 40, 488, 40,
677 40, 40, 40, 40, 40, 40, 489, 40, 40, 494,
678 495, 496, 40, 40, 490, 491, 40, 501, 40, 500,
679 40, 493, 492, 40, 499, 40, 40, 40, 498, 40,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000680
Owen Anderson1dc69692006-10-18 02:21:48 +0000681 40, 497, 40, 40, 502, 37, 37, 37, 37, 39,
682 39, 50, 40, 50, 50, 40, 40, 40, 40, 40,
Chris Lattner0e9c3762006-01-25 22:27:16 +0000683 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Chris Lattnerd5efe842006-04-08 01:18:56 +0000684 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
685 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Chris Lattner75466192006-05-19 21:28:53 +0000686 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
687 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000688 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Owen Anderson1dc69692006-10-18 02:21:48 +0000689 40, 40, 40, 40, 40, 40, 40, 206, 40, 40,
690 40, 40, 114, 40, 38, 503, 3, 503, 503, 503,
Chris Lattner75466192006-05-19 21:28:53 +0000691
Owen Anderson1dc69692006-10-18 02:21:48 +0000692 503, 503, 503, 503, 503, 503, 503, 503, 503, 503,
693 503, 503, 503, 503, 503, 503, 503, 503, 503, 503,
694 503, 503, 503, 503, 503, 503, 503, 503, 503, 503,
695 503, 503, 503, 503, 503, 503, 503, 503, 503, 503
Reid Spencer68a24bd2005-08-27 18:50:39 +0000696 } ;
697
Owen Anderson1dc69692006-10-18 02:21:48 +0000698static yyconst short int yy_chk[1141] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000699 { 0,
700 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
701 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
702 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
703 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000704 1, 1, 1, 9, 62, 9, 9, 9, 9, 10,
705 10, 10, 10, 11, 11, 11, 11, 11, 12, 62,
706 20, 62, 26, 12, 13, 13, 13, 13, 13, 13,
707 14, 14, 14, 14, 14, 14, 16, 20, 46, 17,
Owen Anderson1dc69692006-10-18 02:21:48 +0000708 26, 29, 508, 46, 16, 506, 26, 20, 17, 23,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000709 29, 16, 17, 16, 18, 16, 13, 17, 16, 18,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000710
Owen Anderson1dc69692006-10-18 02:21:48 +0000711 17, 18, 19, 21, 22, 23, 23, 19, 21, 24,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000712 27, 19, 18, 22, 24, 19, 18, 19, 21, 22,
713 19, 25, 24, 28, 21, 33, 25, 24, 34, 27,
Owen Anderson1dc69692006-10-18 02:21:48 +0000714 33, 27, 64, 31, 51, 28, 53, 34, 31, 25,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000715 36, 28, 51, 33, 53, 25, 30, 35, 35, 36,
Owen Anderson1dc69692006-10-18 02:21:48 +0000716 30, 31, 54, 56, 31, 64, 30, 67, 111, 30,
717 111, 31, 30, 30, 56, 52, 35, 42, 42, 42,
718 42, 54, 67, 30, 30, 57, 30, 32, 52, 55,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000719 52, 32, 43, 43, 43, 43, 57, 32, 44, 44,
720 44, 44, 44, 61, 32, 55, 32, 58, 32, 63,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000721
Owen Anderson1dc69692006-10-18 02:21:48 +0000722 61, 72, 226, 32, 45, 45, 45, 45, 45, 45,
723 47, 47, 47, 47, 47, 58, 78, 47, 226, 72,
724 63, 66, 78, 47, 48, 48, 48, 48, 48, 48,
725 49, 49, 49, 49, 49, 60, 49, 49, 68, 49,
726 49, 49, 49, 49, 49, 65, 66, 69, 71, 70,
727 60, 73, 65, 74, 76, 69, 70, 60, 77, 75,
728 73, 79, 68, 71, 65, 84, 92, 81, 91, 80,
729 71, 82, 70, 76, 80, 83, 74, 75, 79, 82,
730 77, 77, 81, 77, 79, 85, 80, 86, 84, 88,
731 83, 89, 86, 90, 92, 91, 93, 94, 95, 96,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000732
Owen Anderson1dc69692006-10-18 02:21:48 +0000733 85, 97, 88, 93, 89, 102, 95, 97, 103, 90,
734 98, 93, 94, 99, 101, 94, 90, 96, 94, 93,
735 104, 94, 105, 98, 102, 110, 99, 101, 108, 107,
736 110, 106, 108, 108, 99, 109, 103, 104, 101, 106,
737 105, 107, 112, 113, 106, 108, 502, 132, 109, 124,
738 109, 123, 106, 116, 116, 116, 116, 106, 117, 117,
739 117, 117, 123, 112, 113, 117, 130, 124, 126, 128,
740 132, 117, 119, 119, 119, 119, 119, 126, 135, 119,
741 131, 130, 128, 138, 139, 119, 120, 120, 134, 120,
742 120, 120, 120, 120, 136, 131, 134, 137, 138, 139,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000743
Owen Anderson1dc69692006-10-18 02:21:48 +0000744 135, 141, 137, 136, 143, 142, 144, 145, 146, 147,
745 141, 142, 149, 148, 141, 144, 145, 143, 148, 151,
746 150, 149, 152, 155, 153, 151, 154, 156, 145, 150,
747 146, 157, 147, 153, 158, 154, 156, 152, 159, 160,
748 161, 155, 162, 165, 166, 157, 159, 174, 168, 172,
749 160, 179, 173, 213, 180, 161, 174, 158, 165, 500,
750 213, 179, 177, 180, 166, 168, 162, 171, 171, 171,
751 171, 181, 172, 171, 171, 173, 171, 171, 171, 171,
752 171, 171, 175, 177, 183, 184, 186, 185, 189, 190,
753 499, 175, 181, 175, 187, 188, 191, 175, 185, 175,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000754
Owen Anderson1dc69692006-10-18 02:21:48 +0000755 184, 192, 193, 187, 188, 186, 194, 183, 195, 196,
756 192, 189, 190, 191, 198, 194, 199, 197, 200, 193,
757 202, 195, 197, 201, 205, 199, 200, 196, 201, 203,
758 498, 224, 496, 203, 202, 198, 207, 207, 207, 207,
759 223, 228, 205, 207, 224, 223, 228, 208, 208, 207,
760 208, 208, 208, 208, 209, 209, 209, 209, 210, 210,
761 210, 210, 210, 211, 211, 211, 211, 211, 212, 214,
762 215, 219, 220, 221, 225, 227, 230, 231, 219, 229,
763 232, 233, 231, 234, 236, 212, 214, 215, 233, 232,
764 227, 239, 240, 238, 241, 220, 221, 230, 229, 236,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000765
Owen Anderson1dc69692006-10-18 02:21:48 +0000766 237, 225, 238, 242, 243, 237, 234, 247, 241, 244,
767 250, 248, 239, 240, 251, 256, 254, 494, 242, 253,
768 255, 257, 243, 258, 244, 247, 248, 255, 253, 254,
769 257, 259, 258, 260, 250, 256, 262, 251, 261, 267,
770 259, 263, 264, 266, 257, 262, 258, 272, 261, 264,
771 263, 270, 266, 273, 267, 274, 260, 275, 272, 276,
772 270, 277, 275, 273, 278, 280, 279, 282, 274, 284,
773 285, 286, 286, 286, 286, 288, 276, 279, 289, 284,
774 288, 291, 277, 285, 292, 278, 289, 293, 291, 292,
775 282, 284, 280, 294, 293, 295, 296, 297, 298, 300,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000776
Owen Anderson1dc69692006-10-18 02:21:48 +0000777 299, 295, 301, 302, 304, 307, 309, 298, 308, 306,
778 302, 304, 311, 310, 294, 296, 297, 299, 306, 301,
779 307, 311, 300, 313, 308, 314, 315, 316, 317, 309,
780 310, 320, 318, 315, 314, 321, 316, 317, 329, 332,
781 313, 318, 330, 333, 338, 334, 341, 344, 339, 320,
782 342, 332, 330, 329, 334, 339, 340, 346, 321, 345,
783 347, 342, 346, 348, 340, 350, 333, 338, 352, 341,
784 344, 355, 345, 354, 353, 362, 356, 357, 350, 493,
785 348, 353, 354, 347, 361, 352, 364, 366, 361, 361,
786 367, 375, 368, 355, 356, 357, 366, 368, 362, 367,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000787
Owen Anderson1dc69692006-10-18 02:21:48 +0000788 370, 376, 364, 383, 378, 379, 389, 370, 384, 390,
789 392, 391, 375, 378, 394, 379, 383, 393, 376, 391,
790 384, 389, 398, 392, 399, 400, 401, 402, 410, 403,
791 404, 390, 408, 405, 393, 406, 402, 394, 403, 412,
792 407, 401, 492, 398, 412, 399, 411, 404, 405, 407,
793 406, 400, 413, 410, 408, 411, 414, 413, 415, 416,
794 417, 418, 420, 421, 422, 414, 416, 424, 426, 427,
795 425, 430, 418, 422, 434, 433, 447, 490, 427, 431,
796 434, 415, 424, 417, 430, 420, 421, 425, 431, 432,
797 433, 426, 436, 437, 438, 442, 432, 443, 437, 436,
Chris Lattnere869eef2005-11-12 00:11:49 +0000798
Owen Anderson1dc69692006-10-18 02:21:48 +0000799 442, 444, 446, 445, 448, 447, 443, 438, 445, 449,
800 450, 448, 451, 453, 452, 454, 455, 456, 446, 452,
801 454, 457, 458, 450, 444, 459, 460, 451, 453, 461,
802 455, 463, 449, 456, 459, 460, 465, 464, 466, 467,
803 457, 469, 470, 471, 472, 458, 464, 477, 474, 475,
804 469, 465, 461, 466, 467, 479, 471, 478, 475, 480,
805 463, 472, 477, 481, 478, 470, 474, 482, 479, 483,
806 484, 485, 488, 486, 487, 489, 480, 491, 497, 485,
807 486, 487, 495, 501, 481, 482, 476, 497, 473, 495,
808 468, 484, 483, 462, 491, 441, 440, 439, 489, 435,
Chris Lattner75466192006-05-19 21:28:53 +0000809
Owen Anderson1dc69692006-10-18 02:21:48 +0000810 429, 488, 428, 423, 501, 504, 504, 504, 504, 505,
811 505, 507, 419, 507, 507, 409, 397, 396, 395, 388,
812 387, 386, 385, 382, 381, 380, 377, 374, 373, 372,
813 371, 369, 365, 363, 360, 359, 358, 351, 349, 343,
814 337, 336, 335, 331, 328, 327, 326, 325, 324, 323,
815 322, 319, 312, 305, 303, 290, 287, 283, 281, 271,
816 269, 268, 265, 249, 246, 245, 235, 222, 218, 217,
817 216, 204, 182, 178, 176, 170, 169, 167, 164, 163,
818 140, 133, 129, 127, 125, 122, 118, 114, 100, 87,
819 59, 39, 37, 8, 7, 3, 503, 503, 503, 503,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000820
Owen Anderson1dc69692006-10-18 02:21:48 +0000821 503, 503, 503, 503, 503, 503, 503, 503, 503, 503,
822 503, 503, 503, 503, 503, 503, 503, 503, 503, 503,
823 503, 503, 503, 503, 503, 503, 503, 503, 503, 503,
824 503, 503, 503, 503, 503, 503, 503, 503, 503, 503
Reid Spencer68a24bd2005-08-27 18:50:39 +0000825 } ;
826
Owen Anderson1dc69692006-10-18 02:21:48 +0000827static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
828static char *yy_full_match;
829static int yy_lp;
830#define REJECT \
831{ \
832*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
833yy_cp = yy_full_match; /* restore poss. backed-over text */ \
834++yy_lp; \
835goto find_rule; \
836}
Reid Spencer68a24bd2005-08-27 18:50:39 +0000837#define yymore() yymore_used_but_not_detected
838#define YY_MORE_ADJ 0
839#define YY_RESTORE_YY_MORE_OFFSET
Owen Anderson1dc69692006-10-18 02:21:48 +0000840char *yytext;
Reid Spencerb83eb642006-10-20 07:07:24 +0000841#line 1 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +0000842#define INITIAL 0
Reid Spencer68a24bd2005-08-27 18:50:39 +0000843/*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
844//
845// The LLVM Compiler Infrastructure
846//
847// This file was developed by the LLVM research group and is distributed under
848// the University of Illinois Open Source License. See LICENSE.TXT for details.
849//
850//===----------------------------------------------------------------------===//
851//
852// This file implements the flex scanner for LLVM assembly languages files.
853//
854//===----------------------------------------------------------------------===*/
Owen Anderson1dc69692006-10-18 02:21:48 +0000855#define YY_NEVER_INTERACTIVE 1
Reid Spencerb83eb642006-10-20 07:07:24 +0000856#line 28 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +0000857#include "ParserInternals.h"
858#include "llvm/Module.h"
859#include <list>
860#include "llvmAsmParser.h"
861#include <cctype>
862#include <cstdlib>
863
864void set_scan_file(FILE * F){
Owen Anderson1dc69692006-10-18 02:21:48 +0000865 yy_switch_to_buffer(yy_create_buffer( F, YY_BUF_SIZE ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +0000866}
867void set_scan_string (const char * str) {
Owen Anderson1dc69692006-10-18 02:21:48 +0000868 yy_scan_string (str);
Reid Spencer68a24bd2005-08-27 18:50:39 +0000869}
870
871#define RET_TOK(type, Enum, sym) \
872 llvmAsmlval.type = Instruction::Enum; return sym
873
874namespace llvm {
875
876// TODO: All of the static identifiers are figured out by the lexer,
877// these should be hashed to reduce the lexer size
878
879
880// atoull - Convert an ascii string of decimal digits into the unsigned long
881// long representation... this does not have to do input error checking,
882// because we know that the input will be matched by a suitable regex...
883//
884static uint64_t atoull(const char *Buffer) {
885 uint64_t Result = 0;
886 for (; *Buffer; Buffer++) {
887 uint64_t OldRes = Result;
888 Result *= 10;
889 Result += *Buffer-'0';
890 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000891 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000892 }
893 return Result;
894}
895
896static uint64_t HexIntToVal(const char *Buffer) {
897 uint64_t Result = 0;
898 for (; *Buffer; ++Buffer) {
899 uint64_t OldRes = Result;
900 Result *= 16;
901 char C = *Buffer;
902 if (C >= '0' && C <= '9')
903 Result += C-'0';
904 else if (C >= 'A' && C <= 'F')
905 Result += C-'A'+10;
906 else if (C >= 'a' && C <= 'f')
907 Result += C-'a'+10;
908
909 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000910 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000911 }
912 return Result;
913}
914
915
916// HexToFP - Convert the ascii string in hexidecimal format to the floating
917// point representation of it.
918//
919static double HexToFP(const char *Buffer) {
920 // Behave nicely in the face of C TBAA rules... see:
921 // http://www.nullstone.com/htmls/category/aliastyp.htm
922 union {
923 uint64_t UI;
924 double FP;
925 } UIntToFP;
926 UIntToFP.UI = HexIntToVal(Buffer);
927
928 assert(sizeof(double) == sizeof(uint64_t) &&
929 "Data sizes incompatible on this target!");
930 return UIntToFP.FP; // Cast Hex constant to double
931}
932
933
934// UnEscapeLexed - Run through the specified buffer and change \xx codes to the
935// appropriate character. If AllowNull is set to false, a \00 value will cause
936// an exception to be thrown.
937//
938// If AllowNull is set to true, the return value of the function points to the
939// last character of the string in memory.
940//
941char *UnEscapeLexed(char *Buffer, bool AllowNull) {
942 char *BOut = Buffer;
943 for (char *BIn = Buffer; *BIn; ) {
944 if (BIn[0] == '\\' && isxdigit(BIn[1]) && isxdigit(BIn[2])) {
945 char Tmp = BIn[3]; BIn[3] = 0; // Terminate string
946 *BOut = (char)strtol(BIn+1, 0, 16); // Convert to number
947 if (!AllowNull && !*BOut)
Reid Spencer61c83e02006-08-18 08:43:06 +0000948 GenerateError("String literal cannot accept \\00 escape!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000949
950 BIn[3] = Tmp; // Restore character
951 BIn += 3; // Skip over handled chars
952 ++BOut;
953 } else {
954 *BOut++ = *BIn++;
955 }
956 }
957
958 return BOut;
959}
960
961} // End llvm namespace
962
963using namespace llvm;
964
965#define YY_NEVER_INTERACTIVE 1
966/* Comments start with a ; and go till end of line */
967/* Variable(Value) identifiers start with a % sign */
968/* Label identifiers end with a colon */
969/* Quoted names can contain any character except " and \ */
970/* [PN]Integer: match positive and negative literal integer values that
971 * are preceeded by a '%' character. These represent unnamed variable slots.
972 */
973/* E[PN]Integer: match positive and negative literal integer values */
974/* FPConstant - A Floating point constant.
975 */
976/* HexFPConstant - Floating point constant represented in IEEE format as a
977 * hexadecimal number for when exponential notation is not precise enough.
978 */
979/* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
980 * it to deal with 64 bit numbers.
981 */
Reid Spencerb83eb642006-10-20 07:07:24 +0000982#line 983 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +0000983
984/* Macros after this point can all be overridden by user definitions in
985 * section 1.
986 */
987
988#ifndef YY_SKIP_YYWRAP
989#ifdef __cplusplus
Owen Anderson1dc69692006-10-18 02:21:48 +0000990extern "C" int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000991#else
Owen Anderson1dc69692006-10-18 02:21:48 +0000992extern int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000993#endif
994#endif
995
Owen Anderson1dc69692006-10-18 02:21:48 +0000996#ifndef YY_NO_UNPUT
997static inline void yyunput YY_PROTO(( int c, char *buf_ptr ));
998#endif
999
Reid Spencer68a24bd2005-08-27 18:50:39 +00001000#ifndef yytext_ptr
Owen Anderson1dc69692006-10-18 02:21:48 +00001001static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001002#endif
1003
1004#ifdef YY_NEED_STRLEN
Owen Anderson1dc69692006-10-18 02:21:48 +00001005static int yy_flex_strlen YY_PROTO(( yyconst char * ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001006#endif
1007
1008#ifndef YY_NO_INPUT
1009#ifdef __cplusplus
Owen Anderson1dc69692006-10-18 02:21:48 +00001010static int yyinput YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001011#else
Owen Anderson1dc69692006-10-18 02:21:48 +00001012static int input YY_PROTO(( void ));
1013#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001014#endif
1015
Owen Anderson1dc69692006-10-18 02:21:48 +00001016#if YY_STACK_USED
1017static int yy_start_stack_ptr = 0;
1018static int yy_start_stack_depth = 0;
1019static int *yy_start_stack = 0;
1020#ifndef YY_NO_PUSH_STATE
1021static void yy_push_state YY_PROTO(( int new_state ));
1022#endif
1023#ifndef YY_NO_POP_STATE
1024static void yy_pop_state YY_PROTO(( void ));
1025#endif
1026#ifndef YY_NO_TOP_STATE
1027static int yy_top_state YY_PROTO(( void ));
1028#endif
1029
1030#else
1031#define YY_NO_PUSH_STATE 1
1032#define YY_NO_POP_STATE 1
1033#define YY_NO_TOP_STATE 1
1034#endif
1035
1036#ifdef YY_MALLOC_DECL
1037YY_MALLOC_DECL
1038#else
1039#if __STDC__
1040#ifndef __cplusplus
1041#include <stdlib.h>
1042#endif
1043#else
1044/* Just try to get by without declaring the routines. This will fail
1045 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1046 * or sizeof(void*) != sizeof(int).
1047 */
1048#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001049#endif
1050
1051/* Amount of stuff to slurp up with each read. */
1052#ifndef YY_READ_BUF_SIZE
1053#define YY_READ_BUF_SIZE 8192
1054#endif
1055
1056/* Copy whatever the last rule matched to the standard output. */
Owen Anderson1dc69692006-10-18 02:21:48 +00001057
Reid Spencer68a24bd2005-08-27 18:50:39 +00001058#ifndef ECHO
1059/* This used to be an fputs(), but since the string might contain NUL's,
1060 * we now use fwrite().
1061 */
Owen Anderson1dc69692006-10-18 02:21:48 +00001062#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001063#endif
1064
1065/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1066 * is returned in "result".
1067 */
1068#ifndef YY_INPUT
1069#define YY_INPUT(buf,result,max_size) \
Owen Anderson1dc69692006-10-18 02:21:48 +00001070 if ( yy_current_buffer->yy_is_interactive ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001071 { \
Owen Anderson1dc69692006-10-18 02:21:48 +00001072 int c = '*', n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001073 for ( n = 0; n < max_size && \
Owen Anderson1dc69692006-10-18 02:21:48 +00001074 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001075 buf[n] = (char) c; \
1076 if ( c == '\n' ) \
1077 buf[n++] = (char) c; \
Owen Anderson1dc69692006-10-18 02:21:48 +00001078 if ( c == EOF && ferror( yyin ) ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001079 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1080 result = n; \
1081 } \
Owen Anderson1dc69692006-10-18 02:21:48 +00001082 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1083 && ferror( yyin ) ) \
1084 YY_FATAL_ERROR( "input in flex scanner failed" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001085#endif
1086
1087/* No semi-colon after return; correct usage is to write "yyterminate();" -
1088 * we don't want an extra ';' after the "return" because that will cause
1089 * some compilers to complain about unreachable statements.
1090 */
1091#ifndef yyterminate
1092#define yyterminate() return YY_NULL
1093#endif
1094
1095/* Number of entries by which start-condition stack grows. */
1096#ifndef YY_START_STACK_INCR
1097#define YY_START_STACK_INCR 25
1098#endif
1099
1100/* Report a fatal error. */
1101#ifndef YY_FATAL_ERROR
1102#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1103#endif
1104
1105/* Default declaration of generated scanner - a define so the user can
1106 * easily add parameters.
1107 */
1108#ifndef YY_DECL
Owen Anderson1dc69692006-10-18 02:21:48 +00001109#define YY_DECL int yylex YY_PROTO(( void ))
1110#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001111
Owen Anderson1dc69692006-10-18 02:21:48 +00001112/* Code executed at the beginning of each rule, after yytext and yyleng
Reid Spencer68a24bd2005-08-27 18:50:39 +00001113 * have been set up.
1114 */
1115#ifndef YY_USER_ACTION
1116#define YY_USER_ACTION
1117#endif
1118
1119/* Code executed at the end of each rule. */
1120#ifndef YY_BREAK
1121#define YY_BREAK break;
1122#endif
1123
1124#define YY_RULE_SETUP \
1125 YY_USER_ACTION
1126
1127YY_DECL
Owen Anderson1dc69692006-10-18 02:21:48 +00001128 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00001129 register yy_state_type yy_current_state;
Reid Spencerb83eb642006-10-20 07:07:24 +00001130 register char *yy_cp = NULL, *yy_bp = NULL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001131 register int yy_act;
Owen Anderson1dc69692006-10-18 02:21:48 +00001132
Reid Spencerb83eb642006-10-20 07:07:24 +00001133#line 179 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001134
1135
Reid Spencerb83eb642006-10-20 07:07:24 +00001136#line 1137 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001137
Owen Anderson1dc69692006-10-18 02:21:48 +00001138 if ( yy_init )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001139 {
Owen Anderson1dc69692006-10-18 02:21:48 +00001140 yy_init = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001141
1142#ifdef YY_USER_INIT
1143 YY_USER_INIT;
1144#endif
1145
Owen Anderson1dc69692006-10-18 02:21:48 +00001146 if ( ! yy_start )
1147 yy_start = 1; /* first start state */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001148
Owen Anderson1dc69692006-10-18 02:21:48 +00001149 if ( ! yyin )
1150 yyin = stdin;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001151
Owen Anderson1dc69692006-10-18 02:21:48 +00001152 if ( ! yyout )
1153 yyout = stdout;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001154
Owen Anderson1dc69692006-10-18 02:21:48 +00001155 if ( ! yy_current_buffer )
1156 yy_current_buffer =
1157 yy_create_buffer( yyin, YY_BUF_SIZE );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001158
Owen Anderson1dc69692006-10-18 02:21:48 +00001159 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00001160 }
1161
1162 while ( 1 ) /* loops until end-of-file is reached */
1163 {
Owen Anderson1dc69692006-10-18 02:21:48 +00001164 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001165
Owen Anderson1dc69692006-10-18 02:21:48 +00001166 /* Support of yytext. */
1167 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001168
1169 /* yy_bp points to the position in yy_ch_buf of the start of
1170 * the current run.
1171 */
1172 yy_bp = yy_cp;
1173
Owen Anderson1dc69692006-10-18 02:21:48 +00001174 yy_current_state = yy_start;
1175 yy_state_ptr = yy_state_buf;
1176 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001177yy_match:
1178 do
1179 {
1180 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1181 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1182 {
1183 yy_current_state = (int) yy_def[yy_current_state];
Owen Anderson1dc69692006-10-18 02:21:48 +00001184 if ( yy_current_state >= 504 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001185 yy_c = yy_meta[(unsigned int) yy_c];
1186 }
1187 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Owen Anderson1dc69692006-10-18 02:21:48 +00001188 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001189 ++yy_cp;
1190 }
Owen Anderson1dc69692006-10-18 02:21:48 +00001191 while ( yy_current_state != 503 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001192
1193yy_find_action:
Owen Anderson1dc69692006-10-18 02:21:48 +00001194 yy_current_state = *--yy_state_ptr;
1195 yy_lp = yy_accept[yy_current_state];
1196find_rule: /* we branch to this label when backing up */
1197 for ( ; ; ) /* until we find what rule we matched */
1198 {
1199 if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
1200 {
1201 yy_act = yy_acclist[yy_lp];
1202 {
1203 yy_full_match = yy_cp;
1204 break;
1205 }
1206 }
1207 --yy_cp;
1208 yy_current_state = *--yy_state_ptr;
1209 yy_lp = yy_accept[yy_current_state];
1210 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001211
1212 YY_DO_BEFORE_ACTION;
1213
Owen Anderson1dc69692006-10-18 02:21:48 +00001214 if ( yy_act != YY_END_OF_BUFFER )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001215 {
1216 int yyl;
Owen Anderson1dc69692006-10-18 02:21:48 +00001217 for ( yyl = 0; yyl < yyleng; ++yyl )
1218 if ( yytext[yyl] == '\n' )
1219 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001220 }
1221
1222do_action: /* This label is used only to access EOF actions. */
1223
Owen Anderson1dc69692006-10-18 02:21:48 +00001224
Reid Spencer68a24bd2005-08-27 18:50:39 +00001225 switch ( yy_act )
1226 { /* beginning of action switch */
1227case 1:
1228YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001229#line 181 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001230{ /* Ignore comments for now */ }
1231 YY_BREAK
1232case 2:
1233YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001234#line 183 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001235{ return BEGINTOK; }
1236 YY_BREAK
1237case 3:
1238YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001239#line 184 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001240{ return ENDTOK; }
1241 YY_BREAK
1242case 4:
1243YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001244#line 185 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001245{ return TRUETOK; }
1246 YY_BREAK
1247case 5:
1248YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001249#line 186 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001250{ return FALSETOK; }
1251 YY_BREAK
1252case 6:
1253YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001254#line 187 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001255{ return DECLARE; }
1256 YY_BREAK
1257case 7:
1258YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001259#line 188 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001260{ return GLOBAL; }
1261 YY_BREAK
1262case 8:
1263YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001264#line 189 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001265{ return CONSTANT; }
1266 YY_BREAK
1267case 9:
1268YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001269#line 190 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001270{ return INTERNAL; }
1271 YY_BREAK
1272case 10:
1273YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001274#line 191 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001275{ return LINKONCE; }
1276 YY_BREAK
1277case 11:
1278YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001279#line 192 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001280{ return WEAK; }
1281 YY_BREAK
1282case 12:
1283YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001284#line 193 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001285{ return APPENDING; }
1286 YY_BREAK
1287case 13:
1288YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001289#line 194 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001290{ return DLLIMPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001291 YY_BREAK
1292case 14:
1293YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001294#line 195 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001295{ return DLLEXPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001296 YY_BREAK
1297case 15:
1298YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001299#line 196 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001300{ return EXTERN_WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001301 YY_BREAK
1302case 16:
1303YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001304#line 197 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001305{ return EXTERNAL; } /* Deprecated, turn into external */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001306 YY_BREAK
1307case 17:
1308YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001309#line 198 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001310{ return EXTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001311 YY_BREAK
1312case 18:
1313YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001314#line 199 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001315{ return IMPLEMENTATION; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001316 YY_BREAK
1317case 19:
1318YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001319#line 200 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001320{ return ZEROINITIALIZER; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001321 YY_BREAK
1322case 20:
1323YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001324#line 201 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001325{ return DOTDOTDOT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001326 YY_BREAK
1327case 21:
1328YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001329#line 202 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001330{ return UNDEF; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001331 YY_BREAK
1332case 22:
1333YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001334#line 203 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001335{ return NULL_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001336 YY_BREAK
1337case 23:
1338YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001339#line 204 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001340{ return TO; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001341 YY_BREAK
1342case 24:
1343YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001344#line 205 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001345{ RET_TOK(TermOpVal, Unwind, UNWIND); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001346 YY_BREAK
1347case 25:
1348YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001349#line 206 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001350{ return NOT; } /* Deprecated, turned into XOR */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001351 YY_BREAK
1352case 26:
1353YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001354#line 207 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001355{ return TAIL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001356 YY_BREAK
1357case 27:
1358YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001359#line 208 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001360{ return TARGET; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001361 YY_BREAK
1362case 28:
1363YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001364#line 209 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001365{ return TRIPLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001366 YY_BREAK
1367case 29:
1368YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001369#line 210 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001370{ return DEPLIBS; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001371 YY_BREAK
1372case 30:
1373YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001374#line 211 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001375{ return ENDIAN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001376 YY_BREAK
1377case 31:
1378YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001379#line 212 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001380{ return POINTERSIZE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001381 YY_BREAK
1382case 32:
1383YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001384#line 213 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001385{ return DATA; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001386 YY_BREAK
1387case 33:
1388YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001389#line 214 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001390{ return LITTLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001391 YY_BREAK
1392case 34:
1393YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001394#line 215 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001395{ return BIG; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001396 YY_BREAK
1397case 35:
1398YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001399#line 216 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001400{ return VOLATILE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001401 YY_BREAK
1402case 36:
1403YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001404#line 217 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001405{ return ALIGN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001406 YY_BREAK
1407case 37:
1408YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001409#line 218 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001410{ return SECTION; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001411 YY_BREAK
1412case 38:
1413YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001414#line 219 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001415{ return MODULE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001416 YY_BREAK
1417case 39:
1418YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001419#line 220 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001420{ return ASM_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001421 YY_BREAK
1422case 40:
1423YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001424#line 221 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001425{ return SIDEEFFECT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001426 YY_BREAK
1427case 41:
1428YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001429#line 223 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001430{ return CC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001431 YY_BREAK
1432case 42:
1433YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001434#line 224 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001435{ return CCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001436 YY_BREAK
1437case 43:
1438YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001439#line 225 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001440{ return CSRETCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001441 YY_BREAK
1442case 44:
1443YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001444#line 226 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001445{ return FASTCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001446 YY_BREAK
1447case 45:
1448YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001449#line 227 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001450{ return COLDCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001451 YY_BREAK
1452case 46:
1453YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001454#line 228 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001455{ return X86_STDCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001456 YY_BREAK
1457case 47:
1458YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001459#line 229 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001460{ return X86_FASTCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001461 YY_BREAK
1462case 48:
1463YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001464#line 231 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001465{ llvmAsmlval.PrimType = Type::VoidTy ; return VOID; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001466 YY_BREAK
1467case 49:
1468YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001469#line 232 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001470{ llvmAsmlval.PrimType = Type::BoolTy ; return BOOL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001471 YY_BREAK
1472case 50:
1473YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001474#line 233 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001475{ llvmAsmlval.PrimType = Type::SByteTy ; return SBYTE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001476 YY_BREAK
1477case 51:
1478YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001479#line 234 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001480{ llvmAsmlval.PrimType = Type::UByteTy ; return UBYTE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001481 YY_BREAK
1482case 52:
1483YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001484#line 235 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001485{ llvmAsmlval.PrimType = Type::ShortTy ; return SHORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001486 YY_BREAK
1487case 53:
1488YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001489#line 236 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001490{ llvmAsmlval.PrimType = Type::UShortTy; return USHORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001491 YY_BREAK
1492case 54:
1493YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001494#line 237 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001495{ llvmAsmlval.PrimType = Type::IntTy ; return INT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001496 YY_BREAK
1497case 55:
1498YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001499#line 238 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001500{ llvmAsmlval.PrimType = Type::UIntTy ; return UINT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001501 YY_BREAK
1502case 56:
1503YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001504#line 239 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001505{ llvmAsmlval.PrimType = Type::LongTy ; return LONG; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001506 YY_BREAK
1507case 57:
1508YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001509#line 240 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001510{ llvmAsmlval.PrimType = Type::ULongTy ; return ULONG; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001511 YY_BREAK
1512case 58:
1513YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001514#line 241 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001515{ llvmAsmlval.PrimType = Type::FloatTy ; return FLOAT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001516 YY_BREAK
1517case 59:
1518YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001519#line 242 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001520{ llvmAsmlval.PrimType = Type::DoubleTy; return DOUBLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001521 YY_BREAK
1522case 60:
1523YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001524#line 243 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001525{ llvmAsmlval.PrimType = Type::LabelTy ; return LABEL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001526 YY_BREAK
1527case 61:
1528YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001529#line 244 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001530{ return TYPE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001531 YY_BREAK
1532case 62:
1533YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001534#line 245 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001535{ return OPAQUE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001536 YY_BREAK
1537case 63:
1538YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001539#line 247 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001540{ RET_TOK(BinaryOpVal, Add, ADD); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001541 YY_BREAK
1542case 64:
1543YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001544#line 248 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001545{ RET_TOK(BinaryOpVal, Sub, SUB); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001546 YY_BREAK
1547case 65:
1548YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001549#line 249 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001550{ RET_TOK(BinaryOpVal, Mul, MUL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001551 YY_BREAK
1552case 66:
1553YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001554#line 250 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001555{ RET_TOK(BinaryOpVal, Div, DIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001556 YY_BREAK
1557case 67:
1558YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001559#line 251 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001560{ RET_TOK(BinaryOpVal, Rem, REM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001561 YY_BREAK
1562case 68:
1563YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001564#line 252 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001565{ RET_TOK(BinaryOpVal, And, AND); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001566 YY_BREAK
1567case 69:
1568YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001569#line 253 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001570{ RET_TOK(BinaryOpVal, Or , OR ); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001571 YY_BREAK
1572case 70:
1573YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001574#line 254 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001575{ RET_TOK(BinaryOpVal, Xor, XOR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001576 YY_BREAK
1577case 71:
1578YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001579#line 255 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001580{ RET_TOK(BinaryOpVal, SetNE, SETNE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001581 YY_BREAK
1582case 72:
1583YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001584#line 256 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001585{ RET_TOK(BinaryOpVal, SetEQ, SETEQ); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001586 YY_BREAK
1587case 73:
1588YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001589#line 257 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001590{ RET_TOK(BinaryOpVal, SetLT, SETLT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001591 YY_BREAK
1592case 74:
1593YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001594#line 258 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001595{ RET_TOK(BinaryOpVal, SetGT, SETGT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001596 YY_BREAK
1597case 75:
1598YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001599#line 259 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001600{ RET_TOK(BinaryOpVal, SetLE, SETLE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001601 YY_BREAK
1602case 76:
1603YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001604#line 260 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001605{ RET_TOK(BinaryOpVal, SetGE, SETGE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001606 YY_BREAK
1607case 77:
1608YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001609#line 262 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001610{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001611 YY_BREAK
1612case 78:
1613YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001614#line 263 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001615{ RET_TOK(OtherOpVal, Call, CALL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001616 YY_BREAK
1617case 79:
1618YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001619#line 264 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001620{ RET_TOK(OtherOpVal, Cast, CAST); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001621 YY_BREAK
1622case 80:
1623YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001624#line 265 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001625{ RET_TOK(OtherOpVal, Select, SELECT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001626 YY_BREAK
1627case 81:
1628YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001629#line 266 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001630{ RET_TOK(OtherOpVal, Shl, SHL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001631 YY_BREAK
1632case 82:
1633YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001634#line 267 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001635{ RET_TOK(OtherOpVal, Shr, SHR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001636 YY_BREAK
1637case 83:
1638YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001639#line 268 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001640{ return VANEXT_old; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001641 YY_BREAK
1642case 84:
1643YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001644#line 269 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001645{ return VAARG_old; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001646 YY_BREAK
1647case 85:
1648YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001649#line 270 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001650{ RET_TOK(OtherOpVal, VAArg , VAARG); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001651 YY_BREAK
1652case 86:
1653YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001654#line 271 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001655{ RET_TOK(TermOpVal, Ret, RET); }
Nate Begeman14b05292005-11-05 09:21:28 +00001656 YY_BREAK
1657case 87:
1658YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001659#line 272 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001660{ RET_TOK(TermOpVal, Br, BR); }
Chris Lattnere869eef2005-11-12 00:11:49 +00001661 YY_BREAK
1662case 88:
1663YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001664#line 273 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001665{ RET_TOK(TermOpVal, Switch, SWITCH); }
Robert Bocchino9c62b562006-01-10 19:04:32 +00001666 YY_BREAK
1667case 89:
1668YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001669#line 274 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001670{ RET_TOK(TermOpVal, Invoke, INVOKE); }
Robert Bocchino2def1b32006-01-17 20:06:25 +00001671 YY_BREAK
1672case 90:
1673YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001674#line 275 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001675{ RET_TOK(TermOpVal, Unwind, UNWIND); }
Chris Lattner8335e842006-01-23 23:05:42 +00001676 YY_BREAK
1677case 91:
1678YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001679#line 276 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001680{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
Chris Lattner66316012006-01-24 04:14:29 +00001681 YY_BREAK
1682case 92:
1683YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001684#line 278 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001685{ RET_TOK(MemOpVal, Malloc, MALLOC); }
Chris Lattner0e9c3762006-01-25 22:27:16 +00001686 YY_BREAK
1687case 93:
1688YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001689#line 279 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001690{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
Chris Lattnerd5efe842006-04-08 01:18:56 +00001691 YY_BREAK
1692case 94:
1693YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001694#line 280 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001695{ RET_TOK(MemOpVal, Free, FREE); }
Chris Lattner75466192006-05-19 21:28:53 +00001696 YY_BREAK
1697case 95:
1698YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001699#line 281 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001700{ RET_TOK(MemOpVal, Load, LOAD); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001701 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001702case 96:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001703YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001704#line 282 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001705{ RET_TOK(MemOpVal, Store, STORE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001706 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001707case 97:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001708YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001709#line 283 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001710{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001711 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001712case 98:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001713YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001714#line 285 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001715{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001716 YY_BREAK
1717case 99:
1718YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001719#line 286 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001720{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001721 YY_BREAK
1722case 100:
1723YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001724#line 287 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001725{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001726 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001727case 101:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001728YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001729#line 290 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001730{
Owen Anderson1dc69692006-10-18 02:21:48 +00001731 UnEscapeLexed(yytext+1);
1732 llvmAsmlval.StrVal = strdup(yytext+1); // Skip %
1733 return VAR_ID;
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001734 }
1735 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001736case 102:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001737YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001738#line 295 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001739{
Owen Anderson1dc69692006-10-18 02:21:48 +00001740 yytext[strlen(yytext)-1] = 0; // nuke colon
1741 UnEscapeLexed(yytext);
1742 llvmAsmlval.StrVal = strdup(yytext);
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001743 return LABELSTR;
1744 }
1745 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001746case 103:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001747YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001748#line 301 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001749{
1750 yytext[strlen(yytext)-2] = 0; // nuke colon, end quote
1751 UnEscapeLexed(yytext+1);
1752 llvmAsmlval.StrVal = strdup(yytext+1);
1753 return LABELSTR;
1754 }
1755 YY_BREAK
1756case 104:
1757YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001758#line 308 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001759{ // Note that we cannot unescape a string constant here! The
1760 // string constant might contain a \00 which would not be
1761 // understood by the string stuff. It is valid to make a
1762 // [sbyte] c"Hello World\00" constant, for example.
1763 //
Owen Anderson1dc69692006-10-18 02:21:48 +00001764 yytext[strlen(yytext)-1] = 0; // nuke end quote
1765 llvmAsmlval.StrVal = strdup(yytext+1); // Nuke start quote
Reid Spencer68a24bd2005-08-27 18:50:39 +00001766 return STRINGCONSTANT;
1767 }
1768 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001769case 105:
Chris Lattner75466192006-05-19 21:28:53 +00001770YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001771#line 319 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001772{ llvmAsmlval.UInt64Val = atoull(yytext); return EUINT64VAL; }
1773 YY_BREAK
1774case 106:
1775YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001776#line 320 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001777{
Owen Anderson1dc69692006-10-18 02:21:48 +00001778 uint64_t Val = atoull(yytext+1);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001779 // +1: we have bigger negative range
1780 if (Val > (uint64_t)INT64_MAX+1)
Reid Spencer61c83e02006-08-18 08:43:06 +00001781 GenerateError("Constant too large for signed 64 bits!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001782 llvmAsmlval.SInt64Val = -Val;
1783 return ESINT64VAL;
1784 }
1785 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001786case 107:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001787YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001788#line 328 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001789{
Owen Anderson1dc69692006-10-18 02:21:48 +00001790 llvmAsmlval.UInt64Val = HexIntToVal(yytext+3);
1791 return yytext[0] == 's' ? ESINT64VAL : EUINT64VAL;
1792 }
1793 YY_BREAK
1794case 108:
1795YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001796#line 333 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001797{
1798 uint64_t Val = atoull(yytext+1);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001799 if ((unsigned)Val != Val)
Reid Spencer61c83e02006-08-18 08:43:06 +00001800 GenerateError("Invalid value number (too large)!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001801 llvmAsmlval.UIntVal = unsigned(Val);
1802 return UINTVAL;
1803 }
1804 YY_BREAK
Owen Anderson1dc69692006-10-18 02:21:48 +00001805case 109:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001806YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001807#line 340 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001808{
Owen Anderson1dc69692006-10-18 02:21:48 +00001809 uint64_t Val = atoull(yytext+2);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001810 // +1: we have bigger negative range
1811 if (Val > (uint64_t)INT32_MAX+1)
Reid Spencer61c83e02006-08-18 08:43:06 +00001812 GenerateError("Constant too large for signed 32 bits!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001813 llvmAsmlval.SIntVal = (int)-Val;
1814 return SINTVAL;
1815 }
1816 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001817case 110:
Chris Lattner75466192006-05-19 21:28:53 +00001818YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001819#line 349 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001820{ llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
1821 YY_BREAK
1822case 111:
1823YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001824#line 350 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001825{ llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001826 YY_BREAK
1827case YY_STATE_EOF(INITIAL):
Reid Spencerb83eb642006-10-20 07:07:24 +00001828#line 352 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001829{
1830 /* Make sure to free the internal buffers for flex when we are
1831 * done reading our input!
1832 */
Owen Anderson1dc69692006-10-18 02:21:48 +00001833 yy_delete_buffer(YY_CURRENT_BUFFER);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001834 return EOF;
1835 }
1836 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001837case 112:
Chris Lattner75466192006-05-19 21:28:53 +00001838YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001839#line 360 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001840{ /* Ignore whitespace */ }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001841 YY_BREAK
1842case 113:
1843YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001844#line 361 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001845{ return yytext[0]; }
1846 YY_BREAK
1847case 114:
1848YY_RULE_SETUP
Reid Spencerb83eb642006-10-20 07:07:24 +00001849#line 363 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001850YY_FATAL_ERROR( "flex scanner jammed" );
1851 YY_BREAK
Reid Spencerb83eb642006-10-20 07:07:24 +00001852#line 1853 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001853
1854 case YY_END_OF_BUFFER:
1855 {
1856 /* Amount of text matched not including the EOB char. */
Owen Anderson1dc69692006-10-18 02:21:48 +00001857 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001858
1859 /* Undo the effects of YY_DO_BEFORE_ACTION. */
Owen Anderson1dc69692006-10-18 02:21:48 +00001860 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001861 YY_RESTORE_YY_MORE_OFFSET
1862
Owen Anderson1dc69692006-10-18 02:21:48 +00001863 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001864 {
1865 /* We're scanning a new file or input source. It's
1866 * possible that this happened because the user
Owen Anderson1dc69692006-10-18 02:21:48 +00001867 * just pointed yyin at a new source and called
1868 * yylex(). If so, then we have to assure
1869 * consistency between yy_current_buffer and our
Reid Spencer68a24bd2005-08-27 18:50:39 +00001870 * globals. Here is the right place to do so, because
1871 * this is the first action (other than possibly a
1872 * back-up) that will match for the new input source.
1873 */
Owen Anderson1dc69692006-10-18 02:21:48 +00001874 yy_n_chars = yy_current_buffer->yy_n_chars;
1875 yy_current_buffer->yy_input_file = yyin;
1876 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001877 }
1878
1879 /* Note that here we test for yy_c_buf_p "<=" to the position
1880 * of the first EOB in the buffer, since yy_c_buf_p will
1881 * already have been incremented past the NUL character
1882 * (since all states make transitions on EOB to the
1883 * end-of-buffer state). Contrast this with the test
1884 * in input().
1885 */
Owen Anderson1dc69692006-10-18 02:21:48 +00001886 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001887 { /* This was really a NUL. */
1888 yy_state_type yy_next_state;
1889
Owen Anderson1dc69692006-10-18 02:21:48 +00001890 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001891
Owen Anderson1dc69692006-10-18 02:21:48 +00001892 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00001893
1894 /* Okay, we're now positioned to make the NUL
1895 * transition. We couldn't have
1896 * yy_get_previous_state() go ahead and do it
1897 * for us because it doesn't know how to deal
1898 * with the possibility of jamming (and we don't
1899 * want to build jamming into it because then it
1900 * will run more slowly).
1901 */
1902
1903 yy_next_state = yy_try_NUL_trans( yy_current_state );
1904
Owen Anderson1dc69692006-10-18 02:21:48 +00001905 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001906
1907 if ( yy_next_state )
1908 {
1909 /* Consume the NUL. */
Owen Anderson1dc69692006-10-18 02:21:48 +00001910 yy_cp = ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001911 yy_current_state = yy_next_state;
1912 goto yy_match;
1913 }
1914
1915 else
1916 {
Owen Anderson1dc69692006-10-18 02:21:48 +00001917 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001918 goto yy_find_action;
1919 }
1920 }
1921
Owen Anderson1dc69692006-10-18 02:21:48 +00001922 else switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001923 {
1924 case EOB_ACT_END_OF_FILE:
1925 {
Owen Anderson1dc69692006-10-18 02:21:48 +00001926 yy_did_buffer_switch_on_eof = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001927
Owen Anderson1dc69692006-10-18 02:21:48 +00001928 if ( yywrap() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001929 {
1930 /* Note: because we've taken care in
1931 * yy_get_next_buffer() to have set up
Owen Anderson1dc69692006-10-18 02:21:48 +00001932 * yytext, we can now set up
Reid Spencer68a24bd2005-08-27 18:50:39 +00001933 * yy_c_buf_p so that if some total
1934 * hoser (like flex itself) wants to
1935 * call the scanner after we return the
1936 * YY_NULL, it'll still work - another
1937 * YY_NULL will get returned.
1938 */
Owen Anderson1dc69692006-10-18 02:21:48 +00001939 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001940
1941 yy_act = YY_STATE_EOF(YY_START);
1942 goto do_action;
1943 }
1944
1945 else
1946 {
Owen Anderson1dc69692006-10-18 02:21:48 +00001947 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001948 YY_NEW_FILE;
1949 }
1950 break;
1951 }
1952
1953 case EOB_ACT_CONTINUE_SCAN:
Owen Anderson1dc69692006-10-18 02:21:48 +00001954 yy_c_buf_p =
1955 yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001956
Owen Anderson1dc69692006-10-18 02:21:48 +00001957 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00001958
Owen Anderson1dc69692006-10-18 02:21:48 +00001959 yy_cp = yy_c_buf_p;
1960 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001961 goto yy_match;
1962
1963 case EOB_ACT_LAST_MATCH:
Owen Anderson1dc69692006-10-18 02:21:48 +00001964 yy_c_buf_p =
1965 &yy_current_buffer->yy_ch_buf[yy_n_chars];
Reid Spencer68a24bd2005-08-27 18:50:39 +00001966
Owen Anderson1dc69692006-10-18 02:21:48 +00001967 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00001968
Owen Anderson1dc69692006-10-18 02:21:48 +00001969 yy_cp = yy_c_buf_p;
1970 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001971 goto yy_find_action;
1972 }
1973 break;
1974 }
1975
1976 default:
1977 YY_FATAL_ERROR(
1978 "fatal flex scanner internal error--no action found" );
1979 } /* end of action switch */
1980 } /* end of scanning one token */
Owen Anderson1dc69692006-10-18 02:21:48 +00001981 } /* end of yylex */
1982
Reid Spencer68a24bd2005-08-27 18:50:39 +00001983
1984/* yy_get_next_buffer - try to read in a new buffer
1985 *
1986 * Returns a code representing an action:
1987 * EOB_ACT_LAST_MATCH -
1988 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
1989 * EOB_ACT_END_OF_FILE - end of file
1990 */
Owen Anderson1dc69692006-10-18 02:21:48 +00001991
1992static int yy_get_next_buffer()
1993 {
1994 register char *dest = yy_current_buffer->yy_ch_buf;
1995 register char *source = yytext_ptr;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001996 register int number_to_move, i;
1997 int ret_val;
1998
Owen Anderson1dc69692006-10-18 02:21:48 +00001999 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002000 YY_FATAL_ERROR(
2001 "fatal flex scanner internal error--end of buffer missed" );
2002
Owen Anderson1dc69692006-10-18 02:21:48 +00002003 if ( yy_current_buffer->yy_fill_buffer == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002004 { /* Don't try to fill the buffer, so this is an EOF. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002005 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002006 {
2007 /* We matched a single character, the EOB, so
2008 * treat this as a final EOF.
2009 */
2010 return EOB_ACT_END_OF_FILE;
2011 }
2012
2013 else
2014 {
2015 /* We matched some text prior to the EOB, first
2016 * process it.
2017 */
2018 return EOB_ACT_LAST_MATCH;
2019 }
2020 }
2021
2022 /* Try to read more data. */
2023
2024 /* First move last chars to start of buffer. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002025 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002026
2027 for ( i = 0; i < number_to_move; ++i )
2028 *(dest++) = *(source++);
2029
Owen Anderson1dc69692006-10-18 02:21:48 +00002030 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002031 /* don't do the read, it's not guaranteed to return an EOF,
2032 * just force an EOF
2033 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002034 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002035
2036 else
2037 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002038 int num_to_read =
2039 yy_current_buffer->yy_buf_size - number_to_move - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002040
2041 while ( num_to_read <= 0 )
2042 { /* Not enough room in the buffer - grow it. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002043#ifdef YY_USES_REJECT
2044 YY_FATAL_ERROR(
2045"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
2046#else
Reid Spencer68a24bd2005-08-27 18:50:39 +00002047
2048 /* just a shorter name for the current buffer */
Owen Anderson1dc69692006-10-18 02:21:48 +00002049 YY_BUFFER_STATE b = yy_current_buffer;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002050
2051 int yy_c_buf_p_offset =
Owen Anderson1dc69692006-10-18 02:21:48 +00002052 (int) (yy_c_buf_p - b->yy_ch_buf);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002053
2054 if ( b->yy_is_our_buffer )
2055 {
2056 int new_size = b->yy_buf_size * 2;
2057
2058 if ( new_size <= 0 )
2059 b->yy_buf_size += b->yy_buf_size / 8;
2060 else
2061 b->yy_buf_size *= 2;
2062
2063 b->yy_ch_buf = (char *)
2064 /* Include room in for 2 EOB chars. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002065 yy_flex_realloc( (void *) b->yy_ch_buf,
2066 b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002067 }
2068 else
2069 /* Can't grow it, we don't own it. */
2070 b->yy_ch_buf = 0;
2071
2072 if ( ! b->yy_ch_buf )
2073 YY_FATAL_ERROR(
2074 "fatal error - scanner input buffer overflow" );
2075
Owen Anderson1dc69692006-10-18 02:21:48 +00002076 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002077
Owen Anderson1dc69692006-10-18 02:21:48 +00002078 num_to_read = yy_current_buffer->yy_buf_size -
Reid Spencer68a24bd2005-08-27 18:50:39 +00002079 number_to_move - 1;
Owen Anderson1dc69692006-10-18 02:21:48 +00002080#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002081 }
2082
2083 if ( num_to_read > YY_READ_BUF_SIZE )
2084 num_to_read = YY_READ_BUF_SIZE;
2085
2086 /* Read in more data. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002087 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
2088 yy_n_chars, num_to_read );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002089
Owen Anderson1dc69692006-10-18 02:21:48 +00002090 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002091 }
2092
Owen Anderson1dc69692006-10-18 02:21:48 +00002093 if ( yy_n_chars == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002094 {
2095 if ( number_to_move == YY_MORE_ADJ )
2096 {
2097 ret_val = EOB_ACT_END_OF_FILE;
Owen Anderson1dc69692006-10-18 02:21:48 +00002098 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002099 }
2100
2101 else
2102 {
2103 ret_val = EOB_ACT_LAST_MATCH;
Owen Anderson1dc69692006-10-18 02:21:48 +00002104 yy_current_buffer->yy_buffer_status =
Reid Spencer68a24bd2005-08-27 18:50:39 +00002105 YY_BUFFER_EOF_PENDING;
2106 }
2107 }
2108
2109 else
2110 ret_val = EOB_ACT_CONTINUE_SCAN;
2111
Owen Anderson1dc69692006-10-18 02:21:48 +00002112 yy_n_chars += number_to_move;
2113 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2114 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002115
Owen Anderson1dc69692006-10-18 02:21:48 +00002116 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002117
2118 return ret_val;
Owen Anderson1dc69692006-10-18 02:21:48 +00002119 }
2120
Reid Spencer68a24bd2005-08-27 18:50:39 +00002121
2122/* yy_get_previous_state - get the state just before the EOB char was reached */
2123
Owen Anderson1dc69692006-10-18 02:21:48 +00002124static yy_state_type yy_get_previous_state()
2125 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002126 register yy_state_type yy_current_state;
2127 register char *yy_cp;
2128
Owen Anderson1dc69692006-10-18 02:21:48 +00002129 yy_current_state = yy_start;
2130 yy_state_ptr = yy_state_buf;
2131 *yy_state_ptr++ = yy_current_state;
2132
2133 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002134 {
2135 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2136 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2137 {
2138 yy_current_state = (int) yy_def[yy_current_state];
Owen Anderson1dc69692006-10-18 02:21:48 +00002139 if ( yy_current_state >= 504 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002140 yy_c = yy_meta[(unsigned int) yy_c];
2141 }
2142 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Owen Anderson1dc69692006-10-18 02:21:48 +00002143 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002144 }
2145
2146 return yy_current_state;
Owen Anderson1dc69692006-10-18 02:21:48 +00002147 }
2148
Reid Spencer68a24bd2005-08-27 18:50:39 +00002149
2150/* yy_try_NUL_trans - try to make a transition on the NUL character
2151 *
2152 * synopsis
2153 * next_state = yy_try_NUL_trans( current_state );
2154 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002155
2156#ifdef YY_USE_PROTOS
2157static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
2158#else
2159static yy_state_type yy_try_NUL_trans( yy_current_state )
2160yy_state_type yy_current_state;
2161#endif
2162 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002163 register int yy_is_jam;
2164
2165 register YY_CHAR yy_c = 1;
2166 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2167 {
2168 yy_current_state = (int) yy_def[yy_current_state];
Owen Anderson1dc69692006-10-18 02:21:48 +00002169 if ( yy_current_state >= 504 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002170 yy_c = yy_meta[(unsigned int) yy_c];
2171 }
2172 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Owen Anderson1dc69692006-10-18 02:21:48 +00002173 yy_is_jam = (yy_current_state == 503);
2174 if ( ! yy_is_jam )
2175 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002176
2177 return yy_is_jam ? 0 : yy_current_state;
Owen Anderson1dc69692006-10-18 02:21:48 +00002178 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002179
2180
Owen Anderson1dc69692006-10-18 02:21:48 +00002181#ifndef YY_NO_UNPUT
2182#ifdef YY_USE_PROTOS
2183static inline void yyunput( int c, register char *yy_bp )
2184#else
2185static inline void yyunput( c, yy_bp )
2186int c;
2187register char *yy_bp;
2188#endif
2189 {
2190 register char *yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002191
Owen Anderson1dc69692006-10-18 02:21:48 +00002192 /* undo effects of setting up yytext */
2193 *yy_cp = yy_hold_char;
2194
2195 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002196 { /* need to shift things up to make room */
2197 /* +2 for EOB chars. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002198 register int number_to_move = yy_n_chars + 2;
2199 register char *dest = &yy_current_buffer->yy_ch_buf[
2200 yy_current_buffer->yy_buf_size + 2];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002201 register char *source =
Owen Anderson1dc69692006-10-18 02:21:48 +00002202 &yy_current_buffer->yy_ch_buf[number_to_move];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002203
Owen Anderson1dc69692006-10-18 02:21:48 +00002204 while ( source > yy_current_buffer->yy_ch_buf )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002205 *--dest = *--source;
2206
2207 yy_cp += (int) (dest - source);
2208 yy_bp += (int) (dest - source);
Owen Anderson1dc69692006-10-18 02:21:48 +00002209 yy_current_buffer->yy_n_chars =
2210 yy_n_chars = yy_current_buffer->yy_buf_size;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002211
Owen Anderson1dc69692006-10-18 02:21:48 +00002212 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002213 YY_FATAL_ERROR( "flex scanner push-back overflow" );
2214 }
2215
2216 *--yy_cp = (char) c;
2217
Owen Anderson1dc69692006-10-18 02:21:48 +00002218 if ( c == '\n' )
2219 --yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002220
Owen Anderson1dc69692006-10-18 02:21:48 +00002221 yytext_ptr = yy_bp;
2222 yy_hold_char = *yy_cp;
2223 yy_c_buf_p = yy_cp;
2224 }
2225#endif /* ifndef YY_NO_UNPUT */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002226
Owen Anderson1dc69692006-10-18 02:21:48 +00002227
Reid Spencerb83eb642006-10-20 07:07:24 +00002228#ifndef YY_NO_INPUT
Reid Spencer68a24bd2005-08-27 18:50:39 +00002229#ifdef __cplusplus
Owen Anderson1dc69692006-10-18 02:21:48 +00002230static int yyinput()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002231#else
Owen Anderson1dc69692006-10-18 02:21:48 +00002232static int input()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002233#endif
Owen Anderson1dc69692006-10-18 02:21:48 +00002234 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002235 int c;
2236
Owen Anderson1dc69692006-10-18 02:21:48 +00002237 *yy_c_buf_p = yy_hold_char;
2238
2239 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002240 {
2241 /* yy_c_buf_p now points to the character we want to return.
2242 * If this occurs *before* the EOB characters, then it's a
2243 * valid NUL; if not, then we've hit the end of the buffer.
2244 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002245 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002246 /* This was really a NUL. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002247 *yy_c_buf_p = '\0';
Reid Spencer68a24bd2005-08-27 18:50:39 +00002248
2249 else
2250 { /* need more input */
Owen Anderson1dc69692006-10-18 02:21:48 +00002251 int offset = yy_c_buf_p - yytext_ptr;
2252 ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002253
Owen Anderson1dc69692006-10-18 02:21:48 +00002254 switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002255 {
2256 case EOB_ACT_LAST_MATCH:
2257 /* This happens because yy_g_n_b()
2258 * sees that we've accumulated a
2259 * token and flags that we need to
2260 * try matching the token before
2261 * proceeding. But for input(),
2262 * there's no matching to consider.
2263 * So convert the EOB_ACT_LAST_MATCH
2264 * to EOB_ACT_END_OF_FILE.
2265 */
2266
2267 /* Reset buffer status. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002268 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002269
Owen Anderson1dc69692006-10-18 02:21:48 +00002270 /* fall through */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002271
2272 case EOB_ACT_END_OF_FILE:
2273 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002274 if ( yywrap() )
Reid Spencer61c83e02006-08-18 08:43:06 +00002275 return EOF;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002276
Owen Anderson1dc69692006-10-18 02:21:48 +00002277 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002278 YY_NEW_FILE;
2279#ifdef __cplusplus
2280 return yyinput();
2281#else
2282 return input();
2283#endif
2284 }
2285
2286 case EOB_ACT_CONTINUE_SCAN:
Owen Anderson1dc69692006-10-18 02:21:48 +00002287 yy_c_buf_p = yytext_ptr + offset;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002288 break;
2289 }
2290 }
2291 }
2292
Owen Anderson1dc69692006-10-18 02:21:48 +00002293 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
2294 *yy_c_buf_p = '\0'; /* preserve yytext */
2295 yy_hold_char = *++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002296
2297 if ( c == '\n' )
Owen Anderson1dc69692006-10-18 02:21:48 +00002298 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002299
2300 return c;
2301 }
Reid Spencerb83eb642006-10-20 07:07:24 +00002302#endif /* YY_NO_INPUT */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002303
Owen Anderson1dc69692006-10-18 02:21:48 +00002304#ifdef YY_USE_PROTOS
2305void yyrestart( FILE *input_file )
2306#else
2307void yyrestart( input_file )
2308FILE *input_file;
2309#endif
2310 {
2311 if ( ! yy_current_buffer )
2312 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
2313
2314 yy_init_buffer( yy_current_buffer, input_file );
2315 yy_load_buffer_state();
2316 }
2317
2318
2319#ifdef YY_USE_PROTOS
2320void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
2321#else
2322void yy_switch_to_buffer( new_buffer )
2323YY_BUFFER_STATE new_buffer;
2324#endif
2325 {
2326 if ( yy_current_buffer == new_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002327 return;
2328
Owen Anderson1dc69692006-10-18 02:21:48 +00002329 if ( yy_current_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002330 {
2331 /* Flush out information for old buffer. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002332 *yy_c_buf_p = yy_hold_char;
2333 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
2334 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002335 }
2336
Owen Anderson1dc69692006-10-18 02:21:48 +00002337 yy_current_buffer = new_buffer;
2338 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002339
2340 /* We don't actually know whether we did this switch during
Owen Anderson1dc69692006-10-18 02:21:48 +00002341 * EOF (yywrap()) processing, but the only time this flag
2342 * is looked at is after yywrap() is called, so it's safe
Reid Spencer68a24bd2005-08-27 18:50:39 +00002343 * to go ahead and always set it.
2344 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002345 yy_did_buffer_switch_on_eof = 1;
2346 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002347
2348
Owen Anderson1dc69692006-10-18 02:21:48 +00002349#ifdef YY_USE_PROTOS
2350void yy_load_buffer_state( void )
2351#else
2352void yy_load_buffer_state()
2353#endif
2354 {
2355 yy_n_chars = yy_current_buffer->yy_n_chars;
2356 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
2357 yyin = yy_current_buffer->yy_input_file;
2358 yy_hold_char = *yy_c_buf_p;
2359 }
2360
2361
2362#ifdef YY_USE_PROTOS
2363YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
2364#else
2365YY_BUFFER_STATE yy_create_buffer( file, size )
2366FILE *file;
2367int size;
2368#endif
2369 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002370 YY_BUFFER_STATE b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002371
2372 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002373 if ( ! b )
Owen Anderson1dc69692006-10-18 02:21:48 +00002374 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002375
2376 b->yy_buf_size = size;
2377
2378 /* yy_ch_buf has to be 2 characters longer than the size given because
2379 * we need to put in 2 end-of-buffer characters.
2380 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002381 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002382 if ( ! b->yy_ch_buf )
Owen Anderson1dc69692006-10-18 02:21:48 +00002383 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002384
2385 b->yy_is_our_buffer = 1;
2386
Owen Anderson1dc69692006-10-18 02:21:48 +00002387 yy_init_buffer( b, file );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002388
2389 return b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002390 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002391
Owen Anderson1dc69692006-10-18 02:21:48 +00002392
2393#ifdef YY_USE_PROTOS
2394void yy_delete_buffer( YY_BUFFER_STATE b )
2395#else
2396void yy_delete_buffer( b )
2397YY_BUFFER_STATE b;
2398#endif
2399 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002400 if ( ! b )
2401 return;
2402
Owen Anderson1dc69692006-10-18 02:21:48 +00002403 if ( b == yy_current_buffer )
2404 yy_current_buffer = (YY_BUFFER_STATE) 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002405
2406 if ( b->yy_is_our_buffer )
Owen Anderson1dc69692006-10-18 02:21:48 +00002407 yy_flex_free( (void *) b->yy_ch_buf );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002408
Owen Anderson1dc69692006-10-18 02:21:48 +00002409 yy_flex_free( (void *) b );
2410 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002411
2412
Owen Anderson1dc69692006-10-18 02:21:48 +00002413
2414#ifdef YY_USE_PROTOS
2415void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
2416#else
2417void yy_init_buffer( b, file )
2418YY_BUFFER_STATE b;
2419FILE *file;
2420#endif
2421
2422
2423 {
2424 yy_flush_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002425
2426 b->yy_input_file = file;
2427 b->yy_fill_buffer = 1;
2428
Owen Anderson1dc69692006-10-18 02:21:48 +00002429#if YY_ALWAYS_INTERACTIVE
2430 b->yy_is_interactive = 1;
2431#else
2432#if YY_NEVER_INTERACTIVE
2433 b->yy_is_interactive = 0;
2434#else
2435 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
2436#endif
2437#endif
2438 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002439
2440
Owen Anderson1dc69692006-10-18 02:21:48 +00002441#ifdef YY_USE_PROTOS
2442void yy_flush_buffer( YY_BUFFER_STATE b )
2443#else
2444void yy_flush_buffer( b )
2445YY_BUFFER_STATE b;
2446#endif
2447
2448 {
2449 if ( ! b )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002450 return;
2451
2452 b->yy_n_chars = 0;
2453
2454 /* We always need two end-of-buffer characters. The first causes
2455 * a transition to the end-of-buffer state. The second causes
2456 * a jam in that state.
2457 */
2458 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2459 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2460
2461 b->yy_buf_pos = &b->yy_ch_buf[0];
2462
2463 b->yy_at_bol = 1;
2464 b->yy_buffer_status = YY_BUFFER_NEW;
2465
Owen Anderson1dc69692006-10-18 02:21:48 +00002466 if ( b == yy_current_buffer )
2467 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002468 }
2469
2470
Owen Anderson1dc69692006-10-18 02:21:48 +00002471#ifndef YY_NO_SCAN_BUFFER
2472#ifdef YY_USE_PROTOS
2473YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
2474#else
2475YY_BUFFER_STATE yy_scan_buffer( base, size )
2476char *base;
2477yy_size_t size;
2478#endif
2479 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002480 YY_BUFFER_STATE b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002481
Reid Spencer68a24bd2005-08-27 18:50:39 +00002482 if ( size < 2 ||
2483 base[size-2] != YY_END_OF_BUFFER_CHAR ||
2484 base[size-1] != YY_END_OF_BUFFER_CHAR )
2485 /* They forgot to leave room for the EOB's. */
2486 return 0;
2487
Owen Anderson1dc69692006-10-18 02:21:48 +00002488 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002489 if ( ! b )
Owen Anderson1dc69692006-10-18 02:21:48 +00002490 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002491
2492 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2493 b->yy_buf_pos = b->yy_ch_buf = base;
2494 b->yy_is_our_buffer = 0;
2495 b->yy_input_file = 0;
2496 b->yy_n_chars = b->yy_buf_size;
2497 b->yy_is_interactive = 0;
2498 b->yy_at_bol = 1;
2499 b->yy_fill_buffer = 0;
2500 b->yy_buffer_status = YY_BUFFER_NEW;
2501
Owen Anderson1dc69692006-10-18 02:21:48 +00002502 yy_switch_to_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002503
2504 return b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002505 }
2506#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002507
2508
Owen Anderson1dc69692006-10-18 02:21:48 +00002509#ifndef YY_NO_SCAN_STRING
2510#ifdef YY_USE_PROTOS
2511YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
2512#else
2513YY_BUFFER_STATE yy_scan_string( yy_str )
2514yyconst char *yy_str;
2515#endif
2516 {
2517 int len;
2518 for ( len = 0; yy_str[len]; ++len )
2519 ;
2520
2521 return yy_scan_bytes( yy_str, len );
2522 }
2523#endif
2524
2525
2526#ifndef YY_NO_SCAN_BYTES
2527#ifdef YY_USE_PROTOS
2528YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
2529#else
2530YY_BUFFER_STATE yy_scan_bytes( bytes, len )
2531yyconst char *bytes;
2532int len;
2533#endif
2534 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002535 YY_BUFFER_STATE b;
2536 char *buf;
2537 yy_size_t n;
2538 int i;
Owen Anderson1dc69692006-10-18 02:21:48 +00002539
Reid Spencer68a24bd2005-08-27 18:50:39 +00002540 /* Get memory for full buffer, including space for trailing EOB's. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002541 n = len + 2;
2542 buf = (char *) yy_flex_alloc( n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002543 if ( ! buf )
Owen Anderson1dc69692006-10-18 02:21:48 +00002544 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002545
Owen Anderson1dc69692006-10-18 02:21:48 +00002546 for ( i = 0; i < len; ++i )
2547 buf[i] = bytes[i];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002548
Owen Anderson1dc69692006-10-18 02:21:48 +00002549 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002550
Owen Anderson1dc69692006-10-18 02:21:48 +00002551 b = yy_scan_buffer( buf, n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002552 if ( ! b )
Owen Anderson1dc69692006-10-18 02:21:48 +00002553 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002554
2555 /* It's okay to grow etc. this buffer, and we should throw it
2556 * away when we're done.
2557 */
2558 b->yy_is_our_buffer = 1;
2559
2560 return b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002561 }
2562#endif
2563
2564
2565#ifndef YY_NO_PUSH_STATE
2566#ifdef YY_USE_PROTOS
2567static void yy_push_state( int new_state )
2568#else
2569static void yy_push_state( new_state )
2570int new_state;
2571#endif
2572 {
2573 if ( yy_start_stack_ptr >= yy_start_stack_depth )
2574 {
2575 yy_size_t new_size;
2576
2577 yy_start_stack_depth += YY_START_STACK_INCR;
2578 new_size = yy_start_stack_depth * sizeof( int );
2579
2580 if ( ! yy_start_stack )
2581 yy_start_stack = (int *) yy_flex_alloc( new_size );
2582
2583 else
2584 yy_start_stack = (int *) yy_flex_realloc(
2585 (void *) yy_start_stack, new_size );
2586
2587 if ( ! yy_start_stack )
2588 YY_FATAL_ERROR(
2589 "out of memory expanding start-condition stack" );
2590 }
2591
2592 yy_start_stack[yy_start_stack_ptr++] = YY_START;
2593
2594 BEGIN(new_state);
2595 }
2596#endif
2597
2598
2599#ifndef YY_NO_POP_STATE
2600static void yy_pop_state()
2601 {
2602 if ( --yy_start_stack_ptr < 0 )
2603 YY_FATAL_ERROR( "start-condition stack underflow" );
2604
2605 BEGIN(yy_start_stack[yy_start_stack_ptr]);
2606 }
2607#endif
2608
2609
2610#ifndef YY_NO_TOP_STATE
2611static int yy_top_state()
2612 {
2613 return yy_start_stack[yy_start_stack_ptr - 1];
2614 }
2615#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002616
2617#ifndef YY_EXIT_FAILURE
2618#define YY_EXIT_FAILURE 2
2619#endif
2620
Owen Anderson1dc69692006-10-18 02:21:48 +00002621#ifdef YY_USE_PROTOS
2622static void yy_fatal_error( yyconst char msg[] )
2623#else
2624static void yy_fatal_error( msg )
2625char msg[];
2626#endif
2627 {
2628 (void) fprintf( stderr, "%s\n", msg );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002629 exit( YY_EXIT_FAILURE );
Owen Anderson1dc69692006-10-18 02:21:48 +00002630 }
2631
2632
Reid Spencer68a24bd2005-08-27 18:50:39 +00002633
2634/* Redefine yyless() so it works in section 3 code. */
2635
2636#undef yyless
2637#define yyless(n) \
2638 do \
2639 { \
Owen Anderson1dc69692006-10-18 02:21:48 +00002640 /* Undo effects of setting up yytext. */ \
2641 yytext[yyleng] = yy_hold_char; \
2642 yy_c_buf_p = yytext + n; \
2643 yy_hold_char = *yy_c_buf_p; \
2644 *yy_c_buf_p = '\0'; \
2645 yyleng = n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00002646 } \
2647 while ( 0 )
2648
2649
Owen Anderson1dc69692006-10-18 02:21:48 +00002650/* Internal utility routines. */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002651
2652#ifndef yytext_ptr
Owen Anderson1dc69692006-10-18 02:21:48 +00002653#ifdef YY_USE_PROTOS
2654static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
2655#else
2656static void yy_flex_strncpy( s1, s2, n )
2657char *s1;
2658yyconst char *s2;
2659int n;
2660#endif
2661 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002662 register int i;
2663 for ( i = 0; i < n; ++i )
2664 s1[i] = s2[i];
Owen Anderson1dc69692006-10-18 02:21:48 +00002665 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002666#endif
2667
2668#ifdef YY_NEED_STRLEN
Owen Anderson1dc69692006-10-18 02:21:48 +00002669#ifdef YY_USE_PROTOS
2670static int yy_flex_strlen( yyconst char *s )
2671#else
2672static int yy_flex_strlen( s )
2673yyconst char *s;
2674#endif
2675 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002676 register int n;
2677 for ( n = 0; s[n]; ++n )
2678 ;
2679
2680 return n;
Owen Anderson1dc69692006-10-18 02:21:48 +00002681 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002682#endif
2683
Reid Spencer68a24bd2005-08-27 18:50:39 +00002684
Owen Anderson1dc69692006-10-18 02:21:48 +00002685#ifdef YY_USE_PROTOS
2686static void *yy_flex_alloc( yy_size_t size )
2687#else
2688static void *yy_flex_alloc( size )
2689yy_size_t size;
2690#endif
2691 {
2692 return (void *) malloc( size );
2693 }
2694
2695#ifdef YY_USE_PROTOS
2696static inline void *yy_flex_realloc( void *ptr, yy_size_t size )
2697#else
2698static inline void *yy_flex_realloc( ptr, size )
2699void *ptr;
2700yy_size_t size;
2701#endif
2702 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002703 /* The cast to (char *) in the following accommodates both
2704 * implementations that use char* generic pointers, and those
2705 * that use void* generic pointers. It works with the latter
2706 * because both ANSI C and C++ allow castless assignment from
2707 * any pointer type to void*, and deal with argument conversions
2708 * as though doing an assignment.
2709 */
2710 return (void *) realloc( (char *) ptr, size );
Owen Anderson1dc69692006-10-18 02:21:48 +00002711 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002712
Owen Anderson1dc69692006-10-18 02:21:48 +00002713#ifdef YY_USE_PROTOS
2714static void yy_flex_free( void *ptr )
2715#else
2716static void yy_flex_free( ptr )
2717void *ptr;
2718#endif
2719 {
2720 free( ptr );
2721 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002722
Owen Anderson1dc69692006-10-18 02:21:48 +00002723#if YY_MAIN
2724int main()
2725 {
2726 yylex();
2727 return 0;
2728 }
2729#endif
Reid Spencerb83eb642006-10-20 07:07:24 +00002730#line 363 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
Chris Lattner2fecc0f2006-02-15 07:02:59 +00002731