blob: a0da31516223ee4d80248015f299f995f02d01bb [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 Spencer6fd36ab2006-12-29 20:35:03 +0000320#define YY_NUM_RULES 142
321#define YY_END_OF_BUFFER 143
322static yyconst short int yy_acclist[220] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000323 { 0,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000324 143, 141, 142, 140, 141, 142, 140, 142, 141, 142,
325 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
326 133, 141, 142, 133, 141, 142, 1, 141, 142, 141,
327 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
328 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
329 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
330 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
331 142, 132, 130, 129, 129, 136, 134, 138, 133, 1,
332 115, 39, 75, 76, 71, 23, 132, 129, 129, 137,
333 138, 20, 138, 139, 61, 70, 37, 32, 40, 3,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000334
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000335 52, 63, 85, 90, 88, 89, 87, 86, 91, 95,
336 114, 80, 78, 110, 79, 77, 62, 93, 84, 82,
337 83, 81, 94, 92, 72, 131, 138, 138, 112, 47,
338 96, 74, 66, 122, 69, 73, 123, 54, 111, 22,
339 135, 65, 99, 68, 24, 4, 59, 64, 53, 67,
340 46, 12, 98, 138, 34, 2, 5, 56, 101, 58,
341 48, 50, 124, 97, 49, 55, 21, 121, 43, 7,
342 57, 28, 42, 105, 104, 8, 117, 31, 120, 36,
343 60, 109, 103, 116, 25, 26, 102, 118, 51, 113,
344 108, 41, 6, 27, 100, 35, 9, 17, 10, 106,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000345
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000346 11, 107, 33, 13, 15, 14, 30, 38, 16, 29,
347 119, 125, 127, 128, 44, 126, 18, 45, 19
Reid Spencer68a24bd2005-08-27 18:50:39 +0000348 } ;
349
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000350static yyconst short int yy_accept[574] =
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,
Reid Spencera132e042006-12-03 05:46:11 +0000358 82, 83, 83, 83, 83, 83, 83, 83, 83, 84,
Owen Anderson1dc69692006-10-18 02:21:48 +0000359 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
Reid Spencera132e042006-12-03 05:46:11 +0000360 84, 84, 84, 84, 84, 84, 84, 84, 84, 85,
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000361 85, 85, 85, 85, 85, 85, 86, 86, 86, 86,
Owen Anderson1dc69692006-10-18 02:21:48 +0000362
Reid Spencera132e042006-12-03 05:46:11 +0000363 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000364 86, 86, 86, 86, 87, 87, 87, 87, 87, 87,
Reid Spencera132e042006-12-03 05:46:11 +0000365 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000366 87, 87, 88, 89, 91, 92, 93, 94, 94, 95,
367 96, 96, 96, 97, 97, 97, 98, 98, 99, 99,
368 99, 99, 100, 100, 100, 100, 100, 100, 100, 100,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000369 100, 100, 101, 101, 101, 101, 101, 101, 101, 101,
370 101, 101, 101, 101, 101, 101, 101, 102, 102, 102,
371 102, 102, 102, 102, 102, 102, 102, 103, 103, 104,
372 105, 106, 107, 108, 109, 109, 110, 111, 111, 111,
Reid Spencer3da59db2006-11-27 01:05:10 +0000373
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000374 112, 112, 112, 112, 112, 112, 112, 113, 114, 115,
375 115, 115, 115, 115, 116, 117, 117, 117, 118, 118,
376 118, 118, 118, 118, 118, 118, 118, 119, 120, 121,
377 121, 121, 122, 122, 123, 123, 124, 125, 125, 125,
378 125, 125, 125, 125, 125, 125, 125, 126, 126, 126,
379 127, 128, 128, 128, 128, 129, 129, 129, 129, 130,
380 130, 130, 131, 132, 132, 132, 132, 132, 132, 132,
381 132, 132, 132, 132, 132, 132, 132, 132, 132, 133,
382 134, 134, 134, 134, 134, 135, 136, 136, 136, 137,
383 137, 137, 137, 137, 137, 137, 137, 137, 138, 139,
Owen Anderson1dc69692006-10-18 02:21:48 +0000384
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000385 140, 140, 140, 141, 141, 141, 141, 142, 142, 143,
386 143, 143, 144, 144, 144, 144, 144, 145, 145, 145,
387 146, 146, 146, 147, 147, 148, 148, 149, 150, 150,
388 150, 150, 150, 150, 151, 151, 151, 152, 152, 153,
389 153, 153, 154, 155, 156, 156, 156, 157, 157, 157,
390 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
391 157, 157, 158, 158, 159, 160, 160, 160, 160, 160,
392 160, 160, 160, 160, 160, 160, 161, 161, 161, 161,
393 161, 161, 161, 161, 162, 162, 162, 163, 163, 163,
394 163, 164, 164, 164, 164, 165, 166, 166, 167, 168,
Owen Anderson1dc69692006-10-18 02:21:48 +0000395
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000396 168, 168, 168, 168, 168, 168, 168, 168, 169, 169,
397 169, 170, 170, 170, 170, 170, 171, 171, 171, 171,
398 172, 173, 173, 173, 174, 175, 176, 176, 176, 177,
399 177, 177, 177, 177, 178, 178, 179, 180, 181, 182,
400 182, 182, 182, 183, 183, 183, 184, 185, 186, 187,
401 188, 188, 189, 190, 191, 191, 191, 191, 191, 191,
402 192, 192, 193, 193, 194, 195, 195, 195, 195, 195,
403 195, 196, 196, 196, 196, 196, 196, 196, 196, 196,
404 197, 197, 197, 197, 197, 197, 197, 197, 197, 198,
405 198, 198, 198, 198, 199, 199, 199, 199, 199, 200,
Owen Anderson1dc69692006-10-18 02:21:48 +0000406
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000407 201, 202, 202, 203, 203, 203, 203, 204, 204, 204,
408 204, 205, 205, 206, 207, 207, 207, 207, 207, 207,
409 207, 207, 207, 207, 207, 207, 207, 208, 208, 208,
410 208, 208, 208, 208, 208, 209, 209, 209, 209, 209,
411 210, 210, 210, 210, 210, 211, 211, 212, 212, 212,
412 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
413 213, 213, 214, 215, 215, 216, 216, 217, 218, 219,
414 219, 220, 220
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 Spencer6fd36ab2006-12-29 20:35:03 +0000458static yyconst short int yy_base[578] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000459 { 0,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000460 0, 0, 1234, 1235, 1235, 1235, 1229, 1218, 36, 40,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000461 44, 50, 56, 62, 0, 63, 66, 81, 89, 47,
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000462 108, 91, 95, 92, 72, 109, 134, 119, 117, 160,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000463 120, 191, 139, 121, 136, 150, 1227, 1235, 1216, 1235,
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000464 0, 165, 180, 197, 219, 70, 224, 239, 244, 0,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000465 68, 152, 93, 128, 158, 190, 245, 31, 1215, 188,
466 182, 211, 48, 207, 248, 210, 122, 124, 1214, 209,
467 257, 259, 185, 260, 261, 262, 263, 264, 265, 266,
468 269, 274, 273, 283, 277, 287, 293, 295, 1213, 297,
469 298, 299, 304, 305, 306, 307, 303, 317, 319, 309,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000470
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000471 46, 320, 321, 324, 326, 323, 329, 333, 336, 325,
472 344, 346, 353, 1212, 354, 357, 355, 358, 360, 361,
473 362, 363, 382, 364, 365, 388, 389, 393, 231, 375,
474 394, 1211, 0, 413, 420, 1210, 434, 451, 0, 1209,
475 395, 369, 1208, 405, 399, 1207, 413, 1206, 428, 407,
476 424, 1205, 438, 436, 452, 454, 425, 442, 441, 453,
477 457, 460, 465, 467, 464, 469, 180, 470, 468, 472,
478 476, 471, 477, 478, 479, 482, 496, 481, 498, 500,
479 501, 502, 504, 506, 503, 484, 1204, 511, 1203, 1202,
480 1201, 1200, 1199, 1198, 509, 1197, 1196, 513, 512, 1195,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000481
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000482 540, 517, 516, 521, 522, 528, 1194, 1193, 1192, 532,
483 523, 525, 552, 1191, 1190, 555, 554, 1189, 556, 557,
484 558, 559, 564, 565, 560, 561, 1188, 1187, 1186, 562,
485 566, 1185, 563, 1184, 567, 1183, 1182, 568, 582, 587,
486 588, 589, 590, 591, 593, 397, 1181, 592, 597, 1235,
487 615, 629, 603, 633, 638, 604, 608, 639, 1180, 640,
488 641, 1179, 1178, 609, 619, 643, 644, 645, 647, 648,
489 649, 651, 653, 655, 652, 658, 662, 665, 1177, 1176,
490 654, 669, 674, 670, 1175, 1174, 675, 678, 1173, 679,
491 680, 681, 682, 685, 689, 687, 691, 1172, 1171, 1170,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000492
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000493 693, 695, 1169, 684, 686, 697, 0, 703, 1168, 707,
494 714, 1167, 713, 716, 718, 719, 1166, 722, 717, 1165,
495 723, 725, 1164, 728, 1163, 730, 1162, 1161, 733, 734,
496 737, 741, 738, 1160, 742, 744, 1159, 748, 1158, 750,
497 749, 1157, 755, 1156, 756, 758, 1155, 757, 767, 759,
498 768, 773, 769, 776, 777, 770, 780, 782, 781, 784,
499 786, 1154, 787, 1153, 1152, 792, 795, 796, 788, 800,
500 802, 803, 804, 806, 807, 1151, 810, 811, 812, 814,
501 822, 824, 817, 1150, 828, 809, 1149, 829, 835, 834,
502 1148, 605, 836, 838, 1147, 1146, 837, 1145, 1144, 841,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000503
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000504 842, 839, 840, 852, 849, 843, 855, 1143, 857, 858,
505 1142, 860, 861, 863, 864, 1141, 867, 869, 874, 1140,
506 1139, 871, 878, 1138, 1137, 1136, 879, 880, 1135, 884,
507 885, 883, 882, 1134, 890, 1133, 1132, 1131, 1130, 895,
508 898, 900, 1129, 899, 902, 1128, 1127, 1126, 1125, 1124,
509 906, 1123, 1122, 1121, 904, 903, 913, 907, 909, 1120,
510 910, 1119, 911, 1118, 1117, 914, 922, 923, 924, 927,
511 1116, 928, 930, 931, 938, 934, 932, 940, 942, 1115,
512 944, 945, 951, 948, 950, 952, 958, 960, 1114, 961,
513 963, 964, 966, 1113, 967, 972, 968, 970, 1112, 1111,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000514
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000515 1110, 977, 1109, 974, 988, 978, 1106, 992, 993, 994,
516 1097, 980, 1095, 1094, 996, 997, 1000, 1004, 1002, 976,
517 1008, 1010, 1011, 1012, 1013, 1014, 1093, 1016, 1020, 1021,
518 1022, 1025, 1029, 1024, 1091, 1032, 1027, 1031, 1035, 1090,
519 1039, 1037, 1043, 1044, 1089, 1049, 1088, 1051, 1052, 1055,
520 1053, 1054, 1058, 1057, 1062, 1064, 1065, 1063, 1073, 1085,
521 1069, 1084, 1082, 1074, 1079, 1078, 520, 427, 368, 1077,
522 328, 1235, 1112, 1114, 287, 1118, 151
Reid Spencer68a24bd2005-08-27 18:50:39 +0000523 } ;
524
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000525static yyconst short int yy_def[578] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000526 { 0,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000527 572, 1, 572, 572, 572, 572, 573, 574, 575, 572,
528 574, 574, 574, 574, 576, 574, 574, 574, 574, 574,
529 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
530 574, 574, 574, 574, 574, 574, 573, 572, 574, 572,
531 577, 577, 572, 572, 574, 574, 574, 574, 574, 576,
532 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
533 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
534 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
535 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
536 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000537
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000538 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
539 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
540 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
541 574, 572, 577, 577, 572, 574, 574, 574, 49, 574,
542 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
543 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
544 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
545 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
546 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
547 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000548
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000549 49, 574, 574, 574, 574, 574, 574, 574, 574, 574,
550 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
551 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
552 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
553 574, 574, 574, 574, 574, 574, 574, 574, 574, 572,
554 572, 572, 572, 574, 574, 574, 574, 574, 574, 574,
555 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
556 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
557 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
558 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000559
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000560 574, 574, 574, 574, 574, 574, 201, 574, 574, 574,
561 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
562 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
563 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
564 574, 574, 572, 574, 574, 574, 574, 574, 574, 574,
565 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
566 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
567 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
568 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
569 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000570
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000571 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
572 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
573 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
574 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
575 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
576 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
577 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
578 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
579 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
580 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000581
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000582 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
583 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
584 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
585 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
586 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
587 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
588 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
589 574, 0, 572, 572, 572, 572, 572
Reid Spencer68a24bd2005-08-27 18:50:39 +0000590 } ;
591
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000592static yyconst short int yy_nxt[1279] =
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 Spencer6e18b7d2006-12-03 06:59:29 +0000599 44, 44, 44, 45, 45, 45, 45, 40, 46, 40,
600 40, 40, 150, 40, 47, 48, 48, 48, 48, 40,
601 47, 48, 48, 48, 48, 40, 40, 68, 136, 40,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000602 69, 40, 155, 40, 51, 40, 201, 70, 56, 140,
Reid Spencera132e042006-12-03 05:46:11 +0000603 86, 52, 57, 53, 40, 54, 49, 58, 55, 60,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000604
Reid Spencera132e042006-12-03 05:46:11 +0000605 59, 61, 40, 87, 40, 40, 40, 64, 40, 88,
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000606 82, 65, 62, 77, 143, 79, 63, 66, 83, 78,
Reid Spencera132e042006-12-03 05:46:11 +0000607 67, 40, 40, 84, 80, 81, 71, 85, 72, 73,
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000608 40, 89, 40, 40, 40, 40, 74, 40, 113, 100,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000609 75, 40, 76, 128, 97, 162, 90, 40, 129, 40,
610 98, 114, 40, 133, 115, 99, 91, 126, 92, 161,
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000611 144, 116, 93, 40, 94, 40, 95, 130, 96, 101,
612 127, 40, 131, 40, 134, 134, 134, 134, 141, 102,
613 142, 103, 104, 145, 105, 106, 107, 146, 108, 43,
614 43, 43, 43, 40, 109, 40, 110, 111, 40, 112,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000615
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000616 101, 40, 152, 40, 40, 135, 44, 44, 44, 44,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000617 117, 167, 118, 119, 147, 120, 151, 121, 280, 122,
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000618 40, 123, 40, 40, 40, 124, 125, 47, 45, 45,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000619 45, 45, 40, 137, 137, 137, 137, 40, 160, 153,
620 138, 154, 246, 156, 40, 163, 138, 47, 48, 48,
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000621 48, 48, 40, 139, 139, 139, 139, 40, 40, 139,
622 139, 40, 139, 139, 139, 139, 139, 139, 157, 148,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000623 40, 158, 40, 40, 40, 40, 40, 40, 40, 40,
624 159, 149, 40, 169, 171, 164, 40, 40, 166, 41,
625 40, 168, 165, 179, 174, 173, 40, 170, 175, 172,
626
627 40, 182, 184, 180, 176, 177, 40, 178, 40, 181,
628 40, 40, 40, 183, 186, 185, 40, 40, 40, 40,
629 40, 190, 40, 187, 195, 188, 192, 194, 196, 197,
630 40, 189, 40, 40, 40, 191, 40, 40, 40, 40,
631 193, 40, 40, 198, 204, 200, 40, 203, 207, 40,
632 212, 209, 205, 199, 210, 214, 217, 40, 216, 40,
633 211, 202, 208, 218, 206, 213, 40, 40, 40, 215,
634 40, 40, 219, 40, 40, 40, 40, 40, 40, 220,
635 222, 40, 40, 228, 226, 232, 240, 221, 40, 224,
636 241, 223, 230, 227, 233, 40, 225, 229, 231, 234,
637
638 257, 40, 40, 235, 236, 242, 40, 40, 40, 247,
639 40, 245, 40, 237, 340, 243, 238, 244, 40, 256,
640 40, 239, 134, 134, 134, 134, 40, 258, 248, 251,
641 251, 251, 251, 259, 249, 262, 252, 40, 40, 260,
642 40, 40, 252, 137, 137, 137, 137, 40, 261, 40,
643 138, 40, 263, 268, 40, 40, 138, 253, 254, 264,
644 255, 255, 255, 255, 40, 40, 40, 40, 269, 270,
645 40, 265, 267, 40, 266, 271, 273, 40, 40, 272,
646 40, 40, 40, 40, 40, 40, 274, 275, 281, 40,
647 40, 40, 40, 287, 40, 40, 288, 40, 285, 276,
648
649 278, 279, 277, 283, 291, 286, 284, 290, 282, 40,
650 289, 40, 294, 40, 40, 40, 40, 40, 292, 40,
651 295, 302, 40, 298, 40, 40, 40, 296, 299, 40,
652 40, 301, 293, 40, 40, 40, 40, 297, 40, 303,
653 300, 40, 304, 305, 311, 40, 314, 315, 306, 307,
654 307, 307, 307, 308, 309, 307, 307, 310, 307, 307,
655 307, 307, 307, 307, 312, 40, 313, 40, 40, 40,
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000656 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000657 40, 40, 321, 316, 317, 320, 323, 325, 318, 331,
658 332, 322, 319, 330, 324, 40, 326, 329, 328, 327,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000659
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000660 40, 40, 40, 40, 40, 40, 40, 336, 333, 338,
661 40, 337, 343, 343, 343, 343, 334, 40, 40, 335,
662 339, 40, 40, 341, 251, 251, 251, 251, 345, 349,
663 447, 252, 40, 342, 344, 253, 253, 252, 343, 343,
664 343, 343, 255, 255, 255, 255, 40, 255, 255, 255,
665 255, 40, 40, 40, 40, 350, 40, 40, 40, 348,
666 40, 40, 40, 353, 40, 40, 40, 40, 40, 346,
667 347, 40, 352, 359, 355, 40, 361, 354, 40, 351,
668 357, 358, 40, 40, 362, 363, 360, 40, 40, 356,
669 364, 40, 40, 40, 40, 40, 370, 40, 40, 40,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000670
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000671 40, 371, 40, 369, 40, 365, 40, 368, 40, 366,
672 40, 367, 375, 374, 372, 373, 40, 376, 377, 378,
673 40, 381, 382, 380, 379, 384, 40, 40, 383, 40,
674 40, 40, 40, 385, 386, 40, 40, 392, 40, 388,
675 389, 40, 390, 40, 391, 393, 40, 40, 395, 387,
676 40, 40, 396, 394, 40, 40, 397, 40, 398, 400,
677 399, 40, 40, 40, 343, 343, 343, 343, 401, 40,
678 40, 40, 40, 405, 408, 407, 402, 412, 403, 409,
679 40, 40, 40, 40, 404, 406, 40, 411, 413, 40,
680 40, 414, 410, 40, 40, 40, 417, 40, 416, 40,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000681
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000682 40, 40, 418, 415, 420, 40, 423, 424, 40, 40,
683 428, 421, 419, 40, 422, 40, 40, 40, 425, 40,
684 40, 426, 40, 40, 40, 40, 427, 40, 429, 434,
685 40, 430, 437, 436, 432, 40, 438, 40, 433, 431,
686 435, 40, 40, 441, 439, 443, 440, 40, 40, 40,
687 40, 40, 40, 40, 40, 40, 40, 444, 445, 442,
688 449, 451, 40, 452, 454, 40, 446, 456, 40, 450,
689 40, 40, 448, 40, 40, 453, 40, 40, 455, 457,
690 40, 462, 40, 459, 40, 458, 464, 40, 468, 469,
691 461, 40, 40, 40, 460, 40, 40, 40, 40, 471,
Reid Spencer3da59db2006-11-27 01:05:10 +0000692
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000693 466, 475, 465, 40, 463, 467, 473, 474, 40, 472,
694 477, 40, 40, 40, 470, 40, 40, 40, 476, 40,
695 40, 481, 40, 40, 40, 482, 40, 40, 479, 478,
696 480, 483, 484, 487, 486, 40, 40, 40, 485, 488,
697 40, 40, 490, 40, 40, 40, 489, 40, 491, 495,
698 496, 40, 494, 40, 501, 40, 492, 40, 40, 498,
699 497, 40, 493, 40, 40, 40, 499, 505, 500, 506,
700 507, 40, 509, 40, 40, 502, 40, 40, 503, 40,
701 40, 40, 504, 40, 511, 40, 508, 40, 515, 40,
702 40, 40, 519, 40, 510, 516, 521, 523, 512, 513,
Reid Spencer3da59db2006-11-27 01:05:10 +0000703
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000704 514, 40, 517, 520, 518, 40, 40, 40, 522, 40,
705 40, 525, 524, 40, 528, 40, 527, 40, 533, 529,
706 526, 40, 531, 40, 40, 40, 40, 40, 534, 40,
707 537, 532, 539, 40, 40, 40, 530, 40, 40, 536,
708 40, 538, 40, 540, 40, 40, 535, 544, 40, 541,
709 40, 545, 40, 542, 547, 548, 40, 40, 543, 549,
710 546, 551, 40, 550, 40, 40, 40, 40, 40, 553,
711 40, 40, 557, 552, 554, 40, 40, 40, 40, 556,
712 555, 558, 40, 559, 564, 565, 40, 40, 560, 561,
713 40, 40, 40, 562, 569, 40, 563, 40, 40, 568,
Reid Spencer3da59db2006-11-27 01:05:10 +0000714
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000715 570, 40, 40, 40, 40, 566, 40, 40, 40, 567,
716 40, 571, 37, 37, 37, 37, 39, 39, 50, 40,
717 50, 50, 40, 40, 40, 40, 40, 40, 40, 40,
Reid Spencer3da59db2006-11-27 01:05:10 +0000718 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Chris Lattner0e9c3762006-01-25 22:27:16 +0000719 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Chris Lattnerd5efe842006-04-08 01:18:56 +0000720 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
721 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Chris Lattner75466192006-05-19 21:28:53 +0000722 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Reid Spencere4d87aa2006-12-23 06:05:41 +0000723 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
724 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,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000727 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
728 40, 40, 40, 40, 250, 40, 40, 40, 40, 40,
729 132, 40, 38, 572, 3, 572, 572, 572, 572, 572,
730 572, 572, 572, 572, 572, 572, 572, 572, 572, 572,
731 572, 572, 572, 572, 572, 572, 572, 572, 572, 572,
732 572, 572, 572, 572, 572, 572, 572, 572, 572, 572,
733 572, 572, 572, 572, 572, 572, 572, 572
Reid Spencer68a24bd2005-08-27 18:50:39 +0000734 } ;
735
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000736static yyconst short int yy_chk[1279] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000737 { 0,
738 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
739 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
740 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
741 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000742 1, 1, 1, 9, 58, 9, 9, 9, 9, 10,
743 10, 10, 10, 11, 11, 11, 11, 11, 12, 101,
744 20, 63, 58, 12, 13, 13, 13, 13, 13, 13,
745 14, 14, 14, 14, 14, 14, 16, 20, 46, 17,
746 20, 51, 63, 46, 16, 25, 101, 20, 17, 51,
Reid Spencera132e042006-12-03 05:46:11 +0000747 25, 16, 17, 16, 18, 16, 13, 17, 16, 18,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000748
Reid Spencera132e042006-12-03 05:46:11 +0000749 17, 18, 19, 25, 22, 24, 53, 19, 23, 25,
750 24, 19, 18, 22, 53, 23, 18, 19, 24, 22,
751 19, 21, 26, 24, 23, 23, 21, 24, 21, 21,
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000752 29, 26, 28, 31, 34, 67, 21, 68, 31, 29,
753 21, 54, 21, 34, 28, 68, 26, 27, 35, 35,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000754 28, 31, 33, 577, 31, 28, 27, 33, 27, 67,
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000755 54, 31, 27, 36, 27, 52, 27, 35, 27, 30,
756 33, 55, 36, 30, 42, 42, 42, 42, 52, 30,
757 52, 30, 30, 55, 30, 30, 30, 55, 30, 43,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000758 43, 43, 43, 167, 30, 61, 30, 30, 73, 30,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000759
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000760 32, 60, 61, 56, 32, 44, 44, 44, 44, 44,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000761 32, 73, 32, 32, 56, 32, 60, 32, 167, 32,
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000762 64, 32, 70, 66, 62, 32, 32, 45, 45, 45,
763 45, 45, 45, 47, 47, 47, 47, 47, 66, 62,
764 47, 62, 129, 64, 129, 70, 47, 48, 48, 48,
765 48, 48, 48, 49, 49, 49, 49, 49, 57, 49,
766 49, 65, 49, 49, 49, 49, 49, 49, 65, 57,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000767 71, 65, 72, 74, 75, 76, 77, 78, 79, 80,
768 65, 57, 81, 75, 76, 71, 83, 82, 72, 575,
769 85, 74, 71, 82, 79, 78, 84, 75, 80, 77,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000770
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000771 86, 84, 85, 83, 81, 81, 87, 81, 88, 83,
772 90, 91, 92, 84, 87, 86, 97, 93, 94, 95,
773 96, 92, 100, 88, 95, 90, 93, 94, 96, 97,
774 98, 91, 99, 102, 103, 92, 106, 104, 110, 105,
775 93, 571, 107, 98, 104, 100, 108, 103, 105, 109,
776 107, 106, 104, 99, 106, 108, 110, 111, 109, 112,
777 106, 102, 105, 111, 104, 107, 113, 115, 117, 108,
778 116, 118, 112, 119, 120, 121, 122, 124, 125, 113,
779 115, 569, 142, 120, 118, 122, 124, 113, 130, 116,
780 125, 115, 121, 119, 122, 123, 117, 120, 121, 122,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000781
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000782 142, 126, 127, 123, 123, 126, 128, 131, 141, 130,
783 246, 128, 145, 123, 246, 127, 123, 127, 144, 141,
784 150, 123, 134, 134, 134, 134, 147, 144, 131, 135,
785 135, 135, 135, 145, 131, 150, 135, 151, 157, 147,
786 568, 149, 135, 137, 137, 137, 137, 137, 149, 154,
787 137, 153, 151, 157, 159, 158, 137, 138, 138, 153,
788 138, 138, 138, 138, 138, 155, 160, 156, 158, 159,
789 161, 154, 156, 162, 155, 160, 161, 165, 163, 160,
790 164, 169, 166, 168, 172, 170, 162, 163, 168, 171,
791 173, 174, 175, 172, 178, 176, 173, 186, 171, 163,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000792
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000793 165, 166, 164, 170, 176, 171, 170, 175, 169, 177,
794 174, 179, 178, 180, 181, 182, 185, 183, 177, 184,
795 179, 186, 195, 182, 188, 199, 198, 180, 183, 203,
796 202, 185, 177, 567, 204, 205, 211, 181, 212, 188,
797 184, 206, 195, 198, 205, 210, 211, 212, 199, 201,
798 201, 201, 201, 202, 203, 201, 201, 204, 201, 201,
799 201, 201, 201, 201, 206, 213, 210, 217, 216, 219,
800 220, 221, 222, 225, 226, 230, 233, 223, 224, 231,
801 235, 238, 221, 213, 216, 220, 223, 224, 217, 235,
802 238, 222, 219, 233, 223, 239, 225, 231, 230, 226,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000803
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000804 240, 241, 242, 243, 244, 248, 245, 242, 239, 244,
805 249, 243, 253, 253, 253, 253, 240, 256, 392, 241,
806 245, 257, 264, 248, 251, 251, 251, 251, 257, 264,
807 392, 251, 265, 249, 256, 252, 252, 251, 252, 252,
808 252, 252, 254, 254, 254, 254, 254, 255, 255, 255,
809 255, 255, 258, 260, 261, 265, 266, 267, 268, 261,
810 269, 270, 271, 268, 272, 275, 273, 281, 274, 258,
811 260, 276, 267, 274, 270, 277, 276, 269, 278, 266,
812 272, 273, 282, 284, 277, 278, 275, 283, 287, 271,
813 281, 288, 290, 291, 292, 293, 288, 304, 294, 305,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000814
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000815 296, 290, 295, 287, 297, 282, 301, 284, 302, 283,
816 306, 283, 294, 293, 291, 292, 308, 295, 296, 297,
817 310, 304, 305, 302, 301, 308, 313, 311, 306, 314,
818 319, 315, 316, 310, 311, 318, 321, 319, 322, 314,
819 315, 324, 316, 326, 318, 321, 329, 330, 324, 313,
820 331, 333, 326, 322, 332, 335, 329, 336, 330, 332,
821 331, 338, 341, 340, 343, 343, 343, 343, 333, 345,
822 348, 346, 350, 340, 345, 341, 335, 350, 336, 346,
823 349, 351, 353, 356, 338, 340, 352, 349, 351, 354,
824 355, 352, 348, 357, 359, 358, 355, 360, 354, 361,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000825
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000826 363, 369, 356, 353, 358, 366, 361, 363, 367, 368,
827 369, 359, 357, 370, 360, 371, 372, 373, 366, 374,
828 375, 367, 386, 377, 378, 379, 368, 380, 370, 375,
829 383, 371, 379, 378, 373, 381, 380, 382, 374, 372,
830 377, 385, 388, 383, 381, 386, 382, 390, 389, 393,
831 397, 394, 402, 403, 400, 401, 406, 388, 389, 385,
832 394, 400, 405, 401, 403, 404, 390, 405, 407, 397,
833 409, 410, 393, 412, 413, 402, 414, 415, 404, 406,
834 417, 413, 418, 409, 422, 407, 415, 419, 422, 422,
835 412, 423, 427, 428, 410, 433, 432, 430, 431, 427,
Chris Lattnere869eef2005-11-12 00:11:49 +0000836
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000837 418, 432, 417, 435, 414, 419, 430, 431, 440, 428,
838 435, 441, 444, 442, 423, 445, 456, 455, 433, 451,
839 458, 444, 459, 461, 463, 445, 457, 466, 441, 440,
840 442, 451, 455, 458, 457, 467, 468, 469, 456, 459,
841 470, 472, 463, 473, 474, 477, 461, 476, 466, 470,
842 472, 475, 469, 478, 477, 479, 467, 481, 482, 474,
843 473, 484, 468, 485, 483, 486, 475, 482, 476, 483,
844 484, 487, 486, 488, 490, 478, 491, 492, 479, 493,
845 495, 497, 481, 498, 488, 496, 485, 504, 493, 520,
846 502, 506, 498, 512, 487, 495, 504, 506, 490, 491,
Chris Lattner75466192006-05-19 21:28:53 +0000847
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000848 492, 505, 496, 502, 497, 508, 509, 510, 505, 515,
849 516, 509, 508, 517, 515, 519, 512, 518, 520, 516,
850 510, 521, 518, 522, 523, 524, 525, 526, 521, 528,
851 524, 519, 526, 529, 530, 531, 517, 534, 532, 523,
852 537, 525, 533, 528, 538, 536, 522, 532, 539, 529,
853 542, 533, 541, 530, 536, 537, 543, 544, 531, 538,
854 534, 541, 546, 539, 548, 549, 551, 552, 550, 543,
855 554, 553, 549, 542, 544, 555, 558, 556, 557, 548,
856 546, 550, 561, 551, 556, 557, 559, 564, 552, 553,
857 570, 566, 565, 554, 564, 563, 555, 562, 560, 561,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000858
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000859 566, 547, 545, 540, 535, 558, 527, 514, 513, 559,
860 511, 570, 573, 573, 573, 573, 574, 574, 576, 507,
861 576, 576, 503, 501, 500, 499, 494, 489, 480, 471,
862 465, 464, 462, 460, 454, 453, 452, 450, 449, 448,
863 447, 446, 443, 439, 438, 437, 436, 434, 429, 426,
864 425, 424, 421, 420, 416, 411, 408, 399, 398, 396,
865 395, 391, 387, 384, 376, 365, 364, 362, 347, 344,
866 342, 339, 337, 334, 328, 327, 325, 323, 320, 317,
867 312, 309, 303, 300, 299, 298, 289, 286, 285, 280,
868 279, 263, 262, 259, 247, 237, 236, 234, 232, 229,
Reid Spencer3da59db2006-11-27 01:05:10 +0000869
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000870 228, 227, 218, 215, 214, 209, 208, 207, 200, 197,
871 196, 194, 193, 192, 191, 190, 189, 187, 152, 148,
872 146, 143, 140, 136, 132, 114, 89, 69, 59, 39,
873 37, 8, 7, 3, 572, 572, 572, 572, 572, 572,
874 572, 572, 572, 572, 572, 572, 572, 572, 572, 572,
875 572, 572, 572, 572, 572, 572, 572, 572, 572, 572,
876 572, 572, 572, 572, 572, 572, 572, 572, 572, 572,
877 572, 572, 572, 572, 572, 572, 572, 572
Reid Spencer68a24bd2005-08-27 18:50:39 +0000878 } ;
879
Owen Anderson1dc69692006-10-18 02:21:48 +0000880static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
881static char *yy_full_match;
882static int yy_lp;
883#define REJECT \
884{ \
885*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
886yy_cp = yy_full_match; /* restore poss. backed-over text */ \
887++yy_lp; \
888goto find_rule; \
889}
Reid Spencer68a24bd2005-08-27 18:50:39 +0000890#define yymore() yymore_used_but_not_detected
891#define YY_MORE_ADJ 0
892#define YY_RESTORE_YY_MORE_OFFSET
Owen Anderson1dc69692006-10-18 02:21:48 +0000893char *yytext;
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000894#line 1 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +0000895#define INITIAL 0
Reid Spencer68a24bd2005-08-27 18:50:39 +0000896/*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
897//
898// The LLVM Compiler Infrastructure
899//
900// This file was developed by the LLVM research group and is distributed under
901// the University of Illinois Open Source License. See LICENSE.TXT for details.
902//
903//===----------------------------------------------------------------------===//
904//
905// This file implements the flex scanner for LLVM assembly languages files.
906//
907//===----------------------------------------------------------------------===*/
Owen Anderson1dc69692006-10-18 02:21:48 +0000908#define YY_NEVER_INTERACTIVE 1
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000909#line 28 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +0000910#include "ParserInternals.h"
911#include "llvm/Module.h"
912#include <list>
913#include "llvmAsmParser.h"
914#include <cctype>
915#include <cstdlib>
916
917void set_scan_file(FILE * F){
Owen Anderson1dc69692006-10-18 02:21:48 +0000918 yy_switch_to_buffer(yy_create_buffer( F, YY_BUF_SIZE ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +0000919}
920void set_scan_string (const char * str) {
Owen Anderson1dc69692006-10-18 02:21:48 +0000921 yy_scan_string (str);
Reid Spencer68a24bd2005-08-27 18:50:39 +0000922}
923
Reid Spencer3ed469c2006-11-02 20:25:50 +0000924// Construct a token value for a non-obsolete token
Reid Spencer68a24bd2005-08-27 18:50:39 +0000925#define RET_TOK(type, Enum, sym) \
Reid Spencera132e042006-12-03 05:46:11 +0000926 llvmAsmlval.type = Instruction::Enum; \
927 return sym
928
Reid Spencer3ed469c2006-11-02 20:25:50 +0000929// Construct a token value for an obsolete token
Reid Spencera132e042006-12-03 05:46:11 +0000930#define RET_TY(CTYPE, SYM) \
931 llvmAsmlval.PrimType = CTYPE;\
Reid Spencer481169e2006-12-01 00:33:46 +0000932 return SYM
Reid Spencer68a24bd2005-08-27 18:50:39 +0000933
934namespace llvm {
935
936// TODO: All of the static identifiers are figured out by the lexer,
937// these should be hashed to reduce the lexer size
938
939
940// atoull - Convert an ascii string of decimal digits into the unsigned long
941// long representation... this does not have to do input error checking,
942// because we know that the input will be matched by a suitable regex...
943//
944static uint64_t atoull(const char *Buffer) {
945 uint64_t Result = 0;
946 for (; *Buffer; Buffer++) {
947 uint64_t OldRes = Result;
948 Result *= 10;
949 Result += *Buffer-'0';
950 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000951 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000952 }
953 return Result;
954}
955
956static uint64_t HexIntToVal(const char *Buffer) {
957 uint64_t Result = 0;
958 for (; *Buffer; ++Buffer) {
959 uint64_t OldRes = Result;
960 Result *= 16;
961 char C = *Buffer;
962 if (C >= '0' && C <= '9')
963 Result += C-'0';
964 else if (C >= 'A' && C <= 'F')
965 Result += C-'A'+10;
966 else if (C >= 'a' && C <= 'f')
967 Result += C-'a'+10;
968
969 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000970 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000971 }
972 return Result;
973}
974
975
976// HexToFP - Convert the ascii string in hexidecimal format to the floating
977// point representation of it.
978//
979static double HexToFP(const char *Buffer) {
980 // Behave nicely in the face of C TBAA rules... see:
981 // http://www.nullstone.com/htmls/category/aliastyp.htm
982 union {
983 uint64_t UI;
984 double FP;
985 } UIntToFP;
986 UIntToFP.UI = HexIntToVal(Buffer);
987
988 assert(sizeof(double) == sizeof(uint64_t) &&
989 "Data sizes incompatible on this target!");
990 return UIntToFP.FP; // Cast Hex constant to double
991}
992
993
994// UnEscapeLexed - Run through the specified buffer and change \xx codes to the
995// appropriate character. If AllowNull is set to false, a \00 value will cause
996// an exception to be thrown.
997//
998// If AllowNull is set to true, the return value of the function points to the
999// last character of the string in memory.
1000//
1001char *UnEscapeLexed(char *Buffer, bool AllowNull) {
1002 char *BOut = Buffer;
1003 for (char *BIn = Buffer; *BIn; ) {
1004 if (BIn[0] == '\\' && isxdigit(BIn[1]) && isxdigit(BIn[2])) {
1005 char Tmp = BIn[3]; BIn[3] = 0; // Terminate string
1006 *BOut = (char)strtol(BIn+1, 0, 16); // Convert to number
1007 if (!AllowNull && !*BOut)
Reid Spencer61c83e02006-08-18 08:43:06 +00001008 GenerateError("String literal cannot accept \\00 escape!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001009
1010 BIn[3] = Tmp; // Restore character
1011 BIn += 3; // Skip over handled chars
1012 ++BOut;
1013 } else {
1014 *BOut++ = *BIn++;
1015 }
1016 }
1017
1018 return BOut;
1019}
1020
1021} // End llvm namespace
1022
1023using namespace llvm;
1024
1025#define YY_NEVER_INTERACTIVE 1
1026/* Comments start with a ; and go till end of line */
1027/* Variable(Value) identifiers start with a % sign */
1028/* Label identifiers end with a colon */
1029/* Quoted names can contain any character except " and \ */
1030/* [PN]Integer: match positive and negative literal integer values that
1031 * are preceeded by a '%' character. These represent unnamed variable slots.
1032 */
1033/* E[PN]Integer: match positive and negative literal integer values */
1034/* FPConstant - A Floating point constant.
1035 */
1036/* HexFPConstant - Floating point constant represented in IEEE format as a
1037 * hexadecimal number for when exponential notation is not precise enough.
1038 */
1039/* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
1040 * it to deal with 64 bit numbers.
1041 */
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001042#line 1043 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001043
1044/* Macros after this point can all be overridden by user definitions in
1045 * section 1.
1046 */
1047
1048#ifndef YY_SKIP_YYWRAP
1049#ifdef __cplusplus
Owen Anderson1dc69692006-10-18 02:21:48 +00001050extern "C" int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001051#else
Owen Anderson1dc69692006-10-18 02:21:48 +00001052extern int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001053#endif
1054#endif
1055
Owen Anderson1dc69692006-10-18 02:21:48 +00001056#ifndef YY_NO_UNPUT
1057static inline void yyunput YY_PROTO(( int c, char *buf_ptr ));
1058#endif
1059
Reid Spencer68a24bd2005-08-27 18:50:39 +00001060#ifndef yytext_ptr
Owen Anderson1dc69692006-10-18 02:21:48 +00001061static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001062#endif
1063
1064#ifdef YY_NEED_STRLEN
Owen Anderson1dc69692006-10-18 02:21:48 +00001065static int yy_flex_strlen YY_PROTO(( yyconst char * ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001066#endif
1067
1068#ifndef YY_NO_INPUT
1069#ifdef __cplusplus
Owen Anderson1dc69692006-10-18 02:21:48 +00001070static int yyinput YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001071#else
Owen Anderson1dc69692006-10-18 02:21:48 +00001072static int input YY_PROTO(( void ));
1073#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001074#endif
1075
Owen Anderson1dc69692006-10-18 02:21:48 +00001076#if YY_STACK_USED
1077static int yy_start_stack_ptr = 0;
1078static int yy_start_stack_depth = 0;
1079static int *yy_start_stack = 0;
1080#ifndef YY_NO_PUSH_STATE
1081static void yy_push_state YY_PROTO(( int new_state ));
1082#endif
1083#ifndef YY_NO_POP_STATE
1084static void yy_pop_state YY_PROTO(( void ));
1085#endif
1086#ifndef YY_NO_TOP_STATE
1087static int yy_top_state YY_PROTO(( void ));
1088#endif
1089
1090#else
1091#define YY_NO_PUSH_STATE 1
1092#define YY_NO_POP_STATE 1
1093#define YY_NO_TOP_STATE 1
1094#endif
1095
1096#ifdef YY_MALLOC_DECL
1097YY_MALLOC_DECL
1098#else
1099#if __STDC__
1100#ifndef __cplusplus
1101#include <stdlib.h>
1102#endif
1103#else
1104/* Just try to get by without declaring the routines. This will fail
1105 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1106 * or sizeof(void*) != sizeof(int).
1107 */
1108#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001109#endif
1110
1111/* Amount of stuff to slurp up with each read. */
1112#ifndef YY_READ_BUF_SIZE
1113#define YY_READ_BUF_SIZE 8192
1114#endif
1115
1116/* Copy whatever the last rule matched to the standard output. */
Owen Anderson1dc69692006-10-18 02:21:48 +00001117
Reid Spencer68a24bd2005-08-27 18:50:39 +00001118#ifndef ECHO
1119/* This used to be an fputs(), but since the string might contain NUL's,
1120 * we now use fwrite().
1121 */
Owen Anderson1dc69692006-10-18 02:21:48 +00001122#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001123#endif
1124
1125/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1126 * is returned in "result".
1127 */
1128#ifndef YY_INPUT
1129#define YY_INPUT(buf,result,max_size) \
Owen Anderson1dc69692006-10-18 02:21:48 +00001130 if ( yy_current_buffer->yy_is_interactive ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001131 { \
Owen Anderson1dc69692006-10-18 02:21:48 +00001132 int c = '*', n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001133 for ( n = 0; n < max_size && \
Owen Anderson1dc69692006-10-18 02:21:48 +00001134 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001135 buf[n] = (char) c; \
1136 if ( c == '\n' ) \
1137 buf[n++] = (char) c; \
Owen Anderson1dc69692006-10-18 02:21:48 +00001138 if ( c == EOF && ferror( yyin ) ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001139 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1140 result = n; \
1141 } \
Owen Anderson1dc69692006-10-18 02:21:48 +00001142 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1143 && ferror( yyin ) ) \
1144 YY_FATAL_ERROR( "input in flex scanner failed" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001145#endif
1146
1147/* No semi-colon after return; correct usage is to write "yyterminate();" -
1148 * we don't want an extra ';' after the "return" because that will cause
1149 * some compilers to complain about unreachable statements.
1150 */
1151#ifndef yyterminate
1152#define yyterminate() return YY_NULL
1153#endif
1154
1155/* Number of entries by which start-condition stack grows. */
1156#ifndef YY_START_STACK_INCR
1157#define YY_START_STACK_INCR 25
1158#endif
1159
1160/* Report a fatal error. */
1161#ifndef YY_FATAL_ERROR
1162#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1163#endif
1164
1165/* Default declaration of generated scanner - a define so the user can
1166 * easily add parameters.
1167 */
1168#ifndef YY_DECL
Owen Anderson1dc69692006-10-18 02:21:48 +00001169#define YY_DECL int yylex YY_PROTO(( void ))
1170#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001171
Owen Anderson1dc69692006-10-18 02:21:48 +00001172/* Code executed at the beginning of each rule, after yytext and yyleng
Reid Spencer68a24bd2005-08-27 18:50:39 +00001173 * have been set up.
1174 */
1175#ifndef YY_USER_ACTION
1176#define YY_USER_ACTION
1177#endif
1178
1179/* Code executed at the end of each rule. */
1180#ifndef YY_BREAK
1181#define YY_BREAK break;
1182#endif
1183
1184#define YY_RULE_SETUP \
1185 YY_USER_ACTION
1186
1187YY_DECL
Owen Anderson1dc69692006-10-18 02:21:48 +00001188 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00001189 register yy_state_type yy_current_state;
Reid Spencer3da59db2006-11-27 01:05:10 +00001190 register char *yy_cp = NULL, *yy_bp = NULL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001191 register int yy_act;
Owen Anderson1dc69692006-10-18 02:21:48 +00001192
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001193#line 186 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001194
1195
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001196#line 1197 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001197
Owen Anderson1dc69692006-10-18 02:21:48 +00001198 if ( yy_init )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001199 {
Owen Anderson1dc69692006-10-18 02:21:48 +00001200 yy_init = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001201
1202#ifdef YY_USER_INIT
1203 YY_USER_INIT;
1204#endif
1205
Owen Anderson1dc69692006-10-18 02:21:48 +00001206 if ( ! yy_start )
1207 yy_start = 1; /* first start state */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001208
Owen Anderson1dc69692006-10-18 02:21:48 +00001209 if ( ! yyin )
1210 yyin = stdin;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001211
Owen Anderson1dc69692006-10-18 02:21:48 +00001212 if ( ! yyout )
1213 yyout = stdout;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001214
Owen Anderson1dc69692006-10-18 02:21:48 +00001215 if ( ! yy_current_buffer )
1216 yy_current_buffer =
1217 yy_create_buffer( yyin, YY_BUF_SIZE );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001218
Owen Anderson1dc69692006-10-18 02:21:48 +00001219 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00001220 }
1221
1222 while ( 1 ) /* loops until end-of-file is reached */
1223 {
Owen Anderson1dc69692006-10-18 02:21:48 +00001224 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001225
Owen Anderson1dc69692006-10-18 02:21:48 +00001226 /* Support of yytext. */
1227 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001228
1229 /* yy_bp points to the position in yy_ch_buf of the start of
1230 * the current run.
1231 */
1232 yy_bp = yy_cp;
1233
Owen Anderson1dc69692006-10-18 02:21:48 +00001234 yy_current_state = yy_start;
1235 yy_state_ptr = yy_state_buf;
1236 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001237yy_match:
1238 do
1239 {
1240 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1241 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1242 {
1243 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001244 if ( yy_current_state >= 573 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001245 yy_c = yy_meta[(unsigned int) yy_c];
1246 }
1247 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Owen Anderson1dc69692006-10-18 02:21:48 +00001248 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001249 ++yy_cp;
1250 }
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001251 while ( yy_current_state != 572 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001252
1253yy_find_action:
Owen Anderson1dc69692006-10-18 02:21:48 +00001254 yy_current_state = *--yy_state_ptr;
1255 yy_lp = yy_accept[yy_current_state];
1256find_rule: /* we branch to this label when backing up */
1257 for ( ; ; ) /* until we find what rule we matched */
1258 {
1259 if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
1260 {
1261 yy_act = yy_acclist[yy_lp];
1262 {
1263 yy_full_match = yy_cp;
1264 break;
1265 }
1266 }
1267 --yy_cp;
1268 yy_current_state = *--yy_state_ptr;
1269 yy_lp = yy_accept[yy_current_state];
1270 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001271
1272 YY_DO_BEFORE_ACTION;
1273
Owen Anderson1dc69692006-10-18 02:21:48 +00001274 if ( yy_act != YY_END_OF_BUFFER )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001275 {
1276 int yyl;
Owen Anderson1dc69692006-10-18 02:21:48 +00001277 for ( yyl = 0; yyl < yyleng; ++yyl )
1278 if ( yytext[yyl] == '\n' )
1279 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001280 }
1281
1282do_action: /* This label is used only to access EOF actions. */
1283
Owen Anderson1dc69692006-10-18 02:21:48 +00001284
Reid Spencer68a24bd2005-08-27 18:50:39 +00001285 switch ( yy_act )
1286 { /* beginning of action switch */
1287case 1:
1288YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001289#line 188 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001290{ /* Ignore comments for now */ }
1291 YY_BREAK
1292case 2:
1293YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001294#line 190 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001295{ return BEGINTOK; }
1296 YY_BREAK
1297case 3:
1298YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001299#line 191 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001300{ return ENDTOK; }
1301 YY_BREAK
1302case 4:
1303YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001304#line 192 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001305{ return TRUETOK; }
1306 YY_BREAK
1307case 5:
1308YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001309#line 193 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001310{ return FALSETOK; }
1311 YY_BREAK
1312case 6:
1313YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001314#line 194 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001315{ return DECLARE; }
1316 YY_BREAK
1317case 7:
1318YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001319#line 195 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1320{ return DEFINE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001321 YY_BREAK
1322case 8:
1323YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001324#line 196 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1325{ return GLOBAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001326 YY_BREAK
1327case 9:
1328YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001329#line 197 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1330{ return CONSTANT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001331 YY_BREAK
1332case 10:
1333YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001334#line 198 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1335{ return INTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001336 YY_BREAK
1337case 11:
1338YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001339#line 199 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1340{ return LINKONCE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001341 YY_BREAK
1342case 12:
1343YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001344#line 200 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1345{ return WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001346 YY_BREAK
1347case 13:
1348YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001349#line 201 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1350{ return APPENDING; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001351 YY_BREAK
1352case 14:
1353YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001354#line 202 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1355{ return DLLIMPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001356 YY_BREAK
1357case 15:
1358YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001359#line 203 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1360{ return DLLEXPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001361 YY_BREAK
1362case 16:
1363YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001364#line 204 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1365{ return EXTERN_WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001366 YY_BREAK
1367case 17:
1368YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001369#line 205 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1370{ return EXTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001371 YY_BREAK
1372case 18:
1373YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001374#line 206 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1375{ return IMPLEMENTATION; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001376 YY_BREAK
1377case 19:
1378YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001379#line 207 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1380{ return ZEROINITIALIZER; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001381 YY_BREAK
1382case 20:
1383YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001384#line 208 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1385{ return DOTDOTDOT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001386 YY_BREAK
1387case 21:
1388YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001389#line 209 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1390{ return UNDEF; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001391 YY_BREAK
1392case 22:
1393YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001394#line 210 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1395{ return NULL_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001396 YY_BREAK
1397case 23:
1398YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001399#line 211 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1400{ return TO; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001401 YY_BREAK
1402case 24:
1403YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001404#line 212 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1405{ return TAIL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001406 YY_BREAK
1407case 25:
1408YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001409#line 213 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1410{ return TARGET; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001411 YY_BREAK
1412case 26:
1413YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001414#line 214 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1415{ return TRIPLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001416 YY_BREAK
1417case 27:
1418YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001419#line 215 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1420{ return DEPLIBS; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001421 YY_BREAK
1422case 28:
1423YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001424#line 216 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1425{ return ENDIAN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001426 YY_BREAK
1427case 29:
1428YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001429#line 217 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1430{ return POINTERSIZE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001431 YY_BREAK
1432case 30:
1433YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001434#line 218 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1435{ return DATALAYOUT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001436 YY_BREAK
1437case 31:
1438YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001439#line 219 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1440{ return LITTLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001441 YY_BREAK
1442case 32:
1443YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001444#line 220 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1445{ return BIG; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001446 YY_BREAK
1447case 33:
1448YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001449#line 221 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1450{ return VOLATILE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001451 YY_BREAK
1452case 34:
1453YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001454#line 222 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1455{ return ALIGN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001456 YY_BREAK
1457case 35:
1458YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001459#line 223 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1460{ return SECTION; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001461 YY_BREAK
1462case 36:
1463YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001464#line 224 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1465{ return MODULE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001466 YY_BREAK
1467case 37:
1468YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001469#line 225 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1470{ return ASM_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001471 YY_BREAK
1472case 38:
1473YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001474#line 226 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1475{ return SIDEEFFECT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001476 YY_BREAK
1477case 39:
1478YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001479#line 228 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1480{ return CC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001481 YY_BREAK
1482case 40:
1483YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001484#line 229 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1485{ return CCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001486 YY_BREAK
1487case 41:
1488YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001489#line 230 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1490{ return CSRETCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001491 YY_BREAK
1492case 42:
1493YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001494#line 231 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1495{ return FASTCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001496 YY_BREAK
1497case 43:
1498YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001499#line 232 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1500{ return COLDCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001501 YY_BREAK
1502case 44:
1503YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001504#line 233 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1505{ return X86_STDCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001506 YY_BREAK
1507case 45:
1508YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001509#line 234 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1510{ return X86_FASTCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001511 YY_BREAK
1512case 46:
1513YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001514#line 236 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1515{ RET_TY(Type::VoidTy, VOID); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001516 YY_BREAK
1517case 47:
1518YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001519#line 237 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1520{ RET_TY(Type::BoolTy, BOOL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001521 YY_BREAK
1522case 48:
1523YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001524#line 238 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1525{ RET_TY(Type::SByteTy, SBYTE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001526 YY_BREAK
1527case 49:
1528YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001529#line 239 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1530{ RET_TY(Type::UByteTy, UBYTE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001531 YY_BREAK
1532case 50:
1533YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001534#line 240 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1535{ RET_TY(Type::ShortTy, SHORT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001536 YY_BREAK
1537case 51:
1538YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001539#line 241 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1540{ RET_TY(Type::UShortTy,USHORT);}
Reid Spencer68a24bd2005-08-27 18:50:39 +00001541 YY_BREAK
1542case 52:
1543YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001544#line 242 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1545{ RET_TY(Type::IntTy, INT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001546 YY_BREAK
1547case 53:
1548YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001549#line 243 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1550{ RET_TY(Type::UIntTy, UINT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001551 YY_BREAK
1552case 54:
1553YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001554#line 244 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1555{ RET_TY(Type::LongTy, LONG); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001556 YY_BREAK
1557case 55:
1558YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001559#line 245 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1560{ RET_TY(Type::ULongTy, ULONG); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001561 YY_BREAK
1562case 56:
1563YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001564#line 246 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1565{ RET_TY(Type::FloatTy, FLOAT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001566 YY_BREAK
1567case 57:
1568YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001569#line 247 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1570{ RET_TY(Type::DoubleTy,DOUBLE);}
Reid Spencer68a24bd2005-08-27 18:50:39 +00001571 YY_BREAK
1572case 58:
1573YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001574#line 248 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1575{ RET_TY(Type::LabelTy, LABEL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001576 YY_BREAK
1577case 59:
1578YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001579#line 249 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1580{ return TYPE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001581 YY_BREAK
1582case 60:
1583YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001584#line 250 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1585{ return OPAQUE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001586 YY_BREAK
1587case 61:
1588YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001589#line 252 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1590{ RET_TOK(BinaryOpVal, Add, ADD); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001591 YY_BREAK
1592case 62:
1593YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001594#line 253 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1595{ RET_TOK(BinaryOpVal, Sub, SUB); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001596 YY_BREAK
1597case 63:
1598YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001599#line 254 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1600{ RET_TOK(BinaryOpVal, Mul, MUL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001601 YY_BREAK
1602case 64:
1603YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001604#line 255 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1605{ RET_TOK(BinaryOpVal, UDiv, UDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001606 YY_BREAK
1607case 65:
1608YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001609#line 256 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1610{ RET_TOK(BinaryOpVal, SDiv, SDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001611 YY_BREAK
1612case 66:
1613YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001614#line 257 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1615{ RET_TOK(BinaryOpVal, FDiv, FDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001616 YY_BREAK
1617case 67:
1618YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001619#line 258 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1620{ RET_TOK(BinaryOpVal, URem, UREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001621 YY_BREAK
1622case 68:
1623YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001624#line 259 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1625{ RET_TOK(BinaryOpVal, SRem, SREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001626 YY_BREAK
1627case 69:
1628YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001629#line 260 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1630{ RET_TOK(BinaryOpVal, FRem, FREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001631 YY_BREAK
1632case 70:
1633YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001634#line 261 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1635{ RET_TOK(BinaryOpVal, And, AND); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001636 YY_BREAK
1637case 71:
1638YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001639#line 262 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1640{ RET_TOK(BinaryOpVal, Or , OR ); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001641 YY_BREAK
1642case 72:
1643YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001644#line 263 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1645{ RET_TOK(BinaryOpVal, Xor, XOR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001646 YY_BREAK
1647case 73:
1648YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001649#line 264 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1650{ RET_TOK(OtherOpVal, ICmp, ICMP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001651 YY_BREAK
1652case 74:
1653YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001654#line 265 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1655{ RET_TOK(OtherOpVal, FCmp, FCMP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001656 YY_BREAK
1657case 75:
1658YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001659#line 266 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1660{ return EQ; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001661 YY_BREAK
1662case 76:
1663YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001664#line 267 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1665{ return NE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001666 YY_BREAK
1667case 77:
1668YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001669#line 268 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1670{ return SLT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001671 YY_BREAK
1672case 78:
1673YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001674#line 269 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1675{ return SGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001676 YY_BREAK
1677case 79:
1678YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001679#line 270 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1680{ return SLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001681 YY_BREAK
1682case 80:
1683YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001684#line 271 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1685{ return SGE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001686 YY_BREAK
1687case 81:
1688YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001689#line 272 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1690{ return ULT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001691 YY_BREAK
1692case 82:
1693YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001694#line 273 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1695{ return UGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001696 YY_BREAK
1697case 83:
1698YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001699#line 274 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1700{ return ULE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001701 YY_BREAK
1702case 84:
1703YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001704#line 275 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1705{ return UGE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001706 YY_BREAK
1707case 85:
1708YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001709#line 276 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1710{ return OEQ; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001711 YY_BREAK
1712case 86:
1713YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001714#line 277 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1715{ return ONE; }
Nate Begeman14b05292005-11-05 09:21:28 +00001716 YY_BREAK
1717case 87:
1718YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001719#line 278 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1720{ return OLT; }
Chris Lattnere869eef2005-11-12 00:11:49 +00001721 YY_BREAK
1722case 88:
1723YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001724#line 279 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1725{ return OGT; }
Robert Bocchino9c62b562006-01-10 19:04:32 +00001726 YY_BREAK
1727case 89:
1728YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001729#line 280 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1730{ return OLE; }
Robert Bocchino2def1b32006-01-17 20:06:25 +00001731 YY_BREAK
1732case 90:
1733YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001734#line 281 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1735{ return OGE; }
Chris Lattner8335e842006-01-23 23:05:42 +00001736 YY_BREAK
1737case 91:
1738YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001739#line 282 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1740{ return ORD; }
Chris Lattner66316012006-01-24 04:14:29 +00001741 YY_BREAK
1742case 92:
1743YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001744#line 283 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1745{ return UNO; }
Chris Lattner0e9c3762006-01-25 22:27:16 +00001746 YY_BREAK
1747case 93:
1748YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001749#line 284 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1750{ return UEQ; }
Chris Lattnerd5efe842006-04-08 01:18:56 +00001751 YY_BREAK
1752case 94:
1753YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001754#line 285 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1755{ return UNE; }
Chris Lattner75466192006-05-19 21:28:53 +00001756 YY_BREAK
1757case 95:
1758YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001759#line 287 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1760{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001761 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001762case 96:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001763YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001764#line 288 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1765{ RET_TOK(OtherOpVal, Call, CALL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001766 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001767case 97:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001768YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001769#line 289 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1770{ RET_TOK(CastOpVal, Trunc, TRUNC); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001771 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001772case 98:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001773YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001774#line 290 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1775{ RET_TOK(CastOpVal, ZExt, ZEXT); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001776 YY_BREAK
1777case 99:
1778YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001779#line 291 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1780{ RET_TOK(CastOpVal, SExt, SEXT); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001781 YY_BREAK
1782case 100:
1783YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001784#line 292 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1785{ RET_TOK(CastOpVal, FPTrunc, FPTRUNC); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001786 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001787case 101:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001788YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001789#line 293 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1790{ RET_TOK(CastOpVal, FPExt, FPEXT); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001791 YY_BREAK
1792case 102:
1793YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001794#line 294 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1795{ RET_TOK(CastOpVal, UIToFP, UITOFP); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001796 YY_BREAK
1797case 103:
1798YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001799#line 295 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1800{ RET_TOK(CastOpVal, SIToFP, SITOFP); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001801 YY_BREAK
1802case 104:
1803YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001804#line 296 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1805{ RET_TOK(CastOpVal, FPToUI, FPTOUI); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001806 YY_BREAK
1807case 105:
1808YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001809#line 297 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1810{ RET_TOK(CastOpVal, FPToSI, FPTOSI); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001811 YY_BREAK
1812case 106:
1813YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001814#line 298 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1815{ RET_TOK(CastOpVal, IntToPtr, INTTOPTR); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001816 YY_BREAK
1817case 107:
1818YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001819#line 299 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1820{ RET_TOK(CastOpVal, PtrToInt, PTRTOINT); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001821 YY_BREAK
1822case 108:
1823YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001824#line 300 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1825{ RET_TOK(CastOpVal, BitCast, BITCAST); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001826 YY_BREAK
1827case 109:
1828YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001829#line 301 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1830{ RET_TOK(OtherOpVal, Select, SELECT); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001831 YY_BREAK
1832case 110:
1833YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001834#line 302 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1835{ RET_TOK(OtherOpVal, Shl, SHL); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001836 YY_BREAK
1837case 111:
1838YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001839#line 303 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1840{ RET_TOK(OtherOpVal, LShr, LSHR); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001841 YY_BREAK
1842case 112:
1843YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001844#line 304 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1845{ RET_TOK(OtherOpVal, AShr, ASHR); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001846 YY_BREAK
1847case 113:
1848YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001849#line 305 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1850{ RET_TOK(OtherOpVal, VAArg , VAARG); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001851 YY_BREAK
1852case 114:
1853YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001854#line 306 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1855{ RET_TOK(TermOpVal, Ret, RET); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001856 YY_BREAK
1857case 115:
1858YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001859#line 307 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1860{ RET_TOK(TermOpVal, Br, BR); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001861 YY_BREAK
1862case 116:
1863YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001864#line 308 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1865{ RET_TOK(TermOpVal, Switch, SWITCH); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001866 YY_BREAK
1867case 117:
1868YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001869#line 309 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1870{ RET_TOK(TermOpVal, Invoke, INVOKE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001871 YY_BREAK
1872case 118:
1873YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001874#line 310 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1875{ RET_TOK(TermOpVal, Unwind, UNWIND); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001876 YY_BREAK
1877case 119:
1878YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001879#line 311 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1880{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001881 YY_BREAK
1882case 120:
1883YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001884#line 313 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1885{ RET_TOK(MemOpVal, Malloc, MALLOC); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001886 YY_BREAK
1887case 121:
1888YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001889#line 314 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1890{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
Reid Spencera132e042006-12-03 05:46:11 +00001891 YY_BREAK
1892case 122:
1893YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001894#line 315 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1895{ RET_TOK(MemOpVal, Free, FREE); }
Reid Spencera132e042006-12-03 05:46:11 +00001896 YY_BREAK
1897case 123:
1898YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001899#line 316 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1900{ RET_TOK(MemOpVal, Load, LOAD); }
Reid Spencera132e042006-12-03 05:46:11 +00001901 YY_BREAK
1902case 124:
1903YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001904#line 317 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1905{ RET_TOK(MemOpVal, Store, STORE); }
Reid Spencera132e042006-12-03 05:46:11 +00001906 YY_BREAK
1907case 125:
1908YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001909#line 318 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1910{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
Reid Spencera132e042006-12-03 05:46:11 +00001911 YY_BREAK
1912case 126:
1913YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001914#line 320 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1915{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
Reid Spencera132e042006-12-03 05:46:11 +00001916 YY_BREAK
1917case 127:
1918YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001919#line 321 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1920{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
Reid Spencera132e042006-12-03 05:46:11 +00001921 YY_BREAK
1922case 128:
1923YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001924#line 322 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1925{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
1926 YY_BREAK
1927case 129:
1928YY_RULE_SETUP
1929#line 325 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001930{
Owen Anderson1dc69692006-10-18 02:21:48 +00001931 UnEscapeLexed(yytext+1);
1932 llvmAsmlval.StrVal = strdup(yytext+1); // Skip %
1933 return VAR_ID;
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001934 }
1935 YY_BREAK
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001936case 130:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001937YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001938#line 330 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001939{
Owen Anderson1dc69692006-10-18 02:21:48 +00001940 yytext[strlen(yytext)-1] = 0; // nuke colon
1941 UnEscapeLexed(yytext);
1942 llvmAsmlval.StrVal = strdup(yytext);
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001943 return LABELSTR;
1944 }
1945 YY_BREAK
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001946case 131:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001947YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001948#line 336 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001949{
1950 yytext[strlen(yytext)-2] = 0; // nuke colon, end quote
1951 UnEscapeLexed(yytext+1);
1952 llvmAsmlval.StrVal = strdup(yytext+1);
1953 return LABELSTR;
1954 }
1955 YY_BREAK
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001956case 132:
Owen Anderson1dc69692006-10-18 02:21:48 +00001957YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001958#line 343 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001959{ // Note that we cannot unescape a string constant here! The
1960 // string constant might contain a \00 which would not be
1961 // understood by the string stuff. It is valid to make a
1962 // [sbyte] c"Hello World\00" constant, for example.
1963 //
Owen Anderson1dc69692006-10-18 02:21:48 +00001964 yytext[strlen(yytext)-1] = 0; // nuke end quote
1965 llvmAsmlval.StrVal = strdup(yytext+1); // Nuke start quote
Reid Spencer68a24bd2005-08-27 18:50:39 +00001966 return STRINGCONSTANT;
1967 }
1968 YY_BREAK
Reid Spencere4d87aa2006-12-23 06:05:41 +00001969case 133:
Owen Anderson1dc69692006-10-18 02:21:48 +00001970YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001971#line 354 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
1972{ llvmAsmlval.UInt64Val = atoull(yytext); return EUINT64VAL; }
1973 YY_BREAK
1974case 134:
1975YY_RULE_SETUP
1976#line 355 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001977{
Owen Anderson1dc69692006-10-18 02:21:48 +00001978 uint64_t Val = atoull(yytext+1);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001979 // +1: we have bigger negative range
1980 if (Val > (uint64_t)INT64_MAX+1)
Reid Spencer61c83e02006-08-18 08:43:06 +00001981 GenerateError("Constant too large for signed 64 bits!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001982 llvmAsmlval.SInt64Val = -Val;
1983 return ESINT64VAL;
1984 }
1985 YY_BREAK
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001986case 135:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001987YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001988#line 363 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001989{
Owen Anderson1dc69692006-10-18 02:21:48 +00001990 llvmAsmlval.UInt64Val = HexIntToVal(yytext+3);
1991 return yytext[0] == 's' ? ESINT64VAL : EUINT64VAL;
1992 }
1993 YY_BREAK
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001994case 136:
Owen Anderson1dc69692006-10-18 02:21:48 +00001995YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001996#line 368 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001997{
1998 uint64_t Val = atoull(yytext+1);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001999 if ((unsigned)Val != Val)
Reid Spencer61c83e02006-08-18 08:43:06 +00002000 GenerateError("Invalid value number (too large)!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00002001 llvmAsmlval.UIntVal = unsigned(Val);
2002 return UINTVAL;
2003 }
2004 YY_BREAK
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002005case 137:
Reid Spencer68a24bd2005-08-27 18:50:39 +00002006YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002007#line 375 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002008{
Owen Anderson1dc69692006-10-18 02:21:48 +00002009 uint64_t Val = atoull(yytext+2);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002010 // +1: we have bigger negative range
2011 if (Val > (uint64_t)INT32_MAX+1)
Reid Spencer61c83e02006-08-18 08:43:06 +00002012 GenerateError("Constant too large for signed 32 bits!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00002013 llvmAsmlval.SIntVal = (int)-Val;
2014 return SINTVAL;
2015 }
2016 YY_BREAK
Reid Spencere4d87aa2006-12-23 06:05:41 +00002017case 138:
Owen Anderson1dc69692006-10-18 02:21:48 +00002018YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002019#line 384 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
2020{ llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
2021 YY_BREAK
2022case 139:
2023YY_RULE_SETUP
2024#line 385 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00002025{ llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002026 YY_BREAK
2027case YY_STATE_EOF(INITIAL):
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002028#line 387 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002029{
2030 /* Make sure to free the internal buffers for flex when we are
2031 * done reading our input!
2032 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002033 yy_delete_buffer(YY_CURRENT_BUFFER);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002034 return EOF;
2035 }
2036 YY_BREAK
Reid Spencere4d87aa2006-12-23 06:05:41 +00002037case 140:
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00002038YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002039#line 395 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
2040{ /* Ignore whitespace */ }
Owen Anderson1dc69692006-10-18 02:21:48 +00002041 YY_BREAK
Reid Spencere4d87aa2006-12-23 06:05:41 +00002042case 141:
Owen Anderson1dc69692006-10-18 02:21:48 +00002043YY_RULE_SETUP
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002044#line 396 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
2045{ return yytext[0]; }
2046 YY_BREAK
2047case 142:
2048YY_RULE_SETUP
2049#line 398 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002050YY_FATAL_ERROR( "flex scanner jammed" );
2051 YY_BREAK
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002052#line 2053 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002053
2054 case YY_END_OF_BUFFER:
2055 {
2056 /* Amount of text matched not including the EOB char. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002057 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002058
2059 /* Undo the effects of YY_DO_BEFORE_ACTION. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002060 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002061 YY_RESTORE_YY_MORE_OFFSET
2062
Owen Anderson1dc69692006-10-18 02:21:48 +00002063 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002064 {
2065 /* We're scanning a new file or input source. It's
2066 * possible that this happened because the user
Owen Anderson1dc69692006-10-18 02:21:48 +00002067 * just pointed yyin at a new source and called
2068 * yylex(). If so, then we have to assure
2069 * consistency between yy_current_buffer and our
Reid Spencer68a24bd2005-08-27 18:50:39 +00002070 * globals. Here is the right place to do so, because
2071 * this is the first action (other than possibly a
2072 * back-up) that will match for the new input source.
2073 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002074 yy_n_chars = yy_current_buffer->yy_n_chars;
2075 yy_current_buffer->yy_input_file = yyin;
2076 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002077 }
2078
2079 /* Note that here we test for yy_c_buf_p "<=" to the position
2080 * of the first EOB in the buffer, since yy_c_buf_p will
2081 * already have been incremented past the NUL character
2082 * (since all states make transitions on EOB to the
2083 * end-of-buffer state). Contrast this with the test
2084 * in input().
2085 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002086 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002087 { /* This was really a NUL. */
2088 yy_state_type yy_next_state;
2089
Owen Anderson1dc69692006-10-18 02:21:48 +00002090 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002091
Owen Anderson1dc69692006-10-18 02:21:48 +00002092 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002093
2094 /* Okay, we're now positioned to make the NUL
2095 * transition. We couldn't have
2096 * yy_get_previous_state() go ahead and do it
2097 * for us because it doesn't know how to deal
2098 * with the possibility of jamming (and we don't
2099 * want to build jamming into it because then it
2100 * will run more slowly).
2101 */
2102
2103 yy_next_state = yy_try_NUL_trans( yy_current_state );
2104
Owen Anderson1dc69692006-10-18 02:21:48 +00002105 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002106
2107 if ( yy_next_state )
2108 {
2109 /* Consume the NUL. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002110 yy_cp = ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002111 yy_current_state = yy_next_state;
2112 goto yy_match;
2113 }
2114
2115 else
2116 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002117 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002118 goto yy_find_action;
2119 }
2120 }
2121
Owen Anderson1dc69692006-10-18 02:21:48 +00002122 else switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002123 {
2124 case EOB_ACT_END_OF_FILE:
2125 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002126 yy_did_buffer_switch_on_eof = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002127
Owen Anderson1dc69692006-10-18 02:21:48 +00002128 if ( yywrap() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002129 {
2130 /* Note: because we've taken care in
2131 * yy_get_next_buffer() to have set up
Owen Anderson1dc69692006-10-18 02:21:48 +00002132 * yytext, we can now set up
Reid Spencer68a24bd2005-08-27 18:50:39 +00002133 * yy_c_buf_p so that if some total
2134 * hoser (like flex itself) wants to
2135 * call the scanner after we return the
2136 * YY_NULL, it'll still work - another
2137 * YY_NULL will get returned.
2138 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002139 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002140
2141 yy_act = YY_STATE_EOF(YY_START);
2142 goto do_action;
2143 }
2144
2145 else
2146 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002147 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002148 YY_NEW_FILE;
2149 }
2150 break;
2151 }
2152
2153 case EOB_ACT_CONTINUE_SCAN:
Owen Anderson1dc69692006-10-18 02:21:48 +00002154 yy_c_buf_p =
2155 yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002156
Owen Anderson1dc69692006-10-18 02:21:48 +00002157 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002158
Owen Anderson1dc69692006-10-18 02:21:48 +00002159 yy_cp = yy_c_buf_p;
2160 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002161 goto yy_match;
2162
2163 case EOB_ACT_LAST_MATCH:
Owen Anderson1dc69692006-10-18 02:21:48 +00002164 yy_c_buf_p =
2165 &yy_current_buffer->yy_ch_buf[yy_n_chars];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002166
Owen Anderson1dc69692006-10-18 02:21:48 +00002167 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002168
Owen Anderson1dc69692006-10-18 02:21:48 +00002169 yy_cp = yy_c_buf_p;
2170 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002171 goto yy_find_action;
2172 }
2173 break;
2174 }
2175
2176 default:
2177 YY_FATAL_ERROR(
2178 "fatal flex scanner internal error--no action found" );
2179 } /* end of action switch */
2180 } /* end of scanning one token */
Owen Anderson1dc69692006-10-18 02:21:48 +00002181 } /* end of yylex */
2182
Reid Spencer68a24bd2005-08-27 18:50:39 +00002183
2184/* yy_get_next_buffer - try to read in a new buffer
2185 *
2186 * Returns a code representing an action:
2187 * EOB_ACT_LAST_MATCH -
2188 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2189 * EOB_ACT_END_OF_FILE - end of file
2190 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002191
2192static int yy_get_next_buffer()
2193 {
2194 register char *dest = yy_current_buffer->yy_ch_buf;
2195 register char *source = yytext_ptr;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002196 register int number_to_move, i;
2197 int ret_val;
2198
Owen Anderson1dc69692006-10-18 02:21:48 +00002199 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002200 YY_FATAL_ERROR(
2201 "fatal flex scanner internal error--end of buffer missed" );
2202
Owen Anderson1dc69692006-10-18 02:21:48 +00002203 if ( yy_current_buffer->yy_fill_buffer == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002204 { /* Don't try to fill the buffer, so this is an EOF. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002205 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002206 {
2207 /* We matched a single character, the EOB, so
2208 * treat this as a final EOF.
2209 */
2210 return EOB_ACT_END_OF_FILE;
2211 }
2212
2213 else
2214 {
2215 /* We matched some text prior to the EOB, first
2216 * process it.
2217 */
2218 return EOB_ACT_LAST_MATCH;
2219 }
2220 }
2221
2222 /* Try to read more data. */
2223
2224 /* First move last chars to start of buffer. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002225 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002226
2227 for ( i = 0; i < number_to_move; ++i )
2228 *(dest++) = *(source++);
2229
Owen Anderson1dc69692006-10-18 02:21:48 +00002230 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002231 /* don't do the read, it's not guaranteed to return an EOF,
2232 * just force an EOF
2233 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002234 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002235
2236 else
2237 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002238 int num_to_read =
2239 yy_current_buffer->yy_buf_size - number_to_move - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002240
2241 while ( num_to_read <= 0 )
2242 { /* Not enough room in the buffer - grow it. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002243#ifdef YY_USES_REJECT
2244 YY_FATAL_ERROR(
2245"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
2246#else
Reid Spencer68a24bd2005-08-27 18:50:39 +00002247
2248 /* just a shorter name for the current buffer */
Owen Anderson1dc69692006-10-18 02:21:48 +00002249 YY_BUFFER_STATE b = yy_current_buffer;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002250
2251 int yy_c_buf_p_offset =
Owen Anderson1dc69692006-10-18 02:21:48 +00002252 (int) (yy_c_buf_p - b->yy_ch_buf);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002253
2254 if ( b->yy_is_our_buffer )
2255 {
2256 int new_size = b->yy_buf_size * 2;
2257
2258 if ( new_size <= 0 )
2259 b->yy_buf_size += b->yy_buf_size / 8;
2260 else
2261 b->yy_buf_size *= 2;
2262
2263 b->yy_ch_buf = (char *)
2264 /* Include room in for 2 EOB chars. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002265 yy_flex_realloc( (void *) b->yy_ch_buf,
2266 b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002267 }
2268 else
2269 /* Can't grow it, we don't own it. */
2270 b->yy_ch_buf = 0;
2271
2272 if ( ! b->yy_ch_buf )
2273 YY_FATAL_ERROR(
2274 "fatal error - scanner input buffer overflow" );
2275
Owen Anderson1dc69692006-10-18 02:21:48 +00002276 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002277
Owen Anderson1dc69692006-10-18 02:21:48 +00002278 num_to_read = yy_current_buffer->yy_buf_size -
Reid Spencer68a24bd2005-08-27 18:50:39 +00002279 number_to_move - 1;
Owen Anderson1dc69692006-10-18 02:21:48 +00002280#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002281 }
2282
2283 if ( num_to_read > YY_READ_BUF_SIZE )
2284 num_to_read = YY_READ_BUF_SIZE;
2285
2286 /* Read in more data. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002287 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
2288 yy_n_chars, num_to_read );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002289
Owen Anderson1dc69692006-10-18 02:21:48 +00002290 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002291 }
2292
Owen Anderson1dc69692006-10-18 02:21:48 +00002293 if ( yy_n_chars == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002294 {
2295 if ( number_to_move == YY_MORE_ADJ )
2296 {
2297 ret_val = EOB_ACT_END_OF_FILE;
Owen Anderson1dc69692006-10-18 02:21:48 +00002298 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002299 }
2300
2301 else
2302 {
2303 ret_val = EOB_ACT_LAST_MATCH;
Owen Anderson1dc69692006-10-18 02:21:48 +00002304 yy_current_buffer->yy_buffer_status =
Reid Spencer68a24bd2005-08-27 18:50:39 +00002305 YY_BUFFER_EOF_PENDING;
2306 }
2307 }
2308
2309 else
2310 ret_val = EOB_ACT_CONTINUE_SCAN;
2311
Owen Anderson1dc69692006-10-18 02:21:48 +00002312 yy_n_chars += number_to_move;
2313 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2314 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002315
Owen Anderson1dc69692006-10-18 02:21:48 +00002316 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002317
2318 return ret_val;
Owen Anderson1dc69692006-10-18 02:21:48 +00002319 }
2320
Reid Spencer68a24bd2005-08-27 18:50:39 +00002321
2322/* yy_get_previous_state - get the state just before the EOB char was reached */
2323
Owen Anderson1dc69692006-10-18 02:21:48 +00002324static yy_state_type yy_get_previous_state()
2325 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002326 register yy_state_type yy_current_state;
2327 register char *yy_cp;
2328
Owen Anderson1dc69692006-10-18 02:21:48 +00002329 yy_current_state = yy_start;
2330 yy_state_ptr = yy_state_buf;
2331 *yy_state_ptr++ = yy_current_state;
2332
2333 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002334 {
2335 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2336 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2337 {
2338 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002339 if ( yy_current_state >= 573 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002340 yy_c = yy_meta[(unsigned int) yy_c];
2341 }
2342 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Owen Anderson1dc69692006-10-18 02:21:48 +00002343 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002344 }
2345
2346 return yy_current_state;
Owen Anderson1dc69692006-10-18 02:21:48 +00002347 }
2348
Reid Spencer68a24bd2005-08-27 18:50:39 +00002349
2350/* yy_try_NUL_trans - try to make a transition on the NUL character
2351 *
2352 * synopsis
2353 * next_state = yy_try_NUL_trans( current_state );
2354 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002355
2356#ifdef YY_USE_PROTOS
2357static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
2358#else
2359static yy_state_type yy_try_NUL_trans( yy_current_state )
2360yy_state_type yy_current_state;
2361#endif
2362 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002363 register int yy_is_jam;
2364
2365 register YY_CHAR yy_c = 1;
2366 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2367 {
2368 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002369 if ( yy_current_state >= 573 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002370 yy_c = yy_meta[(unsigned int) yy_c];
2371 }
2372 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002373 yy_is_jam = (yy_current_state == 572);
Owen Anderson1dc69692006-10-18 02:21:48 +00002374 if ( ! yy_is_jam )
2375 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002376
2377 return yy_is_jam ? 0 : yy_current_state;
Owen Anderson1dc69692006-10-18 02:21:48 +00002378 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002379
2380
Owen Anderson1dc69692006-10-18 02:21:48 +00002381#ifndef YY_NO_UNPUT
2382#ifdef YY_USE_PROTOS
2383static inline void yyunput( int c, register char *yy_bp )
2384#else
2385static inline void yyunput( c, yy_bp )
2386int c;
2387register char *yy_bp;
2388#endif
2389 {
2390 register char *yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002391
Owen Anderson1dc69692006-10-18 02:21:48 +00002392 /* undo effects of setting up yytext */
2393 *yy_cp = yy_hold_char;
2394
2395 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002396 { /* need to shift things up to make room */
2397 /* +2 for EOB chars. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002398 register int number_to_move = yy_n_chars + 2;
2399 register char *dest = &yy_current_buffer->yy_ch_buf[
2400 yy_current_buffer->yy_buf_size + 2];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002401 register char *source =
Owen Anderson1dc69692006-10-18 02:21:48 +00002402 &yy_current_buffer->yy_ch_buf[number_to_move];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002403
Owen Anderson1dc69692006-10-18 02:21:48 +00002404 while ( source > yy_current_buffer->yy_ch_buf )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002405 *--dest = *--source;
2406
2407 yy_cp += (int) (dest - source);
2408 yy_bp += (int) (dest - source);
Owen Anderson1dc69692006-10-18 02:21:48 +00002409 yy_current_buffer->yy_n_chars =
2410 yy_n_chars = yy_current_buffer->yy_buf_size;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002411
Owen Anderson1dc69692006-10-18 02:21:48 +00002412 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002413 YY_FATAL_ERROR( "flex scanner push-back overflow" );
2414 }
2415
2416 *--yy_cp = (char) c;
2417
Owen Anderson1dc69692006-10-18 02:21:48 +00002418 if ( c == '\n' )
2419 --yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002420
Owen Anderson1dc69692006-10-18 02:21:48 +00002421 yytext_ptr = yy_bp;
2422 yy_hold_char = *yy_cp;
2423 yy_c_buf_p = yy_cp;
2424 }
2425#endif /* ifndef YY_NO_UNPUT */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002426
Owen Anderson1dc69692006-10-18 02:21:48 +00002427
Reid Spencer3da59db2006-11-27 01:05:10 +00002428#ifndef YY_NO_INPUT
Reid Spencer68a24bd2005-08-27 18:50:39 +00002429#ifdef __cplusplus
Owen Anderson1dc69692006-10-18 02:21:48 +00002430static int yyinput()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002431#else
Owen Anderson1dc69692006-10-18 02:21:48 +00002432static int input()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002433#endif
Owen Anderson1dc69692006-10-18 02:21:48 +00002434 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002435 int c;
2436
Owen Anderson1dc69692006-10-18 02:21:48 +00002437 *yy_c_buf_p = yy_hold_char;
2438
2439 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002440 {
2441 /* yy_c_buf_p now points to the character we want to return.
2442 * If this occurs *before* the EOB characters, then it's a
2443 * valid NUL; if not, then we've hit the end of the buffer.
2444 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002445 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002446 /* This was really a NUL. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002447 *yy_c_buf_p = '\0';
Reid Spencer68a24bd2005-08-27 18:50:39 +00002448
2449 else
2450 { /* need more input */
Owen Anderson1dc69692006-10-18 02:21:48 +00002451 int offset = yy_c_buf_p - yytext_ptr;
2452 ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002453
Owen Anderson1dc69692006-10-18 02:21:48 +00002454 switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002455 {
2456 case EOB_ACT_LAST_MATCH:
2457 /* This happens because yy_g_n_b()
2458 * sees that we've accumulated a
2459 * token and flags that we need to
2460 * try matching the token before
2461 * proceeding. But for input(),
2462 * there's no matching to consider.
2463 * So convert the EOB_ACT_LAST_MATCH
2464 * to EOB_ACT_END_OF_FILE.
2465 */
2466
2467 /* Reset buffer status. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002468 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002469
Owen Anderson1dc69692006-10-18 02:21:48 +00002470 /* fall through */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002471
2472 case EOB_ACT_END_OF_FILE:
2473 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002474 if ( yywrap() )
Reid Spencer61c83e02006-08-18 08:43:06 +00002475 return EOF;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002476
Owen Anderson1dc69692006-10-18 02:21:48 +00002477 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002478 YY_NEW_FILE;
2479#ifdef __cplusplus
2480 return yyinput();
2481#else
2482 return input();
2483#endif
2484 }
2485
2486 case EOB_ACT_CONTINUE_SCAN:
Owen Anderson1dc69692006-10-18 02:21:48 +00002487 yy_c_buf_p = yytext_ptr + offset;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002488 break;
2489 }
2490 }
2491 }
2492
Owen Anderson1dc69692006-10-18 02:21:48 +00002493 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
2494 *yy_c_buf_p = '\0'; /* preserve yytext */
2495 yy_hold_char = *++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002496
2497 if ( c == '\n' )
Owen Anderson1dc69692006-10-18 02:21:48 +00002498 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002499
2500 return c;
2501 }
Reid Spencer3da59db2006-11-27 01:05:10 +00002502#endif /* YY_NO_INPUT */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002503
Owen Anderson1dc69692006-10-18 02:21:48 +00002504#ifdef YY_USE_PROTOS
2505void yyrestart( FILE *input_file )
2506#else
2507void yyrestart( input_file )
2508FILE *input_file;
2509#endif
2510 {
2511 if ( ! yy_current_buffer )
2512 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
2513
2514 yy_init_buffer( yy_current_buffer, input_file );
2515 yy_load_buffer_state();
2516 }
2517
2518
2519#ifdef YY_USE_PROTOS
2520void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
2521#else
2522void yy_switch_to_buffer( new_buffer )
2523YY_BUFFER_STATE new_buffer;
2524#endif
2525 {
2526 if ( yy_current_buffer == new_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002527 return;
2528
Owen Anderson1dc69692006-10-18 02:21:48 +00002529 if ( yy_current_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002530 {
2531 /* Flush out information for old buffer. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002532 *yy_c_buf_p = yy_hold_char;
2533 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
2534 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002535 }
2536
Owen Anderson1dc69692006-10-18 02:21:48 +00002537 yy_current_buffer = new_buffer;
2538 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002539
2540 /* We don't actually know whether we did this switch during
Owen Anderson1dc69692006-10-18 02:21:48 +00002541 * EOF (yywrap()) processing, but the only time this flag
2542 * is looked at is after yywrap() is called, so it's safe
Reid Spencer68a24bd2005-08-27 18:50:39 +00002543 * to go ahead and always set it.
2544 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002545 yy_did_buffer_switch_on_eof = 1;
2546 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002547
2548
Owen Anderson1dc69692006-10-18 02:21:48 +00002549#ifdef YY_USE_PROTOS
2550void yy_load_buffer_state( void )
2551#else
2552void yy_load_buffer_state()
2553#endif
2554 {
2555 yy_n_chars = yy_current_buffer->yy_n_chars;
2556 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
2557 yyin = yy_current_buffer->yy_input_file;
2558 yy_hold_char = *yy_c_buf_p;
2559 }
2560
2561
2562#ifdef YY_USE_PROTOS
2563YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
2564#else
2565YY_BUFFER_STATE yy_create_buffer( file, size )
2566FILE *file;
2567int size;
2568#endif
2569 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002570 YY_BUFFER_STATE b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002571
2572 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002573 if ( ! b )
Owen Anderson1dc69692006-10-18 02:21:48 +00002574 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002575
2576 b->yy_buf_size = size;
2577
2578 /* yy_ch_buf has to be 2 characters longer than the size given because
2579 * we need to put in 2 end-of-buffer characters.
2580 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002581 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002582 if ( ! b->yy_ch_buf )
Owen Anderson1dc69692006-10-18 02:21:48 +00002583 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002584
2585 b->yy_is_our_buffer = 1;
2586
Owen Anderson1dc69692006-10-18 02:21:48 +00002587 yy_init_buffer( b, file );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002588
2589 return b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002590 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002591
Owen Anderson1dc69692006-10-18 02:21:48 +00002592
2593#ifdef YY_USE_PROTOS
2594void yy_delete_buffer( YY_BUFFER_STATE b )
2595#else
2596void yy_delete_buffer( b )
2597YY_BUFFER_STATE b;
2598#endif
2599 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002600 if ( ! b )
2601 return;
2602
Owen Anderson1dc69692006-10-18 02:21:48 +00002603 if ( b == yy_current_buffer )
2604 yy_current_buffer = (YY_BUFFER_STATE) 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002605
2606 if ( b->yy_is_our_buffer )
Owen Anderson1dc69692006-10-18 02:21:48 +00002607 yy_flex_free( (void *) b->yy_ch_buf );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002608
Owen Anderson1dc69692006-10-18 02:21:48 +00002609 yy_flex_free( (void *) b );
2610 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002611
2612
Owen Anderson1dc69692006-10-18 02:21:48 +00002613
2614#ifdef YY_USE_PROTOS
2615void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
2616#else
2617void yy_init_buffer( b, file )
2618YY_BUFFER_STATE b;
2619FILE *file;
2620#endif
2621
2622
2623 {
2624 yy_flush_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002625
2626 b->yy_input_file = file;
2627 b->yy_fill_buffer = 1;
2628
Owen Anderson1dc69692006-10-18 02:21:48 +00002629#if YY_ALWAYS_INTERACTIVE
2630 b->yy_is_interactive = 1;
2631#else
2632#if YY_NEVER_INTERACTIVE
2633 b->yy_is_interactive = 0;
2634#else
2635 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
2636#endif
2637#endif
2638 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002639
2640
Owen Anderson1dc69692006-10-18 02:21:48 +00002641#ifdef YY_USE_PROTOS
2642void yy_flush_buffer( YY_BUFFER_STATE b )
2643#else
2644void yy_flush_buffer( b )
2645YY_BUFFER_STATE b;
2646#endif
2647
2648 {
2649 if ( ! b )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002650 return;
2651
2652 b->yy_n_chars = 0;
2653
2654 /* We always need two end-of-buffer characters. The first causes
2655 * a transition to the end-of-buffer state. The second causes
2656 * a jam in that state.
2657 */
2658 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2659 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2660
2661 b->yy_buf_pos = &b->yy_ch_buf[0];
2662
2663 b->yy_at_bol = 1;
2664 b->yy_buffer_status = YY_BUFFER_NEW;
2665
Owen Anderson1dc69692006-10-18 02:21:48 +00002666 if ( b == yy_current_buffer )
2667 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002668 }
2669
2670
Owen Anderson1dc69692006-10-18 02:21:48 +00002671#ifndef YY_NO_SCAN_BUFFER
2672#ifdef YY_USE_PROTOS
2673YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
2674#else
2675YY_BUFFER_STATE yy_scan_buffer( base, size )
2676char *base;
2677yy_size_t size;
2678#endif
2679 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002680 YY_BUFFER_STATE b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002681
Reid Spencer68a24bd2005-08-27 18:50:39 +00002682 if ( size < 2 ||
2683 base[size-2] != YY_END_OF_BUFFER_CHAR ||
2684 base[size-1] != YY_END_OF_BUFFER_CHAR )
2685 /* They forgot to leave room for the EOB's. */
2686 return 0;
2687
Owen Anderson1dc69692006-10-18 02:21:48 +00002688 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002689 if ( ! b )
Owen Anderson1dc69692006-10-18 02:21:48 +00002690 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002691
2692 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2693 b->yy_buf_pos = b->yy_ch_buf = base;
2694 b->yy_is_our_buffer = 0;
2695 b->yy_input_file = 0;
2696 b->yy_n_chars = b->yy_buf_size;
2697 b->yy_is_interactive = 0;
2698 b->yy_at_bol = 1;
2699 b->yy_fill_buffer = 0;
2700 b->yy_buffer_status = YY_BUFFER_NEW;
2701
Owen Anderson1dc69692006-10-18 02:21:48 +00002702 yy_switch_to_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002703
2704 return b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002705 }
2706#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002707
2708
Owen Anderson1dc69692006-10-18 02:21:48 +00002709#ifndef YY_NO_SCAN_STRING
2710#ifdef YY_USE_PROTOS
2711YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
2712#else
2713YY_BUFFER_STATE yy_scan_string( yy_str )
2714yyconst char *yy_str;
2715#endif
2716 {
2717 int len;
2718 for ( len = 0; yy_str[len]; ++len )
2719 ;
2720
2721 return yy_scan_bytes( yy_str, len );
2722 }
2723#endif
2724
2725
2726#ifndef YY_NO_SCAN_BYTES
2727#ifdef YY_USE_PROTOS
2728YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
2729#else
2730YY_BUFFER_STATE yy_scan_bytes( bytes, len )
2731yyconst char *bytes;
2732int len;
2733#endif
2734 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002735 YY_BUFFER_STATE b;
2736 char *buf;
2737 yy_size_t n;
2738 int i;
Owen Anderson1dc69692006-10-18 02:21:48 +00002739
Reid Spencer68a24bd2005-08-27 18:50:39 +00002740 /* Get memory for full buffer, including space for trailing EOB's. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002741 n = len + 2;
2742 buf = (char *) yy_flex_alloc( n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002743 if ( ! buf )
Owen Anderson1dc69692006-10-18 02:21:48 +00002744 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002745
Owen Anderson1dc69692006-10-18 02:21:48 +00002746 for ( i = 0; i < len; ++i )
2747 buf[i] = bytes[i];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002748
Owen Anderson1dc69692006-10-18 02:21:48 +00002749 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002750
Owen Anderson1dc69692006-10-18 02:21:48 +00002751 b = yy_scan_buffer( buf, n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002752 if ( ! b )
Owen Anderson1dc69692006-10-18 02:21:48 +00002753 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002754
2755 /* It's okay to grow etc. this buffer, and we should throw it
2756 * away when we're done.
2757 */
2758 b->yy_is_our_buffer = 1;
2759
2760 return b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002761 }
2762#endif
2763
2764
2765#ifndef YY_NO_PUSH_STATE
2766#ifdef YY_USE_PROTOS
2767static void yy_push_state( int new_state )
2768#else
2769static void yy_push_state( new_state )
2770int new_state;
2771#endif
2772 {
2773 if ( yy_start_stack_ptr >= yy_start_stack_depth )
2774 {
2775 yy_size_t new_size;
2776
2777 yy_start_stack_depth += YY_START_STACK_INCR;
2778 new_size = yy_start_stack_depth * sizeof( int );
2779
2780 if ( ! yy_start_stack )
2781 yy_start_stack = (int *) yy_flex_alloc( new_size );
2782
2783 else
2784 yy_start_stack = (int *) yy_flex_realloc(
2785 (void *) yy_start_stack, new_size );
2786
2787 if ( ! yy_start_stack )
2788 YY_FATAL_ERROR(
2789 "out of memory expanding start-condition stack" );
2790 }
2791
2792 yy_start_stack[yy_start_stack_ptr++] = YY_START;
2793
2794 BEGIN(new_state);
2795 }
2796#endif
2797
2798
2799#ifndef YY_NO_POP_STATE
2800static void yy_pop_state()
2801 {
2802 if ( --yy_start_stack_ptr < 0 )
2803 YY_FATAL_ERROR( "start-condition stack underflow" );
2804
2805 BEGIN(yy_start_stack[yy_start_stack_ptr]);
2806 }
2807#endif
2808
2809
2810#ifndef YY_NO_TOP_STATE
2811static int yy_top_state()
2812 {
2813 return yy_start_stack[yy_start_stack_ptr - 1];
2814 }
2815#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002816
2817#ifndef YY_EXIT_FAILURE
2818#define YY_EXIT_FAILURE 2
2819#endif
2820
Owen Anderson1dc69692006-10-18 02:21:48 +00002821#ifdef YY_USE_PROTOS
2822static void yy_fatal_error( yyconst char msg[] )
2823#else
2824static void yy_fatal_error( msg )
2825char msg[];
2826#endif
2827 {
2828 (void) fprintf( stderr, "%s\n", msg );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002829 exit( YY_EXIT_FAILURE );
Owen Anderson1dc69692006-10-18 02:21:48 +00002830 }
2831
2832
Reid Spencer68a24bd2005-08-27 18:50:39 +00002833
2834/* Redefine yyless() so it works in section 3 code. */
2835
2836#undef yyless
2837#define yyless(n) \
2838 do \
2839 { \
Owen Anderson1dc69692006-10-18 02:21:48 +00002840 /* Undo effects of setting up yytext. */ \
2841 yytext[yyleng] = yy_hold_char; \
2842 yy_c_buf_p = yytext + n; \
2843 yy_hold_char = *yy_c_buf_p; \
2844 *yy_c_buf_p = '\0'; \
2845 yyleng = n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00002846 } \
2847 while ( 0 )
2848
2849
Owen Anderson1dc69692006-10-18 02:21:48 +00002850/* Internal utility routines. */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002851
2852#ifndef yytext_ptr
Owen Anderson1dc69692006-10-18 02:21:48 +00002853#ifdef YY_USE_PROTOS
2854static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
2855#else
2856static void yy_flex_strncpy( s1, s2, n )
2857char *s1;
2858yyconst char *s2;
2859int n;
2860#endif
2861 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002862 register int i;
2863 for ( i = 0; i < n; ++i )
2864 s1[i] = s2[i];
Owen Anderson1dc69692006-10-18 02:21:48 +00002865 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002866#endif
2867
2868#ifdef YY_NEED_STRLEN
Owen Anderson1dc69692006-10-18 02:21:48 +00002869#ifdef YY_USE_PROTOS
2870static int yy_flex_strlen( yyconst char *s )
2871#else
2872static int yy_flex_strlen( s )
2873yyconst char *s;
2874#endif
2875 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002876 register int n;
2877 for ( n = 0; s[n]; ++n )
2878 ;
2879
2880 return n;
Owen Anderson1dc69692006-10-18 02:21:48 +00002881 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002882#endif
2883
Reid Spencer68a24bd2005-08-27 18:50:39 +00002884
Owen Anderson1dc69692006-10-18 02:21:48 +00002885#ifdef YY_USE_PROTOS
2886static void *yy_flex_alloc( yy_size_t size )
2887#else
2888static void *yy_flex_alloc( size )
2889yy_size_t size;
2890#endif
2891 {
2892 return (void *) malloc( size );
2893 }
2894
2895#ifdef YY_USE_PROTOS
2896static inline void *yy_flex_realloc( void *ptr, yy_size_t size )
2897#else
2898static inline void *yy_flex_realloc( ptr, size )
2899void *ptr;
2900yy_size_t size;
2901#endif
2902 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002903 /* The cast to (char *) in the following accommodates both
2904 * implementations that use char* generic pointers, and those
2905 * that use void* generic pointers. It works with the latter
2906 * because both ANSI C and C++ allow castless assignment from
2907 * any pointer type to void*, and deal with argument conversions
2908 * as though doing an assignment.
2909 */
2910 return (void *) realloc( (char *) ptr, size );
Owen Anderson1dc69692006-10-18 02:21:48 +00002911 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002912
Owen Anderson1dc69692006-10-18 02:21:48 +00002913#ifdef YY_USE_PROTOS
2914static void yy_flex_free( void *ptr )
2915#else
2916static void yy_flex_free( ptr )
2917void *ptr;
2918#endif
2919 {
2920 free( ptr );
2921 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002922
Owen Anderson1dc69692006-10-18 02:21:48 +00002923#if YY_MAIN
2924int main()
2925 {
2926 yylex();
2927 return 0;
2928 }
2929#endif
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002930#line 398 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
Chris Lattner2fecc0f2006-02-15 07:02:59 +00002931