blob: b849caedbccfa111984088ac0a29c27eaa172577 [file] [log] [blame]
Owen Anderson1dc69692006-10-18 02:21:48 +00001#define yy_create_buffer llvmAsm_create_buffer
2#define yy_delete_buffer llvmAsm_delete_buffer
3#define yy_scan_buffer llvmAsm_scan_buffer
4#define yy_scan_string llvmAsm_scan_string
5#define yy_scan_bytes llvmAsm_scan_bytes
6#define yy_flex_debug llvmAsm_flex_debug
7#define yy_init_buffer llvmAsm_init_buffer
8#define yy_flush_buffer llvmAsm_flush_buffer
9#define yy_load_buffer_state llvmAsm_load_buffer_state
10#define yy_switch_to_buffer llvmAsm_switch_to_buffer
11#define yyin llvmAsmin
12#define yyleng llvmAsmleng
13#define yylex llvmAsmlex
14#define yyout llvmAsmout
15#define yyrestart llvmAsmrestart
16#define yytext llvmAsmtext
17#define yylineno llvmAsmlineno
Reid Spencer68a24bd2005-08-27 18:50:39 +000018
Owen Anderson1dc69692006-10-18 02:21:48 +000019#line 20 "Lexer.cpp"
Reid Spencer3da59db2006-11-27 01:05:10 +000020/* A lexical scanner generated by flex*/
Reid Spencer68a24bd2005-08-27 18:50:39 +000021
Owen Anderson1dc69692006-10-18 02:21:48 +000022/* Scanner skeleton version:
23 * $Header$
24 */
25
Reid Spencer68a24bd2005-08-27 18:50:39 +000026#define FLEX_SCANNER
27#define YY_FLEX_MAJOR_VERSION 2
28#define YY_FLEX_MINOR_VERSION 5
29
30#include <stdio.h>
Reid Spencer3da59db2006-11-27 01:05:10 +000031#include <unistd.h>
Reid Spencer68a24bd2005-08-27 18:50:39 +000032
33
Owen Anderson1dc69692006-10-18 02:21:48 +000034/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
35#ifdef c_plusplus
36#ifndef __cplusplus
37#define __cplusplus
38#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +000039#endif
40
41
42#ifdef __cplusplus
43
Owen Anderson1dc69692006-10-18 02:21:48 +000044#include <stdlib.h>
Owen Anderson1dc69692006-10-18 02:21:48 +000045
46/* Use prototypes in function declarations. */
47#define YY_USE_PROTOS
48
Reid Spencer68a24bd2005-08-27 18:50:39 +000049/* The "const" storage-class-modifier is valid. */
50#define YY_USE_CONST
51
52#else /* ! __cplusplus */
53
54#if __STDC__
55
Owen Anderson1dc69692006-10-18 02:21:48 +000056#define YY_USE_PROTOS
Reid Spencer68a24bd2005-08-27 18:50:39 +000057#define YY_USE_CONST
58
59#endif /* __STDC__ */
60#endif /* ! __cplusplus */
61
Owen Anderson1dc69692006-10-18 02:21:48 +000062#ifdef __TURBOC__
63 #pragma warn -rch
64 #pragma warn -use
65#include <io.h>
66#include <stdlib.h>
67#define YY_USE_CONST
68#define YY_USE_PROTOS
69#endif
70
Reid Spencer68a24bd2005-08-27 18:50:39 +000071#ifdef YY_USE_CONST
72#define yyconst const
73#else
74#define yyconst
75#endif
76
Owen Anderson1dc69692006-10-18 02:21:48 +000077
78#ifdef YY_USE_PROTOS
79#define YY_PROTO(proto) proto
80#else
81#define YY_PROTO(proto) ()
82#endif
83
Reid Spencer68a24bd2005-08-27 18:50:39 +000084/* Returned upon end-of-file. */
85#define YY_NULL 0
86
87/* Promotes a possibly negative, possibly signed char to an unsigned
88 * integer for use as an array index. If the signed char is negative,
89 * we want to instead treat it as an 8-bit unsigned char, hence the
90 * double cast.
91 */
92#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
93
94/* Enter a start condition. This macro really ought to take a parameter,
95 * but we do it the disgusting crufty way forced on us by the ()-less
96 * definition of BEGIN.
97 */
Owen Anderson1dc69692006-10-18 02:21:48 +000098#define BEGIN yy_start = 1 + 2 *
Reid Spencer68a24bd2005-08-27 18:50:39 +000099
100/* Translate the current start state into a value that can be later handed
101 * to BEGIN to return to the state. The YYSTATE alias is for lex
102 * compatibility.
103 */
Owen Anderson1dc69692006-10-18 02:21:48 +0000104#define YY_START ((yy_start - 1) / 2)
Reid Spencer68a24bd2005-08-27 18:50:39 +0000105#define YYSTATE YY_START
106
107/* Action number for EOF rule of a given start state. */
108#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
109
110/* Special action meaning "start processing a new file". */
Owen Anderson1dc69692006-10-18 02:21:48 +0000111#define YY_NEW_FILE yyrestart( yyin )
Reid Spencer68a24bd2005-08-27 18:50:39 +0000112
113#define YY_END_OF_BUFFER_CHAR 0
114
115/* Size of default input buffer. */
116#define YY_BUF_SIZE (16384*64)
117
118typedef struct yy_buffer_state *YY_BUFFER_STATE;
119
Owen Anderson1dc69692006-10-18 02:21:48 +0000120extern int yyleng;
121extern FILE *yyin, *yyout;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000122
123#define EOB_ACT_CONTINUE_SCAN 0
124#define EOB_ACT_END_OF_FILE 1
125#define EOB_ACT_LAST_MATCH 2
126
Owen Anderson1dc69692006-10-18 02:21:48 +0000127/* The funky do-while in the following #define is used to turn the definition
128 * int a single C statement (which needs a semi-colon terminator). This
129 * avoids problems with code like:
130 *
131 * if ( condition_holds )
132 * yyless( 5 );
133 * else
134 * do_something_else();
135 *
136 * Prior to using the do-while the compiler would get upset at the
137 * "else" because it interpreted the "if" statement as being all
138 * done when it reached the ';' after the yyless() call.
139 */
140
141/* Return all but the first 'n' matched characters back to the input stream. */
142
Reid Spencer68a24bd2005-08-27 18:50:39 +0000143#define yyless(n) \
144 do \
145 { \
Owen Anderson1dc69692006-10-18 02:21:48 +0000146 /* Undo effects of setting up yytext. */ \
147 *yy_cp = yy_hold_char; \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000148 YY_RESTORE_YY_MORE_OFFSET \
Owen Anderson1dc69692006-10-18 02:21:48 +0000149 yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
150 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000151 } \
152 while ( 0 )
153
Owen Anderson1dc69692006-10-18 02:21:48 +0000154#define unput(c) yyunput( c, yytext_ptr )
Reid Spencer68a24bd2005-08-27 18:50:39 +0000155
Reid Spencer3da59db2006-11-27 01:05:10 +0000156/* Some routines like yy_flex_realloc() are emitted as static but are
157 not called by all lexers. This generates warnings in some compilers,
158 notably GCC. Arrange to suppress these. */
159#ifdef __GNUC__
160#define YY_MAY_BE_UNUSED __attribute__((unused))
161#else
162#define YY_MAY_BE_UNUSED
163#endif
164
Reid Spencer68a24bd2005-08-27 18:50:39 +0000165/* The following is because we cannot portably get our hands on size_t
166 * (without autoconf's help, which isn't available because we want
167 * flex-generated scanners to compile on their own).
168 */
169typedef unsigned int yy_size_t;
170
Owen Anderson1dc69692006-10-18 02:21:48 +0000171
Reid Spencer68a24bd2005-08-27 18:50:39 +0000172struct yy_buffer_state
173 {
174 FILE *yy_input_file;
175
176 char *yy_ch_buf; /* input buffer */
177 char *yy_buf_pos; /* current position in input buffer */
178
179 /* Size of input buffer in bytes, not including room for EOB
180 * characters.
181 */
182 yy_size_t yy_buf_size;
183
184 /* Number of characters read into yy_ch_buf, not including EOB
185 * characters.
186 */
187 int yy_n_chars;
188
189 /* Whether we "own" the buffer - i.e., we know we created it,
190 * and can realloc() it to grow it, and should free() it to
191 * delete it.
192 */
193 int yy_is_our_buffer;
194
195 /* Whether this is an "interactive" input source; if so, and
196 * if we're using stdio for input, then we want to use getc()
197 * instead of fread(), to make sure we stop fetching input after
198 * each newline.
199 */
200 int yy_is_interactive;
201
202 /* Whether we're considered to be at the beginning of a line.
203 * If so, '^' rules will be active on the next match, otherwise
204 * not.
205 */
206 int yy_at_bol;
207
208 /* Whether to try to fill the input buffer when we reach the
209 * end of it.
210 */
211 int yy_fill_buffer;
212
213 int yy_buffer_status;
214#define YY_BUFFER_NEW 0
215#define YY_BUFFER_NORMAL 1
216 /* When an EOF's been seen but there's still some text to process
217 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
218 * shouldn't try reading from the input source any more. We might
219 * still have a bunch of tokens to match, though, because of
220 * possible backing-up.
221 *
222 * When we actually see the EOF, we change the status to "new"
Owen Anderson1dc69692006-10-18 02:21:48 +0000223 * (via yyrestart()), so that the user can continue scanning by
224 * just pointing yyin at a new input file.
Reid Spencer68a24bd2005-08-27 18:50:39 +0000225 */
226#define YY_BUFFER_EOF_PENDING 2
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +0000227 };
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +0000228
Owen Anderson1dc69692006-10-18 02:21:48 +0000229static YY_BUFFER_STATE yy_current_buffer = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000230
231/* We provide macros for accessing buffer states in case in the
232 * future we want to put the buffer states in a more general
233 * "scanner state".
234 */
Owen Anderson1dc69692006-10-18 02:21:48 +0000235#define YY_CURRENT_BUFFER yy_current_buffer
Reid Spencer68a24bd2005-08-27 18:50:39 +0000236
237
Owen Anderson1dc69692006-10-18 02:21:48 +0000238/* yy_hold_char holds the character lost when yytext is formed. */
Reid Spencer68a24bd2005-08-27 18:50:39 +0000239static char yy_hold_char;
Owen Anderson1dc69692006-10-18 02:21:48 +0000240
Reid Spencer68a24bd2005-08-27 18:50:39 +0000241static int yy_n_chars; /* number of characters read into yy_ch_buf */
Owen Anderson1dc69692006-10-18 02:21:48 +0000242
243
244int yyleng;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000245
246/* Points to current character in buffer. */
247static char *yy_c_buf_p = (char *) 0;
Owen Anderson1dc69692006-10-18 02:21:48 +0000248static int yy_init = 1; /* whether we need to initialize */
Reid Spencer68a24bd2005-08-27 18:50:39 +0000249static int yy_start = 0; /* start state number */
250
Owen Anderson1dc69692006-10-18 02:21:48 +0000251/* Flag which is used to allow yywrap()'s to do buffer switches
252 * instead of setting up a fresh yyin. A bit of a hack ...
Reid Spencer68a24bd2005-08-27 18:50:39 +0000253 */
254static int yy_did_buffer_switch_on_eof;
255
Owen Anderson1dc69692006-10-18 02:21:48 +0000256void yyrestart YY_PROTO(( FILE *input_file ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000257
Owen Anderson1dc69692006-10-18 02:21:48 +0000258void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
259void yy_load_buffer_state YY_PROTO(( void ));
260YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
261void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
262void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
263void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
264#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +0000265
Owen Anderson1dc69692006-10-18 02:21:48 +0000266YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
267YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
268YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000269
Owen Anderson1dc69692006-10-18 02:21:48 +0000270static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
Reid Spencer3da59db2006-11-27 01:05:10 +0000271static inline void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) YY_MAY_BE_UNUSED;
Owen Anderson1dc69692006-10-18 02:21:48 +0000272static void yy_flex_free YY_PROTO(( void * ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000273
Owen Anderson1dc69692006-10-18 02:21:48 +0000274#define yy_new_buffer yy_create_buffer
Reid Spencer68a24bd2005-08-27 18:50:39 +0000275
276#define yy_set_interactive(is_interactive) \
277 { \
Owen Anderson1dc69692006-10-18 02:21:48 +0000278 if ( ! yy_current_buffer ) \
279 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
280 yy_current_buffer->yy_is_interactive = is_interactive; \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000281 }
282
283#define yy_set_bol(at_bol) \
284 { \
Owen Anderson1dc69692006-10-18 02:21:48 +0000285 if ( ! yy_current_buffer ) \
286 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
287 yy_current_buffer->yy_at_bol = at_bol; \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000288 }
289
Owen Anderson1dc69692006-10-18 02:21:48 +0000290#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
Reid Spencer68a24bd2005-08-27 18:50:39 +0000291
292
Owen Anderson1dc69692006-10-18 02:21:48 +0000293#define YY_USES_REJECT
294
295#define yywrap() 1
Reid Spencer68a24bd2005-08-27 18:50:39 +0000296#define YY_SKIP_YYWRAP
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +0000297typedef unsigned char YY_CHAR;
Owen Anderson1dc69692006-10-18 02:21:48 +0000298FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +0000299typedef int yy_state_type;
Owen Anderson1dc69692006-10-18 02:21:48 +0000300extern int yylineno;
301int yylineno = 1;
302extern char *yytext;
303#define yytext_ptr yytext
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +0000304
Owen Anderson1dc69692006-10-18 02:21:48 +0000305static yy_state_type yy_get_previous_state YY_PROTO(( void ));
306static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
307static int yy_get_next_buffer YY_PROTO(( void ));
308static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000309
310/* Done after the current pattern has been matched and before the
Owen Anderson1dc69692006-10-18 02:21:48 +0000311 * corresponding action - sets up yytext.
Reid Spencer68a24bd2005-08-27 18:50:39 +0000312 */
313#define YY_DO_BEFORE_ACTION \
Owen Anderson1dc69692006-10-18 02:21:48 +0000314 yytext_ptr = yy_bp; \
315 yyleng = (int) (yy_cp - yy_bp); \
316 yy_hold_char = *yy_cp; \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000317 *yy_cp = '\0'; \
Owen Anderson1dc69692006-10-18 02:21:48 +0000318 yy_c_buf_p = yy_cp;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000319
Reid Spencera54b7cb2007-01-12 07:05:14 +0000320#define YY_NUM_RULES 135
321#define YY_END_OF_BUFFER 136
322static yyconst short int yy_acclist[214] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000323 { 0,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000324 136, 134, 135, 133, 134, 135, 133, 135, 134, 135,
325 134, 135, 134, 135, 134, 135, 134, 135, 134, 135,
326 126, 134, 135, 126, 134, 135, 1, 134, 135, 134,
327 135, 134, 135, 134, 135, 134, 135, 134, 135, 134,
328 135, 134, 135, 53, 134, 135, 134, 135, 134, 135,
329 134, 135, 134, 135, 134, 135, 134, 135, 134, 135,
330 134, 135, 134, 135, 134, 135, 134, 135, 134, 135,
331 134, 135, 125, 123, 122, 122, 129, 127, 131, 126,
332 1, 108, 39, 68, 53, 69, 64, 23, 125, 122,
333 122, 130, 131, 20, 131, 132, 54, 63, 37, 32,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000334
Reid Spencera54b7cb2007-01-12 07:05:14 +0000335 40, 3, 56, 78, 83, 81, 82, 80, 79, 84,
336 88, 107, 73, 71, 103, 72, 70, 55, 86, 77,
337 75, 76, 74, 87, 85, 65, 124, 131, 131, 105,
338 47, 89, 67, 59, 115, 62, 66, 116, 104, 22,
339 128, 58, 92, 61, 24, 4, 51, 57, 60, 46,
340 12, 91, 131, 34, 2, 5, 48, 94, 50, 117,
341 90, 21, 114, 43, 7, 49, 28, 42, 98, 97,
342 8, 110, 31, 113, 36, 52, 102, 96, 109, 25,
343 26, 95, 111, 106, 101, 41, 6, 27, 93, 35,
344 9, 17, 10, 99, 11, 100, 33, 13, 15, 14,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000345
Reid Spencera54b7cb2007-01-12 07:05:14 +0000346 30, 38, 16, 29, 112, 118, 120, 121, 44, 119,
347 18, 45, 19
Reid Spencer68a24bd2005-08-27 18:50:39 +0000348 } ;
349
Reid Spencera54b7cb2007-01-12 07:05:14 +0000350static yyconst short int yy_accept[552] =
Owen Anderson1dc69692006-10-18 02:21:48 +0000351 { 0,
352 1, 1, 1, 2, 4, 7, 9, 11, 13, 15,
353 17, 19, 21, 24, 27, 30, 32, 34, 36, 38,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000354 40, 42, 44, 47, 49, 51, 53, 55, 57, 59,
355 61, 63, 65, 67, 69, 71, 73, 73, 74, 74,
356 75, 76, 77, 78, 78, 79, 79, 80, 81, 81,
357 82, 82, 82, 82, 82, 82, 82, 82, 82, 83,
358 83, 84, 84, 84, 84, 84, 84, 84, 84, 85,
359 85, 85, 85, 85, 85, 85, 85, 85, 85, 86,
360 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
Reid Spencer14310612006-12-31 05:40:51 +0000361 87, 87, 87, 87, 87, 87, 87, 88, 88, 88,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000362
Reid Spencer14310612006-12-31 05:40:51 +0000363 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000364 88, 88, 88, 88, 89, 89, 89, 89, 89, 89,
365 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
366 90, 91, 93, 94, 95, 96, 96, 97, 98, 98,
367 98, 99, 99, 99, 100, 100, 101, 101, 101, 101,
368 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
369 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
370 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
371 103, 103, 103, 103, 104, 104, 105, 106, 107, 108,
372 109, 110, 110, 111, 112, 112, 112, 113, 113, 113,
Reid Spencer3da59db2006-11-27 01:05:10 +0000373
Reid Spencera54b7cb2007-01-12 07:05:14 +0000374 113, 113, 113, 114, 115, 116, 116, 116, 116, 117,
375 118, 118, 118, 119, 119, 119, 119, 119, 119, 119,
376 119, 120, 121, 122, 122, 123, 124, 124, 125, 126,
377 126, 126, 126, 126, 126, 126, 126, 126, 127, 127,
378 127, 128, 129, 129, 129, 129, 130, 130, 130, 130,
379 131, 131, 131, 132, 133, 133, 133, 133, 133, 133,
380 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
381 134, 135, 135, 135, 135, 135, 136, 137, 137, 137,
382 138, 138, 138, 138, 138, 138, 138, 138, 138, 139,
383 140, 140, 140, 141, 141, 141, 141, 142, 143, 143,
Owen Anderson1dc69692006-10-18 02:21:48 +0000384
Reid Spencera54b7cb2007-01-12 07:05:14 +0000385 143, 144, 144, 144, 144, 145, 145, 145, 146, 146,
386 146, 147, 147, 148, 149, 149, 149, 149, 149, 150,
387 150, 151, 151, 152, 152, 152, 153, 154, 155, 155,
388 155, 156, 156, 156, 156, 156, 156, 156, 156, 156,
389 156, 156, 156, 156, 156, 156, 157, 157, 158, 159,
390 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
391 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
392 160, 160, 160, 161, 161, 161, 161, 162, 162, 163,
393 163, 163, 163, 163, 163, 163, 163, 164, 164, 164,
394 165, 165, 165, 165, 165, 166, 166, 166, 166, 167,
Owen Anderson1dc69692006-10-18 02:21:48 +0000395
Reid Spencera54b7cb2007-01-12 07:05:14 +0000396 168, 168, 168, 169, 170, 171, 171, 171, 172, 172,
397 172, 172, 172, 173, 173, 174, 175, 176, 177, 177,
398 177, 177, 178, 178, 178, 179, 180, 181, 182, 183,
399 183, 184, 185, 185, 185, 185, 185, 185, 186, 186,
400 187, 187, 188, 189, 189, 189, 189, 189, 189, 190,
401 190, 190, 190, 190, 190, 190, 190, 190, 191, 191,
402 191, 191, 191, 191, 191, 191, 191, 192, 192, 192,
403 192, 192, 193, 193, 193, 193, 193, 194, 195, 196,
404 196, 197, 197, 197, 197, 198, 198, 198, 198, 199,
405 199, 200, 201, 201, 201, 201, 201, 201, 201, 201,
Owen Anderson1dc69692006-10-18 02:21:48 +0000406
Reid Spencera54b7cb2007-01-12 07:05:14 +0000407 201, 201, 201, 201, 201, 202, 202, 202, 202, 202,
408 202, 202, 202, 203, 203, 203, 203, 203, 204, 204,
409 204, 204, 204, 205, 205, 206, 206, 206, 206, 206,
410 206, 206, 206, 206, 206, 206, 206, 206, 207, 207,
411 208, 209, 209, 210, 210, 211, 212, 213, 213, 214,
412 214
Owen Anderson1dc69692006-10-18 02:21:48 +0000413 } ;
414
415static yyconst int yy_ec[256] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000416 { 0,
417 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
418 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
419 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
420 1, 2, 1, 4, 1, 5, 6, 1, 1, 1,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000421 1, 1, 7, 1, 8, 9, 1, 10, 11, 11,
422 11, 11, 11, 12, 11, 13, 11, 14, 15, 1,
423 1, 1, 1, 1, 16, 16, 16, 16, 17, 16,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000424 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
425 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000426 1, 1, 1, 1, 18, 1, 19, 20, 21, 22,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000427
Reid Spencera54b7cb2007-01-12 07:05:14 +0000428 23, 24, 25, 26, 27, 5, 28, 29, 30, 31,
429 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
430 42, 43, 1, 1, 1, 1, 1, 1, 1, 1,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000431 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
432 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
433 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
434 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
435 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
436 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
437 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
438
439 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
440 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
441 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
442 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
443 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
444 1, 1, 1, 1, 1
445 } ;
446
Reid Spencera54b7cb2007-01-12 07:05:14 +0000447static yyconst int yy_meta[44] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000448 { 0,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000449 1, 1, 2, 1, 3, 1, 1, 3, 3, 3,
450 3, 3, 3, 4, 1, 3, 3, 3, 3, 3,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000451 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000452 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
453 3, 3, 3
Reid Spencer68a24bd2005-08-27 18:50:39 +0000454 } ;
455
Reid Spencera54b7cb2007-01-12 07:05:14 +0000456static yyconst short int yy_base[556] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000457 { 0,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000458 0, 0, 1195, 1196, 1196, 1196, 1190, 1179, 36, 40,
459 44, 50, 56, 62, 0, 63, 66, 81, 89, 47,
460 108, 91, 134, 92, 72, 93, 152, 124, 109, 178,
461 138, 209, 121, 111, 146, 119, 1188, 1196, 1177, 1196,
462 0, 183, 198, 215, 236, 70, 241, 256, 261, 0,
463 68, 122, 140, 125, 160, 101, 154, 31, 1176, 153,
464 155, 183, 48, 184, 265, 170, 192, 149, 1175, 206,
465 227, 203, 175, 225, 273, 274, 223, 262, 269, 277,
466 228, 278, 215, 281, 287, 279, 290, 289, 294, 1174,
467 295, 288, 302, 306, 307, 312, 313, 314, 318, 299,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000468
Reid Spencera54b7cb2007-01-12 07:05:14 +0000469 319, 46, 322, 323, 324, 328, 326, 332, 336, 339,
470 340, 348, 351, 1173, 353, 337, 354, 358, 359, 360,
471 362, 379, 365, 369, 376, 370, 386, 380, 381, 1172,
472 0, 396, 413, 1171, 427, 444, 0, 1170, 396, 399,
473 1169, 404, 398, 1168, 390, 1167, 414, 418, 420, 1166,
474 431, 406, 445, 429, 432, 446, 448, 449, 450, 451,
475 452, 453, 455, 344, 457, 460, 466, 467, 468, 470,
476 474, 471, 472, 483, 486, 476, 489, 491, 481, 499,
477 496, 497, 500, 1165, 501, 1164, 1163, 1162, 1161, 1160,
478 1159, 502, 1158, 1157, 503, 506, 1156, 534, 510, 511,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000479
Reid Spencera54b7cb2007-01-12 07:05:14 +0000480 514, 515, 1155, 1154, 1153, 508, 519, 527, 1152, 1151,
481 546, 526, 1150, 525, 549, 550, 551, 554, 556, 552,
482 1149, 1148, 1147, 555, 1146, 1145, 557, 1144, 1143, 558,
483 559, 553, 574, 513, 575, 568, 581, 1142, 560, 576,
484 1196, 591, 599, 605, 609, 614, 615, 584, 616, 1141,
485 617, 618, 1140, 1139, 619, 620, 621, 622, 624, 625,
486 627, 628, 630, 635, 631, 638, 647, 639, 649, 1138,
487 1137, 641, 645, 651, 653, 1136, 1135, 654, 657, 1134,
488 658, 660, 661, 665, 666, 663, 670, 671, 1133, 1132,
489 672, 674, 1131, 676, 679, 685, 0, 1130, 684, 687,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000490
Reid Spencera54b7cb2007-01-12 07:05:14 +0000491 1129, 691, 695, 696, 1128, 698, 692, 1127, 705, 693,
492 1126, 709, 1125, 1124, 710, 711, 712, 713, 1123, 715,
493 1122, 718, 1121, 722, 724, 1120, 729, 1119, 729, 723,
494 1118, 733, 735, 738, 739, 740, 747, 748, 750, 751,
495 752, 749, 759, 760, 754, 1117, 762, 1116, 1115, 753,
496 765, 763, 764, 767, 772, 774, 775, 779, 781, 1114,
497 783, 784, 787, 786, 796, 799, 789, 785, 791, 801,
498 807, 804, 1113, 806, 809, 810, 1112, 811, 1111, 813,
499 821, 815, 812, 822, 824, 828, 1110, 831, 833, 1109,
500 834, 835, 836, 837, 1108, 838, 839, 840, 1107, 1106,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000501
Reid Spencera54b7cb2007-01-12 07:05:14 +0000502 848, 843, 1105, 1104, 1103, 854, 849, 1102, 841, 859,
503 862, 855, 1101, 863, 1100, 1099, 1098, 1097, 869, 871,
504 872, 1096, 873, 874, 1095, 1094, 1093, 1092, 1091, 875,
505 1090, 1089, 876, 877, 885, 879, 880, 1088, 881, 1087,
506 883, 1086, 1085, 886, 894, 895, 896, 900, 1084, 903,
507 902, 898, 905, 906, 908, 910, 914, 1083, 916, 922,
508 918, 924, 925, 928, 926, 929, 1080, 930, 934, 936,
509 938, 1070, 943, 939, 942, 944, 1069, 1068, 1066, 950,
510 1064, 946, 945, 960, 1063, 961, 962, 951, 1062, 969,
511 1061, 1060, 970, 971, 972, 973, 974, 976, 977, 979,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000512
Reid Spencera54b7cb2007-01-12 07:05:14 +0000513 981, 982, 983, 986, 1058, 985, 988, 989, 993, 994,
514 997, 1000, 1057, 1001, 1007, 1009, 1011, 1055, 1012, 1013,
515 1014, 1015, 1054, 1017, 1053, 1018, 1030, 1025, 1028, 1019,
516 1029, 1020, 1031, 1034, 1039, 1042, 1044, 719, 1048, 586,
517 583, 1049, 469, 1050, 415, 248, 245, 1051, 208, 1196,
518 1086, 1088, 169, 1092, 106
Reid Spencer68a24bd2005-08-27 18:50:39 +0000519 } ;
520
Reid Spencera54b7cb2007-01-12 07:05:14 +0000521static yyconst short int yy_def[556] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000522 { 0,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000523 550, 1, 550, 550, 550, 550, 551, 552, 553, 550,
524 552, 552, 552, 552, 554, 552, 552, 552, 552, 552,
525 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
526 552, 552, 552, 552, 552, 552, 551, 550, 552, 550,
527 555, 555, 550, 550, 552, 552, 552, 552, 552, 554,
528 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
529 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
530 552, 552, 552, 552, 552, 552, 552, 552, 23, 552,
531 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
532 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000533
Reid Spencera54b7cb2007-01-12 07:05:14 +0000534 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
535 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
536 552, 552, 552, 552, 552, 552, 552, 552, 552, 550,
537 555, 555, 550, 552, 552, 552, 49, 552, 552, 552,
538 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
539 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
540 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
541 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
542 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
543 552, 552, 552, 552, 552, 552, 552, 49, 552, 552,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000544
Reid Spencera54b7cb2007-01-12 07:05:14 +0000545 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
546 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
547 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
548 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
549 550, 550, 550, 550, 552, 552, 552, 552, 552, 552,
550 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
551 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
552 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
553 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
554 552, 552, 552, 552, 552, 552, 198, 552, 552, 552,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000555
Reid Spencera54b7cb2007-01-12 07:05:14 +0000556 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
557 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
558 552, 552, 552, 552, 552, 552, 550, 552, 552, 552,
559 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
560 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
561 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
562 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
563 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
564 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
565 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000566
Reid Spencera54b7cb2007-01-12 07:05:14 +0000567 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
568 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
569 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
570 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
571 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
572 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
573 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
574 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
575 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
576 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000577
Reid Spencera54b7cb2007-01-12 07:05:14 +0000578 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
579 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
580 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
581 552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
582 552, 552, 552, 552, 552, 552, 552, 552, 552, 0,
583 550, 550, 550, 550, 550
Reid Spencer68a24bd2005-08-27 18:50:39 +0000584 } ;
585
Reid Spencera54b7cb2007-01-12 07:05:14 +0000586static yyconst short int yy_nxt[1240] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000587 { 0,
588 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000589 14, 14, 14, 4, 15, 8, 8, 8, 16, 17,
590 18, 19, 20, 21, 22, 8, 23, 8, 24, 25,
591 26, 27, 28, 8, 29, 30, 31, 32, 33, 34,
592 35, 8, 36, 42, 40, 43, 43, 43, 43, 44,
593 44, 44, 44, 45, 45, 45, 45, 40, 46, 40,
594 40, 40, 148, 40, 47, 48, 48, 48, 48, 40,
595 47, 48, 48, 48, 48, 40, 40, 68, 134, 40,
596 69, 40, 153, 40, 51, 40, 198, 70, 56, 138,
597 87, 52, 57, 53, 40, 54, 49, 58, 55, 60,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000598
Reid Spencera54b7cb2007-01-12 07:05:14 +0000599 59, 61, 40, 88, 40, 40, 40, 64, 131, 89,
600 83, 65, 62, 77, 40, 90, 63, 66, 84, 78,
601 67, 40, 40, 85, 40, 145, 71, 86, 72, 73,
602 91, 101, 40, 126, 40, 40, 74, 40, 40, 124,
603 75, 129, 76, 79, 79, 79, 79, 40, 139, 98,
604 140, 40, 125, 40, 80, 99, 113, 142, 127, 40,
605 100, 141, 40, 81, 82, 40, 40, 40, 40, 114,
606 160, 41, 115, 40, 92, 150, 93, 128, 146, 116,
607 94, 149, 95, 40, 96, 143, 97, 102, 40, 144,
608 147, 40, 132, 132, 132, 132, 40, 40, 158, 103,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000609
Reid Spencera54b7cb2007-01-12 07:05:14 +0000610 104, 165, 105, 106, 107, 40, 108, 43, 43, 43,
611 43, 151, 109, 152, 110, 111, 40, 112, 102, 40,
612 154, 40, 40, 133, 44, 44, 44, 44, 40, 159,
613 117, 118, 164, 119, 177, 120, 40, 121, 40, 122,
614 40, 40, 161, 123, 47, 45, 45, 45, 45, 40,
615 135, 135, 135, 135, 40, 162, 166, 136, 40, 170,
616 173, 40, 163, 136, 47, 48, 48, 48, 48, 40,
617 137, 137, 137, 137, 40, 40, 137, 137, 40, 137,
618 137, 137, 137, 137, 137, 155, 40, 40, 156, 39,
619 40, 40, 40, 171, 40, 167, 169, 157, 39, 39,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000620
Reid Spencera54b7cb2007-01-12 07:05:14 +0000621 40, 40, 40, 40, 181, 180, 172, 40, 40, 168,
622 183, 178, 40, 174, 175, 40, 176, 179, 182, 40,
623 40, 186, 184, 185, 187, 40, 40, 40, 189, 191,
624 192, 40, 40, 196, 193, 40, 40, 40, 188, 40,
625 194, 40, 190, 200, 195, 40, 203, 207, 199, 40,
626 40, 201, 40, 40, 209, 197, 205, 40, 211, 213,
627 204, 40, 208, 202, 40, 206, 40, 40, 210, 219,
628 212, 40, 40, 40, 214, 40, 270, 215, 40, 217,
629 220, 222, 40, 40, 225, 216, 233, 232, 236, 40,
630 218, 221, 40, 40, 40, 223, 224, 237, 226, 40,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000631
Reid Spencera54b7cb2007-01-12 07:05:14 +0000632 227, 228, 234, 40, 235, 132, 132, 132, 132, 40,
633 229, 40, 40, 230, 238, 239, 251, 40, 231, 40,
634 247, 240, 242, 242, 242, 242, 249, 40, 40, 243,
635 248, 40, 250, 40, 252, 243, 135, 135, 135, 135,
636 40, 256, 40, 136, 40, 40, 253, 258, 254, 136,
637 244, 245, 255, 246, 246, 246, 246, 40, 40, 40,
638 259, 40, 40, 40, 40, 40, 40, 257, 40, 264,
639 40, 262, 260, 40, 266, 263, 261, 265, 272, 40,
640 40, 40, 40, 40, 40, 40, 267, 40, 268, 40,
641 276, 269, 278, 279, 40, 271, 40, 277, 274, 40,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000642
Reid Spencera54b7cb2007-01-12 07:05:14 +0000643 281, 275, 40, 280, 40, 282, 273, 285, 283, 40,
644 40, 286, 40, 40, 40, 40, 40, 288, 287, 40,
645 289, 40, 284, 40, 40, 291, 40, 40, 40, 293,
646 290, 302, 40, 295, 321, 294, 300, 292, 40, 40,
647 40, 303, 296, 297, 297, 297, 297, 299, 298, 297,
648 297, 301, 297, 297, 297, 297, 297, 297, 304, 40,
649 306, 307, 40, 40, 40, 40, 40, 40, 40, 40,
650 40, 40, 40, 40, 309, 305, 311, 308, 313, 316,
651 317, 40, 319, 310, 312, 318, 315, 40, 40, 40,
652 314, 325, 320, 322, 40, 323, 40, 40, 324, 40,
Reid Spencer14310612006-12-31 05:40:51 +0000653
Reid Spencera54b7cb2007-01-12 07:05:14 +0000654 242, 242, 242, 242, 329, 244, 244, 243, 327, 327,
655 327, 327, 326, 243, 327, 327, 327, 327, 246, 246,
656 246, 246, 40, 246, 246, 246, 246, 40, 40, 40,
657 40, 40, 40, 40, 40, 40, 332, 40, 40, 333,
658 40, 40, 337, 40, 40, 328, 330, 331, 40, 343,
659 336, 40, 40, 339, 40, 338, 334, 335, 40, 341,
660 40, 346, 40, 342, 40, 345, 40, 40, 340, 347,
661 40, 40, 344, 40, 40, 354, 40, 348, 40, 40,
662 355, 349, 353, 40, 40, 40, 350, 40, 351, 40,
663 352, 360, 40, 359, 356, 357, 358, 40, 40, 362,
Reid Spencer14310612006-12-31 05:40:51 +0000664
Reid Spencera54b7cb2007-01-12 07:05:14 +0000665 40, 361, 364, 363, 40, 40, 40, 369, 40, 40,
666 368, 40, 374, 365, 370, 366, 367, 371, 40, 372,
667 373, 376, 40, 40, 40, 40, 40, 375, 40, 377,
668 380, 40, 40, 378, 379, 40, 40, 40, 327, 327,
669 327, 327, 40, 381, 388, 384, 40, 387, 40, 382,
670 386, 40, 40, 40, 383, 390, 391, 385, 393, 392,
671 40, 40, 40, 40, 40, 40, 40, 40, 389, 396,
672 395, 399, 40, 40, 402, 40, 40, 40, 40, 404,
673 40, 394, 403, 397, 398, 40, 407, 40, 40, 400,
674 401, 405, 40, 406, 40, 408, 40, 40, 40, 40,
Reid Spencer14310612006-12-31 05:40:51 +0000675
Reid Spencera54b7cb2007-01-12 07:05:14 +0000676 40, 409, 40, 413, 40, 411, 415, 416, 417, 40,
677 410, 412, 40, 414, 40, 420, 421, 40, 418, 40,
678 40, 419, 40, 40, 40, 40, 40, 422, 40, 423,
679 424, 426, 428, 430, 40, 40, 425, 40, 433, 432,
680 434, 40, 431, 429, 40, 427, 40, 40, 40, 40,
681 40, 40, 40, 40, 40, 440, 40, 437, 436, 442,
682 435, 40, 40, 451, 439, 446, 447, 40, 40, 438,
683 444, 445, 40, 443, 449, 40, 40, 441, 450, 448,
684 453, 452, 40, 455, 40, 40, 40, 40, 40, 40,
685 40, 454, 40, 40, 40, 459, 40, 460, 40, 40,
Reid Spencer14310612006-12-31 05:40:51 +0000686
Reid Spencera54b7cb2007-01-12 07:05:14 +0000687 461, 457, 458, 456, 462, 465, 464, 40, 40, 40,
688 466, 40, 463, 40, 468, 40, 40, 467, 40, 40,
689 469, 40, 473, 40, 472, 474, 476, 40, 470, 40,
690 479, 40, 475, 477, 471, 40, 484, 40, 40, 40,
691 478, 40, 40, 40, 483, 480, 485, 40, 487, 40,
692 481, 40, 40, 489, 482, 40, 40, 40, 40, 40,
693 493, 486, 488, 40, 40, 500, 497, 490, 499, 495,
694 491, 494, 492, 40, 40, 40, 498, 504, 496, 501,
695 503, 502, 40, 40, 40, 40, 40, 40, 506, 40,
696 40, 509, 40, 507, 40, 40, 40, 512, 40, 40,
Reid Spencer14310612006-12-31 05:40:51 +0000697
Reid Spencera54b7cb2007-01-12 07:05:14 +0000698 515, 40, 40, 510, 517, 505, 40, 40, 508, 514,
699 40, 516, 518, 40, 40, 513, 522, 519, 511, 523,
700 40, 520, 40, 525, 40, 40, 40, 40, 40, 521,
701 40, 40, 40, 40, 529, 526, 524, 527, 40, 528,
702 531, 40, 40, 40, 40, 532, 534, 40, 533, 530,
703 535, 536, 40, 538, 542, 40, 540, 40, 537, 543,
704 539, 40, 40, 40, 40, 541, 40, 40, 40, 547,
705 40, 40, 548, 40, 40, 40, 40, 40, 546, 40,
706 545, 40, 40, 40, 544, 549, 37, 37, 37, 37,
707 39, 39, 50, 40, 50, 50, 40, 40, 40, 40,
Reid Spencer14310612006-12-31 05:40:51 +0000708
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000709 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Reid Spencer14310612006-12-31 05:40:51 +0000710 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Reid Spencer3da59db2006-11-27 01:05:10 +0000711 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Chris Lattner0e9c3762006-01-25 22:27:16 +0000712 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Chris Lattnerd5efe842006-04-08 01:18:56 +0000713 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
714 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Chris Lattner75466192006-05-19 21:28:53 +0000715 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Reid Spencere4d87aa2006-12-23 06:05:41 +0000716 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000717 40, 40, 40, 40, 40, 241, 40, 40, 40, 40,
718 40, 130, 40, 38, 550, 3, 550, 550, 550, 550,
Chris Lattner75466192006-05-19 21:28:53 +0000719
Reid Spencera54b7cb2007-01-12 07:05:14 +0000720 550, 550, 550, 550, 550, 550, 550, 550, 550, 550,
721 550, 550, 550, 550, 550, 550, 550, 550, 550, 550,
722 550, 550, 550, 550, 550, 550, 550, 550, 550, 550,
723 550, 550, 550, 550, 550, 550, 550, 550, 550
Reid Spencer68a24bd2005-08-27 18:50:39 +0000724 } ;
725
Reid Spencera54b7cb2007-01-12 07:05:14 +0000726static yyconst short int yy_chk[1240] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000727 { 0,
728 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
729 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
730 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
731 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000732 1, 1, 1, 9, 58, 9, 9, 9, 9, 10,
733 10, 10, 10, 11, 11, 11, 11, 11, 12, 102,
734 20, 63, 58, 12, 13, 13, 13, 13, 13, 13,
735 14, 14, 14, 14, 14, 14, 16, 20, 46, 17,
736 20, 51, 63, 46, 16, 25, 102, 20, 17, 51,
737 25, 16, 17, 16, 18, 16, 13, 17, 16, 18,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000738
Reid Spencera54b7cb2007-01-12 07:05:14 +0000739 17, 18, 19, 25, 22, 24, 26, 19, 555, 25,
740 24, 19, 18, 22, 56, 26, 18, 19, 24, 22,
741 19, 21, 29, 24, 34, 56, 21, 24, 21, 21,
742 26, 29, 36, 34, 33, 52, 21, 28, 54, 33,
743 21, 36, 21, 23, 23, 23, 23, 23, 52, 28,
744 52, 31, 33, 53, 23, 28, 31, 54, 35, 35,
745 28, 53, 68, 23, 23, 27, 60, 57, 61, 31,
746 68, 553, 31, 55, 27, 61, 27, 35, 57, 31,
747 27, 60, 27, 66, 27, 55, 27, 30, 73, 55,
748 57, 30, 42, 42, 42, 42, 62, 64, 66, 30,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000749
Reid Spencera54b7cb2007-01-12 07:05:14 +0000750 30, 73, 30, 30, 30, 67, 30, 43, 43, 43,
751 43, 62, 30, 62, 30, 30, 72, 30, 32, 70,
752 64, 549, 32, 44, 44, 44, 44, 44, 83, 67,
753 32, 32, 72, 32, 83, 32, 77, 32, 74, 32,
754 71, 81, 70, 32, 45, 45, 45, 45, 45, 45,
755 47, 47, 47, 47, 47, 71, 74, 47, 547, 77,
756 81, 546, 71, 47, 48, 48, 48, 48, 48, 48,
757 49, 49, 49, 49, 49, 78, 49, 49, 65, 49,
758 49, 49, 49, 49, 49, 65, 75, 76, 65, 79,
759 80, 82, 86, 78, 84, 75, 76, 65, 79, 79,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000760
Reid Spencera54b7cb2007-01-12 07:05:14 +0000761 85, 92, 88, 87, 86, 85, 80, 89, 91, 75,
762 88, 84, 100, 82, 82, 93, 82, 84, 87, 94,
763 95, 92, 89, 91, 93, 96, 97, 98, 94, 95,
764 96, 99, 101, 100, 97, 103, 104, 105, 93, 107,
765 98, 106, 94, 104, 99, 108, 105, 107, 103, 109,
766 116, 104, 110, 111, 108, 101, 106, 164, 109, 111,
767 105, 112, 107, 104, 113, 106, 115, 117, 108, 116,
768 110, 118, 119, 120, 112, 121, 164, 113, 123, 115,
769 117, 119, 124, 126, 121, 113, 124, 123, 126, 125,
770 115, 118, 122, 128, 129, 119, 120, 127, 121, 127,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000771
Reid Spencera54b7cb2007-01-12 07:05:14 +0000772 122, 122, 125, 145, 125, 132, 132, 132, 132, 139,
773 122, 143, 140, 122, 128, 129, 145, 142, 122, 152,
774 139, 129, 133, 133, 133, 133, 142, 147, 545, 133,
775 140, 148, 143, 149, 147, 133, 135, 135, 135, 135,
776 135, 152, 154, 135, 151, 155, 148, 154, 149, 135,
777 136, 136, 151, 136, 136, 136, 136, 136, 153, 156,
778 155, 157, 158, 159, 160, 161, 162, 153, 163, 159,
779 165, 158, 156, 166, 161, 158, 157, 160, 166, 167,
780 168, 169, 543, 170, 172, 173, 161, 171, 162, 176,
781 169, 163, 170, 171, 179, 165, 174, 169, 168, 175,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000782
Reid Spencera54b7cb2007-01-12 07:05:14 +0000783 173, 168, 177, 172, 178, 174, 167, 176, 175, 181,
784 182, 177, 180, 183, 185, 192, 195, 179, 178, 196,
785 180, 206, 175, 199, 200, 182, 234, 201, 202, 185,
786 181, 206, 207, 195, 234, 192, 201, 183, 214, 212,
787 208, 207, 196, 198, 198, 198, 198, 200, 199, 198,
788 198, 202, 198, 198, 198, 198, 198, 198, 208, 211,
789 212, 214, 215, 216, 217, 220, 232, 218, 224, 219,
790 227, 230, 231, 239, 216, 211, 218, 215, 219, 227,
791 230, 236, 232, 217, 218, 231, 224, 233, 235, 240,
792 220, 239, 233, 235, 237, 236, 541, 248, 237, 540,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000793
Reid Spencera54b7cb2007-01-12 07:05:14 +0000794 242, 242, 242, 242, 248, 243, 243, 242, 243, 243,
795 243, 243, 240, 242, 244, 244, 244, 244, 245, 245,
796 245, 245, 245, 246, 246, 246, 246, 246, 247, 249,
797 251, 252, 255, 256, 257, 258, 252, 259, 260, 255,
798 261, 262, 259, 263, 265, 247, 249, 251, 264, 265,
799 258, 266, 268, 261, 272, 260, 256, 257, 273, 263,
800 267, 268, 269, 264, 274, 267, 275, 278, 262, 269,
801 279, 281, 266, 282, 283, 279, 286, 272, 284, 285,
802 281, 273, 278, 287, 288, 291, 274, 292, 274, 294,
803 275, 286, 295, 285, 282, 283, 284, 299, 296, 288,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000804
Reid Spencera54b7cb2007-01-12 07:05:14 +0000805 300, 287, 292, 291, 302, 307, 310, 300, 303, 304,
806 299, 306, 307, 294, 302, 295, 296, 303, 309, 304,
807 306, 310, 312, 315, 316, 317, 318, 309, 320, 312,
808 317, 322, 538, 315, 316, 324, 330, 325, 327, 327,
809 327, 327, 329, 318, 330, 324, 332, 329, 333, 320,
810 325, 334, 335, 336, 322, 333, 334, 324, 336, 335,
811 337, 338, 342, 339, 340, 341, 350, 345, 332, 339,
812 338, 342, 343, 344, 345, 347, 352, 353, 351, 350,
813 354, 337, 347, 340, 341, 355, 353, 356, 357, 343,
814 344, 351, 358, 352, 359, 354, 361, 362, 368, 364,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000815
Reid Spencera54b7cb2007-01-12 07:05:14 +0000816 363, 355, 367, 359, 369, 357, 362, 363, 364, 365,
817 356, 358, 366, 361, 370, 367, 368, 372, 365, 374,
818 371, 366, 375, 376, 378, 383, 380, 369, 382, 370,
819 371, 374, 376, 380, 381, 384, 372, 385, 383, 382,
820 384, 386, 381, 378, 388, 375, 389, 391, 392, 393,
821 394, 396, 397, 398, 409, 392, 402, 388, 386, 394,
822 385, 401, 407, 409, 391, 401, 401, 406, 412, 389,
823 397, 398, 410, 396, 406, 411, 414, 393, 407, 402,
824 411, 410, 419, 414, 420, 421, 423, 424, 430, 433,
825 434, 412, 436, 437, 439, 423, 441, 424, 435, 444,
Chris Lattnere869eef2005-11-12 00:11:49 +0000826
Reid Spencera54b7cb2007-01-12 07:05:14 +0000827 430, 420, 421, 419, 433, 436, 435, 445, 446, 447,
828 437, 452, 434, 448, 441, 451, 450, 439, 453, 454,
829 444, 455, 448, 456, 447, 450, 452, 457, 445, 459,
830 455, 461, 451, 453, 446, 460, 461, 462, 463, 465,
831 454, 464, 466, 468, 460, 456, 462, 469, 464, 470,
832 457, 471, 474, 466, 459, 475, 473, 476, 483, 482,
833 471, 463, 465, 480, 488, 483, 476, 468, 482, 474,
834 469, 473, 470, 484, 486, 487, 480, 488, 475, 484,
835 487, 486, 490, 493, 494, 495, 496, 497, 493, 498,
836 499, 496, 500, 494, 501, 502, 503, 499, 506, 504,
Chris Lattner75466192006-05-19 21:28:53 +0000837
Reid Spencera54b7cb2007-01-12 07:05:14 +0000838 502, 507, 508, 497, 504, 490, 509, 510, 495, 501,
839 511, 503, 506, 512, 514, 500, 510, 507, 498, 511,
840 515, 508, 516, 514, 517, 519, 520, 521, 522, 509,
841 524, 526, 530, 532, 519, 515, 512, 516, 528, 517,
842 521, 529, 531, 527, 533, 522, 526, 534, 524, 520,
843 527, 528, 535, 530, 534, 536, 532, 537, 529, 535,
844 531, 539, 542, 544, 548, 533, 525, 523, 518, 542,
845 513, 505, 544, 492, 491, 489, 485, 481, 539, 479,
846 537, 478, 477, 472, 536, 548, 551, 551, 551, 551,
847 552, 552, 554, 467, 554, 554, 458, 449, 443, 442,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000848
Reid Spencera54b7cb2007-01-12 07:05:14 +0000849 440, 438, 432, 431, 429, 428, 427, 426, 425, 422,
850 418, 417, 416, 415, 413, 408, 405, 404, 403, 400,
851 399, 395, 390, 387, 379, 377, 373, 360, 349, 348,
852 346, 331, 328, 326, 323, 321, 319, 314, 313, 311,
853 308, 305, 301, 298, 293, 290, 289, 280, 277, 276,
854 271, 270, 254, 253, 250, 238, 229, 228, 226, 225,
855 223, 222, 221, 213, 210, 209, 205, 204, 203, 197,
856 194, 193, 191, 190, 189, 188, 187, 186, 184, 150,
857 146, 144, 141, 138, 134, 130, 114, 90, 69, 59,
858 39, 37, 8, 7, 3, 550, 550, 550, 550, 550,
Reid Spencer3da59db2006-11-27 01:05:10 +0000859
Reid Spencera54b7cb2007-01-12 07:05:14 +0000860 550, 550, 550, 550, 550, 550, 550, 550, 550, 550,
861 550, 550, 550, 550, 550, 550, 550, 550, 550, 550,
862 550, 550, 550, 550, 550, 550, 550, 550, 550, 550,
863 550, 550, 550, 550, 550, 550, 550, 550, 550
Reid Spencer68a24bd2005-08-27 18:50:39 +0000864 } ;
865
Owen Anderson1dc69692006-10-18 02:21:48 +0000866static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
867static char *yy_full_match;
868static int yy_lp;
869#define REJECT \
870{ \
871*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
872yy_cp = yy_full_match; /* restore poss. backed-over text */ \
873++yy_lp; \
874goto find_rule; \
875}
Reid Spencer68a24bd2005-08-27 18:50:39 +0000876#define yymore() yymore_used_but_not_detected
877#define YY_MORE_ADJ 0
878#define YY_RESTORE_YY_MORE_OFFSET
Owen Anderson1dc69692006-10-18 02:21:48 +0000879char *yytext;
Reid Spencera54b7cb2007-01-12 07:05:14 +0000880#line 1 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +0000881#define INITIAL 0
Reid Spencer68a24bd2005-08-27 18:50:39 +0000882/*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
883//
884// The LLVM Compiler Infrastructure
885//
886// This file was developed by the LLVM research group and is distributed under
887// the University of Illinois Open Source License. See LICENSE.TXT for details.
888//
889//===----------------------------------------------------------------------===//
890//
891// This file implements the flex scanner for LLVM assembly languages files.
892//
893//===----------------------------------------------------------------------===*/
Owen Anderson1dc69692006-10-18 02:21:48 +0000894#define YY_NEVER_INTERACTIVE 1
Reid Spencera54b7cb2007-01-12 07:05:14 +0000895#line 28 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +0000896#include "ParserInternals.h"
897#include "llvm/Module.h"
898#include <list>
899#include "llvmAsmParser.h"
900#include <cctype>
901#include <cstdlib>
902
903void set_scan_file(FILE * F){
Owen Anderson1dc69692006-10-18 02:21:48 +0000904 yy_switch_to_buffer(yy_create_buffer( F, YY_BUF_SIZE ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +0000905}
906void set_scan_string (const char * str) {
Owen Anderson1dc69692006-10-18 02:21:48 +0000907 yy_scan_string (str);
Reid Spencer68a24bd2005-08-27 18:50:39 +0000908}
909
Reid Spencer3ed469c2006-11-02 20:25:50 +0000910// Construct a token value for a non-obsolete token
Reid Spencer68a24bd2005-08-27 18:50:39 +0000911#define RET_TOK(type, Enum, sym) \
Reid Spencera132e042006-12-03 05:46:11 +0000912 llvmAsmlval.type = Instruction::Enum; \
913 return sym
914
Reid Spencer3ed469c2006-11-02 20:25:50 +0000915// Construct a token value for an obsolete token
Reid Spencera132e042006-12-03 05:46:11 +0000916#define RET_TY(CTYPE, SYM) \
917 llvmAsmlval.PrimType = CTYPE;\
Reid Spencer481169e2006-12-01 00:33:46 +0000918 return SYM
Reid Spencer68a24bd2005-08-27 18:50:39 +0000919
920namespace llvm {
921
922// TODO: All of the static identifiers are figured out by the lexer,
923// these should be hashed to reduce the lexer size
924
925
926// atoull - Convert an ascii string of decimal digits into the unsigned long
927// long representation... this does not have to do input error checking,
928// because we know that the input will be matched by a suitable regex...
929//
930static uint64_t atoull(const char *Buffer) {
931 uint64_t Result = 0;
932 for (; *Buffer; Buffer++) {
933 uint64_t OldRes = Result;
934 Result *= 10;
935 Result += *Buffer-'0';
936 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000937 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000938 }
939 return Result;
940}
941
942static uint64_t HexIntToVal(const char *Buffer) {
943 uint64_t Result = 0;
944 for (; *Buffer; ++Buffer) {
945 uint64_t OldRes = Result;
946 Result *= 16;
947 char C = *Buffer;
948 if (C >= '0' && C <= '9')
949 Result += C-'0';
950 else if (C >= 'A' && C <= 'F')
951 Result += C-'A'+10;
952 else if (C >= 'a' && C <= 'f')
953 Result += C-'a'+10;
954
955 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000956 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000957 }
958 return Result;
959}
960
961
962// HexToFP - Convert the ascii string in hexidecimal format to the floating
963// point representation of it.
964//
965static double HexToFP(const char *Buffer) {
966 // Behave nicely in the face of C TBAA rules... see:
967 // http://www.nullstone.com/htmls/category/aliastyp.htm
968 union {
969 uint64_t UI;
970 double FP;
971 } UIntToFP;
972 UIntToFP.UI = HexIntToVal(Buffer);
973
974 assert(sizeof(double) == sizeof(uint64_t) &&
975 "Data sizes incompatible on this target!");
976 return UIntToFP.FP; // Cast Hex constant to double
977}
978
979
980// UnEscapeLexed - Run through the specified buffer and change \xx codes to the
981// appropriate character. If AllowNull is set to false, a \00 value will cause
982// an exception to be thrown.
983//
984// If AllowNull is set to true, the return value of the function points to the
985// last character of the string in memory.
986//
987char *UnEscapeLexed(char *Buffer, bool AllowNull) {
988 char *BOut = Buffer;
989 for (char *BIn = Buffer; *BIn; ) {
990 if (BIn[0] == '\\' && isxdigit(BIn[1]) && isxdigit(BIn[2])) {
991 char Tmp = BIn[3]; BIn[3] = 0; // Terminate string
992 *BOut = (char)strtol(BIn+1, 0, 16); // Convert to number
993 if (!AllowNull && !*BOut)
Reid Spencer61c83e02006-08-18 08:43:06 +0000994 GenerateError("String literal cannot accept \\00 escape!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000995
996 BIn[3] = Tmp; // Restore character
997 BIn += 3; // Skip over handled chars
998 ++BOut;
999 } else {
1000 *BOut++ = *BIn++;
1001 }
1002 }
1003
1004 return BOut;
1005}
1006
1007} // End llvm namespace
1008
1009using namespace llvm;
1010
1011#define YY_NEVER_INTERACTIVE 1
1012/* Comments start with a ; and go till end of line */
1013/* Variable(Value) identifiers start with a % sign */
1014/* Label identifiers end with a colon */
1015/* Quoted names can contain any character except " and \ */
1016/* [PN]Integer: match positive and negative literal integer values that
1017 * are preceeded by a '%' character. These represent unnamed variable slots.
1018 */
1019/* E[PN]Integer: match positive and negative literal integer values */
1020/* FPConstant - A Floating point constant.
1021 */
1022/* HexFPConstant - Floating point constant represented in IEEE format as a
1023 * hexadecimal number for when exponential notation is not precise enough.
1024 */
1025/* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
1026 * it to deal with 64 bit numbers.
1027 */
Reid Spencera54b7cb2007-01-12 07:05:14 +00001028#line 1029 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001029
1030/* Macros after this point can all be overridden by user definitions in
1031 * section 1.
1032 */
1033
1034#ifndef YY_SKIP_YYWRAP
1035#ifdef __cplusplus
Owen Anderson1dc69692006-10-18 02:21:48 +00001036extern "C" int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001037#else
Owen Anderson1dc69692006-10-18 02:21:48 +00001038extern int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001039#endif
1040#endif
1041
Owen Anderson1dc69692006-10-18 02:21:48 +00001042#ifndef YY_NO_UNPUT
1043static inline void yyunput YY_PROTO(( int c, char *buf_ptr ));
1044#endif
1045
Reid Spencer68a24bd2005-08-27 18:50:39 +00001046#ifndef yytext_ptr
Owen Anderson1dc69692006-10-18 02:21:48 +00001047static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001048#endif
1049
1050#ifdef YY_NEED_STRLEN
Owen Anderson1dc69692006-10-18 02:21:48 +00001051static int yy_flex_strlen YY_PROTO(( yyconst char * ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001052#endif
1053
1054#ifndef YY_NO_INPUT
1055#ifdef __cplusplus
Owen Anderson1dc69692006-10-18 02:21:48 +00001056static int yyinput YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001057#else
Owen Anderson1dc69692006-10-18 02:21:48 +00001058static int input YY_PROTO(( void ));
1059#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001060#endif
1061
Owen Anderson1dc69692006-10-18 02:21:48 +00001062#if YY_STACK_USED
1063static int yy_start_stack_ptr = 0;
1064static int yy_start_stack_depth = 0;
1065static int *yy_start_stack = 0;
1066#ifndef YY_NO_PUSH_STATE
1067static void yy_push_state YY_PROTO(( int new_state ));
1068#endif
1069#ifndef YY_NO_POP_STATE
1070static void yy_pop_state YY_PROTO(( void ));
1071#endif
1072#ifndef YY_NO_TOP_STATE
1073static int yy_top_state YY_PROTO(( void ));
1074#endif
1075
1076#else
1077#define YY_NO_PUSH_STATE 1
1078#define YY_NO_POP_STATE 1
1079#define YY_NO_TOP_STATE 1
1080#endif
1081
1082#ifdef YY_MALLOC_DECL
1083YY_MALLOC_DECL
1084#else
1085#if __STDC__
1086#ifndef __cplusplus
1087#include <stdlib.h>
1088#endif
1089#else
1090/* Just try to get by without declaring the routines. This will fail
1091 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1092 * or sizeof(void*) != sizeof(int).
1093 */
1094#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001095#endif
1096
1097/* Amount of stuff to slurp up with each read. */
1098#ifndef YY_READ_BUF_SIZE
1099#define YY_READ_BUF_SIZE 8192
1100#endif
1101
1102/* Copy whatever the last rule matched to the standard output. */
Owen Anderson1dc69692006-10-18 02:21:48 +00001103
Reid Spencer68a24bd2005-08-27 18:50:39 +00001104#ifndef ECHO
1105/* This used to be an fputs(), but since the string might contain NUL's,
1106 * we now use fwrite().
1107 */
Owen Anderson1dc69692006-10-18 02:21:48 +00001108#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001109#endif
1110
1111/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1112 * is returned in "result".
1113 */
1114#ifndef YY_INPUT
1115#define YY_INPUT(buf,result,max_size) \
Owen Anderson1dc69692006-10-18 02:21:48 +00001116 if ( yy_current_buffer->yy_is_interactive ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001117 { \
Owen Anderson1dc69692006-10-18 02:21:48 +00001118 int c = '*', n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001119 for ( n = 0; n < max_size && \
Owen Anderson1dc69692006-10-18 02:21:48 +00001120 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001121 buf[n] = (char) c; \
1122 if ( c == '\n' ) \
1123 buf[n++] = (char) c; \
Owen Anderson1dc69692006-10-18 02:21:48 +00001124 if ( c == EOF && ferror( yyin ) ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001125 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1126 result = n; \
1127 } \
Owen Anderson1dc69692006-10-18 02:21:48 +00001128 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1129 && ferror( yyin ) ) \
1130 YY_FATAL_ERROR( "input in flex scanner failed" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001131#endif
1132
1133/* No semi-colon after return; correct usage is to write "yyterminate();" -
1134 * we don't want an extra ';' after the "return" because that will cause
1135 * some compilers to complain about unreachable statements.
1136 */
1137#ifndef yyterminate
1138#define yyterminate() return YY_NULL
1139#endif
1140
1141/* Number of entries by which start-condition stack grows. */
1142#ifndef YY_START_STACK_INCR
1143#define YY_START_STACK_INCR 25
1144#endif
1145
1146/* Report a fatal error. */
1147#ifndef YY_FATAL_ERROR
1148#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1149#endif
1150
1151/* Default declaration of generated scanner - a define so the user can
1152 * easily add parameters.
1153 */
1154#ifndef YY_DECL
Owen Anderson1dc69692006-10-18 02:21:48 +00001155#define YY_DECL int yylex YY_PROTO(( void ))
1156#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001157
Owen Anderson1dc69692006-10-18 02:21:48 +00001158/* Code executed at the beginning of each rule, after yytext and yyleng
Reid Spencer68a24bd2005-08-27 18:50:39 +00001159 * have been set up.
1160 */
1161#ifndef YY_USER_ACTION
1162#define YY_USER_ACTION
1163#endif
1164
1165/* Code executed at the end of each rule. */
1166#ifndef YY_BREAK
1167#define YY_BREAK break;
1168#endif
1169
1170#define YY_RULE_SETUP \
1171 YY_USER_ACTION
1172
1173YY_DECL
Owen Anderson1dc69692006-10-18 02:21:48 +00001174 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00001175 register yy_state_type yy_current_state;
Reid Spencer3da59db2006-11-27 01:05:10 +00001176 register char *yy_cp = NULL, *yy_bp = NULL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001177 register int yy_act;
Owen Anderson1dc69692006-10-18 02:21:48 +00001178
Reid Spencera54b7cb2007-01-12 07:05:14 +00001179#line 188 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001180
1181
Reid Spencera54b7cb2007-01-12 07:05:14 +00001182#line 1183 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001183
Owen Anderson1dc69692006-10-18 02:21:48 +00001184 if ( yy_init )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001185 {
Owen Anderson1dc69692006-10-18 02:21:48 +00001186 yy_init = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001187
1188#ifdef YY_USER_INIT
1189 YY_USER_INIT;
1190#endif
1191
Owen Anderson1dc69692006-10-18 02:21:48 +00001192 if ( ! yy_start )
1193 yy_start = 1; /* first start state */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001194
Owen Anderson1dc69692006-10-18 02:21:48 +00001195 if ( ! yyin )
1196 yyin = stdin;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001197
Owen Anderson1dc69692006-10-18 02:21:48 +00001198 if ( ! yyout )
1199 yyout = stdout;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001200
Owen Anderson1dc69692006-10-18 02:21:48 +00001201 if ( ! yy_current_buffer )
1202 yy_current_buffer =
1203 yy_create_buffer( yyin, YY_BUF_SIZE );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001204
Owen Anderson1dc69692006-10-18 02:21:48 +00001205 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00001206 }
1207
1208 while ( 1 ) /* loops until end-of-file is reached */
1209 {
Owen Anderson1dc69692006-10-18 02:21:48 +00001210 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001211
Owen Anderson1dc69692006-10-18 02:21:48 +00001212 /* Support of yytext. */
1213 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001214
1215 /* yy_bp points to the position in yy_ch_buf of the start of
1216 * the current run.
1217 */
1218 yy_bp = yy_cp;
1219
Owen Anderson1dc69692006-10-18 02:21:48 +00001220 yy_current_state = yy_start;
1221 yy_state_ptr = yy_state_buf;
1222 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001223yy_match:
1224 do
1225 {
1226 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1227 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1228 {
1229 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencera54b7cb2007-01-12 07:05:14 +00001230 if ( yy_current_state >= 551 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001231 yy_c = yy_meta[(unsigned int) yy_c];
1232 }
1233 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Owen Anderson1dc69692006-10-18 02:21:48 +00001234 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001235 ++yy_cp;
1236 }
Reid Spencera54b7cb2007-01-12 07:05:14 +00001237 while ( yy_current_state != 550 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001238
1239yy_find_action:
Owen Anderson1dc69692006-10-18 02:21:48 +00001240 yy_current_state = *--yy_state_ptr;
1241 yy_lp = yy_accept[yy_current_state];
Reid Spencer4fe16d62007-01-11 18:21:29 +00001242
Owen Anderson1dc69692006-10-18 02:21:48 +00001243 for ( ; ; ) /* until we find what rule we matched */
1244 {
1245 if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
1246 {
1247 yy_act = yy_acclist[yy_lp];
1248 {
1249 yy_full_match = yy_cp;
1250 break;
1251 }
1252 }
1253 --yy_cp;
1254 yy_current_state = *--yy_state_ptr;
1255 yy_lp = yy_accept[yy_current_state];
1256 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001257
1258 YY_DO_BEFORE_ACTION;
1259
Owen Anderson1dc69692006-10-18 02:21:48 +00001260 if ( yy_act != YY_END_OF_BUFFER )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001261 {
1262 int yyl;
Owen Anderson1dc69692006-10-18 02:21:48 +00001263 for ( yyl = 0; yyl < yyleng; ++yyl )
1264 if ( yytext[yyl] == '\n' )
1265 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001266 }
1267
1268do_action: /* This label is used only to access EOF actions. */
1269
Owen Anderson1dc69692006-10-18 02:21:48 +00001270
Reid Spencer68a24bd2005-08-27 18:50:39 +00001271 switch ( yy_act )
1272 { /* beginning of action switch */
1273case 1:
1274YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001275#line 190 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001276{ /* Ignore comments for now */ }
1277 YY_BREAK
1278case 2:
1279YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001280#line 192 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001281{ return BEGINTOK; }
1282 YY_BREAK
1283case 3:
1284YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001285#line 193 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001286{ return ENDTOK; }
1287 YY_BREAK
1288case 4:
1289YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001290#line 194 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001291{ return TRUETOK; }
1292 YY_BREAK
1293case 5:
1294YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001295#line 195 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001296{ return FALSETOK; }
1297 YY_BREAK
1298case 6:
1299YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001300#line 196 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001301{ return DECLARE; }
1302 YY_BREAK
1303case 7:
1304YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001305#line 197 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001306{ return DEFINE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001307 YY_BREAK
1308case 8:
1309YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001310#line 198 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001311{ return GLOBAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001312 YY_BREAK
1313case 9:
1314YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001315#line 199 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001316{ return CONSTANT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001317 YY_BREAK
1318case 10:
1319YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001320#line 200 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001321{ return INTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001322 YY_BREAK
1323case 11:
1324YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001325#line 201 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001326{ return LINKONCE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001327 YY_BREAK
1328case 12:
1329YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001330#line 202 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001331{ return WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001332 YY_BREAK
1333case 13:
1334YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001335#line 203 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001336{ return APPENDING; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001337 YY_BREAK
1338case 14:
1339YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001340#line 204 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001341{ return DLLIMPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001342 YY_BREAK
1343case 15:
1344YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001345#line 205 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001346{ return DLLEXPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001347 YY_BREAK
1348case 16:
1349YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001350#line 206 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001351{ return EXTERN_WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001352 YY_BREAK
1353case 17:
1354YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001355#line 207 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001356{ return EXTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001357 YY_BREAK
1358case 18:
1359YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001360#line 208 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001361{ return IMPLEMENTATION; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001362 YY_BREAK
1363case 19:
1364YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001365#line 209 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001366{ return ZEROINITIALIZER; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001367 YY_BREAK
1368case 20:
1369YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001370#line 210 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001371{ return DOTDOTDOT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001372 YY_BREAK
1373case 21:
1374YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001375#line 211 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001376{ return UNDEF; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001377 YY_BREAK
1378case 22:
1379YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001380#line 212 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001381{ return NULL_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001382 YY_BREAK
1383case 23:
1384YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001385#line 213 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001386{ return TO; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001387 YY_BREAK
1388case 24:
1389YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001390#line 214 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001391{ return TAIL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001392 YY_BREAK
1393case 25:
1394YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001395#line 215 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001396{ return TARGET; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001397 YY_BREAK
1398case 26:
1399YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001400#line 216 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001401{ return TRIPLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001402 YY_BREAK
1403case 27:
1404YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001405#line 217 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001406{ return DEPLIBS; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001407 YY_BREAK
1408case 28:
1409YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001410#line 218 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001411{ return ENDIAN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001412 YY_BREAK
1413case 29:
1414YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001415#line 219 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001416{ return POINTERSIZE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001417 YY_BREAK
1418case 30:
1419YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001420#line 220 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001421{ return DATALAYOUT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001422 YY_BREAK
1423case 31:
1424YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001425#line 221 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001426{ return LITTLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001427 YY_BREAK
1428case 32:
1429YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001430#line 222 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001431{ return BIG; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001432 YY_BREAK
1433case 33:
1434YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001435#line 223 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001436{ return VOLATILE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001437 YY_BREAK
1438case 34:
1439YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001440#line 224 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001441{ return ALIGN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001442 YY_BREAK
1443case 35:
1444YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001445#line 225 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001446{ return SECTION; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001447 YY_BREAK
1448case 36:
1449YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001450#line 226 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001451{ return MODULE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001452 YY_BREAK
1453case 37:
1454YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001455#line 227 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001456{ return ASM_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001457 YY_BREAK
1458case 38:
1459YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001460#line 228 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001461{ return SIDEEFFECT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001462 YY_BREAK
1463case 39:
1464YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001465#line 230 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001466{ return CC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001467 YY_BREAK
1468case 40:
1469YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001470#line 231 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001471{ return CCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001472 YY_BREAK
1473case 41:
1474YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001475#line 232 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001476{ return CSRETCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001477 YY_BREAK
1478case 42:
1479YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001480#line 233 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001481{ return FASTCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001482 YY_BREAK
1483case 43:
1484YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001485#line 234 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001486{ return COLDCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001487 YY_BREAK
1488case 44:
1489YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001490#line 235 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001491{ return X86_STDCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001492 YY_BREAK
1493case 45:
1494YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001495#line 236 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001496{ return X86_FASTCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001497 YY_BREAK
1498case 46:
1499YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001500#line 238 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001501{ RET_TY(Type::VoidTy, VOID); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001502 YY_BREAK
1503case 47:
1504YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001505#line 239 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer4fe16d62007-01-11 18:21:29 +00001506{ RET_TY(Type::Int1Ty, BOOL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001507 YY_BREAK
1508case 48:
1509YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001510#line 240 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1511{ RET_TY(Type::FloatTy, FLOAT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001512 YY_BREAK
1513case 49:
1514YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001515#line 241 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1516{ RET_TY(Type::DoubleTy,DOUBLE);}
Reid Spencer68a24bd2005-08-27 18:50:39 +00001517 YY_BREAK
1518case 50:
1519YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001520#line 242 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1521{ RET_TY(Type::LabelTy, LABEL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001522 YY_BREAK
1523case 51:
1524YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001525#line 243 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1526{ return TYPE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001527 YY_BREAK
1528case 52:
1529YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001530#line 244 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1531{ return OPAQUE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001532 YY_BREAK
1533case 53:
1534YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001535#line 245 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1536{ uint64_t NumBits = atoull(yytext+1);
1537 if (NumBits < IntegerType::MIN_INT_BITS ||
1538 NumBits > IntegerType::MAX_INT_BITS)
1539 GenerateError("Bitwidth for integer type out of range!");
1540 const Type* Ty = IntegerType::get(NumBits);
1541 RET_TY(Ty, INTTYPE);
1542 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001543 YY_BREAK
1544case 54:
1545YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001546#line 253 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1547{ RET_TOK(BinaryOpVal, Add, ADD); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001548 YY_BREAK
1549case 55:
1550YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001551#line 254 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1552{ RET_TOK(BinaryOpVal, Sub, SUB); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001553 YY_BREAK
1554case 56:
1555YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001556#line 255 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1557{ RET_TOK(BinaryOpVal, Mul, MUL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001558 YY_BREAK
1559case 57:
1560YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001561#line 256 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1562{ RET_TOK(BinaryOpVal, UDiv, UDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001563 YY_BREAK
1564case 58:
1565YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001566#line 257 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1567{ RET_TOK(BinaryOpVal, SDiv, SDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001568 YY_BREAK
1569case 59:
1570YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001571#line 258 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1572{ RET_TOK(BinaryOpVal, FDiv, FDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001573 YY_BREAK
1574case 60:
1575YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001576#line 259 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1577{ RET_TOK(BinaryOpVal, URem, UREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001578 YY_BREAK
1579case 61:
1580YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001581#line 260 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1582{ RET_TOK(BinaryOpVal, SRem, SREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001583 YY_BREAK
1584case 62:
1585YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001586#line 261 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1587{ RET_TOK(BinaryOpVal, FRem, FREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001588 YY_BREAK
1589case 63:
1590YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001591#line 262 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1592{ RET_TOK(BinaryOpVal, And, AND); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001593 YY_BREAK
1594case 64:
1595YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001596#line 263 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1597{ RET_TOK(BinaryOpVal, Or , OR ); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001598 YY_BREAK
1599case 65:
1600YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001601#line 264 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1602{ RET_TOK(BinaryOpVal, Xor, XOR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001603 YY_BREAK
1604case 66:
1605YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001606#line 265 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1607{ RET_TOK(OtherOpVal, ICmp, ICMP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001608 YY_BREAK
1609case 67:
1610YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001611#line 266 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1612{ RET_TOK(OtherOpVal, FCmp, FCMP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001613 YY_BREAK
1614case 68:
1615YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001616#line 267 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1617{ return EQ; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001618 YY_BREAK
1619case 69:
1620YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001621#line 268 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1622{ return NE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001623 YY_BREAK
1624case 70:
1625YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001626#line 269 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1627{ return SLT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001628 YY_BREAK
1629case 71:
1630YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001631#line 270 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1632{ return SGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001633 YY_BREAK
1634case 72:
1635YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001636#line 271 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1637{ return SLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001638 YY_BREAK
1639case 73:
1640YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001641#line 272 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1642{ return SGE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001643 YY_BREAK
1644case 74:
1645YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001646#line 273 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1647{ return ULT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001648 YY_BREAK
1649case 75:
1650YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001651#line 274 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1652{ return UGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001653 YY_BREAK
1654case 76:
1655YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001656#line 275 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1657{ return ULE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001658 YY_BREAK
1659case 77:
1660YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001661#line 276 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1662{ return UGE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001663 YY_BREAK
1664case 78:
1665YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001666#line 277 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1667{ return OEQ; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001668 YY_BREAK
1669case 79:
1670YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001671#line 278 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1672{ return ONE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001673 YY_BREAK
1674case 80:
1675YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001676#line 279 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1677{ return OLT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001678 YY_BREAK
1679case 81:
1680YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001681#line 280 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1682{ return OGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001683 YY_BREAK
1684case 82:
1685YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001686#line 281 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1687{ return OLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001688 YY_BREAK
1689case 83:
1690YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001691#line 282 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1692{ return OGE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001693 YY_BREAK
1694case 84:
1695YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001696#line 283 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1697{ return ORD; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001698 YY_BREAK
1699case 85:
1700YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001701#line 284 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1702{ return UNO; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001703 YY_BREAK
1704case 86:
1705YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001706#line 285 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1707{ return UEQ; }
Nate Begeman14b05292005-11-05 09:21:28 +00001708 YY_BREAK
1709case 87:
1710YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001711#line 286 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1712{ return UNE; }
Chris Lattnere869eef2005-11-12 00:11:49 +00001713 YY_BREAK
1714case 88:
1715YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001716#line 288 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1717{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
Robert Bocchino9c62b562006-01-10 19:04:32 +00001718 YY_BREAK
1719case 89:
1720YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001721#line 289 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1722{ RET_TOK(OtherOpVal, Call, CALL); }
Robert Bocchino2def1b32006-01-17 20:06:25 +00001723 YY_BREAK
1724case 90:
1725YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001726#line 290 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1727{ RET_TOK(CastOpVal, Trunc, TRUNC); }
Chris Lattner8335e842006-01-23 23:05:42 +00001728 YY_BREAK
1729case 91:
1730YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001731#line 291 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1732{ RET_TOK(CastOpVal, ZExt, ZEXT); }
Chris Lattner66316012006-01-24 04:14:29 +00001733 YY_BREAK
1734case 92:
1735YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001736#line 292 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1737{ RET_TOK(CastOpVal, SExt, SEXT); }
Chris Lattner0e9c3762006-01-25 22:27:16 +00001738 YY_BREAK
1739case 93:
1740YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001741#line 293 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1742{ RET_TOK(CastOpVal, FPTrunc, FPTRUNC); }
Chris Lattnerd5efe842006-04-08 01:18:56 +00001743 YY_BREAK
1744case 94:
1745YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001746#line 294 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1747{ RET_TOK(CastOpVal, FPExt, FPEXT); }
Chris Lattner75466192006-05-19 21:28:53 +00001748 YY_BREAK
1749case 95:
1750YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001751#line 295 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1752{ RET_TOK(CastOpVal, UIToFP, UITOFP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001753 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001754case 96:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001755YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001756#line 296 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1757{ RET_TOK(CastOpVal, SIToFP, SITOFP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001758 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001759case 97:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001760YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001761#line 297 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1762{ RET_TOK(CastOpVal, FPToUI, FPTOUI); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001763 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001764case 98:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001765YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001766#line 298 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1767{ RET_TOK(CastOpVal, FPToSI, FPTOSI); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001768 YY_BREAK
1769case 99:
1770YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001771#line 299 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1772{ RET_TOK(CastOpVal, IntToPtr, INTTOPTR); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001773 YY_BREAK
1774case 100:
1775YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001776#line 300 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1777{ RET_TOK(CastOpVal, PtrToInt, PTRTOINT); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001778 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001779case 101:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001780YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001781#line 301 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1782{ RET_TOK(CastOpVal, BitCast, BITCAST); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001783 YY_BREAK
1784case 102:
1785YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001786#line 302 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1787{ RET_TOK(OtherOpVal, Select, SELECT); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001788 YY_BREAK
1789case 103:
1790YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001791#line 303 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1792{ RET_TOK(OtherOpVal, Shl, SHL); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001793 YY_BREAK
1794case 104:
1795YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001796#line 304 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1797{ RET_TOK(OtherOpVal, LShr, LSHR); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001798 YY_BREAK
1799case 105:
1800YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001801#line 305 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1802{ RET_TOK(OtherOpVal, AShr, ASHR); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001803 YY_BREAK
1804case 106:
1805YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001806#line 306 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1807{ RET_TOK(OtherOpVal, VAArg , VAARG); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001808 YY_BREAK
1809case 107:
1810YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001811#line 307 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1812{ RET_TOK(TermOpVal, Ret, RET); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001813 YY_BREAK
1814case 108:
1815YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001816#line 308 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1817{ RET_TOK(TermOpVal, Br, BR); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001818 YY_BREAK
1819case 109:
1820YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001821#line 309 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1822{ RET_TOK(TermOpVal, Switch, SWITCH); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001823 YY_BREAK
1824case 110:
1825YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001826#line 310 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1827{ RET_TOK(TermOpVal, Invoke, INVOKE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001828 YY_BREAK
1829case 111:
1830YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001831#line 311 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1832{ RET_TOK(TermOpVal, Unwind, UNWIND); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001833 YY_BREAK
1834case 112:
1835YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001836#line 312 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1837{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001838 YY_BREAK
1839case 113:
1840YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001841#line 314 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1842{ RET_TOK(MemOpVal, Malloc, MALLOC); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001843 YY_BREAK
1844case 114:
1845YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001846#line 315 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1847{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001848 YY_BREAK
1849case 115:
1850YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001851#line 316 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1852{ RET_TOK(MemOpVal, Free, FREE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001853 YY_BREAK
1854case 116:
1855YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001856#line 317 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1857{ RET_TOK(MemOpVal, Load, LOAD); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001858 YY_BREAK
1859case 117:
1860YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001861#line 318 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1862{ RET_TOK(MemOpVal, Store, STORE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001863 YY_BREAK
1864case 118:
1865YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001866#line 319 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1867{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001868 YY_BREAK
1869case 119:
1870YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001871#line 321 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1872{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001873 YY_BREAK
1874case 120:
1875YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001876#line 322 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1877{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001878 YY_BREAK
1879case 121:
1880YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001881#line 323 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1882{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
Reid Spencera132e042006-12-03 05:46:11 +00001883 YY_BREAK
1884case 122:
1885YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001886#line 326 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001887{
Owen Anderson1dc69692006-10-18 02:21:48 +00001888 UnEscapeLexed(yytext+1);
1889 llvmAsmlval.StrVal = strdup(yytext+1); // Skip %
1890 return VAR_ID;
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001891 }
1892 YY_BREAK
Reid Spencera54b7cb2007-01-12 07:05:14 +00001893case 123:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001894YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001895#line 331 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001896{
Owen Anderson1dc69692006-10-18 02:21:48 +00001897 yytext[strlen(yytext)-1] = 0; // nuke colon
1898 UnEscapeLexed(yytext);
1899 llvmAsmlval.StrVal = strdup(yytext);
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001900 return LABELSTR;
1901 }
1902 YY_BREAK
Reid Spencera54b7cb2007-01-12 07:05:14 +00001903case 124:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001904YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001905#line 337 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001906{
1907 yytext[strlen(yytext)-2] = 0; // nuke colon, end quote
1908 UnEscapeLexed(yytext+1);
1909 llvmAsmlval.StrVal = strdup(yytext+1);
1910 return LABELSTR;
1911 }
1912 YY_BREAK
Reid Spencera54b7cb2007-01-12 07:05:14 +00001913case 125:
Owen Anderson1dc69692006-10-18 02:21:48 +00001914YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001915#line 344 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001916{ // Note that we cannot unescape a string constant here! The
1917 // string constant might contain a \00 which would not be
1918 // understood by the string stuff. It is valid to make a
1919 // [sbyte] c"Hello World\00" constant, for example.
1920 //
Owen Anderson1dc69692006-10-18 02:21:48 +00001921 yytext[strlen(yytext)-1] = 0; // nuke end quote
1922 llvmAsmlval.StrVal = strdup(yytext+1); // Nuke start quote
Reid Spencer68a24bd2005-08-27 18:50:39 +00001923 return STRINGCONSTANT;
1924 }
1925 YY_BREAK
Reid Spencera54b7cb2007-01-12 07:05:14 +00001926case 126:
Owen Anderson1dc69692006-10-18 02:21:48 +00001927YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001928#line 355 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001929{ llvmAsmlval.UInt64Val = atoull(yytext); return EUINT64VAL; }
1930 YY_BREAK
Reid Spencera54b7cb2007-01-12 07:05:14 +00001931case 127:
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001932YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001933#line 356 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001934{
Owen Anderson1dc69692006-10-18 02:21:48 +00001935 uint64_t Val = atoull(yytext+1);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001936 // +1: we have bigger negative range
1937 if (Val > (uint64_t)INT64_MAX+1)
Reid Spencer61c83e02006-08-18 08:43:06 +00001938 GenerateError("Constant too large for signed 64 bits!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001939 llvmAsmlval.SInt64Val = -Val;
1940 return ESINT64VAL;
1941 }
1942 YY_BREAK
Reid Spencera54b7cb2007-01-12 07:05:14 +00001943case 128:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001944YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001945#line 364 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001946{
Owen Anderson1dc69692006-10-18 02:21:48 +00001947 llvmAsmlval.UInt64Val = HexIntToVal(yytext+3);
1948 return yytext[0] == 's' ? ESINT64VAL : EUINT64VAL;
1949 }
1950 YY_BREAK
Reid Spencera54b7cb2007-01-12 07:05:14 +00001951case 129:
Owen Anderson1dc69692006-10-18 02:21:48 +00001952YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001953#line 369 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001954{
1955 uint64_t Val = atoull(yytext+1);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001956 if ((unsigned)Val != Val)
Reid Spencer61c83e02006-08-18 08:43:06 +00001957 GenerateError("Invalid value number (too large)!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001958 llvmAsmlval.UIntVal = unsigned(Val);
1959 return UINTVAL;
1960 }
1961 YY_BREAK
Reid Spencera54b7cb2007-01-12 07:05:14 +00001962case 130:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001963YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001964#line 376 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001965{
Owen Anderson1dc69692006-10-18 02:21:48 +00001966 uint64_t Val = atoull(yytext+2);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001967 // +1: we have bigger negative range
1968 if (Val > (uint64_t)INT32_MAX+1)
Reid Spencer61c83e02006-08-18 08:43:06 +00001969 GenerateError("Constant too large for signed 32 bits!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001970 llvmAsmlval.SIntVal = (int)-Val;
1971 return SINTVAL;
1972 }
1973 YY_BREAK
Reid Spencera54b7cb2007-01-12 07:05:14 +00001974case 131:
Owen Anderson1dc69692006-10-18 02:21:48 +00001975YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001976#line 385 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001977{ llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
1978 YY_BREAK
Reid Spencera54b7cb2007-01-12 07:05:14 +00001979case 132:
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001980YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001981#line 386 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001982{ llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001983 YY_BREAK
1984case YY_STATE_EOF(INITIAL):
Reid Spencera54b7cb2007-01-12 07:05:14 +00001985#line 388 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001986{
1987 /* Make sure to free the internal buffers for flex when we are
1988 * done reading our input!
1989 */
Owen Anderson1dc69692006-10-18 02:21:48 +00001990 yy_delete_buffer(YY_CURRENT_BUFFER);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001991 return EOF;
1992 }
1993 YY_BREAK
Reid Spencera54b7cb2007-01-12 07:05:14 +00001994case 133:
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001995YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00001996#line 396 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001997{ /* Ignore whitespace */ }
Owen Anderson1dc69692006-10-18 02:21:48 +00001998 YY_BREAK
Reid Spencera54b7cb2007-01-12 07:05:14 +00001999case 134:
Owen Anderson1dc69692006-10-18 02:21:48 +00002000YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00002001#line 397 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002002{ return yytext[0]; }
2003 YY_BREAK
Reid Spencera54b7cb2007-01-12 07:05:14 +00002004case 135:
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002005YY_RULE_SETUP
Reid Spencera54b7cb2007-01-12 07:05:14 +00002006#line 399 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002007YY_FATAL_ERROR( "flex scanner jammed" );
2008 YY_BREAK
Reid Spencera54b7cb2007-01-12 07:05:14 +00002009#line 2010 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002010
2011 case YY_END_OF_BUFFER:
2012 {
2013 /* Amount of text matched not including the EOB char. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002014 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002015
2016 /* Undo the effects of YY_DO_BEFORE_ACTION. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002017 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002018 YY_RESTORE_YY_MORE_OFFSET
2019
Owen Anderson1dc69692006-10-18 02:21:48 +00002020 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002021 {
2022 /* We're scanning a new file or input source. It's
2023 * possible that this happened because the user
Owen Anderson1dc69692006-10-18 02:21:48 +00002024 * just pointed yyin at a new source and called
2025 * yylex(). If so, then we have to assure
2026 * consistency between yy_current_buffer and our
Reid Spencer68a24bd2005-08-27 18:50:39 +00002027 * globals. Here is the right place to do so, because
2028 * this is the first action (other than possibly a
2029 * back-up) that will match for the new input source.
2030 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002031 yy_n_chars = yy_current_buffer->yy_n_chars;
2032 yy_current_buffer->yy_input_file = yyin;
2033 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002034 }
2035
2036 /* Note that here we test for yy_c_buf_p "<=" to the position
2037 * of the first EOB in the buffer, since yy_c_buf_p will
2038 * already have been incremented past the NUL character
2039 * (since all states make transitions on EOB to the
2040 * end-of-buffer state). Contrast this with the test
2041 * in input().
2042 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002043 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002044 { /* This was really a NUL. */
2045 yy_state_type yy_next_state;
2046
Owen Anderson1dc69692006-10-18 02:21:48 +00002047 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002048
Owen Anderson1dc69692006-10-18 02:21:48 +00002049 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002050
2051 /* Okay, we're now positioned to make the NUL
2052 * transition. We couldn't have
2053 * yy_get_previous_state() go ahead and do it
2054 * for us because it doesn't know how to deal
2055 * with the possibility of jamming (and we don't
2056 * want to build jamming into it because then it
2057 * will run more slowly).
2058 */
2059
2060 yy_next_state = yy_try_NUL_trans( yy_current_state );
2061
Owen Anderson1dc69692006-10-18 02:21:48 +00002062 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002063
2064 if ( yy_next_state )
2065 {
2066 /* Consume the NUL. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002067 yy_cp = ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002068 yy_current_state = yy_next_state;
2069 goto yy_match;
2070 }
2071
2072 else
2073 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002074 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002075 goto yy_find_action;
2076 }
2077 }
2078
Owen Anderson1dc69692006-10-18 02:21:48 +00002079 else switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002080 {
2081 case EOB_ACT_END_OF_FILE:
2082 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002083 yy_did_buffer_switch_on_eof = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002084
Owen Anderson1dc69692006-10-18 02:21:48 +00002085 if ( yywrap() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002086 {
2087 /* Note: because we've taken care in
2088 * yy_get_next_buffer() to have set up
Owen Anderson1dc69692006-10-18 02:21:48 +00002089 * yytext, we can now set up
Reid Spencer68a24bd2005-08-27 18:50:39 +00002090 * yy_c_buf_p so that if some total
2091 * hoser (like flex itself) wants to
2092 * call the scanner after we return the
2093 * YY_NULL, it'll still work - another
2094 * YY_NULL will get returned.
2095 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002096 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002097
2098 yy_act = YY_STATE_EOF(YY_START);
2099 goto do_action;
2100 }
2101
2102 else
2103 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002104 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002105 YY_NEW_FILE;
2106 }
2107 break;
2108 }
2109
2110 case EOB_ACT_CONTINUE_SCAN:
Owen Anderson1dc69692006-10-18 02:21:48 +00002111 yy_c_buf_p =
2112 yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002113
Owen Anderson1dc69692006-10-18 02:21:48 +00002114 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002115
Owen Anderson1dc69692006-10-18 02:21:48 +00002116 yy_cp = yy_c_buf_p;
2117 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002118 goto yy_match;
2119
2120 case EOB_ACT_LAST_MATCH:
Owen Anderson1dc69692006-10-18 02:21:48 +00002121 yy_c_buf_p =
2122 &yy_current_buffer->yy_ch_buf[yy_n_chars];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002123
Owen Anderson1dc69692006-10-18 02:21:48 +00002124 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002125
Owen Anderson1dc69692006-10-18 02:21:48 +00002126 yy_cp = yy_c_buf_p;
2127 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002128 goto yy_find_action;
2129 }
2130 break;
2131 }
2132
2133 default:
2134 YY_FATAL_ERROR(
2135 "fatal flex scanner internal error--no action found" );
2136 } /* end of action switch */
2137 } /* end of scanning one token */
Owen Anderson1dc69692006-10-18 02:21:48 +00002138 } /* end of yylex */
2139
Reid Spencer68a24bd2005-08-27 18:50:39 +00002140
2141/* yy_get_next_buffer - try to read in a new buffer
2142 *
2143 * Returns a code representing an action:
2144 * EOB_ACT_LAST_MATCH -
2145 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2146 * EOB_ACT_END_OF_FILE - end of file
2147 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002148
2149static int yy_get_next_buffer()
2150 {
2151 register char *dest = yy_current_buffer->yy_ch_buf;
2152 register char *source = yytext_ptr;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002153 register int number_to_move, i;
2154 int ret_val;
2155
Owen Anderson1dc69692006-10-18 02:21:48 +00002156 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002157 YY_FATAL_ERROR(
2158 "fatal flex scanner internal error--end of buffer missed" );
2159
Owen Anderson1dc69692006-10-18 02:21:48 +00002160 if ( yy_current_buffer->yy_fill_buffer == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002161 { /* Don't try to fill the buffer, so this is an EOF. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002162 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002163 {
2164 /* We matched a single character, the EOB, so
2165 * treat this as a final EOF.
2166 */
2167 return EOB_ACT_END_OF_FILE;
2168 }
2169
2170 else
2171 {
2172 /* We matched some text prior to the EOB, first
2173 * process it.
2174 */
2175 return EOB_ACT_LAST_MATCH;
2176 }
2177 }
2178
2179 /* Try to read more data. */
2180
2181 /* First move last chars to start of buffer. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002182 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002183
2184 for ( i = 0; i < number_to_move; ++i )
2185 *(dest++) = *(source++);
2186
Owen Anderson1dc69692006-10-18 02:21:48 +00002187 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002188 /* don't do the read, it's not guaranteed to return an EOF,
2189 * just force an EOF
2190 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002191 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002192
2193 else
2194 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002195 int num_to_read =
2196 yy_current_buffer->yy_buf_size - number_to_move - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002197
2198 while ( num_to_read <= 0 )
2199 { /* Not enough room in the buffer - grow it. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002200#ifdef YY_USES_REJECT
2201 YY_FATAL_ERROR(
2202"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
2203#else
Reid Spencer68a24bd2005-08-27 18:50:39 +00002204
2205 /* just a shorter name for the current buffer */
Owen Anderson1dc69692006-10-18 02:21:48 +00002206 YY_BUFFER_STATE b = yy_current_buffer;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002207
2208 int yy_c_buf_p_offset =
Owen Anderson1dc69692006-10-18 02:21:48 +00002209 (int) (yy_c_buf_p - b->yy_ch_buf);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002210
2211 if ( b->yy_is_our_buffer )
2212 {
2213 int new_size = b->yy_buf_size * 2;
2214
2215 if ( new_size <= 0 )
2216 b->yy_buf_size += b->yy_buf_size / 8;
2217 else
2218 b->yy_buf_size *= 2;
2219
2220 b->yy_ch_buf = (char *)
2221 /* Include room in for 2 EOB chars. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002222 yy_flex_realloc( (void *) b->yy_ch_buf,
2223 b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002224 }
2225 else
2226 /* Can't grow it, we don't own it. */
2227 b->yy_ch_buf = 0;
2228
2229 if ( ! b->yy_ch_buf )
2230 YY_FATAL_ERROR(
2231 "fatal error - scanner input buffer overflow" );
2232
Owen Anderson1dc69692006-10-18 02:21:48 +00002233 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002234
Owen Anderson1dc69692006-10-18 02:21:48 +00002235 num_to_read = yy_current_buffer->yy_buf_size -
Reid Spencer68a24bd2005-08-27 18:50:39 +00002236 number_to_move - 1;
Owen Anderson1dc69692006-10-18 02:21:48 +00002237#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002238 }
2239
2240 if ( num_to_read > YY_READ_BUF_SIZE )
2241 num_to_read = YY_READ_BUF_SIZE;
2242
2243 /* Read in more data. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002244 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
2245 yy_n_chars, num_to_read );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002246
Owen Anderson1dc69692006-10-18 02:21:48 +00002247 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002248 }
2249
Owen Anderson1dc69692006-10-18 02:21:48 +00002250 if ( yy_n_chars == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002251 {
2252 if ( number_to_move == YY_MORE_ADJ )
2253 {
2254 ret_val = EOB_ACT_END_OF_FILE;
Owen Anderson1dc69692006-10-18 02:21:48 +00002255 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002256 }
2257
2258 else
2259 {
2260 ret_val = EOB_ACT_LAST_MATCH;
Owen Anderson1dc69692006-10-18 02:21:48 +00002261 yy_current_buffer->yy_buffer_status =
Reid Spencer68a24bd2005-08-27 18:50:39 +00002262 YY_BUFFER_EOF_PENDING;
2263 }
2264 }
2265
2266 else
2267 ret_val = EOB_ACT_CONTINUE_SCAN;
2268
Owen Anderson1dc69692006-10-18 02:21:48 +00002269 yy_n_chars += number_to_move;
2270 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2271 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002272
Owen Anderson1dc69692006-10-18 02:21:48 +00002273 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002274
2275 return ret_val;
Owen Anderson1dc69692006-10-18 02:21:48 +00002276 }
2277
Reid Spencer68a24bd2005-08-27 18:50:39 +00002278
2279/* yy_get_previous_state - get the state just before the EOB char was reached */
2280
Owen Anderson1dc69692006-10-18 02:21:48 +00002281static yy_state_type yy_get_previous_state()
2282 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002283 register yy_state_type yy_current_state;
2284 register char *yy_cp;
2285
Owen Anderson1dc69692006-10-18 02:21:48 +00002286 yy_current_state = yy_start;
2287 yy_state_ptr = yy_state_buf;
2288 *yy_state_ptr++ = yy_current_state;
2289
2290 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002291 {
2292 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2293 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2294 {
2295 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencera54b7cb2007-01-12 07:05:14 +00002296 if ( yy_current_state >= 551 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002297 yy_c = yy_meta[(unsigned int) yy_c];
2298 }
2299 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Owen Anderson1dc69692006-10-18 02:21:48 +00002300 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002301 }
2302
2303 return yy_current_state;
Owen Anderson1dc69692006-10-18 02:21:48 +00002304 }
2305
Reid Spencer68a24bd2005-08-27 18:50:39 +00002306
2307/* yy_try_NUL_trans - try to make a transition on the NUL character
2308 *
2309 * synopsis
2310 * next_state = yy_try_NUL_trans( current_state );
2311 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002312
2313#ifdef YY_USE_PROTOS
2314static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
2315#else
2316static yy_state_type yy_try_NUL_trans( yy_current_state )
2317yy_state_type yy_current_state;
2318#endif
2319 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002320 register int yy_is_jam;
2321
2322 register YY_CHAR yy_c = 1;
2323 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2324 {
2325 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencera54b7cb2007-01-12 07:05:14 +00002326 if ( yy_current_state >= 551 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002327 yy_c = yy_meta[(unsigned int) yy_c];
2328 }
2329 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencera54b7cb2007-01-12 07:05:14 +00002330 yy_is_jam = (yy_current_state == 550);
Owen Anderson1dc69692006-10-18 02:21:48 +00002331 if ( ! yy_is_jam )
2332 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002333
2334 return yy_is_jam ? 0 : yy_current_state;
Owen Anderson1dc69692006-10-18 02:21:48 +00002335 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002336
2337
Owen Anderson1dc69692006-10-18 02:21:48 +00002338#ifndef YY_NO_UNPUT
2339#ifdef YY_USE_PROTOS
2340static inline void yyunput( int c, register char *yy_bp )
2341#else
2342static inline void yyunput( c, yy_bp )
2343int c;
2344register char *yy_bp;
2345#endif
2346 {
2347 register char *yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002348
Owen Anderson1dc69692006-10-18 02:21:48 +00002349 /* undo effects of setting up yytext */
2350 *yy_cp = yy_hold_char;
2351
2352 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002353 { /* need to shift things up to make room */
2354 /* +2 for EOB chars. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002355 register int number_to_move = yy_n_chars + 2;
2356 register char *dest = &yy_current_buffer->yy_ch_buf[
2357 yy_current_buffer->yy_buf_size + 2];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002358 register char *source =
Owen Anderson1dc69692006-10-18 02:21:48 +00002359 &yy_current_buffer->yy_ch_buf[number_to_move];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002360
Owen Anderson1dc69692006-10-18 02:21:48 +00002361 while ( source > yy_current_buffer->yy_ch_buf )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002362 *--dest = *--source;
2363
2364 yy_cp += (int) (dest - source);
2365 yy_bp += (int) (dest - source);
Owen Anderson1dc69692006-10-18 02:21:48 +00002366 yy_current_buffer->yy_n_chars =
2367 yy_n_chars = yy_current_buffer->yy_buf_size;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002368
Owen Anderson1dc69692006-10-18 02:21:48 +00002369 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002370 YY_FATAL_ERROR( "flex scanner push-back overflow" );
2371 }
2372
2373 *--yy_cp = (char) c;
2374
Owen Anderson1dc69692006-10-18 02:21:48 +00002375 if ( c == '\n' )
2376 --yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002377
Owen Anderson1dc69692006-10-18 02:21:48 +00002378 yytext_ptr = yy_bp;
2379 yy_hold_char = *yy_cp;
2380 yy_c_buf_p = yy_cp;
2381 }
2382#endif /* ifndef YY_NO_UNPUT */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002383
Owen Anderson1dc69692006-10-18 02:21:48 +00002384
Reid Spencer3da59db2006-11-27 01:05:10 +00002385#ifndef YY_NO_INPUT
Reid Spencer68a24bd2005-08-27 18:50:39 +00002386#ifdef __cplusplus
Owen Anderson1dc69692006-10-18 02:21:48 +00002387static int yyinput()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002388#else
Owen Anderson1dc69692006-10-18 02:21:48 +00002389static int input()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002390#endif
Owen Anderson1dc69692006-10-18 02:21:48 +00002391 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002392 int c;
2393
Owen Anderson1dc69692006-10-18 02:21:48 +00002394 *yy_c_buf_p = yy_hold_char;
2395
2396 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002397 {
2398 /* yy_c_buf_p now points to the character we want to return.
2399 * If this occurs *before* the EOB characters, then it's a
2400 * valid NUL; if not, then we've hit the end of the buffer.
2401 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002402 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002403 /* This was really a NUL. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002404 *yy_c_buf_p = '\0';
Reid Spencer68a24bd2005-08-27 18:50:39 +00002405
2406 else
2407 { /* need more input */
Owen Anderson1dc69692006-10-18 02:21:48 +00002408 int offset = yy_c_buf_p - yytext_ptr;
2409 ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002410
Owen Anderson1dc69692006-10-18 02:21:48 +00002411 switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002412 {
2413 case EOB_ACT_LAST_MATCH:
2414 /* This happens because yy_g_n_b()
2415 * sees that we've accumulated a
2416 * token and flags that we need to
2417 * try matching the token before
2418 * proceeding. But for input(),
2419 * there's no matching to consider.
2420 * So convert the EOB_ACT_LAST_MATCH
2421 * to EOB_ACT_END_OF_FILE.
2422 */
2423
2424 /* Reset buffer status. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002425 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002426
Owen Anderson1dc69692006-10-18 02:21:48 +00002427 /* fall through */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002428
2429 case EOB_ACT_END_OF_FILE:
2430 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002431 if ( yywrap() )
Reid Spencer61c83e02006-08-18 08:43:06 +00002432 return EOF;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002433
Owen Anderson1dc69692006-10-18 02:21:48 +00002434 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002435 YY_NEW_FILE;
2436#ifdef __cplusplus
2437 return yyinput();
2438#else
2439 return input();
2440#endif
2441 }
2442
2443 case EOB_ACT_CONTINUE_SCAN:
Owen Anderson1dc69692006-10-18 02:21:48 +00002444 yy_c_buf_p = yytext_ptr + offset;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002445 break;
2446 }
2447 }
2448 }
2449
Owen Anderson1dc69692006-10-18 02:21:48 +00002450 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
2451 *yy_c_buf_p = '\0'; /* preserve yytext */
2452 yy_hold_char = *++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002453
2454 if ( c == '\n' )
Owen Anderson1dc69692006-10-18 02:21:48 +00002455 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002456
2457 return c;
2458 }
Reid Spencer3da59db2006-11-27 01:05:10 +00002459#endif /* YY_NO_INPUT */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002460
Owen Anderson1dc69692006-10-18 02:21:48 +00002461#ifdef YY_USE_PROTOS
2462void yyrestart( FILE *input_file )
2463#else
2464void yyrestart( input_file )
2465FILE *input_file;
2466#endif
2467 {
2468 if ( ! yy_current_buffer )
2469 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
2470
2471 yy_init_buffer( yy_current_buffer, input_file );
2472 yy_load_buffer_state();
2473 }
2474
2475
2476#ifdef YY_USE_PROTOS
2477void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
2478#else
2479void yy_switch_to_buffer( new_buffer )
2480YY_BUFFER_STATE new_buffer;
2481#endif
2482 {
2483 if ( yy_current_buffer == new_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002484 return;
2485
Owen Anderson1dc69692006-10-18 02:21:48 +00002486 if ( yy_current_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002487 {
2488 /* Flush out information for old buffer. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002489 *yy_c_buf_p = yy_hold_char;
2490 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
2491 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002492 }
2493
Owen Anderson1dc69692006-10-18 02:21:48 +00002494 yy_current_buffer = new_buffer;
2495 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002496
2497 /* We don't actually know whether we did this switch during
Owen Anderson1dc69692006-10-18 02:21:48 +00002498 * EOF (yywrap()) processing, but the only time this flag
2499 * is looked at is after yywrap() is called, so it's safe
Reid Spencer68a24bd2005-08-27 18:50:39 +00002500 * to go ahead and always set it.
2501 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002502 yy_did_buffer_switch_on_eof = 1;
2503 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002504
2505
Owen Anderson1dc69692006-10-18 02:21:48 +00002506#ifdef YY_USE_PROTOS
2507void yy_load_buffer_state( void )
2508#else
2509void yy_load_buffer_state()
2510#endif
2511 {
2512 yy_n_chars = yy_current_buffer->yy_n_chars;
2513 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
2514 yyin = yy_current_buffer->yy_input_file;
2515 yy_hold_char = *yy_c_buf_p;
2516 }
2517
2518
2519#ifdef YY_USE_PROTOS
2520YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
2521#else
2522YY_BUFFER_STATE yy_create_buffer( file, size )
2523FILE *file;
2524int size;
2525#endif
2526 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002527 YY_BUFFER_STATE b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002528
2529 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002530 if ( ! b )
Owen Anderson1dc69692006-10-18 02:21:48 +00002531 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002532
2533 b->yy_buf_size = size;
2534
2535 /* yy_ch_buf has to be 2 characters longer than the size given because
2536 * we need to put in 2 end-of-buffer characters.
2537 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002538 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002539 if ( ! b->yy_ch_buf )
Owen Anderson1dc69692006-10-18 02:21:48 +00002540 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002541
2542 b->yy_is_our_buffer = 1;
2543
Owen Anderson1dc69692006-10-18 02:21:48 +00002544 yy_init_buffer( b, file );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002545
2546 return b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002547 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002548
Owen Anderson1dc69692006-10-18 02:21:48 +00002549
2550#ifdef YY_USE_PROTOS
2551void yy_delete_buffer( YY_BUFFER_STATE b )
2552#else
2553void yy_delete_buffer( b )
2554YY_BUFFER_STATE b;
2555#endif
2556 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002557 if ( ! b )
2558 return;
2559
Owen Anderson1dc69692006-10-18 02:21:48 +00002560 if ( b == yy_current_buffer )
2561 yy_current_buffer = (YY_BUFFER_STATE) 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002562
2563 if ( b->yy_is_our_buffer )
Owen Anderson1dc69692006-10-18 02:21:48 +00002564 yy_flex_free( (void *) b->yy_ch_buf );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002565
Owen Anderson1dc69692006-10-18 02:21:48 +00002566 yy_flex_free( (void *) b );
2567 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002568
2569
Owen Anderson1dc69692006-10-18 02:21:48 +00002570
2571#ifdef YY_USE_PROTOS
2572void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
2573#else
2574void yy_init_buffer( b, file )
2575YY_BUFFER_STATE b;
2576FILE *file;
2577#endif
2578
2579
2580 {
2581 yy_flush_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002582
2583 b->yy_input_file = file;
2584 b->yy_fill_buffer = 1;
2585
Owen Anderson1dc69692006-10-18 02:21:48 +00002586#if YY_ALWAYS_INTERACTIVE
2587 b->yy_is_interactive = 1;
2588#else
2589#if YY_NEVER_INTERACTIVE
2590 b->yy_is_interactive = 0;
2591#else
2592 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
2593#endif
2594#endif
2595 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002596
2597
Owen Anderson1dc69692006-10-18 02:21:48 +00002598#ifdef YY_USE_PROTOS
2599void yy_flush_buffer( YY_BUFFER_STATE b )
2600#else
2601void yy_flush_buffer( b )
2602YY_BUFFER_STATE b;
2603#endif
2604
2605 {
2606 if ( ! b )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002607 return;
2608
2609 b->yy_n_chars = 0;
2610
2611 /* We always need two end-of-buffer characters. The first causes
2612 * a transition to the end-of-buffer state. The second causes
2613 * a jam in that state.
2614 */
2615 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2616 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2617
2618 b->yy_buf_pos = &b->yy_ch_buf[0];
2619
2620 b->yy_at_bol = 1;
2621 b->yy_buffer_status = YY_BUFFER_NEW;
2622
Owen Anderson1dc69692006-10-18 02:21:48 +00002623 if ( b == yy_current_buffer )
2624 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002625 }
2626
2627
Owen Anderson1dc69692006-10-18 02:21:48 +00002628#ifndef YY_NO_SCAN_BUFFER
2629#ifdef YY_USE_PROTOS
2630YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
2631#else
2632YY_BUFFER_STATE yy_scan_buffer( base, size )
2633char *base;
2634yy_size_t size;
2635#endif
2636 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002637 YY_BUFFER_STATE b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002638
Reid Spencer68a24bd2005-08-27 18:50:39 +00002639 if ( size < 2 ||
2640 base[size-2] != YY_END_OF_BUFFER_CHAR ||
2641 base[size-1] != YY_END_OF_BUFFER_CHAR )
2642 /* They forgot to leave room for the EOB's. */
2643 return 0;
2644
Owen Anderson1dc69692006-10-18 02:21:48 +00002645 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002646 if ( ! b )
Owen Anderson1dc69692006-10-18 02:21:48 +00002647 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002648
2649 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2650 b->yy_buf_pos = b->yy_ch_buf = base;
2651 b->yy_is_our_buffer = 0;
2652 b->yy_input_file = 0;
2653 b->yy_n_chars = b->yy_buf_size;
2654 b->yy_is_interactive = 0;
2655 b->yy_at_bol = 1;
2656 b->yy_fill_buffer = 0;
2657 b->yy_buffer_status = YY_BUFFER_NEW;
2658
Owen Anderson1dc69692006-10-18 02:21:48 +00002659 yy_switch_to_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002660
2661 return b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002662 }
2663#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002664
2665
Owen Anderson1dc69692006-10-18 02:21:48 +00002666#ifndef YY_NO_SCAN_STRING
2667#ifdef YY_USE_PROTOS
2668YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
2669#else
2670YY_BUFFER_STATE yy_scan_string( yy_str )
2671yyconst char *yy_str;
2672#endif
2673 {
2674 int len;
2675 for ( len = 0; yy_str[len]; ++len )
2676 ;
2677
2678 return yy_scan_bytes( yy_str, len );
2679 }
2680#endif
2681
2682
2683#ifndef YY_NO_SCAN_BYTES
2684#ifdef YY_USE_PROTOS
2685YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
2686#else
2687YY_BUFFER_STATE yy_scan_bytes( bytes, len )
2688yyconst char *bytes;
2689int len;
2690#endif
2691 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002692 YY_BUFFER_STATE b;
2693 char *buf;
2694 yy_size_t n;
2695 int i;
Owen Anderson1dc69692006-10-18 02:21:48 +00002696
Reid Spencer68a24bd2005-08-27 18:50:39 +00002697 /* Get memory for full buffer, including space for trailing EOB's. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002698 n = len + 2;
2699 buf = (char *) yy_flex_alloc( n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002700 if ( ! buf )
Owen Anderson1dc69692006-10-18 02:21:48 +00002701 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002702
Owen Anderson1dc69692006-10-18 02:21:48 +00002703 for ( i = 0; i < len; ++i )
2704 buf[i] = bytes[i];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002705
Owen Anderson1dc69692006-10-18 02:21:48 +00002706 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002707
Owen Anderson1dc69692006-10-18 02:21:48 +00002708 b = yy_scan_buffer( buf, n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002709 if ( ! b )
Owen Anderson1dc69692006-10-18 02:21:48 +00002710 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002711
2712 /* It's okay to grow etc. this buffer, and we should throw it
2713 * away when we're done.
2714 */
2715 b->yy_is_our_buffer = 1;
2716
2717 return b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002718 }
2719#endif
2720
2721
2722#ifndef YY_NO_PUSH_STATE
2723#ifdef YY_USE_PROTOS
2724static void yy_push_state( int new_state )
2725#else
2726static void yy_push_state( new_state )
2727int new_state;
2728#endif
2729 {
2730 if ( yy_start_stack_ptr >= yy_start_stack_depth )
2731 {
2732 yy_size_t new_size;
2733
2734 yy_start_stack_depth += YY_START_STACK_INCR;
2735 new_size = yy_start_stack_depth * sizeof( int );
2736
2737 if ( ! yy_start_stack )
2738 yy_start_stack = (int *) yy_flex_alloc( new_size );
2739
2740 else
2741 yy_start_stack = (int *) yy_flex_realloc(
2742 (void *) yy_start_stack, new_size );
2743
2744 if ( ! yy_start_stack )
2745 YY_FATAL_ERROR(
2746 "out of memory expanding start-condition stack" );
2747 }
2748
2749 yy_start_stack[yy_start_stack_ptr++] = YY_START;
2750
2751 BEGIN(new_state);
2752 }
2753#endif
2754
2755
2756#ifndef YY_NO_POP_STATE
2757static void yy_pop_state()
2758 {
2759 if ( --yy_start_stack_ptr < 0 )
2760 YY_FATAL_ERROR( "start-condition stack underflow" );
2761
2762 BEGIN(yy_start_stack[yy_start_stack_ptr]);
2763 }
2764#endif
2765
2766
2767#ifndef YY_NO_TOP_STATE
2768static int yy_top_state()
2769 {
2770 return yy_start_stack[yy_start_stack_ptr - 1];
2771 }
2772#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002773
2774#ifndef YY_EXIT_FAILURE
2775#define YY_EXIT_FAILURE 2
2776#endif
2777
Owen Anderson1dc69692006-10-18 02:21:48 +00002778#ifdef YY_USE_PROTOS
2779static void yy_fatal_error( yyconst char msg[] )
2780#else
2781static void yy_fatal_error( msg )
2782char msg[];
2783#endif
2784 {
2785 (void) fprintf( stderr, "%s\n", msg );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002786 exit( YY_EXIT_FAILURE );
Owen Anderson1dc69692006-10-18 02:21:48 +00002787 }
2788
2789
Reid Spencer68a24bd2005-08-27 18:50:39 +00002790
2791/* Redefine yyless() so it works in section 3 code. */
2792
2793#undef yyless
2794#define yyless(n) \
2795 do \
2796 { \
Owen Anderson1dc69692006-10-18 02:21:48 +00002797 /* Undo effects of setting up yytext. */ \
2798 yytext[yyleng] = yy_hold_char; \
2799 yy_c_buf_p = yytext + n; \
2800 yy_hold_char = *yy_c_buf_p; \
2801 *yy_c_buf_p = '\0'; \
2802 yyleng = n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00002803 } \
2804 while ( 0 )
2805
2806
Owen Anderson1dc69692006-10-18 02:21:48 +00002807/* Internal utility routines. */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002808
2809#ifndef yytext_ptr
Owen Anderson1dc69692006-10-18 02:21:48 +00002810#ifdef YY_USE_PROTOS
2811static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
2812#else
2813static void yy_flex_strncpy( s1, s2, n )
2814char *s1;
2815yyconst char *s2;
2816int n;
2817#endif
2818 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002819 register int i;
2820 for ( i = 0; i < n; ++i )
2821 s1[i] = s2[i];
Owen Anderson1dc69692006-10-18 02:21:48 +00002822 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002823#endif
2824
2825#ifdef YY_NEED_STRLEN
Owen Anderson1dc69692006-10-18 02:21:48 +00002826#ifdef YY_USE_PROTOS
2827static int yy_flex_strlen( yyconst char *s )
2828#else
2829static int yy_flex_strlen( s )
2830yyconst char *s;
2831#endif
2832 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002833 register int n;
2834 for ( n = 0; s[n]; ++n )
2835 ;
2836
2837 return n;
Owen Anderson1dc69692006-10-18 02:21:48 +00002838 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002839#endif
2840
Reid Spencer68a24bd2005-08-27 18:50:39 +00002841
Owen Anderson1dc69692006-10-18 02:21:48 +00002842#ifdef YY_USE_PROTOS
2843static void *yy_flex_alloc( yy_size_t size )
2844#else
2845static void *yy_flex_alloc( size )
2846yy_size_t size;
2847#endif
2848 {
2849 return (void *) malloc( size );
2850 }
2851
2852#ifdef YY_USE_PROTOS
2853static inline void *yy_flex_realloc( void *ptr, yy_size_t size )
2854#else
2855static inline void *yy_flex_realloc( ptr, size )
2856void *ptr;
2857yy_size_t size;
2858#endif
2859 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002860 /* The cast to (char *) in the following accommodates both
2861 * implementations that use char* generic pointers, and those
2862 * that use void* generic pointers. It works with the latter
2863 * because both ANSI C and C++ allow castless assignment from
2864 * any pointer type to void*, and deal with argument conversions
2865 * as though doing an assignment.
2866 */
2867 return (void *) realloc( (char *) ptr, size );
Owen Anderson1dc69692006-10-18 02:21:48 +00002868 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002869
Owen Anderson1dc69692006-10-18 02:21:48 +00002870#ifdef YY_USE_PROTOS
2871static void yy_flex_free( void *ptr )
2872#else
2873static void yy_flex_free( ptr )
2874void *ptr;
2875#endif
2876 {
2877 free( ptr );
2878 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002879
Owen Anderson1dc69692006-10-18 02:21:48 +00002880#if YY_MAIN
2881int main()
2882 {
2883 yylex();
2884 return 0;
2885 }
2886#endif
Reid Spencera54b7cb2007-01-12 07:05:14 +00002887#line 399 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Chris Lattner2fecc0f2006-02-15 07:02:59 +00002888