blob: a6e5b951350c56b47ab7bdc1d3dec9b7df0f6aa5 [file] [log] [blame]
Reid Spencer832254e2007-02-02 02:16:23 +00001#define yy_create_buffer llvmAsm_create_buffer
2#define yy_delete_buffer llvmAsm_delete_buffer
3#define yy_scan_buffer llvmAsm_scan_buffer
4#define yy_scan_string llvmAsm_scan_string
5#define yy_scan_bytes llvmAsm_scan_bytes
6#define yy_flex_debug llvmAsm_flex_debug
7#define yy_init_buffer llvmAsm_init_buffer
8#define yy_flush_buffer llvmAsm_flush_buffer
9#define yy_load_buffer_state llvmAsm_load_buffer_state
10#define yy_switch_to_buffer llvmAsm_switch_to_buffer
11#define yyin llvmAsmin
12#define yyleng llvmAsmleng
13#define yylex llvmAsmlex
14#define yyout llvmAsmout
15#define yyrestart llvmAsmrestart
16#define yytext llvmAsmtext
17#define yylineno llvmAsmlineno
Reid Spencer68a24bd2005-08-27 18:50:39 +000018
Reid Spencer832254e2007-02-02 02:16:23 +000019#line 20 "Lexer.cpp"
20/* A lexical scanner generated by flex*/
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +000021
Reid Spencer832254e2007-02-02 02:16:23 +000022/* Scanner skeleton version:
23 * $Header$
24 */
Reid Spencer68a24bd2005-08-27 18:50:39 +000025
Reid Spencer68a24bd2005-08-27 18:50:39 +000026#define FLEX_SCANNER
27#define YY_FLEX_MAJOR_VERSION 2
28#define YY_FLEX_MINOR_VERSION 5
29
30#include <stdio.h>
Reid Spencer832254e2007-02-02 02:16:23 +000031#include <unistd.h>
Owen Anderson1dc69692006-10-18 02:21:48 +000032
Anton Korobeynikov178a3522007-01-12 19:22:51 +000033
Reid Spencer832254e2007-02-02 02:16:23 +000034/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
35#ifdef c_plusplus
36#ifndef __cplusplus
37#define __cplusplus
38#endif
Anton Korobeynikov178a3522007-01-12 19:22:51 +000039#endif
40
Anton Korobeynikov178a3522007-01-12 19:22:51 +000041
42#ifdef __cplusplus
Owen Anderson1dc69692006-10-18 02:21:48 +000043
Reid Spencer832254e2007-02-02 02:16:23 +000044#include <stdlib.h>
45
46/* Use prototypes in function declarations. */
47#define YY_USE_PROTOS
48
Reid Spencer68a24bd2005-08-27 18:50:39 +000049/* The "const" storage-class-modifier is valid. */
50#define YY_USE_CONST
51
52#else /* ! __cplusplus */
53
54#if __STDC__
55
Reid Spencer832254e2007-02-02 02:16:23 +000056#define YY_USE_PROTOS
Reid Spencer68a24bd2005-08-27 18:50:39 +000057#define YY_USE_CONST
58
59#endif /* __STDC__ */
60#endif /* ! __cplusplus */
61
Reid Spencer832254e2007-02-02 02:16:23 +000062#ifdef __TURBOC__
63 #pragma warn -rch
64 #pragma warn -use
65#include <io.h>
66#include <stdlib.h>
67#define YY_USE_CONST
68#define YY_USE_PROTOS
69#endif
70
Reid Spencer68a24bd2005-08-27 18:50:39 +000071#ifdef YY_USE_CONST
72#define yyconst const
73#else
74#define yyconst
75#endif
76
Reid Spencer832254e2007-02-02 02:16:23 +000077
78#ifdef YY_USE_PROTOS
79#define YY_PROTO(proto) proto
80#else
81#define YY_PROTO(proto) ()
82#endif
83
Reid Spencer68a24bd2005-08-27 18:50:39 +000084/* Returned upon end-of-file. */
85#define YY_NULL 0
86
87/* Promotes a possibly negative, possibly signed char to an unsigned
88 * integer for use as an array index. If the signed char is negative,
89 * we want to instead treat it as an 8-bit unsigned char, hence the
90 * double cast.
91 */
92#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
93
94/* Enter a start condition. This macro really ought to take a parameter,
95 * but we do it the disgusting crufty way forced on us by the ()-less
96 * definition of BEGIN.
97 */
Reid Spencer832254e2007-02-02 02:16:23 +000098#define BEGIN yy_start = 1 + 2 *
Reid Spencer68a24bd2005-08-27 18:50:39 +000099
100/* Translate the current start state into a value that can be later handed
101 * to BEGIN to return to the state. The YYSTATE alias is for lex
102 * compatibility.
103 */
Reid Spencer832254e2007-02-02 02:16:23 +0000104#define YY_START ((yy_start - 1) / 2)
Reid Spencer68a24bd2005-08-27 18:50:39 +0000105#define YYSTATE YY_START
106
107/* Action number for EOF rule of a given start state. */
108#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
109
110/* Special action meaning "start processing a new file". */
Reid Spencer832254e2007-02-02 02:16:23 +0000111#define YY_NEW_FILE yyrestart( yyin )
Reid Spencer68a24bd2005-08-27 18:50:39 +0000112
113#define YY_END_OF_BUFFER_CHAR 0
114
115/* Size of default input buffer. */
116#define YY_BUF_SIZE (16384*64)
117
118typedef struct yy_buffer_state *YY_BUFFER_STATE;
119
Reid Spencer832254e2007-02-02 02:16:23 +0000120extern int yyleng;
121extern FILE *yyin, *yyout;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000122
123#define EOB_ACT_CONTINUE_SCAN 0
124#define EOB_ACT_END_OF_FILE 1
125#define EOB_ACT_LAST_MATCH 2
126
Reid Spencer832254e2007-02-02 02:16:23 +0000127/* The funky do-while in the following #define is used to turn the definition
128 * int a single C statement (which needs a semi-colon terminator). This
129 * avoids problems with code like:
130 *
131 * if ( condition_holds )
132 * yyless( 5 );
133 * else
134 * do_something_else();
135 *
136 * Prior to using the do-while the compiler would get upset at the
137 * "else" because it interpreted the "if" statement as being all
138 * done when it reached the ';' after the yyless() call.
139 */
140
141/* Return all but the first 'n' matched characters back to the input stream. */
142
Reid Spencer68a24bd2005-08-27 18:50:39 +0000143#define yyless(n) \
144 do \
145 { \
Reid Spencer832254e2007-02-02 02:16:23 +0000146 /* Undo effects of setting up yytext. */ \
147 *yy_cp = yy_hold_char; \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000148 YY_RESTORE_YY_MORE_OFFSET \
Reid Spencer832254e2007-02-02 02:16:23 +0000149 yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
150 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000151 } \
152 while ( 0 )
153
Reid Spencer832254e2007-02-02 02:16:23 +0000154#define unput(c) yyunput( c, yytext_ptr )
155
156/* 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
Reid Spencer6f407902007-01-13 05:00:46 +0000164
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
Reid Spencer832254e2007-02-02 02:16:23 +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"
Reid Spencer832254e2007-02-02 02:16:23 +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 Korobeynikov9adeaa22007-01-28 13:37:39 +0000227 };
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000228
Reid Spencer832254e2007-02-02 02:16:23 +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 */
Reid Spencer832254e2007-02-02 02:16:23 +0000235#define YY_CURRENT_BUFFER yy_current_buffer
Reid Spencer68a24bd2005-08-27 18:50:39 +0000236
237
Reid Spencer832254e2007-02-02 02:16:23 +0000238/* yy_hold_char holds the character lost when yytext is formed. */
Reid Spencer68a24bd2005-08-27 18:50:39 +0000239static char yy_hold_char;
Reid Spencer832254e2007-02-02 02:16:23 +0000240
Reid Spencer68a24bd2005-08-27 18:50:39 +0000241static int yy_n_chars; /* number of characters read into yy_ch_buf */
Reid Spencer832254e2007-02-02 02:16:23 +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;
Reid Spencer832254e2007-02-02 02:16:23 +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
Reid Spencer832254e2007-02-02 02:16:23 +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
Reid Spencer832254e2007-02-02 02:16:23 +0000256void yyrestart YY_PROTO(( FILE *input_file ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000257
Reid Spencer832254e2007-02-02 02:16:23 +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
Reid Spencer832254e2007-02-02 02:16:23 +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
Reid Spencer832254e2007-02-02 02:16:23 +0000270static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
271static inline void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) YY_MAY_BE_UNUSED;
272static void yy_flex_free YY_PROTO(( void * ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000273
Reid Spencer832254e2007-02-02 02:16:23 +0000274#define yy_new_buffer yy_create_buffer
Reid Spencer68a24bd2005-08-27 18:50:39 +0000275
276#define yy_set_interactive(is_interactive) \
277 { \
Reid Spencer832254e2007-02-02 02:16:23 +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 { \
Reid Spencer832254e2007-02-02 02:16:23 +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
Reid Spencer832254e2007-02-02 02:16:23 +0000290#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
Reid Spencer68a24bd2005-08-27 18:50:39 +0000291
292
Reid Spencer832254e2007-02-02 02:16:23 +0000293#define YY_USES_REJECT
294
295#define yywrap() 1
Reid Spencer68a24bd2005-08-27 18:50:39 +0000296#define YY_SKIP_YYWRAP
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000297typedef unsigned char YY_CHAR;
Reid Spencer832254e2007-02-02 02:16:23 +0000298FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000299typedef int yy_state_type;
Reid Spencer832254e2007-02-02 02:16:23 +0000300extern int yylineno;
301int yylineno = 1;
302extern char *yytext;
303#define yytext_ptr yytext
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000304
Reid Spencer832254e2007-02-02 02:16:23 +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
Reid Spencer832254e2007-02-02 02:16:23 +0000311 * corresponding action - sets up yytext.
Reid Spencer68a24bd2005-08-27 18:50:39 +0000312 */
313#define YY_DO_BEFORE_ACTION \
Reid Spencer832254e2007-02-02 02:16:23 +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'; \
Reid Spencer832254e2007-02-02 02:16:23 +0000318 yy_c_buf_p = yy_cp;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000319
Reid Spencer67d8ed92007-03-22 02:14:08 +0000320#define YY_NUM_RULES 136
321#define YY_END_OF_BUFFER 137
322static yyconst short int yy_acclist[217] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000323 { 0,
Reid Spencer67d8ed92007-03-22 02:14:08 +0000324 137, 135, 136, 134, 135, 136, 134, 136, 135, 136,
325 135, 136, 135, 136, 135, 136, 135, 136, 135, 136,
326 127, 135, 136, 127, 135, 136, 1, 135, 136, 135,
327 136, 135, 136, 135, 136, 135, 136, 135, 136, 135,
328 136, 135, 136, 135, 136, 135, 136, 135, 136, 135,
329 136, 135, 136, 135, 136, 135, 136, 135, 136, 135,
330 136, 135, 136, 135, 136, 135, 136, 135, 136, 135,
331 136, 135, 136, 135, 136, 125, 123, 121, 130, 128,
332 132, 127, 1, 122, 131, 107, 36, 70, 52, 71,
333 66, 24, 125, 121, 132, 21, 132, 133, 126, 122,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000334
Reid Spencer67d8ed92007-03-22 02:14:08 +0000335 53, 65, 34, 37, 3, 55, 80, 85, 83, 84,
336 82, 81, 86, 90, 106, 75, 73, 62, 74, 72,
337 54, 88, 79, 77, 78, 76, 89, 87, 67, 124,
338 132, 132, 64, 91, 69, 58, 114, 61, 68, 115,
339 63, 23, 129, 57, 94, 60, 43, 25, 4, 50,
340 56, 59, 46, 12, 93, 132, 31, 2, 5, 47,
341 96, 42, 49, 116, 92, 22, 113, 39, 7, 48,
342 38, 100, 99, 8, 16, 109, 112, 33, 51, 104,
343 98, 108, 26, 27, 97, 110, 105, 103, 6, 28,
344 95, 32, 9, 18, 10, 101, 11, 45, 44, 102,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000345
Reid Spencer83145c32007-03-28 02:37:40 +0000346 30, 13, 15, 14, 19, 29, 35, 17, 111, 117,
347 119, 120, 40, 118, 41, 20
Reid Spencer68a24bd2005-08-27 18:50:39 +0000348 } ;
349
Reid Spencer83145c32007-03-28 02:37:40 +0000350static yyconst short int yy_accept[549] =
Reid Spencer832254e2007-02-02 02:16:23 +0000351 { 0,
352 1, 1, 1, 2, 4, 7, 9, 11, 13, 15,
353 17, 19, 21, 24, 27, 30, 32, 34, 36, 38,
354 40, 42, 44, 46, 48, 50, 52, 54, 56, 58,
355 60, 62, 64, 66, 68, 70, 72, 74, 76, 76,
356 77, 77, 78, 79, 80, 80, 81, 81, 82, 83,
357 83, 84, 84, 85, 86, 86, 86, 86, 86, 86,
358 86, 86, 87, 87, 88, 88, 88, 88, 88, 88,
Reid Spencer83145c32007-03-28 02:37:40 +0000359 88, 88, 89, 89, 89, 89, 89, 89, 89, 89,
360 89, 89, 89, 90, 90, 90, 90, 90, 90, 90,
Reid Spencer832254e2007-02-02 02:16:23 +0000361 90, 90, 90, 91, 91, 91, 91, 91, 91, 91,
362
Reid Spencer67d8ed92007-03-22 02:14:08 +0000363 91, 92, 92, 92, 92, 92, 92, 92, 92, 92,
364 92, 92, 92, 92, 92, 92, 92, 93, 93, 93,
Reid Spencer832254e2007-02-02 02:16:23 +0000365 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
Reid Spencer67d8ed92007-03-22 02:14:08 +0000366 93, 93, 93, 94, 95, 96, 97, 98, 98, 99,
367 99, 100, 101, 102, 102, 102, 103, 103, 103, 104,
368 104, 104, 104, 105, 105, 105, 105, 105, 105, 105,
Reid Spencer83145c32007-03-28 02:37:40 +0000369 105, 105, 105, 106, 106, 106, 106, 106, 106, 106,
Reid Spencer832254e2007-02-02 02:16:23 +0000370 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
Reid Spencer67d8ed92007-03-22 02:14:08 +0000371 106, 106, 106, 106, 106, 106, 106, 107, 107, 107,
372 107, 108, 109, 110, 111, 112, 113, 113, 114, 115,
Reid Spencer832254e2007-02-02 02:16:23 +0000373
Reid Spencer67d8ed92007-03-22 02:14:08 +0000374 115, 116, 116, 116, 116, 116, 116, 117, 118, 119,
375 119, 119, 119, 120, 121, 121, 121, 122, 122, 122,
376 122, 122, 122, 122, 122, 123, 124, 125, 125, 126,
377 127, 127, 128, 129, 129, 129, 129, 129, 129, 129,
378 129, 129, 130, 130, 130, 131, 132, 132, 132, 132,
379 133, 133, 133, 133, 134, 134, 134, 135, 135, 135,
380 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
Reid Spencer83145c32007-03-28 02:37:40 +0000381 135, 135, 136, 137, 137, 137, 137, 137, 138, 139,
382 139, 139, 139, 140, 140, 140, 140, 140, 140, 140,
Reid Spencer67d8ed92007-03-22 02:14:08 +0000383 140, 141, 142, 142, 142, 142, 142, 143, 143, 143,
Reid Spencer832254e2007-02-02 02:16:23 +0000384
Reid Spencer67d8ed92007-03-22 02:14:08 +0000385 144, 145, 145, 145, 146, 146, 146, 146, 147, 148,
386 148, 148, 149, 149, 149, 150, 150, 151, 152, 152,
387 152, 152, 152, 153, 153, 154, 154, 155, 155, 155,
388 156, 157, 158, 158, 158, 159, 159, 159, 159, 159,
Reid Spencer83145c32007-03-28 02:37:40 +0000389 159, 159, 159, 159, 159, 159, 159, 159, 159, 160,
390 160, 161, 162, 162, 162, 162, 162, 162, 162, 163,
Reid Spencer67d8ed92007-03-22 02:14:08 +0000391 163, 163, 163, 163, 164, 164, 164, 164, 164, 164,
392 164, 164, 164, 164, 164, 164, 164, 165, 165, 165,
393 165, 166, 166, 167, 167, 167, 167, 167, 167, 167,
Reid Spencer83145c32007-03-28 02:37:40 +0000394 167, 168, 168, 168, 168, 169, 169, 169, 169, 170,
Reid Spencer832254e2007-02-02 02:16:23 +0000395
Reid Spencer83145c32007-03-28 02:37:40 +0000396 170, 170, 170, 171, 171, 171, 172, 173, 174, 174,
397 174, 175, 176, 176, 176, 176, 177, 177, 178, 179,
Reid Spencer67d8ed92007-03-22 02:14:08 +0000398 179, 179, 180, 180, 180, 181, 181, 181, 182, 183,
399 184, 185, 186, 186, 187, 188, 188, 188, 188, 188,
Reid Spencer83145c32007-03-28 02:37:40 +0000400 188, 189, 189, 189, 189, 190, 191, 191, 191, 191,
401 191, 191, 192, 192, 192, 192, 192, 192, 192, 192,
Reid Spencer67d8ed92007-03-22 02:14:08 +0000402 192, 193, 193, 193, 193, 193, 193, 193, 193, 193,
Reid Spencer83145c32007-03-28 02:37:40 +0000403 193, 194, 194, 194, 194, 194, 195, 195, 195, 195,
Reid Spencer67d8ed92007-03-22 02:14:08 +0000404 196, 197, 198, 199, 200, 201, 201, 201, 201, 202,
Reid Spencer83145c32007-03-28 02:37:40 +0000405 202, 202, 202, 203, 203, 203, 204, 205, 205, 205,
Reid Spencer832254e2007-02-02 02:16:23 +0000406
Reid Spencer83145c32007-03-28 02:37:40 +0000407 205, 205, 205, 205, 205, 205, 205, 205, 206, 207,
408 207, 207, 207, 207, 207, 208, 208, 208, 208, 208,
409 209, 209, 209, 209, 209, 210, 210, 210, 210, 210,
410 210, 210, 210, 210, 210, 210, 210, 211, 212, 213,
411 213, 214, 214, 215, 216, 216, 217, 217
Reid Spencer832254e2007-02-02 02:16:23 +0000412 } ;
413
414static yyconst int yy_ec[256] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000415 { 0,
416 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
417 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
418 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
419 1, 2, 1, 4, 1, 5, 6, 1, 1, 1,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000420 1, 1, 7, 1, 8, 9, 1, 10, 11, 11,
421 11, 11, 11, 12, 11, 13, 11, 14, 15, 1,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000422 1, 1, 1, 16, 17, 17, 17, 17, 18, 17,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000423 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
424 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000425 1, 1, 1, 1, 19, 1, 20, 21, 22, 23,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000426
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000427 24, 25, 26, 27, 28, 5, 29, 30, 31, 32,
428 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
429 43, 44, 1, 1, 1, 1, 1, 1, 1, 1,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000430 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
431 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
432 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
433 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
438 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
439 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
440 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
441 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
442 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
443 1, 1, 1, 1, 1
444 } ;
445
Reid Spencer832254e2007-02-02 02:16:23 +0000446static yyconst int yy_meta[45] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000447 { 0,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000448 1, 1, 2, 3, 4, 1, 1, 4, 4, 4,
449 4, 4, 4, 5, 1, 1, 4, 4, 4, 4,
450 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
451 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
452 4, 4, 4, 4
Reid Spencer68a24bd2005-08-27 18:50:39 +0000453 } ;
454
Reid Spencer83145c32007-03-28 02:37:40 +0000455static yyconst short int yy_base[556] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000456 { 0,
Reid Spencer83145c32007-03-28 02:37:40 +0000457 0, 0, 1193, 1194, 1194, 1194, 1188, 1177, 35, 39,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000458 43, 49, 55, 61, 0, 72, 64, 67, 66, 86,
Reid Spencer83145c32007-03-28 02:37:40 +0000459 76, 106, 91, 95, 133, 121, 117, 100, 152, 75,
460 93, 179, 137, 211, 139, 98, 46, 124, 1186, 1194,
461 1175, 1194, 0, 150, 185, 217, 116, 238, 254, 259,
462 0, 1184, 0, 200, 154, 153, 176, 118, 160, 78,
463 178, 1173, 47, 157, 161, 208, 186, 264, 228, 194,
464 200, 1172, 222, 260, 230, 218, 261, 271, 231, 273,
465 274, 277, 291, 279, 278, 113, 187, 239, 285, 292,
466 294, 299, 1171, 305, 306, 307, 309, 310, 311, 312,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000467
Reid Spencer83145c32007-03-28 02:37:40 +0000468 314, 317, 313, 316, 324, 325, 329, 326, 338, 332,
469 343, 348, 342, 344, 346, 355, 1170, 359, 362, 364,
470 347, 365, 366, 370, 376, 371, 150, 383, 387, 374,
471 379, 388, 1169, 0, 408, 1168, 423, 441, 0, 1177,
472 1194, 0, 1166, 396, 392, 1165, 414, 391, 1164, 415,
473 409, 426, 1163, 428, 443, 402, 444, 430, 431, 432,
474 447, 449, 1162, 453, 451, 454, 459, 455, 458, 460,
475 465, 466, 462, 470, 471, 469, 482, 485, 486, 490,
476 491, 493, 494, 497, 498, 499, 1161, 502, 500, 504,
477 1160, 1159, 1158, 1157, 1156, 1155, 505, 1154, 1153, 506,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000478
Reid Spencer83145c32007-03-28 02:37:40 +0000479 1152, 535, 511, 516, 507, 523, 1151, 1150, 1149, 525,
480 548, 535, 1148, 1147, 549, 528, 1146, 527, 513, 552,
481 555, 553, 557, 556, 1145, 1144, 1143, 559, 1142, 1141,
482 560, 1140, 1139, 562, 565, 568, 467, 574, 515, 561,
483 581, 1138, 569, 577, 1194, 593, 611, 597, 615, 620,
484 580, 621, 584, 1137, 606, 622, 1136, 623, 625, 626,
485 627, 630, 631, 632, 634, 635, 637, 639, 641, 644,
486 640, 1135, 1134, 642, 645, 651, 655, 1133, 1132, 656,
487 657, 658, 1131, 587, 659, 660, 664, 670, 671, 665,
488 1130, 1129, 667, 673, 675, 677, 1128, 678, 679, 0,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000489
Reid Spencer83145c32007-03-28 02:37:40 +0000490 1127, 688, 692, 1126, 690, 695, 696, 1125, 1124, 706,
491 709, 1123, 708, 694, 1122, 711, 1121, 1120, 712, 713,
492 691, 714, 1119, 693, 1118, 720, 1117, 722, 721, 1116,
493 729, 1115, 730, 729, 1114, 731, 737, 734, 740, 741,
494 739, 743, 748, 749, 750, 752, 756, 751, 1113, 758,
495 1112, 1111, 763, 764, 765, 771, 760, 767, 1110, 768,
496 772, 773, 779, 1109, 780, 786, 787, 775, 782, 791,
497 788, 784, 795, 799, 805, 804, 1108, 807, 806, 808,
498 1107, 809, 1106, 813, 814, 810, 811, 826, 812, 817,
499 1105, 827, 828, 831, 1104, 833, 834, 837, 1103, 838,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000500
Reid Spencer83145c32007-03-28 02:37:40 +0000501 839, 840, 1102, 843, 842, 1101, 1100, 1099, 845, 854,
502 1098, 1097, 846, 862, 855, 1096, 857, 1095, 1094, 860,
503 867, 1093, 869, 870, 1092, 864, 872, 1091, 1090, 1089,
504 1088, 1087, 873, 1086, 1085, 875, 876, 880, 878, 877,
505 1084, 884, 881, 890, 1083, 1082, 893, 894, 896, 897,
506 900, 1071, 901, 902, 903, 904, 907, 906, 912, 908,
507 1061, 914, 920, 922, 925, 927, 929, 931, 933, 934,
508 1060, 936, 938, 939, 943, 1057, 941, 942, 944, 1056,
509 1055, 1054, 1053, 1052, 1051, 946, 950, 959, 1050, 964,
510 965, 967, 1048, 949, 968, 1045, 1042, 969, 970, 974,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000511
Reid Spencer83145c32007-03-28 02:37:40 +0000512 976, 977, 978, 979, 982, 983, 984, 1041, 1037, 986,
513 987, 989, 996, 991, 948, 997, 994, 1000, 1003, 947,
514 1008, 1005, 1012, 1013, 844, 1011, 1014, 1017, 1020, 1021,
515 1023, 1024, 1025, 1026, 1028, 1035, 600, 522, 468, 1036,
516 400, 1039, 349, 282, 1040, 243, 1194, 1076, 1078, 250,
517 1083, 1086, 200, 1090, 58
Reid Spencer68a24bd2005-08-27 18:50:39 +0000518 } ;
519
Reid Spencer83145c32007-03-28 02:37:40 +0000520static yyconst short int yy_def[556] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000521 { 0,
Reid Spencer83145c32007-03-28 02:37:40 +0000522 547, 1, 547, 547, 547, 547, 548, 549, 550, 547,
523 549, 549, 549, 549, 551, 552, 549, 549, 549, 549,
524 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
525 549, 549, 549, 549, 549, 549, 549, 549, 548, 547,
526 549, 547, 553, 547, 547, 549, 549, 549, 549, 549,
527 551, 554, 555, 547, 549, 549, 549, 549, 549, 549,
528 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
529 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
530 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
531 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000532
Reid Spencer83145c32007-03-28 02:37:40 +0000533 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
534 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
535 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
536 549, 549, 547, 553, 547, 549, 549, 549, 50, 554,
537 547, 555, 549, 549, 549, 549, 549, 549, 549, 549,
538 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
539 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
540 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
541 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
542 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000543
Reid Spencer83145c32007-03-28 02:37:40 +0000544 549, 50, 549, 549, 549, 549, 549, 549, 549, 549,
545 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
546 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
547 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
548 549, 549, 549, 549, 547, 547, 547, 547, 549, 549,
549 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
550 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
551 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
552 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
553 549, 549, 549, 549, 549, 549, 549, 549, 549, 202,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000554
Reid Spencer83145c32007-03-28 02:37:40 +0000555 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
556 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
557 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
558 547, 549, 549, 549, 549, 549, 549, 549, 549, 549,
559 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
560 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
561 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
562 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
563 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
564 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000565
Reid Spencer83145c32007-03-28 02:37:40 +0000566 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
567 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
568 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
569 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
570 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
571 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
572 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
573 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
574 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
575 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000576
Reid Spencer83145c32007-03-28 02:37:40 +0000577 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
578 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
579 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
580 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
581 549, 549, 549, 549, 549, 549, 0, 547, 547, 547,
582 547, 547, 547, 547, 547
Reid Spencer68a24bd2005-08-27 18:50:39 +0000583 } ;
584
Reid Spencer83145c32007-03-28 02:37:40 +0000585static yyconst short int yy_nxt[1239] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000586 { 0,
587 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000588 14, 14, 14, 4, 15, 16, 8, 8, 8, 17,
589 18, 19, 20, 21, 22, 23, 24, 25, 8, 26,
590 27, 28, 29, 30, 8, 31, 32, 33, 34, 35,
591 36, 37, 8, 38, 44, 44, 44, 44, 45, 45,
Reid Spencer83145c32007-03-28 02:37:40 +0000592 45, 45, 46, 46, 46, 46, 42, 47, 130, 42,
593 42, 142, 42, 48, 49, 49, 49, 49, 42, 48,
594 49, 49, 49, 49, 42, 52, 152, 42, 131, 42,
595 42, 54, 54, 54, 54, 63, 55, 64, 42, 42,
596 60, 42, 65, 56, 61, 57, 50, 58, 66, 42,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000597
Reid Spencer83145c32007-03-28 02:37:40 +0000598 59, 102, 62, 150, 42, 67, 42, 71, 42, 68,
599 72, 42, 103, 42, 80, 69, 104, 73, 70, 42,
600 81, 129, 82, 93, 136, 74, 42, 75, 76, 42,
601 42, 42, 94, 181, 42, 77, 90, 42, 95, 78,
602 86, 79, 83, 83, 83, 83, 42, 132, 87, 91,
603 42, 147, 42, 88, 84, 92, 116, 89, 127, 44,
604 44, 44, 44, 42, 85, 42, 42, 42, 237, 117,
605 42, 128, 118, 42, 42, 96, 143, 97, 153, 119,
606 144, 98, 145, 99, 154, 100, 148, 101, 105, 42,
607 149, 42, 42, 135, 45, 45, 45, 45, 146, 42,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000608
Reid Spencer83145c32007-03-28 02:37:40 +0000609 42, 106, 107, 134, 108, 109, 110, 42, 111, 54,
610 54, 54, 54, 42, 112, 151, 113, 114, 182, 115,
611 105, 42, 163, 157, 42, 48, 46, 46, 46, 46,
612 42, 42, 162, 120, 121, 42, 122, 155, 123, 156,
613 124, 42, 125, 42, 42, 168, 126, 137, 137, 137,
614 137, 42, 42, 43, 172, 138, 42, 161, 183, 164,
615 167, 138, 48, 49, 49, 49, 49, 42, 139, 139,
Reid Spencer67d8ed92007-03-22 02:14:08 +0000616 139, 139, 42, 42, 42, 139, 139, 42, 139, 139,
Reid Spencer83145c32007-03-28 02:37:40 +0000617 139, 139, 139, 139, 42, 158, 42, 42, 159, 165,
618 42, 42, 42, 169, 170, 42, 166, 160, 42, 175,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000619
Reid Spencer83145c32007-03-28 02:37:40 +0000620 83, 83, 83, 83, 42, 42, 174, 42, 171, 176,
621 173, 184, 42, 177, 178, 179, 186, 180, 42, 42,
622 42, 185, 42, 42, 42, 42, 42, 42, 187, 42,
623 42, 197, 192, 194, 196, 190, 198, 42, 42, 42,
624 188, 191, 42, 189, 199, 42, 193, 195, 200, 207,
625 204, 42, 203, 201, 211, 42, 42, 42, 205, 42,
626 42, 42, 42, 208, 217, 202, 213, 209, 42, 212,
627 206, 215, 42, 218, 216, 42, 210, 42, 42, 42,
628 214, 225, 219, 42, 42, 241, 221, 42, 226, 42,
629 220, 224, 42, 229, 236, 223, 42, 222, 231, 232,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000630
Reid Spencer83145c32007-03-28 02:37:40 +0000631 42, 42, 227, 228, 42, 42, 240, 230, 233, 42,
632 238, 234, 239, 42, 242, 42, 235, 246, 246, 246,
633 246, 251, 42, 243, 252, 247, 254, 42, 42, 244,
634 256, 247, 137, 137, 137, 137, 42, 253, 260, 42,
635 138, 42, 255, 42, 42, 42, 138, 248, 249, 258,
636 250, 250, 250, 250, 42, 257, 42, 42, 263, 262,
637 42, 264, 42, 261, 42, 259, 42, 42, 42, 267,
638 265, 42, 42, 42, 266, 42, 268, 274, 42, 42,
639 42, 42, 42, 42, 42, 280, 324, 270, 269, 278,
640 281, 271, 272, 282, 273, 42, 279, 276, 42, 42,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000641
Reid Spencer83145c32007-03-28 02:37:40 +0000642 277, 275, 283, 42, 42, 284, 42, 42, 285, 286,
643 42, 42, 42, 42, 289, 42, 291, 42, 42, 42,
644 42, 290, 288, 287, 42, 295, 42, 293, 42, 42,
645 303, 296, 292, 297, 326, 42, 42, 294, 42, 298,
646 42, 42, 312, 299, 300, 300, 300, 300, 42, 305,
647 301, 300, 300, 302, 300, 300, 300, 300, 300, 300,
648 304, 42, 42, 310, 311, 42, 42, 307, 42, 42,
649 42, 306, 42, 42, 42, 42, 315, 313, 42, 308,
650 317, 42, 42, 320, 316, 321, 309, 42, 314, 327,
651 42, 319, 322, 42, 42, 318, 325, 42, 323, 328,
Reid Spencer67d8ed92007-03-22 02:14:08 +0000652
Reid Spencer83145c32007-03-28 02:37:40 +0000653 42, 329, 246, 246, 246, 246, 331, 331, 331, 331,
654 247, 332, 359, 42, 330, 334, 247, 248, 248, 42,
655 331, 331, 331, 331, 250, 250, 250, 250, 42, 250,
656 250, 250, 250, 42, 42, 42, 42, 335, 42, 42,
657 42, 336, 333, 42, 42, 42, 338, 42, 42, 341,
658 42, 337, 42, 42, 42, 42, 340, 42, 42, 343,
659 348, 350, 342, 339, 42, 345, 346, 349, 42, 42,
660 42, 42, 42, 42, 347, 344, 357, 42, 42, 351,
661 42, 358, 352, 42, 42, 356, 42, 353, 42, 354,
662 42, 42, 42, 355, 360, 361, 362, 365, 363, 366,
Reid Spencer67d8ed92007-03-22 02:14:08 +0000663
Reid Spencer83145c32007-03-28 02:37:40 +0000664 364, 42, 367, 42, 42, 42, 42, 42, 42, 42,
665 384, 371, 368, 373, 374, 372, 370, 369, 375, 42,
666 376, 42, 42, 380, 42, 42, 42, 42, 386, 377,
667 378, 379, 381, 42, 42, 42, 382, 383, 331, 331,
668 331, 331, 42, 42, 42, 385, 388, 42, 390, 391,
669 42, 392, 42, 42, 42, 395, 42, 387, 389, 396,
670 397, 42, 42, 42, 42, 42, 399, 393, 400, 42,
671 394, 42, 405, 42, 398, 403, 42, 42, 42, 406,
672 42, 42, 401, 402, 42, 42, 42, 404, 42, 411,
673 407, 408, 42, 42, 410, 42, 409, 42, 412, 42,
Reid Spencer67d8ed92007-03-22 02:14:08 +0000674
Reid Spencer83145c32007-03-28 02:37:40 +0000675 42, 42, 416, 414, 42, 413, 415, 418, 42, 421,
676 419, 417, 42, 420, 422, 423, 424, 42, 42, 42,
677 42, 42, 42, 42, 42, 42, 42, 42, 426, 427,
678 42, 431, 425, 429, 433, 435, 434, 428, 436, 42,
679 42, 42, 432, 430, 42, 437, 42, 42, 439, 438,
680 42, 42, 42, 42, 440, 42, 42, 42, 42, 42,
681 445, 449, 450, 442, 443, 441, 452, 42, 42, 454,
682 42, 447, 448, 42, 446, 42, 444, 42, 457, 451,
683 42, 455, 42, 42, 453, 42, 42, 462, 42, 42,
684 42, 42, 456, 42, 42, 458, 463, 42, 459, 464,
Reid Spencer67d8ed92007-03-22 02:14:08 +0000685
Reid Spencer83145c32007-03-28 02:37:40 +0000686 460, 461, 467, 42, 465, 468, 42, 42, 469, 42,
687 42, 470, 466, 42, 42, 42, 42, 42, 471, 42,
688 42, 42, 472, 477, 478, 42, 476, 42, 473, 474,
689 482, 479, 480, 42, 484, 42, 475, 483, 42, 481,
690 42, 488, 42, 487, 42, 485, 42, 42, 489, 42,
691 491, 42, 42, 486, 42, 42, 42, 42, 493, 42,
692 42, 42, 42, 42, 490, 494, 498, 501, 492, 502,
693 499, 503, 42, 500, 495, 496, 497, 42, 42, 504,
694 42, 42, 42, 42, 506, 505, 508, 42, 510, 42,
695 42, 42, 42, 511, 507, 42, 42, 42, 514, 42,
Reid Spencer67d8ed92007-03-22 02:14:08 +0000696
Reid Spencer83145c32007-03-28 02:37:40 +0000697 42, 517, 42, 519, 42, 509, 513, 42, 516, 42,
698 42, 512, 518, 42, 520, 515, 42, 521, 42, 523,
699 525, 42, 522, 526, 42, 42, 42, 42, 524, 527,
700 42, 529, 528, 42, 42, 534, 42, 42, 42, 42,
701 533, 42, 530, 531, 535, 532, 540, 541, 42, 42,
702 42, 536, 42, 42, 42, 42, 537, 544, 42, 539,
703 538, 42, 545, 42, 42, 42, 42, 42, 42, 42,
704 42, 542, 543, 42, 42, 546, 39, 39, 39, 39,
705 39, 41, 41, 51, 42, 51, 51, 51, 53, 53,
706 140, 140, 140, 140, 140, 42, 42, 42, 42, 42,
Reid Spencer14310612006-12-31 05:40:51 +0000707
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000708 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
709 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
710 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
711 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
712 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
713 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
Reid Spencer67d8ed92007-03-22 02:14:08 +0000714 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
715 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
Reid Spencer83145c32007-03-28 02:37:40 +0000716 141, 42, 245, 42, 42, 42, 42, 141, 42, 133,
717 42, 40, 547, 3, 547, 547, 547, 547, 547, 547,
Chris Lattner75466192006-05-19 21:28:53 +0000718
Reid Spencer83145c32007-03-28 02:37:40 +0000719 547, 547, 547, 547, 547, 547, 547, 547, 547, 547,
720 547, 547, 547, 547, 547, 547, 547, 547, 547, 547,
721 547, 547, 547, 547, 547, 547, 547, 547, 547, 547,
722 547, 547, 547, 547, 547, 547, 547, 547
Reid Spencer68a24bd2005-08-27 18:50:39 +0000723 } ;
724
Reid Spencer83145c32007-03-28 02:37:40 +0000725static yyconst short int yy_chk[1239] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000726 { 0,
727 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
728 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
729 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
730 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000731 1, 1, 1, 1, 9, 9, 9, 9, 10, 10,
Reid Spencer83145c32007-03-28 02:37:40 +0000732 10, 10, 11, 11, 11, 11, 11, 12, 37, 37,
733 63, 555, 12, 13, 13, 13, 13, 13, 13, 14,
734 14, 14, 14, 14, 14, 16, 63, 17, 37, 19,
735 18, 16, 16, 16, 16, 19, 17, 19, 30, 21,
736 18, 60, 19, 17, 18, 17, 13, 17, 19, 20,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000737
Reid Spencer83145c32007-03-28 02:37:40 +0000738 17, 30, 18, 60, 23, 20, 31, 21, 24, 20,
739 21, 36, 30, 28, 23, 20, 31, 21, 20, 22,
740 23, 36, 24, 28, 47, 22, 86, 22, 22, 47,
741 27, 58, 28, 86, 26, 22, 27, 38, 28, 22,
742 26, 22, 25, 25, 25, 25, 25, 38, 26, 27,
743 33, 58, 35, 26, 25, 27, 33, 26, 35, 44,
744 44, 44, 44, 127, 25, 29, 56, 55, 127, 33,
745 64, 35, 33, 59, 65, 29, 55, 29, 64, 33,
746 56, 29, 56, 29, 65, 29, 59, 29, 32, 57,
747 59, 61, 32, 45, 45, 45, 45, 45, 57, 67,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000748
Reid Spencer83145c32007-03-28 02:37:40 +0000749 87, 32, 32, 553, 32, 32, 32, 70, 32, 54,
750 54, 54, 54, 71, 32, 61, 32, 32, 87, 32,
751 34, 66, 71, 67, 34, 46, 46, 46, 46, 46,
752 46, 76, 70, 34, 34, 73, 34, 66, 34, 66,
753 34, 69, 34, 75, 79, 76, 34, 48, 48, 48,
754 48, 48, 88, 550, 79, 48, 546, 69, 88, 73,
755 75, 48, 49, 49, 49, 49, 49, 49, 50, 50,
756 50, 50, 50, 74, 77, 50, 50, 68, 50, 50,
757 50, 50, 50, 50, 78, 68, 80, 81, 68, 74,
758 82, 85, 84, 77, 78, 544, 74, 68, 89, 82,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000759
Reid Spencer83145c32007-03-28 02:37:40 +0000760 83, 83, 83, 83, 83, 90, 81, 91, 78, 84,
761 80, 89, 92, 85, 85, 85, 91, 85, 94, 95,
762 96, 90, 97, 98, 99, 100, 103, 101, 92, 104,
763 102, 100, 97, 98, 99, 95, 101, 105, 106, 108,
764 94, 96, 107, 94, 102, 110, 97, 98, 103, 108,
765 107, 109, 106, 104, 110, 113, 111, 114, 107, 115,
766 121, 112, 543, 108, 114, 105, 111, 109, 116, 110,
767 107, 112, 118, 115, 113, 119, 109, 120, 122, 123,
768 111, 121, 116, 124, 126, 130, 118, 130, 122, 125,
769 116, 120, 131, 124, 126, 119, 128, 118, 125, 125,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000770
Reid Spencer83145c32007-03-28 02:37:40 +0000771 129, 132, 122, 123, 148, 145, 129, 124, 125, 144,
772 128, 125, 128, 541, 131, 156, 125, 135, 135, 135,
773 135, 144, 151, 132, 145, 135, 148, 147, 150, 132,
774 151, 135, 137, 137, 137, 137, 137, 147, 156, 152,
775 137, 154, 150, 158, 159, 160, 137, 138, 138, 154,
776 138, 138, 138, 138, 138, 152, 155, 157, 159, 158,
777 161, 160, 162, 157, 165, 155, 164, 166, 168, 162,
778 161, 169, 167, 170, 161, 173, 164, 169, 171, 172,
779 237, 539, 176, 174, 175, 173, 237, 165, 164, 172,
780 174, 166, 167, 175, 168, 177, 172, 171, 178, 179,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000781
Reid Spencer83145c32007-03-28 02:37:40 +0000782 171, 170, 176, 180, 181, 177, 182, 183, 178, 179,
783 184, 185, 186, 189, 181, 188, 183, 190, 197, 200,
784 205, 182, 180, 179, 203, 188, 219, 185, 239, 204,
785 205, 189, 184, 190, 239, 538, 206, 186, 210, 197,
786 218, 216, 219, 200, 202, 202, 202, 202, 212, 210,
787 203, 202, 202, 204, 202, 202, 202, 202, 202, 202,
788 206, 211, 215, 216, 218, 220, 222, 212, 221, 224,
789 223, 211, 228, 231, 240, 234, 222, 220, 235, 215,
790 223, 236, 243, 231, 222, 234, 215, 238, 221, 240,
791 244, 228, 235, 251, 241, 224, 238, 253, 236, 241,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000792
Reid Spencer83145c32007-03-28 02:37:40 +0000793 284, 243, 246, 246, 246, 246, 248, 248, 248, 248,
794 246, 251, 284, 537, 244, 253, 246, 247, 247, 255,
795 247, 247, 247, 247, 249, 249, 249, 249, 249, 250,
796 250, 250, 250, 250, 252, 256, 258, 255, 259, 260,
797 261, 256, 252, 262, 263, 264, 259, 265, 266, 262,
798 267, 258, 268, 271, 269, 274, 261, 270, 275, 264,
799 269, 271, 263, 260, 276, 266, 267, 270, 277, 280,
800 281, 282, 285, 286, 268, 265, 281, 287, 290, 274,
801 293, 282, 275, 288, 289, 280, 294, 276, 295, 276,
802 296, 298, 299, 277, 285, 286, 287, 290, 288, 293,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000803
Reid Spencer83145c32007-03-28 02:37:40 +0000804 289, 302, 294, 305, 321, 303, 324, 314, 306, 307,
805 321, 299, 295, 303, 305, 302, 298, 296, 306, 310,
806 307, 313, 311, 314, 316, 319, 320, 322, 324, 310,
807 311, 313, 316, 326, 329, 328, 319, 320, 331, 331,
808 331, 331, 334, 333, 336, 322, 328, 338, 329, 333,
809 337, 334, 341, 339, 340, 338, 342, 326, 328, 339,
810 340, 343, 344, 345, 348, 346, 342, 336, 343, 347,
811 337, 350, 348, 357, 341, 346, 353, 354, 355, 350,
812 358, 360, 344, 345, 356, 361, 362, 347, 368, 357,
813 353, 354, 363, 365, 356, 369, 355, 372, 358, 366,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000814
Reid Spencer83145c32007-03-28 02:37:40 +0000815 367, 371, 363, 361, 370, 360, 362, 366, 373, 369,
816 367, 365, 374, 368, 370, 371, 372, 376, 375, 379,
817 378, 380, 382, 386, 387, 389, 384, 385, 374, 375,
818 390, 380, 373, 378, 384, 386, 385, 376, 387, 388,
819 392, 393, 382, 379, 394, 388, 396, 397, 390, 389,
820 398, 400, 401, 402, 392, 405, 404, 525, 409, 413,
821 398, 404, 404, 394, 396, 393, 409, 410, 415, 413,
822 417, 401, 402, 420, 400, 414, 397, 426, 417, 405,
823 421, 414, 423, 424, 410, 427, 433, 426, 436, 437,
824 440, 439, 415, 438, 443, 420, 427, 442, 421, 433,
Chris Lattnere869eef2005-11-12 00:11:49 +0000825
Reid Spencer83145c32007-03-28 02:37:40 +0000826 423, 424, 438, 444, 436, 439, 447, 448, 440, 449,
827 450, 442, 437, 451, 453, 454, 455, 456, 443, 458,
828 457, 460, 444, 451, 453, 459, 450, 462, 447, 448,
829 457, 454, 455, 463, 459, 464, 449, 458, 465, 456,
830 466, 464, 467, 463, 468, 460, 469, 470, 465, 472,
831 467, 473, 474, 462, 477, 478, 475, 479, 469, 486,
832 520, 515, 494, 487, 466, 470, 475, 479, 468, 486,
833 477, 487, 488, 478, 472, 473, 474, 490, 491, 488,
834 492, 495, 498, 499, 491, 490, 494, 500, 498, 501,
835 502, 503, 504, 499, 492, 505, 506, 507, 502, 510,
Chris Lattner75466192006-05-19 21:28:53 +0000836
Reid Spencer83145c32007-03-28 02:37:40 +0000837 511, 505, 512, 507, 514, 495, 501, 517, 504, 513,
838 516, 500, 506, 518, 510, 503, 519, 511, 522, 513,
839 516, 521, 512, 517, 526, 523, 524, 527, 514, 518,
840 528, 521, 519, 529, 530, 527, 531, 532, 533, 534,
841 526, 535, 522, 523, 528, 524, 533, 534, 536, 540,
842 509, 529, 542, 545, 508, 497, 530, 540, 496, 532,
843 531, 493, 542, 489, 485, 484, 483, 482, 481, 480,
844 476, 535, 536, 471, 461, 545, 548, 548, 548, 548,
845 548, 549, 549, 551, 452, 551, 551, 551, 552, 552,
846 554, 554, 554, 554, 554, 446, 445, 441, 435, 434,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000847
Reid Spencer83145c32007-03-28 02:37:40 +0000848 432, 431, 430, 429, 428, 425, 422, 419, 418, 416,
849 412, 411, 408, 407, 406, 403, 399, 395, 391, 383,
850 381, 377, 364, 359, 352, 351, 349, 335, 332, 330,
851 327, 325, 323, 318, 317, 315, 312, 309, 308, 304,
852 301, 297, 292, 291, 283, 279, 278, 273, 272, 257,
853 254, 242, 233, 232, 230, 229, 227, 226, 225, 217,
854 214, 213, 209, 208, 207, 201, 199, 198, 196, 195,
855 194, 193, 192, 191, 187, 163, 153, 149, 146, 143,
856 140, 136, 133, 117, 93, 72, 62, 52, 41, 39,
857 8, 7, 3, 547, 547, 547, 547, 547, 547, 547,
Reid Spencer3da59db2006-11-27 01:05:10 +0000858
Reid Spencer83145c32007-03-28 02:37:40 +0000859 547, 547, 547, 547, 547, 547, 547, 547, 547, 547,
860 547, 547, 547, 547, 547, 547, 547, 547, 547, 547,
861 547, 547, 547, 547, 547, 547, 547, 547, 547, 547,
862 547, 547, 547, 547, 547, 547, 547, 547
Reid Spencer68a24bd2005-08-27 18:50:39 +0000863 } ;
864
Reid Spencer832254e2007-02-02 02:16:23 +0000865static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
866static char *yy_full_match;
867static int yy_lp;
868#define REJECT \
869{ \
870*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
871yy_cp = yy_full_match; /* restore poss. backed-over text */ \
872++yy_lp; \
873goto find_rule; \
874}
Reid Spencer68a24bd2005-08-27 18:50:39 +0000875#define yymore() yymore_used_but_not_detected
876#define YY_MORE_ADJ 0
877#define YY_RESTORE_YY_MORE_OFFSET
Reid Spencer832254e2007-02-02 02:16:23 +0000878char *yytext;
Reid Spencer38c91a92007-02-28 02:24:54 +0000879#line 1 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer832254e2007-02-02 02:16:23 +0000880#define INITIAL 0
Reid Spencer68a24bd2005-08-27 18:50:39 +0000881/*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
882//
883// The LLVM Compiler Infrastructure
884//
885// This file was developed by the LLVM research group and is distributed under
886// the University of Illinois Open Source License. See LICENSE.TXT for details.
887//
888//===----------------------------------------------------------------------===//
889//
890// This file implements the flex scanner for LLVM assembly languages files.
891//
892//===----------------------------------------------------------------------===*/
Reid Spencer832254e2007-02-02 02:16:23 +0000893#define YY_NEVER_INTERACTIVE 1
Reid Spencer38c91a92007-02-28 02:24:54 +0000894#line 28 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +0000895#include "ParserInternals.h"
896#include "llvm/Module.h"
897#include <list>
898#include "llvmAsmParser.h"
899#include <cctype>
900#include <cstdlib>
901
902void set_scan_file(FILE * F){
Reid Spencer832254e2007-02-02 02:16:23 +0000903 yy_switch_to_buffer(yy_create_buffer( F, YY_BUF_SIZE ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +0000904}
905void set_scan_string (const char * str) {
Reid Spencer832254e2007-02-02 02:16:23 +0000906 yy_scan_string (str);
Reid Spencer68a24bd2005-08-27 18:50:39 +0000907}
908
Reid Spencer3ed469c2006-11-02 20:25:50 +0000909// Construct a token value for a non-obsolete token
Reid Spencer68a24bd2005-08-27 18:50:39 +0000910#define RET_TOK(type, Enum, sym) \
Reid Spencera132e042006-12-03 05:46:11 +0000911 llvmAsmlval.type = Instruction::Enum; \
912 return sym
913
Reid Spencer3ed469c2006-11-02 20:25:50 +0000914// Construct a token value for an obsolete token
Reid Spencera132e042006-12-03 05:46:11 +0000915#define RET_TY(CTYPE, SYM) \
916 llvmAsmlval.PrimType = CTYPE;\
Reid Spencer481169e2006-12-01 00:33:46 +0000917 return SYM
Reid Spencer68a24bd2005-08-27 18:50:39 +0000918
919namespace llvm {
920
921// TODO: All of the static identifiers are figured out by the lexer,
922// these should be hashed to reduce the lexer size
923
924
925// atoull - Convert an ascii string of decimal digits into the unsigned long
926// long representation... this does not have to do input error checking,
927// because we know that the input will be matched by a suitable regex...
928//
929static uint64_t atoull(const char *Buffer) {
930 uint64_t Result = 0;
931 for (; *Buffer; Buffer++) {
932 uint64_t OldRes = Result;
933 Result *= 10;
934 Result += *Buffer-'0';
935 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000936 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000937 }
938 return Result;
939}
940
941static uint64_t HexIntToVal(const char *Buffer) {
942 uint64_t Result = 0;
943 for (; *Buffer; ++Buffer) {
944 uint64_t OldRes = Result;
945 Result *= 16;
946 char C = *Buffer;
947 if (C >= '0' && C <= '9')
948 Result += C-'0';
949 else if (C >= 'A' && C <= 'F')
950 Result += C-'A'+10;
951 else if (C >= 'a' && C <= 'f')
952 Result += C-'a'+10;
953
954 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000955 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000956 }
957 return Result;
958}
959
960
961// HexToFP - Convert the ascii string in hexidecimal format to the floating
962// point representation of it.
963//
964static double HexToFP(const char *Buffer) {
965 // Behave nicely in the face of C TBAA rules... see:
966 // http://www.nullstone.com/htmls/category/aliastyp.htm
967 union {
968 uint64_t UI;
969 double FP;
970 } UIntToFP;
971 UIntToFP.UI = HexIntToVal(Buffer);
972
973 assert(sizeof(double) == sizeof(uint64_t) &&
974 "Data sizes incompatible on this target!");
975 return UIntToFP.FP; // Cast Hex constant to double
976}
977
978
979// UnEscapeLexed - Run through the specified buffer and change \xx codes to the
980// appropriate character. If AllowNull is set to false, a \00 value will cause
981// an exception to be thrown.
982//
983// If AllowNull is set to true, the return value of the function points to the
984// last character of the string in memory.
985//
986char *UnEscapeLexed(char *Buffer, bool AllowNull) {
987 char *BOut = Buffer;
988 for (char *BIn = Buffer; *BIn; ) {
989 if (BIn[0] == '\\' && isxdigit(BIn[1]) && isxdigit(BIn[2])) {
990 char Tmp = BIn[3]; BIn[3] = 0; // Terminate string
991 *BOut = (char)strtol(BIn+1, 0, 16); // Convert to number
992 if (!AllowNull && !*BOut)
Reid Spencer61c83e02006-08-18 08:43:06 +0000993 GenerateError("String literal cannot accept \\00 escape!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000994
995 BIn[3] = Tmp; // Restore character
996 BIn += 3; // Skip over handled chars
997 ++BOut;
998 } else {
999 *BOut++ = *BIn++;
1000 }
1001 }
1002
1003 return BOut;
1004}
1005
1006} // End llvm namespace
1007
1008using namespace llvm;
1009
1010#define YY_NEVER_INTERACTIVE 1
1011/* Comments start with a ; and go till end of line */
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001012/* Local Values and Type identifiers start with a % sign */
1013/* Global Value identifiers start with an @ sign */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001014/* Label identifiers end with a colon */
1015/* Quoted names can contain any character except " and \ */
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001016/* LocalVarID/GlobalVarID: match an unnamed local variable slot ID. */
1017/* Integer types are specified with i and a bitwidth */
1018/* E[PN]Integer: match positive and negative literal integer values. */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001019/* FPConstant - A Floating point constant.
1020 */
1021/* HexFPConstant - Floating point constant represented in IEEE format as a
1022 * hexadecimal number for when exponential notation is not precise enough.
1023 */
1024/* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
1025 * it to deal with 64 bit numbers.
1026 */
Reid Spencer83145c32007-03-28 02:37:40 +00001027#line 1028 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001028
1029/* Macros after this point can all be overridden by user definitions in
1030 * section 1.
1031 */
1032
1033#ifndef YY_SKIP_YYWRAP
1034#ifdef __cplusplus
Reid Spencer832254e2007-02-02 02:16:23 +00001035extern "C" int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001036#else
Reid Spencer832254e2007-02-02 02:16:23 +00001037extern int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001038#endif
1039#endif
1040
Reid Spencer832254e2007-02-02 02:16:23 +00001041#ifndef YY_NO_UNPUT
1042static inline void yyunput YY_PROTO(( int c, char *buf_ptr ));
1043#endif
1044
Reid Spencer68a24bd2005-08-27 18:50:39 +00001045#ifndef yytext_ptr
Reid Spencer832254e2007-02-02 02:16:23 +00001046static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001047#endif
1048
1049#ifdef YY_NEED_STRLEN
Reid Spencer832254e2007-02-02 02:16:23 +00001050static int yy_flex_strlen YY_PROTO(( yyconst char * ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001051#endif
1052
1053#ifndef YY_NO_INPUT
1054#ifdef __cplusplus
Reid Spencer832254e2007-02-02 02:16:23 +00001055static int yyinput YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001056#else
Reid Spencer832254e2007-02-02 02:16:23 +00001057static int input YY_PROTO(( void ));
1058#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001059#endif
1060
Reid Spencer832254e2007-02-02 02:16:23 +00001061#if YY_STACK_USED
1062static int yy_start_stack_ptr = 0;
1063static int yy_start_stack_depth = 0;
1064static int *yy_start_stack = 0;
1065#ifndef YY_NO_PUSH_STATE
1066static void yy_push_state YY_PROTO(( int new_state ));
1067#endif
1068#ifndef YY_NO_POP_STATE
1069static void yy_pop_state YY_PROTO(( void ));
1070#endif
1071#ifndef YY_NO_TOP_STATE
1072static int yy_top_state YY_PROTO(( void ));
1073#endif
1074
1075#else
1076#define YY_NO_PUSH_STATE 1
1077#define YY_NO_POP_STATE 1
1078#define YY_NO_TOP_STATE 1
1079#endif
1080
1081#ifdef YY_MALLOC_DECL
1082YY_MALLOC_DECL
1083#else
1084#if __STDC__
1085#ifndef __cplusplus
1086#include <stdlib.h>
1087#endif
1088#else
1089/* Just try to get by without declaring the routines. This will fail
1090 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1091 * or sizeof(void*) != sizeof(int).
1092 */
1093#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001094#endif
1095
1096/* Amount of stuff to slurp up with each read. */
1097#ifndef YY_READ_BUF_SIZE
1098#define YY_READ_BUF_SIZE 8192
1099#endif
1100
1101/* Copy whatever the last rule matched to the standard output. */
Reid Spencer832254e2007-02-02 02:16:23 +00001102
Reid Spencer68a24bd2005-08-27 18:50:39 +00001103#ifndef ECHO
1104/* This used to be an fputs(), but since the string might contain NUL's,
1105 * we now use fwrite().
1106 */
Reid Spencer832254e2007-02-02 02:16:23 +00001107#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001108#endif
1109
1110/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1111 * is returned in "result".
1112 */
1113#ifndef YY_INPUT
1114#define YY_INPUT(buf,result,max_size) \
Reid Spencer832254e2007-02-02 02:16:23 +00001115 if ( yy_current_buffer->yy_is_interactive ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001116 { \
Reid Spencer832254e2007-02-02 02:16:23 +00001117 int c = '*', n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001118 for ( n = 0; n < max_size && \
Reid Spencer832254e2007-02-02 02:16:23 +00001119 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001120 buf[n] = (char) c; \
1121 if ( c == '\n' ) \
1122 buf[n++] = (char) c; \
Reid Spencer832254e2007-02-02 02:16:23 +00001123 if ( c == EOF && ferror( yyin ) ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001124 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1125 result = n; \
1126 } \
Reid Spencer832254e2007-02-02 02:16:23 +00001127 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1128 && ferror( yyin ) ) \
1129 YY_FATAL_ERROR( "input in flex scanner failed" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001130#endif
1131
1132/* No semi-colon after return; correct usage is to write "yyterminate();" -
1133 * we don't want an extra ';' after the "return" because that will cause
1134 * some compilers to complain about unreachable statements.
1135 */
1136#ifndef yyterminate
1137#define yyterminate() return YY_NULL
1138#endif
1139
1140/* Number of entries by which start-condition stack grows. */
1141#ifndef YY_START_STACK_INCR
1142#define YY_START_STACK_INCR 25
1143#endif
1144
1145/* Report a fatal error. */
1146#ifndef YY_FATAL_ERROR
1147#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1148#endif
1149
1150/* Default declaration of generated scanner - a define so the user can
1151 * easily add parameters.
1152 */
1153#ifndef YY_DECL
Reid Spencer832254e2007-02-02 02:16:23 +00001154#define YY_DECL int yylex YY_PROTO(( void ))
1155#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001156
Reid Spencer832254e2007-02-02 02:16:23 +00001157/* Code executed at the beginning of each rule, after yytext and yyleng
Reid Spencer68a24bd2005-08-27 18:50:39 +00001158 * have been set up.
1159 */
1160#ifndef YY_USER_ACTION
1161#define YY_USER_ACTION
1162#endif
1163
1164/* Code executed at the end of each rule. */
1165#ifndef YY_BREAK
1166#define YY_BREAK break;
1167#endif
1168
1169#define YY_RULE_SETUP \
1170 YY_USER_ACTION
1171
1172YY_DECL
Reid Spencer832254e2007-02-02 02:16:23 +00001173 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00001174 register yy_state_type yy_current_state;
Reid Spencer832254e2007-02-02 02:16:23 +00001175 register char *yy_cp = NULL, *yy_bp = NULL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001176 register int yy_act;
Reid Spencer832254e2007-02-02 02:16:23 +00001177
Reid Spencer38c91a92007-02-28 02:24:54 +00001178#line 190 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001179
1180
Reid Spencer83145c32007-03-28 02:37:40 +00001181#line 1182 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001182
Reid Spencer832254e2007-02-02 02:16:23 +00001183 if ( yy_init )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001184 {
Reid Spencer832254e2007-02-02 02:16:23 +00001185 yy_init = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001186
1187#ifdef YY_USER_INIT
1188 YY_USER_INIT;
1189#endif
1190
Reid Spencer832254e2007-02-02 02:16:23 +00001191 if ( ! yy_start )
1192 yy_start = 1; /* first start state */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001193
Reid Spencer832254e2007-02-02 02:16:23 +00001194 if ( ! yyin )
1195 yyin = stdin;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001196
Reid Spencer832254e2007-02-02 02:16:23 +00001197 if ( ! yyout )
1198 yyout = stdout;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001199
Reid Spencer832254e2007-02-02 02:16:23 +00001200 if ( ! yy_current_buffer )
1201 yy_current_buffer =
1202 yy_create_buffer( yyin, YY_BUF_SIZE );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001203
Reid Spencer832254e2007-02-02 02:16:23 +00001204 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00001205 }
1206
1207 while ( 1 ) /* loops until end-of-file is reached */
1208 {
Reid Spencer832254e2007-02-02 02:16:23 +00001209 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001210
Reid Spencer832254e2007-02-02 02:16:23 +00001211 /* Support of yytext. */
1212 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001213
1214 /* yy_bp points to the position in yy_ch_buf of the start of
1215 * the current run.
1216 */
1217 yy_bp = yy_cp;
1218
Reid Spencer832254e2007-02-02 02:16:23 +00001219 yy_current_state = yy_start;
1220 yy_state_ptr = yy_state_buf;
1221 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001222yy_match:
1223 do
1224 {
1225 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1226 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1227 {
1228 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencer83145c32007-03-28 02:37:40 +00001229 if ( yy_current_state >= 548 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001230 yy_c = yy_meta[(unsigned int) yy_c];
1231 }
1232 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencer832254e2007-02-02 02:16:23 +00001233 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001234 ++yy_cp;
1235 }
Reid Spencer83145c32007-03-28 02:37:40 +00001236 while ( yy_current_state != 547 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001237
1238yy_find_action:
Reid Spencer832254e2007-02-02 02:16:23 +00001239 yy_current_state = *--yy_state_ptr;
1240 yy_lp = yy_accept[yy_current_state];
1241find_rule: /* we branch to this label when backing up */
1242 for ( ; ; ) /* until we find what rule we matched */
1243 {
1244 if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
1245 {
1246 yy_act = yy_acclist[yy_lp];
1247 {
1248 yy_full_match = yy_cp;
1249 break;
1250 }
1251 }
1252 --yy_cp;
1253 yy_current_state = *--yy_state_ptr;
1254 yy_lp = yy_accept[yy_current_state];
1255 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001256
1257 YY_DO_BEFORE_ACTION;
1258
Reid Spencer832254e2007-02-02 02:16:23 +00001259 if ( yy_act != YY_END_OF_BUFFER )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001260 {
1261 int yyl;
Reid Spencer832254e2007-02-02 02:16:23 +00001262 for ( yyl = 0; yyl < yyleng; ++yyl )
1263 if ( yytext[yyl] == '\n' )
1264 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001265 }
1266
1267do_action: /* This label is used only to access EOF actions. */
1268
Reid Spencer832254e2007-02-02 02:16:23 +00001269
Reid Spencer68a24bd2005-08-27 18:50:39 +00001270 switch ( yy_act )
1271 { /* beginning of action switch */
1272case 1:
1273YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001274#line 192 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001275{ /* Ignore comments for now */ }
1276 YY_BREAK
1277case 2:
1278YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001279#line 194 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001280{ return BEGINTOK; }
1281 YY_BREAK
1282case 3:
1283YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001284#line 195 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001285{ return ENDTOK; }
1286 YY_BREAK
1287case 4:
1288YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001289#line 196 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001290{ return TRUETOK; }
1291 YY_BREAK
1292case 5:
1293YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001294#line 197 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001295{ return FALSETOK; }
1296 YY_BREAK
1297case 6:
1298YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001299#line 198 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001300{ return DECLARE; }
1301 YY_BREAK
1302case 7:
1303YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001304#line 199 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001305{ return DEFINE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001306 YY_BREAK
1307case 8:
1308YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001309#line 200 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001310{ return GLOBAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001311 YY_BREAK
1312case 9:
1313YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001314#line 201 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001315{ return CONSTANT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001316 YY_BREAK
1317case 10:
1318YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001319#line 202 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001320{ return INTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001321 YY_BREAK
1322case 11:
1323YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001324#line 203 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001325{ return LINKONCE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001326 YY_BREAK
1327case 12:
1328YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001329#line 204 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001330{ return WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001331 YY_BREAK
1332case 13:
1333YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001334#line 205 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001335{ return APPENDING; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001336 YY_BREAK
1337case 14:
1338YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001339#line 206 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001340{ return DLLIMPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001341 YY_BREAK
1342case 15:
1343YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001344#line 207 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001345{ return DLLEXPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001346 YY_BREAK
1347case 16:
1348YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001349#line 208 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001350{ return HIDDEN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001351 YY_BREAK
1352case 17:
1353YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001354#line 209 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001355{ return EXTERN_WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001356 YY_BREAK
1357case 18:
1358YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001359#line 210 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001360{ return EXTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001361 YY_BREAK
1362case 19:
1363YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001364#line 211 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer83145c32007-03-28 02:37:40 +00001365{ return CHECKPOINT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001366 YY_BREAK
1367case 20:
1368YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001369#line 212 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001370{ return ZEROINITIALIZER; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001371 YY_BREAK
1372case 21:
1373YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001374#line 213 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001375{ return DOTDOTDOT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001376 YY_BREAK
1377case 22:
1378YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001379#line 214 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001380{ return UNDEF; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001381 YY_BREAK
1382case 23:
1383YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001384#line 215 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001385{ return NULL_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001386 YY_BREAK
1387case 24:
1388YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001389#line 216 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001390{ return TO; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001391 YY_BREAK
1392case 25:
1393YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001394#line 217 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001395{ return TAIL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001396 YY_BREAK
1397case 26:
1398YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001399#line 218 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001400{ return TARGET; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001401 YY_BREAK
1402case 27:
1403YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001404#line 219 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001405{ return TRIPLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001406 YY_BREAK
1407case 28:
1408YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001409#line 220 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001410{ return DEPLIBS; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001411 YY_BREAK
1412case 29:
1413YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001414#line 221 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer41dff5e2007-01-26 08:05:27 +00001415{ return DATALAYOUT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001416 YY_BREAK
1417case 30:
1418YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001419#line 222 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer41dff5e2007-01-26 08:05:27 +00001420{ return VOLATILE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001421 YY_BREAK
1422case 31:
1423YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001424#line 223 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer41dff5e2007-01-26 08:05:27 +00001425{ return ALIGN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001426 YY_BREAK
1427case 32:
1428YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001429#line 224 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer41dff5e2007-01-26 08:05:27 +00001430{ return SECTION; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001431 YY_BREAK
1432case 33:
1433YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001434#line 225 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer41dff5e2007-01-26 08:05:27 +00001435{ return MODULE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001436 YY_BREAK
1437case 34:
1438YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001439#line 226 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer41dff5e2007-01-26 08:05:27 +00001440{ return ASM_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001441 YY_BREAK
1442case 35:
1443YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001444#line 227 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer41dff5e2007-01-26 08:05:27 +00001445{ return SIDEEFFECT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001446 YY_BREAK
1447case 36:
1448YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001449#line 229 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer41dff5e2007-01-26 08:05:27 +00001450{ return CC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001451 YY_BREAK
1452case 37:
1453YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001454#line 230 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer41dff5e2007-01-26 08:05:27 +00001455{ return CCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001456 YY_BREAK
1457case 38:
1458YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001459#line 231 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001460{ return FASTCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001461 YY_BREAK
1462case 39:
1463YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001464#line 232 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001465{ return COLDCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001466 YY_BREAK
1467case 40:
1468YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001469#line 233 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001470{ return X86_STDCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001471 YY_BREAK
1472case 41:
1473YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001474#line 234 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001475{ return X86_FASTCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001476 YY_BREAK
1477case 42:
1478YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001479#line 236 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer832254e2007-02-02 02:16:23 +00001480{ return INREG; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001481 YY_BREAK
1482case 43:
1483YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001484#line 237 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer832254e2007-02-02 02:16:23 +00001485{ return SRET; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001486 YY_BREAK
1487case 44:
1488YY_RULE_SETUP
Reid Spencer67d8ed92007-03-22 02:14:08 +00001489#line 238 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1490{ return NOUNWIND; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001491 YY_BREAK
1492case 45:
1493YY_RULE_SETUP
Reid Spencer67d8ed92007-03-22 02:14:08 +00001494#line 239 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1495{ return NORETURN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001496 YY_BREAK
1497case 46:
1498YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001499#line 241 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001500{ RET_TY(Type::VoidTy, VOID); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001501 YY_BREAK
1502case 47:
1503YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001504#line 242 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001505{ RET_TY(Type::FloatTy, FLOAT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001506 YY_BREAK
1507case 48:
1508YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001509#line 243 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001510{ RET_TY(Type::DoubleTy,DOUBLE);}
Reid Spencer832254e2007-02-02 02:16:23 +00001511 YY_BREAK
1512case 49:
1513YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001514#line 244 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001515{ RET_TY(Type::LabelTy, LABEL); }
Reid Spencer832254e2007-02-02 02:16:23 +00001516 YY_BREAK
1517case 50:
1518YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001519#line 245 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001520{ return TYPE; }
1521 YY_BREAK
1522case 51:
1523YY_RULE_SETUP
1524#line 246 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1525{ return OPAQUE; }
1526 YY_BREAK
1527case 52:
1528YY_RULE_SETUP
1529#line 247 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer832254e2007-02-02 02:16:23 +00001530{ uint64_t NumBits = atoull(yytext+1);
Reid Spencera54b7cb2007-01-12 07:05:14 +00001531 if (NumBits < IntegerType::MIN_INT_BITS ||
1532 NumBits > IntegerType::MAX_INT_BITS)
1533 GenerateError("Bitwidth for integer type out of range!");
1534 const Type* Ty = IntegerType::get(NumBits);
1535 RET_TY(Ty, INTTYPE);
1536 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001537 YY_BREAK
Reid Spencer41dff5e2007-01-26 08:05:27 +00001538case 53:
1539YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001540#line 255 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001541{ RET_TOK(BinaryOpVal, Add, ADD); }
Reid Spencer41dff5e2007-01-26 08:05:27 +00001542 YY_BREAK
Reid Spencer6f407902007-01-13 05:00:46 +00001543case 54:
1544YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001545#line 256 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001546{ RET_TOK(BinaryOpVal, Sub, SUB); }
Reid Spencer6f407902007-01-13 05:00:46 +00001547 YY_BREAK
Reid Spencer68a24bd2005-08-27 18:50:39 +00001548case 55:
1549YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001550#line 257 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001551{ RET_TOK(BinaryOpVal, Mul, MUL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001552 YY_BREAK
1553case 56:
1554YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001555#line 258 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001556{ RET_TOK(BinaryOpVal, UDiv, UDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001557 YY_BREAK
1558case 57:
1559YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001560#line 259 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001561{ RET_TOK(BinaryOpVal, SDiv, SDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001562 YY_BREAK
1563case 58:
1564YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001565#line 260 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001566{ RET_TOK(BinaryOpVal, FDiv, FDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001567 YY_BREAK
1568case 59:
1569YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001570#line 261 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001571{ RET_TOK(BinaryOpVal, URem, UREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001572 YY_BREAK
1573case 60:
1574YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001575#line 262 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001576{ RET_TOK(BinaryOpVal, SRem, SREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001577 YY_BREAK
1578case 61:
1579YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001580#line 263 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001581{ RET_TOK(BinaryOpVal, FRem, FREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001582 YY_BREAK
1583case 62:
1584YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001585#line 264 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001586{ RET_TOK(BinaryOpVal, Shl, SHL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001587 YY_BREAK
1588case 63:
1589YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001590#line 265 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001591{ RET_TOK(BinaryOpVal, LShr, LSHR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001592 YY_BREAK
1593case 64:
1594YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001595#line 266 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001596{ RET_TOK(BinaryOpVal, AShr, ASHR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001597 YY_BREAK
1598case 65:
1599YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001600#line 267 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001601{ RET_TOK(BinaryOpVal, And, AND); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001602 YY_BREAK
1603case 66:
1604YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001605#line 268 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001606{ RET_TOK(BinaryOpVal, Or , OR ); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001607 YY_BREAK
1608case 67:
1609YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001610#line 269 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001611{ RET_TOK(BinaryOpVal, Xor, XOR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001612 YY_BREAK
1613case 68:
1614YY_RULE_SETUP
Reid Spencer67d8ed92007-03-22 02:14:08 +00001615#line 270 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1616{ RET_TOK(OtherOpVal, ICmp, ICMP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001617 YY_BREAK
1618case 69:
1619YY_RULE_SETUP
Reid Spencer67d8ed92007-03-22 02:14:08 +00001620#line 271 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1621{ RET_TOK(OtherOpVal, FCmp, FCMP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001622 YY_BREAK
1623case 70:
1624YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001625#line 273 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001626{ return EQ; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001627 YY_BREAK
1628case 71:
1629YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001630#line 274 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001631{ return NE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001632 YY_BREAK
1633case 72:
1634YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001635#line 275 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001636{ return SLT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001637 YY_BREAK
1638case 73:
1639YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001640#line 276 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001641{ return SGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001642 YY_BREAK
1643case 74:
1644YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001645#line 277 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001646{ return SLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001647 YY_BREAK
1648case 75:
1649YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001650#line 278 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001651{ return SGE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001652 YY_BREAK
1653case 76:
1654YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001655#line 279 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001656{ return ULT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001657 YY_BREAK
1658case 77:
1659YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001660#line 280 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001661{ return UGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001662 YY_BREAK
1663case 78:
1664YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001665#line 281 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001666{ return ULE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001667 YY_BREAK
1668case 79:
1669YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001670#line 282 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001671{ return UGE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001672 YY_BREAK
1673case 80:
1674YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001675#line 283 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001676{ return OEQ; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001677 YY_BREAK
1678case 81:
1679YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001680#line 284 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001681{ return ONE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001682 YY_BREAK
1683case 82:
1684YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001685#line 285 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001686{ return OLT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001687 YY_BREAK
1688case 83:
1689YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001690#line 286 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001691{ return OGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001692 YY_BREAK
1693case 84:
1694YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001695#line 287 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001696{ return OLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001697 YY_BREAK
1698case 85:
1699YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001700#line 288 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001701{ return OGE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001702 YY_BREAK
1703case 86:
1704YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001705#line 289 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001706{ return ORD; }
Nate Begeman14b05292005-11-05 09:21:28 +00001707 YY_BREAK
1708case 87:
1709YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001710#line 290 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001711{ return UNO; }
Chris Lattnere869eef2005-11-12 00:11:49 +00001712 YY_BREAK
1713case 88:
1714YY_RULE_SETUP
Reid Spencer67d8ed92007-03-22 02:14:08 +00001715#line 291 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1716{ return UEQ; }
Robert Bocchino9c62b562006-01-10 19:04:32 +00001717 YY_BREAK
1718case 89:
1719YY_RULE_SETUP
Reid Spencer67d8ed92007-03-22 02:14:08 +00001720#line 292 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1721{ return UNE; }
Robert Bocchino2def1b32006-01-17 20:06:25 +00001722 YY_BREAK
1723case 90:
1724YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001725#line 294 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001726{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
Chris Lattner8335e842006-01-23 23:05:42 +00001727 YY_BREAK
1728case 91:
1729YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001730#line 295 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001731{ RET_TOK(OtherOpVal, Call, CALL); }
Chris Lattner66316012006-01-24 04:14:29 +00001732 YY_BREAK
1733case 92:
1734YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001735#line 296 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001736{ RET_TOK(CastOpVal, Trunc, TRUNC); }
Chris Lattner0e9c3762006-01-25 22:27:16 +00001737 YY_BREAK
1738case 93:
1739YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001740#line 297 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001741{ RET_TOK(CastOpVal, ZExt, ZEXT); }
Chris Lattnerd5efe842006-04-08 01:18:56 +00001742 YY_BREAK
1743case 94:
1744YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001745#line 298 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001746{ RET_TOK(CastOpVal, SExt, SEXT); }
Chris Lattner75466192006-05-19 21:28:53 +00001747 YY_BREAK
1748case 95:
1749YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001750#line 299 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001751{ RET_TOK(CastOpVal, FPTrunc, FPTRUNC); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001752 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001753case 96:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001754YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001755#line 300 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001756{ RET_TOK(CastOpVal, FPExt, FPEXT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001757 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001758case 97:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001759YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001760#line 301 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001761{ RET_TOK(CastOpVal, UIToFP, UITOFP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001762 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001763case 98:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001764YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001765#line 302 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001766{ RET_TOK(CastOpVal, SIToFP, SITOFP); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001767 YY_BREAK
1768case 99:
1769YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001770#line 303 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001771{ RET_TOK(CastOpVal, FPToUI, FPTOUI); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001772 YY_BREAK
1773case 100:
1774YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001775#line 304 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001776{ RET_TOK(CastOpVal, FPToSI, FPTOSI); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001777 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001778case 101:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001779YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001780#line 305 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001781{ RET_TOK(CastOpVal, IntToPtr, INTTOPTR); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001782 YY_BREAK
1783case 102:
1784YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001785#line 306 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001786{ RET_TOK(CastOpVal, PtrToInt, PTRTOINT); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001787 YY_BREAK
1788case 103:
1789YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001790#line 307 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001791{ RET_TOK(CastOpVal, BitCast, BITCAST); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001792 YY_BREAK
1793case 104:
1794YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001795#line 308 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001796{ RET_TOK(OtherOpVal, Select, SELECT); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001797 YY_BREAK
1798case 105:
1799YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001800#line 309 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001801{ RET_TOK(OtherOpVal, VAArg , VAARG); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001802 YY_BREAK
1803case 106:
1804YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001805#line 310 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001806{ RET_TOK(TermOpVal, Ret, RET); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001807 YY_BREAK
1808case 107:
1809YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001810#line 311 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001811{ RET_TOK(TermOpVal, Br, BR); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001812 YY_BREAK
1813case 108:
1814YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001815#line 312 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001816{ RET_TOK(TermOpVal, Switch, SWITCH); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001817 YY_BREAK
1818case 109:
1819YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001820#line 313 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001821{ RET_TOK(TermOpVal, Invoke, INVOKE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001822 YY_BREAK
1823case 110:
1824YY_RULE_SETUP
Reid Spencer67d8ed92007-03-22 02:14:08 +00001825#line 314 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1826{ RET_TOK(TermOpVal, Unwind, UNWIND); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001827 YY_BREAK
1828case 111:
1829YY_RULE_SETUP
Reid Spencer67d8ed92007-03-22 02:14:08 +00001830#line 315 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1831{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001832 YY_BREAK
1833case 112:
1834YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001835#line 317 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001836{ RET_TOK(MemOpVal, Malloc, MALLOC); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001837 YY_BREAK
1838case 113:
1839YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001840#line 318 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001841{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001842 YY_BREAK
1843case 114:
1844YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001845#line 319 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001846{ RET_TOK(MemOpVal, Free, FREE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001847 YY_BREAK
1848case 115:
1849YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001850#line 320 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001851{ RET_TOK(MemOpVal, Load, LOAD); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001852 YY_BREAK
1853case 116:
1854YY_RULE_SETUP
Reid Spencer67d8ed92007-03-22 02:14:08 +00001855#line 321 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1856{ RET_TOK(MemOpVal, Store, STORE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001857 YY_BREAK
1858case 117:
1859YY_RULE_SETUP
Reid Spencer67d8ed92007-03-22 02:14:08 +00001860#line 322 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1861{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001862 YY_BREAK
1863case 118:
1864YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00001865#line 324 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00001866{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001867 YY_BREAK
Reid Spencer41dff5e2007-01-26 08:05:27 +00001868case 119:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001869YY_RULE_SETUP
Reid Spencer67d8ed92007-03-22 02:14:08 +00001870#line 325 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1871{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
1872 YY_BREAK
1873case 120:
1874YY_RULE_SETUP
1875#line 326 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1876{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
1877 YY_BREAK
1878case 121:
1879YY_RULE_SETUP
1880#line 329 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001881{
Reid Spencer832254e2007-02-02 02:16:23 +00001882 UnEscapeLexed(yytext+1);
1883 llvmAsmlval.StrVal = strdup(yytext+1); // Skip %
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001884 return LOCALVAR;
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001885 }
1886 YY_BREAK
Reid Spencer67d8ed92007-03-22 02:14:08 +00001887case 122:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001888YY_RULE_SETUP
Reid Spencer67d8ed92007-03-22 02:14:08 +00001889#line 334 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001890{
Reid Spencer832254e2007-02-02 02:16:23 +00001891 UnEscapeLexed(yytext+1);
1892 llvmAsmlval.StrVal = strdup(yytext+1); // Skip @
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001893 return GLOBALVAR;
Owen Anderson1dc69692006-10-18 02:21:48 +00001894 }
1895 YY_BREAK
Reid Spencer67d8ed92007-03-22 02:14:08 +00001896case 123:
Owen Anderson1dc69692006-10-18 02:21:48 +00001897YY_RULE_SETUP
Reid Spencer67d8ed92007-03-22 02:14:08 +00001898#line 339 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001899{
Reid Spencer832254e2007-02-02 02:16:23 +00001900 yytext[strlen(yytext)-1] = 0; // nuke colon
1901 UnEscapeLexed(yytext);
1902 llvmAsmlval.StrVal = strdup(yytext);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001903 return LABELSTR;
1904 }
1905 YY_BREAK
Reid Spencer67d8ed92007-03-22 02:14:08 +00001906case 124:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001907YY_RULE_SETUP
Reid Spencer67d8ed92007-03-22 02:14:08 +00001908#line 345 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001909{
Reid Spencer832254e2007-02-02 02:16:23 +00001910 yytext[strlen(yytext)-2] = 0; // nuke colon, end quote
1911 UnEscapeLexed(yytext+1);
1912 llvmAsmlval.StrVal = strdup(yytext+1);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001913 return LABELSTR;
1914 }
1915 YY_BREAK
Reid Spencer67d8ed92007-03-22 02:14:08 +00001916case 125:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001917YY_RULE_SETUP
Reid Spencer67d8ed92007-03-22 02:14:08 +00001918#line 352 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001919{ // Note that we cannot unescape a string constant here! The
1920 // string constant might contain a \00 which would not be
1921 // understood by the string stuff. It is valid to make a
1922 // [sbyte] c"Hello World\00" constant, for example.
1923 //
Reid Spencer832254e2007-02-02 02:16:23 +00001924 yytext[strlen(yytext)-1] = 0; // nuke end quote
1925 llvmAsmlval.StrVal = strdup(yytext+1); // Nuke start quote
Reid Spencer68a24bd2005-08-27 18:50:39 +00001926 return STRINGCONSTANT;
1927 }
1928 YY_BREAK
Reid Spencer67d8ed92007-03-22 02:14:08 +00001929case 126:
Reid Spencer6f407902007-01-13 05:00:46 +00001930YY_RULE_SETUP
Reid Spencer67d8ed92007-03-22 02:14:08 +00001931#line 361 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001932{
Reid Spencer832254e2007-02-02 02:16:23 +00001933 yytext[strlen(yytext)-1] = 0; // nuke end quote
1934 llvmAsmlval.StrVal = strdup(yytext+2); // Nuke @, quote
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001935 return ATSTRINGCONSTANT;
1936 }
1937 YY_BREAK
Reid Spencer67d8ed92007-03-22 02:14:08 +00001938case 127:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001939YY_RULE_SETUP
Reid Spencer67d8ed92007-03-22 02:14:08 +00001940#line 367 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer38c91a92007-02-28 02:24:54 +00001941{ int len = strlen(yytext);
1942 uint32_t numBits = ((len * 64) / 19) + 1;
1943 APInt Tmp(numBits, yytext, len, 10);
1944 uint32_t activeBits = Tmp.getActiveBits();
1945 if (activeBits > 0 && activeBits < numBits)
1946 Tmp.trunc(activeBits);
1947 if (Tmp.getBitWidth() > 64) {
1948 llvmAsmlval.APIntVal = new APInt(Tmp);
1949 return EUAPINTVAL;
1950 } else {
1951 llvmAsmlval.UInt64Val = Tmp.getZExtValue();
1952 return EUINT64VAL;
1953 }
1954 }
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001955 YY_BREAK
Reid Spencer67d8ed92007-03-22 02:14:08 +00001956case 128:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001957YY_RULE_SETUP
Reid Spencer67d8ed92007-03-22 02:14:08 +00001958#line 381 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer38c91a92007-02-28 02:24:54 +00001959{ int len = strlen(yytext);
Reid Spencerafc37822007-03-09 21:19:09 +00001960 uint32_t numBits = (((len-1) * 64) / 19) + 2;
Reid Spencer38c91a92007-02-28 02:24:54 +00001961 APInt Tmp(numBits, yytext, len, 10);
1962 uint32_t minBits = Tmp.getMinSignedBits();
1963 if (minBits > 0 && minBits < numBits)
1964 Tmp.trunc(minBits);
1965 if (Tmp.getBitWidth() > 64) {
1966 llvmAsmlval.APIntVal = new APInt(Tmp);
1967 return ESAPINTVAL;
1968 } else {
1969 llvmAsmlval.SInt64Val = Tmp.getSExtValue();
1970 return ESINT64VAL;
1971 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001972 }
1973 YY_BREAK
Reid Spencer67d8ed92007-03-22 02:14:08 +00001974case 129:
Reid Spencer6f407902007-01-13 05:00:46 +00001975YY_RULE_SETUP
Reid Spencer67d8ed92007-03-22 02:14:08 +00001976#line 396 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer38c91a92007-02-28 02:24:54 +00001977{ int len = strlen(yytext+3) - 3;
1978 uint32_t bits = len * 4;
1979 APInt Tmp(bits, yytext+3, len, 16);
1980 uint32_t activeBits = Tmp.getActiveBits();
1981 if (activeBits > 0 && activeBits < bits)
1982 Tmp.trunc(activeBits);
1983 if (Tmp.getBitWidth() > 64) {
1984 llvmAsmlval.APIntVal = new APInt(Tmp);
1985 return yytext[0] == 's' ? ESAPINTVAL : EUAPINTVAL;
1986 } else if (yytext[0] == 's') {
1987 llvmAsmlval.SInt64Val = Tmp.getSExtValue();
1988 return ESINT64VAL;
1989 } else {
1990 llvmAsmlval.UInt64Val = Tmp.getZExtValue();
1991 return EUINT64VAL;
1992 }
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001993 }
Reid Spencer6f407902007-01-13 05:00:46 +00001994 YY_BREAK
Reid Spencer67d8ed92007-03-22 02:14:08 +00001995case 130:
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001996YY_RULE_SETUP
Reid Spencer67d8ed92007-03-22 02:14:08 +00001997#line 414 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001998{
Reid Spencer832254e2007-02-02 02:16:23 +00001999 uint64_t Val = atoull(yytext+1);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002000 if ((unsigned)Val != Val)
2001 GenerateError("Invalid value number (too large)!");
2002 llvmAsmlval.UIntVal = unsigned(Val);
2003 return LOCALVAL_ID;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002004 }
2005 YY_BREAK
Reid Spencer67d8ed92007-03-22 02:14:08 +00002006case 131:
Owen Anderson1dc69692006-10-18 02:21:48 +00002007YY_RULE_SETUP
Reid Spencer67d8ed92007-03-22 02:14:08 +00002008#line 421 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002009{
Reid Spencer832254e2007-02-02 02:16:23 +00002010 uint64_t Val = atoull(yytext+1);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002011 if ((unsigned)Val != Val)
2012 GenerateError("Invalid value number (too large)!");
2013 llvmAsmlval.UIntVal = unsigned(Val);
2014 return GLOBALVAL_ID;
2015 }
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002016 YY_BREAK
Reid Spencer67d8ed92007-03-22 02:14:08 +00002017case 132:
Reid Spencer6f407902007-01-13 05:00:46 +00002018YY_RULE_SETUP
Reid Spencer67d8ed92007-03-22 02:14:08 +00002019#line 429 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer832254e2007-02-02 02:16:23 +00002020{ llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
Reid Spencer6f407902007-01-13 05:00:46 +00002021 YY_BREAK
Reid Spencer67d8ed92007-03-22 02:14:08 +00002022case 133:
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002023YY_RULE_SETUP
Reid Spencer67d8ed92007-03-22 02:14:08 +00002024#line 430 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer832254e2007-02-02 02:16:23 +00002025{ llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002026 YY_BREAK
2027case YY_STATE_EOF(INITIAL):
Reid Spencer67d8ed92007-03-22 02:14:08 +00002028#line 432 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002029{
2030 /* Make sure to free the internal buffers for flex when we are
2031 * done reading our input!
2032 */
Reid Spencer832254e2007-02-02 02:16:23 +00002033 yy_delete_buffer(YY_CURRENT_BUFFER);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002034 return EOF;
2035 }
2036 YY_BREAK
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002037case 134:
2038YY_RULE_SETUP
Reid Spencer67d8ed92007-03-22 02:14:08 +00002039#line 440 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
2040{ /* Ignore whitespace */ }
2041 YY_BREAK
2042case 135:
2043YY_RULE_SETUP
Reid Spencer38c91a92007-02-28 02:24:54 +00002044#line 441 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer67d8ed92007-03-22 02:14:08 +00002045{ return yytext[0]; }
2046 YY_BREAK
2047case 136:
2048YY_RULE_SETUP
2049#line 443 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002050YY_FATAL_ERROR( "flex scanner jammed" );
2051 YY_BREAK
Reid Spencer83145c32007-03-28 02:37:40 +00002052#line 2053 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002053
2054 case YY_END_OF_BUFFER:
2055 {
2056 /* Amount of text matched not including the EOB char. */
Reid Spencer832254e2007-02-02 02:16:23 +00002057 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002058
2059 /* Undo the effects of YY_DO_BEFORE_ACTION. */
Reid Spencer832254e2007-02-02 02:16:23 +00002060 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002061 YY_RESTORE_YY_MORE_OFFSET
2062
Reid Spencer832254e2007-02-02 02:16:23 +00002063 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002064 {
2065 /* We're scanning a new file or input source. It's
2066 * possible that this happened because the user
Reid Spencer832254e2007-02-02 02:16:23 +00002067 * just pointed yyin at a new source and called
2068 * yylex(). If so, then we have to assure
2069 * consistency between yy_current_buffer and our
Reid Spencer68a24bd2005-08-27 18:50:39 +00002070 * globals. Here is the right place to do so, because
2071 * this is the first action (other than possibly a
2072 * back-up) that will match for the new input source.
2073 */
Reid Spencer832254e2007-02-02 02:16:23 +00002074 yy_n_chars = yy_current_buffer->yy_n_chars;
2075 yy_current_buffer->yy_input_file = yyin;
2076 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002077 }
2078
2079 /* Note that here we test for yy_c_buf_p "<=" to the position
2080 * of the first EOB in the buffer, since yy_c_buf_p will
2081 * already have been incremented past the NUL character
2082 * (since all states make transitions on EOB to the
2083 * end-of-buffer state). Contrast this with the test
2084 * in input().
2085 */
Reid Spencer832254e2007-02-02 02:16:23 +00002086 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002087 { /* This was really a NUL. */
2088 yy_state_type yy_next_state;
2089
Reid Spencer832254e2007-02-02 02:16:23 +00002090 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002091
Reid Spencer832254e2007-02-02 02:16:23 +00002092 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002093
2094 /* Okay, we're now positioned to make the NUL
2095 * transition. We couldn't have
2096 * yy_get_previous_state() go ahead and do it
2097 * for us because it doesn't know how to deal
2098 * with the possibility of jamming (and we don't
2099 * want to build jamming into it because then it
2100 * will run more slowly).
2101 */
2102
2103 yy_next_state = yy_try_NUL_trans( yy_current_state );
2104
Reid Spencer832254e2007-02-02 02:16:23 +00002105 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002106
2107 if ( yy_next_state )
2108 {
2109 /* Consume the NUL. */
Reid Spencer832254e2007-02-02 02:16:23 +00002110 yy_cp = ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002111 yy_current_state = yy_next_state;
2112 goto yy_match;
2113 }
2114
2115 else
2116 {
Reid Spencer832254e2007-02-02 02:16:23 +00002117 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002118 goto yy_find_action;
2119 }
2120 }
2121
Reid Spencer832254e2007-02-02 02:16:23 +00002122 else switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002123 {
2124 case EOB_ACT_END_OF_FILE:
2125 {
Reid Spencer832254e2007-02-02 02:16:23 +00002126 yy_did_buffer_switch_on_eof = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002127
Reid Spencer832254e2007-02-02 02:16:23 +00002128 if ( yywrap() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002129 {
2130 /* Note: because we've taken care in
2131 * yy_get_next_buffer() to have set up
Reid Spencer832254e2007-02-02 02:16:23 +00002132 * yytext, we can now set up
Reid Spencer68a24bd2005-08-27 18:50:39 +00002133 * yy_c_buf_p so that if some total
2134 * hoser (like flex itself) wants to
2135 * call the scanner after we return the
2136 * YY_NULL, it'll still work - another
2137 * YY_NULL will get returned.
2138 */
Reid Spencer832254e2007-02-02 02:16:23 +00002139 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002140
2141 yy_act = YY_STATE_EOF(YY_START);
2142 goto do_action;
2143 }
2144
2145 else
2146 {
Reid Spencer832254e2007-02-02 02:16:23 +00002147 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002148 YY_NEW_FILE;
2149 }
2150 break;
2151 }
2152
2153 case EOB_ACT_CONTINUE_SCAN:
Reid Spencer832254e2007-02-02 02:16:23 +00002154 yy_c_buf_p =
2155 yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002156
Reid Spencer832254e2007-02-02 02:16:23 +00002157 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002158
Reid Spencer832254e2007-02-02 02:16:23 +00002159 yy_cp = yy_c_buf_p;
2160 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002161 goto yy_match;
2162
2163 case EOB_ACT_LAST_MATCH:
Reid Spencer832254e2007-02-02 02:16:23 +00002164 yy_c_buf_p =
2165 &yy_current_buffer->yy_ch_buf[yy_n_chars];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002166
Reid Spencer832254e2007-02-02 02:16:23 +00002167 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002168
Reid Spencer832254e2007-02-02 02:16:23 +00002169 yy_cp = yy_c_buf_p;
2170 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002171 goto yy_find_action;
2172 }
2173 break;
2174 }
2175
2176 default:
2177 YY_FATAL_ERROR(
2178 "fatal flex scanner internal error--no action found" );
2179 } /* end of action switch */
2180 } /* end of scanning one token */
Reid Spencer832254e2007-02-02 02:16:23 +00002181 } /* end of yylex */
2182
Reid Spencer68a24bd2005-08-27 18:50:39 +00002183
2184/* yy_get_next_buffer - try to read in a new buffer
2185 *
2186 * Returns a code representing an action:
2187 * EOB_ACT_LAST_MATCH -
2188 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2189 * EOB_ACT_END_OF_FILE - end of file
2190 */
Reid Spencer832254e2007-02-02 02:16:23 +00002191
2192static int yy_get_next_buffer()
2193 {
2194 register char *dest = yy_current_buffer->yy_ch_buf;
2195 register char *source = yytext_ptr;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002196 register int number_to_move, i;
2197 int ret_val;
2198
Reid Spencer832254e2007-02-02 02:16:23 +00002199 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002200 YY_FATAL_ERROR(
2201 "fatal flex scanner internal error--end of buffer missed" );
2202
Reid Spencer832254e2007-02-02 02:16:23 +00002203 if ( yy_current_buffer->yy_fill_buffer == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002204 { /* Don't try to fill the buffer, so this is an EOF. */
Reid Spencer832254e2007-02-02 02:16:23 +00002205 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002206 {
2207 /* We matched a single character, the EOB, so
2208 * treat this as a final EOF.
2209 */
2210 return EOB_ACT_END_OF_FILE;
2211 }
2212
2213 else
2214 {
2215 /* We matched some text prior to the EOB, first
2216 * process it.
2217 */
2218 return EOB_ACT_LAST_MATCH;
2219 }
2220 }
2221
2222 /* Try to read more data. */
2223
2224 /* First move last chars to start of buffer. */
Reid Spencer832254e2007-02-02 02:16:23 +00002225 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002226
2227 for ( i = 0; i < number_to_move; ++i )
2228 *(dest++) = *(source++);
2229
Reid Spencer832254e2007-02-02 02:16:23 +00002230 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002231 /* don't do the read, it's not guaranteed to return an EOF,
2232 * just force an EOF
2233 */
Reid Spencer832254e2007-02-02 02:16:23 +00002234 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002235
2236 else
2237 {
Reid Spencer832254e2007-02-02 02:16:23 +00002238 int num_to_read =
2239 yy_current_buffer->yy_buf_size - number_to_move - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002240
2241 while ( num_to_read <= 0 )
2242 { /* Not enough room in the buffer - grow it. */
Reid Spencer832254e2007-02-02 02:16:23 +00002243#ifdef YY_USES_REJECT
2244 YY_FATAL_ERROR(
2245"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
2246#else
Reid Spencer68a24bd2005-08-27 18:50:39 +00002247
2248 /* just a shorter name for the current buffer */
Reid Spencer832254e2007-02-02 02:16:23 +00002249 YY_BUFFER_STATE b = yy_current_buffer;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002250
2251 int yy_c_buf_p_offset =
Reid Spencer832254e2007-02-02 02:16:23 +00002252 (int) (yy_c_buf_p - b->yy_ch_buf);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002253
2254 if ( b->yy_is_our_buffer )
2255 {
2256 int new_size = b->yy_buf_size * 2;
2257
2258 if ( new_size <= 0 )
2259 b->yy_buf_size += b->yy_buf_size / 8;
2260 else
2261 b->yy_buf_size *= 2;
2262
2263 b->yy_ch_buf = (char *)
2264 /* Include room in for 2 EOB chars. */
Reid Spencer832254e2007-02-02 02:16:23 +00002265 yy_flex_realloc( (void *) b->yy_ch_buf,
2266 b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002267 }
2268 else
2269 /* Can't grow it, we don't own it. */
2270 b->yy_ch_buf = 0;
2271
2272 if ( ! b->yy_ch_buf )
2273 YY_FATAL_ERROR(
2274 "fatal error - scanner input buffer overflow" );
2275
Reid Spencer832254e2007-02-02 02:16:23 +00002276 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002277
Reid Spencer832254e2007-02-02 02:16:23 +00002278 num_to_read = yy_current_buffer->yy_buf_size -
Reid Spencer68a24bd2005-08-27 18:50:39 +00002279 number_to_move - 1;
Reid Spencer832254e2007-02-02 02:16:23 +00002280#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002281 }
2282
2283 if ( num_to_read > YY_READ_BUF_SIZE )
2284 num_to_read = YY_READ_BUF_SIZE;
2285
2286 /* Read in more data. */
Reid Spencer832254e2007-02-02 02:16:23 +00002287 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
2288 yy_n_chars, num_to_read );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002289
Reid Spencer832254e2007-02-02 02:16:23 +00002290 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002291 }
2292
Reid Spencer832254e2007-02-02 02:16:23 +00002293 if ( yy_n_chars == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002294 {
2295 if ( number_to_move == YY_MORE_ADJ )
2296 {
2297 ret_val = EOB_ACT_END_OF_FILE;
Reid Spencer832254e2007-02-02 02:16:23 +00002298 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002299 }
2300
2301 else
2302 {
2303 ret_val = EOB_ACT_LAST_MATCH;
Reid Spencer832254e2007-02-02 02:16:23 +00002304 yy_current_buffer->yy_buffer_status =
Reid Spencer68a24bd2005-08-27 18:50:39 +00002305 YY_BUFFER_EOF_PENDING;
2306 }
2307 }
2308
2309 else
2310 ret_val = EOB_ACT_CONTINUE_SCAN;
2311
Reid Spencer832254e2007-02-02 02:16:23 +00002312 yy_n_chars += number_to_move;
2313 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2314 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002315
Reid Spencer832254e2007-02-02 02:16:23 +00002316 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002317
2318 return ret_val;
Reid Spencer832254e2007-02-02 02:16:23 +00002319 }
2320
Reid Spencer68a24bd2005-08-27 18:50:39 +00002321
2322/* yy_get_previous_state - get the state just before the EOB char was reached */
2323
Reid Spencer832254e2007-02-02 02:16:23 +00002324static yy_state_type yy_get_previous_state()
2325 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002326 register yy_state_type yy_current_state;
2327 register char *yy_cp;
2328
Reid Spencer832254e2007-02-02 02:16:23 +00002329 yy_current_state = yy_start;
2330 yy_state_ptr = yy_state_buf;
2331 *yy_state_ptr++ = yy_current_state;
2332
2333 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002334 {
2335 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2336 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2337 {
2338 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencer83145c32007-03-28 02:37:40 +00002339 if ( yy_current_state >= 548 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002340 yy_c = yy_meta[(unsigned int) yy_c];
2341 }
2342 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencer832254e2007-02-02 02:16:23 +00002343 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002344 }
2345
2346 return yy_current_state;
Reid Spencer832254e2007-02-02 02:16:23 +00002347 }
2348
Reid Spencer68a24bd2005-08-27 18:50:39 +00002349
2350/* yy_try_NUL_trans - try to make a transition on the NUL character
2351 *
2352 * synopsis
2353 * next_state = yy_try_NUL_trans( current_state );
2354 */
Reid Spencer832254e2007-02-02 02:16:23 +00002355
2356#ifdef YY_USE_PROTOS
2357static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
2358#else
2359static yy_state_type yy_try_NUL_trans( yy_current_state )
2360yy_state_type yy_current_state;
2361#endif
2362 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002363 register int yy_is_jam;
2364
2365 register YY_CHAR yy_c = 1;
2366 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2367 {
2368 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencer83145c32007-03-28 02:37:40 +00002369 if ( yy_current_state >= 548 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002370 yy_c = yy_meta[(unsigned int) yy_c];
2371 }
2372 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencer83145c32007-03-28 02:37:40 +00002373 yy_is_jam = (yy_current_state == 547);
Reid Spencer832254e2007-02-02 02:16:23 +00002374 if ( ! yy_is_jam )
2375 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002376
2377 return yy_is_jam ? 0 : yy_current_state;
Reid Spencer832254e2007-02-02 02:16:23 +00002378 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002379
2380
Reid Spencer832254e2007-02-02 02:16:23 +00002381#ifndef YY_NO_UNPUT
2382#ifdef YY_USE_PROTOS
2383static inline void yyunput( int c, register char *yy_bp )
2384#else
2385static inline void yyunput( c, yy_bp )
2386int c;
2387register char *yy_bp;
2388#endif
2389 {
2390 register char *yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002391
Reid Spencer832254e2007-02-02 02:16:23 +00002392 /* undo effects of setting up yytext */
2393 *yy_cp = yy_hold_char;
2394
2395 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002396 { /* need to shift things up to make room */
2397 /* +2 for EOB chars. */
Reid Spencer832254e2007-02-02 02:16:23 +00002398 register int number_to_move = yy_n_chars + 2;
2399 register char *dest = &yy_current_buffer->yy_ch_buf[
2400 yy_current_buffer->yy_buf_size + 2];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002401 register char *source =
Reid Spencer832254e2007-02-02 02:16:23 +00002402 &yy_current_buffer->yy_ch_buf[number_to_move];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002403
Reid Spencer832254e2007-02-02 02:16:23 +00002404 while ( source > yy_current_buffer->yy_ch_buf )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002405 *--dest = *--source;
2406
2407 yy_cp += (int) (dest - source);
2408 yy_bp += (int) (dest - source);
Reid Spencer832254e2007-02-02 02:16:23 +00002409 yy_current_buffer->yy_n_chars =
2410 yy_n_chars = yy_current_buffer->yy_buf_size;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002411
Reid Spencer832254e2007-02-02 02:16:23 +00002412 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002413 YY_FATAL_ERROR( "flex scanner push-back overflow" );
2414 }
2415
2416 *--yy_cp = (char) c;
2417
Reid Spencer832254e2007-02-02 02:16:23 +00002418 if ( c == '\n' )
2419 --yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002420
Reid Spencer832254e2007-02-02 02:16:23 +00002421 yytext_ptr = yy_bp;
2422 yy_hold_char = *yy_cp;
2423 yy_c_buf_p = yy_cp;
2424 }
2425#endif /* ifndef YY_NO_UNPUT */
2426
Reid Spencer6f407902007-01-13 05:00:46 +00002427
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002428#ifndef YY_NO_INPUT
Reid Spencer68a24bd2005-08-27 18:50:39 +00002429#ifdef __cplusplus
Reid Spencer832254e2007-02-02 02:16:23 +00002430static int yyinput()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002431#else
Reid Spencer832254e2007-02-02 02:16:23 +00002432static int input()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002433#endif
Reid Spencer832254e2007-02-02 02:16:23 +00002434 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002435 int c;
2436
Reid Spencer832254e2007-02-02 02:16:23 +00002437 *yy_c_buf_p = yy_hold_char;
2438
2439 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002440 {
2441 /* yy_c_buf_p now points to the character we want to return.
2442 * If this occurs *before* the EOB characters, then it's a
2443 * valid NUL; if not, then we've hit the end of the buffer.
2444 */
Reid Spencer832254e2007-02-02 02:16:23 +00002445 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002446 /* This was really a NUL. */
Reid Spencer832254e2007-02-02 02:16:23 +00002447 *yy_c_buf_p = '\0';
Reid Spencer68a24bd2005-08-27 18:50:39 +00002448
2449 else
2450 { /* need more input */
Reid Spencer832254e2007-02-02 02:16:23 +00002451 int offset = yy_c_buf_p - yytext_ptr;
2452 ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002453
Reid Spencer832254e2007-02-02 02:16:23 +00002454 switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002455 {
2456 case EOB_ACT_LAST_MATCH:
2457 /* This happens because yy_g_n_b()
2458 * sees that we've accumulated a
2459 * token and flags that we need to
2460 * try matching the token before
2461 * proceeding. But for input(),
2462 * there's no matching to consider.
2463 * So convert the EOB_ACT_LAST_MATCH
2464 * to EOB_ACT_END_OF_FILE.
2465 */
2466
2467 /* Reset buffer status. */
Reid Spencer832254e2007-02-02 02:16:23 +00002468 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002469
Reid Spencer832254e2007-02-02 02:16:23 +00002470 /* fall through */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002471
2472 case EOB_ACT_END_OF_FILE:
2473 {
Reid Spencer832254e2007-02-02 02:16:23 +00002474 if ( yywrap() )
Reid Spencer61c83e02006-08-18 08:43:06 +00002475 return EOF;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002476
Reid Spencer832254e2007-02-02 02:16:23 +00002477 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002478 YY_NEW_FILE;
2479#ifdef __cplusplus
2480 return yyinput();
2481#else
2482 return input();
2483#endif
2484 }
2485
2486 case EOB_ACT_CONTINUE_SCAN:
Reid Spencer832254e2007-02-02 02:16:23 +00002487 yy_c_buf_p = yytext_ptr + offset;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002488 break;
2489 }
2490 }
2491 }
2492
Reid Spencer832254e2007-02-02 02:16:23 +00002493 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
2494 *yy_c_buf_p = '\0'; /* preserve yytext */
2495 yy_hold_char = *++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002496
2497 if ( c == '\n' )
Reid Spencer832254e2007-02-02 02:16:23 +00002498 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002499
2500 return c;
Reid Spencer832254e2007-02-02 02:16:23 +00002501 }
2502#endif /* YY_NO_INPUT */
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002503
Reid Spencer832254e2007-02-02 02:16:23 +00002504#ifdef YY_USE_PROTOS
2505void yyrestart( FILE *input_file )
2506#else
2507void yyrestart( input_file )
2508FILE *input_file;
2509#endif
2510 {
2511 if ( ! yy_current_buffer )
2512 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
2513
2514 yy_init_buffer( yy_current_buffer, input_file );
2515 yy_load_buffer_state();
Reid Spencer6f407902007-01-13 05:00:46 +00002516 }
Reid Spencer41dff5e2007-01-26 08:05:27 +00002517
Reid Spencer68a24bd2005-08-27 18:50:39 +00002518
Reid Spencer832254e2007-02-02 02:16:23 +00002519#ifdef YY_USE_PROTOS
2520void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
2521#else
2522void yy_switch_to_buffer( new_buffer )
2523YY_BUFFER_STATE new_buffer;
2524#endif
2525 {
2526 if ( yy_current_buffer == new_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002527 return;
2528
Reid Spencer832254e2007-02-02 02:16:23 +00002529 if ( yy_current_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002530 {
2531 /* Flush out information for old buffer. */
Reid Spencer832254e2007-02-02 02:16:23 +00002532 *yy_c_buf_p = yy_hold_char;
2533 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
2534 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002535 }
2536
Reid Spencer832254e2007-02-02 02:16:23 +00002537 yy_current_buffer = new_buffer;
2538 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002539
2540 /* We don't actually know whether we did this switch during
Reid Spencer832254e2007-02-02 02:16:23 +00002541 * EOF (yywrap()) processing, but the only time this flag
2542 * is looked at is after yywrap() is called, so it's safe
Reid Spencer68a24bd2005-08-27 18:50:39 +00002543 * to go ahead and always set it.
2544 */
Reid Spencer832254e2007-02-02 02:16:23 +00002545 yy_did_buffer_switch_on_eof = 1;
2546 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002547
2548
Reid Spencer832254e2007-02-02 02:16:23 +00002549#ifdef YY_USE_PROTOS
2550void yy_load_buffer_state( void )
2551#else
2552void yy_load_buffer_state()
2553#endif
2554 {
2555 yy_n_chars = yy_current_buffer->yy_n_chars;
2556 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
2557 yyin = yy_current_buffer->yy_input_file;
2558 yy_hold_char = *yy_c_buf_p;
2559 }
2560
2561
2562#ifdef YY_USE_PROTOS
2563YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
2564#else
2565YY_BUFFER_STATE yy_create_buffer( file, size )
2566FILE *file;
2567int size;
2568#endif
2569 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002570 YY_BUFFER_STATE b;
Reid Spencer832254e2007-02-02 02:16:23 +00002571
2572 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002573 if ( ! b )
Reid Spencer832254e2007-02-02 02:16:23 +00002574 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002575
2576 b->yy_buf_size = size;
2577
2578 /* yy_ch_buf has to be 2 characters longer than the size given because
2579 * we need to put in 2 end-of-buffer characters.
2580 */
Reid Spencer832254e2007-02-02 02:16:23 +00002581 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002582 if ( ! b->yy_ch_buf )
Reid Spencer832254e2007-02-02 02:16:23 +00002583 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002584
2585 b->yy_is_our_buffer = 1;
2586
Reid Spencer832254e2007-02-02 02:16:23 +00002587 yy_init_buffer( b, file );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002588
2589 return b;
Reid Spencer832254e2007-02-02 02:16:23 +00002590 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002591
Reid Spencer832254e2007-02-02 02:16:23 +00002592
2593#ifdef YY_USE_PROTOS
2594void yy_delete_buffer( YY_BUFFER_STATE b )
2595#else
2596void yy_delete_buffer( b )
2597YY_BUFFER_STATE b;
2598#endif
2599 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002600 if ( ! b )
2601 return;
2602
Reid Spencer832254e2007-02-02 02:16:23 +00002603 if ( b == yy_current_buffer )
2604 yy_current_buffer = (YY_BUFFER_STATE) 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002605
2606 if ( b->yy_is_our_buffer )
Reid Spencer832254e2007-02-02 02:16:23 +00002607 yy_flex_free( (void *) b->yy_ch_buf );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002608
Reid Spencer832254e2007-02-02 02:16:23 +00002609 yy_flex_free( (void *) b );
2610 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002611
2612
Reid Spencer832254e2007-02-02 02:16:23 +00002613
2614#ifdef YY_USE_PROTOS
2615void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
2616#else
2617void yy_init_buffer( b, file )
2618YY_BUFFER_STATE b;
2619FILE *file;
2620#endif
2621
2622
2623 {
2624 yy_flush_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002625
2626 b->yy_input_file = file;
2627 b->yy_fill_buffer = 1;
2628
Reid Spencer832254e2007-02-02 02:16:23 +00002629#if YY_ALWAYS_INTERACTIVE
2630 b->yy_is_interactive = 1;
2631#else
2632#if YY_NEVER_INTERACTIVE
2633 b->yy_is_interactive = 0;
2634#else
2635 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
2636#endif
2637#endif
2638 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002639
2640
Reid Spencer832254e2007-02-02 02:16:23 +00002641#ifdef YY_USE_PROTOS
2642void yy_flush_buffer( YY_BUFFER_STATE b )
2643#else
2644void yy_flush_buffer( b )
2645YY_BUFFER_STATE b;
2646#endif
2647
2648 {
2649 if ( ! b )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002650 return;
2651
2652 b->yy_n_chars = 0;
2653
2654 /* We always need two end-of-buffer characters. The first causes
2655 * a transition to the end-of-buffer state. The second causes
2656 * a jam in that state.
2657 */
2658 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2659 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2660
2661 b->yy_buf_pos = &b->yy_ch_buf[0];
2662
2663 b->yy_at_bol = 1;
2664 b->yy_buffer_status = YY_BUFFER_NEW;
2665
Reid Spencer832254e2007-02-02 02:16:23 +00002666 if ( b == yy_current_buffer )
2667 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002668 }
2669
2670
Reid Spencer832254e2007-02-02 02:16:23 +00002671#ifndef YY_NO_SCAN_BUFFER
2672#ifdef YY_USE_PROTOS
2673YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
2674#else
2675YY_BUFFER_STATE yy_scan_buffer( base, size )
2676char *base;
2677yy_size_t size;
2678#endif
2679 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002680 YY_BUFFER_STATE b;
Reid Spencer832254e2007-02-02 02:16:23 +00002681
Reid Spencer68a24bd2005-08-27 18:50:39 +00002682 if ( size < 2 ||
2683 base[size-2] != YY_END_OF_BUFFER_CHAR ||
2684 base[size-1] != YY_END_OF_BUFFER_CHAR )
2685 /* They forgot to leave room for the EOB's. */
2686 return 0;
2687
Reid Spencer832254e2007-02-02 02:16:23 +00002688 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002689 if ( ! b )
Reid Spencer832254e2007-02-02 02:16:23 +00002690 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002691
2692 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2693 b->yy_buf_pos = b->yy_ch_buf = base;
2694 b->yy_is_our_buffer = 0;
2695 b->yy_input_file = 0;
2696 b->yy_n_chars = b->yy_buf_size;
2697 b->yy_is_interactive = 0;
2698 b->yy_at_bol = 1;
2699 b->yy_fill_buffer = 0;
2700 b->yy_buffer_status = YY_BUFFER_NEW;
2701
Reid Spencer832254e2007-02-02 02:16:23 +00002702 yy_switch_to_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002703
2704 return b;
Reid Spencer832254e2007-02-02 02:16:23 +00002705 }
2706#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002707
2708
Reid Spencer832254e2007-02-02 02:16:23 +00002709#ifndef YY_NO_SCAN_STRING
2710#ifdef YY_USE_PROTOS
2711YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
2712#else
2713YY_BUFFER_STATE yy_scan_string( yy_str )
2714yyconst char *yy_str;
2715#endif
2716 {
2717 int len;
2718 for ( len = 0; yy_str[len]; ++len )
2719 ;
2720
2721 return yy_scan_bytes( yy_str, len );
2722 }
2723#endif
2724
2725
2726#ifndef YY_NO_SCAN_BYTES
2727#ifdef YY_USE_PROTOS
2728YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
2729#else
2730YY_BUFFER_STATE yy_scan_bytes( bytes, len )
2731yyconst char *bytes;
2732int len;
2733#endif
2734 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002735 YY_BUFFER_STATE b;
2736 char *buf;
2737 yy_size_t n;
2738 int i;
Reid Spencer832254e2007-02-02 02:16:23 +00002739
Reid Spencer68a24bd2005-08-27 18:50:39 +00002740 /* Get memory for full buffer, including space for trailing EOB's. */
Reid Spencer832254e2007-02-02 02:16:23 +00002741 n = len + 2;
2742 buf = (char *) yy_flex_alloc( n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002743 if ( ! buf )
Reid Spencer832254e2007-02-02 02:16:23 +00002744 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002745
Reid Spencer832254e2007-02-02 02:16:23 +00002746 for ( i = 0; i < len; ++i )
2747 buf[i] = bytes[i];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002748
Reid Spencer832254e2007-02-02 02:16:23 +00002749 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002750
Reid Spencer832254e2007-02-02 02:16:23 +00002751 b = yy_scan_buffer( buf, n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002752 if ( ! b )
Reid Spencer832254e2007-02-02 02:16:23 +00002753 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002754
2755 /* It's okay to grow etc. this buffer, and we should throw it
2756 * away when we're done.
2757 */
2758 b->yy_is_our_buffer = 1;
2759
2760 return b;
Reid Spencer832254e2007-02-02 02:16:23 +00002761 }
2762#endif
2763
2764
2765#ifndef YY_NO_PUSH_STATE
2766#ifdef YY_USE_PROTOS
2767static void yy_push_state( int new_state )
2768#else
2769static void yy_push_state( new_state )
2770int new_state;
2771#endif
2772 {
2773 if ( yy_start_stack_ptr >= yy_start_stack_depth )
2774 {
2775 yy_size_t new_size;
2776
2777 yy_start_stack_depth += YY_START_STACK_INCR;
2778 new_size = yy_start_stack_depth * sizeof( int );
2779
2780 if ( ! yy_start_stack )
2781 yy_start_stack = (int *) yy_flex_alloc( new_size );
2782
2783 else
2784 yy_start_stack = (int *) yy_flex_realloc(
2785 (void *) yy_start_stack, new_size );
2786
2787 if ( ! yy_start_stack )
2788 YY_FATAL_ERROR(
2789 "out of memory expanding start-condition stack" );
2790 }
2791
2792 yy_start_stack[yy_start_stack_ptr++] = YY_START;
2793
2794 BEGIN(new_state);
2795 }
2796#endif
2797
2798
2799#ifndef YY_NO_POP_STATE
2800static void yy_pop_state()
2801 {
2802 if ( --yy_start_stack_ptr < 0 )
2803 YY_FATAL_ERROR( "start-condition stack underflow" );
2804
2805 BEGIN(yy_start_stack[yy_start_stack_ptr]);
2806 }
2807#endif
2808
2809
2810#ifndef YY_NO_TOP_STATE
2811static int yy_top_state()
2812 {
2813 return yy_start_stack[yy_start_stack_ptr - 1];
2814 }
2815#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002816
2817#ifndef YY_EXIT_FAILURE
2818#define YY_EXIT_FAILURE 2
2819#endif
2820
Reid Spencer832254e2007-02-02 02:16:23 +00002821#ifdef YY_USE_PROTOS
2822static void yy_fatal_error( yyconst char msg[] )
2823#else
2824static void yy_fatal_error( msg )
2825char msg[];
2826#endif
2827 {
2828 (void) fprintf( stderr, "%s\n", msg );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002829 exit( YY_EXIT_FAILURE );
Reid Spencer832254e2007-02-02 02:16:23 +00002830 }
2831
2832
Reid Spencer68a24bd2005-08-27 18:50:39 +00002833
2834/* Redefine yyless() so it works in section 3 code. */
2835
2836#undef yyless
2837#define yyless(n) \
2838 do \
2839 { \
Reid Spencer832254e2007-02-02 02:16:23 +00002840 /* Undo effects of setting up yytext. */ \
2841 yytext[yyleng] = yy_hold_char; \
2842 yy_c_buf_p = yytext + n; \
2843 yy_hold_char = *yy_c_buf_p; \
2844 *yy_c_buf_p = '\0'; \
2845 yyleng = n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00002846 } \
2847 while ( 0 )
2848
2849
Reid Spencer832254e2007-02-02 02:16:23 +00002850/* Internal utility routines. */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002851
2852#ifndef yytext_ptr
Reid Spencer832254e2007-02-02 02:16:23 +00002853#ifdef YY_USE_PROTOS
2854static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
2855#else
2856static void yy_flex_strncpy( s1, s2, n )
2857char *s1;
2858yyconst char *s2;
2859int n;
2860#endif
2861 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002862 register int i;
2863 for ( i = 0; i < n; ++i )
2864 s1[i] = s2[i];
Reid Spencer832254e2007-02-02 02:16:23 +00002865 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002866#endif
2867
2868#ifdef YY_NEED_STRLEN
Reid Spencer832254e2007-02-02 02:16:23 +00002869#ifdef YY_USE_PROTOS
2870static int yy_flex_strlen( yyconst char *s )
2871#else
2872static int yy_flex_strlen( s )
2873yyconst char *s;
2874#endif
2875 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002876 register int n;
2877 for ( n = 0; s[n]; ++n )
2878 ;
2879
2880 return n;
Reid Spencer832254e2007-02-02 02:16:23 +00002881 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002882#endif
2883
Reid Spencer6f407902007-01-13 05:00:46 +00002884
Reid Spencer832254e2007-02-02 02:16:23 +00002885#ifdef YY_USE_PROTOS
2886static void *yy_flex_alloc( yy_size_t size )
2887#else
2888static void *yy_flex_alloc( size )
2889yy_size_t size;
2890#endif
2891 {
2892 return (void *) malloc( size );
2893 }
2894
2895#ifdef YY_USE_PROTOS
2896static inline void *yy_flex_realloc( void *ptr, yy_size_t size )
2897#else
2898static inline void *yy_flex_realloc( ptr, size )
2899void *ptr;
2900yy_size_t size;
2901#endif
2902 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002903 /* The cast to (char *) in the following accommodates both
2904 * implementations that use char* generic pointers, and those
2905 * that use void* generic pointers. It works with the latter
2906 * because both ANSI C and C++ allow castless assignment from
2907 * any pointer type to void*, and deal with argument conversions
2908 * as though doing an assignment.
2909 */
2910 return (void *) realloc( (char *) ptr, size );
Reid Spencer832254e2007-02-02 02:16:23 +00002911 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002912
Reid Spencer832254e2007-02-02 02:16:23 +00002913#ifdef YY_USE_PROTOS
2914static void yy_flex_free( void *ptr )
2915#else
2916static void yy_flex_free( ptr )
2917void *ptr;
2918#endif
2919 {
2920 free( ptr );
2921 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002922
Reid Spencer832254e2007-02-02 02:16:23 +00002923#if YY_MAIN
2924int main()
2925 {
2926 yylex();
2927 return 0;
2928 }
2929#endif
Reid Spencer67d8ed92007-03-22 02:14:08 +00002930#line 443 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Chris Lattner2fecc0f2006-02-15 07:02:59 +00002931