blob: b313a4a241d7af611bede16df68db0764314a5c8 [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.
Reid Spencere2aa9612007-05-22 19:08:16 +0000986char *UnEscapeLexed(char *Buffer, char* EndBuffer) {
Reid Spencer68a24bd2005-08-27 18:50:39 +0000987 char *BOut = Buffer;
988 for (char *BIn = Buffer; *BIn; ) {
Reid Spencere2aa9612007-05-22 19:08:16 +0000989 if (BIn[0] == '\\') {
990 if (BIn < EndBuffer-1 && BIn[1] == '\\') {
991 *BOut++ = '\\'; // Two \ becomes one
992 BIn += 2;
993 } else if (BIn < EndBuffer-2 && isxdigit(BIn[1]) && isxdigit(BIn[2])) {
994 char Tmp = BIn[3]; BIn[3] = 0; // Terminate string
995 *BOut = (char)strtol(BIn+1, 0, 16); // Convert to number
996 BIn[3] = Tmp; // Restore character
997 BIn += 3; // Skip over handled chars
998 ++BOut;
999 } else {
1000 *BOut++ = *BIn++;
1001 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001002 } else {
1003 *BOut++ = *BIn++;
1004 }
1005 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001006 return BOut;
1007}
1008
1009} // End llvm namespace
1010
1011using namespace llvm;
1012
1013#define YY_NEVER_INTERACTIVE 1
1014/* Comments start with a ; and go till end of line */
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001015/* Local Values and Type identifiers start with a % sign */
1016/* Global Value identifiers start with an @ sign */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001017/* Label identifiers end with a colon */
1018/* Quoted names can contain any character except " and \ */
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001019/* LocalVarID/GlobalVarID: match an unnamed local variable slot ID. */
1020/* Integer types are specified with i and a bitwidth */
1021/* E[PN]Integer: match positive and negative literal integer values. */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001022/* FPConstant - A Floating point constant.
1023 */
1024/* HexFPConstant - Floating point constant represented in IEEE format as a
1025 * hexadecimal number for when exponential notation is not precise enough.
1026 */
1027/* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
1028 * it to deal with 64 bit numbers.
1029 */
Reid Spencere2aa9612007-05-22 19:08:16 +00001030#line 1031 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001031
1032/* Macros after this point can all be overridden by user definitions in
1033 * section 1.
1034 */
1035
1036#ifndef YY_SKIP_YYWRAP
1037#ifdef __cplusplus
Reid Spencered951ea2007-05-19 07:22:10 +00001038extern "C" int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001039#else
Reid Spencered951ea2007-05-19 07:22:10 +00001040extern int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001041#endif
1042#endif
1043
Reid Spencered951ea2007-05-19 07:22:10 +00001044#ifndef YY_NO_UNPUT
1045static inline void yyunput YY_PROTO(( int c, char *buf_ptr ));
1046#endif
1047
Reid Spencer68a24bd2005-08-27 18:50:39 +00001048#ifndef yytext_ptr
Reid Spencered951ea2007-05-19 07:22:10 +00001049static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001050#endif
1051
1052#ifdef YY_NEED_STRLEN
Reid Spencered951ea2007-05-19 07:22:10 +00001053static int yy_flex_strlen YY_PROTO(( yyconst char * ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001054#endif
1055
1056#ifndef YY_NO_INPUT
1057#ifdef __cplusplus
Reid Spencered951ea2007-05-19 07:22:10 +00001058static int yyinput YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001059#else
Reid Spencered951ea2007-05-19 07:22:10 +00001060static int input YY_PROTO(( void ));
1061#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001062#endif
1063
Reid Spencered951ea2007-05-19 07:22:10 +00001064#if YY_STACK_USED
1065static int yy_start_stack_ptr = 0;
1066static int yy_start_stack_depth = 0;
1067static int *yy_start_stack = 0;
1068#ifndef YY_NO_PUSH_STATE
1069static void yy_push_state YY_PROTO(( int new_state ));
1070#endif
1071#ifndef YY_NO_POP_STATE
1072static void yy_pop_state YY_PROTO(( void ));
1073#endif
1074#ifndef YY_NO_TOP_STATE
1075static int yy_top_state YY_PROTO(( void ));
1076#endif
1077
1078#else
1079#define YY_NO_PUSH_STATE 1
1080#define YY_NO_POP_STATE 1
1081#define YY_NO_TOP_STATE 1
1082#endif
1083
1084#ifdef YY_MALLOC_DECL
1085YY_MALLOC_DECL
1086#else
1087#if __STDC__
1088#ifndef __cplusplus
1089#include <stdlib.h>
1090#endif
1091#else
1092/* Just try to get by without declaring the routines. This will fail
1093 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1094 * or sizeof(void*) != sizeof(int).
1095 */
1096#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001097#endif
1098
1099/* Amount of stuff to slurp up with each read. */
1100#ifndef YY_READ_BUF_SIZE
1101#define YY_READ_BUF_SIZE 8192
1102#endif
1103
1104/* Copy whatever the last rule matched to the standard output. */
Reid Spencered951ea2007-05-19 07:22:10 +00001105
Reid Spencer68a24bd2005-08-27 18:50:39 +00001106#ifndef ECHO
1107/* This used to be an fputs(), but since the string might contain NUL's,
1108 * we now use fwrite().
1109 */
Reid Spencered951ea2007-05-19 07:22:10 +00001110#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001111#endif
1112
1113/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1114 * is returned in "result".
1115 */
1116#ifndef YY_INPUT
1117#define YY_INPUT(buf,result,max_size) \
Reid Spencered951ea2007-05-19 07:22:10 +00001118 if ( yy_current_buffer->yy_is_interactive ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001119 { \
Reid Spencered951ea2007-05-19 07:22:10 +00001120 int c = '*', n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001121 for ( n = 0; n < max_size && \
Reid Spencered951ea2007-05-19 07:22:10 +00001122 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001123 buf[n] = (char) c; \
1124 if ( c == '\n' ) \
1125 buf[n++] = (char) c; \
Reid Spencered951ea2007-05-19 07:22:10 +00001126 if ( c == EOF && ferror( yyin ) ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001127 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1128 result = n; \
1129 } \
Reid Spencered951ea2007-05-19 07:22:10 +00001130 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1131 && ferror( yyin ) ) \
1132 YY_FATAL_ERROR( "input in flex scanner failed" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001133#endif
1134
1135/* No semi-colon after return; correct usage is to write "yyterminate();" -
1136 * we don't want an extra ';' after the "return" because that will cause
1137 * some compilers to complain about unreachable statements.
1138 */
1139#ifndef yyterminate
1140#define yyterminate() return YY_NULL
1141#endif
1142
1143/* Number of entries by which start-condition stack grows. */
1144#ifndef YY_START_STACK_INCR
1145#define YY_START_STACK_INCR 25
1146#endif
1147
1148/* Report a fatal error. */
1149#ifndef YY_FATAL_ERROR
1150#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1151#endif
1152
1153/* Default declaration of generated scanner - a define so the user can
1154 * easily add parameters.
1155 */
1156#ifndef YY_DECL
Reid Spencered951ea2007-05-19 07:22:10 +00001157#define YY_DECL int yylex YY_PROTO(( void ))
1158#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001159
Reid Spencered951ea2007-05-19 07:22:10 +00001160/* Code executed at the beginning of each rule, after yytext and yyleng
Reid Spencer68a24bd2005-08-27 18:50:39 +00001161 * have been set up.
1162 */
1163#ifndef YY_USER_ACTION
1164#define YY_USER_ACTION
1165#endif
1166
1167/* Code executed at the end of each rule. */
1168#ifndef YY_BREAK
1169#define YY_BREAK break;
1170#endif
1171
1172#define YY_RULE_SETUP \
1173 YY_USER_ACTION
1174
1175YY_DECL
Reid Spencered951ea2007-05-19 07:22:10 +00001176 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00001177 register yy_state_type yy_current_state;
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001178 register char *yy_cp = NULL, *yy_bp = NULL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001179 register int yy_act;
Reid Spencered951ea2007-05-19 07:22:10 +00001180
Reid Spencere2aa9612007-05-22 19:08:16 +00001181#line 180 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001182
1183
Reid Spencere2aa9612007-05-22 19:08:16 +00001184#line 1185 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001185
Reid Spencered951ea2007-05-19 07:22:10 +00001186 if ( yy_init )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001187 {
Reid Spencered951ea2007-05-19 07:22:10 +00001188 yy_init = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001189
1190#ifdef YY_USER_INIT
1191 YY_USER_INIT;
1192#endif
1193
Reid Spencered951ea2007-05-19 07:22:10 +00001194 if ( ! yy_start )
1195 yy_start = 1; /* first start state */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001196
Reid Spencered951ea2007-05-19 07:22:10 +00001197 if ( ! yyin )
1198 yyin = stdin;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001199
Reid Spencered951ea2007-05-19 07:22:10 +00001200 if ( ! yyout )
1201 yyout = stdout;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001202
Reid Spencered951ea2007-05-19 07:22:10 +00001203 if ( ! yy_current_buffer )
1204 yy_current_buffer =
1205 yy_create_buffer( yyin, YY_BUF_SIZE );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001206
Reid Spencered951ea2007-05-19 07:22:10 +00001207 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00001208 }
1209
1210 while ( 1 ) /* loops until end-of-file is reached */
1211 {
Reid Spencered951ea2007-05-19 07:22:10 +00001212 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001213
Reid Spencered951ea2007-05-19 07:22:10 +00001214 /* Support of yytext. */
1215 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001216
1217 /* yy_bp points to the position in yy_ch_buf of the start of
1218 * the current run.
1219 */
1220 yy_bp = yy_cp;
1221
Reid Spencered951ea2007-05-19 07:22:10 +00001222 yy_current_state = yy_start;
1223 yy_state_ptr = yy_state_buf;
1224 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001225yy_match:
1226 do
1227 {
1228 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1229 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1230 {
1231 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencered951ea2007-05-19 07:22:10 +00001232 if ( yy_current_state >= 563 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001233 yy_c = yy_meta[(unsigned int) yy_c];
1234 }
1235 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencered951ea2007-05-19 07:22:10 +00001236 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001237 ++yy_cp;
1238 }
Reid Spencered951ea2007-05-19 07:22:10 +00001239 while ( yy_current_state != 562 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001240
1241yy_find_action:
Reid Spencered951ea2007-05-19 07:22:10 +00001242 yy_current_state = *--yy_state_ptr;
1243 yy_lp = yy_accept[yy_current_state];
1244find_rule: /* we branch to this label when backing up */
1245 for ( ; ; ) /* until we find what rule we matched */
1246 {
1247 if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
1248 {
1249 yy_act = yy_acclist[yy_lp];
1250 {
1251 yy_full_match = yy_cp;
1252 break;
1253 }
1254 }
1255 --yy_cp;
1256 yy_current_state = *--yy_state_ptr;
1257 yy_lp = yy_accept[yy_current_state];
1258 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001259
1260 YY_DO_BEFORE_ACTION;
1261
Reid Spencered951ea2007-05-19 07:22:10 +00001262 if ( yy_act != YY_END_OF_BUFFER )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001263 {
1264 int yyl;
Reid Spencered951ea2007-05-19 07:22:10 +00001265 for ( yyl = 0; yyl < yyleng; ++yyl )
1266 if ( yytext[yyl] == '\n' )
1267 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001268 }
1269
1270do_action: /* This label is used only to access EOF actions. */
1271
Reid Spencered951ea2007-05-19 07:22:10 +00001272
Reid Spencer68a24bd2005-08-27 18:50:39 +00001273 switch ( yy_act )
1274 { /* beginning of action switch */
1275case 1:
1276YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001277#line 182 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001278{ /* Ignore comments for now */ }
1279 YY_BREAK
1280case 2:
1281YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001282#line 184 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001283{ return BEGINTOK; }
1284 YY_BREAK
1285case 3:
1286YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001287#line 185 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001288{ return ENDTOK; }
1289 YY_BREAK
1290case 4:
1291YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001292#line 186 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001293{ return TRUETOK; }
1294 YY_BREAK
1295case 5:
1296YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001297#line 187 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001298{ return FALSETOK; }
1299 YY_BREAK
1300case 6:
1301YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001302#line 188 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001303{ return DECLARE; }
1304 YY_BREAK
1305case 7:
1306YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001307#line 189 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001308{ return DEFINE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001309 YY_BREAK
1310case 8:
1311YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001312#line 190 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001313{ return GLOBAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001314 YY_BREAK
1315case 9:
1316YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001317#line 191 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001318{ return CONSTANT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001319 YY_BREAK
1320case 10:
1321YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001322#line 192 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001323{ return INTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001324 YY_BREAK
1325case 11:
1326YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001327#line 193 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001328{ return LINKONCE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001329 YY_BREAK
1330case 12:
1331YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001332#line 194 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001333{ return WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001334 YY_BREAK
1335case 13:
1336YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001337#line 195 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001338{ return APPENDING; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001339 YY_BREAK
1340case 14:
1341YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001342#line 196 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001343{ return DLLIMPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001344 YY_BREAK
1345case 15:
1346YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001347#line 197 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001348{ return DLLEXPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001349 YY_BREAK
1350case 16:
1351YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001352#line 198 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001353{ return HIDDEN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001354 YY_BREAK
1355case 17:
1356YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001357#line 199 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001358{ return PROTECTED; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001359 YY_BREAK
1360case 18:
1361YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001362#line 200 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001363{ return EXTERN_WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001364 YY_BREAK
1365case 19:
1366YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001367#line 201 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001368{ return EXTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001369 YY_BREAK
1370case 20:
1371YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001372#line 202 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001373{ return THREAD_LOCAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001374 YY_BREAK
1375case 21:
1376YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001377#line 203 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001378{ return ZEROINITIALIZER; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001379 YY_BREAK
1380case 22:
1381YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001382#line 204 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001383{ return DOTDOTDOT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001384 YY_BREAK
1385case 23:
1386YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001387#line 205 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001388{ return UNDEF; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001389 YY_BREAK
1390case 24:
1391YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001392#line 206 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001393{ return NULL_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001394 YY_BREAK
1395case 25:
1396YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001397#line 207 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001398{ return TO; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001399 YY_BREAK
1400case 26:
1401YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001402#line 208 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001403{ return TAIL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001404 YY_BREAK
1405case 27:
1406YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001407#line 209 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001408{ return TARGET; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001409 YY_BREAK
1410case 28:
1411YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001412#line 210 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001413{ return TRIPLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001414 YY_BREAK
1415case 29:
1416YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001417#line 211 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001418{ return DEPLIBS; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001419 YY_BREAK
1420case 30:
1421YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001422#line 212 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001423{ return DATALAYOUT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001424 YY_BREAK
1425case 31:
1426YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001427#line 213 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001428{ return VOLATILE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001429 YY_BREAK
1430case 32:
1431YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001432#line 214 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001433{ return ALIGN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001434 YY_BREAK
1435case 33:
1436YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001437#line 215 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001438{ return SECTION; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001439 YY_BREAK
1440case 34:
1441YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001442#line 216 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001443{ return ALIAS; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001444 YY_BREAK
1445case 35:
1446YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001447#line 217 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001448{ return MODULE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001449 YY_BREAK
1450case 36:
1451YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001452#line 218 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001453{ return ASM_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001454 YY_BREAK
1455case 37:
1456YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001457#line 219 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001458{ return SIDEEFFECT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001459 YY_BREAK
1460case 38:
1461YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001462#line 221 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001463{ return CC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001464 YY_BREAK
1465case 39:
1466YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001467#line 222 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001468{ return CCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001469 YY_BREAK
1470case 40:
1471YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001472#line 223 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001473{ return FASTCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001474 YY_BREAK
1475case 41:
1476YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001477#line 224 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001478{ return COLDCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001479 YY_BREAK
1480case 42:
1481YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001482#line 225 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001483{ return X86_STDCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001484 YY_BREAK
1485case 43:
1486YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001487#line 226 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001488{ return X86_FASTCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001489 YY_BREAK
1490case 44:
1491YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001492#line 228 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001493{ return INREG; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001494 YY_BREAK
1495case 45:
1496YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001497#line 229 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001498{ return SRET; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001499 YY_BREAK
1500case 46:
1501YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001502#line 230 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001503{ return NOUNWIND; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001504 YY_BREAK
1505case 47:
1506YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001507#line 231 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001508{ return NORETURN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001509 YY_BREAK
1510case 48:
1511YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001512#line 233 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001513{ RET_TY(Type::VoidTy, VOID); }
Reid Spencer832254e2007-02-02 02:16:23 +00001514 YY_BREAK
1515case 49:
1516YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001517#line 234 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001518{ RET_TY(Type::FloatTy, FLOAT); }
Reid Spencer832254e2007-02-02 02:16:23 +00001519 YY_BREAK
1520case 50:
1521YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001522#line 235 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001523{ RET_TY(Type::DoubleTy,DOUBLE);}
Reid Spencer67d8ed92007-03-22 02:14:08 +00001524 YY_BREAK
1525case 51:
1526YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001527#line 236 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001528{ RET_TY(Type::LabelTy, LABEL); }
Lauro Ramos Venancioc7635522007-04-12 18:32:50 +00001529 YY_BREAK
1530case 52:
1531YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001532#line 237 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001533{ return TYPE; }
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001534 YY_BREAK
1535case 53:
1536YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001537#line 238 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001538{ return OPAQUE; }
1539 YY_BREAK
1540case 54:
1541YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001542#line 239 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencered951ea2007-05-19 07:22:10 +00001543{ uint64_t NumBits = atoull(yytext+1);
Reid Spencera54b7cb2007-01-12 07:05:14 +00001544 if (NumBits < IntegerType::MIN_INT_BITS ||
1545 NumBits > IntegerType::MAX_INT_BITS)
1546 GenerateError("Bitwidth for integer type out of range!");
1547 const Type* Ty = IntegerType::get(NumBits);
1548 RET_TY(Ty, INTTYPE);
1549 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001550 YY_BREAK
Reid Spencer68a24bd2005-08-27 18:50:39 +00001551case 55:
1552YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001553#line 247 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001554{ RET_TOK(BinaryOpVal, Add, ADD); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001555 YY_BREAK
1556case 56:
1557YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001558#line 248 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001559{ RET_TOK(BinaryOpVal, Sub, SUB); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001560 YY_BREAK
1561case 57:
1562YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001563#line 249 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001564{ RET_TOK(BinaryOpVal, Mul, MUL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001565 YY_BREAK
1566case 58:
1567YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001568#line 250 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001569{ RET_TOK(BinaryOpVal, UDiv, UDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001570 YY_BREAK
1571case 59:
1572YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001573#line 251 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001574{ RET_TOK(BinaryOpVal, SDiv, SDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001575 YY_BREAK
1576case 60:
1577YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001578#line 252 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001579{ RET_TOK(BinaryOpVal, FDiv, FDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001580 YY_BREAK
1581case 61:
1582YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001583#line 253 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001584{ RET_TOK(BinaryOpVal, URem, UREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001585 YY_BREAK
1586case 62:
1587YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001588#line 254 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001589{ RET_TOK(BinaryOpVal, SRem, SREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001590 YY_BREAK
1591case 63:
1592YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001593#line 255 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001594{ RET_TOK(BinaryOpVal, FRem, FREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001595 YY_BREAK
1596case 64:
1597YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001598#line 256 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001599{ RET_TOK(BinaryOpVal, Shl, SHL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001600 YY_BREAK
1601case 65:
1602YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001603#line 257 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001604{ RET_TOK(BinaryOpVal, LShr, LSHR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001605 YY_BREAK
1606case 66:
1607YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001608#line 258 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001609{ RET_TOK(BinaryOpVal, AShr, ASHR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001610 YY_BREAK
1611case 67:
1612YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001613#line 259 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001614{ RET_TOK(BinaryOpVal, And, AND); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001615 YY_BREAK
1616case 68:
1617YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001618#line 260 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001619{ RET_TOK(BinaryOpVal, Or , OR ); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001620 YY_BREAK
1621case 69:
1622YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001623#line 261 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001624{ RET_TOK(BinaryOpVal, Xor, XOR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001625 YY_BREAK
1626case 70:
1627YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001628#line 262 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001629{ RET_TOK(OtherOpVal, ICmp, ICMP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001630 YY_BREAK
1631case 71:
1632YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001633#line 263 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001634{ RET_TOK(OtherOpVal, FCmp, FCMP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001635 YY_BREAK
1636case 72:
1637YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001638#line 265 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001639{ return EQ; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001640 YY_BREAK
1641case 73:
1642YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001643#line 266 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001644{ return NE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001645 YY_BREAK
1646case 74:
1647YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001648#line 267 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001649{ return SLT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001650 YY_BREAK
1651case 75:
1652YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001653#line 268 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001654{ return SGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001655 YY_BREAK
1656case 76:
1657YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001658#line 269 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001659{ return SLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001660 YY_BREAK
1661case 77:
1662YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001663#line 270 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001664{ return SGE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001665 YY_BREAK
1666case 78:
1667YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001668#line 271 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001669{ return ULT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001670 YY_BREAK
1671case 79:
1672YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001673#line 272 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001674{ return UGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001675 YY_BREAK
1676case 80:
1677YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001678#line 273 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001679{ return ULE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001680 YY_BREAK
1681case 81:
1682YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001683#line 274 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001684{ return UGE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001685 YY_BREAK
1686case 82:
1687YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001688#line 275 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001689{ return OEQ; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001690 YY_BREAK
1691case 83:
1692YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001693#line 276 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001694{ return ONE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001695 YY_BREAK
1696case 84:
1697YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001698#line 277 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001699{ return OLT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001700 YY_BREAK
1701case 85:
1702YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001703#line 278 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001704{ return OGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001705 YY_BREAK
1706case 86:
1707YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001708#line 279 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001709{ return OLE; }
Nate Begeman14b05292005-11-05 09:21:28 +00001710 YY_BREAK
1711case 87:
1712YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001713#line 280 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001714{ return OGE; }
Chris Lattnere869eef2005-11-12 00:11:49 +00001715 YY_BREAK
1716case 88:
1717YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001718#line 281 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001719{ return ORD; }
Robert Bocchino9c62b562006-01-10 19:04:32 +00001720 YY_BREAK
1721case 89:
1722YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001723#line 282 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001724{ return UNO; }
Robert Bocchino2def1b32006-01-17 20:06:25 +00001725 YY_BREAK
1726case 90:
1727YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001728#line 283 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001729{ return UEQ; }
Chris Lattner8335e842006-01-23 23:05:42 +00001730 YY_BREAK
1731case 91:
1732YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001733#line 284 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001734{ return UNE; }
Chris Lattner66316012006-01-24 04:14:29 +00001735 YY_BREAK
1736case 92:
1737YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001738#line 286 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001739{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
Chris Lattner0e9c3762006-01-25 22:27:16 +00001740 YY_BREAK
1741case 93:
1742YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001743#line 287 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001744{ RET_TOK(OtherOpVal, Call, CALL); }
Chris Lattnerd5efe842006-04-08 01:18:56 +00001745 YY_BREAK
1746case 94:
1747YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001748#line 288 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001749{ RET_TOK(CastOpVal, Trunc, TRUNC); }
Chris Lattner75466192006-05-19 21:28:53 +00001750 YY_BREAK
1751case 95:
1752YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001753#line 289 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001754{ RET_TOK(CastOpVal, ZExt, ZEXT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001755 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001756case 96:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001757YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001758#line 290 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001759{ RET_TOK(CastOpVal, SExt, SEXT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001760 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001761case 97:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001762YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001763#line 291 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001764{ RET_TOK(CastOpVal, FPTrunc, FPTRUNC); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001765 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001766case 98:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001767YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001768#line 292 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001769{ RET_TOK(CastOpVal, FPExt, FPEXT); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001770 YY_BREAK
1771case 99:
1772YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001773#line 293 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001774{ RET_TOK(CastOpVal, UIToFP, UITOFP); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001775 YY_BREAK
1776case 100:
1777YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001778#line 294 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001779{ RET_TOK(CastOpVal, SIToFP, SITOFP); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001780 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001781case 101:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001782YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001783#line 295 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001784{ RET_TOK(CastOpVal, FPToUI, FPTOUI); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001785 YY_BREAK
1786case 102:
1787YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001788#line 296 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001789{ RET_TOK(CastOpVal, FPToSI, FPTOSI); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001790 YY_BREAK
1791case 103:
1792YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001793#line 297 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001794{ RET_TOK(CastOpVal, IntToPtr, INTTOPTR); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001795 YY_BREAK
1796case 104:
1797YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001798#line 298 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001799{ RET_TOK(CastOpVal, PtrToInt, PTRTOINT); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001800 YY_BREAK
1801case 105:
1802YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001803#line 299 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001804{ RET_TOK(CastOpVal, BitCast, BITCAST); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001805 YY_BREAK
1806case 106:
1807YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001808#line 300 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001809{ RET_TOK(OtherOpVal, Select, SELECT); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001810 YY_BREAK
1811case 107:
1812YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001813#line 301 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001814{ RET_TOK(OtherOpVal, VAArg , VAARG); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001815 YY_BREAK
1816case 108:
1817YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001818#line 302 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001819{ RET_TOK(TermOpVal, Ret, RET); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001820 YY_BREAK
1821case 109:
1822YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001823#line 303 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001824{ RET_TOK(TermOpVal, Br, BR); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001825 YY_BREAK
1826case 110:
1827YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001828#line 304 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001829{ RET_TOK(TermOpVal, Switch, SWITCH); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001830 YY_BREAK
1831case 111:
1832YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001833#line 305 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001834{ RET_TOK(TermOpVal, Invoke, INVOKE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001835 YY_BREAK
1836case 112:
1837YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001838#line 306 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001839{ RET_TOK(TermOpVal, Unwind, UNWIND); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001840 YY_BREAK
1841case 113:
1842YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001843#line 307 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001844{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001845 YY_BREAK
1846case 114:
1847YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001848#line 309 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001849{ RET_TOK(MemOpVal, Malloc, MALLOC); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001850 YY_BREAK
1851case 115:
1852YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001853#line 310 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001854{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001855 YY_BREAK
1856case 116:
1857YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001858#line 311 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001859{ RET_TOK(MemOpVal, Free, FREE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001860 YY_BREAK
1861case 117:
1862YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001863#line 312 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001864{ RET_TOK(MemOpVal, Load, LOAD); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001865 YY_BREAK
1866case 118:
1867YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001868#line 313 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001869{ RET_TOK(MemOpVal, Store, STORE); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001870 YY_BREAK
Reid Spencer41dff5e2007-01-26 08:05:27 +00001871case 119:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001872YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001873#line 314 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001874{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
Reid Spencer67d8ed92007-03-22 02:14:08 +00001875 YY_BREAK
1876case 120:
1877YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001878#line 316 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001879{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001880 YY_BREAK
Reid Spencer3d6b71e2007-04-09 01:56:05 +00001881case 121:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001882YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001883#line 317 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001884{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001885 YY_BREAK
1886case 122:
1887YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001888#line 318 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001889{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
Owen Anderson1dc69692006-10-18 02:21:48 +00001890 YY_BREAK
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001891case 123:
Owen Anderson1dc69692006-10-18 02:21:48 +00001892YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001893#line 321 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001894{
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001895 llvmAsmlval.StrVal = new std::string(yytext+1); // Skip %
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001896 return LOCALVAR;
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001897 }
1898 YY_BREAK
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001899case 124:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001900YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001901#line 325 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001902{
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001903 llvmAsmlval.StrVal = new std::string(yytext+1); // Skip @
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001904 return GLOBALVAR;
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001905 }
1906 YY_BREAK
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001907case 125:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001908YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001909#line 329 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Lauro Ramos Venancioc7635522007-04-12 18:32:50 +00001910{
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001911 yytext[yyleng-1] = 0; // nuke colon
1912 llvmAsmlval.StrVal = new std::string(yytext);
Lauro Ramos Venancioc7635522007-04-12 18:32:50 +00001913 return LABELSTR;
1914 }
1915 YY_BREAK
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001916case 126:
Lauro Ramos Venancioc7635522007-04-12 18:32:50 +00001917YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001918#line 334 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001919{
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001920 yytext[yyleng-2] = 0; // nuke colon, end quote
Reid Spencere2aa9612007-05-22 19:08:16 +00001921 const char* EndChar = UnEscapeLexed(yytext+1, yytext+yyleng);
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001922 llvmAsmlval.StrVal =
1923 new std::string(yytext+1, EndChar - yytext - 1);
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001924 return LABELSTR;
1925 }
1926 YY_BREAK
1927case 127:
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001928YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001929#line 342 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001930{ yytext[yyleng-1] = 0; // nuke end quote
Reid Spencere2aa9612007-05-22 19:08:16 +00001931 const char* EndChar = UnEscapeLexed(yytext+1, yytext+yyleng);
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001932 llvmAsmlval.StrVal =
1933 new std::string(yytext+1, EndChar - yytext - 1);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001934 return STRINGCONSTANT;
1935 }
1936 YY_BREAK
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001937case 128:
Reid Spencer6f407902007-01-13 05:00:46 +00001938YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001939#line 348 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001940{
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001941 yytext[yyleng-1] = 0; // nuke end quote
Reid Spencere2aa9612007-05-22 19:08:16 +00001942 const char* EndChar =
1943 UnEscapeLexed(yytext+2, yytext+yyleng);
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001944 llvmAsmlval.StrVal =
1945 new std::string(yytext+2, EndChar - yytext - 2);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001946 return ATSTRINGCONSTANT;
1947 }
1948 YY_BREAK
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00001949case 129:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001950YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001951#line 356 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencered951ea2007-05-19 07:22:10 +00001952{
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001953 yytext[yyleng-1] = 0; // nuke end quote
Reid Spencere2aa9612007-05-22 19:08:16 +00001954 const char* EndChar =
1955 UnEscapeLexed(yytext+2, yytext+yyleng);
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001956 llvmAsmlval.StrVal =
1957 new std::string(yytext+2, EndChar - yytext - 2);
Reid Spencered951ea2007-05-19 07:22:10 +00001958 return PCTSTRINGCONSTANT;
1959 }
1960 YY_BREAK
1961case 130:
1962YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001963#line 364 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001964{
1965 uint32_t numBits = ((yyleng * 64) / 19) + 1;
1966 APInt Tmp(numBits, yytext, yyleng, 10);
Reid Spencer38c91a92007-02-28 02:24:54 +00001967 uint32_t activeBits = Tmp.getActiveBits();
1968 if (activeBits > 0 && activeBits < numBits)
1969 Tmp.trunc(activeBits);
1970 if (Tmp.getBitWidth() > 64) {
1971 llvmAsmlval.APIntVal = new APInt(Tmp);
1972 return EUAPINTVAL;
1973 } else {
1974 llvmAsmlval.UInt64Val = Tmp.getZExtValue();
1975 return EUINT64VAL;
1976 }
1977 }
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001978 YY_BREAK
Reid Spencered951ea2007-05-19 07:22:10 +00001979case 131:
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00001980YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001981#line 378 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer0a8a16b2007-05-22 18:52:55 +00001982{
1983 uint32_t numBits = (((yyleng-1) * 64) / 19) + 2;
1984 APInt Tmp(numBits, yytext, yyleng, 10);
Reid Spencer38c91a92007-02-28 02:24:54 +00001985 uint32_t minBits = Tmp.getMinSignedBits();
1986 if (minBits > 0 && minBits < numBits)
1987 Tmp.trunc(minBits);
1988 if (Tmp.getBitWidth() > 64) {
1989 llvmAsmlval.APIntVal = new APInt(Tmp);
1990 return ESAPINTVAL;
1991 } else {
1992 llvmAsmlval.SInt64Val = Tmp.getSExtValue();
1993 return ESINT64VAL;
1994 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001995 }
1996 YY_BREAK
Reid Spencered951ea2007-05-19 07:22:10 +00001997case 132:
Reid Spencer6f407902007-01-13 05:00:46 +00001998YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00001999#line 393 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer0a8a16b2007-05-22 18:52:55 +00002000{ int len = yyleng - 3;
Reid Spencer38c91a92007-02-28 02:24:54 +00002001 uint32_t bits = len * 4;
Reid Spencered951ea2007-05-19 07:22:10 +00002002 APInt Tmp(bits, yytext+3, len, 16);
Reid Spencer38c91a92007-02-28 02:24:54 +00002003 uint32_t activeBits = Tmp.getActiveBits();
2004 if (activeBits > 0 && activeBits < bits)
2005 Tmp.trunc(activeBits);
2006 if (Tmp.getBitWidth() > 64) {
2007 llvmAsmlval.APIntVal = new APInt(Tmp);
Reid Spencered951ea2007-05-19 07:22:10 +00002008 return yytext[0] == 's' ? ESAPINTVAL : EUAPINTVAL;
2009 } else if (yytext[0] == 's') {
Reid Spencer38c91a92007-02-28 02:24:54 +00002010 llvmAsmlval.SInt64Val = Tmp.getSExtValue();
2011 return ESINT64VAL;
2012 } else {
2013 llvmAsmlval.UInt64Val = Tmp.getZExtValue();
2014 return EUINT64VAL;
2015 }
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002016 }
Reid Spencer6f407902007-01-13 05:00:46 +00002017 YY_BREAK
Reid Spencered951ea2007-05-19 07:22:10 +00002018case 133:
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002019YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00002020#line 411 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002021{
Reid Spencered951ea2007-05-19 07:22:10 +00002022 uint64_t Val = atoull(yytext+1);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002023 if ((unsigned)Val != Val)
2024 GenerateError("Invalid value number (too large)!");
2025 llvmAsmlval.UIntVal = unsigned(Val);
2026 return LOCALVAL_ID;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002027 }
2028 YY_BREAK
Reid Spencered951ea2007-05-19 07:22:10 +00002029case 134:
Owen Anderson1dc69692006-10-18 02:21:48 +00002030YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00002031#line 418 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002032{
Reid Spencered951ea2007-05-19 07:22:10 +00002033 uint64_t Val = atoull(yytext+1);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002034 if ((unsigned)Val != Val)
2035 GenerateError("Invalid value number (too large)!");
2036 llvmAsmlval.UIntVal = unsigned(Val);
2037 return GLOBALVAL_ID;
2038 }
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002039 YY_BREAK
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00002040case 135:
2041YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00002042#line 426 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencered951ea2007-05-19 07:22:10 +00002043{ llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
2044 YY_BREAK
2045case 136:
2046YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00002047#line 427 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencered951ea2007-05-19 07:22:10 +00002048{ llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002049 YY_BREAK
2050case YY_STATE_EOF(INITIAL):
Reid Spencere2aa9612007-05-22 19:08:16 +00002051#line 429 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002052{
2053 /* Make sure to free the internal buffers for flex when we are
2054 * done reading our input!
2055 */
Reid Spencered951ea2007-05-19 07:22:10 +00002056 yy_delete_buffer(YY_CURRENT_BUFFER);
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002057 return EOF;
2058 }
2059 YY_BREAK
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00002060case 137:
2061YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00002062#line 437 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencered951ea2007-05-19 07:22:10 +00002063{ /* Ignore whitespace */ }
Anton Korobeynikovf52e6082007-04-29 18:38:24 +00002064 YY_BREAK
2065case 138:
2066YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00002067#line 438 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencered951ea2007-05-19 07:22:10 +00002068{ return yytext[0]; }
2069 YY_BREAK
2070case 139:
2071YY_RULE_SETUP
Reid Spencere2aa9612007-05-22 19:08:16 +00002072#line 440 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002073YY_FATAL_ERROR( "flex scanner jammed" );
2074 YY_BREAK
Reid Spencere2aa9612007-05-22 19:08:16 +00002075#line 2076 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002076
2077 case YY_END_OF_BUFFER:
2078 {
2079 /* Amount of text matched not including the EOB char. */
Reid Spencered951ea2007-05-19 07:22:10 +00002080 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002081
2082 /* Undo the effects of YY_DO_BEFORE_ACTION. */
Reid Spencered951ea2007-05-19 07:22:10 +00002083 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002084 YY_RESTORE_YY_MORE_OFFSET
2085
Reid Spencered951ea2007-05-19 07:22:10 +00002086 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002087 {
2088 /* We're scanning a new file or input source. It's
2089 * possible that this happened because the user
Reid Spencered951ea2007-05-19 07:22:10 +00002090 * just pointed yyin at a new source and called
2091 * yylex(). If so, then we have to assure
2092 * consistency between yy_current_buffer and our
Reid Spencer68a24bd2005-08-27 18:50:39 +00002093 * globals. Here is the right place to do so, because
2094 * this is the first action (other than possibly a
2095 * back-up) that will match for the new input source.
2096 */
Reid Spencered951ea2007-05-19 07:22:10 +00002097 yy_n_chars = yy_current_buffer->yy_n_chars;
2098 yy_current_buffer->yy_input_file = yyin;
2099 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002100 }
2101
2102 /* Note that here we test for yy_c_buf_p "<=" to the position
2103 * of the first EOB in the buffer, since yy_c_buf_p will
2104 * already have been incremented past the NUL character
2105 * (since all states make transitions on EOB to the
2106 * end-of-buffer state). Contrast this with the test
2107 * in input().
2108 */
Reid Spencered951ea2007-05-19 07:22:10 +00002109 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002110 { /* This was really a NUL. */
2111 yy_state_type yy_next_state;
2112
Reid Spencered951ea2007-05-19 07:22:10 +00002113 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002114
Reid Spencered951ea2007-05-19 07:22:10 +00002115 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002116
2117 /* Okay, we're now positioned to make the NUL
2118 * transition. We couldn't have
2119 * yy_get_previous_state() go ahead and do it
2120 * for us because it doesn't know how to deal
2121 * with the possibility of jamming (and we don't
2122 * want to build jamming into it because then it
2123 * will run more slowly).
2124 */
2125
2126 yy_next_state = yy_try_NUL_trans( yy_current_state );
2127
Reid Spencered951ea2007-05-19 07:22:10 +00002128 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002129
2130 if ( yy_next_state )
2131 {
2132 /* Consume the NUL. */
Reid Spencered951ea2007-05-19 07:22:10 +00002133 yy_cp = ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002134 yy_current_state = yy_next_state;
2135 goto yy_match;
2136 }
2137
2138 else
2139 {
Reid Spencered951ea2007-05-19 07:22:10 +00002140 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002141 goto yy_find_action;
2142 }
2143 }
2144
Reid Spencered951ea2007-05-19 07:22:10 +00002145 else switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002146 {
2147 case EOB_ACT_END_OF_FILE:
2148 {
Reid Spencered951ea2007-05-19 07:22:10 +00002149 yy_did_buffer_switch_on_eof = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002150
Reid Spencered951ea2007-05-19 07:22:10 +00002151 if ( yywrap() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002152 {
2153 /* Note: because we've taken care in
2154 * yy_get_next_buffer() to have set up
Reid Spencered951ea2007-05-19 07:22:10 +00002155 * yytext, we can now set up
Reid Spencer68a24bd2005-08-27 18:50:39 +00002156 * yy_c_buf_p so that if some total
2157 * hoser (like flex itself) wants to
2158 * call the scanner after we return the
2159 * YY_NULL, it'll still work - another
2160 * YY_NULL will get returned.
2161 */
Reid Spencered951ea2007-05-19 07:22:10 +00002162 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002163
2164 yy_act = YY_STATE_EOF(YY_START);
2165 goto do_action;
2166 }
2167
2168 else
2169 {
Reid Spencered951ea2007-05-19 07:22:10 +00002170 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002171 YY_NEW_FILE;
2172 }
2173 break;
2174 }
2175
2176 case EOB_ACT_CONTINUE_SCAN:
Reid Spencered951ea2007-05-19 07:22:10 +00002177 yy_c_buf_p =
2178 yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002179
Reid Spencered951ea2007-05-19 07:22:10 +00002180 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002181
Reid Spencered951ea2007-05-19 07:22:10 +00002182 yy_cp = yy_c_buf_p;
2183 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002184 goto yy_match;
2185
2186 case EOB_ACT_LAST_MATCH:
Reid Spencered951ea2007-05-19 07:22:10 +00002187 yy_c_buf_p =
2188 &yy_current_buffer->yy_ch_buf[yy_n_chars];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002189
Reid Spencered951ea2007-05-19 07:22:10 +00002190 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002191
Reid Spencered951ea2007-05-19 07:22:10 +00002192 yy_cp = yy_c_buf_p;
2193 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002194 goto yy_find_action;
2195 }
2196 break;
2197 }
2198
2199 default:
2200 YY_FATAL_ERROR(
2201 "fatal flex scanner internal error--no action found" );
2202 } /* end of action switch */
2203 } /* end of scanning one token */
Reid Spencered951ea2007-05-19 07:22:10 +00002204 } /* end of yylex */
2205
Reid Spencer68a24bd2005-08-27 18:50:39 +00002206
2207/* yy_get_next_buffer - try to read in a new buffer
2208 *
2209 * Returns a code representing an action:
2210 * EOB_ACT_LAST_MATCH -
2211 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2212 * EOB_ACT_END_OF_FILE - end of file
2213 */
Reid Spencered951ea2007-05-19 07:22:10 +00002214
2215static int yy_get_next_buffer()
2216 {
2217 register char *dest = yy_current_buffer->yy_ch_buf;
2218 register char *source = yytext_ptr;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002219 register int number_to_move, i;
2220 int ret_val;
2221
Reid Spencered951ea2007-05-19 07:22:10 +00002222 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002223 YY_FATAL_ERROR(
2224 "fatal flex scanner internal error--end of buffer missed" );
2225
Reid Spencered951ea2007-05-19 07:22:10 +00002226 if ( yy_current_buffer->yy_fill_buffer == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002227 { /* Don't try to fill the buffer, so this is an EOF. */
Reid Spencered951ea2007-05-19 07:22:10 +00002228 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002229 {
2230 /* We matched a single character, the EOB, so
2231 * treat this as a final EOF.
2232 */
2233 return EOB_ACT_END_OF_FILE;
2234 }
2235
2236 else
2237 {
2238 /* We matched some text prior to the EOB, first
2239 * process it.
2240 */
2241 return EOB_ACT_LAST_MATCH;
2242 }
2243 }
2244
2245 /* Try to read more data. */
2246
2247 /* First move last chars to start of buffer. */
Reid Spencered951ea2007-05-19 07:22:10 +00002248 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002249
2250 for ( i = 0; i < number_to_move; ++i )
2251 *(dest++) = *(source++);
2252
Reid Spencered951ea2007-05-19 07:22:10 +00002253 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002254 /* don't do the read, it's not guaranteed to return an EOF,
2255 * just force an EOF
2256 */
Reid Spencered951ea2007-05-19 07:22:10 +00002257 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002258
2259 else
2260 {
Reid Spencered951ea2007-05-19 07:22:10 +00002261 int num_to_read =
2262 yy_current_buffer->yy_buf_size - number_to_move - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002263
2264 while ( num_to_read <= 0 )
2265 { /* Not enough room in the buffer - grow it. */
Reid Spencered951ea2007-05-19 07:22:10 +00002266#ifdef YY_USES_REJECT
2267 YY_FATAL_ERROR(
2268"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
2269#else
Reid Spencer68a24bd2005-08-27 18:50:39 +00002270
2271 /* just a shorter name for the current buffer */
Reid Spencered951ea2007-05-19 07:22:10 +00002272 YY_BUFFER_STATE b = yy_current_buffer;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002273
2274 int yy_c_buf_p_offset =
Reid Spencered951ea2007-05-19 07:22:10 +00002275 (int) (yy_c_buf_p - b->yy_ch_buf);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002276
2277 if ( b->yy_is_our_buffer )
2278 {
2279 int new_size = b->yy_buf_size * 2;
2280
2281 if ( new_size <= 0 )
2282 b->yy_buf_size += b->yy_buf_size / 8;
2283 else
2284 b->yy_buf_size *= 2;
2285
2286 b->yy_ch_buf = (char *)
2287 /* Include room in for 2 EOB chars. */
Reid Spencered951ea2007-05-19 07:22:10 +00002288 yy_flex_realloc( (void *) b->yy_ch_buf,
2289 b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002290 }
2291 else
2292 /* Can't grow it, we don't own it. */
2293 b->yy_ch_buf = 0;
2294
2295 if ( ! b->yy_ch_buf )
2296 YY_FATAL_ERROR(
2297 "fatal error - scanner input buffer overflow" );
2298
Reid Spencered951ea2007-05-19 07:22:10 +00002299 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002300
Reid Spencered951ea2007-05-19 07:22:10 +00002301 num_to_read = yy_current_buffer->yy_buf_size -
Reid Spencer68a24bd2005-08-27 18:50:39 +00002302 number_to_move - 1;
Reid Spencered951ea2007-05-19 07:22:10 +00002303#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002304 }
2305
2306 if ( num_to_read > YY_READ_BUF_SIZE )
2307 num_to_read = YY_READ_BUF_SIZE;
2308
2309 /* Read in more data. */
Reid Spencered951ea2007-05-19 07:22:10 +00002310 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
2311 yy_n_chars, num_to_read );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002312
Reid Spencered951ea2007-05-19 07:22:10 +00002313 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002314 }
2315
Reid Spencered951ea2007-05-19 07:22:10 +00002316 if ( yy_n_chars == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002317 {
2318 if ( number_to_move == YY_MORE_ADJ )
2319 {
2320 ret_val = EOB_ACT_END_OF_FILE;
Reid Spencered951ea2007-05-19 07:22:10 +00002321 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002322 }
2323
2324 else
2325 {
2326 ret_val = EOB_ACT_LAST_MATCH;
Reid Spencered951ea2007-05-19 07:22:10 +00002327 yy_current_buffer->yy_buffer_status =
Reid Spencer68a24bd2005-08-27 18:50:39 +00002328 YY_BUFFER_EOF_PENDING;
2329 }
2330 }
2331
2332 else
2333 ret_val = EOB_ACT_CONTINUE_SCAN;
2334
Reid Spencered951ea2007-05-19 07:22:10 +00002335 yy_n_chars += number_to_move;
2336 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2337 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002338
Reid Spencered951ea2007-05-19 07:22:10 +00002339 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002340
2341 return ret_val;
Reid Spencered951ea2007-05-19 07:22:10 +00002342 }
2343
Reid Spencer68a24bd2005-08-27 18:50:39 +00002344
2345/* yy_get_previous_state - get the state just before the EOB char was reached */
2346
Reid Spencered951ea2007-05-19 07:22:10 +00002347static yy_state_type yy_get_previous_state()
2348 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002349 register yy_state_type yy_current_state;
2350 register char *yy_cp;
2351
Reid Spencered951ea2007-05-19 07:22:10 +00002352 yy_current_state = yy_start;
2353 yy_state_ptr = yy_state_buf;
2354 *yy_state_ptr++ = yy_current_state;
2355
2356 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002357 {
2358 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2359 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2360 {
2361 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencered951ea2007-05-19 07:22:10 +00002362 if ( yy_current_state >= 563 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002363 yy_c = yy_meta[(unsigned int) yy_c];
2364 }
2365 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencered951ea2007-05-19 07:22:10 +00002366 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002367 }
2368
2369 return yy_current_state;
Reid Spencered951ea2007-05-19 07:22:10 +00002370 }
2371
Reid Spencer68a24bd2005-08-27 18:50:39 +00002372
2373/* yy_try_NUL_trans - try to make a transition on the NUL character
2374 *
2375 * synopsis
2376 * next_state = yy_try_NUL_trans( current_state );
2377 */
Reid Spencered951ea2007-05-19 07:22:10 +00002378
2379#ifdef YY_USE_PROTOS
2380static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
2381#else
2382static yy_state_type yy_try_NUL_trans( yy_current_state )
2383yy_state_type yy_current_state;
2384#endif
2385 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002386 register int yy_is_jam;
2387
2388 register YY_CHAR yy_c = 1;
2389 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2390 {
2391 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencered951ea2007-05-19 07:22:10 +00002392 if ( yy_current_state >= 563 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002393 yy_c = yy_meta[(unsigned int) yy_c];
2394 }
2395 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencered951ea2007-05-19 07:22:10 +00002396 yy_is_jam = (yy_current_state == 562);
2397 if ( ! yy_is_jam )
2398 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002399
2400 return yy_is_jam ? 0 : yy_current_state;
Reid Spencered951ea2007-05-19 07:22:10 +00002401 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002402
2403
Reid Spencered951ea2007-05-19 07:22:10 +00002404#ifndef YY_NO_UNPUT
2405#ifdef YY_USE_PROTOS
2406static inline void yyunput( int c, register char *yy_bp )
2407#else
2408static inline void yyunput( c, yy_bp )
2409int c;
2410register char *yy_bp;
2411#endif
2412 {
2413 register char *yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002414
Reid Spencered951ea2007-05-19 07:22:10 +00002415 /* undo effects of setting up yytext */
2416 *yy_cp = yy_hold_char;
2417
2418 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002419 { /* need to shift things up to make room */
2420 /* +2 for EOB chars. */
Reid Spencered951ea2007-05-19 07:22:10 +00002421 register int number_to_move = yy_n_chars + 2;
2422 register char *dest = &yy_current_buffer->yy_ch_buf[
2423 yy_current_buffer->yy_buf_size + 2];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002424 register char *source =
Reid Spencered951ea2007-05-19 07:22:10 +00002425 &yy_current_buffer->yy_ch_buf[number_to_move];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002426
Reid Spencered951ea2007-05-19 07:22:10 +00002427 while ( source > yy_current_buffer->yy_ch_buf )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002428 *--dest = *--source;
2429
2430 yy_cp += (int) (dest - source);
2431 yy_bp += (int) (dest - source);
Reid Spencered951ea2007-05-19 07:22:10 +00002432 yy_current_buffer->yy_n_chars =
2433 yy_n_chars = yy_current_buffer->yy_buf_size;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002434
Reid Spencered951ea2007-05-19 07:22:10 +00002435 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002436 YY_FATAL_ERROR( "flex scanner push-back overflow" );
2437 }
2438
2439 *--yy_cp = (char) c;
2440
Reid Spencered951ea2007-05-19 07:22:10 +00002441 if ( c == '\n' )
2442 --yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002443
Reid Spencered951ea2007-05-19 07:22:10 +00002444 yytext_ptr = yy_bp;
2445 yy_hold_char = *yy_cp;
2446 yy_c_buf_p = yy_cp;
2447 }
2448#endif /* ifndef YY_NO_UNPUT */
2449
Reid Spencer6f407902007-01-13 05:00:46 +00002450
Reid Spencer0a8a16b2007-05-22 18:52:55 +00002451#ifndef YY_NO_INPUT
Reid Spencer68a24bd2005-08-27 18:50:39 +00002452#ifdef __cplusplus
Reid Spencered951ea2007-05-19 07:22:10 +00002453static int yyinput()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002454#else
Reid Spencered951ea2007-05-19 07:22:10 +00002455static int input()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002456#endif
Reid Spencered951ea2007-05-19 07:22:10 +00002457 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002458 int c;
2459
Reid Spencered951ea2007-05-19 07:22:10 +00002460 *yy_c_buf_p = yy_hold_char;
2461
2462 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002463 {
2464 /* yy_c_buf_p now points to the character we want to return.
2465 * If this occurs *before* the EOB characters, then it's a
2466 * valid NUL; if not, then we've hit the end of the buffer.
2467 */
Reid Spencered951ea2007-05-19 07:22:10 +00002468 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002469 /* This was really a NUL. */
Reid Spencered951ea2007-05-19 07:22:10 +00002470 *yy_c_buf_p = '\0';
Reid Spencer68a24bd2005-08-27 18:50:39 +00002471
2472 else
2473 { /* need more input */
Reid Spencered951ea2007-05-19 07:22:10 +00002474 int offset = yy_c_buf_p - yytext_ptr;
2475 ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002476
Reid Spencered951ea2007-05-19 07:22:10 +00002477 switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002478 {
2479 case EOB_ACT_LAST_MATCH:
2480 /* This happens because yy_g_n_b()
2481 * sees that we've accumulated a
2482 * token and flags that we need to
2483 * try matching the token before
2484 * proceeding. But for input(),
2485 * there's no matching to consider.
2486 * So convert the EOB_ACT_LAST_MATCH
2487 * to EOB_ACT_END_OF_FILE.
2488 */
2489
2490 /* Reset buffer status. */
Reid Spencered951ea2007-05-19 07:22:10 +00002491 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002492
Reid Spencered951ea2007-05-19 07:22:10 +00002493 /* fall through */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002494
2495 case EOB_ACT_END_OF_FILE:
2496 {
Reid Spencered951ea2007-05-19 07:22:10 +00002497 if ( yywrap() )
Reid Spencer61c83e02006-08-18 08:43:06 +00002498 return EOF;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002499
Reid Spencered951ea2007-05-19 07:22:10 +00002500 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002501 YY_NEW_FILE;
2502#ifdef __cplusplus
2503 return yyinput();
2504#else
2505 return input();
2506#endif
2507 }
2508
2509 case EOB_ACT_CONTINUE_SCAN:
Reid Spencered951ea2007-05-19 07:22:10 +00002510 yy_c_buf_p = yytext_ptr + offset;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002511 break;
2512 }
2513 }
2514 }
2515
Reid Spencered951ea2007-05-19 07:22:10 +00002516 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
2517 *yy_c_buf_p = '\0'; /* preserve yytext */
2518 yy_hold_char = *++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002519
2520 if ( c == '\n' )
Reid Spencered951ea2007-05-19 07:22:10 +00002521 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002522
2523 return c;
Reid Spencered951ea2007-05-19 07:22:10 +00002524 }
Reid Spencer0a8a16b2007-05-22 18:52:55 +00002525#endif /* YY_NO_INPUT */
Anton Korobeynikov9adeaa22007-01-28 13:37:39 +00002526
Reid Spencered951ea2007-05-19 07:22:10 +00002527#ifdef YY_USE_PROTOS
2528void yyrestart( FILE *input_file )
2529#else
2530void yyrestart( input_file )
2531FILE *input_file;
2532#endif
2533 {
2534 if ( ! yy_current_buffer )
2535 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
2536
2537 yy_init_buffer( yy_current_buffer, input_file );
2538 yy_load_buffer_state();
Reid Spencer6f407902007-01-13 05:00:46 +00002539 }
Reid Spencer41dff5e2007-01-26 08:05:27 +00002540
Reid Spencer68a24bd2005-08-27 18:50:39 +00002541
Reid Spencered951ea2007-05-19 07:22:10 +00002542#ifdef YY_USE_PROTOS
2543void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
2544#else
2545void yy_switch_to_buffer( new_buffer )
2546YY_BUFFER_STATE new_buffer;
2547#endif
2548 {
2549 if ( yy_current_buffer == new_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002550 return;
2551
Reid Spencered951ea2007-05-19 07:22:10 +00002552 if ( yy_current_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002553 {
2554 /* Flush out information for old buffer. */
Reid Spencered951ea2007-05-19 07:22:10 +00002555 *yy_c_buf_p = yy_hold_char;
2556 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
2557 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002558 }
2559
Reid Spencered951ea2007-05-19 07:22:10 +00002560 yy_current_buffer = new_buffer;
2561 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002562
2563 /* We don't actually know whether we did this switch during
Reid Spencered951ea2007-05-19 07:22:10 +00002564 * EOF (yywrap()) processing, but the only time this flag
2565 * is looked at is after yywrap() is called, so it's safe
Reid Spencer68a24bd2005-08-27 18:50:39 +00002566 * to go ahead and always set it.
2567 */
Reid Spencered951ea2007-05-19 07:22:10 +00002568 yy_did_buffer_switch_on_eof = 1;
2569 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002570
2571
Reid Spencered951ea2007-05-19 07:22:10 +00002572#ifdef YY_USE_PROTOS
2573void yy_load_buffer_state( void )
2574#else
2575void yy_load_buffer_state()
2576#endif
2577 {
2578 yy_n_chars = yy_current_buffer->yy_n_chars;
2579 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
2580 yyin = yy_current_buffer->yy_input_file;
2581 yy_hold_char = *yy_c_buf_p;
2582 }
2583
2584
2585#ifdef YY_USE_PROTOS
2586YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
2587#else
2588YY_BUFFER_STATE yy_create_buffer( file, size )
2589FILE *file;
2590int size;
2591#endif
2592 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002593 YY_BUFFER_STATE b;
Reid Spencered951ea2007-05-19 07:22:10 +00002594
2595 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002596 if ( ! b )
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_buf_size = size;
2600
2601 /* yy_ch_buf has to be 2 characters longer than the size given because
2602 * we need to put in 2 end-of-buffer characters.
2603 */
Reid Spencered951ea2007-05-19 07:22:10 +00002604 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002605 if ( ! b->yy_ch_buf )
Reid Spencered951ea2007-05-19 07:22:10 +00002606 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002607
2608 b->yy_is_our_buffer = 1;
2609
Reid Spencered951ea2007-05-19 07:22:10 +00002610 yy_init_buffer( b, file );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002611
2612 return b;
Reid Spencered951ea2007-05-19 07:22:10 +00002613 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002614
Reid Spencered951ea2007-05-19 07:22:10 +00002615
2616#ifdef YY_USE_PROTOS
2617void yy_delete_buffer( YY_BUFFER_STATE b )
2618#else
2619void yy_delete_buffer( b )
2620YY_BUFFER_STATE b;
2621#endif
2622 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002623 if ( ! b )
2624 return;
2625
Reid Spencered951ea2007-05-19 07:22:10 +00002626 if ( b == yy_current_buffer )
2627 yy_current_buffer = (YY_BUFFER_STATE) 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002628
2629 if ( b->yy_is_our_buffer )
Reid Spencered951ea2007-05-19 07:22:10 +00002630 yy_flex_free( (void *) b->yy_ch_buf );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002631
Reid Spencered951ea2007-05-19 07:22:10 +00002632 yy_flex_free( (void *) b );
2633 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002634
2635
Reid Spencered951ea2007-05-19 07:22:10 +00002636
2637#ifdef YY_USE_PROTOS
2638void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
2639#else
2640void yy_init_buffer( b, file )
2641YY_BUFFER_STATE b;
2642FILE *file;
2643#endif
2644
2645
2646 {
2647 yy_flush_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002648
2649 b->yy_input_file = file;
2650 b->yy_fill_buffer = 1;
2651
Reid Spencered951ea2007-05-19 07:22:10 +00002652#if YY_ALWAYS_INTERACTIVE
2653 b->yy_is_interactive = 1;
2654#else
2655#if YY_NEVER_INTERACTIVE
2656 b->yy_is_interactive = 0;
2657#else
2658 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
2659#endif
2660#endif
2661 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002662
2663
Reid Spencered951ea2007-05-19 07:22:10 +00002664#ifdef YY_USE_PROTOS
2665void yy_flush_buffer( YY_BUFFER_STATE b )
2666#else
2667void yy_flush_buffer( b )
2668YY_BUFFER_STATE b;
2669#endif
2670
2671 {
2672 if ( ! b )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002673 return;
2674
2675 b->yy_n_chars = 0;
2676
2677 /* We always need two end-of-buffer characters. The first causes
2678 * a transition to the end-of-buffer state. The second causes
2679 * a jam in that state.
2680 */
2681 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2682 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2683
2684 b->yy_buf_pos = &b->yy_ch_buf[0];
2685
2686 b->yy_at_bol = 1;
2687 b->yy_buffer_status = YY_BUFFER_NEW;
2688
Reid Spencered951ea2007-05-19 07:22:10 +00002689 if ( b == yy_current_buffer )
2690 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002691 }
2692
2693
Reid Spencered951ea2007-05-19 07:22:10 +00002694#ifndef YY_NO_SCAN_BUFFER
2695#ifdef YY_USE_PROTOS
2696YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
2697#else
2698YY_BUFFER_STATE yy_scan_buffer( base, size )
2699char *base;
2700yy_size_t size;
2701#endif
2702 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002703 YY_BUFFER_STATE b;
Reid Spencered951ea2007-05-19 07:22:10 +00002704
Reid Spencer68a24bd2005-08-27 18:50:39 +00002705 if ( size < 2 ||
2706 base[size-2] != YY_END_OF_BUFFER_CHAR ||
2707 base[size-1] != YY_END_OF_BUFFER_CHAR )
2708 /* They forgot to leave room for the EOB's. */
2709 return 0;
2710
Reid Spencered951ea2007-05-19 07:22:10 +00002711 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002712 if ( ! b )
Reid Spencered951ea2007-05-19 07:22:10 +00002713 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002714
2715 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2716 b->yy_buf_pos = b->yy_ch_buf = base;
2717 b->yy_is_our_buffer = 0;
2718 b->yy_input_file = 0;
2719 b->yy_n_chars = b->yy_buf_size;
2720 b->yy_is_interactive = 0;
2721 b->yy_at_bol = 1;
2722 b->yy_fill_buffer = 0;
2723 b->yy_buffer_status = YY_BUFFER_NEW;
2724
Reid Spencered951ea2007-05-19 07:22:10 +00002725 yy_switch_to_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002726
2727 return b;
Reid Spencered951ea2007-05-19 07:22:10 +00002728 }
2729#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002730
2731
Reid Spencered951ea2007-05-19 07:22:10 +00002732#ifndef YY_NO_SCAN_STRING
2733#ifdef YY_USE_PROTOS
2734YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
2735#else
2736YY_BUFFER_STATE yy_scan_string( yy_str )
2737yyconst char *yy_str;
2738#endif
2739 {
2740 int len;
2741 for ( len = 0; yy_str[len]; ++len )
2742 ;
2743
2744 return yy_scan_bytes( yy_str, len );
2745 }
2746#endif
2747
2748
2749#ifndef YY_NO_SCAN_BYTES
2750#ifdef YY_USE_PROTOS
2751YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
2752#else
2753YY_BUFFER_STATE yy_scan_bytes( bytes, len )
2754yyconst char *bytes;
2755int len;
2756#endif
2757 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002758 YY_BUFFER_STATE b;
2759 char *buf;
2760 yy_size_t n;
2761 int i;
Reid Spencered951ea2007-05-19 07:22:10 +00002762
Reid Spencer68a24bd2005-08-27 18:50:39 +00002763 /* Get memory for full buffer, including space for trailing EOB's. */
Reid Spencered951ea2007-05-19 07:22:10 +00002764 n = len + 2;
2765 buf = (char *) yy_flex_alloc( n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002766 if ( ! buf )
Reid Spencered951ea2007-05-19 07:22:10 +00002767 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002768
Reid Spencered951ea2007-05-19 07:22:10 +00002769 for ( i = 0; i < len; ++i )
2770 buf[i] = bytes[i];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002771
Reid Spencered951ea2007-05-19 07:22:10 +00002772 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002773
Reid Spencered951ea2007-05-19 07:22:10 +00002774 b = yy_scan_buffer( buf, n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002775 if ( ! b )
Reid Spencered951ea2007-05-19 07:22:10 +00002776 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002777
2778 /* It's okay to grow etc. this buffer, and we should throw it
2779 * away when we're done.
2780 */
2781 b->yy_is_our_buffer = 1;
2782
2783 return b;
Reid Spencered951ea2007-05-19 07:22:10 +00002784 }
2785#endif
2786
2787
2788#ifndef YY_NO_PUSH_STATE
2789#ifdef YY_USE_PROTOS
2790static void yy_push_state( int new_state )
2791#else
2792static void yy_push_state( new_state )
2793int new_state;
2794#endif
2795 {
2796 if ( yy_start_stack_ptr >= yy_start_stack_depth )
2797 {
2798 yy_size_t new_size;
2799
2800 yy_start_stack_depth += YY_START_STACK_INCR;
2801 new_size = yy_start_stack_depth * sizeof( int );
2802
2803 if ( ! yy_start_stack )
2804 yy_start_stack = (int *) yy_flex_alloc( new_size );
2805
2806 else
2807 yy_start_stack = (int *) yy_flex_realloc(
2808 (void *) yy_start_stack, new_size );
2809
2810 if ( ! yy_start_stack )
2811 YY_FATAL_ERROR(
2812 "out of memory expanding start-condition stack" );
2813 }
2814
2815 yy_start_stack[yy_start_stack_ptr++] = YY_START;
2816
2817 BEGIN(new_state);
2818 }
2819#endif
2820
2821
2822#ifndef YY_NO_POP_STATE
2823static void yy_pop_state()
2824 {
2825 if ( --yy_start_stack_ptr < 0 )
2826 YY_FATAL_ERROR( "start-condition stack underflow" );
2827
2828 BEGIN(yy_start_stack[yy_start_stack_ptr]);
2829 }
2830#endif
2831
2832
2833#ifndef YY_NO_TOP_STATE
2834static int yy_top_state()
2835 {
2836 return yy_start_stack[yy_start_stack_ptr - 1];
2837 }
2838#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002839
2840#ifndef YY_EXIT_FAILURE
2841#define YY_EXIT_FAILURE 2
2842#endif
2843
Reid Spencered951ea2007-05-19 07:22:10 +00002844#ifdef YY_USE_PROTOS
2845static void yy_fatal_error( yyconst char msg[] )
2846#else
2847static void yy_fatal_error( msg )
2848char msg[];
2849#endif
2850 {
2851 (void) fprintf( stderr, "%s\n", msg );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002852 exit( YY_EXIT_FAILURE );
Reid Spencered951ea2007-05-19 07:22:10 +00002853 }
2854
2855
Reid Spencer68a24bd2005-08-27 18:50:39 +00002856
2857/* Redefine yyless() so it works in section 3 code. */
2858
2859#undef yyless
2860#define yyless(n) \
2861 do \
2862 { \
Reid Spencered951ea2007-05-19 07:22:10 +00002863 /* Undo effects of setting up yytext. */ \
2864 yytext[yyleng] = yy_hold_char; \
2865 yy_c_buf_p = yytext + n; \
2866 yy_hold_char = *yy_c_buf_p; \
2867 *yy_c_buf_p = '\0'; \
2868 yyleng = n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00002869 } \
2870 while ( 0 )
2871
2872
Reid Spencered951ea2007-05-19 07:22:10 +00002873/* Internal utility routines. */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002874
2875#ifndef yytext_ptr
Reid Spencered951ea2007-05-19 07:22:10 +00002876#ifdef YY_USE_PROTOS
2877static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
2878#else
2879static void yy_flex_strncpy( s1, s2, n )
2880char *s1;
2881yyconst char *s2;
2882int n;
2883#endif
2884 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002885 register int i;
2886 for ( i = 0; i < n; ++i )
2887 s1[i] = s2[i];
Reid Spencered951ea2007-05-19 07:22:10 +00002888 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002889#endif
2890
2891#ifdef YY_NEED_STRLEN
Reid Spencered951ea2007-05-19 07:22:10 +00002892#ifdef YY_USE_PROTOS
2893static int yy_flex_strlen( yyconst char *s )
2894#else
2895static int yy_flex_strlen( s )
2896yyconst char *s;
2897#endif
2898 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002899 register int n;
2900 for ( n = 0; s[n]; ++n )
2901 ;
2902
2903 return n;
Reid Spencered951ea2007-05-19 07:22:10 +00002904 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002905#endif
2906
Reid Spencer9c9b63a2007-04-28 16:07:31 +00002907
Reid Spencered951ea2007-05-19 07:22:10 +00002908#ifdef YY_USE_PROTOS
2909static void *yy_flex_alloc( yy_size_t size )
2910#else
2911static void *yy_flex_alloc( size )
2912yy_size_t size;
2913#endif
2914 {
2915 return (void *) malloc( size );
2916 }
2917
2918#ifdef YY_USE_PROTOS
2919static inline void *yy_flex_realloc( void *ptr, yy_size_t size )
2920#else
2921static inline void *yy_flex_realloc( ptr, size )
2922void *ptr;
2923yy_size_t size;
2924#endif
2925 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002926 /* The cast to (char *) in the following accommodates both
2927 * implementations that use char* generic pointers, and those
2928 * that use void* generic pointers. It works with the latter
2929 * because both ANSI C and C++ allow castless assignment from
2930 * any pointer type to void*, and deal with argument conversions
2931 * as though doing an assignment.
2932 */
2933 return (void *) realloc( (char *) ptr, size );
Reid Spencered951ea2007-05-19 07:22:10 +00002934 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002935
Reid Spencered951ea2007-05-19 07:22:10 +00002936#ifdef YY_USE_PROTOS
2937static void yy_flex_free( void *ptr )
2938#else
2939static void yy_flex_free( ptr )
2940void *ptr;
2941#endif
2942 {
2943 free( ptr );
2944 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002945
Reid Spencered951ea2007-05-19 07:22:10 +00002946#if YY_MAIN
2947int main()
2948 {
2949 yylex();
2950 return 0;
2951 }
2952#endif
Reid Spencere2aa9612007-05-22 19:08:16 +00002953#line 440 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Chris Lattner2fecc0f2006-02-15 07:02:59 +00002954