blob: 1ff6e5a7059cfd4703f5c3bd6bd753983a69392d [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 Spencer3da59db2006-11-27 01:05:10 +0000320#define YY_NUM_RULES 134
321#define YY_END_OF_BUFFER 135
322static yyconst short int yy_acclist[212] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000323 { 0,
Reid Spencer3da59db2006-11-27 01:05:10 +0000324 135, 133, 134, 132, 133, 134, 132, 134, 133, 134,
325 133, 134, 133, 134, 133, 134, 133, 134, 133, 134,
326 125, 133, 134, 125, 133, 134, 1, 133, 134, 133,
327 134, 133, 134, 133, 134, 133, 134, 133, 134, 133,
328 134, 133, 134, 133, 134, 133, 134, 133, 134, 133,
329 134, 133, 134, 133, 134, 133, 134, 133, 134, 133,
330 134, 133, 134, 133, 134, 133, 134, 133, 134, 133,
331 134, 124, 122, 121, 121, 128, 126, 130, 125, 1,
332 107, 41, 75, 23, 124, 121, 121, 129, 130, 20,
333 130, 131, 63, 74, 39, 34, 42, 66, 3, 54,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000334
Reid Spencer3da59db2006-11-27 01:05:10 +0000335 65, 25, 83, 70, 106, 99, 100, 64, 76, 123,
336 130, 130, 102, 49, 84, 85, 69, 114, 73, 115,
337 56, 101, 22, 127, 68, 88, 72, 26, 4, 61,
338 67, 55, 71, 48, 11, 87, 130, 36, 2, 5,
339 58, 90, 60, 50, 78, 82, 80, 81, 79, 77,
340 52, 116, 86, 51, 57, 21, 104, 113, 45, 59,
341 30, 24, 44, 94, 93, 7, 109, 33, 112, 38,
342 62, 98, 92, 108, 27, 28, 91, 110, 53, 105,
343 103, 97, 43, 6, 29, 89, 37, 8, 17, 9,
344 95, 10, 96, 35, 12, 14, 13, 32, 40, 15,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000345
Reid Spencer3da59db2006-11-27 01:05:10 +0000346 31, 111, 117, 119, 120, 16, 46, 118, 18, 47,
347 19
Reid Spencer68a24bd2005-08-27 18:50:39 +0000348 } ;
349
Reid Spencer3da59db2006-11-27 01:05:10 +0000350static yyconst short int yy_accept[577] =
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,
354 40, 42, 44, 46, 48, 50, 52, 54, 56, 58,
355 60, 62, 64, 66, 68, 70, 72, 72, 73, 73,
356 74, 75, 76, 77, 77, 78, 78, 79, 80, 80,
357 81, 81, 81, 81, 81, 81, 81, 81, 81, 82,
358 82, 83, 83, 83, 83, 83, 83, 83, 83, 83,
359 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
Reid Spencer3da59db2006-11-27 01:05:10 +0000360 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
Owen Anderson1dc69692006-10-18 02:21:48 +0000361 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
362
Reid Spencer3da59db2006-11-27 01:05:10 +0000363 84, 84, 84, 84, 84, 84, 85, 85, 85, 85,
364 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
365 85, 85, 86, 87, 89, 90, 91, 92, 92, 93,
366 94, 94, 94, 95, 95, 95, 96, 96, 97, 97,
367 97, 97, 97, 98, 98, 98, 98, 98, 98, 98,
368 99, 99, 99, 100, 100, 100, 100, 100, 100, 100,
369 100, 100, 100, 100, 100, 100, 100, 101, 101, 101,
370 101, 101, 101, 101, 101, 101, 101, 102, 103, 103,
371 103, 104, 104, 104, 105, 106, 106, 106, 106, 106,
Reid Spencer3ed469c2006-11-02 20:25:50 +0000372 106, 106, 106, 107, 107, 108, 108, 108, 108, 108,
Reid Spencer3da59db2006-11-27 01:05:10 +0000373
374 108, 109, 109, 109, 109, 109, 109, 109, 109, 109,
Owen Anderson1dc69692006-10-18 02:21:48 +0000375 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
Reid Spencer3da59db2006-11-27 01:05:10 +0000376 109, 109, 109, 109, 109, 109, 110, 110, 110, 111,
377 112, 112, 112, 112, 113, 113, 113, 113, 114, 114,
378 114, 115, 116, 117, 117, 117, 117, 117, 117, 117,
379 117, 117, 117, 117, 117, 117, 117, 117, 117, 118,
380 118, 118, 118, 118, 119, 120, 120, 120, 120, 120,
381 120, 120, 120, 120, 120, 120, 121, 122, 123, 123,
382 123, 124, 124, 124, 124, 125, 125, 126, 126, 126,
383 126, 126, 126, 126, 127, 127, 127, 127, 127, 128,
Owen Anderson1dc69692006-10-18 02:21:48 +0000384
Reid Spencer3da59db2006-11-27 01:05:10 +0000385 128, 128, 129, 129, 129, 130, 130, 131, 131, 132,
386 133, 133, 133, 133, 133, 133, 133, 134, 134, 134,
387 134, 134, 135, 135, 136, 136, 136, 137, 138, 139,
388 139, 139, 140, 140, 140, 140, 140, 140, 140, 140,
389 140, 140, 140, 140, 140, 140, 140, 141, 141, 142,
390 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
391 143, 144, 144, 144, 144, 144, 144, 144, 144, 145,
392 145, 145, 146, 147, 148, 149, 150, 151, 152, 152,
393 152, 152, 153, 153, 153, 153, 154, 155, 155, 156,
394 157, 157, 157, 157, 157, 157, 158, 158, 158, 158,
Owen Anderson1dc69692006-10-18 02:21:48 +0000395
Reid Spencer3da59db2006-11-27 01:05:10 +0000396 158, 158, 159, 159, 159, 160, 160, 160, 160, 160,
397 160, 160, 160, 161, 162, 163, 163, 163, 164, 165,
398 166, 166, 166, 167, 167, 167, 167, 167, 168, 168,
399 169, 170, 171, 172, 172, 172, 172, 173, 173, 173,
400 174, 175, 176, 177, 178, 178, 178, 179, 180, 181,
401 182, 182, 182, 182, 182, 182, 183, 183, 184, 184,
402 185, 186, 186, 186, 186, 186, 186, 187, 187, 187,
403 187, 187, 187, 187, 187, 187, 188, 188, 188, 188,
404 188, 188, 188, 188, 188, 188, 189, 189, 189, 189,
405 189, 190, 190, 190, 190, 190, 191, 192, 193, 193,
Owen Anderson1dc69692006-10-18 02:21:48 +0000406
Reid Spencer3da59db2006-11-27 01:05:10 +0000407 194, 194, 194, 194, 194, 195, 195, 195, 195, 196,
408 196, 197, 198, 198, 198, 198, 198, 198, 198, 198,
409 198, 198, 198, 198, 198, 198, 199, 199, 199, 199,
410 199, 199, 199, 199, 200, 200, 200, 200, 200, 200,
411 201, 201, 201, 201, 201, 202, 202, 202, 203, 203,
412 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
413 203, 203, 204, 204, 205, 206, 207, 207, 208, 208,
414 209, 210, 211, 211, 212, 212
Owen Anderson1dc69692006-10-18 02:21:48 +0000415 } ;
416
417static yyconst int yy_ec[256] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000418 { 0,
419 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
420 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
421 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
422 1, 2, 1, 4, 1, 5, 6, 1, 1, 1,
423 1, 1, 7, 1, 8, 9, 1, 10, 11, 11,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000424 11, 11, 11, 12, 11, 13, 11, 14, 15, 1,
425 1, 1, 1, 1, 16, 16, 16, 16, 17, 16,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000426 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
427 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000428 1, 1, 1, 1, 18, 1, 19, 20, 21, 22,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000429
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000430 23, 24, 25, 26, 27, 5, 28, 29, 30, 31,
431 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
432 42, 43, 1, 1, 1, 1, 1, 1, 1, 1,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000433 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
434 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
435 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
436 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
437 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
438 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
439 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
440
441 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
442 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
443 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
444 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
445 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
446 1, 1, 1, 1, 1
447 } ;
448
Owen Anderson1dc69692006-10-18 02:21:48 +0000449static yyconst int yy_meta[44] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000450 { 0,
451 1, 1, 2, 1, 3, 1, 1, 3, 3, 3,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000452 3, 3, 3, 4, 1, 3, 3, 3, 3, 3,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000453 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
454 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000455 3, 3, 3
Reid Spencer68a24bd2005-08-27 18:50:39 +0000456 } ;
457
Reid Spencer3da59db2006-11-27 01:05:10 +0000458static yyconst short int yy_base[581] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000459 { 0,
Reid Spencer3da59db2006-11-27 01:05:10 +0000460 0, 0, 1240, 1241, 1241, 1241, 1235, 1224, 36, 40,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000461 44, 50, 56, 62, 0, 63, 66, 81, 89, 47,
Reid Spencer3ed469c2006-11-02 20:25:50 +0000462 100, 97, 76, 96, 111, 49, 113, 110, 68, 140,
Reid Spencer3da59db2006-11-27 01:05:10 +0000463 126, 171, 120, 130, 124, 141, 1233, 1241, 1222, 1241,
464 0, 159, 176, 199, 204, 70, 209, 224, 229, 0,
465 137, 165, 143, 72, 169, 159, 230, 215, 1221, 168,
466 182, 31, 69, 187, 240, 191, 242, 243, 244, 248,
467 246, 245, 251, 254, 256, 249, 260, 262, 264, 211,
468 273, 274, 270, 280, 275, 284, 285, 288, 292, 1220,
469 293, 294, 298, 300, 301, 276, 302, 310, 311, 313,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000470
Reid Spencer3da59db2006-11-27 01:05:10 +0000471 305, 309, 312, 330, 331, 1219, 334, 320, 322, 338,
472 340, 324, 341, 346, 348, 361, 356, 359, 162, 353,
473 368, 1218, 0, 383, 387, 1217, 401, 418, 0, 1216,
474 376, 370, 1215, 393, 373, 1214, 392, 1213, 406, 407,
475 408, 403, 1212, 419, 95, 420, 372, 409, 421, 1211,
476 425, 431, 428, 430, 433, 435, 432, 440, 443, 444,
477 445, 451, 447, 446, 449, 450, 453, 461, 468, 458,
478 469, 470, 473, 474, 475, 480, 1210, 1209, 481, 482,
479 1208, 483, 485, 1207, 1206, 513, 491, 488, 494, 489,
480 524, 503, 1205, 486, 1204, 487, 525, 527, 250, 528,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000481
Reid Spencer3da59db2006-11-27 01:05:10 +0000482 1203, 506, 531, 532, 536, 542, 538, 530, 537, 540,
483 548, 544, 556, 550, 560, 557, 375, 554, 568, 558,
484 571, 493, 576, 564, 582, 1202, 574, 552, 1241, 591,
485 605, 609, 613, 618, 619, 577, 620, 1201, 621, 591,
486 1200, 1199, 1198, 622, 623, 624, 625, 626, 628, 627,
487 632, 630, 634, 633, 635, 644, 642, 643, 1197, 653,
488 655, 657, 658, 1196, 1195, 659, 660, 661, 662, 663,
489 667, 583, 671, 669, 673, 1194, 1193, 1192, 672, 677,
490 1191, 675, 666, 680, 0, 691, 1190, 693, 694, 695,
491 696, 702, 703, 1189, 697, 585, 704, 707, 1188, 709,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000492
Reid Spencer3da59db2006-11-27 01:05:10 +0000493 714, 1187, 722, 708, 1186, 726, 1185, 727, 1184, 1183,
494 724, 728, 730, 716, 732, 735, 1182, 738, 741, 742,
495 743, 1181, 744, 1180, 746, 745, 1179, 751, 1178, 755,
496 757, 1177, 751, 754, 764, 771, 772, 763, 499, 766,
497 774, 779, 775, 776, 780, 782, 1176, 783, 1175, 1174,
498 781, 787, 786, 795, 791, 796, 798, 801, 805, 802,
499 1173, 808, 807, 810, 813, 814, 819, 820, 1172, 809,
500 815, 1171, 1170, 1169, 1168, 1167, 1166, 1165, 826, 829,
501 830, 1164, 831, 832, 835, 1163, 1162, 834, 1161, 1160,
502 836, 840, 837, 842, 846, 1159, 848, 850, 851, 852,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000503
Reid Spencer3da59db2006-11-27 01:05:10 +0000504 860, 1158, 854, 858, 1157, 861, 862, 864, 870, 866,
505 868, 872, 1156, 1155, 1154, 880, 873, 1153, 1152, 1151,
506 876, 882, 1150, 891, 893, 889, 874, 1149, 899, 1148,
507 1147, 1146, 1145, 887, 895, 901, 1144, 904, 905, 1143,
508 1142, 1141, 1140, 1139, 903, 907, 1138, 1137, 1136, 1135,
509 909, 910, 914, 917, 911, 1134, 920, 1133, 921, 1132,
510 1131, 923, 925, 926, 927, 929, 1130, 931, 933, 934,
511 936, 935, 945, 937, 941, 1129, 947, 948, 953, 955,
512 961, 962, 966, 963, 965, 1128, 967, 969, 971, 968,
513 1127, 974, 978, 975, 979, 1126, 1123, 1113, 980, 1112,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000514
Reid Spencer3da59db2006-11-27 01:05:10 +0000515 981, 996, 982, 999, 1111, 1000, 1001, 1002, 1109, 987,
516 1108, 1107, 1004, 1008, 1011, 1013, 1012, 1014, 1016, 1019,
517 1020, 1021, 1022, 1024, 1025, 1104, 1026, 1029, 1031, 1032,
518 1035, 1037, 1038, 1101, 1041, 1047, 1048, 1049, 1051, 1100,
519 1053, 1052, 1054, 1057, 1098, 1058, 1059, 1096, 1065, 1071,
520 1060, 1069, 1072, 1077, 1079, 1082, 1081, 1083, 1084, 1085,
521 1087, 984, 1088, 983, 710, 668, 1092, 664, 1097, 593,
522 345, 214, 1094, 213, 1241, 1129, 1131, 187, 1135, 138
Reid Spencer68a24bd2005-08-27 18:50:39 +0000523 } ;
524
Reid Spencer3da59db2006-11-27 01:05:10 +0000525static yyconst short int yy_def[581] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000526 { 0,
Reid Spencer3da59db2006-11-27 01:05:10 +0000527 575, 1, 575, 575, 575, 575, 576, 577, 578, 575,
528 577, 577, 577, 577, 579, 577, 577, 577, 577, 577,
529 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
530 577, 577, 577, 577, 577, 577, 576, 575, 577, 575,
531 580, 580, 575, 575, 577, 577, 577, 577, 577, 579,
532 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
533 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
534 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
535 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
536 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000537
Reid Spencer3da59db2006-11-27 01:05:10 +0000538 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
539 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
540 577, 575, 580, 580, 575, 577, 577, 577, 49, 577,
541 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
542 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
543 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
544 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
545 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
546 577, 577, 577, 577, 577, 49, 577, 577, 577, 577,
547 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000548
Reid Spencer3da59db2006-11-27 01:05:10 +0000549 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
550 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
551 577, 577, 577, 577, 577, 577, 577, 577, 575, 575,
552 575, 575, 577, 577, 577, 577, 577, 577, 577, 577,
553 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
554 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
555 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
556 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
557 577, 577, 577, 577, 186, 577, 577, 577, 577, 577,
558 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000559
Reid Spencer3da59db2006-11-27 01:05:10 +0000560 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
561 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
562 577, 577, 577, 577, 577, 577, 577, 575, 577, 577,
563 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
564 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
565 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
566 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
567 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
568 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
569 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000570
Reid Spencer3da59db2006-11-27 01:05:10 +0000571 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
572 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
573 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
574 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
575 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
576 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
577 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
578 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
579 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
580 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000581
Reid Spencer3da59db2006-11-27 01:05:10 +0000582 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
583 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
584 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
585 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
586 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
587 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
588 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
589 577, 577, 577, 577, 0, 575, 575, 575, 575, 575
Reid Spencer68a24bd2005-08-27 18:50:39 +0000590 } ;
591
Reid Spencer3da59db2006-11-27 01:05:10 +0000592static yyconst short int yy_nxt[1285] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000593 { 0,
594 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000595 14, 14, 14, 4, 15, 8, 8, 8, 16, 17,
596 18, 19, 20, 21, 22, 8, 23, 8, 24, 25,
597 26, 27, 28, 8, 29, 30, 31, 32, 33, 34,
598 35, 8, 36, 42, 40, 43, 43, 43, 43, 44,
Reid Spencer3da59db2006-11-27 01:05:10 +0000599 44, 44, 44, 45, 45, 45, 45, 40, 46, 144,
600 40, 145, 40, 40, 47, 48, 48, 48, 48, 40,
601 47, 48, 48, 48, 48, 40, 40, 69, 126, 40,
602 87, 40, 40, 40, 51, 40, 88, 70, 56, 40,
603 94, 52, 57, 53, 40, 54, 49, 58, 55, 60,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000604
Reid Spencer3da59db2006-11-27 01:05:10 +0000605 59, 61, 40, 146, 134, 78, 79, 64, 40, 40,
606 40, 65, 62, 40, 80, 66, 63, 67, 71, 76,
607 68, 72, 81, 40, 40, 77, 40, 82, 73, 84,
608 245, 83, 74, 40, 75, 91, 119, 40, 116, 40,
609 123, 92, 85, 40, 105, 89, 93, 90, 86, 95,
610 40, 117, 118, 40, 40, 120, 40, 106, 130, 96,
611 107, 97, 98, 121, 133, 99, 100, 108, 124, 124,
612 124, 124, 40, 225, 101, 40, 102, 103, 40, 104,
613 95, 40, 40, 137, 40, 43, 43, 43, 43, 41,
614 109, 131, 110, 132, 135, 40, 141, 111, 136, 112,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000615
Reid Spencer3da59db2006-11-27 01:05:10 +0000616 40, 113, 143, 142, 40, 114, 115, 125, 44, 44,
617 44, 44, 47, 45, 45, 45, 45, 40, 127, 127,
618 127, 127, 40, 147, 40, 128, 40, 40, 40, 150,
619 169, 128, 47, 48, 48, 48, 48, 40, 129, 129,
620 129, 129, 40, 40, 129, 129, 140, 129, 129, 129,
621 129, 129, 129, 40, 138, 40, 40, 40, 40, 40,
622 148, 40, 40, 40, 40, 153, 139, 40, 154, 40,
623 151, 158, 149, 40, 156, 40, 160, 40, 162, 299,
624 152, 157, 159, 40, 155, 163, 40, 40, 40, 40,
625 161, 164, 172, 40, 165, 174, 176, 40, 40, 166,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000626
Reid Spencer3da59db2006-11-27 01:05:10 +0000627 167, 40, 168, 170, 173, 40, 40, 40, 175, 171,
628 180, 40, 177, 40, 40, 40, 179, 187, 40, 181,
629 182, 178, 40, 40, 40, 40, 40, 199, 188, 184,
630 189, 201, 183, 40, 197, 40, 185, 40, 190, 193,
631 200, 186, 194, 40, 40, 195, 191, 40, 196, 198,
632 192, 40, 207, 40, 40, 212, 202, 203, 40, 40,
633 205, 40, 213, 208, 209, 204, 40, 214, 217, 40,
634 210, 206, 40, 218, 40, 215, 211, 224, 219, 220,
635 216, 40, 222, 40, 223, 40, 40, 226, 40, 40,
636 247, 221, 124, 124, 124, 124, 230, 230, 230, 230,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000637
Reid Spencer3da59db2006-11-27 01:05:10 +0000638 235, 236, 227, 231, 317, 40, 40, 238, 228, 231,
639 127, 127, 127, 127, 40, 237, 40, 128, 239, 40,
640 40, 40, 40, 128, 232, 233, 240, 234, 234, 234,
641 234, 40, 40, 40, 40, 241, 242, 248, 40, 243,
642 244, 40, 246, 40, 40, 40, 40, 250, 40, 249,
643 252, 251, 254, 40, 253, 255, 40, 40, 40, 40,
644 40, 260, 40, 40, 40, 267, 40, 256, 258, 266,
645 257, 40, 269, 264, 40, 270, 262, 268, 259, 263,
646 265, 40, 40, 40, 261, 274, 40, 40, 40, 271,
647 273, 276, 272, 40, 40, 40, 40, 277, 40, 40,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000648
Reid Spencer3da59db2006-11-27 01:05:10 +0000649 40, 40, 40, 279, 40, 275, 40, 40, 278, 281,
650 296, 289, 40, 283, 322, 282, 40, 280, 410, 40,
651 295, 284, 285, 285, 285, 285, 287, 286, 285, 285,
652 288, 285, 285, 285, 285, 285, 285, 40, 40, 294,
653 40, 40, 301, 40, 40, 40, 290, 297, 291, 40,
654 40, 40, 292, 40, 293, 40, 303, 40, 298, 302,
655 307, 40, 300, 40, 305, 40, 308, 40, 304, 40,
656 40, 40, 306, 40, 312, 309, 310, 40, 313, 311,
657 314, 40, 315, 316, 40, 318, 319, 40, 327, 40,
658 40, 324, 320, 321, 323, 40, 40, 330, 40, 325,
659
660 230, 230, 230, 230, 40, 326, 40, 231, 379, 333,
661 360, 232, 232, 231, 328, 328, 328, 328, 328, 328,
662 328, 328, 234, 234, 234, 234, 40, 234, 234, 234,
663 234, 40, 40, 40, 40, 40, 40, 40, 40, 40,
664 40, 40, 334, 40, 338, 40, 40, 40, 40, 329,
665 331, 332, 343, 337, 339, 40, 40, 40, 342, 335,
666 336, 341, 346, 348, 347, 344, 40, 340, 40, 345,
667 40, 40, 40, 40, 40, 40, 40, 40, 355, 40,
668 40, 40, 40, 356, 40, 40, 40, 354, 40, 349,
669 40, 350, 351, 40, 352, 353, 357, 358, 359, 361,
670
671 362, 363, 367, 364, 40, 365, 40, 40, 40, 40,
672 40, 368, 366, 369, 371, 40, 40, 40, 373, 370,
673 40, 40, 40, 40, 375, 377, 380, 40, 372, 40,
674 381, 382, 374, 378, 383, 40, 385, 40, 376, 40,
675 40, 40, 391, 40, 384, 40, 386, 388, 40, 387,
676 392, 40, 389, 390, 40, 40, 40, 40, 40, 40,
677 328, 328, 328, 328, 40, 393, 396, 40, 40, 399,
678 40, 401, 394, 402, 405, 395, 40, 40, 403, 40,
679 398, 400, 406, 397, 40, 40, 404, 40, 40, 40,
680 408, 407, 40, 40, 40, 40, 40, 409, 411, 40,
681
682 40, 413, 417, 418, 40, 414, 412, 419, 40, 40,
683 416, 40, 415, 420, 40, 40, 421, 422, 40, 423,
684 40, 40, 40, 40, 428, 424, 40, 40, 40, 430,
685 431, 426, 40, 40, 425, 432, 433, 427, 429, 40,
686 436, 434, 40, 40, 40, 40, 435, 40, 40, 40,
687 40, 437, 439, 40, 438, 40, 441, 443, 447, 40,
688 446, 40, 440, 40, 40, 40, 444, 40, 442, 452,
689 449, 40, 445, 40, 40, 40, 451, 40, 448, 40,
690 455, 40, 458, 40, 450, 40, 40, 40, 453, 40,
691 454, 457, 460, 40, 456, 40, 467, 464, 465, 462,
692
693 40, 461, 40, 463, 40, 459, 40, 471, 40, 466,
694 472, 468, 40, 469, 40, 470, 40, 40, 40, 473,
695 40, 474, 40, 40, 40, 475, 477, 40, 478, 479,
696 40, 476, 480, 40, 40, 483, 40, 481, 40, 40,
697 40, 485, 40, 484, 40, 482, 40, 40, 40, 40,
698 40, 492, 487, 493, 40, 491, 486, 488, 40, 489,
699 40, 40, 495, 494, 496, 490, 40, 498, 40, 497,
700 502, 503, 499, 504, 40, 40, 40, 500, 40, 40,
701 40, 40, 40, 505, 40, 501, 507, 40, 40, 509,
702 513, 40, 40, 40, 40, 40, 40, 40, 506, 508,
703
704 40, 517, 514, 519, 510, 511, 518, 512, 515, 40,
705 521, 516, 40, 40, 40, 40, 520, 40, 522, 524,
706 523, 40, 527, 526, 40, 40, 40, 40, 525, 40,
707 528, 530, 40, 40, 40, 40, 533, 40, 40, 40,
708 537, 531, 40, 539, 40, 40, 535, 529, 40, 536,
709 40, 40, 538, 540, 40, 534, 532, 544, 541, 545,
710 40, 40, 40, 542, 40, 40, 40, 40, 543, 548,
711 40, 40, 40, 40, 546, 552, 549, 550, 40, 551,
712 554, 557, 40, 547, 40, 40, 560, 555, 553, 556,
713 40, 559, 40, 558, 40, 40, 40, 40, 40, 561,
714
715 40, 40, 566, 567, 568, 40, 562, 40, 563, 40,
716 40, 40, 572, 40, 40, 564, 565, 40, 571, 573,
717 40, 40, 40, 570, 40, 40, 40, 569, 574, 37,
718 37, 37, 37, 39, 39, 50, 40, 50, 50, 40,
Chris Lattner1ae022f2006-10-22 06:08:13 +0000719 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Reid Spencer3da59db2006-11-27 01:05:10 +0000720 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Chris Lattner0e9c3762006-01-25 22:27:16 +0000721 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Chris Lattnerd5efe842006-04-08 01:18:56 +0000722 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
723 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Chris Lattner75466192006-05-19 21:28:53 +0000724 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Chris Lattner75466192006-05-19 21:28:53 +0000725
Reid Spencer3ed469c2006-11-02 20:25:50 +0000726 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
727 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
728 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Reid Spencer3da59db2006-11-27 01:05:10 +0000729 40, 229, 40, 40, 40, 40, 122, 40, 38, 575,
730 3, 575, 575, 575, 575, 575, 575, 575, 575, 575,
731 575, 575, 575, 575, 575, 575, 575, 575, 575, 575,
732 575, 575, 575, 575, 575, 575, 575, 575, 575, 575,
733 575, 575, 575, 575, 575, 575, 575, 575, 575, 575,
734 575, 575, 575, 575
Reid Spencer68a24bd2005-08-27 18:50:39 +0000735 } ;
736
Reid Spencer3da59db2006-11-27 01:05:10 +0000737static yyconst short int yy_chk[1285] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000738 { 0,
739 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
740 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
741 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
742 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000743 1, 1, 1, 9, 62, 9, 9, 9, 9, 10,
744 10, 10, 10, 11, 11, 11, 11, 11, 12, 62,
745 20, 62, 26, 12, 13, 13, 13, 13, 13, 13,
746 14, 14, 14, 14, 14, 14, 16, 20, 46, 17,
Reid Spencer3ed469c2006-11-02 20:25:50 +0000747 26, 29, 63, 46, 16, 54, 26, 20, 17, 23,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000748 29, 16, 17, 16, 18, 16, 13, 17, 16, 18,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000749
Reid Spencer3da59db2006-11-27 01:05:10 +0000750 17, 18, 19, 63, 54, 23, 23, 19, 145, 24,
Reid Spencer3ed469c2006-11-02 20:25:50 +0000751 22, 19, 18, 21, 24, 19, 18, 19, 21, 22,
752 19, 21, 24, 28, 25, 22, 27, 24, 21, 25,
Reid Spencer3da59db2006-11-27 01:05:10 +0000753 145, 24, 21, 33, 21, 28, 35, 35, 33, 31,
754 580, 28, 25, 34, 31, 27, 28, 27, 25, 30,
755 51, 33, 34, 30, 36, 35, 53, 31, 51, 30,
756 31, 30, 30, 36, 53, 30, 30, 31, 42, 42,
757 42, 42, 56, 119, 30, 119, 30, 30, 52, 30,
758 32, 60, 55, 56, 32, 43, 43, 43, 43, 578,
759 32, 52, 32, 52, 55, 61, 60, 32, 55, 32,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000760
Reid Spencer3da59db2006-11-27 01:05:10 +0000761 64, 32, 61, 60, 66, 32, 32, 44, 44, 44,
Reid Spencer3ed469c2006-11-02 20:25:50 +0000762 44, 44, 45, 45, 45, 45, 45, 45, 47, 47,
Reid Spencer3da59db2006-11-27 01:05:10 +0000763 47, 47, 47, 64, 80, 47, 574, 572, 58, 66,
764 80, 47, 48, 48, 48, 48, 48, 48, 49, 49,
765 49, 49, 49, 57, 49, 49, 58, 49, 49, 49,
766 49, 49, 49, 65, 57, 67, 68, 69, 72, 71,
767 65, 70, 76, 199, 73, 69, 57, 74, 70, 75,
768 67, 72, 65, 77, 71, 78, 74, 79, 75, 199,
769 68, 71, 73, 83, 70, 76, 81, 82, 85, 96,
770 74, 77, 82, 84, 78, 83, 85, 86, 87, 79,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000771
Reid Spencer3da59db2006-11-27 01:05:10 +0000772 79, 88, 79, 81, 82, 89, 91, 92, 84, 81,
773 89, 93, 86, 94, 95, 97, 88, 96, 101, 91,
774 92, 87, 102, 98, 99, 103, 100, 101, 97, 94,
775 98, 103, 93, 108, 100, 109, 94, 112, 98, 99,
776 102, 95, 99, 104, 105, 99, 98, 107, 99, 100,
777 98, 110, 108, 111, 113, 112, 104, 105, 571, 114,
778 107, 115, 113, 109, 110, 105, 120, 113, 114, 117,
779 111, 107, 118, 115, 116, 113, 111, 118, 116, 116,
780 113, 121, 117, 132, 117, 147, 135, 120, 217, 131,
781 147, 116, 124, 124, 124, 124, 125, 125, 125, 125,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000782
Reid Spencer3da59db2006-11-27 01:05:10 +0000783 131, 132, 121, 125, 217, 137, 134, 135, 121, 125,
784 127, 127, 127, 127, 127, 134, 142, 127, 137, 139,
785 140, 141, 148, 127, 128, 128, 139, 128, 128, 128,
786 128, 128, 144, 146, 149, 140, 141, 148, 151, 142,
787 144, 153, 146, 154, 152, 157, 155, 151, 156, 149,
788 152, 151, 154, 158, 153, 155, 159, 160, 161, 164,
789 163, 159, 165, 166, 162, 164, 167, 155, 157, 163,
790 156, 170, 166, 162, 168, 167, 161, 165, 158, 161,
791 162, 169, 171, 172, 160, 170, 173, 174, 175, 167,
792 169, 172, 168, 176, 179, 180, 182, 173, 183, 194,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000793
Reid Spencer3da59db2006-11-27 01:05:10 +0000794 196, 188, 190, 175, 187, 171, 222, 189, 174, 179,
795 196, 190, 339, 182, 222, 180, 192, 176, 339, 202,
796 194, 183, 186, 186, 186, 186, 188, 187, 186, 186,
797 189, 186, 186, 186, 186, 186, 186, 191, 197, 192,
798 198, 200, 202, 208, 203, 204, 191, 197, 191, 205,
799 209, 207, 191, 210, 191, 206, 204, 212, 198, 203,
800 207, 211, 200, 214, 206, 228, 208, 218, 205, 213,
801 216, 220, 206, 215, 212, 209, 210, 224, 213, 211,
802 214, 219, 215, 216, 221, 218, 219, 227, 228, 223,
803 236, 224, 220, 221, 223, 225, 272, 236, 296, 225,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000804
Reid Spencer3da59db2006-11-27 01:05:10 +0000805 230, 230, 230, 230, 240, 227, 570, 230, 296, 240,
806 272, 231, 231, 230, 231, 231, 231, 231, 232, 232,
807 232, 232, 233, 233, 233, 233, 233, 234, 234, 234,
808 234, 234, 235, 237, 239, 244, 245, 246, 247, 248,
809 250, 249, 244, 252, 248, 251, 254, 253, 255, 235,
810 237, 239, 253, 247, 249, 257, 258, 256, 252, 245,
811 246, 251, 256, 258, 257, 254, 260, 250, 261, 255,
812 262, 263, 266, 267, 268, 269, 270, 568, 267, 283,
813 271, 566, 274, 268, 273, 279, 275, 266, 282, 260,
814 280, 261, 262, 284, 262, 263, 269, 270, 271, 273,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000815
Reid Spencer3da59db2006-11-27 01:05:10 +0000816 274, 275, 283, 279, 286, 280, 288, 289, 290, 291,
817 295, 284, 282, 286, 289, 292, 293, 297, 291, 288,
818 298, 304, 300, 565, 292, 293, 297, 301, 290, 314,
819 298, 300, 291, 295, 301, 303, 304, 311, 292, 306,
820 308, 312, 314, 313, 303, 315, 306, 311, 316, 308,
821 315, 318, 312, 313, 319, 320, 321, 323, 326, 325,
822 328, 328, 328, 328, 333, 316, 320, 334, 330, 325,
823 331, 326, 318, 330, 334, 319, 338, 335, 331, 340,
824 323, 325, 335, 321, 336, 337, 333, 341, 343, 344,
825 337, 336, 342, 345, 351, 346, 348, 338, 340, 353,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000826
Reid Spencer3da59db2006-11-27 01:05:10 +0000827 352, 342, 346, 348, 355, 343, 341, 351, 354, 356,
828 345, 357, 344, 352, 358, 360, 353, 354, 359, 355,
829 363, 362, 370, 364, 360, 356, 365, 366, 371, 363,
830 364, 358, 367, 368, 357, 365, 366, 359, 362, 379,
831 370, 367, 380, 381, 383, 384, 368, 388, 385, 391,
832 393, 371, 380, 392, 379, 394, 383, 385, 393, 395,
833 392, 397, 381, 398, 399, 400, 388, 403, 384, 399,
834 395, 404, 391, 401, 406, 407, 398, 408, 394, 410,
835 403, 411, 407, 409, 397, 412, 417, 427, 400, 421,
836 401, 406, 409, 416, 404, 422, 421, 416, 416, 411,
Chris Lattnere869eef2005-11-12 00:11:49 +0000837
Reid Spencer3da59db2006-11-27 01:05:10 +0000838 434, 410, 426, 412, 424, 408, 425, 426, 435, 417,
839 427, 422, 429, 424, 436, 425, 445, 438, 439, 429,
840 446, 434, 451, 452, 455, 435, 438, 453, 439, 445,
841 454, 436, 446, 457, 459, 453, 462, 451, 463, 464,
842 465, 455, 466, 454, 468, 452, 469, 470, 472, 471,
843 474, 466, 459, 468, 475, 465, 457, 462, 473, 463,
844 477, 478, 470, 469, 471, 464, 479, 473, 480, 472,
845 478, 479, 474, 480, 481, 482, 484, 475, 485, 483,
846 487, 490, 488, 481, 489, 477, 483, 492, 494, 485,
847 490, 493, 495, 499, 501, 503, 564, 562, 482, 484,
Chris Lattner75466192006-05-19 21:28:53 +0000848
Reid Spencer3da59db2006-11-27 01:05:10 +0000849 510, 495, 492, 501, 487, 488, 499, 489, 493, 502,
850 503, 494, 504, 506, 507, 508, 502, 513, 504, 507,
851 506, 514, 513, 510, 515, 517, 516, 518, 508, 519,
852 514, 516, 520, 521, 522, 523, 519, 524, 525, 527,
853 523, 517, 528, 525, 529, 530, 521, 515, 531, 522,
854 532, 533, 524, 527, 535, 520, 518, 531, 528, 532,
855 536, 537, 538, 529, 539, 542, 541, 543, 530, 536,
856 544, 546, 547, 551, 533, 541, 537, 538, 549, 539,
857 543, 547, 552, 535, 550, 553, 551, 544, 542, 546,
858 554, 550, 555, 549, 557, 556, 558, 559, 560, 552,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000859
Reid Spencer3da59db2006-11-27 01:05:10 +0000860 561, 563, 557, 558, 559, 567, 553, 573, 554, 548,
861 569, 545, 567, 540, 534, 555, 556, 526, 563, 569,
862 512, 511, 509, 561, 505, 500, 498, 560, 573, 576,
863 576, 576, 576, 577, 577, 579, 497, 579, 579, 496,
864 491, 486, 476, 467, 461, 460, 458, 456, 450, 449,
865 448, 447, 444, 443, 442, 441, 440, 437, 433, 432,
866 431, 430, 428, 423, 420, 419, 418, 415, 414, 413,
867 405, 402, 396, 390, 389, 387, 386, 382, 378, 377,
868 376, 375, 374, 373, 372, 369, 361, 350, 349, 347,
869 332, 329, 327, 324, 322, 317, 310, 309, 307, 305,
870
871 302, 299, 294, 287, 281, 278, 277, 276, 265, 264,
872 259, 243, 242, 241, 238, 226, 201, 195, 193, 185,
873 184, 181, 178, 177, 150, 143, 138, 136, 133, 130,
874 126, 122, 106, 90, 59, 39, 37, 8, 7, 3,
875 575, 575, 575, 575, 575, 575, 575, 575, 575, 575,
876 575, 575, 575, 575, 575, 575, 575, 575, 575, 575,
877 575, 575, 575, 575, 575, 575, 575, 575, 575, 575,
878 575, 575, 575, 575, 575, 575, 575, 575, 575, 575,
879 575, 575, 575, 575
Reid Spencer68a24bd2005-08-27 18:50:39 +0000880 } ;
881
Owen Anderson1dc69692006-10-18 02:21:48 +0000882static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
883static char *yy_full_match;
884static int yy_lp;
885#define REJECT \
886{ \
887*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
888yy_cp = yy_full_match; /* restore poss. backed-over text */ \
889++yy_lp; \
890goto find_rule; \
891}
Reid Spencer68a24bd2005-08-27 18:50:39 +0000892#define yymore() yymore_used_but_not_detected
893#define YY_MORE_ADJ 0
894#define YY_RESTORE_YY_MORE_OFFSET
Owen Anderson1dc69692006-10-18 02:21:48 +0000895char *yytext;
Reid Spencer3da59db2006-11-27 01:05:10 +0000896#line 1 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +0000897#define INITIAL 0
Reid Spencer68a24bd2005-08-27 18:50:39 +0000898/*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
899//
900// The LLVM Compiler Infrastructure
901//
902// This file was developed by the LLVM research group and is distributed under
903// the University of Illinois Open Source License. See LICENSE.TXT for details.
904//
905//===----------------------------------------------------------------------===//
906//
907// This file implements the flex scanner for LLVM assembly languages files.
908//
909//===----------------------------------------------------------------------===*/
Owen Anderson1dc69692006-10-18 02:21:48 +0000910#define YY_NEVER_INTERACTIVE 1
Reid Spencer3da59db2006-11-27 01:05:10 +0000911#line 28 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +0000912#include "ParserInternals.h"
913#include "llvm/Module.h"
914#include <list>
915#include "llvmAsmParser.h"
916#include <cctype>
917#include <cstdlib>
918
919void set_scan_file(FILE * F){
Owen Anderson1dc69692006-10-18 02:21:48 +0000920 yy_switch_to_buffer(yy_create_buffer( F, YY_BUF_SIZE ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +0000921}
922void set_scan_string (const char * str) {
Owen Anderson1dc69692006-10-18 02:21:48 +0000923 yy_scan_string (str);
Reid Spencer68a24bd2005-08-27 18:50:39 +0000924}
925
Reid Spencer3ed469c2006-11-02 20:25:50 +0000926// Construct a token value for a non-obsolete token
Reid Spencer68a24bd2005-08-27 18:50:39 +0000927#define RET_TOK(type, Enum, sym) \
Reid Spencer3ed469c2006-11-02 20:25:50 +0000928 llvmAsmlval.type.opcode = Instruction::Enum; \
929 llvmAsmlval.type.obsolete = false; \
930 return sym
931
932// Construct a token value for an obsolete token
933#define RET_TOK_OBSOLETE(type, Enum, sym) \
934 llvmAsmlval.type.opcode = Instruction::Enum; \
935 llvmAsmlval.type.obsolete = true; \
936 return sym
937
Reid Spencer3da59db2006-11-27 01:05:10 +0000938// Construct a token value for a non-obsolete type
939#define RET_TY(CType, sym) \
940 llvmAsmlval.TypeVal.type = new PATypeHolder(CType); \
941 llvmAsmlval.TypeVal.signedness = isSignless; \
942 return sym
943
944// Construct a token value for an obsolete token
945#define RET_TY_OBSOLETE(CType, sign, sym) \
946 llvmAsmlval.TypeVal.type = new PATypeHolder(CType); \
947 llvmAsmlval.TypeVal.signedness = sign; \
948 return sym
Reid Spencer68a24bd2005-08-27 18:50:39 +0000949
950namespace llvm {
951
952// TODO: All of the static identifiers are figured out by the lexer,
953// these should be hashed to reduce the lexer size
954
955
956// atoull - Convert an ascii string of decimal digits into the unsigned long
957// long representation... this does not have to do input error checking,
958// because we know that the input will be matched by a suitable regex...
959//
960static uint64_t atoull(const char *Buffer) {
961 uint64_t Result = 0;
962 for (; *Buffer; Buffer++) {
963 uint64_t OldRes = Result;
964 Result *= 10;
965 Result += *Buffer-'0';
966 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000967 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000968 }
969 return Result;
970}
971
972static uint64_t HexIntToVal(const char *Buffer) {
973 uint64_t Result = 0;
974 for (; *Buffer; ++Buffer) {
975 uint64_t OldRes = Result;
976 Result *= 16;
977 char C = *Buffer;
978 if (C >= '0' && C <= '9')
979 Result += C-'0';
980 else if (C >= 'A' && C <= 'F')
981 Result += C-'A'+10;
982 else if (C >= 'a' && C <= 'f')
983 Result += C-'a'+10;
984
985 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000986 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000987 }
988 return Result;
989}
990
991
992// HexToFP - Convert the ascii string in hexidecimal format to the floating
993// point representation of it.
994//
995static double HexToFP(const char *Buffer) {
996 // Behave nicely in the face of C TBAA rules... see:
997 // http://www.nullstone.com/htmls/category/aliastyp.htm
998 union {
999 uint64_t UI;
1000 double FP;
1001 } UIntToFP;
1002 UIntToFP.UI = HexIntToVal(Buffer);
1003
1004 assert(sizeof(double) == sizeof(uint64_t) &&
1005 "Data sizes incompatible on this target!");
1006 return UIntToFP.FP; // Cast Hex constant to double
1007}
1008
1009
1010// UnEscapeLexed - Run through the specified buffer and change \xx codes to the
1011// appropriate character. If AllowNull is set to false, a \00 value will cause
1012// an exception to be thrown.
1013//
1014// If AllowNull is set to true, the return value of the function points to the
1015// last character of the string in memory.
1016//
1017char *UnEscapeLexed(char *Buffer, bool AllowNull) {
1018 char *BOut = Buffer;
1019 for (char *BIn = Buffer; *BIn; ) {
1020 if (BIn[0] == '\\' && isxdigit(BIn[1]) && isxdigit(BIn[2])) {
1021 char Tmp = BIn[3]; BIn[3] = 0; // Terminate string
1022 *BOut = (char)strtol(BIn+1, 0, 16); // Convert to number
1023 if (!AllowNull && !*BOut)
Reid Spencer61c83e02006-08-18 08:43:06 +00001024 GenerateError("String literal cannot accept \\00 escape!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001025
1026 BIn[3] = Tmp; // Restore character
1027 BIn += 3; // Skip over handled chars
1028 ++BOut;
1029 } else {
1030 *BOut++ = *BIn++;
1031 }
1032 }
1033
1034 return BOut;
1035}
1036
1037} // End llvm namespace
1038
1039using namespace llvm;
1040
1041#define YY_NEVER_INTERACTIVE 1
1042/* Comments start with a ; and go till end of line */
1043/* Variable(Value) identifiers start with a % sign */
1044/* Label identifiers end with a colon */
1045/* Quoted names can contain any character except " and \ */
1046/* [PN]Integer: match positive and negative literal integer values that
1047 * are preceeded by a '%' character. These represent unnamed variable slots.
1048 */
1049/* E[PN]Integer: match positive and negative literal integer values */
1050/* FPConstant - A Floating point constant.
1051 */
1052/* HexFPConstant - Floating point constant represented in IEEE format as a
1053 * hexadecimal number for when exponential notation is not precise enough.
1054 */
1055/* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
1056 * it to deal with 64 bit numbers.
1057 */
Reid Spencer3da59db2006-11-27 01:05:10 +00001058#line 1059 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001059
1060/* Macros after this point can all be overridden by user definitions in
1061 * section 1.
1062 */
1063
1064#ifndef YY_SKIP_YYWRAP
1065#ifdef __cplusplus
Owen Anderson1dc69692006-10-18 02:21:48 +00001066extern "C" int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001067#else
Owen Anderson1dc69692006-10-18 02:21:48 +00001068extern int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001069#endif
1070#endif
1071
Owen Anderson1dc69692006-10-18 02:21:48 +00001072#ifndef YY_NO_UNPUT
1073static inline void yyunput YY_PROTO(( int c, char *buf_ptr ));
1074#endif
1075
Reid Spencer68a24bd2005-08-27 18:50:39 +00001076#ifndef yytext_ptr
Owen Anderson1dc69692006-10-18 02:21:48 +00001077static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001078#endif
1079
1080#ifdef YY_NEED_STRLEN
Owen Anderson1dc69692006-10-18 02:21:48 +00001081static int yy_flex_strlen YY_PROTO(( yyconst char * ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001082#endif
1083
1084#ifndef YY_NO_INPUT
1085#ifdef __cplusplus
Owen Anderson1dc69692006-10-18 02:21:48 +00001086static int yyinput YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001087#else
Owen Anderson1dc69692006-10-18 02:21:48 +00001088static int input YY_PROTO(( void ));
1089#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001090#endif
1091
Owen Anderson1dc69692006-10-18 02:21:48 +00001092#if YY_STACK_USED
1093static int yy_start_stack_ptr = 0;
1094static int yy_start_stack_depth = 0;
1095static int *yy_start_stack = 0;
1096#ifndef YY_NO_PUSH_STATE
1097static void yy_push_state YY_PROTO(( int new_state ));
1098#endif
1099#ifndef YY_NO_POP_STATE
1100static void yy_pop_state YY_PROTO(( void ));
1101#endif
1102#ifndef YY_NO_TOP_STATE
1103static int yy_top_state YY_PROTO(( void ));
1104#endif
1105
1106#else
1107#define YY_NO_PUSH_STATE 1
1108#define YY_NO_POP_STATE 1
1109#define YY_NO_TOP_STATE 1
1110#endif
1111
1112#ifdef YY_MALLOC_DECL
1113YY_MALLOC_DECL
1114#else
1115#if __STDC__
1116#ifndef __cplusplus
1117#include <stdlib.h>
1118#endif
1119#else
1120/* Just try to get by without declaring the routines. This will fail
1121 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1122 * or sizeof(void*) != sizeof(int).
1123 */
1124#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001125#endif
1126
1127/* Amount of stuff to slurp up with each read. */
1128#ifndef YY_READ_BUF_SIZE
1129#define YY_READ_BUF_SIZE 8192
1130#endif
1131
1132/* Copy whatever the last rule matched to the standard output. */
Owen Anderson1dc69692006-10-18 02:21:48 +00001133
Reid Spencer68a24bd2005-08-27 18:50:39 +00001134#ifndef ECHO
1135/* This used to be an fputs(), but since the string might contain NUL's,
1136 * we now use fwrite().
1137 */
Owen Anderson1dc69692006-10-18 02:21:48 +00001138#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001139#endif
1140
1141/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1142 * is returned in "result".
1143 */
1144#ifndef YY_INPUT
1145#define YY_INPUT(buf,result,max_size) \
Owen Anderson1dc69692006-10-18 02:21:48 +00001146 if ( yy_current_buffer->yy_is_interactive ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001147 { \
Owen Anderson1dc69692006-10-18 02:21:48 +00001148 int c = '*', n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001149 for ( n = 0; n < max_size && \
Owen Anderson1dc69692006-10-18 02:21:48 +00001150 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001151 buf[n] = (char) c; \
1152 if ( c == '\n' ) \
1153 buf[n++] = (char) c; \
Owen Anderson1dc69692006-10-18 02:21:48 +00001154 if ( c == EOF && ferror( yyin ) ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001155 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1156 result = n; \
1157 } \
Owen Anderson1dc69692006-10-18 02:21:48 +00001158 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1159 && ferror( yyin ) ) \
1160 YY_FATAL_ERROR( "input in flex scanner failed" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001161#endif
1162
1163/* No semi-colon after return; correct usage is to write "yyterminate();" -
1164 * we don't want an extra ';' after the "return" because that will cause
1165 * some compilers to complain about unreachable statements.
1166 */
1167#ifndef yyterminate
1168#define yyterminate() return YY_NULL
1169#endif
1170
1171/* Number of entries by which start-condition stack grows. */
1172#ifndef YY_START_STACK_INCR
1173#define YY_START_STACK_INCR 25
1174#endif
1175
1176/* Report a fatal error. */
1177#ifndef YY_FATAL_ERROR
1178#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1179#endif
1180
1181/* Default declaration of generated scanner - a define so the user can
1182 * easily add parameters.
1183 */
1184#ifndef YY_DECL
Owen Anderson1dc69692006-10-18 02:21:48 +00001185#define YY_DECL int yylex YY_PROTO(( void ))
1186#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001187
Owen Anderson1dc69692006-10-18 02:21:48 +00001188/* Code executed at the beginning of each rule, after yytext and yyleng
Reid Spencer68a24bd2005-08-27 18:50:39 +00001189 * have been set up.
1190 */
1191#ifndef YY_USER_ACTION
1192#define YY_USER_ACTION
1193#endif
1194
1195/* Code executed at the end of each rule. */
1196#ifndef YY_BREAK
1197#define YY_BREAK break;
1198#endif
1199
1200#define YY_RULE_SETUP \
1201 YY_USER_ACTION
1202
1203YY_DECL
Owen Anderson1dc69692006-10-18 02:21:48 +00001204 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00001205 register yy_state_type yy_current_state;
Reid Spencer3da59db2006-11-27 01:05:10 +00001206 register char *yy_cp = NULL, *yy_bp = NULL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001207 register int yy_act;
Owen Anderson1dc69692006-10-18 02:21:48 +00001208
Reid Spencer3da59db2006-11-27 01:05:10 +00001209#line 200 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001210
1211
Reid Spencer3da59db2006-11-27 01:05:10 +00001212#line 1213 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001213
Owen Anderson1dc69692006-10-18 02:21:48 +00001214 if ( yy_init )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001215 {
Owen Anderson1dc69692006-10-18 02:21:48 +00001216 yy_init = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001217
1218#ifdef YY_USER_INIT
1219 YY_USER_INIT;
1220#endif
1221
Owen Anderson1dc69692006-10-18 02:21:48 +00001222 if ( ! yy_start )
1223 yy_start = 1; /* first start state */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001224
Owen Anderson1dc69692006-10-18 02:21:48 +00001225 if ( ! yyin )
1226 yyin = stdin;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001227
Owen Anderson1dc69692006-10-18 02:21:48 +00001228 if ( ! yyout )
1229 yyout = stdout;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001230
Owen Anderson1dc69692006-10-18 02:21:48 +00001231 if ( ! yy_current_buffer )
1232 yy_current_buffer =
1233 yy_create_buffer( yyin, YY_BUF_SIZE );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001234
Owen Anderson1dc69692006-10-18 02:21:48 +00001235 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00001236 }
1237
1238 while ( 1 ) /* loops until end-of-file is reached */
1239 {
Owen Anderson1dc69692006-10-18 02:21:48 +00001240 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001241
Owen Anderson1dc69692006-10-18 02:21:48 +00001242 /* Support of yytext. */
1243 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001244
1245 /* yy_bp points to the position in yy_ch_buf of the start of
1246 * the current run.
1247 */
1248 yy_bp = yy_cp;
1249
Owen Anderson1dc69692006-10-18 02:21:48 +00001250 yy_current_state = yy_start;
1251 yy_state_ptr = yy_state_buf;
1252 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001253yy_match:
1254 do
1255 {
1256 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1257 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1258 {
1259 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencer3da59db2006-11-27 01:05:10 +00001260 if ( yy_current_state >= 576 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001261 yy_c = yy_meta[(unsigned int) yy_c];
1262 }
1263 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Owen Anderson1dc69692006-10-18 02:21:48 +00001264 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001265 ++yy_cp;
1266 }
Reid Spencer3da59db2006-11-27 01:05:10 +00001267 while ( yy_current_state != 575 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001268
1269yy_find_action:
Owen Anderson1dc69692006-10-18 02:21:48 +00001270 yy_current_state = *--yy_state_ptr;
1271 yy_lp = yy_accept[yy_current_state];
1272find_rule: /* we branch to this label when backing up */
1273 for ( ; ; ) /* until we find what rule we matched */
1274 {
1275 if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
1276 {
1277 yy_act = yy_acclist[yy_lp];
1278 {
1279 yy_full_match = yy_cp;
1280 break;
1281 }
1282 }
1283 --yy_cp;
1284 yy_current_state = *--yy_state_ptr;
1285 yy_lp = yy_accept[yy_current_state];
1286 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001287
1288 YY_DO_BEFORE_ACTION;
1289
Owen Anderson1dc69692006-10-18 02:21:48 +00001290 if ( yy_act != YY_END_OF_BUFFER )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001291 {
1292 int yyl;
Owen Anderson1dc69692006-10-18 02:21:48 +00001293 for ( yyl = 0; yyl < yyleng; ++yyl )
1294 if ( yytext[yyl] == '\n' )
1295 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001296 }
1297
1298do_action: /* This label is used only to access EOF actions. */
1299
Owen Anderson1dc69692006-10-18 02:21:48 +00001300
Reid Spencer68a24bd2005-08-27 18:50:39 +00001301 switch ( yy_act )
1302 { /* beginning of action switch */
1303case 1:
1304YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001305#line 202 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001306{ /* Ignore comments for now */ }
1307 YY_BREAK
1308case 2:
1309YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001310#line 204 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001311{ return BEGINTOK; }
1312 YY_BREAK
1313case 3:
1314YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001315#line 205 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001316{ return ENDTOK; }
1317 YY_BREAK
1318case 4:
1319YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001320#line 206 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001321{ return TRUETOK; }
1322 YY_BREAK
1323case 5:
1324YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001325#line 207 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001326{ return FALSETOK; }
1327 YY_BREAK
1328case 6:
1329YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001330#line 208 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001331{ return DECLARE; }
1332 YY_BREAK
1333case 7:
1334YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001335#line 209 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001336{ return GLOBAL; }
1337 YY_BREAK
1338case 8:
1339YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001340#line 210 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001341{ return CONSTANT; }
1342 YY_BREAK
1343case 9:
1344YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001345#line 211 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001346{ return INTERNAL; }
1347 YY_BREAK
1348case 10:
1349YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001350#line 212 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001351{ return LINKONCE; }
1352 YY_BREAK
1353case 11:
1354YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001355#line 213 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001356{ return WEAK; }
1357 YY_BREAK
1358case 12:
1359YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001360#line 214 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001361{ return APPENDING; }
1362 YY_BREAK
1363case 13:
1364YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001365#line 215 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001366{ return DLLIMPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001367 YY_BREAK
1368case 14:
1369YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001370#line 216 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001371{ return DLLEXPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001372 YY_BREAK
1373case 15:
1374YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001375#line 217 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001376{ return EXTERN_WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001377 YY_BREAK
1378case 16:
1379YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001380#line 218 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001381{ return EXTERNAL; } /* Deprecated, turn into external */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001382 YY_BREAK
1383case 17:
1384YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001385#line 219 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001386{ return EXTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001387 YY_BREAK
1388case 18:
1389YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001390#line 220 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001391{ return IMPLEMENTATION; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001392 YY_BREAK
1393case 19:
1394YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001395#line 221 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001396{ return ZEROINITIALIZER; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001397 YY_BREAK
1398case 20:
1399YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001400#line 222 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001401{ return DOTDOTDOT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001402 YY_BREAK
1403case 21:
1404YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001405#line 223 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001406{ return UNDEF; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001407 YY_BREAK
1408case 22:
1409YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001410#line 224 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001411{ return NULL_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001412 YY_BREAK
1413case 23:
1414YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001415#line 225 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001416{ return TO; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001417 YY_BREAK
1418case 24:
1419YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001420#line 226 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001421{ RET_TOK(TermOpVal, Unwind, UNWIND); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001422 YY_BREAK
1423case 25:
1424YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001425#line 227 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001426{ return NOT; } /* Deprecated, turned into XOR */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001427 YY_BREAK
1428case 26:
1429YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001430#line 228 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001431{ return TAIL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001432 YY_BREAK
1433case 27:
1434YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001435#line 229 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001436{ return TARGET; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001437 YY_BREAK
1438case 28:
1439YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001440#line 230 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001441{ return TRIPLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001442 YY_BREAK
1443case 29:
1444YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001445#line 231 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001446{ return DEPLIBS; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001447 YY_BREAK
1448case 30:
1449YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001450#line 232 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001451{ return ENDIAN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001452 YY_BREAK
1453case 31:
1454YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001455#line 233 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001456{ return POINTERSIZE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001457 YY_BREAK
1458case 32:
1459YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001460#line 234 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Chris Lattner1ae022f2006-10-22 06:08:13 +00001461{ return DATALAYOUT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001462 YY_BREAK
1463case 33:
1464YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001465#line 235 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001466{ return LITTLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001467 YY_BREAK
1468case 34:
1469YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001470#line 236 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001471{ return BIG; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001472 YY_BREAK
1473case 35:
1474YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001475#line 237 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001476{ return VOLATILE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001477 YY_BREAK
1478case 36:
1479YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001480#line 238 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001481{ return ALIGN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001482 YY_BREAK
1483case 37:
1484YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001485#line 239 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001486{ return SECTION; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001487 YY_BREAK
1488case 38:
1489YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001490#line 240 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001491{ return MODULE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001492 YY_BREAK
1493case 39:
1494YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001495#line 241 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001496{ return ASM_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001497 YY_BREAK
1498case 40:
1499YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001500#line 242 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001501{ return SIDEEFFECT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001502 YY_BREAK
1503case 41:
1504YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001505#line 244 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001506{ return CC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001507 YY_BREAK
1508case 42:
1509YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001510#line 245 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001511{ return CCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001512 YY_BREAK
1513case 43:
1514YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001515#line 246 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001516{ return CSRETCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001517 YY_BREAK
1518case 44:
1519YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001520#line 247 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001521{ return FASTCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001522 YY_BREAK
1523case 45:
1524YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001525#line 248 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001526{ return COLDCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001527 YY_BREAK
1528case 46:
1529YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001530#line 249 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001531{ return X86_STDCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001532 YY_BREAK
1533case 47:
1534YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001535#line 250 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001536{ return X86_FASTCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001537 YY_BREAK
1538case 48:
1539YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001540#line 252 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1541{ RET_TY(Type::VoidTy, VOID); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001542 YY_BREAK
1543case 49:
1544YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001545#line 253 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1546{ RET_TY(Type::BoolTy, BOOL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001547 YY_BREAK
1548case 50:
1549YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001550#line 254 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1551{ RET_TY_OBSOLETE(Type::SByteTy, isSigned, SBYTE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001552 YY_BREAK
1553case 51:
1554YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001555#line 255 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1556{ RET_TY_OBSOLETE(Type::UByteTy, isUnsigned, UBYTE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001557 YY_BREAK
1558case 52:
1559YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001560#line 256 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1561{ RET_TY_OBSOLETE(Type::ShortTy, isSigned, SHORT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001562 YY_BREAK
1563case 53:
1564YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001565#line 257 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1566{ RET_TY_OBSOLETE(Type::UShortTy,isUnsigned, USHORT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001567 YY_BREAK
1568case 54:
1569YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001570#line 258 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1571{ RET_TY_OBSOLETE(Type::IntTy, isSigned, INT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001572 YY_BREAK
1573case 55:
1574YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001575#line 259 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1576{ RET_TY_OBSOLETE(Type::UIntTy, isUnsigned, UINT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001577 YY_BREAK
1578case 56:
1579YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001580#line 260 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1581{ RET_TY_OBSOLETE(Type::LongTy, isSigned, LONG); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001582 YY_BREAK
1583case 57:
1584YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001585#line 261 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1586{ RET_TY_OBSOLETE(Type::ULongTy, isUnsigned, ULONG); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001587 YY_BREAK
1588case 58:
1589YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001590#line 262 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1591{ RET_TY(Type::FloatTy, FLOAT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001592 YY_BREAK
1593case 59:
1594YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001595#line 263 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1596{ RET_TY(Type::DoubleTy, DOUBLE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001597 YY_BREAK
1598case 60:
1599YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001600#line 264 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1601{ RET_TY(Type::LabelTy, LABEL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001602 YY_BREAK
1603case 61:
1604YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001605#line 265 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001606{ return TYPE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001607 YY_BREAK
1608case 62:
1609YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001610#line 266 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001611{ return OPAQUE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001612 YY_BREAK
1613case 63:
1614YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001615#line 268 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001616{ RET_TOK(BinaryOpVal, Add, ADD); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001617 YY_BREAK
1618case 64:
1619YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001620#line 269 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001621{ RET_TOK(BinaryOpVal, Sub, SUB); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001622 YY_BREAK
1623case 65:
1624YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001625#line 270 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001626{ RET_TOK(BinaryOpVal, Mul, MUL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001627 YY_BREAK
1628case 66:
1629YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001630#line 271 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001631{ RET_TOK_OBSOLETE(BinaryOpVal, UDiv, UDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001632 YY_BREAK
1633case 67:
1634YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001635#line 272 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001636{ RET_TOK(BinaryOpVal, UDiv, UDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001637 YY_BREAK
1638case 68:
1639YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001640#line 273 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001641{ RET_TOK(BinaryOpVal, SDiv, SDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001642 YY_BREAK
1643case 69:
1644YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001645#line 274 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001646{ RET_TOK(BinaryOpVal, FDiv, FDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001647 YY_BREAK
1648case 70:
1649YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001650#line 275 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001651{ RET_TOK_OBSOLETE(BinaryOpVal, URem, UREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001652 YY_BREAK
1653case 71:
1654YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001655#line 276 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001656{ RET_TOK(BinaryOpVal, URem, UREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001657 YY_BREAK
1658case 72:
1659YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001660#line 277 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001661{ RET_TOK(BinaryOpVal, SRem, SREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001662 YY_BREAK
1663case 73:
1664YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001665#line 278 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001666{ RET_TOK(BinaryOpVal, FRem, FREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001667 YY_BREAK
1668case 74:
1669YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001670#line 279 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001671{ RET_TOK(BinaryOpVal, And, AND); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001672 YY_BREAK
1673case 75:
1674YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001675#line 280 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001676{ RET_TOK(BinaryOpVal, Or , OR ); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001677 YY_BREAK
1678case 76:
1679YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001680#line 281 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001681{ RET_TOK(BinaryOpVal, Xor, XOR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001682 YY_BREAK
1683case 77:
1684YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001685#line 282 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001686{ RET_TOK(BinaryOpVal, SetNE, SETNE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001687 YY_BREAK
1688case 78:
1689YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001690#line 283 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001691{ RET_TOK(BinaryOpVal, SetEQ, SETEQ); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001692 YY_BREAK
1693case 79:
1694YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001695#line 284 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001696{ RET_TOK(BinaryOpVal, SetLT, SETLT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001697 YY_BREAK
1698case 80:
1699YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001700#line 285 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001701{ RET_TOK(BinaryOpVal, SetGT, SETGT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001702 YY_BREAK
1703case 81:
1704YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001705#line 286 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001706{ RET_TOK(BinaryOpVal, SetLE, SETLE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001707 YY_BREAK
1708case 82:
1709YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001710#line 287 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001711{ RET_TOK(BinaryOpVal, SetGE, SETGE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001712 YY_BREAK
1713case 83:
1714YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001715#line 289 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001716{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001717 YY_BREAK
1718case 84:
1719YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001720#line 290 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001721{ RET_TOK(OtherOpVal, Call, CALL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001722 YY_BREAK
1723case 85:
1724YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001725#line 291 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1726{ RET_TOK_OBSOLETE(CastOpVal, Trunc, TRUNC); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001727 YY_BREAK
1728case 86:
1729YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001730#line 292 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1731{ RET_TOK(CastOpVal, Trunc, TRUNC); }
Nate Begeman14b05292005-11-05 09:21:28 +00001732 YY_BREAK
1733case 87:
1734YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001735#line 293 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1736{ RET_TOK(CastOpVal, ZExt, ZEXT); }
Chris Lattnere869eef2005-11-12 00:11:49 +00001737 YY_BREAK
1738case 88:
1739YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001740#line 294 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1741{ RET_TOK(CastOpVal, SExt, SEXT); }
Robert Bocchino9c62b562006-01-10 19:04:32 +00001742 YY_BREAK
1743case 89:
1744YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001745#line 295 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1746{ RET_TOK(CastOpVal, FPTrunc, FPTRUNC); }
Robert Bocchino2def1b32006-01-17 20:06:25 +00001747 YY_BREAK
1748case 90:
1749YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001750#line 296 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1751{ RET_TOK(CastOpVal, FPExt, FPEXT); }
Chris Lattner8335e842006-01-23 23:05:42 +00001752 YY_BREAK
1753case 91:
1754YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001755#line 297 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1756{ RET_TOK(CastOpVal, UIToFP, UITOFP); }
Chris Lattner66316012006-01-24 04:14:29 +00001757 YY_BREAK
1758case 92:
1759YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001760#line 298 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1761{ RET_TOK(CastOpVal, SIToFP, SITOFP); }
Chris Lattner0e9c3762006-01-25 22:27:16 +00001762 YY_BREAK
1763case 93:
1764YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001765#line 299 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1766{ RET_TOK(CastOpVal, FPToUI, FPTOUI); }
Chris Lattnerd5efe842006-04-08 01:18:56 +00001767 YY_BREAK
1768case 94:
1769YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001770#line 300 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1771{ RET_TOK(CastOpVal, FPToSI, FPTOSI); }
Chris Lattner75466192006-05-19 21:28:53 +00001772 YY_BREAK
1773case 95:
1774YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001775#line 301 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1776{ RET_TOK(CastOpVal, IntToPtr, INTTOPTR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001777 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001778case 96:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001779YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001780#line 302 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1781{ RET_TOK(CastOpVal, PtrToInt, PTRTOINT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001782 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001783case 97:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001784YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001785#line 303 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1786{ RET_TOK(CastOpVal, BitCast, BITCAST); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001787 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001788case 98:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001789YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001790#line 304 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1791{ RET_TOK(OtherOpVal, Select, SELECT); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001792 YY_BREAK
1793case 99:
1794YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001795#line 305 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1796{ RET_TOK(OtherOpVal, Shl, SHL); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001797 YY_BREAK
1798case 100:
1799YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001800#line 306 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1801{ RET_TOK_OBSOLETE(OtherOpVal, LShr, LSHR); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001802 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001803case 101:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001804YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001805#line 307 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1806{ RET_TOK(OtherOpVal, LShr, LSHR); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001807 YY_BREAK
1808case 102:
1809YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001810#line 308 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1811{ RET_TOK(OtherOpVal, AShr, ASHR); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001812 YY_BREAK
1813case 103:
1814YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001815#line 309 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1816{ return VANEXT_old; }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001817 YY_BREAK
1818case 104:
1819YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001820#line 310 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1821{ return VAARG_old; }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001822 YY_BREAK
1823case 105:
1824YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001825#line 311 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1826{ RET_TOK(OtherOpVal, VAArg , VAARG); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001827 YY_BREAK
1828case 106:
1829YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001830#line 312 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1831{ RET_TOK(TermOpVal, Ret, RET); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001832 YY_BREAK
1833case 107:
1834YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001835#line 313 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1836{ RET_TOK(TermOpVal, Br, BR); }
1837 YY_BREAK
1838case 108:
1839YY_RULE_SETUP
1840#line 314 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1841{ RET_TOK(TermOpVal, Switch, SWITCH); }
1842 YY_BREAK
1843case 109:
1844YY_RULE_SETUP
1845#line 315 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1846{ RET_TOK(TermOpVal, Invoke, INVOKE); }
1847 YY_BREAK
1848case 110:
1849YY_RULE_SETUP
1850#line 316 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1851{ RET_TOK(TermOpVal, Unwind, UNWIND); }
1852 YY_BREAK
1853case 111:
1854YY_RULE_SETUP
1855#line 317 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1856{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
1857 YY_BREAK
1858case 112:
1859YY_RULE_SETUP
1860#line 319 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1861{ RET_TOK(MemOpVal, Malloc, MALLOC); }
1862 YY_BREAK
1863case 113:
1864YY_RULE_SETUP
1865#line 320 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1866{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
1867 YY_BREAK
1868case 114:
1869YY_RULE_SETUP
1870#line 321 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1871{ RET_TOK(MemOpVal, Free, FREE); }
1872 YY_BREAK
1873case 115:
1874YY_RULE_SETUP
1875#line 322 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1876{ RET_TOK(MemOpVal, Load, LOAD); }
1877 YY_BREAK
1878case 116:
1879YY_RULE_SETUP
1880#line 323 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1881{ RET_TOK(MemOpVal, Store, STORE); }
1882 YY_BREAK
1883case 117:
1884YY_RULE_SETUP
1885#line 324 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1886{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
1887 YY_BREAK
1888case 118:
1889YY_RULE_SETUP
1890#line 326 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1891{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
1892 YY_BREAK
1893case 119:
1894YY_RULE_SETUP
1895#line 327 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1896{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
1897 YY_BREAK
1898case 120:
1899YY_RULE_SETUP
1900#line 328 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1901{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
1902 YY_BREAK
1903case 121:
1904YY_RULE_SETUP
1905#line 331 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001906{
Owen Anderson1dc69692006-10-18 02:21:48 +00001907 UnEscapeLexed(yytext+1);
1908 llvmAsmlval.StrVal = strdup(yytext+1); // Skip %
1909 return VAR_ID;
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001910 }
1911 YY_BREAK
Reid Spencer3da59db2006-11-27 01:05:10 +00001912case 122:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001913YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001914#line 336 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001915{
Owen Anderson1dc69692006-10-18 02:21:48 +00001916 yytext[strlen(yytext)-1] = 0; // nuke colon
1917 UnEscapeLexed(yytext);
1918 llvmAsmlval.StrVal = strdup(yytext);
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001919 return LABELSTR;
1920 }
1921 YY_BREAK
Reid Spencer3da59db2006-11-27 01:05:10 +00001922case 123:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001923YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001924#line 342 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001925{
1926 yytext[strlen(yytext)-2] = 0; // nuke colon, end quote
1927 UnEscapeLexed(yytext+1);
1928 llvmAsmlval.StrVal = strdup(yytext+1);
1929 return LABELSTR;
1930 }
1931 YY_BREAK
Reid Spencer3da59db2006-11-27 01:05:10 +00001932case 124:
Owen Anderson1dc69692006-10-18 02:21:48 +00001933YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001934#line 349 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001935{ // Note that we cannot unescape a string constant here! The
1936 // string constant might contain a \00 which would not be
1937 // understood by the string stuff. It is valid to make a
1938 // [sbyte] c"Hello World\00" constant, for example.
1939 //
Owen Anderson1dc69692006-10-18 02:21:48 +00001940 yytext[strlen(yytext)-1] = 0; // nuke end quote
1941 llvmAsmlval.StrVal = strdup(yytext+1); // Nuke start quote
Reid Spencer68a24bd2005-08-27 18:50:39 +00001942 return STRINGCONSTANT;
1943 }
1944 YY_BREAK
Reid Spencer3da59db2006-11-27 01:05:10 +00001945case 125:
Chris Lattner75466192006-05-19 21:28:53 +00001946YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001947#line 360 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001948{ llvmAsmlval.UInt64Val = atoull(yytext); return EUINT64VAL; }
1949 YY_BREAK
Reid Spencer3da59db2006-11-27 01:05:10 +00001950case 126:
Owen Anderson1dc69692006-10-18 02:21:48 +00001951YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001952#line 361 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001953{
Owen Anderson1dc69692006-10-18 02:21:48 +00001954 uint64_t Val = atoull(yytext+1);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001955 // +1: we have bigger negative range
1956 if (Val > (uint64_t)INT64_MAX+1)
Reid Spencer61c83e02006-08-18 08:43:06 +00001957 GenerateError("Constant too large for signed 64 bits!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001958 llvmAsmlval.SInt64Val = -Val;
1959 return ESINT64VAL;
1960 }
1961 YY_BREAK
Reid Spencer3da59db2006-11-27 01:05:10 +00001962case 127:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001963YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001964#line 369 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001965{
Owen Anderson1dc69692006-10-18 02:21:48 +00001966 llvmAsmlval.UInt64Val = HexIntToVal(yytext+3);
1967 return yytext[0] == 's' ? ESINT64VAL : EUINT64VAL;
1968 }
1969 YY_BREAK
Reid Spencer3da59db2006-11-27 01:05:10 +00001970case 128:
Owen Anderson1dc69692006-10-18 02:21:48 +00001971YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001972#line 374 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001973{
1974 uint64_t Val = atoull(yytext+1);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001975 if ((unsigned)Val != Val)
Reid Spencer61c83e02006-08-18 08:43:06 +00001976 GenerateError("Invalid value number (too large)!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001977 llvmAsmlval.UIntVal = unsigned(Val);
1978 return UINTVAL;
1979 }
1980 YY_BREAK
Reid Spencer3da59db2006-11-27 01:05:10 +00001981case 129:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001982YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001983#line 381 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001984{
Owen Anderson1dc69692006-10-18 02:21:48 +00001985 uint64_t Val = atoull(yytext+2);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001986 // +1: we have bigger negative range
1987 if (Val > (uint64_t)INT32_MAX+1)
Reid Spencer61c83e02006-08-18 08:43:06 +00001988 GenerateError("Constant too large for signed 32 bits!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001989 llvmAsmlval.SIntVal = (int)-Val;
1990 return SINTVAL;
1991 }
1992 YY_BREAK
Reid Spencer3da59db2006-11-27 01:05:10 +00001993case 130:
Chris Lattner75466192006-05-19 21:28:53 +00001994YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00001995#line 390 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001996{ llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
1997 YY_BREAK
Reid Spencer3da59db2006-11-27 01:05:10 +00001998case 131:
Owen Anderson1dc69692006-10-18 02:21:48 +00001999YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00002000#line 391 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00002001{ llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002002 YY_BREAK
2003case YY_STATE_EOF(INITIAL):
Reid Spencer3da59db2006-11-27 01:05:10 +00002004#line 393 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002005{
2006 /* Make sure to free the internal buffers for flex when we are
2007 * done reading our input!
2008 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002009 yy_delete_buffer(YY_CURRENT_BUFFER);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002010 return EOF;
2011 }
2012 YY_BREAK
Reid Spencer3da59db2006-11-27 01:05:10 +00002013case 132:
Chris Lattner75466192006-05-19 21:28:53 +00002014YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00002015#line 401 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00002016{ /* Ignore whitespace */ }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00002017 YY_BREAK
Reid Spencer3da59db2006-11-27 01:05:10 +00002018case 133:
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00002019YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00002020#line 402 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00002021{ return yytext[0]; }
2022 YY_BREAK
Reid Spencer3da59db2006-11-27 01:05:10 +00002023case 134:
Owen Anderson1dc69692006-10-18 02:21:48 +00002024YY_RULE_SETUP
Reid Spencer3da59db2006-11-27 01:05:10 +00002025#line 404 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002026YY_FATAL_ERROR( "flex scanner jammed" );
2027 YY_BREAK
Reid Spencer3da59db2006-11-27 01:05:10 +00002028#line 2029 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002029
2030 case YY_END_OF_BUFFER:
2031 {
2032 /* Amount of text matched not including the EOB char. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002033 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002034
2035 /* Undo the effects of YY_DO_BEFORE_ACTION. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002036 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002037 YY_RESTORE_YY_MORE_OFFSET
2038
Owen Anderson1dc69692006-10-18 02:21:48 +00002039 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002040 {
2041 /* We're scanning a new file or input source. It's
2042 * possible that this happened because the user
Owen Anderson1dc69692006-10-18 02:21:48 +00002043 * just pointed yyin at a new source and called
2044 * yylex(). If so, then we have to assure
2045 * consistency between yy_current_buffer and our
Reid Spencer68a24bd2005-08-27 18:50:39 +00002046 * globals. Here is the right place to do so, because
2047 * this is the first action (other than possibly a
2048 * back-up) that will match for the new input source.
2049 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002050 yy_n_chars = yy_current_buffer->yy_n_chars;
2051 yy_current_buffer->yy_input_file = yyin;
2052 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002053 }
2054
2055 /* Note that here we test for yy_c_buf_p "<=" to the position
2056 * of the first EOB in the buffer, since yy_c_buf_p will
2057 * already have been incremented past the NUL character
2058 * (since all states make transitions on EOB to the
2059 * end-of-buffer state). Contrast this with the test
2060 * in input().
2061 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002062 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002063 { /* This was really a NUL. */
2064 yy_state_type yy_next_state;
2065
Owen Anderson1dc69692006-10-18 02:21:48 +00002066 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002067
Owen Anderson1dc69692006-10-18 02:21:48 +00002068 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002069
2070 /* Okay, we're now positioned to make the NUL
2071 * transition. We couldn't have
2072 * yy_get_previous_state() go ahead and do it
2073 * for us because it doesn't know how to deal
2074 * with the possibility of jamming (and we don't
2075 * want to build jamming into it because then it
2076 * will run more slowly).
2077 */
2078
2079 yy_next_state = yy_try_NUL_trans( yy_current_state );
2080
Owen Anderson1dc69692006-10-18 02:21:48 +00002081 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002082
2083 if ( yy_next_state )
2084 {
2085 /* Consume the NUL. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002086 yy_cp = ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002087 yy_current_state = yy_next_state;
2088 goto yy_match;
2089 }
2090
2091 else
2092 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002093 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002094 goto yy_find_action;
2095 }
2096 }
2097
Owen Anderson1dc69692006-10-18 02:21:48 +00002098 else switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002099 {
2100 case EOB_ACT_END_OF_FILE:
2101 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002102 yy_did_buffer_switch_on_eof = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002103
Owen Anderson1dc69692006-10-18 02:21:48 +00002104 if ( yywrap() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002105 {
2106 /* Note: because we've taken care in
2107 * yy_get_next_buffer() to have set up
Owen Anderson1dc69692006-10-18 02:21:48 +00002108 * yytext, we can now set up
Reid Spencer68a24bd2005-08-27 18:50:39 +00002109 * yy_c_buf_p so that if some total
2110 * hoser (like flex itself) wants to
2111 * call the scanner after we return the
2112 * YY_NULL, it'll still work - another
2113 * YY_NULL will get returned.
2114 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002115 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002116
2117 yy_act = YY_STATE_EOF(YY_START);
2118 goto do_action;
2119 }
2120
2121 else
2122 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002123 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002124 YY_NEW_FILE;
2125 }
2126 break;
2127 }
2128
2129 case EOB_ACT_CONTINUE_SCAN:
Owen Anderson1dc69692006-10-18 02:21:48 +00002130 yy_c_buf_p =
2131 yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002132
Owen Anderson1dc69692006-10-18 02:21:48 +00002133 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002134
Owen Anderson1dc69692006-10-18 02:21:48 +00002135 yy_cp = yy_c_buf_p;
2136 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002137 goto yy_match;
2138
2139 case EOB_ACT_LAST_MATCH:
Owen Anderson1dc69692006-10-18 02:21:48 +00002140 yy_c_buf_p =
2141 &yy_current_buffer->yy_ch_buf[yy_n_chars];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002142
Owen Anderson1dc69692006-10-18 02:21:48 +00002143 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002144
Owen Anderson1dc69692006-10-18 02:21:48 +00002145 yy_cp = yy_c_buf_p;
2146 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002147 goto yy_find_action;
2148 }
2149 break;
2150 }
2151
2152 default:
2153 YY_FATAL_ERROR(
2154 "fatal flex scanner internal error--no action found" );
2155 } /* end of action switch */
2156 } /* end of scanning one token */
Owen Anderson1dc69692006-10-18 02:21:48 +00002157 } /* end of yylex */
2158
Reid Spencer68a24bd2005-08-27 18:50:39 +00002159
2160/* yy_get_next_buffer - try to read in a new buffer
2161 *
2162 * Returns a code representing an action:
2163 * EOB_ACT_LAST_MATCH -
2164 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2165 * EOB_ACT_END_OF_FILE - end of file
2166 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002167
2168static int yy_get_next_buffer()
2169 {
2170 register char *dest = yy_current_buffer->yy_ch_buf;
2171 register char *source = yytext_ptr;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002172 register int number_to_move, i;
2173 int ret_val;
2174
Owen Anderson1dc69692006-10-18 02:21:48 +00002175 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002176 YY_FATAL_ERROR(
2177 "fatal flex scanner internal error--end of buffer missed" );
2178
Owen Anderson1dc69692006-10-18 02:21:48 +00002179 if ( yy_current_buffer->yy_fill_buffer == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002180 { /* Don't try to fill the buffer, so this is an EOF. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002181 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002182 {
2183 /* We matched a single character, the EOB, so
2184 * treat this as a final EOF.
2185 */
2186 return EOB_ACT_END_OF_FILE;
2187 }
2188
2189 else
2190 {
2191 /* We matched some text prior to the EOB, first
2192 * process it.
2193 */
2194 return EOB_ACT_LAST_MATCH;
2195 }
2196 }
2197
2198 /* Try to read more data. */
2199
2200 /* First move last chars to start of buffer. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002201 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002202
2203 for ( i = 0; i < number_to_move; ++i )
2204 *(dest++) = *(source++);
2205
Owen Anderson1dc69692006-10-18 02:21:48 +00002206 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002207 /* don't do the read, it's not guaranteed to return an EOF,
2208 * just force an EOF
2209 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002210 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002211
2212 else
2213 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002214 int num_to_read =
2215 yy_current_buffer->yy_buf_size - number_to_move - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002216
2217 while ( num_to_read <= 0 )
2218 { /* Not enough room in the buffer - grow it. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002219#ifdef YY_USES_REJECT
2220 YY_FATAL_ERROR(
2221"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
2222#else
Reid Spencer68a24bd2005-08-27 18:50:39 +00002223
2224 /* just a shorter name for the current buffer */
Owen Anderson1dc69692006-10-18 02:21:48 +00002225 YY_BUFFER_STATE b = yy_current_buffer;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002226
2227 int yy_c_buf_p_offset =
Owen Anderson1dc69692006-10-18 02:21:48 +00002228 (int) (yy_c_buf_p - b->yy_ch_buf);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002229
2230 if ( b->yy_is_our_buffer )
2231 {
2232 int new_size = b->yy_buf_size * 2;
2233
2234 if ( new_size <= 0 )
2235 b->yy_buf_size += b->yy_buf_size / 8;
2236 else
2237 b->yy_buf_size *= 2;
2238
2239 b->yy_ch_buf = (char *)
2240 /* Include room in for 2 EOB chars. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002241 yy_flex_realloc( (void *) b->yy_ch_buf,
2242 b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002243 }
2244 else
2245 /* Can't grow it, we don't own it. */
2246 b->yy_ch_buf = 0;
2247
2248 if ( ! b->yy_ch_buf )
2249 YY_FATAL_ERROR(
2250 "fatal error - scanner input buffer overflow" );
2251
Owen Anderson1dc69692006-10-18 02:21:48 +00002252 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002253
Owen Anderson1dc69692006-10-18 02:21:48 +00002254 num_to_read = yy_current_buffer->yy_buf_size -
Reid Spencer68a24bd2005-08-27 18:50:39 +00002255 number_to_move - 1;
Owen Anderson1dc69692006-10-18 02:21:48 +00002256#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002257 }
2258
2259 if ( num_to_read > YY_READ_BUF_SIZE )
2260 num_to_read = YY_READ_BUF_SIZE;
2261
2262 /* Read in more data. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002263 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
2264 yy_n_chars, num_to_read );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002265
Owen Anderson1dc69692006-10-18 02:21:48 +00002266 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002267 }
2268
Owen Anderson1dc69692006-10-18 02:21:48 +00002269 if ( yy_n_chars == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002270 {
2271 if ( number_to_move == YY_MORE_ADJ )
2272 {
2273 ret_val = EOB_ACT_END_OF_FILE;
Owen Anderson1dc69692006-10-18 02:21:48 +00002274 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002275 }
2276
2277 else
2278 {
2279 ret_val = EOB_ACT_LAST_MATCH;
Owen Anderson1dc69692006-10-18 02:21:48 +00002280 yy_current_buffer->yy_buffer_status =
Reid Spencer68a24bd2005-08-27 18:50:39 +00002281 YY_BUFFER_EOF_PENDING;
2282 }
2283 }
2284
2285 else
2286 ret_val = EOB_ACT_CONTINUE_SCAN;
2287
Owen Anderson1dc69692006-10-18 02:21:48 +00002288 yy_n_chars += number_to_move;
2289 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2290 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002291
Owen Anderson1dc69692006-10-18 02:21:48 +00002292 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002293
2294 return ret_val;
Owen Anderson1dc69692006-10-18 02:21:48 +00002295 }
2296
Reid Spencer68a24bd2005-08-27 18:50:39 +00002297
2298/* yy_get_previous_state - get the state just before the EOB char was reached */
2299
Owen Anderson1dc69692006-10-18 02:21:48 +00002300static yy_state_type yy_get_previous_state()
2301 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002302 register yy_state_type yy_current_state;
2303 register char *yy_cp;
2304
Owen Anderson1dc69692006-10-18 02:21:48 +00002305 yy_current_state = yy_start;
2306 yy_state_ptr = yy_state_buf;
2307 *yy_state_ptr++ = yy_current_state;
2308
2309 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002310 {
2311 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2312 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2313 {
2314 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencer3da59db2006-11-27 01:05:10 +00002315 if ( yy_current_state >= 576 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002316 yy_c = yy_meta[(unsigned int) yy_c];
2317 }
2318 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Owen Anderson1dc69692006-10-18 02:21:48 +00002319 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002320 }
2321
2322 return yy_current_state;
Owen Anderson1dc69692006-10-18 02:21:48 +00002323 }
2324
Reid Spencer68a24bd2005-08-27 18:50:39 +00002325
2326/* yy_try_NUL_trans - try to make a transition on the NUL character
2327 *
2328 * synopsis
2329 * next_state = yy_try_NUL_trans( current_state );
2330 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002331
2332#ifdef YY_USE_PROTOS
2333static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
2334#else
2335static yy_state_type yy_try_NUL_trans( yy_current_state )
2336yy_state_type yy_current_state;
2337#endif
2338 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002339 register int yy_is_jam;
2340
2341 register YY_CHAR yy_c = 1;
2342 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2343 {
2344 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencer3da59db2006-11-27 01:05:10 +00002345 if ( yy_current_state >= 576 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002346 yy_c = yy_meta[(unsigned int) yy_c];
2347 }
2348 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencer3da59db2006-11-27 01:05:10 +00002349 yy_is_jam = (yy_current_state == 575);
Owen Anderson1dc69692006-10-18 02:21:48 +00002350 if ( ! yy_is_jam )
2351 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002352
2353 return yy_is_jam ? 0 : yy_current_state;
Owen Anderson1dc69692006-10-18 02:21:48 +00002354 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002355
2356
Owen Anderson1dc69692006-10-18 02:21:48 +00002357#ifndef YY_NO_UNPUT
2358#ifdef YY_USE_PROTOS
2359static inline void yyunput( int c, register char *yy_bp )
2360#else
2361static inline void yyunput( c, yy_bp )
2362int c;
2363register char *yy_bp;
2364#endif
2365 {
2366 register char *yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002367
Owen Anderson1dc69692006-10-18 02:21:48 +00002368 /* undo effects of setting up yytext */
2369 *yy_cp = yy_hold_char;
2370
2371 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002372 { /* need to shift things up to make room */
2373 /* +2 for EOB chars. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002374 register int number_to_move = yy_n_chars + 2;
2375 register char *dest = &yy_current_buffer->yy_ch_buf[
2376 yy_current_buffer->yy_buf_size + 2];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002377 register char *source =
Owen Anderson1dc69692006-10-18 02:21:48 +00002378 &yy_current_buffer->yy_ch_buf[number_to_move];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002379
Owen Anderson1dc69692006-10-18 02:21:48 +00002380 while ( source > yy_current_buffer->yy_ch_buf )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002381 *--dest = *--source;
2382
2383 yy_cp += (int) (dest - source);
2384 yy_bp += (int) (dest - source);
Owen Anderson1dc69692006-10-18 02:21:48 +00002385 yy_current_buffer->yy_n_chars =
2386 yy_n_chars = yy_current_buffer->yy_buf_size;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002387
Owen Anderson1dc69692006-10-18 02:21:48 +00002388 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002389 YY_FATAL_ERROR( "flex scanner push-back overflow" );
2390 }
2391
2392 *--yy_cp = (char) c;
2393
Owen Anderson1dc69692006-10-18 02:21:48 +00002394 if ( c == '\n' )
2395 --yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002396
Owen Anderson1dc69692006-10-18 02:21:48 +00002397 yytext_ptr = yy_bp;
2398 yy_hold_char = *yy_cp;
2399 yy_c_buf_p = yy_cp;
2400 }
2401#endif /* ifndef YY_NO_UNPUT */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002402
Owen Anderson1dc69692006-10-18 02:21:48 +00002403
Reid Spencer3da59db2006-11-27 01:05:10 +00002404#ifndef YY_NO_INPUT
Reid Spencer68a24bd2005-08-27 18:50:39 +00002405#ifdef __cplusplus
Owen Anderson1dc69692006-10-18 02:21:48 +00002406static int yyinput()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002407#else
Owen Anderson1dc69692006-10-18 02:21:48 +00002408static int input()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002409#endif
Owen Anderson1dc69692006-10-18 02:21:48 +00002410 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002411 int c;
2412
Owen Anderson1dc69692006-10-18 02:21:48 +00002413 *yy_c_buf_p = yy_hold_char;
2414
2415 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002416 {
2417 /* yy_c_buf_p now points to the character we want to return.
2418 * If this occurs *before* the EOB characters, then it's a
2419 * valid NUL; if not, then we've hit the end of the buffer.
2420 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002421 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002422 /* This was really a NUL. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002423 *yy_c_buf_p = '\0';
Reid Spencer68a24bd2005-08-27 18:50:39 +00002424
2425 else
2426 { /* need more input */
Owen Anderson1dc69692006-10-18 02:21:48 +00002427 int offset = yy_c_buf_p - yytext_ptr;
2428 ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002429
Owen Anderson1dc69692006-10-18 02:21:48 +00002430 switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002431 {
2432 case EOB_ACT_LAST_MATCH:
2433 /* This happens because yy_g_n_b()
2434 * sees that we've accumulated a
2435 * token and flags that we need to
2436 * try matching the token before
2437 * proceeding. But for input(),
2438 * there's no matching to consider.
2439 * So convert the EOB_ACT_LAST_MATCH
2440 * to EOB_ACT_END_OF_FILE.
2441 */
2442
2443 /* Reset buffer status. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002444 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002445
Owen Anderson1dc69692006-10-18 02:21:48 +00002446 /* fall through */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002447
2448 case EOB_ACT_END_OF_FILE:
2449 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002450 if ( yywrap() )
Reid Spencer61c83e02006-08-18 08:43:06 +00002451 return EOF;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002452
Owen Anderson1dc69692006-10-18 02:21:48 +00002453 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002454 YY_NEW_FILE;
2455#ifdef __cplusplus
2456 return yyinput();
2457#else
2458 return input();
2459#endif
2460 }
2461
2462 case EOB_ACT_CONTINUE_SCAN:
Owen Anderson1dc69692006-10-18 02:21:48 +00002463 yy_c_buf_p = yytext_ptr + offset;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002464 break;
2465 }
2466 }
2467 }
2468
Owen Anderson1dc69692006-10-18 02:21:48 +00002469 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
2470 *yy_c_buf_p = '\0'; /* preserve yytext */
2471 yy_hold_char = *++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002472
2473 if ( c == '\n' )
Owen Anderson1dc69692006-10-18 02:21:48 +00002474 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002475
2476 return c;
2477 }
Reid Spencer3da59db2006-11-27 01:05:10 +00002478#endif /* YY_NO_INPUT */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002479
Owen Anderson1dc69692006-10-18 02:21:48 +00002480#ifdef YY_USE_PROTOS
2481void yyrestart( FILE *input_file )
2482#else
2483void yyrestart( input_file )
2484FILE *input_file;
2485#endif
2486 {
2487 if ( ! yy_current_buffer )
2488 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
2489
2490 yy_init_buffer( yy_current_buffer, input_file );
2491 yy_load_buffer_state();
2492 }
2493
2494
2495#ifdef YY_USE_PROTOS
2496void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
2497#else
2498void yy_switch_to_buffer( new_buffer )
2499YY_BUFFER_STATE new_buffer;
2500#endif
2501 {
2502 if ( yy_current_buffer == new_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002503 return;
2504
Owen Anderson1dc69692006-10-18 02:21:48 +00002505 if ( yy_current_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002506 {
2507 /* Flush out information for old buffer. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002508 *yy_c_buf_p = yy_hold_char;
2509 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
2510 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002511 }
2512
Owen Anderson1dc69692006-10-18 02:21:48 +00002513 yy_current_buffer = new_buffer;
2514 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002515
2516 /* We don't actually know whether we did this switch during
Owen Anderson1dc69692006-10-18 02:21:48 +00002517 * EOF (yywrap()) processing, but the only time this flag
2518 * is looked at is after yywrap() is called, so it's safe
Reid Spencer68a24bd2005-08-27 18:50:39 +00002519 * to go ahead and always set it.
2520 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002521 yy_did_buffer_switch_on_eof = 1;
2522 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002523
2524
Owen Anderson1dc69692006-10-18 02:21:48 +00002525#ifdef YY_USE_PROTOS
2526void yy_load_buffer_state( void )
2527#else
2528void yy_load_buffer_state()
2529#endif
2530 {
2531 yy_n_chars = yy_current_buffer->yy_n_chars;
2532 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
2533 yyin = yy_current_buffer->yy_input_file;
2534 yy_hold_char = *yy_c_buf_p;
2535 }
2536
2537
2538#ifdef YY_USE_PROTOS
2539YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
2540#else
2541YY_BUFFER_STATE yy_create_buffer( file, size )
2542FILE *file;
2543int size;
2544#endif
2545 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002546 YY_BUFFER_STATE b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002547
2548 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002549 if ( ! b )
Owen Anderson1dc69692006-10-18 02:21:48 +00002550 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002551
2552 b->yy_buf_size = size;
2553
2554 /* yy_ch_buf has to be 2 characters longer than the size given because
2555 * we need to put in 2 end-of-buffer characters.
2556 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002557 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002558 if ( ! b->yy_ch_buf )
Owen Anderson1dc69692006-10-18 02:21:48 +00002559 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002560
2561 b->yy_is_our_buffer = 1;
2562
Owen Anderson1dc69692006-10-18 02:21:48 +00002563 yy_init_buffer( b, file );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002564
2565 return b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002566 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002567
Owen Anderson1dc69692006-10-18 02:21:48 +00002568
2569#ifdef YY_USE_PROTOS
2570void yy_delete_buffer( YY_BUFFER_STATE b )
2571#else
2572void yy_delete_buffer( b )
2573YY_BUFFER_STATE b;
2574#endif
2575 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002576 if ( ! b )
2577 return;
2578
Owen Anderson1dc69692006-10-18 02:21:48 +00002579 if ( b == yy_current_buffer )
2580 yy_current_buffer = (YY_BUFFER_STATE) 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002581
2582 if ( b->yy_is_our_buffer )
Owen Anderson1dc69692006-10-18 02:21:48 +00002583 yy_flex_free( (void *) b->yy_ch_buf );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002584
Owen Anderson1dc69692006-10-18 02:21:48 +00002585 yy_flex_free( (void *) b );
2586 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002587
2588
Owen Anderson1dc69692006-10-18 02:21:48 +00002589
2590#ifdef YY_USE_PROTOS
2591void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
2592#else
2593void yy_init_buffer( b, file )
2594YY_BUFFER_STATE b;
2595FILE *file;
2596#endif
2597
2598
2599 {
2600 yy_flush_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002601
2602 b->yy_input_file = file;
2603 b->yy_fill_buffer = 1;
2604
Owen Anderson1dc69692006-10-18 02:21:48 +00002605#if YY_ALWAYS_INTERACTIVE
2606 b->yy_is_interactive = 1;
2607#else
2608#if YY_NEVER_INTERACTIVE
2609 b->yy_is_interactive = 0;
2610#else
2611 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
2612#endif
2613#endif
2614 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002615
2616
Owen Anderson1dc69692006-10-18 02:21:48 +00002617#ifdef YY_USE_PROTOS
2618void yy_flush_buffer( YY_BUFFER_STATE b )
2619#else
2620void yy_flush_buffer( b )
2621YY_BUFFER_STATE b;
2622#endif
2623
2624 {
2625 if ( ! b )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002626 return;
2627
2628 b->yy_n_chars = 0;
2629
2630 /* We always need two end-of-buffer characters. The first causes
2631 * a transition to the end-of-buffer state. The second causes
2632 * a jam in that state.
2633 */
2634 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2635 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2636
2637 b->yy_buf_pos = &b->yy_ch_buf[0];
2638
2639 b->yy_at_bol = 1;
2640 b->yy_buffer_status = YY_BUFFER_NEW;
2641
Owen Anderson1dc69692006-10-18 02:21:48 +00002642 if ( b == yy_current_buffer )
2643 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002644 }
2645
2646
Owen Anderson1dc69692006-10-18 02:21:48 +00002647#ifndef YY_NO_SCAN_BUFFER
2648#ifdef YY_USE_PROTOS
2649YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
2650#else
2651YY_BUFFER_STATE yy_scan_buffer( base, size )
2652char *base;
2653yy_size_t size;
2654#endif
2655 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002656 YY_BUFFER_STATE b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002657
Reid Spencer68a24bd2005-08-27 18:50:39 +00002658 if ( size < 2 ||
2659 base[size-2] != YY_END_OF_BUFFER_CHAR ||
2660 base[size-1] != YY_END_OF_BUFFER_CHAR )
2661 /* They forgot to leave room for the EOB's. */
2662 return 0;
2663
Owen Anderson1dc69692006-10-18 02:21:48 +00002664 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002665 if ( ! b )
Owen Anderson1dc69692006-10-18 02:21:48 +00002666 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002667
2668 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2669 b->yy_buf_pos = b->yy_ch_buf = base;
2670 b->yy_is_our_buffer = 0;
2671 b->yy_input_file = 0;
2672 b->yy_n_chars = b->yy_buf_size;
2673 b->yy_is_interactive = 0;
2674 b->yy_at_bol = 1;
2675 b->yy_fill_buffer = 0;
2676 b->yy_buffer_status = YY_BUFFER_NEW;
2677
Owen Anderson1dc69692006-10-18 02:21:48 +00002678 yy_switch_to_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002679
2680 return b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002681 }
2682#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002683
2684
Owen Anderson1dc69692006-10-18 02:21:48 +00002685#ifndef YY_NO_SCAN_STRING
2686#ifdef YY_USE_PROTOS
2687YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
2688#else
2689YY_BUFFER_STATE yy_scan_string( yy_str )
2690yyconst char *yy_str;
2691#endif
2692 {
2693 int len;
2694 for ( len = 0; yy_str[len]; ++len )
2695 ;
2696
2697 return yy_scan_bytes( yy_str, len );
2698 }
2699#endif
2700
2701
2702#ifndef YY_NO_SCAN_BYTES
2703#ifdef YY_USE_PROTOS
2704YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
2705#else
2706YY_BUFFER_STATE yy_scan_bytes( bytes, len )
2707yyconst char *bytes;
2708int len;
2709#endif
2710 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002711 YY_BUFFER_STATE b;
2712 char *buf;
2713 yy_size_t n;
2714 int i;
Owen Anderson1dc69692006-10-18 02:21:48 +00002715
Reid Spencer68a24bd2005-08-27 18:50:39 +00002716 /* Get memory for full buffer, including space for trailing EOB's. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002717 n = len + 2;
2718 buf = (char *) yy_flex_alloc( n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002719 if ( ! buf )
Owen Anderson1dc69692006-10-18 02:21:48 +00002720 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002721
Owen Anderson1dc69692006-10-18 02:21:48 +00002722 for ( i = 0; i < len; ++i )
2723 buf[i] = bytes[i];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002724
Owen Anderson1dc69692006-10-18 02:21:48 +00002725 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002726
Owen Anderson1dc69692006-10-18 02:21:48 +00002727 b = yy_scan_buffer( buf, n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002728 if ( ! b )
Owen Anderson1dc69692006-10-18 02:21:48 +00002729 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002730
2731 /* It's okay to grow etc. this buffer, and we should throw it
2732 * away when we're done.
2733 */
2734 b->yy_is_our_buffer = 1;
2735
2736 return b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002737 }
2738#endif
2739
2740
2741#ifndef YY_NO_PUSH_STATE
2742#ifdef YY_USE_PROTOS
2743static void yy_push_state( int new_state )
2744#else
2745static void yy_push_state( new_state )
2746int new_state;
2747#endif
2748 {
2749 if ( yy_start_stack_ptr >= yy_start_stack_depth )
2750 {
2751 yy_size_t new_size;
2752
2753 yy_start_stack_depth += YY_START_STACK_INCR;
2754 new_size = yy_start_stack_depth * sizeof( int );
2755
2756 if ( ! yy_start_stack )
2757 yy_start_stack = (int *) yy_flex_alloc( new_size );
2758
2759 else
2760 yy_start_stack = (int *) yy_flex_realloc(
2761 (void *) yy_start_stack, new_size );
2762
2763 if ( ! yy_start_stack )
2764 YY_FATAL_ERROR(
2765 "out of memory expanding start-condition stack" );
2766 }
2767
2768 yy_start_stack[yy_start_stack_ptr++] = YY_START;
2769
2770 BEGIN(new_state);
2771 }
2772#endif
2773
2774
2775#ifndef YY_NO_POP_STATE
2776static void yy_pop_state()
2777 {
2778 if ( --yy_start_stack_ptr < 0 )
2779 YY_FATAL_ERROR( "start-condition stack underflow" );
2780
2781 BEGIN(yy_start_stack[yy_start_stack_ptr]);
2782 }
2783#endif
2784
2785
2786#ifndef YY_NO_TOP_STATE
2787static int yy_top_state()
2788 {
2789 return yy_start_stack[yy_start_stack_ptr - 1];
2790 }
2791#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002792
2793#ifndef YY_EXIT_FAILURE
2794#define YY_EXIT_FAILURE 2
2795#endif
2796
Owen Anderson1dc69692006-10-18 02:21:48 +00002797#ifdef YY_USE_PROTOS
2798static void yy_fatal_error( yyconst char msg[] )
2799#else
2800static void yy_fatal_error( msg )
2801char msg[];
2802#endif
2803 {
2804 (void) fprintf( stderr, "%s\n", msg );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002805 exit( YY_EXIT_FAILURE );
Owen Anderson1dc69692006-10-18 02:21:48 +00002806 }
2807
2808
Reid Spencer68a24bd2005-08-27 18:50:39 +00002809
2810/* Redefine yyless() so it works in section 3 code. */
2811
2812#undef yyless
2813#define yyless(n) \
2814 do \
2815 { \
Owen Anderson1dc69692006-10-18 02:21:48 +00002816 /* Undo effects of setting up yytext. */ \
2817 yytext[yyleng] = yy_hold_char; \
2818 yy_c_buf_p = yytext + n; \
2819 yy_hold_char = *yy_c_buf_p; \
2820 *yy_c_buf_p = '\0'; \
2821 yyleng = n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00002822 } \
2823 while ( 0 )
2824
2825
Owen Anderson1dc69692006-10-18 02:21:48 +00002826/* Internal utility routines. */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002827
2828#ifndef yytext_ptr
Owen Anderson1dc69692006-10-18 02:21:48 +00002829#ifdef YY_USE_PROTOS
2830static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
2831#else
2832static void yy_flex_strncpy( s1, s2, n )
2833char *s1;
2834yyconst char *s2;
2835int n;
2836#endif
2837 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002838 register int i;
2839 for ( i = 0; i < n; ++i )
2840 s1[i] = s2[i];
Owen Anderson1dc69692006-10-18 02:21:48 +00002841 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002842#endif
2843
2844#ifdef YY_NEED_STRLEN
Owen Anderson1dc69692006-10-18 02:21:48 +00002845#ifdef YY_USE_PROTOS
2846static int yy_flex_strlen( yyconst char *s )
2847#else
2848static int yy_flex_strlen( s )
2849yyconst char *s;
2850#endif
2851 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002852 register int n;
2853 for ( n = 0; s[n]; ++n )
2854 ;
2855
2856 return n;
Owen Anderson1dc69692006-10-18 02:21:48 +00002857 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002858#endif
2859
Reid Spencer68a24bd2005-08-27 18:50:39 +00002860
Owen Anderson1dc69692006-10-18 02:21:48 +00002861#ifdef YY_USE_PROTOS
2862static void *yy_flex_alloc( yy_size_t size )
2863#else
2864static void *yy_flex_alloc( size )
2865yy_size_t size;
2866#endif
2867 {
2868 return (void *) malloc( size );
2869 }
2870
2871#ifdef YY_USE_PROTOS
2872static inline void *yy_flex_realloc( void *ptr, yy_size_t size )
2873#else
2874static inline void *yy_flex_realloc( ptr, size )
2875void *ptr;
2876yy_size_t size;
2877#endif
2878 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002879 /* The cast to (char *) in the following accommodates both
2880 * implementations that use char* generic pointers, and those
2881 * that use void* generic pointers. It works with the latter
2882 * because both ANSI C and C++ allow castless assignment from
2883 * any pointer type to void*, and deal with argument conversions
2884 * as though doing an assignment.
2885 */
2886 return (void *) realloc( (char *) ptr, size );
Owen Anderson1dc69692006-10-18 02:21:48 +00002887 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002888
Owen Anderson1dc69692006-10-18 02:21:48 +00002889#ifdef YY_USE_PROTOS
2890static void yy_flex_free( void *ptr )
2891#else
2892static void yy_flex_free( ptr )
2893void *ptr;
2894#endif
2895 {
2896 free( ptr );
2897 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002898
Owen Anderson1dc69692006-10-18 02:21:48 +00002899#if YY_MAIN
2900int main()
2901 {
2902 yylex();
2903 return 0;
2904 }
2905#endif
Reid Spencer3da59db2006-11-27 01:05:10 +00002906#line 404 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Chris Lattner2fecc0f2006-02-15 07:02:59 +00002907