blob: 85a95026a3599fab84733eb2e2ec8383f290719d [file] [log] [blame]
Reid Spencered951ea2007-05-19 07:22:10 +00001#define yy_create_buffer llvmAsm_create_buffer
2#define yy_delete_buffer llvmAsm_delete_buffer
3#define yy_scan_buffer llvmAsm_scan_buffer
4#define yy_scan_string llvmAsm_scan_string
5#define yy_scan_bytes llvmAsm_scan_bytes
6#define yy_flex_debug llvmAsm_flex_debug
7#define yy_init_buffer llvmAsm_init_buffer
8#define yy_flush_buffer llvmAsm_flush_buffer
9#define yy_load_buffer_state llvmAsm_load_buffer_state
10#define yy_switch_to_buffer llvmAsm_switch_to_buffer
11#define yyin llvmAsmin
12#define yyleng llvmAsmleng
13#define yylex llvmAsmlex
14#define yyout llvmAsmout
15#define yyrestart llvmAsmrestart
16#define yytext llvmAsmtext
17#define yylineno llvmAsmlineno
Reid Spencer68a24bd2005-08-27 18:50:39 +000018
Reid Spencered951ea2007-05-19 07:22:10 +000019#line 20 "Lexer.cpp"
Reid Spencer0a8a16b2007-05-22 18:52:55 +000020/* A lexical scanner generated by flex*/
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +000021
Reid Spencered951ea2007-05-19 07:22:10 +000022/* Scanner skeleton version:
23 * $Header$
24 */
Reid Spencer68a24bd2005-08-27 18:50:39 +000025
Reid Spencer68a24bd2005-08-27 18:50:39 +000026#define FLEX_SCANNER
27#define YY_FLEX_MAJOR_VERSION 2
28#define YY_FLEX_MINOR_VERSION 5
29
30#include <stdio.h>
Reid Spencer0a8a16b2007-05-22 18:52:55 +000031#include <unistd.h>
Reid Spencer9c9b63a2007-04-28 16:07:31 +000032
Anton Korobeynikovf52e6082007-04-29 18:38:24 +000033
Reid Spencered951ea2007-05-19 07:22:10 +000034/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
35#ifdef c_plusplus
36#ifndef __cplusplus
37#define __cplusplus
38#endif
Anton Korobeynikovf52e6082007-04-29 18:38:24 +000039#endif
40
Anton Korobeynikovf52e6082007-04-29 18:38:24 +000041
42#ifdef __cplusplus
Reid Spencer9c9b63a2007-04-28 16:07:31 +000043
Reid Spencered951ea2007-05-19 07:22:10 +000044#include <stdlib.h>
45
46/* Use prototypes in function declarations. */
47#define YY_USE_PROTOS
48
Reid Spencer68a24bd2005-08-27 18:50:39 +000049/* The "const" storage-class-modifier is valid. */
50#define YY_USE_CONST
51
52#else /* ! __cplusplus */
53
54#if __STDC__
55
Reid Spencered951ea2007-05-19 07:22:10 +000056#define YY_USE_PROTOS
Reid Spencer68a24bd2005-08-27 18:50:39 +000057#define YY_USE_CONST
58
59#endif /* __STDC__ */
60#endif /* ! __cplusplus */
61
Reid Spencered951ea2007-05-19 07:22:10 +000062#ifdef __TURBOC__
63 #pragma warn -rch
64 #pragma warn -use
65#include <io.h>
66#include <stdlib.h>
67#define YY_USE_CONST
68#define YY_USE_PROTOS
69#endif
70
Reid Spencer68a24bd2005-08-27 18:50:39 +000071#ifdef YY_USE_CONST
72#define yyconst const
73#else
74#define yyconst
75#endif
76
Reid Spencered951ea2007-05-19 07:22:10 +000077
78#ifdef YY_USE_PROTOS
79#define YY_PROTO(proto) proto
80#else
81#define YY_PROTO(proto) ()
82#endif
83
Reid Spencer68a24bd2005-08-27 18:50:39 +000084/* Returned upon end-of-file. */
85#define YY_NULL 0
86
87/* Promotes a possibly negative, possibly signed char to an unsigned
88 * integer for use as an array index. If the signed char is negative,
89 * we want to instead treat it as an 8-bit unsigned char, hence the
90 * double cast.
91 */
92#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
93
94/* Enter a start condition. This macro really ought to take a parameter,
95 * but we do it the disgusting crufty way forced on us by the ()-less
96 * definition of BEGIN.
97 */
Reid Spencered951ea2007-05-19 07:22:10 +000098#define BEGIN yy_start = 1 + 2 *
Reid Spencer68a24bd2005-08-27 18:50:39 +000099
100/* Translate the current start state into a value that can be later handed
101 * to BEGIN to return to the state. The YYSTATE alias is for lex
102 * compatibility.
103 */
Reid Spencered951ea2007-05-19 07:22:10 +0000104#define YY_START ((yy_start - 1) / 2)
Reid Spencer68a24bd2005-08-27 18:50:39 +0000105#define YYSTATE YY_START
106
107/* Action number for EOF rule of a given start state. */
108#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
109
110/* Special action meaning "start processing a new file". */
Reid Spencered951ea2007-05-19 07:22:10 +0000111#define YY_NEW_FILE yyrestart( yyin )
Reid Spencer68a24bd2005-08-27 18:50:39 +0000112
113#define YY_END_OF_BUFFER_CHAR 0
114
115/* Size of default input buffer. */
116#define YY_BUF_SIZE (16384*64)
117
118typedef struct yy_buffer_state *YY_BUFFER_STATE;
119
Reid Spencered951ea2007-05-19 07:22:10 +0000120extern int yyleng;
121extern FILE *yyin, *yyout;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000122
123#define EOB_ACT_CONTINUE_SCAN 0
124#define EOB_ACT_END_OF_FILE 1
125#define EOB_ACT_LAST_MATCH 2
126
Reid Spencered951ea2007-05-19 07:22:10 +0000127/* The funky do-while in the following #define is used to turn the definition
128 * int a single C statement (which needs a semi-colon terminator). This
129 * avoids problems with code like:
130 *
131 * if ( condition_holds )
132 * yyless( 5 );
133 * else
134 * do_something_else();
135 *
136 * Prior to using the do-while the compiler would get upset at the
137 * "else" because it interpreted the "if" statement as being all
138 * done when it reached the ';' after the yyless() call.
139 */
140
141/* Return all but the first 'n' matched characters back to the input stream. */
142
Reid Spencer68a24bd2005-08-27 18:50:39 +0000143#define yyless(n) \
144 do \
145 { \
Reid Spencered951ea2007-05-19 07:22:10 +0000146 /* Undo effects of setting up yytext. */ \
147 *yy_cp = yy_hold_char; \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000148 YY_RESTORE_YY_MORE_OFFSET \
Reid Spencered951ea2007-05-19 07:22:10 +0000149 yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
150 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000151 } \
152 while ( 0 )
153
Reid Spencered951ea2007-05-19 07:22:10 +0000154#define unput(c) yyunput( c, yytext_ptr )
155
Reid Spencer0a8a16b2007-05-22 18:52:55 +0000156/* Some routines like yy_flex_realloc() are emitted as static but are
157 not called by all lexers. This generates warnings in some compilers,
158 notably GCC. Arrange to suppress these. */
159#ifdef __GNUC__
160#define YY_MAY_BE_UNUSED __attribute__((unused))
161#else
162#define YY_MAY_BE_UNUSED
163#endif
164
Reid Spencer68a24bd2005-08-27 18:50:39 +0000165/* The following is because we cannot portably get our hands on size_t
166 * (without autoconf's help, which isn't available because we want
167 * flex-generated scanners to compile on their own).
168 */
169typedef unsigned int yy_size_t;
170
Reid Spencered951ea2007-05-19 07:22:10 +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 Spencered951ea2007-05-19 07:22:10 +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 Korobeynikovf52e6082007-04-29 18:38:24 +0000227 };
Anton Korobeynikovf52e6082007-04-29 18:38:24 +0000228
Reid Spencered951ea2007-05-19 07:22:10 +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 Spencered951ea2007-05-19 07:22:10 +0000235#define YY_CURRENT_BUFFER yy_current_buffer
Reid Spencer68a24bd2005-08-27 18:50:39 +0000236
237
Reid Spencered951ea2007-05-19 07:22:10 +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 Spencered951ea2007-05-19 07:22:10 +0000240
Reid Spencer68a24bd2005-08-27 18:50:39 +0000241static int yy_n_chars; /* number of characters read into yy_ch_buf */
Reid Spencered951ea2007-05-19 07:22:10 +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 Spencered951ea2007-05-19 07:22:10 +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 Spencered951ea2007-05-19 07:22:10 +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 Spencered951ea2007-05-19 07:22:10 +0000256void yyrestart YY_PROTO(( FILE *input_file ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000257
Reid Spencered951ea2007-05-19 07:22:10 +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 Spencered951ea2007-05-19 07:22:10 +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 Spencered951ea2007-05-19 07:22:10 +0000270static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
Reid Spencer0a8a16b2007-05-22 18:52:55 +0000271static inline void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) YY_MAY_BE_UNUSED;
Reid Spencered951ea2007-05-19 07:22:10 +0000272static void yy_flex_free YY_PROTO(( void * ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000273
Reid Spencered951ea2007-05-19 07:22:10 +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 Spencered951ea2007-05-19 07:22:10 +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 Spencered951ea2007-05-19 07:22:10 +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 Spencered951ea2007-05-19 07:22:10 +0000290#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
Reid Spencer68a24bd2005-08-27 18:50:39 +0000291
292
Reid Spencered951ea2007-05-19 07:22:10 +0000293#define YY_USES_REJECT
294
295#define yywrap() 1
Reid Spencer68a24bd2005-08-27 18:50:39 +0000296#define YY_SKIP_YYWRAP
Anton Korobeynikovf52e6082007-04-29 18:38:24 +0000297typedef unsigned char YY_CHAR;
Reid Spencered951ea2007-05-19 07:22:10 +0000298FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
Anton Korobeynikovf52e6082007-04-29 18:38:24 +0000299typedef int yy_state_type;
Reid Spencered951ea2007-05-19 07:22:10 +0000300extern int yylineno;
301int yylineno = 1;
302extern char *yytext;
303#define yytext_ptr yytext
Anton Korobeynikovf52e6082007-04-29 18:38:24 +0000304
Reid Spencered951ea2007-05-19 07:22:10 +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 Spencered951ea2007-05-19 07:22:10 +0000311 * corresponding action - sets up yytext.
Reid Spencer68a24bd2005-08-27 18:50:39 +0000312 */
313#define YY_DO_BEFORE_ACTION \
Reid Spencered951ea2007-05-19 07:22:10 +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 Spencered951ea2007-05-19 07:22:10 +0000318 yy_c_buf_p = yy_cp;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000319
Reid Spencered951ea2007-05-19 07:22:10 +0000320#define YY_NUM_RULES 139
321#define YY_END_OF_BUFFER 140
322static yyconst short int yy_acclist[220] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000323 { 0,
Reid Spencered951ea2007-05-19 07:22:10 +0000324 140, 138, 139, 137, 138, 139, 137, 139, 138, 139,
325 138, 139, 138, 139, 138, 139, 138, 139, 138, 139,
326 130, 138, 139, 130, 138, 139, 1, 138, 139, 138,
327 139, 138, 139, 138, 139, 138, 139, 138, 139, 138,
328 139, 138, 139, 138, 139, 138, 139, 138, 139, 138,
329 139, 138, 139, 138, 139, 138, 139, 138, 139, 138,
330 139, 138, 139, 138, 139, 138, 139, 138, 139, 138,
331 139, 138, 139, 138, 139, 127, 125, 123, 133, 131,
332 135, 130, 1, 124, 134, 109, 38, 72, 54, 73,
333 68, 25, 127, 129, 123, 135, 22, 135, 136, 128,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000334
Reid Spencered951ea2007-05-19 07:22:10 +0000335 124, 55, 67, 36, 39, 3, 57, 82, 87, 85,
336 86, 84, 83, 88, 92, 108, 77, 75, 64, 76,
337 74, 56, 90, 81, 79, 80, 78, 91, 89, 69,
338 126, 135, 135, 66, 93, 71, 60, 116, 63, 70,
339 117, 65, 24, 132, 59, 96, 62, 45, 26, 4,
340 52, 58, 61, 48, 12, 95, 135, 34, 32, 2,
341 5, 49, 98, 44, 51, 118, 94, 23, 115, 41,
342 7, 50, 40, 102, 101, 8, 16, 111, 114, 35,
343 53, 106, 100, 110, 27, 28, 99, 112, 107, 105,
344 6, 29, 97, 33, 9, 19, 10, 103, 11, 47,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000345
Reid Spencered951ea2007-05-19 07:22:10 +0000346 46, 104, 31, 13, 15, 14, 17, 30, 37, 18,
347 113, 20, 119, 121, 122, 42, 120, 43, 21
Reid Spencer68a24bd2005-08-27 18:50:39 +0000348 } ;
349
Reid Spencered951ea2007-05-19 07:22:10 +0000350static yyconst short int yy_accept[564] =
351 { 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, 78, 79, 80, 80, 81, 81, 82,
357 83, 83, 84, 84, 85, 86, 86, 86, 86, 86,
358 86, 86, 86, 87, 87, 88, 88, 88, 88, 88,
359 88, 88, 89, 89, 89, 89, 89, 89, 89, 89,
360 89, 89, 89, 90, 90, 90, 90, 90, 90, 90,
361 90, 90, 90, 91, 91, 91, 91, 91, 91, 91,
362
363 91, 92, 92, 92, 92, 92, 92, 92, 92, 92,
364 92, 92, 92, 92, 92, 92, 92, 92, 92, 93,
365 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
366 93, 93, 93, 93, 93, 94, 94, 95, 96, 97,
367 98, 99, 99, 100, 100, 101, 102, 103, 103, 103,
368 104, 104, 104, 105, 105, 105, 105, 106, 106, 106,
369 106, 106, 106, 106, 106, 106, 107, 107, 107, 107,
370 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
371 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
372 108, 108, 108, 108, 109, 110, 111, 112, 113, 114,
373
374 114, 115, 116, 116, 116, 117, 117, 117, 117, 117,
375 117, 118, 119, 120, 120, 120, 120, 121, 122, 122,
376 122, 123, 123, 123, 123, 123, 123, 123, 123, 123,
377 124, 125, 126, 126, 127, 128, 128, 129, 130, 130,
378 130, 130, 130, 130, 130, 130, 130, 131, 131, 131,
379 132, 133, 133, 133, 133, 134, 134, 134, 134, 134,
380 135, 135, 135, 136, 136, 136, 136, 136, 136, 136,
381 136, 136, 136, 136, 136, 136, 136, 137, 138, 138,
382 138, 138, 138, 139, 140, 140, 140, 140, 141, 141,
383 141, 141, 141, 141, 141, 141, 142, 143, 143, 143,
384
385 143, 143, 144, 144, 144, 144, 145, 146, 146, 146,
386 147, 147, 147, 147, 148, 149, 149, 149, 150, 150,
387 150, 150, 151, 151, 152, 153, 153, 153, 153, 153,
388 154, 154, 155, 155, 156, 156, 156, 157, 158, 159,
389 160, 160, 160, 161, 161, 161, 161, 161, 161, 161,
390 161, 161, 161, 161, 161, 161, 162, 162, 163, 164,
391 164, 164, 164, 164, 164, 164, 165, 165, 165, 165,
392 165, 166, 166, 166, 166, 166, 166, 166, 166, 166,
393 166, 166, 166, 166, 166, 167, 167, 167, 167, 167,
394 168, 168, 169, 169, 169, 169, 169, 169, 169, 169,
395
396 170, 170, 170, 171, 171, 171, 171, 172, 172, 172,
397 172, 173, 173, 173, 174, 175, 176, 176, 176, 177,
398 178, 178, 178, 178, 179, 179, 180, 181, 181, 181,
399 182, 182, 182, 182, 183, 183, 183, 184, 185, 186,
400 186, 187, 188, 188, 189, 190, 190, 190, 190, 190,
401 190, 191, 191, 191, 192, 193, 193, 193, 193, 193,
402 193, 194, 194, 194, 194, 194, 194, 194, 194, 194,
403 194, 195, 195, 195, 195, 195, 195, 195, 195, 195,
404 195, 196, 196, 196, 196, 196, 197, 197, 197, 197,
405 198, 199, 200, 201, 202, 202, 203, 203, 203, 203,
406
407 203, 204, 204, 204, 204, 205, 205, 206, 207, 207,
408 207, 207, 207, 208, 208, 208, 208, 208, 208, 208,
409 208, 209, 209, 209, 209, 209, 209, 210, 210, 210,
410 210, 210, 210, 211, 211, 211, 211, 211, 211, 212,
411 212, 212, 212, 212, 212, 212, 212, 213, 213, 213,
412 213, 213, 214, 215, 216, 216, 217, 217, 218, 219,
413 219, 220, 220
414 } ;
415
416static yyconst int yy_ec[256] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000417 { 0,
418 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
419 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
420 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
421 1, 2, 1, 4, 1, 5, 6, 1, 1, 1,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000422 1, 1, 7, 1, 8, 9, 1, 10, 11, 11,
423 11, 11, 11, 12, 11, 13, 11, 14, 15, 1,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000424 1, 1, 1, 16, 17, 17, 17, 17, 18, 17,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000425 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
426 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000427 1, 1, 1, 1, 19, 1, 20, 21, 22, 23,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000428
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000429 24, 25, 26, 27, 28, 5, 29, 30, 31, 32,
430 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
431 43, 44, 1, 1, 1, 1, 1, 1, 1, 1,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000432 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
433 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
434 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
435 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
436 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
437 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
438 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
439
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, 1, 1, 1, 1, 1,
444 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
445 1, 1, 1, 1, 1
446 } ;
447
Reid Spencered951ea2007-05-19 07:22:10 +0000448static yyconst int yy_meta[45] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000449 { 0,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000450 1, 1, 2, 3, 4, 1, 1, 4, 4, 4,
451 4, 4, 4, 5, 1, 1, 4, 4, 4, 4,
452 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
453 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
454 4, 4, 4, 4
Reid Spencer68a24bd2005-08-27 18:50:39 +0000455 } ;
456
Reid Spencered951ea2007-05-19 07:22:10 +0000457static yyconst short int yy_base[572] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000458 { 0,
Reid Spencered951ea2007-05-19 07:22:10 +0000459 0, 0, 1226, 1227, 1227, 1227, 1221, 1210, 41, 36,
460 45, 51, 57, 63, 0, 74, 66, 69, 68, 88,
461 78, 108, 93, 36, 135, 123, 119, 101, 154, 127,
462 67, 181, 139, 213, 141, 80, 156, 92, 1219, 1227,
463 1208, 1227, 1217, 0, 186, 203, 219, 100, 240, 256,
464 261, 0, 1216, 0, 190, 112, 157, 113, 159, 150,
465 136, 81, 1205, 49, 110, 162, 196, 266, 210, 207,
466 212, 1204, 204, 262, 224, 233, 192, 263, 279, 275,
467 230, 234, 284, 276, 288, 290, 97, 242, 291, 292,
468 294, 300, 1203, 295, 302, 298, 305, 313, 296, 301,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000469
Reid Spencered951ea2007-05-19 07:22:10 +0000470 321, 322, 309, 324, 325, 326, 327, 331, 332, 335,
471 334, 338, 340, 333, 357, 353, 355, 344, 1202, 361,
472 345, 368, 363, 370, 371, 373, 379, 381, 385, 393,
473 372, 376, 392, 396, 1201, 1210, 1227, 0, 406, 1199,
474 429, 447, 0, 1208, 1227, 0, 1197, 411, 400, 1196,
475 412, 399, 1195, 420, 430, 415, 1194, 442, 413, 448,
476 437, 435, 450, 455, 452, 1193, 457, 458, 408, 456,
477 460, 462, 461, 463, 470, 464, 471, 475, 472, 473,
478 488, 490, 477, 491, 493, 494, 495, 497, 499, 1192,
479 502, 504, 505, 1191, 1190, 1189, 1188, 1187, 1186, 506,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000480
Reid Spencered951ea2007-05-19 07:22:10 +0000481 1185, 1184, 507, 509, 1183, 538, 525, 515, 510, 516,
482 1182, 1181, 1180, 518, 528, 511, 1179, 1178, 526, 532,
483 1177, 552, 553, 555, 556, 557, 560, 558, 559, 1176,
484 1175, 1174, 561, 1173, 1172, 562, 1171, 1170, 563, 565,
485 564, 582, 574, 584, 571, 587, 1169, 575, 589, 1227,
486 599, 608, 618, 622, 627, 608, 593, 591, 610, 1168,
487 612, 629, 1167, 632, 633, 634, 636, 637, 638, 639,
488 641, 643, 644, 645, 646, 653, 1166, 1165, 647, 648,
489 654, 649, 1164, 1163, 660, 662, 663, 1162, 669, 664,
490 665, 670, 675, 678, 680, 1161, 1160, 682, 684, 683,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000491
Reid Spencered951ea2007-05-19 07:22:10 +0000492 685, 1159, 688, 692, 691, 0, 1158, 695, 696, 1157,
493 697, 693, 705, 1156, 1155, 711, 698, 1154, 714, 717,
494 715, 1153, 718, 1152, 1151, 719, 722, 728, 720, 1150,
495 725, 1149, 727, 1148, 729, 732, 1147, 745, 1146, 1145,
496 739, 748, 1144, 735, 753, 749, 750, 737, 754, 760,
497 762, 763, 765, 766, 768, 1143, 769, 1142, 1141, 771,
498 772, 770, 779, 774, 773, 1140, 778, 780, 781, 787,
499 1139, 792, 795, 794, 793, 799, 796, 800, 805, 807,
500 809, 811, 812, 814, 1138, 815, 816, 820, 821, 1137,
501 817, 1136, 822, 832, 824, 825, 838, 835, 842, 1135,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000502
Reid Spencered951ea2007-05-19 07:22:10 +0000503 843, 845, 1134, 846, 847, 848, 1133, 849, 851, 852,
504 1132, 850, 853, 1131, 1130, 1129, 854, 861, 1128, 1127,
505 863, 868, 865, 1126, 867, 1125, 1124, 866, 879, 1123,
506 880, 881, 882, 1122, 883, 884, 1121, 1120, 1119, 885,
507 1118, 1117, 892, 1116, 1115, 886, 887, 894, 898, 891,
508 1114, 896, 906, 1113, 1112, 901, 907, 908, 911, 914,
509 1111, 916, 915, 917, 918, 922, 919, 921, 928, 934,
510 1110, 913, 936, 941, 942, 943, 944, 947, 945, 949,
511 1094, 950, 952, 954, 956, 1082, 951, 959, 960, 1081,
512 1079, 1078, 1077, 1075, 962, 1074, 963, 964, 965, 974,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000513
Reid Spencered951ea2007-05-19 07:22:10 +0000514 1073, 979, 980, 982, 1072, 983, 1071, 1070, 985, 988,
515 989, 992, 1069, 993, 990, 994, 995, 997, 999, 1000,
516 1068, 1004, 1005, 1008, 1010, 1012, 1064, 1017, 1016, 1018,
517 1021, 1024, 1063, 1025, 1027, 1029, 1030, 1032, 736, 1038,
518 1031, 1041, 1042, 1043, 1033, 1044, 600, 1045, 1050, 1046,
519 1056, 523, 519, 387, 1059, 246, 1052, 245, 169, 1061,
520 165, 1227, 1097, 1099, 1102, 1106, 1109, 1113, 58, 1118,
521 57
Reid Spencer68a24bd2005-08-27 18:50:39 +0000522 } ;
523
Reid Spencered951ea2007-05-19 07:22:10 +0000524static yyconst short int yy_def[572] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000525 { 0,
Reid Spencered951ea2007-05-19 07:22:10 +0000526 562, 1, 562, 562, 562, 562, 563, 564, 565, 562,
527 564, 564, 564, 564, 566, 567, 564, 564, 564, 564,
528 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
529 564, 564, 564, 564, 564, 564, 564, 564, 563, 562,
530 564, 562, 568, 569, 562, 562, 564, 564, 564, 564,
531 564, 566, 570, 571, 562, 564, 564, 564, 564, 564,
532 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
533 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
534 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
535 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000536
Reid Spencered951ea2007-05-19 07:22:10 +0000537 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
538 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
539 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
540 564, 564, 564, 564, 562, 568, 562, 569, 562, 564,
541 564, 564, 51, 570, 562, 571, 564, 564, 564, 564,
542 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
543 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
544 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
545 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
546 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000547
Reid Spencered951ea2007-05-19 07:22:10 +0000548 564, 564, 564, 564, 564, 51, 564, 564, 564, 564,
549 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
550 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
551 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
552 564, 564, 564, 564, 564, 564, 564, 564, 564, 562,
553 562, 562, 562, 564, 564, 564, 564, 564, 564, 564,
554 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
555 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
556 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
557 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000558
Reid Spencered951ea2007-05-19 07:22:10 +0000559 564, 564, 564, 564, 564, 206, 564, 564, 564, 564,
560 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
561 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
562 564, 564, 564, 564, 564, 564, 564, 562, 564, 564,
563 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
564 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
565 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
566 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
567 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
568 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000569
Reid Spencered951ea2007-05-19 07:22:10 +0000570 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
571 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
572 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
573 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
574 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
575 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
576 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
577 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
578 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
579 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000580
Reid Spencered951ea2007-05-19 07:22:10 +0000581 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
582 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
583 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
584 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
585 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
586 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
587 564, 0, 562, 562, 562, 562, 562, 562, 562, 562,
588 562
Reid Spencer68a24bd2005-08-27 18:50:39 +0000589 } ;
590
Reid Spencered951ea2007-05-19 07:22:10 +0000591static yyconst short int yy_nxt[1272] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000592 { 0,
593 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000594 14, 14, 14, 4, 15, 16, 8, 8, 8, 17,
595 18, 19, 20, 21, 22, 23, 24, 25, 8, 26,
596 27, 28, 29, 30, 8, 31, 32, 33, 34, 35,
Reid Spencered951ea2007-05-19 07:22:10 +0000597 36, 37, 8, 38, 43, 46, 46, 46, 46, 42,
598 45, 45, 45, 45, 47, 47, 47, 47, 42, 48,
599 146, 138, 42, 82, 42, 49, 50, 50, 50, 50,
600 42, 49, 50, 50, 50, 50, 42, 53, 156, 42,
601 42, 42, 42, 55, 55, 55, 55, 64, 56, 65,
602 105, 42, 61, 42, 42, 57, 62, 58, 51, 59,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000603
Reid Spencered951ea2007-05-19 07:22:10 +0000604 66, 42, 60, 131, 63, 42, 42, 67, 140, 71,
605 42, 68, 72, 42, 42, 134, 80, 69, 155, 73,
606 70, 42, 81, 42, 93, 42, 42, 74, 185, 75,
607 76, 157, 42, 94, 147, 150, 42, 77, 90, 95,
608 42, 78, 86, 79, 83, 83, 83, 83, 42, 42,
609 87, 91, 42, 102, 42, 88, 84, 92, 117, 89,
610 129, 154, 103, 42, 104, 118, 85, 42, 132, 42,
611 42, 119, 42, 130, 120, 42, 152, 96, 42, 97,
612 153, 121, 42, 98, 148, 99, 149, 100, 133, 101,
613 106, 158, 151, 159, 42, 45, 45, 45, 45, 55,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000614
Reid Spencered951ea2007-05-19 07:22:10 +0000615 55, 55, 55, 107, 108, 42, 109, 110, 111, 42,
616 112, 139, 46, 46, 46, 46, 113, 42, 114, 115,
617 42, 116, 106, 42, 172, 42, 42, 49, 47, 47,
618 47, 47, 42, 160, 166, 122, 123, 42, 124, 164,
619 125, 167, 126, 42, 127, 165, 42, 42, 128, 141,
620 141, 141, 141, 42, 170, 42, 178, 142, 42, 42,
621 171, 186, 177, 142, 49, 50, 50, 50, 50, 42,
622 143, 143, 143, 143, 42, 42, 42, 143, 143, 42,
623 143, 143, 143, 143, 143, 143, 173, 161, 42, 42,
624 162, 168, 42, 83, 83, 83, 83, 42, 169, 163,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000625
Reid Spencered951ea2007-05-19 07:22:10 +0000626 174, 42, 175, 42, 42, 42, 179, 42, 42, 42,
627 184, 42, 176, 42, 42, 42, 189, 187, 42, 199,
628 200, 188, 42, 180, 181, 182, 42, 183, 195, 190,
629 191, 193, 194, 192, 42, 42, 197, 42, 42, 42,
630 42, 203, 196, 201, 42, 42, 42, 42, 42, 202,
631 198, 42, 208, 42, 207, 211, 215, 42, 42, 204,
632 209, 217, 205, 219, 213, 220, 42, 206, 42, 212,
633 42, 216, 210, 214, 42, 218, 42, 221, 228, 225,
634 222, 42, 223, 42, 42, 42, 42, 246, 226, 42,
635 224, 245, 42, 231, 42, 229, 234, 230, 42, 227,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000636
Reid Spencered951ea2007-05-19 07:22:10 +0000637 42, 236, 237, 242, 241, 42, 42, 232, 233, 42,
638 235, 238, 42, 42, 239, 251, 251, 251, 251, 240,
639 243, 42, 244, 252, 42, 42, 42, 247, 42, 252,
640 256, 248, 258, 42, 260, 259, 257, 249, 141, 141,
641 141, 141, 42, 42, 263, 276, 142, 261, 42, 265,
642 42, 262, 142, 253, 254, 42, 255, 255, 255, 255,
643 42, 42, 268, 42, 264, 42, 267, 266, 42, 42,
644 42, 42, 272, 42, 42, 42, 42, 42, 270, 269,
645 273, 279, 271, 42, 42, 42, 42, 285, 42, 277,
646 42, 286, 274, 283, 275, 281, 289, 287, 282, 278,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000647
Reid Spencered951ea2007-05-19 07:22:10 +0000648 284, 42, 280, 42, 42, 288, 42, 42, 42, 293,
649 42, 290, 42, 291, 294, 42, 296, 42, 42, 42,
650 42, 295, 42, 42, 42, 300, 298, 292, 42, 42,
651 297, 42, 42, 309, 302, 301, 42, 299, 42, 42,
652 303, 42, 311, 313, 304, 42, 305, 306, 306, 306,
653 306, 312, 308, 310, 306, 306, 314, 306, 306, 306,
654 306, 306, 306, 315, 307, 42, 42, 316, 42, 42,
655 42, 42, 42, 42, 42, 42, 42, 42, 42, 320,
656 319, 324, 318, 322, 42, 327, 328, 42, 42, 317,
657 321, 323, 329, 326, 330, 42, 332, 42, 325, 334,
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000658
Reid Spencered951ea2007-05-19 07:22:10 +0000659 42, 331, 42, 333, 42, 335, 42, 336, 251, 251,
660 251, 251, 341, 42, 253, 253, 252, 338, 338, 338,
661 338, 42, 252, 42, 340, 42, 337, 338, 338, 338,
662 338, 255, 255, 255, 255, 42, 255, 255, 255, 255,
663 42, 342, 42, 343, 339, 42, 42, 42, 344, 42,
664 42, 42, 42, 345, 42, 348, 42, 42, 42, 42,
665 42, 42, 42, 347, 355, 350, 42, 42, 349, 356,
666 346, 352, 353, 42, 357, 42, 42, 42, 42, 354,
667 351, 364, 42, 42, 358, 359, 365, 362, 42, 363,
668 360, 42, 361, 42, 366, 42, 42, 42, 42, 367,
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000669
Reid Spencered951ea2007-05-19 07:22:10 +0000670 368, 42, 369, 370, 42, 42, 42, 371, 42, 42,
671 42, 42, 372, 374, 373, 378, 383, 381, 42, 386,
672 375, 382, 380, 379, 42, 376, 377, 42, 42, 384,
673 42, 42, 42, 42, 385, 42, 388, 387, 42, 390,
674 42, 42, 42, 391, 389, 42, 392, 393, 42, 42,
675 42, 394, 42, 397, 338, 338, 338, 338, 400, 399,
676 395, 42, 42, 42, 396, 398, 42, 42, 404, 405,
677 401, 402, 406, 42, 403, 42, 42, 407, 42, 42,
678 408, 42, 42, 42, 42, 42, 42, 42, 411, 413,
679 414, 42, 42, 42, 42, 409, 410, 412, 415, 416,
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000680
Reid Spencered951ea2007-05-19 07:22:10 +0000681 42, 417, 418, 419, 420, 42, 42, 42, 42, 42,
682 424, 422, 42, 42, 423, 421, 426, 427, 42, 430,
683 42, 431, 42, 425, 42, 42, 429, 42, 42, 42,
684 42, 428, 432, 42, 42, 42, 436, 42, 42, 433,
685 435, 438, 440, 443, 441, 42, 434, 437, 42, 445,
686 442, 42, 446, 439, 444, 42, 42, 447, 42, 42,
687 42, 42, 42, 42, 42, 42, 42, 42, 458, 459,
688 450, 454, 448, 449, 42, 461, 42, 452, 42, 42,
689 42, 42, 451, 456, 457, 455, 463, 464, 466, 453,
690 460, 462, 42, 42, 42, 42, 42, 42, 42, 42,
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000691
Reid Spencered951ea2007-05-19 07:22:10 +0000692 42, 467, 465, 474, 42, 42, 472, 42, 473, 42,
693 468, 42, 470, 471, 42, 476, 478, 469, 475, 42,
694 42, 42, 480, 477, 42, 479, 42, 42, 42, 42,
695 42, 42, 42, 481, 42, 42, 483, 487, 482, 488,
696 486, 42, 484, 494, 489, 492, 490, 42, 485, 42,
697 493, 495, 497, 491, 42, 42, 42, 42, 42, 498,
698 42, 500, 42, 42, 42, 42, 501, 42, 503, 42,
699 499, 496, 42, 42, 505, 42, 42, 42, 42, 509,
700 510, 502, 504, 512, 513, 515, 514, 42, 506, 507,
701 511, 508, 42, 42, 517, 42, 42, 516, 42, 519,
Reid Spencer3d6b71e2007-04-09 01:56:05 +0000702
Reid Spencered951ea2007-05-19 07:22:10 +0000703 518, 42, 42, 42, 522, 42, 42, 42, 42, 520,
704 42, 523, 42, 42, 526, 528, 530, 42, 42, 532,
705 521, 42, 525, 42, 529, 42, 524, 527, 531, 42,
706 42, 42, 533, 536, 42, 534, 538, 42, 42, 539,
707 42, 535, 42, 42, 42, 42, 42, 540, 543, 537,
708 541, 42, 549, 542, 42, 42, 42, 42, 42, 42,
709 545, 547, 546, 42, 544, 42, 555, 548, 550, 42,
710 553, 556, 42, 551, 42, 560, 42, 42, 552, 554,
711 559, 42, 42, 42, 42, 42, 42, 42, 42, 557,
712 42, 42, 42, 558, 42, 42, 561, 39, 39, 39,
Reid Spencer14310612006-12-31 05:40:51 +0000713
Reid Spencered951ea2007-05-19 07:22:10 +0000714 39, 39, 41, 41, 44, 44, 52, 42, 52, 52,
715 52, 54, 54, 136, 136, 136, 136, 136, 144, 144,
716 144, 144, 144, 42, 42, 42, 42, 42, 42, 42,
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +0000717 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
718 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
719 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
720 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
721 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
722 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
Lauro Ramos Venancioc7635522007-04-12 18:32:50 +0000723 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
Chris Lattner75466192006-05-19 21:28:53 +0000724
Reid Spencered951ea2007-05-19 07:22:10 +0000725 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
726 42, 145, 42, 137, 250, 42, 42, 42, 42, 145,
727 137, 42, 135, 42, 40, 562, 3, 562, 562, 562,
728 562, 562, 562, 562, 562, 562, 562, 562, 562, 562,
729 562, 562, 562, 562, 562, 562, 562, 562, 562, 562,
730 562, 562, 562, 562, 562, 562, 562, 562, 562, 562,
731 562, 562, 562, 562, 562, 562, 562, 562, 562, 562,
732 562
Reid Spencer68a24bd2005-08-27 18:50:39 +0000733 } ;
734
Reid Spencered951ea2007-05-19 07:22:10 +0000735static yyconst short int yy_chk[1272] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000736 { 0,
737 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
738 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
739 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
740 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Reid Spencered951ea2007-05-19 07:22:10 +0000741 1, 1, 1, 1, 9, 10, 10, 10, 10, 24,
742 9, 9, 9, 9, 11, 11, 11, 11, 11, 12,
743 571, 569, 64, 24, 12, 13, 13, 13, 13, 13,
744 13, 14, 14, 14, 14, 14, 14, 16, 64, 17,
745 31, 19, 18, 16, 16, 16, 16, 19, 17, 19,
746 31, 21, 18, 36, 62, 17, 18, 17, 13, 17,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000747
Reid Spencered951ea2007-05-19 07:22:10 +0000748 19, 20, 17, 36, 18, 38, 23, 20, 48, 21,
749 87, 20, 21, 48, 28, 38, 23, 20, 62, 21,
750 20, 22, 23, 65, 28, 56, 58, 22, 87, 22,
751 22, 65, 27, 28, 56, 58, 26, 22, 27, 28,
752 30, 22, 26, 22, 25, 25, 25, 25, 25, 61,
753 26, 27, 33, 30, 35, 26, 25, 27, 33, 26,
754 35, 61, 30, 60, 30, 33, 25, 29, 37, 37,
755 57, 33, 59, 35, 33, 66, 60, 29, 561, 29,
756 60, 33, 559, 29, 57, 29, 57, 29, 37, 29,
757 32, 66, 59, 66, 32, 45, 45, 45, 45, 55,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000758
Reid Spencered951ea2007-05-19 07:22:10 +0000759 55, 55, 55, 32, 32, 77, 32, 32, 32, 67,
760 32, 46, 46, 46, 46, 46, 32, 73, 32, 32,
761 70, 32, 34, 69, 77, 71, 34, 47, 47, 47,
762 47, 47, 47, 67, 71, 34, 34, 75, 34, 69,
763 34, 73, 34, 81, 34, 70, 76, 82, 34, 49,
764 49, 49, 49, 49, 75, 88, 82, 49, 558, 556,
765 76, 88, 81, 49, 50, 50, 50, 50, 50, 50,
766 51, 51, 51, 51, 51, 74, 78, 51, 51, 68,
767 51, 51, 51, 51, 51, 51, 78, 68, 80, 84,
768 68, 74, 79, 83, 83, 83, 83, 83, 74, 68,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000769
Reid Spencered951ea2007-05-19 07:22:10 +0000770 78, 85, 79, 86, 89, 90, 84, 91, 94, 99,
771 86, 96, 80, 92, 100, 95, 91, 89, 97, 99,
772 100, 90, 103, 85, 85, 85, 98, 85, 97, 92,
773 94, 95, 96, 94, 101, 102, 98, 104, 105, 106,
774 107, 103, 97, 101, 108, 109, 114, 111, 110, 102,
775 98, 112, 108, 113, 107, 109, 111, 118, 121, 104,
776 108, 112, 105, 113, 110, 114, 116, 106, 117, 109,
777 115, 111, 108, 110, 120, 112, 123, 115, 121, 118,
778 116, 122, 117, 124, 125, 131, 126, 132, 120, 132,
779 117, 131, 127, 124, 128, 122, 126, 123, 129, 120,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000780
Reid Spencered951ea2007-05-19 07:22:10 +0000781 554, 127, 127, 129, 128, 133, 130, 124, 125, 134,
782 126, 127, 152, 149, 127, 139, 139, 139, 139, 127,
783 130, 169, 130, 139, 148, 151, 159, 133, 156, 139,
784 148, 134, 149, 154, 152, 151, 148, 134, 141, 141,
785 141, 141, 141, 155, 156, 169, 141, 154, 162, 159,
786 161, 155, 141, 142, 142, 158, 142, 142, 142, 142,
787 142, 160, 162, 163, 158, 165, 161, 160, 164, 170,
788 167, 168, 165, 171, 173, 172, 174, 176, 164, 163,
789 167, 172, 164, 175, 177, 179, 180, 176, 178, 170,
790 183, 177, 167, 175, 168, 174, 180, 178, 174, 171,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000791
Reid Spencered951ea2007-05-19 07:22:10 +0000792 175, 181, 173, 182, 184, 179, 185, 186, 187, 183,
793 188, 181, 189, 182, 184, 191, 186, 192, 193, 200,
794 203, 185, 204, 209, 216, 191, 188, 182, 208, 210,
795 187, 214, 553, 209, 193, 192, 552, 189, 207, 219,
796 200, 215, 214, 216, 203, 220, 204, 206, 206, 206,
797 206, 215, 208, 210, 206, 206, 219, 206, 206, 206,
798 206, 206, 206, 219, 207, 222, 223, 220, 224, 225,
799 226, 228, 229, 227, 233, 236, 239, 241, 240, 225,
800 224, 228, 223, 227, 245, 236, 239, 243, 248, 222,
801 226, 227, 240, 233, 241, 242, 243, 244, 229, 245,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000802
Reid Spencered951ea2007-05-19 07:22:10 +0000803 246, 242, 249, 244, 258, 246, 257, 248, 251, 251,
804 251, 251, 258, 547, 252, 252, 251, 252, 252, 252,
805 252, 256, 251, 259, 257, 261, 249, 253, 253, 253,
806 253, 254, 254, 254, 254, 254, 255, 255, 255, 255,
807 255, 259, 262, 261, 256, 264, 265, 266, 262, 267,
808 268, 269, 270, 264, 271, 267, 272, 273, 274, 275,
809 279, 280, 282, 266, 274, 269, 276, 281, 268, 275,
810 265, 271, 272, 285, 276, 286, 287, 290, 291, 273,
811 270, 286, 289, 292, 279, 280, 287, 282, 293, 285,
812 281, 294, 281, 295, 289, 298, 300, 299, 301, 290,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000813
Reid Spencered951ea2007-05-19 07:22:10 +0000814 291, 303, 292, 293, 305, 304, 312, 294, 308, 309,
815 311, 317, 295, 299, 298, 304, 312, 309, 313, 317,
816 300, 311, 308, 305, 316, 301, 303, 319, 321, 313,
817 320, 323, 326, 329, 316, 327, 320, 319, 331, 323,
818 333, 328, 335, 326, 321, 336, 327, 328, 344, 539,
819 348, 329, 341, 335, 338, 338, 338, 338, 341, 336,
820 331, 342, 346, 347, 333, 335, 345, 349, 346, 347,
821 342, 344, 348, 350, 345, 351, 352, 349, 353, 354,
822 350, 355, 357, 362, 360, 361, 365, 364, 353, 355,
823 357, 367, 363, 368, 369, 351, 352, 354, 360, 361,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000824
Reid Spencered951ea2007-05-19 07:22:10 +0000825 370, 362, 363, 364, 365, 372, 375, 374, 373, 377,
826 370, 368, 376, 378, 369, 367, 373, 374, 379, 377,
827 380, 378, 381, 372, 382, 383, 376, 384, 386, 387,
828 391, 375, 379, 388, 389, 393, 383, 395, 396, 380,
829 382, 386, 388, 393, 389, 394, 381, 384, 398, 395,
830 391, 397, 396, 387, 394, 399, 401, 397, 402, 404,
831 405, 406, 408, 412, 409, 410, 413, 417, 412, 412,
832 401, 406, 398, 399, 418, 417, 421, 404, 423, 428,
833 425, 422, 402, 409, 410, 408, 421, 422, 425, 405,
834 413, 418, 429, 431, 432, 433, 435, 436, 440, 446,
Chris Lattnere869eef2005-11-12 00:11:49 +0000835
Reid Spencered951ea2007-05-19 07:22:10 +0000836 447, 428, 423, 440, 450, 443, 435, 448, 436, 452,
837 429, 449, 432, 433, 456, 446, 448, 431, 443, 453,
838 457, 458, 450, 447, 459, 449, 472, 460, 463, 462,
839 464, 465, 467, 452, 468, 466, 456, 460, 453, 462,
840 459, 469, 457, 468, 463, 466, 464, 470, 458, 473,
841 467, 469, 472, 465, 474, 475, 476, 477, 479, 473,
842 478, 475, 480, 482, 487, 483, 476, 484, 478, 485,
843 474, 470, 488, 489, 480, 495, 497, 498, 499, 485,
844 487, 477, 479, 489, 495, 498, 497, 500, 482, 483,
845 488, 484, 502, 503, 500, 504, 506, 499, 509, 503,
Chris Lattner75466192006-05-19 21:28:53 +0000846
Reid Spencered951ea2007-05-19 07:22:10 +0000847 502, 510, 511, 515, 509, 512, 514, 516, 517, 504,
848 518, 510, 519, 520, 514, 516, 518, 522, 523, 520,
849 506, 524, 512, 525, 517, 526, 511, 515, 519, 529,
850 528, 530, 522, 525, 531, 523, 528, 532, 534, 529,
851 535, 524, 536, 537, 541, 538, 545, 530, 534, 526,
852 531, 540, 541, 532, 542, 543, 544, 546, 548, 550,
853 536, 538, 537, 549, 535, 557, 548, 540, 542, 551,
854 545, 549, 555, 543, 560, 557, 533, 527, 544, 546,
855 555, 521, 513, 508, 507, 505, 501, 496, 494, 550,
856 493, 492, 491, 551, 490, 486, 560, 563, 563, 563,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000857
Reid Spencered951ea2007-05-19 07:22:10 +0000858 563, 563, 564, 564, 565, 565, 566, 481, 566, 566,
859 566, 567, 567, 568, 568, 568, 568, 568, 570, 570,
860 570, 570, 570, 471, 461, 455, 454, 451, 445, 444,
861 442, 441, 439, 438, 437, 434, 430, 427, 426, 424,
862 420, 419, 416, 415, 414, 411, 407, 403, 400, 392,
863 390, 385, 371, 366, 359, 358, 356, 343, 340, 339,
864 337, 334, 332, 330, 325, 324, 322, 318, 315, 314,
865 310, 307, 302, 297, 296, 288, 284, 283, 278, 277,
866 263, 260, 247, 238, 237, 235, 234, 232, 231, 230,
867 221, 218, 217, 213, 212, 211, 205, 202, 201, 199,
Reid Spencer3da59db2006-11-27 01:05:10 +0000868
Reid Spencered951ea2007-05-19 07:22:10 +0000869 198, 197, 196, 195, 194, 190, 166, 157, 153, 150,
870 147, 144, 140, 136, 135, 119, 93, 72, 63, 53,
871 43, 41, 39, 8, 7, 3, 562, 562, 562, 562,
872 562, 562, 562, 562, 562, 562, 562, 562, 562, 562,
873 562, 562, 562, 562, 562, 562, 562, 562, 562, 562,
874 562, 562, 562, 562, 562, 562, 562, 562, 562, 562,
875 562, 562, 562, 562, 562, 562, 562, 562, 562, 562,
876 562
Reid Spencer68a24bd2005-08-27 18:50:39 +0000877 } ;
878
Reid Spencered951ea2007-05-19 07:22:10 +0000879static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
880static char *yy_full_match;
881static int yy_lp;
882#define REJECT \
883{ \
884*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
885yy_cp = yy_full_match; /* restore poss. backed-over text */ \
886++yy_lp; \
887goto find_rule; \
888}
Reid Spencer68a24bd2005-08-27 18:50:39 +0000889#define yymore() yymore_used_but_not_detected
890#define YY_MORE_ADJ 0
891#define YY_RESTORE_YY_MORE_OFFSET
Reid Spencered951ea2007-05-19 07:22:10 +0000892char *yytext;
Reid Spencer0a8a16b2007-05-22 18:52:55 +0000893#line 1 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencered951ea2007-05-19 07:22:10 +0000894#define INITIAL 0
Reid Spencer68a24bd2005-08-27 18:50:39 +0000895/*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
896//
897// The LLVM Compiler Infrastructure
898//
899// This file was developed by the LLVM research group and is distributed under
900// the University of Illinois Open Source License. See LICENSE.TXT for details.
901//
902//===----------------------------------------------------------------------===//
903//
904// This file implements the flex scanner for LLVM assembly languages files.
905//
906//===----------------------------------------------------------------------===*/
Reid Spencered951ea2007-05-19 07:22:10 +0000907#define YY_NEVER_INTERACTIVE 1
Reid Spencer0a8a16b2007-05-22 18:52:55 +0000908#line 28 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +0000909#include "ParserInternals.h"
910#include "llvm/Module.h"
Chris Lattner8e008322007-05-22 06:47:55 +0000911#include "llvm/Support/MathExtras.h"
Reid Spencer68a24bd2005-08-27 18:50:39 +0000912#include <list>
913#include "llvmAsmParser.h"
914#include <cctype>
915#include <cstdlib>
916
917void set_scan_file(FILE * F){
Reid Spencered951ea2007-05-19 07:22:10 +0000918 yy_switch_to_buffer(yy_create_buffer( F, YY_BUF_SIZE ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +0000919}
920void set_scan_string (const char * str) {
Reid Spencered951ea2007-05-19 07:22:10 +0000921 yy_scan_string (str);
Reid Spencer68a24bd2005-08-27 18:50:39 +0000922}
923
Reid Spencer3ed469c2006-11-02 20:25:50 +0000924// Construct a token value for a non-obsolete token
Reid Spencer68a24bd2005-08-27 18:50:39 +0000925#define RET_TOK(type, Enum, sym) \
Reid Spencera132e042006-12-03 05:46:11 +0000926 llvmAsmlval.type = Instruction::Enum; \
927 return sym
928
Reid Spencer3ed469c2006-11-02 20:25:50 +0000929// Construct a token value for an obsolete token
Reid Spencera132e042006-12-03 05:46:11 +0000930#define RET_TY(CTYPE, SYM) \
931 llvmAsmlval.PrimType = CTYPE;\
Reid Spencer481169e2006-12-01 00:33:46 +0000932 return SYM
Reid Spencer68a24bd2005-08-27 18:50:39 +0000933
934namespace llvm {
935
936// TODO: All of the static identifiers are figured out by the lexer,
937// these should be hashed to reduce the lexer size
938
939
940// atoull - Convert an ascii string of decimal digits into the unsigned long
941// long representation... this does not have to do input error checking,
942// because we know that the input will be matched by a suitable regex...
943//
944static uint64_t atoull(const char *Buffer) {
945 uint64_t Result = 0;
946 for (; *Buffer; Buffer++) {
947 uint64_t OldRes = Result;
948 Result *= 10;
949 Result += *Buffer-'0';
950 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000951 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000952 }
953 return Result;
954}
955
956static uint64_t HexIntToVal(const char *Buffer) {
957 uint64_t Result = 0;
958 for (; *Buffer; ++Buffer) {
959 uint64_t OldRes = Result;
960 Result *= 16;
961 char C = *Buffer;
962 if (C >= '0' && C <= '9')
963 Result += C-'0';
964 else if (C >= 'A' && C <= 'F')
965 Result += C-'A'+10;
966 else if (C >= 'a' && C <= 'f')
967 Result += C-'a'+10;
968
969 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000970 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000971 }
972 return Result;
973}
974
975
976// HexToFP - Convert the ascii string in hexidecimal format to the floating
977// point representation of it.
978//
979static double HexToFP(const char *Buffer) {
Chris Lattner8e008322007-05-22 06:47:55 +0000980 return BitsToDouble(HexIntToVal(Buffer)); // Cast Hex constant to double
Reid Spencer68a24bd2005-08-27 18:50:39 +0000981}
982
983
984// UnEscapeLexed - Run through the specified buffer and change \xx codes to the
Reid Spencer0a8a16b2007-05-22 18:52:55 +0000985// appropriate character.
986char *UnEscapeLexed(char *Buffer) {
Reid Spencer68a24bd2005-08-27 18:50:39 +0000987 char *BOut = Buffer;
988 for (char *BIn = Buffer; *BIn; ) {
989 if (BIn[0] == '\\' && isxdigit(BIn[1]) && isxdigit(BIn[2])) {
Reid Spencer0a8a16b2007-05-22 18:52:55 +0000990 char Tmp = BIn[3]; BIn[3] = 0; // Terminate string
991 *BOut = (char)strtol(BIn+1, 0, 16); // Convert to number
992 BIn[3] = Tmp; // Restore character
993 BIn += 3; // Skip over handled chars
Reid Spencer68a24bd2005-08-27 18:50:39 +0000994 ++BOut;
995 } else {
996 *BOut++ = *BIn++;
997 }
998 }
Reid Spencer68a24bd2005-08-27 18:50:39 +0000999 return BOut;
1000}
1001
1002} // End llvm namespace
1003
1004using namespace llvm;
1005
1006#define YY_NEVER_INTERACTIVE 1
1007/* Comments start with a ; and go till end of line */
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001008/* Local Values and Type identifiers start with a % sign */
1009/* Global Value identifiers start with an @ sign */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001010/* Label identifiers end with a colon */
1011/* Quoted names can contain any character except " and \ */
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001012/* LocalVarID/GlobalVarID: match an unnamed local variable slot ID. */
1013/* Integer types are specified with i and a bitwidth */
1014/* E[PN]Integer: match positive and negative literal integer values. */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001015/* FPConstant - A Floating point constant.
1016 */
1017/* HexFPConstant - Floating point constant represented in IEEE format as a
1018 * hexadecimal number for when exponential notation is not precise enough.
1019 */
1020/* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
1021 * it to deal with 64 bit numbers.
1022 */
Chris Lattner8e008322007-05-22 06:47:55 +00001023#line 1024 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001024
1025/* Macros after this point can all be overridden by user definitions in
1026 * section 1.
1027 */
1028
1029#ifndef YY_SKIP_YYWRAP
1030#ifdef __cplusplus
Reid Spencered951ea2007-05-19 07:22:10 +00001031extern "C" int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001032#else
Reid Spencered951ea2007-05-19 07:22:10 +00001033extern int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001034#endif
1035#endif
1036
Reid Spencered951ea2007-05-19 07:22:10 +00001037#ifndef YY_NO_UNPUT
1038static inline void yyunput YY_PROTO(( int c, char *buf_ptr ));
1039#endif
1040
Reid Spencer68a24bd2005-08-27 18:50:39 +00001041#ifndef yytext_ptr
Reid Spencered951ea2007-05-19 07:22:10 +00001042static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001043#endif
1044
1045#ifdef YY_NEED_STRLEN
Reid Spencered951ea2007-05-19 07:22:10 +00001046static int yy_flex_strlen YY_PROTO(( yyconst char * ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001047#endif
1048
1049#ifndef YY_NO_INPUT
1050#ifdef __cplusplus
Reid Spencered951ea2007-05-19 07:22:10 +00001051static int yyinput YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001052#else
Reid Spencered951ea2007-05-19 07:22:10 +00001053static int input YY_PROTO(( void ));
1054#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001055#endif
1056
Reid Spencered951ea2007-05-19 07:22:10 +00001057#if YY_STACK_USED
1058static int yy_start_stack_ptr = 0;
1059static int yy_start_stack_depth = 0;
1060static int *yy_start_stack = 0;
1061#ifndef YY_NO_PUSH_STATE
1062static void yy_push_state YY_PROTO(( int new_state ));
1063#endif
1064#ifndef YY_NO_POP_STATE
1065static void yy_pop_state YY_PROTO(( void ));
1066#endif
1067#ifndef YY_NO_TOP_STATE
1068static int yy_top_state YY_PROTO(( void ));
1069#endif
1070
1071#else
1072#define YY_NO_PUSH_STATE 1
1073#define YY_NO_POP_STATE 1
1074#define YY_NO_TOP_STATE 1
1075#endif
1076
1077#ifdef YY_MALLOC_DECL
1078YY_MALLOC_DECL
1079#else
1080#if __STDC__
1081#ifndef __cplusplus
1082#include <stdlib.h>
1083#endif
1084#else
1085/* Just try to get by without declaring the routines. This will fail
1086 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1087 * or sizeof(void*) != sizeof(int).
1088 */
1089#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001090#endif
1091
1092/* Amount of stuff to slurp up with each read. */
1093#ifndef YY_READ_BUF_SIZE
1094#define YY_READ_BUF_SIZE 8192
1095#endif
1096
1097/* Copy whatever the last rule matched to the standard output. */
Reid Spencered951ea2007-05-19 07:22:10 +00001098
Reid Spencer68a24bd2005-08-27 18:50:39 +00001099#ifndef ECHO
1100/* This used to be an fputs(), but since the string might contain NUL's,
1101 * we now use fwrite().
1102 */
Reid Spencered951ea2007-05-19 07:22:10 +00001103#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001104#endif
1105
1106/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1107 * is returned in "result".
1108 */
1109#ifndef YY_INPUT
1110#define YY_INPUT(buf,result,max_size) \
Reid Spencered951ea2007-05-19 07:22:10 +00001111 if ( yy_current_buffer->yy_is_interactive ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001112 { \
Reid Spencered951ea2007-05-19 07:22:10 +00001113 int c = '*', n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001114 for ( n = 0; n < max_size && \
Reid Spencered951ea2007-05-19 07:22:10 +00001115 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001116 buf[n] = (char) c; \
1117 if ( c == '\n' ) \
1118 buf[n++] = (char) c; \
Reid Spencered951ea2007-05-19 07:22:10 +00001119 if ( c == EOF && ferror( yyin ) ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001120 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1121 result = n; \
1122 } \
Reid Spencered951ea2007-05-19 07:22:10 +00001123 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1124 && ferror( yyin ) ) \
1125 YY_FATAL_ERROR( "input in flex scanner failed" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001126#endif
1127
1128/* No semi-colon after return; correct usage is to write "yyterminate();" -
1129 * we don't want an extra ';' after the "return" because that will cause
1130 * some compilers to complain about unreachable statements.
1131 */
1132#ifndef yyterminate
1133#define yyterminate() return YY_NULL
1134#endif
1135
1136/* Number of entries by which start-condition stack grows. */
1137#ifndef YY_START_STACK_INCR
1138#define YY_START_STACK_INCR 25
1139#endif
1140
1141/* Report a fatal error. */
1142#ifndef YY_FATAL_ERROR
1143#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1144#endif
1145
1146/* Default declaration of generated scanner - a define so the user can
1147 * easily add parameters.
1148 */
1149#ifndef YY_DECL
Reid Spencered951ea2007-05-19 07:22:10 +00001150#define YY_DECL int yylex YY_PROTO(( void ))
1151#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001152
Reid Spencered951ea2007-05-19 07:22:10 +00001153/* Code executed at the beginning of each rule, after yytext and yyleng
Reid Spencer68a24bd2005-08-27 18:50:39 +00001154 * have been set up.
1155 */
1156#ifndef YY_USER_ACTION
1157#define YY_USER_ACTION
1158#endif
1159
1160/* Code executed at the end of each rule. */
1161#ifndef YY_BREAK
1162#define YY_BREAK break;
1163#endif
1164
1165#define YY_RULE_SETUP \
1166 YY_USER_ACTION
1167
1168YY_DECL
Reid Spencered951ea2007-05-19 07:22:10 +00001169 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00001170 register yy_state_type yy_current_state;
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001171 register char *yy_cp = NULL, *yy_bp = NULL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001172 register int yy_act;
Reid Spencered951ea2007-05-19 07:22:10 +00001173
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001174#line 173 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001175
1176
Chris Lattner8e008322007-05-22 06:47:55 +00001177#line 1178 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001178
Reid Spencered951ea2007-05-19 07:22:10 +00001179 if ( yy_init )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001180 {
Reid Spencered951ea2007-05-19 07:22:10 +00001181 yy_init = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001182
1183#ifdef YY_USER_INIT
1184 YY_USER_INIT;
1185#endif
1186
Reid Spencered951ea2007-05-19 07:22:10 +00001187 if ( ! yy_start )
1188 yy_start = 1; /* first start state */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001189
Reid Spencered951ea2007-05-19 07:22:10 +00001190 if ( ! yyin )
1191 yyin = stdin;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001192
Reid Spencered951ea2007-05-19 07:22:10 +00001193 if ( ! yyout )
1194 yyout = stdout;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001195
Reid Spencered951ea2007-05-19 07:22:10 +00001196 if ( ! yy_current_buffer )
1197 yy_current_buffer =
1198 yy_create_buffer( yyin, YY_BUF_SIZE );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001199
Reid Spencered951ea2007-05-19 07:22:10 +00001200 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00001201 }
1202
1203 while ( 1 ) /* loops until end-of-file is reached */
1204 {
Reid Spencered951ea2007-05-19 07:22:10 +00001205 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001206
Reid Spencered951ea2007-05-19 07:22:10 +00001207 /* Support of yytext. */
1208 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001209
1210 /* yy_bp points to the position in yy_ch_buf of the start of
1211 * the current run.
1212 */
1213 yy_bp = yy_cp;
1214
Reid Spencered951ea2007-05-19 07:22:10 +00001215 yy_current_state = yy_start;
1216 yy_state_ptr = yy_state_buf;
1217 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001218yy_match:
1219 do
1220 {
1221 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1222 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1223 {
1224 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencered951ea2007-05-19 07:22:10 +00001225 if ( yy_current_state >= 563 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001226 yy_c = yy_meta[(unsigned int) yy_c];
1227 }
1228 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencered951ea2007-05-19 07:22:10 +00001229 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001230 ++yy_cp;
1231 }
Reid Spencered951ea2007-05-19 07:22:10 +00001232 while ( yy_current_state != 562 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001233
1234yy_find_action:
Reid Spencered951ea2007-05-19 07:22:10 +00001235 yy_current_state = *--yy_state_ptr;
1236 yy_lp = yy_accept[yy_current_state];
1237find_rule: /* we branch to this label when backing up */
1238 for ( ; ; ) /* until we find what rule we matched */
1239 {
1240 if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
1241 {
1242 yy_act = yy_acclist[yy_lp];
1243 {
1244 yy_full_match = yy_cp;
1245 break;
1246 }
1247 }
1248 --yy_cp;
1249 yy_current_state = *--yy_state_ptr;
1250 yy_lp = yy_accept[yy_current_state];
1251 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001252
1253 YY_DO_BEFORE_ACTION;
1254
Reid Spencered951ea2007-05-19 07:22:10 +00001255 if ( yy_act != YY_END_OF_BUFFER )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001256 {
1257 int yyl;
Reid Spencered951ea2007-05-19 07:22:10 +00001258 for ( yyl = 0; yyl < yyleng; ++yyl )
1259 if ( yytext[yyl] == '\n' )
1260 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001261 }
1262
1263do_action: /* This label is used only to access EOF actions. */
1264
Reid Spencered951ea2007-05-19 07:22:10 +00001265
Reid Spencer68a24bd2005-08-27 18:50:39 +00001266 switch ( yy_act )
1267 { /* beginning of action switch */
1268case 1:
1269YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001270#line 175 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001271{ /* Ignore comments for now */ }
1272 YY_BREAK
1273case 2:
1274YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001275#line 177 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001276{ return BEGINTOK; }
1277 YY_BREAK
1278case 3:
1279YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001280#line 178 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001281{ return ENDTOK; }
1282 YY_BREAK
1283case 4:
1284YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001285#line 179 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001286{ return TRUETOK; }
1287 YY_BREAK
1288case 5:
1289YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001290#line 180 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001291{ return FALSETOK; }
1292 YY_BREAK
1293case 6:
1294YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001295#line 181 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001296{ return DECLARE; }
1297 YY_BREAK
1298case 7:
1299YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001300#line 182 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001301{ return DEFINE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001302 YY_BREAK
1303case 8:
1304YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001305#line 183 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001306{ return GLOBAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001307 YY_BREAK
1308case 9:
1309YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001310#line 184 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001311{ return CONSTANT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001312 YY_BREAK
1313case 10:
1314YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001315#line 185 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001316{ return INTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001317 YY_BREAK
1318case 11:
1319YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001320#line 186 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001321{ return LINKONCE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001322 YY_BREAK
1323case 12:
1324YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001325#line 187 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001326{ return WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001327 YY_BREAK
1328case 13:
1329YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001330#line 188 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001331{ return APPENDING; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001332 YY_BREAK
1333case 14:
1334YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001335#line 189 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001336{ return DLLIMPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001337 YY_BREAK
1338case 15:
1339YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001340#line 190 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001341{ return DLLEXPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001342 YY_BREAK
1343case 16:
1344YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001345#line 191 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001346{ return HIDDEN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001347 YY_BREAK
1348case 17:
1349YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001350#line 192 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001351{ return PROTECTED; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001352 YY_BREAK
1353case 18:
1354YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001355#line 193 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001356{ return EXTERN_WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001357 YY_BREAK
1358case 19:
1359YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001360#line 194 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001361{ return EXTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001362 YY_BREAK
1363case 20:
1364YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001365#line 195 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001366{ return THREAD_LOCAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001367 YY_BREAK
1368case 21:
1369YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001370#line 196 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001371{ return ZEROINITIALIZER; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001372 YY_BREAK
1373case 22:
1374YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001375#line 197 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001376{ return DOTDOTDOT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001377 YY_BREAK
1378case 23:
1379YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001380#line 198 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001381{ return UNDEF; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001382 YY_BREAK
1383case 24:
1384YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001385#line 199 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001386{ return NULL_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001387 YY_BREAK
1388case 25:
1389YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001390#line 200 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001391{ return TO; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001392 YY_BREAK
1393case 26:
1394YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001395#line 201 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001396{ return TAIL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001397 YY_BREAK
1398case 27:
1399YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001400#line 202 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001401{ return TARGET; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001402 YY_BREAK
1403case 28:
1404YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001405#line 203 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001406{ return TRIPLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001407 YY_BREAK
1408case 29:
1409YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001410#line 204 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001411{ return DEPLIBS; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001412 YY_BREAK
1413case 30:
1414YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001415#line 205 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001416{ return DATALAYOUT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001417 YY_BREAK
1418case 31:
1419YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001420#line 206 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001421{ return VOLATILE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001422 YY_BREAK
1423case 32:
1424YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001425#line 207 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001426{ return ALIGN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001427 YY_BREAK
1428case 33:
1429YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001430#line 208 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001431{ return SECTION; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001432 YY_BREAK
1433case 34:
1434YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001435#line 209 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001436{ return ALIAS; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001437 YY_BREAK
1438case 35:
1439YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001440#line 210 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001441{ return MODULE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001442 YY_BREAK
1443case 36:
1444YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001445#line 211 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001446{ return ASM_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001447 YY_BREAK
1448case 37:
1449YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001450#line 212 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001451{ return SIDEEFFECT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001452 YY_BREAK
1453case 38:
1454YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001455#line 214 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001456{ return CC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001457 YY_BREAK
1458case 39:
1459YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001460#line 215 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001461{ return CCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001462 YY_BREAK
1463case 40:
1464YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001465#line 216 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001466{ return FASTCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001467 YY_BREAK
1468case 41:
1469YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001470#line 217 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001471{ return COLDCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001472 YY_BREAK
1473case 42:
1474YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001475#line 218 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001476{ return X86_STDCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001477 YY_BREAK
1478case 43:
1479YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001480#line 219 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001481{ return X86_FASTCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001482 YY_BREAK
1483case 44:
1484YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001485#line 221 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001486{ return INREG; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001487 YY_BREAK
1488case 45:
1489YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001490#line 222 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001491{ return SRET; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001492 YY_BREAK
1493case 46:
1494YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001495#line 223 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001496{ return NOUNWIND; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001497 YY_BREAK
1498case 47:
1499YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001500#line 224 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001501{ return NORETURN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001502 YY_BREAK
1503case 48:
1504YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001505#line 226 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001506{ RET_TY(Type::VoidTy, VOID); }
Reid Spencer832254e2007-02-02 02:16:23 +00001507 YY_BREAK
1508case 49:
1509YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001510#line 227 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001511{ RET_TY(Type::FloatTy, FLOAT); }
Reid Spencer832254e2007-02-02 02:16:23 +00001512 YY_BREAK
1513case 50:
1514YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001515#line 228 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001516{ RET_TY(Type::DoubleTy,DOUBLE);}
Reid Spencer67d8ed92007-03-22 02:14:08 +00001517 YY_BREAK
1518case 51:
1519YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001520#line 229 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001521{ RET_TY(Type::LabelTy, LABEL); }
Lauro Ramos Venancioc7635522007-04-12 18:32:50 +00001522 YY_BREAK
1523case 52:
1524YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001525#line 230 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001526{ return TYPE; }
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001527 YY_BREAK
1528case 53:
1529YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001530#line 231 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001531{ return OPAQUE; }
1532 YY_BREAK
1533case 54:
1534YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001535#line 232 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencered951ea2007-05-19 07:22:10 +00001536{ uint64_t NumBits = atoull(yytext+1);
Reid Spencera54b7cb2007-01-12 07:05:14 +00001537 if (NumBits < IntegerType::MIN_INT_BITS ||
1538 NumBits > IntegerType::MAX_INT_BITS)
1539 GenerateError("Bitwidth for integer type out of range!");
1540 const Type* Ty = IntegerType::get(NumBits);
1541 RET_TY(Ty, INTTYPE);
1542 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001543 YY_BREAK
Reid Spencer68a24bd2005-08-27 18:50:39 +00001544case 55:
1545YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001546#line 240 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001547{ RET_TOK(BinaryOpVal, Add, ADD); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001548 YY_BREAK
1549case 56:
1550YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001551#line 241 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001552{ RET_TOK(BinaryOpVal, Sub, SUB); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001553 YY_BREAK
1554case 57:
1555YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001556#line 242 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001557{ RET_TOK(BinaryOpVal, Mul, MUL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001558 YY_BREAK
1559case 58:
1560YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001561#line 243 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001562{ RET_TOK(BinaryOpVal, UDiv, UDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001563 YY_BREAK
1564case 59:
1565YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001566#line 244 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001567{ RET_TOK(BinaryOpVal, SDiv, SDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001568 YY_BREAK
1569case 60:
1570YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001571#line 245 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001572{ RET_TOK(BinaryOpVal, FDiv, FDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001573 YY_BREAK
1574case 61:
1575YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001576#line 246 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001577{ RET_TOK(BinaryOpVal, URem, UREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001578 YY_BREAK
1579case 62:
1580YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001581#line 247 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001582{ RET_TOK(BinaryOpVal, SRem, SREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001583 YY_BREAK
1584case 63:
1585YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001586#line 248 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001587{ RET_TOK(BinaryOpVal, FRem, FREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001588 YY_BREAK
1589case 64:
1590YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001591#line 249 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001592{ RET_TOK(BinaryOpVal, Shl, SHL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001593 YY_BREAK
1594case 65:
1595YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001596#line 250 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001597{ RET_TOK(BinaryOpVal, LShr, LSHR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001598 YY_BREAK
1599case 66:
1600YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001601#line 251 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001602{ RET_TOK(BinaryOpVal, AShr, ASHR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001603 YY_BREAK
1604case 67:
1605YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001606#line 252 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001607{ RET_TOK(BinaryOpVal, And, AND); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001608 YY_BREAK
1609case 68:
1610YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001611#line 253 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001612{ RET_TOK(BinaryOpVal, Or , OR ); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001613 YY_BREAK
1614case 69:
1615YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001616#line 254 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001617{ RET_TOK(BinaryOpVal, Xor, XOR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001618 YY_BREAK
1619case 70:
1620YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001621#line 255 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001622{ RET_TOK(OtherOpVal, ICmp, ICMP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001623 YY_BREAK
1624case 71:
1625YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001626#line 256 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001627{ RET_TOK(OtherOpVal, FCmp, FCMP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001628 YY_BREAK
1629case 72:
1630YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001631#line 258 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001632{ return EQ; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001633 YY_BREAK
1634case 73:
1635YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001636#line 259 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001637{ return NE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001638 YY_BREAK
1639case 74:
1640YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001641#line 260 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001642{ return SLT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001643 YY_BREAK
1644case 75:
1645YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001646#line 261 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001647{ return SGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001648 YY_BREAK
1649case 76:
1650YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001651#line 262 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001652{ return SLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001653 YY_BREAK
1654case 77:
1655YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001656#line 263 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001657{ return SGE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001658 YY_BREAK
1659case 78:
1660YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001661#line 264 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001662{ return ULT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001663 YY_BREAK
1664case 79:
1665YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001666#line 265 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001667{ return UGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001668 YY_BREAK
1669case 80:
1670YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001671#line 266 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001672{ return ULE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001673 YY_BREAK
1674case 81:
1675YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001676#line 267 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001677{ return UGE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001678 YY_BREAK
1679case 82:
1680YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001681#line 268 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001682{ return OEQ; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001683 YY_BREAK
1684case 83:
1685YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001686#line 269 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001687{ return ONE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001688 YY_BREAK
1689case 84:
1690YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001691#line 270 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001692{ return OLT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001693 YY_BREAK
1694case 85:
1695YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001696#line 271 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001697{ return OGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001698 YY_BREAK
1699case 86:
1700YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001701#line 272 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001702{ return OLE; }
Nate Begeman14b05292005-11-05 09:21:28 +00001703 YY_BREAK
1704case 87:
1705YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001706#line 273 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001707{ return OGE; }
Chris Lattnere869eef2005-11-12 00:11:49 +00001708 YY_BREAK
1709case 88:
1710YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001711#line 274 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001712{ return ORD; }
Robert Bocchino9c62b562006-01-10 19:04:32 +00001713 YY_BREAK
1714case 89:
1715YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001716#line 275 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001717{ return UNO; }
Robert Bocchino2def1b32006-01-17 20:06:25 +00001718 YY_BREAK
1719case 90:
1720YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001721#line 276 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001722{ return UEQ; }
Chris Lattner8335e842006-01-23 23:05:42 +00001723 YY_BREAK
1724case 91:
1725YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001726#line 277 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001727{ return UNE; }
Chris Lattner66316012006-01-24 04:14:29 +00001728 YY_BREAK
1729case 92:
1730YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001731#line 279 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001732{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
Chris Lattner0e9c3762006-01-25 22:27:16 +00001733 YY_BREAK
1734case 93:
1735YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001736#line 280 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001737{ RET_TOK(OtherOpVal, Call, CALL); }
Chris Lattnerd5efe842006-04-08 01:18:56 +00001738 YY_BREAK
1739case 94:
1740YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001741#line 281 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001742{ RET_TOK(CastOpVal, Trunc, TRUNC); }
Chris Lattner75466192006-05-19 21:28:53 +00001743 YY_BREAK
1744case 95:
1745YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001746#line 282 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001747{ RET_TOK(CastOpVal, ZExt, ZEXT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001748 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001749case 96:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001750YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001751#line 283 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001752{ RET_TOK(CastOpVal, SExt, SEXT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001753 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001754case 97:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001755YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001756#line 284 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001757{ RET_TOK(CastOpVal, FPTrunc, FPTRUNC); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001758 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001759case 98:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001760YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001761#line 285 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001762{ RET_TOK(CastOpVal, FPExt, FPEXT); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001763 YY_BREAK
1764case 99:
1765YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001766#line 286 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001767{ RET_TOK(CastOpVal, UIToFP, UITOFP); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001768 YY_BREAK
1769case 100:
1770YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001771#line 287 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001772{ RET_TOK(CastOpVal, SIToFP, SITOFP); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001773 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001774case 101:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001775YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001776#line 288 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001777{ RET_TOK(CastOpVal, FPToUI, FPTOUI); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001778 YY_BREAK
1779case 102:
1780YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001781#line 289 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001782{ RET_TOK(CastOpVal, FPToSI, FPTOSI); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001783 YY_BREAK
1784case 103:
1785YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001786#line 290 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001787{ RET_TOK(CastOpVal, IntToPtr, INTTOPTR); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001788 YY_BREAK
1789case 104:
1790YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001791#line 291 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001792{ RET_TOK(CastOpVal, PtrToInt, PTRTOINT); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001793 YY_BREAK
1794case 105:
1795YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001796#line 292 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001797{ RET_TOK(CastOpVal, BitCast, BITCAST); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001798 YY_BREAK
1799case 106:
1800YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001801#line 293 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001802{ RET_TOK(OtherOpVal, Select, SELECT); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001803 YY_BREAK
1804case 107:
1805YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001806#line 294 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001807{ RET_TOK(OtherOpVal, VAArg , VAARG); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001808 YY_BREAK
1809case 108:
1810YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001811#line 295 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001812{ RET_TOK(TermOpVal, Ret, RET); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001813 YY_BREAK
1814case 109:
1815YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001816#line 296 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001817{ RET_TOK(TermOpVal, Br, BR); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001818 YY_BREAK
1819case 110:
1820YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001821#line 297 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001822{ RET_TOK(TermOpVal, Switch, SWITCH); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001823 YY_BREAK
1824case 111:
1825YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001826#line 298 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001827{ RET_TOK(TermOpVal, Invoke, INVOKE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001828 YY_BREAK
1829case 112:
1830YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001831#line 299 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001832{ RET_TOK(TermOpVal, Unwind, UNWIND); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001833 YY_BREAK
1834case 113:
1835YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001836#line 300 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001837{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001838 YY_BREAK
1839case 114:
1840YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001841#line 302 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001842{ RET_TOK(MemOpVal, Malloc, MALLOC); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001843 YY_BREAK
1844case 115:
1845YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001846#line 303 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001847{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001848 YY_BREAK
1849case 116:
1850YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001851#line 304 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001852{ RET_TOK(MemOpVal, Free, FREE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001853 YY_BREAK
1854case 117:
1855YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001856#line 305 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001857{ RET_TOK(MemOpVal, Load, LOAD); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001858 YY_BREAK
1859case 118:
1860YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001861#line 306 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001862{ RET_TOK(MemOpVal, Store, STORE); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001863 YY_BREAK
Reid Spencer41dff5e2007-01-26 08:05:27 +00001864case 119:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001865YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001866#line 307 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001867{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
Reid Spencer67d8ed92007-03-22 02:14:08 +00001868 YY_BREAK
1869case 120:
1870YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001871#line 309 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001872{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001873 YY_BREAK
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001874case 121:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001875YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001876#line 310 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001877{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001878 YY_BREAK
1879case 122:
1880YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001881#line 311 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001882{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
Owen Anderson1dc69692006-10-18 02:21:48 +00001883 YY_BREAK
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001884case 123:
Owen Anderson1dc69692006-10-18 02:21:48 +00001885YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001886#line 314 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001887{
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001888 llvmAsmlval.StrVal = new std::string(yytext+1); // Skip %
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001889 return LOCALVAR;
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001890 }
1891 YY_BREAK
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001892case 124:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001893YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001894#line 318 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001895{
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001896 llvmAsmlval.StrVal = new std::string(yytext+1); // Skip @
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001897 return GLOBALVAR;
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001898 }
1899 YY_BREAK
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001900case 125:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001901YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001902#line 322 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Lauro Ramos Venancioc7635522007-04-12 18:32:50 +00001903{
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001904 yytext[yyleng-1] = 0; // nuke colon
1905 llvmAsmlval.StrVal = new std::string(yytext);
Lauro Ramos Venancioc7635522007-04-12 18:32:50 +00001906 return LABELSTR;
1907 }
1908 YY_BREAK
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001909case 126:
Lauro Ramos Venancioc7635522007-04-12 18:32:50 +00001910YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001911#line 327 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001912{
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001913 yytext[yyleng-2] = 0; // nuke colon, end quote
1914 const char* EndChar = UnEscapeLexed(yytext+1);
1915 llvmAsmlval.StrVal =
1916 new std::string(yytext+1, EndChar - yytext - 1);
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001917 return LABELSTR;
1918 }
1919 YY_BREAK
1920case 127:
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001921YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001922#line 335 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1923{ yytext[yyleng-1] = 0; // nuke end quote
1924 const char* EndChar = UnEscapeLexed(yytext+1);
1925 llvmAsmlval.StrVal =
1926 new std::string(yytext+1, EndChar - yytext - 1);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001927 return STRINGCONSTANT;
1928 }
1929 YY_BREAK
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001930case 128:
Reid Spencer6f407902007-01-13 05:00:46 +00001931YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001932#line 341 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001933{
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001934 yytext[yyleng-1] = 0; // nuke end quote
1935 const char* EndChar = UnEscapeLexed(yytext+2);
1936 llvmAsmlval.StrVal =
1937 new std::string(yytext+2, EndChar - yytext - 2);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001938 return ATSTRINGCONSTANT;
1939 }
1940 YY_BREAK
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001941case 129:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001942YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001943#line 348 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencered951ea2007-05-19 07:22:10 +00001944{
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001945 yytext[yyleng-1] = 0; // nuke end quote
1946 const char* EndChar = UnEscapeLexed(yytext+2);
1947 llvmAsmlval.StrVal =
1948 new std::string(yytext+2, EndChar - yytext - 2);
Reid Spencered951ea2007-05-19 07:22:10 +00001949 return PCTSTRINGCONSTANT;
1950 }
1951 YY_BREAK
1952case 130:
1953YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001954#line 355 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1955{
1956 uint32_t numBits = ((yyleng * 64) / 19) + 1;
1957 APInt Tmp(numBits, yytext, yyleng, 10);
Reid Spencer38c91a92007-02-28 02:24:54 +00001958 uint32_t activeBits = Tmp.getActiveBits();
1959 if (activeBits > 0 && activeBits < numBits)
1960 Tmp.trunc(activeBits);
1961 if (Tmp.getBitWidth() > 64) {
1962 llvmAsmlval.APIntVal = new APInt(Tmp);
1963 return EUAPINTVAL;
1964 } else {
1965 llvmAsmlval.UInt64Val = Tmp.getZExtValue();
1966 return EUINT64VAL;
1967 }
1968 }
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001969 YY_BREAK
Reid Spencered951ea2007-05-19 07:22:10 +00001970case 131:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001971YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001972#line 369 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1973{
1974 uint32_t numBits = (((yyleng-1) * 64) / 19) + 2;
1975 APInt Tmp(numBits, yytext, yyleng, 10);
Reid Spencer38c91a92007-02-28 02:24:54 +00001976 uint32_t minBits = Tmp.getMinSignedBits();
1977 if (minBits > 0 && minBits < numBits)
1978 Tmp.trunc(minBits);
1979 if (Tmp.getBitWidth() > 64) {
1980 llvmAsmlval.APIntVal = new APInt(Tmp);
1981 return ESAPINTVAL;
1982 } else {
1983 llvmAsmlval.SInt64Val = Tmp.getSExtValue();
1984 return ESINT64VAL;
1985 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001986 }
1987 YY_BREAK
Reid Spencered951ea2007-05-19 07:22:10 +00001988case 132:
Reid Spencer6f407902007-01-13 05:00:46 +00001989YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001990#line 384 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1991{ int len = yyleng - 3;
Reid Spencer38c91a92007-02-28 02:24:54 +00001992 uint32_t bits = len * 4;
Reid Spencered951ea2007-05-19 07:22:10 +00001993 APInt Tmp(bits, yytext+3, len, 16);
Reid Spencer38c91a92007-02-28 02:24:54 +00001994 uint32_t activeBits = Tmp.getActiveBits();
1995 if (activeBits > 0 && activeBits < bits)
1996 Tmp.trunc(activeBits);
1997 if (Tmp.getBitWidth() > 64) {
1998 llvmAsmlval.APIntVal = new APInt(Tmp);
Reid Spencered951ea2007-05-19 07:22:10 +00001999 return yytext[0] == 's' ? ESAPINTVAL : EUAPINTVAL;
2000 } else if (yytext[0] == 's') {
Reid Spencer38c91a92007-02-28 02:24:54 +00002001 llvmAsmlval.SInt64Val = Tmp.getSExtValue();
2002 return ESINT64VAL;
2003 } else {
2004 llvmAsmlval.UInt64Val = Tmp.getZExtValue();
2005 return EUINT64VAL;
2006 }
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002007 }
Reid Spencer6f407902007-01-13 05:00:46 +00002008 YY_BREAK
Reid Spencered951ea2007-05-19 07:22:10 +00002009case 133:
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002010YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00002011#line 402 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002012{
Reid Spencered951ea2007-05-19 07:22:10 +00002013 uint64_t Val = atoull(yytext+1);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002014 if ((unsigned)Val != Val)
2015 GenerateError("Invalid value number (too large)!");
2016 llvmAsmlval.UIntVal = unsigned(Val);
2017 return LOCALVAL_ID;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002018 }
2019 YY_BREAK
Reid Spencered951ea2007-05-19 07:22:10 +00002020case 134:
Owen Anderson1dc69692006-10-18 02:21:48 +00002021YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00002022#line 409 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002023{
Reid Spencered951ea2007-05-19 07:22:10 +00002024 uint64_t Val = atoull(yytext+1);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002025 if ((unsigned)Val != Val)
2026 GenerateError("Invalid value number (too large)!");
2027 llvmAsmlval.UIntVal = unsigned(Val);
2028 return GLOBALVAL_ID;
2029 }
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002030 YY_BREAK
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00002031case 135:
2032YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00002033#line 417 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencered951ea2007-05-19 07:22:10 +00002034{ llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
2035 YY_BREAK
2036case 136:
2037YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00002038#line 418 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencered951ea2007-05-19 07:22:10 +00002039{ llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002040 YY_BREAK
2041case YY_STATE_EOF(INITIAL):
Reid Spencer0a8a16b2007-05-22 18:52:55 +00002042#line 420 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002043{
2044 /* Make sure to free the internal buffers for flex when we are
2045 * done reading our input!
2046 */
Reid Spencered951ea2007-05-19 07:22:10 +00002047 yy_delete_buffer(YY_CURRENT_BUFFER);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002048 return EOF;
2049 }
2050 YY_BREAK
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00002051case 137:
2052YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00002053#line 428 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencered951ea2007-05-19 07:22:10 +00002054{ /* Ignore whitespace */ }
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00002055 YY_BREAK
2056case 138:
2057YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00002058#line 429 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencered951ea2007-05-19 07:22:10 +00002059{ return yytext[0]; }
2060 YY_BREAK
2061case 139:
2062YY_RULE_SETUP
Reid Spencer0a8a16b2007-05-22 18:52:55 +00002063#line 431 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002064YY_FATAL_ERROR( "flex scanner jammed" );
2065 YY_BREAK
Reid Spencer0a8a16b2007-05-22 18:52:55 +00002066#line 2067 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002067
2068 case YY_END_OF_BUFFER:
2069 {
2070 /* Amount of text matched not including the EOB char. */
Reid Spencered951ea2007-05-19 07:22:10 +00002071 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002072
2073 /* Undo the effects of YY_DO_BEFORE_ACTION. */
Reid Spencered951ea2007-05-19 07:22:10 +00002074 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002075 YY_RESTORE_YY_MORE_OFFSET
2076
Reid Spencered951ea2007-05-19 07:22:10 +00002077 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002078 {
2079 /* We're scanning a new file or input source. It's
2080 * possible that this happened because the user
Reid Spencered951ea2007-05-19 07:22:10 +00002081 * just pointed yyin at a new source and called
2082 * yylex(). If so, then we have to assure
2083 * consistency between yy_current_buffer and our
Reid Spencer68a24bd2005-08-27 18:50:39 +00002084 * globals. Here is the right place to do so, because
2085 * this is the first action (other than possibly a
2086 * back-up) that will match for the new input source.
2087 */
Reid Spencered951ea2007-05-19 07:22:10 +00002088 yy_n_chars = yy_current_buffer->yy_n_chars;
2089 yy_current_buffer->yy_input_file = yyin;
2090 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002091 }
2092
2093 /* Note that here we test for yy_c_buf_p "<=" to the position
2094 * of the first EOB in the buffer, since yy_c_buf_p will
2095 * already have been incremented past the NUL character
2096 * (since all states make transitions on EOB to the
2097 * end-of-buffer state). Contrast this with the test
2098 * in input().
2099 */
Reid Spencered951ea2007-05-19 07:22:10 +00002100 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002101 { /* This was really a NUL. */
2102 yy_state_type yy_next_state;
2103
Reid Spencered951ea2007-05-19 07:22:10 +00002104 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002105
Reid Spencered951ea2007-05-19 07:22:10 +00002106 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002107
2108 /* Okay, we're now positioned to make the NUL
2109 * transition. We couldn't have
2110 * yy_get_previous_state() go ahead and do it
2111 * for us because it doesn't know how to deal
2112 * with the possibility of jamming (and we don't
2113 * want to build jamming into it because then it
2114 * will run more slowly).
2115 */
2116
2117 yy_next_state = yy_try_NUL_trans( yy_current_state );
2118
Reid Spencered951ea2007-05-19 07:22:10 +00002119 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002120
2121 if ( yy_next_state )
2122 {
2123 /* Consume the NUL. */
Reid Spencered951ea2007-05-19 07:22:10 +00002124 yy_cp = ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002125 yy_current_state = yy_next_state;
2126 goto yy_match;
2127 }
2128
2129 else
2130 {
Reid Spencered951ea2007-05-19 07:22:10 +00002131 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002132 goto yy_find_action;
2133 }
2134 }
2135
Reid Spencered951ea2007-05-19 07:22:10 +00002136 else switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002137 {
2138 case EOB_ACT_END_OF_FILE:
2139 {
Reid Spencered951ea2007-05-19 07:22:10 +00002140 yy_did_buffer_switch_on_eof = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002141
Reid Spencered951ea2007-05-19 07:22:10 +00002142 if ( yywrap() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002143 {
2144 /* Note: because we've taken care in
2145 * yy_get_next_buffer() to have set up
Reid Spencered951ea2007-05-19 07:22:10 +00002146 * yytext, we can now set up
Reid Spencer68a24bd2005-08-27 18:50:39 +00002147 * yy_c_buf_p so that if some total
2148 * hoser (like flex itself) wants to
2149 * call the scanner after we return the
2150 * YY_NULL, it'll still work - another
2151 * YY_NULL will get returned.
2152 */
Reid Spencered951ea2007-05-19 07:22:10 +00002153 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002154
2155 yy_act = YY_STATE_EOF(YY_START);
2156 goto do_action;
2157 }
2158
2159 else
2160 {
Reid Spencered951ea2007-05-19 07:22:10 +00002161 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002162 YY_NEW_FILE;
2163 }
2164 break;
2165 }
2166
2167 case EOB_ACT_CONTINUE_SCAN:
Reid Spencered951ea2007-05-19 07:22:10 +00002168 yy_c_buf_p =
2169 yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002170
Reid Spencered951ea2007-05-19 07:22:10 +00002171 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002172
Reid Spencered951ea2007-05-19 07:22:10 +00002173 yy_cp = yy_c_buf_p;
2174 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002175 goto yy_match;
2176
2177 case EOB_ACT_LAST_MATCH:
Reid Spencered951ea2007-05-19 07:22:10 +00002178 yy_c_buf_p =
2179 &yy_current_buffer->yy_ch_buf[yy_n_chars];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002180
Reid Spencered951ea2007-05-19 07:22:10 +00002181 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002182
Reid Spencered951ea2007-05-19 07:22:10 +00002183 yy_cp = yy_c_buf_p;
2184 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002185 goto yy_find_action;
2186 }
2187 break;
2188 }
2189
2190 default:
2191 YY_FATAL_ERROR(
2192 "fatal flex scanner internal error--no action found" );
2193 } /* end of action switch */
2194 } /* end of scanning one token */
Reid Spencered951ea2007-05-19 07:22:10 +00002195 } /* end of yylex */
2196
Reid Spencer68a24bd2005-08-27 18:50:39 +00002197
2198/* yy_get_next_buffer - try to read in a new buffer
2199 *
2200 * Returns a code representing an action:
2201 * EOB_ACT_LAST_MATCH -
2202 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2203 * EOB_ACT_END_OF_FILE - end of file
2204 */
Reid Spencered951ea2007-05-19 07:22:10 +00002205
2206static int yy_get_next_buffer()
2207 {
2208 register char *dest = yy_current_buffer->yy_ch_buf;
2209 register char *source = yytext_ptr;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002210 register int number_to_move, i;
2211 int ret_val;
2212
Reid Spencered951ea2007-05-19 07:22:10 +00002213 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002214 YY_FATAL_ERROR(
2215 "fatal flex scanner internal error--end of buffer missed" );
2216
Reid Spencered951ea2007-05-19 07:22:10 +00002217 if ( yy_current_buffer->yy_fill_buffer == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002218 { /* Don't try to fill the buffer, so this is an EOF. */
Reid Spencered951ea2007-05-19 07:22:10 +00002219 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002220 {
2221 /* We matched a single character, the EOB, so
2222 * treat this as a final EOF.
2223 */
2224 return EOB_ACT_END_OF_FILE;
2225 }
2226
2227 else
2228 {
2229 /* We matched some text prior to the EOB, first
2230 * process it.
2231 */
2232 return EOB_ACT_LAST_MATCH;
2233 }
2234 }
2235
2236 /* Try to read more data. */
2237
2238 /* First move last chars to start of buffer. */
Reid Spencered951ea2007-05-19 07:22:10 +00002239 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002240
2241 for ( i = 0; i < number_to_move; ++i )
2242 *(dest++) = *(source++);
2243
Reid Spencered951ea2007-05-19 07:22:10 +00002244 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002245 /* don't do the read, it's not guaranteed to return an EOF,
2246 * just force an EOF
2247 */
Reid Spencered951ea2007-05-19 07:22:10 +00002248 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002249
2250 else
2251 {
Reid Spencered951ea2007-05-19 07:22:10 +00002252 int num_to_read =
2253 yy_current_buffer->yy_buf_size - number_to_move - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002254
2255 while ( num_to_read <= 0 )
2256 { /* Not enough room in the buffer - grow it. */
Reid Spencered951ea2007-05-19 07:22:10 +00002257#ifdef YY_USES_REJECT
2258 YY_FATAL_ERROR(
2259"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
2260#else
Reid Spencer68a24bd2005-08-27 18:50:39 +00002261
2262 /* just a shorter name for the current buffer */
Reid Spencered951ea2007-05-19 07:22:10 +00002263 YY_BUFFER_STATE b = yy_current_buffer;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002264
2265 int yy_c_buf_p_offset =
Reid Spencered951ea2007-05-19 07:22:10 +00002266 (int) (yy_c_buf_p - b->yy_ch_buf);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002267
2268 if ( b->yy_is_our_buffer )
2269 {
2270 int new_size = b->yy_buf_size * 2;
2271
2272 if ( new_size <= 0 )
2273 b->yy_buf_size += b->yy_buf_size / 8;
2274 else
2275 b->yy_buf_size *= 2;
2276
2277 b->yy_ch_buf = (char *)
2278 /* Include room in for 2 EOB chars. */
Reid Spencered951ea2007-05-19 07:22:10 +00002279 yy_flex_realloc( (void *) b->yy_ch_buf,
2280 b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002281 }
2282 else
2283 /* Can't grow it, we don't own it. */
2284 b->yy_ch_buf = 0;
2285
2286 if ( ! b->yy_ch_buf )
2287 YY_FATAL_ERROR(
2288 "fatal error - scanner input buffer overflow" );
2289
Reid Spencered951ea2007-05-19 07:22:10 +00002290 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002291
Reid Spencered951ea2007-05-19 07:22:10 +00002292 num_to_read = yy_current_buffer->yy_buf_size -
Reid Spencer68a24bd2005-08-27 18:50:39 +00002293 number_to_move - 1;
Reid Spencered951ea2007-05-19 07:22:10 +00002294#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002295 }
2296
2297 if ( num_to_read > YY_READ_BUF_SIZE )
2298 num_to_read = YY_READ_BUF_SIZE;
2299
2300 /* Read in more data. */
Reid Spencered951ea2007-05-19 07:22:10 +00002301 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
2302 yy_n_chars, num_to_read );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002303
Reid Spencered951ea2007-05-19 07:22:10 +00002304 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002305 }
2306
Reid Spencered951ea2007-05-19 07:22:10 +00002307 if ( yy_n_chars == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002308 {
2309 if ( number_to_move == YY_MORE_ADJ )
2310 {
2311 ret_val = EOB_ACT_END_OF_FILE;
Reid Spencered951ea2007-05-19 07:22:10 +00002312 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002313 }
2314
2315 else
2316 {
2317 ret_val = EOB_ACT_LAST_MATCH;
Reid Spencered951ea2007-05-19 07:22:10 +00002318 yy_current_buffer->yy_buffer_status =
Reid Spencer68a24bd2005-08-27 18:50:39 +00002319 YY_BUFFER_EOF_PENDING;
2320 }
2321 }
2322
2323 else
2324 ret_val = EOB_ACT_CONTINUE_SCAN;
2325
Reid Spencered951ea2007-05-19 07:22:10 +00002326 yy_n_chars += number_to_move;
2327 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2328 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002329
Reid Spencered951ea2007-05-19 07:22:10 +00002330 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002331
2332 return ret_val;
Reid Spencered951ea2007-05-19 07:22:10 +00002333 }
2334
Reid Spencer68a24bd2005-08-27 18:50:39 +00002335
2336/* yy_get_previous_state - get the state just before the EOB char was reached */
2337
Reid Spencered951ea2007-05-19 07:22:10 +00002338static yy_state_type yy_get_previous_state()
2339 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002340 register yy_state_type yy_current_state;
2341 register char *yy_cp;
2342
Reid Spencered951ea2007-05-19 07:22:10 +00002343 yy_current_state = yy_start;
2344 yy_state_ptr = yy_state_buf;
2345 *yy_state_ptr++ = yy_current_state;
2346
2347 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002348 {
2349 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2350 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2351 {
2352 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencered951ea2007-05-19 07:22:10 +00002353 if ( yy_current_state >= 563 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002354 yy_c = yy_meta[(unsigned int) yy_c];
2355 }
2356 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencered951ea2007-05-19 07:22:10 +00002357 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002358 }
2359
2360 return yy_current_state;
Reid Spencered951ea2007-05-19 07:22:10 +00002361 }
2362
Reid Spencer68a24bd2005-08-27 18:50:39 +00002363
2364/* yy_try_NUL_trans - try to make a transition on the NUL character
2365 *
2366 * synopsis
2367 * next_state = yy_try_NUL_trans( current_state );
2368 */
Reid Spencered951ea2007-05-19 07:22:10 +00002369
2370#ifdef YY_USE_PROTOS
2371static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
2372#else
2373static yy_state_type yy_try_NUL_trans( yy_current_state )
2374yy_state_type yy_current_state;
2375#endif
2376 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002377 register int yy_is_jam;
2378
2379 register YY_CHAR yy_c = 1;
2380 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2381 {
2382 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencered951ea2007-05-19 07:22:10 +00002383 if ( yy_current_state >= 563 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002384 yy_c = yy_meta[(unsigned int) yy_c];
2385 }
2386 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencered951ea2007-05-19 07:22:10 +00002387 yy_is_jam = (yy_current_state == 562);
2388 if ( ! yy_is_jam )
2389 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002390
2391 return yy_is_jam ? 0 : yy_current_state;
Reid Spencered951ea2007-05-19 07:22:10 +00002392 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002393
2394
Reid Spencered951ea2007-05-19 07:22:10 +00002395#ifndef YY_NO_UNPUT
2396#ifdef YY_USE_PROTOS
2397static inline void yyunput( int c, register char *yy_bp )
2398#else
2399static inline void yyunput( c, yy_bp )
2400int c;
2401register char *yy_bp;
2402#endif
2403 {
2404 register char *yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002405
Reid Spencered951ea2007-05-19 07:22:10 +00002406 /* undo effects of setting up yytext */
2407 *yy_cp = yy_hold_char;
2408
2409 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002410 { /* need to shift things up to make room */
2411 /* +2 for EOB chars. */
Reid Spencered951ea2007-05-19 07:22:10 +00002412 register int number_to_move = yy_n_chars + 2;
2413 register char *dest = &yy_current_buffer->yy_ch_buf[
2414 yy_current_buffer->yy_buf_size + 2];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002415 register char *source =
Reid Spencered951ea2007-05-19 07:22:10 +00002416 &yy_current_buffer->yy_ch_buf[number_to_move];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002417
Reid Spencered951ea2007-05-19 07:22:10 +00002418 while ( source > yy_current_buffer->yy_ch_buf )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002419 *--dest = *--source;
2420
2421 yy_cp += (int) (dest - source);
2422 yy_bp += (int) (dest - source);
Reid Spencered951ea2007-05-19 07:22:10 +00002423 yy_current_buffer->yy_n_chars =
2424 yy_n_chars = yy_current_buffer->yy_buf_size;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002425
Reid Spencered951ea2007-05-19 07:22:10 +00002426 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002427 YY_FATAL_ERROR( "flex scanner push-back overflow" );
2428 }
2429
2430 *--yy_cp = (char) c;
2431
Reid Spencered951ea2007-05-19 07:22:10 +00002432 if ( c == '\n' )
2433 --yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002434
Reid Spencered951ea2007-05-19 07:22:10 +00002435 yytext_ptr = yy_bp;
2436 yy_hold_char = *yy_cp;
2437 yy_c_buf_p = yy_cp;
2438 }
2439#endif /* ifndef YY_NO_UNPUT */
2440
Reid Spencer6f407902007-01-13 05:00:46 +00002441
Reid Spencer0a8a16b2007-05-22 18:52:55 +00002442#ifndef YY_NO_INPUT
Reid Spencer68a24bd2005-08-27 18:50:39 +00002443#ifdef __cplusplus
Reid Spencered951ea2007-05-19 07:22:10 +00002444static int yyinput()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002445#else
Reid Spencered951ea2007-05-19 07:22:10 +00002446static int input()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002447#endif
Reid Spencered951ea2007-05-19 07:22:10 +00002448 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002449 int c;
2450
Reid Spencered951ea2007-05-19 07:22:10 +00002451 *yy_c_buf_p = yy_hold_char;
2452
2453 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002454 {
2455 /* yy_c_buf_p now points to the character we want to return.
2456 * If this occurs *before* the EOB characters, then it's a
2457 * valid NUL; if not, then we've hit the end of the buffer.
2458 */
Reid Spencered951ea2007-05-19 07:22:10 +00002459 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002460 /* This was really a NUL. */
Reid Spencered951ea2007-05-19 07:22:10 +00002461 *yy_c_buf_p = '\0';
Reid Spencer68a24bd2005-08-27 18:50:39 +00002462
2463 else
2464 { /* need more input */
Reid Spencered951ea2007-05-19 07:22:10 +00002465 int offset = yy_c_buf_p - yytext_ptr;
2466 ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002467
Reid Spencered951ea2007-05-19 07:22:10 +00002468 switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002469 {
2470 case EOB_ACT_LAST_MATCH:
2471 /* This happens because yy_g_n_b()
2472 * sees that we've accumulated a
2473 * token and flags that we need to
2474 * try matching the token before
2475 * proceeding. But for input(),
2476 * there's no matching to consider.
2477 * So convert the EOB_ACT_LAST_MATCH
2478 * to EOB_ACT_END_OF_FILE.
2479 */
2480
2481 /* Reset buffer status. */
Reid Spencered951ea2007-05-19 07:22:10 +00002482 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002483
Reid Spencered951ea2007-05-19 07:22:10 +00002484 /* fall through */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002485
2486 case EOB_ACT_END_OF_FILE:
2487 {
Reid Spencered951ea2007-05-19 07:22:10 +00002488 if ( yywrap() )
Reid Spencer61c83e02006-08-18 08:43:06 +00002489 return EOF;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002490
Reid Spencered951ea2007-05-19 07:22:10 +00002491 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002492 YY_NEW_FILE;
2493#ifdef __cplusplus
2494 return yyinput();
2495#else
2496 return input();
2497#endif
2498 }
2499
2500 case EOB_ACT_CONTINUE_SCAN:
Reid Spencered951ea2007-05-19 07:22:10 +00002501 yy_c_buf_p = yytext_ptr + offset;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002502 break;
2503 }
2504 }
2505 }
2506
Reid Spencered951ea2007-05-19 07:22:10 +00002507 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
2508 *yy_c_buf_p = '\0'; /* preserve yytext */
2509 yy_hold_char = *++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002510
2511 if ( c == '\n' )
Reid Spencered951ea2007-05-19 07:22:10 +00002512 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002513
2514 return c;
Reid Spencered951ea2007-05-19 07:22:10 +00002515 }
Reid Spencer0a8a16b2007-05-22 18:52:55 +00002516#endif /* YY_NO_INPUT */
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002517
Reid Spencered951ea2007-05-19 07:22:10 +00002518#ifdef YY_USE_PROTOS
2519void yyrestart( FILE *input_file )
2520#else
2521void yyrestart( input_file )
2522FILE *input_file;
2523#endif
2524 {
2525 if ( ! yy_current_buffer )
2526 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
2527
2528 yy_init_buffer( yy_current_buffer, input_file );
2529 yy_load_buffer_state();
Reid Spencer6f407902007-01-13 05:00:46 +00002530 }
Reid Spencer41dff5e2007-01-26 08:05:27 +00002531
Reid Spencer68a24bd2005-08-27 18:50:39 +00002532
Reid Spencered951ea2007-05-19 07:22:10 +00002533#ifdef YY_USE_PROTOS
2534void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
2535#else
2536void yy_switch_to_buffer( new_buffer )
2537YY_BUFFER_STATE new_buffer;
2538#endif
2539 {
2540 if ( yy_current_buffer == new_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002541 return;
2542
Reid Spencered951ea2007-05-19 07:22:10 +00002543 if ( yy_current_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002544 {
2545 /* Flush out information for old buffer. */
Reid Spencered951ea2007-05-19 07:22:10 +00002546 *yy_c_buf_p = yy_hold_char;
2547 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
2548 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002549 }
2550
Reid Spencered951ea2007-05-19 07:22:10 +00002551 yy_current_buffer = new_buffer;
2552 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002553
2554 /* We don't actually know whether we did this switch during
Reid Spencered951ea2007-05-19 07:22:10 +00002555 * EOF (yywrap()) processing, but the only time this flag
2556 * is looked at is after yywrap() is called, so it's safe
Reid Spencer68a24bd2005-08-27 18:50:39 +00002557 * to go ahead and always set it.
2558 */
Reid Spencered951ea2007-05-19 07:22:10 +00002559 yy_did_buffer_switch_on_eof = 1;
2560 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002561
2562
Reid Spencered951ea2007-05-19 07:22:10 +00002563#ifdef YY_USE_PROTOS
2564void yy_load_buffer_state( void )
2565#else
2566void yy_load_buffer_state()
2567#endif
2568 {
2569 yy_n_chars = yy_current_buffer->yy_n_chars;
2570 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
2571 yyin = yy_current_buffer->yy_input_file;
2572 yy_hold_char = *yy_c_buf_p;
2573 }
2574
2575
2576#ifdef YY_USE_PROTOS
2577YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
2578#else
2579YY_BUFFER_STATE yy_create_buffer( file, size )
2580FILE *file;
2581int size;
2582#endif
2583 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002584 YY_BUFFER_STATE b;
Reid Spencered951ea2007-05-19 07:22:10 +00002585
2586 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002587 if ( ! b )
Reid Spencered951ea2007-05-19 07:22:10 +00002588 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002589
2590 b->yy_buf_size = size;
2591
2592 /* yy_ch_buf has to be 2 characters longer than the size given because
2593 * we need to put in 2 end-of-buffer characters.
2594 */
Reid Spencered951ea2007-05-19 07:22:10 +00002595 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002596 if ( ! b->yy_ch_buf )
Reid Spencered951ea2007-05-19 07:22:10 +00002597 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002598
2599 b->yy_is_our_buffer = 1;
2600
Reid Spencered951ea2007-05-19 07:22:10 +00002601 yy_init_buffer( b, file );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002602
2603 return b;
Reid Spencered951ea2007-05-19 07:22:10 +00002604 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002605
Reid Spencered951ea2007-05-19 07:22:10 +00002606
2607#ifdef YY_USE_PROTOS
2608void yy_delete_buffer( YY_BUFFER_STATE b )
2609#else
2610void yy_delete_buffer( b )
2611YY_BUFFER_STATE b;
2612#endif
2613 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002614 if ( ! b )
2615 return;
2616
Reid Spencered951ea2007-05-19 07:22:10 +00002617 if ( b == yy_current_buffer )
2618 yy_current_buffer = (YY_BUFFER_STATE) 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002619
2620 if ( b->yy_is_our_buffer )
Reid Spencered951ea2007-05-19 07:22:10 +00002621 yy_flex_free( (void *) b->yy_ch_buf );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002622
Reid Spencered951ea2007-05-19 07:22:10 +00002623 yy_flex_free( (void *) b );
2624 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002625
2626
Reid Spencered951ea2007-05-19 07:22:10 +00002627
2628#ifdef YY_USE_PROTOS
2629void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
2630#else
2631void yy_init_buffer( b, file )
2632YY_BUFFER_STATE b;
2633FILE *file;
2634#endif
2635
2636
2637 {
2638 yy_flush_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002639
2640 b->yy_input_file = file;
2641 b->yy_fill_buffer = 1;
2642
Reid Spencered951ea2007-05-19 07:22:10 +00002643#if YY_ALWAYS_INTERACTIVE
2644 b->yy_is_interactive = 1;
2645#else
2646#if YY_NEVER_INTERACTIVE
2647 b->yy_is_interactive = 0;
2648#else
2649 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
2650#endif
2651#endif
2652 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002653
2654
Reid Spencered951ea2007-05-19 07:22:10 +00002655#ifdef YY_USE_PROTOS
2656void yy_flush_buffer( YY_BUFFER_STATE b )
2657#else
2658void yy_flush_buffer( b )
2659YY_BUFFER_STATE b;
2660#endif
2661
2662 {
2663 if ( ! b )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002664 return;
2665
2666 b->yy_n_chars = 0;
2667
2668 /* We always need two end-of-buffer characters. The first causes
2669 * a transition to the end-of-buffer state. The second causes
2670 * a jam in that state.
2671 */
2672 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2673 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2674
2675 b->yy_buf_pos = &b->yy_ch_buf[0];
2676
2677 b->yy_at_bol = 1;
2678 b->yy_buffer_status = YY_BUFFER_NEW;
2679
Reid Spencered951ea2007-05-19 07:22:10 +00002680 if ( b == yy_current_buffer )
2681 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002682 }
2683
2684
Reid Spencered951ea2007-05-19 07:22:10 +00002685#ifndef YY_NO_SCAN_BUFFER
2686#ifdef YY_USE_PROTOS
2687YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
2688#else
2689YY_BUFFER_STATE yy_scan_buffer( base, size )
2690char *base;
2691yy_size_t size;
2692#endif
2693 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002694 YY_BUFFER_STATE b;
Reid Spencered951ea2007-05-19 07:22:10 +00002695
Reid Spencer68a24bd2005-08-27 18:50:39 +00002696 if ( size < 2 ||
2697 base[size-2] != YY_END_OF_BUFFER_CHAR ||
2698 base[size-1] != YY_END_OF_BUFFER_CHAR )
2699 /* They forgot to leave room for the EOB's. */
2700 return 0;
2701
Reid Spencered951ea2007-05-19 07:22:10 +00002702 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002703 if ( ! b )
Reid Spencered951ea2007-05-19 07:22:10 +00002704 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002705
2706 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2707 b->yy_buf_pos = b->yy_ch_buf = base;
2708 b->yy_is_our_buffer = 0;
2709 b->yy_input_file = 0;
2710 b->yy_n_chars = b->yy_buf_size;
2711 b->yy_is_interactive = 0;
2712 b->yy_at_bol = 1;
2713 b->yy_fill_buffer = 0;
2714 b->yy_buffer_status = YY_BUFFER_NEW;
2715
Reid Spencered951ea2007-05-19 07:22:10 +00002716 yy_switch_to_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002717
2718 return b;
Reid Spencered951ea2007-05-19 07:22:10 +00002719 }
2720#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002721
2722
Reid Spencered951ea2007-05-19 07:22:10 +00002723#ifndef YY_NO_SCAN_STRING
2724#ifdef YY_USE_PROTOS
2725YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
2726#else
2727YY_BUFFER_STATE yy_scan_string( yy_str )
2728yyconst char *yy_str;
2729#endif
2730 {
2731 int len;
2732 for ( len = 0; yy_str[len]; ++len )
2733 ;
2734
2735 return yy_scan_bytes( yy_str, len );
2736 }
2737#endif
2738
2739
2740#ifndef YY_NO_SCAN_BYTES
2741#ifdef YY_USE_PROTOS
2742YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
2743#else
2744YY_BUFFER_STATE yy_scan_bytes( bytes, len )
2745yyconst char *bytes;
2746int len;
2747#endif
2748 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002749 YY_BUFFER_STATE b;
2750 char *buf;
2751 yy_size_t n;
2752 int i;
Reid Spencered951ea2007-05-19 07:22:10 +00002753
Reid Spencer68a24bd2005-08-27 18:50:39 +00002754 /* Get memory for full buffer, including space for trailing EOB's. */
Reid Spencered951ea2007-05-19 07:22:10 +00002755 n = len + 2;
2756 buf = (char *) yy_flex_alloc( n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002757 if ( ! buf )
Reid Spencered951ea2007-05-19 07:22:10 +00002758 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002759
Reid Spencered951ea2007-05-19 07:22:10 +00002760 for ( i = 0; i < len; ++i )
2761 buf[i] = bytes[i];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002762
Reid Spencered951ea2007-05-19 07:22:10 +00002763 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002764
Reid Spencered951ea2007-05-19 07:22:10 +00002765 b = yy_scan_buffer( buf, n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002766 if ( ! b )
Reid Spencered951ea2007-05-19 07:22:10 +00002767 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002768
2769 /* It's okay to grow etc. this buffer, and we should throw it
2770 * away when we're done.
2771 */
2772 b->yy_is_our_buffer = 1;
2773
2774 return b;
Reid Spencered951ea2007-05-19 07:22:10 +00002775 }
2776#endif
2777
2778
2779#ifndef YY_NO_PUSH_STATE
2780#ifdef YY_USE_PROTOS
2781static void yy_push_state( int new_state )
2782#else
2783static void yy_push_state( new_state )
2784int new_state;
2785#endif
2786 {
2787 if ( yy_start_stack_ptr >= yy_start_stack_depth )
2788 {
2789 yy_size_t new_size;
2790
2791 yy_start_stack_depth += YY_START_STACK_INCR;
2792 new_size = yy_start_stack_depth * sizeof( int );
2793
2794 if ( ! yy_start_stack )
2795 yy_start_stack = (int *) yy_flex_alloc( new_size );
2796
2797 else
2798 yy_start_stack = (int *) yy_flex_realloc(
2799 (void *) yy_start_stack, new_size );
2800
2801 if ( ! yy_start_stack )
2802 YY_FATAL_ERROR(
2803 "out of memory expanding start-condition stack" );
2804 }
2805
2806 yy_start_stack[yy_start_stack_ptr++] = YY_START;
2807
2808 BEGIN(new_state);
2809 }
2810#endif
2811
2812
2813#ifndef YY_NO_POP_STATE
2814static void yy_pop_state()
2815 {
2816 if ( --yy_start_stack_ptr < 0 )
2817 YY_FATAL_ERROR( "start-condition stack underflow" );
2818
2819 BEGIN(yy_start_stack[yy_start_stack_ptr]);
2820 }
2821#endif
2822
2823
2824#ifndef YY_NO_TOP_STATE
2825static int yy_top_state()
2826 {
2827 return yy_start_stack[yy_start_stack_ptr - 1];
2828 }
2829#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002830
2831#ifndef YY_EXIT_FAILURE
2832#define YY_EXIT_FAILURE 2
2833#endif
2834
Reid Spencered951ea2007-05-19 07:22:10 +00002835#ifdef YY_USE_PROTOS
2836static void yy_fatal_error( yyconst char msg[] )
2837#else
2838static void yy_fatal_error( msg )
2839char msg[];
2840#endif
2841 {
2842 (void) fprintf( stderr, "%s\n", msg );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002843 exit( YY_EXIT_FAILURE );
Reid Spencered951ea2007-05-19 07:22:10 +00002844 }
2845
2846
Reid Spencer68a24bd2005-08-27 18:50:39 +00002847
2848/* Redefine yyless() so it works in section 3 code. */
2849
2850#undef yyless
2851#define yyless(n) \
2852 do \
2853 { \
Reid Spencered951ea2007-05-19 07:22:10 +00002854 /* Undo effects of setting up yytext. */ \
2855 yytext[yyleng] = yy_hold_char; \
2856 yy_c_buf_p = yytext + n; \
2857 yy_hold_char = *yy_c_buf_p; \
2858 *yy_c_buf_p = '\0'; \
2859 yyleng = n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00002860 } \
2861 while ( 0 )
2862
2863
Reid Spencered951ea2007-05-19 07:22:10 +00002864/* Internal utility routines. */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002865
2866#ifndef yytext_ptr
Reid Spencered951ea2007-05-19 07:22:10 +00002867#ifdef YY_USE_PROTOS
2868static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
2869#else
2870static void yy_flex_strncpy( s1, s2, n )
2871char *s1;
2872yyconst char *s2;
2873int n;
2874#endif
2875 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002876 register int i;
2877 for ( i = 0; i < n; ++i )
2878 s1[i] = s2[i];
Reid Spencered951ea2007-05-19 07:22:10 +00002879 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002880#endif
2881
2882#ifdef YY_NEED_STRLEN
Reid Spencered951ea2007-05-19 07:22:10 +00002883#ifdef YY_USE_PROTOS
2884static int yy_flex_strlen( yyconst char *s )
2885#else
2886static int yy_flex_strlen( s )
2887yyconst char *s;
2888#endif
2889 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002890 register int n;
2891 for ( n = 0; s[n]; ++n )
2892 ;
2893
2894 return n;
Reid Spencered951ea2007-05-19 07:22:10 +00002895 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002896#endif
2897
Reid Spencer9c9b63a2007-04-28 16:07:31 +00002898
Reid Spencered951ea2007-05-19 07:22:10 +00002899#ifdef YY_USE_PROTOS
2900static void *yy_flex_alloc( yy_size_t size )
2901#else
2902static void *yy_flex_alloc( size )
2903yy_size_t size;
2904#endif
2905 {
2906 return (void *) malloc( size );
2907 }
2908
2909#ifdef YY_USE_PROTOS
2910static inline void *yy_flex_realloc( void *ptr, yy_size_t size )
2911#else
2912static inline void *yy_flex_realloc( ptr, size )
2913void *ptr;
2914yy_size_t size;
2915#endif
2916 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002917 /* The cast to (char *) in the following accommodates both
2918 * implementations that use char* generic pointers, and those
2919 * that use void* generic pointers. It works with the latter
2920 * because both ANSI C and C++ allow castless assignment from
2921 * any pointer type to void*, and deal with argument conversions
2922 * as though doing an assignment.
2923 */
2924 return (void *) realloc( (char *) ptr, size );
Reid Spencered951ea2007-05-19 07:22:10 +00002925 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002926
Reid Spencered951ea2007-05-19 07:22:10 +00002927#ifdef YY_USE_PROTOS
2928static void yy_flex_free( void *ptr )
2929#else
2930static void yy_flex_free( ptr )
2931void *ptr;
2932#endif
2933 {
2934 free( ptr );
2935 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002936
Reid Spencered951ea2007-05-19 07:22:10 +00002937#if YY_MAIN
2938int main()
2939 {
2940 yylex();
2941 return 0;
2942 }
2943#endif
Reid Spencer0a8a16b2007-05-22 18:52:55 +00002944#line 431 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Chris Lattner2fecc0f2006-02-15 07:02:59 +00002945